/*
 * Medical Directory – Professional Frontend CSS v2.0
 * Inspired by Clutch.co, Zocdoc, Healthgrades
 * Mobile-first | WCAG 2.1 AA
 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --md-primary:#1a56db; --md-primary-dark:#1240a4; --md-primary-light:#ebf0ff;
  --md-accent:#ff6b35; --md-accent-dark:#e55a24;
  --md-success:#057a55; --md-success-bg:#def7ec;
  --md-warning:#c27803; --md-warning-bg:#fdf6b2;
  --md-danger:#c81e1e; --md-danger-bg:#fde8e8;
  --md-gray-50:#f9fafb; --md-gray-100:#f3f4f6; --md-gray-200:#e5e7eb;
  --md-gray-300:#d1d5db; --md-gray-400:#9ca3af; --md-gray-500:#6b7280;
  --md-gray-600:#4b5563; --md-gray-700:#374151; --md-gray-800:#1f2937;
  --md-gray-900:#111827; --md-white:#fff;
  --md-star:#fbbf24; --md-star-empty:#e5e7eb;
  --md-shadow-xs:0 1px 2px rgba(16,24,40,.05);
  --md-shadow-sm:0 1px 3px rgba(16,24,40,.1),0 1px 2px rgba(16,24,40,.06);
  --md-shadow-md:0 4px 8px -2px rgba(16,24,40,.1),0 2px 4px -2px rgba(16,24,40,.06);
  --md-shadow-lg:0 12px 16px -4px rgba(16,24,40,.08),0 4px 6px -2px rgba(16,24,40,.03);
  --md-shadow-xl:0 20px 24px -4px rgba(16,24,40,.08),0 8px 8px -4px rgba(16,24,40,.03);
  --md-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --md-r:8px; --md-r-md:12px; --md-r-lg:16px; --md-r-xl:20px; --md-r-2xl:24px;
  --md-ease:cubic-bezier(.4,0,.2,1); --md-dur:150ms;
}

/* Base */
.md-wrap *,.md-wrap *::before,.md-wrap *::after{box-sizing:border-box}
.md-wrap{font-family:var(--md-font);color:var(--md-gray-800);line-height:1.6;-webkit-font-smoothing:antialiased}
.md-wrap a{color:var(--md-primary);text-decoration:none}
.md-wrap a:hover{color:var(--md-primary-dark);text-decoration:underline}
.md-wrap img{max-width:100%;height:auto;display:block}
.md-wrap :focus-visible{outline:2px solid var(--md-primary);outline-offset:2px;border-radius:4px}
.md-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Layout */
.md-container{max-width:1200px;margin:0 auto;padding:0 24px}
@media(max-width:640px){.md-container{padding:0 16px}}

/* ── BUTTONS ── */
.md-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;font-family:var(--md-font);font-size:.875rem;font-weight:600;line-height:1.25;border-radius:var(--md-r);border:1.5px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none!important;transition:all var(--md-dur) var(--md-ease)}
.md-btn:focus-visible{outline:2px solid var(--md-primary);outline-offset:2px}
.md-btn:disabled{opacity:.5;pointer-events:none}
.md-btn-primary{background:var(--md-primary);color:var(--md-white);border-color:var(--md-primary);box-shadow:var(--md-shadow-xs)}
.md-btn-primary:hover{background:var(--md-primary-dark);border-color:var(--md-primary-dark);color:var(--md-white);box-shadow:var(--md-shadow-sm);text-decoration:none!important}
.md-btn-secondary{background:var(--md-white);color:var(--md-gray-700);border-color:var(--md-gray-300);box-shadow:var(--md-shadow-xs)}
.md-btn-secondary:hover{background:var(--md-gray-50);color:var(--md-gray-900);border-color:var(--md-gray-400);text-decoration:none!important}
.md-btn-ghost{background:transparent;color:var(--md-primary);border-color:transparent}
.md-btn-ghost:hover{background:var(--md-primary-light);text-decoration:none!important}
.md-btn-accent{background:var(--md-accent);color:var(--md-white);border-color:var(--md-accent);box-shadow:var(--md-shadow-xs)}
.md-btn-accent:hover{background:var(--md-accent-dark);color:var(--md-white);text-decoration:none!important}
.md-btn-xs{padding:5px 10px;font-size:.75rem}
.md-btn-sm{padding:7px 13px;font-size:.8125rem}
.md-btn-lg{padding:13px 26px;font-size:1rem}
.md-btn-block{width:100%}

/* ── BADGES & TAGS ── */
.md-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;font-size:.75rem;font-weight:600;border-radius:9999px}
.md-badge-blue{background:#eff6ff;color:#1d4ed8}
.md-badge-green{background:var(--md-success-bg);color:var(--md-success)}
.md-badge-yellow{background:var(--md-warning-bg);color:var(--md-warning)}
.md-badge-orange{background:#fff7ed;color:#c2410c}
.md-badge-gray{background:var(--md-gray-100);color:var(--md-gray-600)}
.md-badge-purple{background:#f5f3ff;color:#6d28d9}
.md-verified-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px 3px 7px;background:var(--md-success-bg);color:var(--md-success);font-size:.75rem;font-weight:700;border-radius:9999px;border:1px solid #84d4b4}
.md-verified-badge svg{width:13px;height:13px;flex-shrink:0}
.md-top-rated-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px 3px 6px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;font-size:.75rem;font-weight:700;border-radius:9999px;border:1px solid #fcd34d}
.md-tag{display:inline-flex;align-items:center;padding:3px 10px;background:var(--md-gray-100);color:var(--md-gray-700);font-size:.8125rem;font-weight:500;border-radius:9999px;border:1px solid var(--md-gray-200);transition:all var(--md-dur) var(--md-ease);white-space:nowrap;text-decoration:none}
.md-tag:hover{background:var(--md-primary-light);color:var(--md-primary);border-color:#c7d7f8;text-decoration:none}

/* ── STARS ── */
.md-stars{display:inline-flex;align-items:center;gap:1px}
.md-star-icon{width:14px;height:14px;flex-shrink:0}
.md-star-full{color:var(--md-star);fill:currentColor}
.md-star-half{color:var(--md-star);fill:currentColor;opacity:.6}
.md-star-empty{color:var(--md-star-empty);fill:currentColor}
.md-rating-score{font-size:.8125rem;font-weight:700;color:var(--md-gray-800);margin-left:4px}
.md-rating-count{font-size:.8125rem;color:var(--md-gray-400);margin-left:2px}
.md-stars-lg .md-star-icon{width:18px;height:18px}
.md-stars-lg .md-rating-score{font-size:1rem}
.md-star-input{display:flex;flex-direction:row-reverse;gap:4px}
.md-star-input input[type="radio"]{display:none}
.md-star-input label{font-size:2rem;color:var(--md-star-empty);cursor:pointer;transition:color var(--md-dur) var(--md-ease);line-height:1}
.md-star-input label:hover,.md-star-input label:hover~label,.md-star-input input:checked~label{color:var(--md-star)}

/* ── NOTICES ── */
.md-notice{display:flex;align-items:flex-start;gap:10px;padding:13px 16px;border-radius:var(--md-r-md);font-size:.875rem;line-height:1.5}
.md-notice-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}
.md-notice-success{background:var(--md-success-bg);border:1px solid #84d4b4;color:var(--md-success)}
.md-notice-warning{background:var(--md-warning-bg);border:1px solid #fcd34d;color:var(--md-warning)}
.md-notice-error{background:var(--md-danger-bg);border:1px solid #fca5a5;color:var(--md-danger)}

/* ── SEARCH HERO ── */
.md-search-hero{background:linear-gradient(135deg,#0f2d6b 0%,#1a56db 60%,#2563eb 100%);padding:48px 24px 56px;position:relative;overflow:hidden}
.md-search-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:320px;height:320px;background:rgba(255,255,255,.05);border-radius:50%}
.md-search-hero::after{content:'';position:absolute;bottom:-80px;left:-80px;width:400px;height:400px;background:rgba(255,255,255,.04);border-radius:50%}
.md-search-hero-inner{max-width:820px;margin:0 auto;position:relative;z-index:1;text-align:center}
.md-search-hero-eyebrow{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.9);font-size:.8125rem;font-weight:600;padding:4px 14px;border-radius:9999px;border:1px solid rgba(255,255,255,.2);margin-bottom:16px}
.md-search-hero h1{font-size:clamp(1.75rem,5vw,2.75rem);font-weight:800;color:var(--md-white);line-height:1.15;margin:0 0 12px;letter-spacing:-.02em}
.md-search-hero p{font-size:clamp(1rem,2vw,1.125rem);color:rgba(255,255,255,.8);margin:0 0 28px;max-width:560px;margin-left:auto;margin-right:auto}
.md-search-stats{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:20px}
.md-search-stat{display:flex;align-items:center;gap:6px;color:rgba(255,255,255,.7);font-size:.8125rem;font-weight:500}
.md-search-stat svg{width:14px;height:14px}

/* Search box */
.md-search-box{background:var(--md-white);border-radius:var(--md-r-xl);padding:8px;display:flex;gap:0;box-shadow:var(--md-shadow-xl);max-width:760px;margin:0 auto}
.md-search-field{flex:1;display:flex;align-items:center;gap:10px;padding:8px 16px;border-right:1px solid var(--md-gray-200);min-width:0;position:relative}
.md-search-field:last-of-type{border-right:none}
.md-search-field-icon{width:18px;height:18px;color:var(--md-gray-400);flex-shrink:0}
.md-search-field-wrap{flex:1;min-width:0}
.md-search-field-label{display:block;font-size:.6875rem;font-weight:600;color:var(--md-gray-400);text-transform:uppercase;letter-spacing:.06em;line-height:1;margin-bottom:3px}
.md-search-field input,.md-search-field select{width:100%;border:none;outline:none;font-size:.9375rem;font-family:var(--md-font);color:var(--md-gray-800);background:transparent;font-weight:500;padding:0}
.md-search-field input::placeholder{color:var(--md-gray-400);font-weight:400}
.md-search-field select{cursor:pointer;appearance:none;-webkit-appearance:none}
.md-search-submit{flex-shrink:0;background:var(--md-accent);color:var(--md-white);border:none;border-radius:var(--md-r-lg);padding:14px 28px;font-size:.9375rem;font-weight:700;font-family:var(--md-font);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all var(--md-dur) var(--md-ease);white-space:nowrap}
.md-search-submit:hover{background:var(--md-accent-dark);transform:translateY(-1px);box-shadow:var(--md-shadow-md)}
@media(max-width:680px){.md-search-box{flex-direction:column;padding:12px;gap:8px;border-radius:var(--md-r-lg)}.md-search-field{border-right:none;border-bottom:1px solid var(--md-gray-100);padding:10px 12px}.md-search-field:last-of-type{border-bottom:none}.md-search-submit{border-radius:var(--md-r);width:100%;justify-content:center;padding:14px}}

/* Filters bar */
.md-filters-bar{background:var(--md-gray-50);border-bottom:1px solid var(--md-gray-200);padding:12px 0}
.md-filters-inner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:0 24px}
.md-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--md-white);border:1px solid var(--md-gray-300);border-radius:9999px;font-size:.8125rem;font-weight:500;color:var(--md-gray-700);cursor:pointer;transition:all var(--md-dur) var(--md-ease);white-space:nowrap;font-family:var(--md-font)}
.md-filter-chip:hover{border-color:var(--md-primary);color:var(--md-primary)}
.md-filter-chip.active{background:var(--md-primary);border-color:var(--md-primary);color:var(--md-white)}
.md-filter-chip svg{width:12px;height:12px}
.md-filter-chip-caret{transition:transform var(--md-dur) var(--md-ease)}
.md-filter-chip.active .md-filter-chip-caret{transform:rotate(180deg)}
.md-filters-more{margin-left:auto}

/* Filter dropdown */
.md-filter-dropdown{position:relative}
.md-filter-dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-lg);box-shadow:var(--md-shadow-lg);padding:16px;z-index:200;min-width:240px;display:none}
.md-filter-dropdown-panel.open{display:block}
.md-filter-dropdown-title{font-size:.75rem;font-weight:700;color:var(--md-gray-500);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px}
.md-filter-dropdown-options{display:flex;flex-direction:column;gap:4px}
.md-filter-option{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--md-r);cursor:pointer;font-size:.875rem;color:var(--md-gray-700);font-weight:500;transition:background var(--md-dur) var(--md-ease)}
.md-filter-option:hover{background:var(--md-gray-50)}
.md-filter-option input[type=checkbox]{width:15px;height:15px;accent-color:var(--md-primary);flex-shrink:0}

/* Results layout */
.md-results-wrap{padding:24px 0 60px}
.md-results-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;max-width:1200px;margin:0 auto;padding:0 24px}
@media(max-width:960px){.md-results-layout{grid-template-columns:1fr}}
.md-results-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.md-results-count{font-size:.9375rem;color:var(--md-gray-500)}
.md-results-count strong{color:var(--md-gray-900);font-weight:700}
.md-sort-wrap{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--md-gray-500)}
.md-sort-wrap select{padding:6px 10px;border:1px solid var(--md-gray-300);border-radius:var(--md-r);font-size:.875rem;font-family:var(--md-font);background:var(--md-white);color:var(--md-gray-700);cursor:pointer}

/* ── LISTING CARD (Clutch.co horizontal) ── */
.md-listings-list{display:flex;flex-direction:column;gap:12px}
.md-listing-card{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-lg);display:flex;position:relative;overflow:hidden;transition:box-shadow var(--md-dur) var(--md-ease),transform var(--md-dur) var(--md-ease),border-color var(--md-dur) var(--md-ease);box-shadow:var(--md-shadow-xs)}
.md-listing-card:hover{box-shadow:var(--md-shadow-lg);transform:translateY(-2px);border-color:var(--md-gray-300)}
/* Clutch-style left accent stripe */
.md-listing-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:transparent;transition:background var(--md-dur) var(--md-ease)}
.md-listing-card.is-featured::before{background:var(--md-accent)}
.md-listing-card.is-sponsored::before{background:#8b5cf6}
.md-listing-card.is-top-rated::before{background:var(--md-star)}
.md-listing-card-inner{display:flex;flex:1;padding:20px 20px 20px 24px;gap:18px;min-width:0}
.md-listing-card.is-featured .md-listing-card-inner,.md-listing-card.is-sponsored .md-listing-card-inner,.md-listing-card.is-top-rated .md-listing-card-inner{padding-left:28px}
/* Avatar */
.md-card-avatar-wrap{flex-shrink:0;position:relative;align-self:flex-start}
.md-card-avatar,.md-card-avatar-ph{width:90px;height:90px;border-radius:12px;display:block;flex-shrink:0}
.md-card-avatar{object-fit:cover;border:2px solid var(--md-gray-200)}
.md-card-avatar-ph{background:linear-gradient(135deg,var(--md-primary-light),#dbeafe);border:2px solid var(--md-gray-200);display:flex;align-items:center;justify-content:center;font-size:1.75rem}
.md-card-rank{position:absolute;bottom:-3px;right:-3px;width:22px;height:22px;background:var(--md-primary);color:var(--md-white);font-size:.625rem;font-weight:800;border-radius:50%;border:2px solid var(--md-white);display:flex;align-items:center;justify-content:center}
/* Card body */
.md-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.md-card-name{font-size:1.0625rem;font-weight:700;color:var(--md-gray-900);margin:0;line-height:1.35}
.md-card-name a{color:inherit;text-decoration:none}
.md-card-name a:hover{color:var(--md-primary);text-decoration:none}
.md-card-badges{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.md-card-specialty{font-size:.875rem;font-weight:600;color:var(--md-primary);margin:0}
.md-card-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8125rem;color:var(--md-gray-500);margin:0}
.md-card-meta-item{display:flex;align-items:center;gap:4px}
.md-card-meta-item svg{width:12px;height:12px;color:var(--md-gray-400);flex-shrink:0}
.md-card-excerpt{font-size:.875rem;color:var(--md-gray-600);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:2px 0}
.md-card-tags{display:flex;flex-wrap:wrap;gap:4px}
.md-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:2px}
.md-card-actions .md-btn-secondary,.md-card-cta .md-btn-secondary{background:var(--md-gray-700);color:#fff!important;border-color:var(--md-gray-700)}
.md-card-actions .md-btn-secondary:hover,.md-card-cta .md-btn-secondary:hover{background:var(--md-gray-900);border-color:var(--md-gray-900);color:#fff!important}
/* Card right (Clutch stats column) */
.md-card-right{flex-shrink:0;width:185px;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:20px 20px 20px 0;gap:10px;border-left:1px solid var(--md-gray-100);margin-left:4px}
.md-card-stats{text-align:right;display:flex;flex-direction:column;gap:7px;width:100%}
.md-card-fee-wrap{display:flex;flex-direction:column;align-items:flex-end}
.md-card-fee-label{font-size:.6875rem;font-weight:600;color:var(--md-gray-400);text-transform:uppercase;letter-spacing:.06em}
.md-card-fee-val{font-size:1.0625rem;font-weight:800;color:var(--md-gray-900);line-height:1.2}
.md-card-fee-val small{font-size:.75rem;font-weight:400;color:var(--md-gray-500)}
.md-card-cta{display:flex;flex-direction:column;gap:6px;width:100%}
.md-card-cta .md-btn{width:100%;justify-content:center;font-size:.8125rem;padding:8px 12px}
.md-card-award{display:flex;flex-direction:column;align-items:center;gap:2px}
.md-card-award-icon{width:42px;height:42px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #fcd34d;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;box-shadow:0 2px 4px rgba(245,158,11,.25)}
.md-card-award-yr{font-size:.625rem;font-weight:700;color:var(--md-gray-400);text-transform:uppercase;letter-spacing:.05em}
.md-sponsored-label{font-size:.625rem;color:var(--md-gray-300);text-align:right;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
/* Card ribbon */
.md-card-ribbon{position:absolute;top:0;right:20px;font-size:.6875rem;font-weight:700;padding:3px 10px 5px;border-radius:0 0 6px 6px;text-transform:uppercase;letter-spacing:.08em;color:var(--md-white)}
.md-ribbon-featured{background:var(--md-accent)}
.md-ribbon-sponsored{background:#8b5cf6}
.md-ribbon-top{background:#d97706}
/* Responsive card */
@media(max-width:768px){.md-listing-card-inner{flex-direction:column;gap:12px}.md-card-right{width:100%;flex-direction:row;align-items:center;border-left:none;border-top:1px solid var(--md-gray-100);padding:12px 16px 16px;margin-left:0}.md-card-stats{text-align:left;flex-direction:row;align-items:center}.md-card-cta{flex-direction:row;width:auto}.md-card-cta .md-btn{width:auto}.md-card-fee-wrap{align-items:flex-start}.md-sponsored-label,.md-card-award{display:none}}
@media(max-width:480px){.md-listing-card-inner{padding:14px 14px 14px 18px}.md-card-avatar,.md-card-avatar-ph{width:68px;height:68px;font-size:1.375rem}.md-card-right{flex-direction:column}.md-card-cta{flex-direction:column;width:100%}.md-card-cta .md-btn{width:100%}}

/* ── GRID CARD (for shortcode variant) ── */
.md-listing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px}
.md-grid-card{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-xl);overflow:hidden;transition:box-shadow var(--md-dur) var(--md-ease),transform var(--md-dur) var(--md-ease);box-shadow:var(--md-shadow-xs);display:flex;flex-direction:column;position:relative}
.md-grid-card:hover{box-shadow:var(--md-shadow-lg);transform:translateY(-3px)}
.md-grid-card-header{background:linear-gradient(135deg,var(--md-primary-light),#dbeafe);padding:20px 18px 16px;display:flex;align-items:center;gap:14px;position:relative}
.md-grid-card-header .md-card-avatar,.md-grid-card-header .md-card-avatar-ph{width:56px;height:56px;font-size:1.375rem}
.md-grid-card-info{flex:1;min-width:0}
.md-grid-card-name{font-size:.9375rem;font-weight:700;color:var(--md-gray-900);margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-grid-card-name a{color:inherit;text-decoration:none}
.md-grid-card-specialty{font-size:.8125rem;color:var(--md-primary);font-weight:600}
.md-grid-card-body{padding:14px 18px;flex:1;display:flex;flex-direction:column;gap:10px}
.md-grid-card-rating{display:flex;align-items:center;gap:8px}
.md-grid-card-meta{display:flex;flex-direction:column;gap:5px;font-size:.8125rem;color:var(--md-gray-500)}
.md-grid-card-meta-row{display:flex;align-items:center;gap:5px}
.md-grid-card-meta-row svg{width:13px;height:13px;color:var(--md-gray-400);flex-shrink:0}
.md-grid-card-tags{display:flex;flex-wrap:wrap;gap:4px}
.md-grid-card-footer{padding:11px 18px 15px;border-top:1px solid var(--md-gray-100);display:flex;gap:7px}
.md-grid-card-footer .md-btn{flex:1;justify-content:center;font-size:.8125rem}

/* Mini card */
.md-mini-card{display:flex;align-items:center;gap:12px;padding:13px 16px;background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-md);transition:box-shadow var(--md-dur) var(--md-ease);box-shadow:var(--md-shadow-xs);text-decoration:none}
.md-mini-card:hover{box-shadow:var(--md-shadow-md);text-decoration:none}
.md-mini-card-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--md-gray-100);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border:2px solid var(--md-gray-200)}
.md-mini-card-body{flex:1;min-width:0}
.md-mini-card-name{font-size:.9375rem;font-weight:700;color:var(--md-gray-900);margin:0 0 2px}
.md-mini-card-sub{font-size:.8125rem;color:var(--md-gray-500)}
.md-mini-card-right{flex-shrink:0;text-align:right}

/* ── SIDEBAR ── */
.md-sidebar{display:flex;flex-direction:column;gap:18px}
@media(max-width:960px){.md-sidebar{display:none}}
.md-sidebar-widget{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-lg);padding:18px;box-shadow:var(--md-shadow-xs)}
.md-sidebar-sticky{position:sticky;top:20px;display:flex;flex-direction:column;gap:18px}
.md-sidebar-title{font-size:.9375rem;font-weight:700;color:var(--md-gray-900);margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid var(--md-gray-100)}
.md-sidebar-links{list-style:none;padding:0;margin:0}
.md-sidebar-links li{border-bottom:1px solid var(--md-gray-100)}
.md-sidebar-links li:last-child{border-bottom:none}
.md-sidebar-links a{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.875rem;color:var(--md-gray-700);font-weight:500;text-decoration:none}
.md-sidebar-links a:hover{color:var(--md-primary)}
.md-sidebar-count{font-size:.75rem;background:var(--md-gray-100);color:var(--md-gray-500);padding:2px 8px;border-radius:9999px;font-weight:600}

/* ── PAGINATION ── */
.md-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:40px;flex-wrap:wrap;padding:0 16px}
.md-page-item{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:8px;font-size:.9rem;font-weight:600;text-decoration:none!important;color:var(--md-gray-700);background:var(--md-white);border:1.5px solid var(--md-gray-300);transition:all .15s ease;cursor:pointer;font-family:var(--md-font);box-shadow:0 1px 3px rgba(0,0,0,.06)}
.md-page-item:hover{background:var(--md-primary-light);border-color:var(--md-primary);color:var(--md-primary);text-decoration:none!important;transform:translateY(-1px)}
.md-page-item.active{background:var(--md-primary);border-color:var(--md-primary);color:#fff!important;font-weight:700;box-shadow:0 2px 8px rgba(37,99,235,.35)}
.md-page-item.disabled{opacity:.4;pointer-events:none}
.md-page-dots{min-width:38px;text-align:center;color:var(--md-gray-400)}

/* ── SUBMIT FORM ── */
.md-submit-page{background:var(--md-gray-50);min-height:100vh;padding:40px 24px 80px}
.md-submit-container{max-width:680px;margin:0 auto}
.md-submit-header{text-align:center;margin-bottom:28px}
.md-submit-header h1{font-size:1.75rem;font-weight:800;color:var(--md-gray-900);margin:0 0 8px;letter-spacing:-.02em}
.md-submit-header p{color:var(--md-gray-500);font-size:.9375rem;margin:0}
/* Stepper */
.md-stepper{display:flex;justify-content:center;align-items:flex-start;gap:0;margin-bottom:28px;position:relative}
.md-stepper::before{content:'';position:absolute;top:19px;left:calc(20% + 20px);right:calc(20% + 20px);height:2px;background:var(--md-gray-200);z-index:0}
.md-step-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1;max-width:140px}
.md-step-circle{width:40px;height:40px;border-radius:50%;background:var(--md-white);border:2px solid var(--md-gray-200);display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700;color:var(--md-gray-400);transition:all .3s var(--md-ease);box-shadow:var(--md-shadow-xs)}
.md-step-item.active .md-step-circle{background:var(--md-primary);border-color:var(--md-primary);color:var(--md-white);box-shadow:0 0 0 4px var(--md-primary-light)}
.md-step-item.done .md-step-circle{background:var(--md-success);border-color:var(--md-success);color:var(--md-white)}
.md-step-label-text{font-size:.75rem;font-weight:600;color:var(--md-gray-400);text-align:center;line-height:1.3}
.md-step-item.active .md-step-label-text{color:var(--md-primary)}
.md-step-item.done .md-step-label-text{color:var(--md-success)}
/* Step panel */
.md-step-panel{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-2xl);padding:28px 28px 24px;box-shadow:var(--md-shadow-sm)}
.md-step-panel[hidden]{display:none}
.md-step-panel-title{font-size:1.125rem;font-weight:700;color:var(--md-gray-900);margin:0 0 4px}
.md-step-panel-desc{font-size:.875rem;color:var(--md-gray-500);margin:0 0 20px}
.md-form-divider{height:1px;background:var(--md-gray-100);margin:6px 0 18px}
/* Field */
.md-field{margin-bottom:16px}
.md-field:last-child{margin-bottom:0}
.md-field label{display:block;font-size:.875rem;font-weight:600;color:var(--md-gray-700);margin-bottom:5px}
.md-field .req{color:var(--md-danger)}
.md-field-hint{font-size:.8125rem;color:var(--md-gray-500);margin-top:5px;line-height:1.5}
.md-field-err{display:none;font-size:.8125rem;color:var(--md-danger);margin-top:4px;align-items:center;gap:4px}
.md-field.has-error .md-field-err{display:flex}
.md-input,.md-select,.md-textarea{width:100%;padding:10px 14px;border:1.5px solid var(--md-gray-300);border-radius:var(--md-r);font-size:.9375rem;font-family:var(--md-font);color:var(--md-gray-800);background:var(--md-white);transition:border-color var(--md-dur) var(--md-ease),box-shadow var(--md-dur) var(--md-ease);line-height:1.5}
.md-input:hover,.md-select:hover{border-color:var(--md-gray-400)}
.md-input:focus,.md-select:focus,.md-textarea:focus{border-color:var(--md-primary);box-shadow:0 0 0 3px rgba(26,86,219,.12);outline:none}
.md-input::placeholder{color:var(--md-gray-400)}
.md-textarea{resize:vertical;min-height:100px}
.md-select{cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:18px;padding-right:36px}
.md-field.has-error .md-input,.md-field.has-error .md-select,.md-field.has-error .md-textarea{border-color:var(--md-danger);box-shadow:0 0 0 3px rgba(200,30,30,.1)}
.md-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:520px){.md-field-grid{grid-template-columns:1fr}}
/* File upload */
.md-upload-area{border:2px dashed var(--md-gray-300);border-radius:var(--md-r-md);padding:20px;text-align:center;cursor:pointer;transition:all var(--md-dur) var(--md-ease);background:var(--md-gray-50)}
.md-upload-area:hover{border-color:var(--md-primary);background:var(--md-primary-light)}
.md-upload-icon{font-size:1.75rem;margin-bottom:6px;display:block}
.md-upload-text{font-size:.875rem;color:var(--md-gray-500)}
.md-upload-text strong{color:var(--md-primary)}
.md-upload-preview{max-width:90px;border-radius:50%;margin:10px auto 0;border:3px solid var(--md-white);box-shadow:var(--md-shadow-sm)}
/* Insurance checkboxes */
.md-check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}
.md-check-item{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1.5px solid var(--md-gray-200);border-radius:var(--md-r);cursor:pointer;font-size:.875rem;color:var(--md-gray-700);font-weight:500;transition:all var(--md-dur) var(--md-ease)}
.md-check-item:hover{border-color:var(--md-primary);background:var(--md-primary-light)}
.md-check-item input[type=checkbox]{width:15px;height:15px;accent-color:var(--md-primary);flex-shrink:0}
.md-check-item.is-checked{border-color:var(--md-primary);background:var(--md-primary-light);color:var(--md-primary)}
/* FAQ entries */
.md-faq-entry{background:var(--md-gray-50);border:1.5px solid var(--md-gray-200);border-radius:var(--md-r-md);padding:16px 14px;margin-bottom:10px;position:relative;padding-top:22px}
.md-faq-num{position:absolute;top:-10px;left:12px;background:var(--md-primary);color:var(--md-white);font-size:.6875rem;font-weight:700;padding:2px 10px;border-radius:9999px}
.md-faq-entry .md-input,.md-faq-entry .md-textarea{background:var(--md-white)}
.md-faq-entry .md-field{margin-bottom:10px}
/* Nav */
.md-step-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid var(--md-gray-100)}
.md-step-nav-right{display:flex;gap:8px}
.md-draft-note{font-size:.8125rem;color:var(--md-success);display:flex;align-items:center;gap:5px}
/* Terms */
.md-terms-row{display:flex;align-items:flex-start;gap:10px;padding:13px;background:var(--md-gray-50);border-radius:var(--md-r);border:1.5px solid var(--md-gray-200);font-size:.875rem;color:var(--md-gray-600);line-height:1.5}
.md-terms-row input[type=checkbox]{width:15px;height:15px;margin-top:2px;accent-color:var(--md-primary);flex-shrink:0}

/* ── DASHBOARD ── */
.md-dashboard-wrap{padding:28px 0}
.md-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:14px;margin-bottom:24px}
.md-dashboard-title{font-size:1.5rem;font-weight:800;color:var(--md-gray-900);margin:0}
.md-dashboard-sub{font-size:.9375rem;color:var(--md-gray-500);margin:4px 0 0}
.md-stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:24px}
.md-stat-card{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-lg);padding:16px;text-align:center;box-shadow:var(--md-shadow-xs)}
.md-stat-val{font-size:1.75rem;font-weight:800;color:var(--md-primary);line-height:1.1;display:block}
.md-stat-lbl{font-size:.8125rem;color:var(--md-gray-500);margin-top:3px}
.md-dashboard-cards{display:flex;flex-direction:column;gap:16px}
.md-dashboard-card{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-lg);padding:22px 24px;box-shadow:var(--md-shadow-xs);display:flex;flex-direction:column;gap:12px;transition:box-shadow var(--md-dur) var(--md-ease)}
.md-dashboard-card:hover{box-shadow:var(--md-shadow-md)}
.md-dc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.md-dc-title{font-size:.9375rem;font-weight:700;color:var(--md-gray-900);margin:0}
.md-dc-type{font-size:.8125rem;color:var(--md-gray-500);margin:2px 0 0}
.md-dc-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:.8125rem;color:var(--md-gray-500)}
.md-dc-actions{display:flex;gap:7px;flex-wrap:wrap}
/* Status */
.md-status-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:9999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.md-status-publish{background:var(--md-success-bg);color:var(--md-success)}
.md-status-pending{background:var(--md-warning-bg);color:var(--md-warning)}
.md-status-draft{background:var(--md-gray-100);color:var(--md-gray-500)}
.md-status-rejected{background:var(--md-danger-bg);color:var(--md-danger)}

/* ── AUTH ── */
.md-auth-wrap{max-width:420px;margin:48px auto;padding:0 20px}
.md-auth-card{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-2xl);padding:32px 28px;box-shadow:var(--md-shadow-lg)}
.md-auth-title{font-size:1.375rem;font-weight:800;color:var(--md-gray-900);text-align:center;margin:0 0 4px}
.md-auth-subtitle{font-size:.875rem;color:var(--md-gray-500);text-align:center;margin:0 0 20px}
.md-auth-tabs{display:flex;background:var(--md-gray-100);border-radius:var(--md-r);padding:3px;margin-bottom:22px}
.md-auth-tab{flex:1;padding:8px;text-align:center;font-size:.875rem;font-weight:600;color:var(--md-gray-600);cursor:pointer;background:transparent;border:none;border-radius:calc(var(--md-r) - 1px);transition:all var(--md-dur) var(--md-ease);font-family:var(--md-font)}
.md-auth-tab.active{background:var(--md-white);color:var(--md-gray-900);box-shadow:var(--md-shadow-xs)}
.md-tab-panel[hidden]{display:none}

/* ── TAXONOMY HERO ── */
.md-taxonomy-hero{background:linear-gradient(135deg,#0f2d6b 0%,#1a56db 100%);padding:44px 24px 38px;text-align:center}
.md-taxonomy-hero h1{font-size:clamp(1.5rem,4vw,2.25rem);font-weight:800;color:var(--md-white);margin:0 0 12px;letter-spacing:-.02em}
.md-taxonomy-hero p{color:rgba(255,255,255,.8);font-size:1rem;max-width:580px;margin:0 auto 18px;line-height:1.7}
.md-tax-breadcrumb{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 8px;font-size:.8125rem;color:rgba(255,255,255,.6);margin-bottom:14px}
.md-tax-breadcrumb a{color:rgba(255,255,255,.8);text-decoration:none}
.md-tax-breadcrumb a:hover{color:var(--md-white)}
.md-tax-breadcrumb-sep{color:rgba(255,255,255,.4)}
.md-taxonomy-body{padding:32px 0 60px}
.md-taxonomy-intro{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-lg);padding:22px 26px;margin-bottom:24px;box-shadow:var(--md-shadow-xs);line-height:1.75;font-size:.9375rem;color:var(--md-gray-700)}
.md-taxonomy-intro h2{font-size:1.0625rem;font-weight:700;color:var(--md-gray-900);margin:0 0 10px}

/* ── FAQ ACCORDION ── */
.md-faq-accordion{display:flex;flex-direction:column;gap:6px}
.md-faq-item{border:1px solid var(--md-gray-200);border-radius:var(--md-r);overflow:hidden;background:var(--md-white)}
.md-faq-question{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;font-size:.9375rem;font-weight:600;color:var(--md-gray-800);list-style:none;user-select:none}
.md-faq-question::-webkit-details-marker{display:none}
.md-faq-toggle{width:22px;height:22px;border-radius:50%;background:var(--md-gray-100);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.125rem;color:var(--md-primary);transition:all var(--md-dur) var(--md-ease);font-weight:400;line-height:1}
details[open] .md-faq-toggle{background:var(--md-primary);color:var(--md-white);transform:rotate(45deg)}
.md-faq-answer{padding:12px 18px 16px;border-top:1px solid var(--md-gray-100);font-size:.9375rem;color:var(--md-gray-600);line-height:1.7}

/* ── MAP ── */
.md-map-box{border-radius:var(--md-r-lg);overflow:hidden;height:300px;background:var(--md-gray-100);border:1px solid var(--md-gray-200)}
.md-map-placeholder{height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:var(--md-gray-500);font-size:.9375rem}

/* ── REVIEW SECTION ── */
.md-review-summary{display:flex;align-items:center;gap:24px;background:var(--md-gray-50);border:1px solid var(--md-gray-200);border-radius:var(--md-r-lg);padding:18px 22px;margin-bottom:20px;flex-wrap:wrap}
.md-review-score-big{text-align:center}
.md-review-score-num{font-size:2.875rem;font-weight:900;color:var(--md-gray-900);line-height:1;display:block;letter-spacing:-.04em}
.md-review-score-label{font-size:.8125rem;color:var(--md-gray-400);margin-top:3px}
.md-review-bars{flex:1;min-width:180px;display:flex;flex-direction:column;gap:4px}
.md-review-bar-row{display:flex;align-items:center;gap:8px;font-size:.8125rem}
.md-review-bar-lbl{width:22px;text-align:right;color:var(--md-gray-600);flex-shrink:0;font-weight:600}
.md-review-bar-track{flex:1;height:7px;background:var(--md-gray-200);border-radius:9999px;overflow:hidden}
.md-review-bar-fill{height:100%;background:var(--md-star);border-radius:9999px}
.md-review-bar-cnt{color:var(--md-gray-400);min-width:16px;font-size:.75rem}
.md-review-card{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-lg);padding:16px 18px;margin-bottom:10px;box-shadow:var(--md-shadow-xs)}
.md-review-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:9px}
.md-reviewer-name{font-weight:700;font-size:.9375rem;color:var(--md-gray-800)}
.md-review-date{font-size:.8125rem;color:var(--md-gray-400);flex-shrink:0}
.md-review-body{font-size:.9375rem;color:var(--md-gray-700);line-height:1.65}
.md-review-reply{background:var(--md-gray-50);border-left:3px solid var(--md-primary);padding:11px 14px;margin-top:12px;border-radius:0 var(--md-r) var(--md-r) 0;font-size:.875rem}
.md-review-reply-label{font-size:.75rem;font-weight:700;color:var(--md-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.md-write-review-box{background:linear-gradient(135deg,var(--md-primary-light),#ebf5ff);border:1.5px solid #c7d7f8;border-radius:var(--md-r-xl);padding:24px;margin-top:24px}
.md-write-review-box h3{font-size:1rem;font-weight:700;margin:0 0 4px;color:var(--md-gray-900)}
.md-write-review-box .md-sub{font-size:.875rem;color:var(--md-gray-500);margin:0 0 18px}

/* ── SINGLE LISTING ── */
.md-single-listing{padding:28px 0 60px}
.md-listing-hero{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-xl);padding:24px;margin-bottom:20px;box-shadow:var(--md-shadow-sm);display:flex;gap:22px;flex-wrap:wrap}
.md-listing-hero-photo{width:130px;height:130px;border-radius:var(--md-r-xl);object-fit:cover;border:3px solid var(--md-gray-200);flex-shrink:0;box-shadow:var(--md-shadow-sm)}
.md-listing-hero-ph{width:130px;height:130px;border-radius:var(--md-r-xl);background:linear-gradient(135deg,var(--md-primary-light),#dbeafe);display:flex;align-items:center;justify-content:center;font-size:3.5rem;flex-shrink:0;border:3px solid var(--md-gray-200)}
.md-listing-hero-info{flex:1;min-width:0}
.md-listing-hero-name{font-size:clamp(1.25rem,3vw,1.75rem);font-weight:800;color:var(--md-gray-900);margin:0 0 5px;letter-spacing:-.02em}
.md-listing-hero-spec{font-size:.9375rem;color:var(--md-primary);font-weight:600;margin-bottom:10px}
.md-listing-hero-badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.md-listing-hero-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.875rem;color:var(--md-gray-500);margin-bottom:14px}
.md-listing-hero-meta span{display:flex;align-items:center;gap:5px}
.md-listing-hero-meta svg{width:14px;height:14px;color:var(--md-gray-400);flex-shrink:0}
.md-listing-hero-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:600px){.md-listing-hero{flex-direction:column}.md-listing-hero-photo,.md-listing-hero-ph{width:90px;height:90px;font-size:2.5rem}}
/* Section card */
.md-section-card{background:var(--md-white);border:1px solid var(--md-gray-200);border-radius:var(--md-r-lg);margin-bottom:18px;box-shadow:var(--md-shadow-xs);overflow:hidden}
.md-section-card-head{padding:14px 20px;border-bottom:1px solid var(--md-gray-100);display:flex;justify-content:space-between;align-items:center}
.md-section-card-title{font-size:.9375rem;font-weight:700;color:var(--md-gray-900);margin:0;display:flex;align-items:center;gap:7px}
.md-section-card-title svg{width:15px;height:15px;color:var(--md-primary)}
.md-section-card-body{padding:18px 20px}
/* Info list */
.md-info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.md-info-list-item{display:flex;gap:9px;align-items:flex-start;font-size:.9375rem}
.md-info-list-icon{width:17px;height:17px;color:var(--md-primary);flex-shrink:0;margin-top:2px}
.md-info-list-label{font-weight:600;color:var(--md-gray-700);min-width:120px;flex-shrink:0}
.md-info-list-val{color:var(--md-gray-600)}

/* ── STICKY CTA ── */
.md-sticky-cta{position:fixed;bottom:0;left:0;right:0;background:var(--md-white);border-top:1px solid var(--md-gray-200);padding:12px 24px;display:flex;align-items:center;gap:16px;z-index:9990;box-shadow:0 -4px 20px rgba(0,0,0,.08);transform:translateY(100%);transition:transform .3s var(--md-ease)}
.md-sticky-cta.is-visible{transform:translateY(0)}
.md-sticky-cta-info{flex:1;min-width:0}
.md-sticky-cta-name{font-size:1rem;font-weight:700;color:var(--md-gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.md-sticky-cta-sub{font-size:.8125rem;color:var(--md-gray-500)}
.md-sticky-cta-actions{display:flex;gap:8px;flex-shrink:0}
.md-sticky-close{background:none;border:none;color:var(--md-gray-400);cursor:pointer;font-size:1.375rem;padding:4px;display:flex;border-radius:var(--md-r);line-height:1}
.md-sticky-close:hover{background:var(--md-gray-100);color:var(--md-gray-700)}
@media(max-width:600px){.md-sticky-cta{flex-wrap:wrap;padding:12px 16px}.md-sticky-cta-info{width:100%}}

/* ── AD BLOCKS ── */
.md-ad-wrap{background:var(--md-gray-50);border:1px dashed var(--md-gray-300);border-radius:var(--md-r);overflow:hidden;min-height:90px;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--md-gray-400);margin:16px 0}
.md-ad-300{min-height:250px}
.md-ad-wrap ins{display:block!important;width:100%}

/* ── DISCLAIMER ── */
.md-disclaimer-box{background:var(--md-gray-50);border:1px solid var(--md-gray-200);border-radius:var(--md-r-md);padding:13px 16px;font-size:.8125rem;color:var(--md-gray-500);line-height:1.6;display:flex;gap:9px;align-items:flex-start}
.md-disclaimer-icon{flex-shrink:0;margin-top:1px}

/* ── LOADING ── */
.md-skeleton{background:linear-gradient(90deg,var(--md-gray-100) 25%,var(--md-gray-200) 50%,var(--md-gray-100) 75%);background-size:200% 100%;animation:md-shimmer 1.4s infinite;border-radius:var(--md-r)}
@keyframes md-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.md-skeleton-card{height:120px;margin-bottom:10px}
.md-spinner{width:22px;height:22px;border:3px solid var(--md-gray-200);border-top-color:var(--md-primary);border-radius:50%;animation:md-spin .7s linear infinite;display:inline-block}
@keyframes md-spin{to{transform:rotate(360deg)}}

/* ── ANIMATIONS ── */
@keyframes md-fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.md-animate-in{animation:md-fade-in .22s var(--md-ease) both}

/* ── NO RESULTS ── */
.md-no-results{text-align:center;padding:56px 24px;color:var(--md-gray-500)}
.md-no-results-icon{font-size:2.75rem;margin-bottom:12px;display:block}
.md-no-results h3{font-size:1.125rem;font-weight:700;color:var(--md-gray-700);margin:0 0 8px}
.md-no-results p{font-size:.9375rem;margin:0}

/* ── PRINT ── */
@media print{.md-sticky-cta,.md-ad-wrap,.md-search-hero,.md-filters-bar,.md-sidebar{display:none!important}}

/* ── SINGLE LISTING RESPONSIVE GRID ── */
@media(max-width:960px){
  #md-single-listing .md-container>div[style*="grid-template-columns"]{
    grid-template-columns:1fr!important
  }
  #md-single-listing aside{display:none}
}
@media(max-width:680px){
  .md-listing-hero{flex-direction:column!important;gap:16px!important}
  .md-listing-hero-photo,.md-listing-hero-ph{width:90px!important;height:90px!important;font-size:2.5rem!important}
  .md-listing-hero-name{font-size:1.375rem!important}
}

/* ── TAXONOMY BODY RESPONSIVE ── */
@media(max-width:960px){
  .md-taxonomy-body .md-container>div[style*="grid-template-columns"]{
    grid-template-columns:1fr!important
  }
  .md-taxonomy-body aside{display:none}
}

/* ── md-select global fix (used inline in templates) ── */
.md-select{
  width:100%;padding:10px 36px 10px 14px;border:1.5px solid var(--md-gray-300);
  border-radius:var(--md-r);font-size:.9375rem;font-family:var(--md-font);
  color:var(--md-gray-800);background:#fff;cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:18px;
}
.md-select:focus{border-color:var(--md-primary);box-shadow:0 0 0 3px rgba(26,86,219,.12);outline:none}

/* ── COMPANION THEME: Site Header ── */
.md-site-nav{background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:9000;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.md-site-nav-inner{display:flex;align-items:center;gap:20px;max-width:1280px;margin:0 auto;padding:0 24px;height:64px}
.md-site-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
.md-logo-text{font-size:1.125rem;font-weight:800;color:#111827;white-space:nowrap;letter-spacing:-.02em}
.md-logo-img{height:40px;width:auto}
.md-nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0;flex:1}
.md-nav-links a{display:block;padding:8px 14px;font-size:.9rem;font-weight:600;color:#374151;text-decoration:none;border-radius:8px;transition:all .15s}
.md-nav-links a:hover{background:#f3f4f6;color:#111827}
.md-nav-auth{display:flex;align-items:center;gap:8px;flex-shrink:0}
.md-nav-login-btn{padding:7px 16px;font-size:.875rem;font-weight:600;color:#374151;text-decoration:none;border-radius:8px;border:1.5px solid #d1d5db;background:#fff;transition:all .15s}
.md-nav-login-btn:hover{background:#f9fafb;border-color:#9ca3af}
.md-nav-register-btn{padding:7px 16px;font-size:.875rem;font-weight:700;color:#fff;text-decoration:none;border-radius:8px;background:#1a56db;transition:all .15s}
.md-nav-register-btn:hover{background:#1240a4}
/* User menu dropdown */
.md-nav-user-menu{position:relative}
.md-nav-user-btn{display:flex;align-items:center;gap:8px;padding:5px 12px;background:#fff;border:1.5px solid #e5e7eb;border-radius:9999px;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;color:#374151;transition:all .15s}
.md-nav-user-btn:hover{border-color:#d1d5db;background:#f9fafb}
.md-nav-avatar-img{width:28px;height:28px;border-radius:50%;object-fit:cover}
.md-nav-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:210px;z-index:9100;overflow:hidden}
.md-nav-dropdown-header{padding:14px 16px;border-bottom:1px solid #f3f4f6}
.md-nav-dropdown-name{font-weight:700;font-size:.9375rem;color:#111827}
.md-nav-dropdown-role{font-size:.8125rem;color:#6b7280;margin-top:2px;text-transform:capitalize}
.md-nav-dropdown-links{list-style:none;margin:0;padding:6px 0}
.md-nav-dropdown-links li a{display:block;padding:8px 16px;font-size:.875rem;color:#374151;text-decoration:none;font-weight:500;transition:background .1s}
.md-nav-dropdown-links li a:hover{background:#f9fafb}
.md-nav-divider{height:1px;background:#f3f4f6;margin:4px 0}
/* Mobile */
.md-nav-mobile-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;padding:8px;cursor:pointer;border-radius:6px}
.md-nav-mobile-toggle span{display:block;width:22px;height:2px;background:#374151;border-radius:9999px;transition:all .2s}
.md-mobile-menu{display:flex;flex-direction:column;background:#fff;border-top:1px solid #e5e7eb;padding:12px 24px 16px}
.md-mobile-menu a{display:block;padding:10px 0;font-size:.9375rem;font-weight:600;color:#374151;text-decoration:none;border-bottom:1px solid #f3f4f6}
.md-mobile-menu a:last-child{border-bottom:none}
@media(max-width:768px){
  .md-nav-links{display:none}
  .md-nav-auth{display:none}
  .md-nav-mobile-toggle{display:flex}
}

/* ── COMPANION THEME: Site Footer ── */
#md-site-footer{background:#111827;color:#9ca3af;padding:48px 24px 0;margin-top:60px}
.md-footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;max-width:1280px;margin:0 auto;padding-bottom:40px}
.md-footer-brand .md-footer-logo{font-size:1.125rem;font-weight:800;color:#fff;margin-bottom:10px}
.md-footer-tagline{font-size:.875rem;line-height:1.6;color:#6b7280;margin:0;max-width:280px}
.md-footer-col h4{font-size:.875rem;font-weight:700;color:#fff;margin:0 0 12px;text-transform:uppercase;letter-spacing:.06em}
.md-footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.md-footer-col ul a{font-size:.875rem;color:#9ca3af;text-decoration:none;transition:color .15s}
.md-footer-col ul a:hover{color:#fff}
.md-footer-bottom{border-top:1px solid #1f2937;padding:16px 0;text-align:center;max-width:1280px;margin:0 auto}
.md-footer-bottom p{font-size:.8125rem;color:#6b7280;margin:0}
@media(max-width:900px){.md-footer-inner{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.md-footer-inner{grid-template-columns:1fr}}

/* ── DASHBOARD: Profile Completeness & Recommendation Score ── */
.md-dash-completeness-wrap{margin-bottom:12px}
.md-dash-score-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.md-dash-score-label{font-size:.8125rem;font-weight:600;color:#374151}
.md-dash-score-val{font-size:.875rem;font-weight:800}
.md-dash-bar{height:10px;background:#f3f4f6;border-radius:9999px;overflow:hidden}
.md-dash-bar-fill{height:100%;border-radius:9999px;transition:width .4s cubic-bezier(.4,0,.2,1)}
.md-dash-bar-green{background:linear-gradient(90deg,#10b981,#059669)}
.md-dash-bar-yellow{background:linear-gradient(90deg,#fbbf24,#d97706)}
.md-dash-bar-red{background:linear-gradient(90deg,#f87171,#ef4444)}
.md-dash-bar-blue{background:linear-gradient(90deg,#60a5fa,#1a56db)}
.md-dash-missing-hint{font-size:.75rem;color:#9ca3af;margin-top:4px;line-height:1.4}
.md-dash-decay-warn{font-size:.75rem;color:#ef4444;font-weight:600;margin-top:4px;display:flex;align-items:center;gap:4px}
.md-reco-score-display{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px}
.md-reco-score-display-label{font-size:.8125rem;font-weight:600;color:#374151}
.md-reco-score-display-val{font-size:.9375rem;font-weight:800;color:#1a56db}

/* Dashboard checklist */
.md-dash-checklist{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:3px}
.md-dash-checklist li{font-size:.8125rem;color:#6b7280;display:flex;align-items:center;gap:6px}
.md-dash-checklist li::before{content:'○';color:#d1d5db;font-size:.875rem}

/* ── COMPLETENESS SCORE on cards ── */
.md-card-completeness{display:flex;align-items:center;gap:6px;font-size:.75rem;color:#6b7280;margin-top:3px}
.md-card-completeness-bar{flex:1;height:4px;background:#f3f4f6;border-radius:9999px;overflow:hidden;max-width:80px}
.md-card-completeness-fill{height:100%;border-radius:9999px}

/* ── OPENING HOURS 24hrs badge ── */
.md-hours-24{background:#dcfce7;color:#166534;font-weight:700;font-size:.8125rem;padding:2px 8px;border-radius:9999px;border:1px solid #86efac}

/* ── RECOMMENDATION SCORE badge on cards ── */
.md-badge-reco-high{background:#dcfce7;color:#166534;border:1px solid #86efac}
.md-badge-reco-mid{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}


/* ═══════════════════════════════════════════
   DESIGN OVERHAUL — Fix widths, colors, layout
   ═══════════════════════════════════════════ */

/* ── Full-width container for single listing ── */
.md-single-listing .md-container>div[style*="grid-template-columns:1fr 290px"],
.md-single-listing .md-container>div[style*="grid-template-columns: 1fr 290px"]{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:28px;
  width:100%;
}
@media(max-width:960px){
  .md-single-listing .md-container>div[style*="grid-template-columns"]{
    grid-template-columns:1fr!important;
  }
  .md-single-listing aside{display:none!important}
}

/* ── Taxonomy page full-width ── */
.md-taxonomy-body .md-container>div[style*="grid-template-columns"]{
  display:grid;
  width:100%;
}
@media(max-width:960px){
  .md-taxonomy-body .md-container>div[style*="grid-template-columns"]{
    grid-template-columns:1fr!important;
  }
  .md-taxonomy-body aside{display:none!important}
}

/* ── Dashboard full-width ── */
.md-dashboard-wrap .md-container{width:100%}
.md-dashboard-cards{width:100%}
.md-dashboard-card{width:100%}

/* ── Dashboard role badge ── */
.md-dash-role-badge{
  display:inline-block;padding:2px 10px;background:#f3f4f6;
  color:#374151;border-radius:9999px;font-size:.75rem;font-weight:700;
  margin-right:6px
}

/* ── Dashboard section title ── */
.md-dash-section-title{
  font-size:1rem;font-weight:700;color:#111827;
  margin:0 0 14px;padding-bottom:10px;border-bottom:1.5px solid #f3f4f6
}

/* ── Empty state ── */
.md-empty-state{
  text-align:center;padding:48px 24px;background:#fff;
  border:1px solid #e5e7eb;border-radius:16px
}
.md-empty-icon{font-size:2.5rem;margin-bottom:12px}
.md-empty-state h3{font-size:1.125rem;font-weight:700;color:#111827;margin:0 0 6px}
.md-empty-state p{font-size:.9375rem;color:#6b7280;margin:0}

/* ── COLOR SYSTEM OVERHAUL: reduce blue dominance ── */

/* Buttons: use slate/dark for edit, muted for secondary actions */
.md-btn-secondary{
  background:#fff;color:#374151;
  border:1.5px solid #d1d5db
}
.md-btn-secondary:hover{
  background:#f9fafb;color:#111827;
  border-color:#9ca3af;text-decoration:none!important
}
.md-btn-ghost{
  background:transparent;color:#374151;
  border-color:transparent
}
.md-btn-ghost:hover{
  background:#f3f4f6;text-decoration:none!important
}

/* Hero actions: primary = dark, not blue */
.md-listing-hero-actions .md-btn-primary{
  background:#111827;border-color:#111827;color:#fff
}
.md-listing-hero-actions .md-btn-primary:hover{
  background:#374151;border-color:#374151;color:#fff
}

/* Sidebar contact call button stays prominent */
.md-sidebar-widget .md-btn-primary{
  background:#111827;border-color:#111827;color:#fff
}
.md-sidebar-widget .md-btn-primary:hover{
  background:#374151;border-color:#374151
}

/* Tags: use neutral, not blue */
.md-tag{
  background:#f9fafb;color:#374151;
  border-color:#e5e7eb
}
.md-tag:hover{
  background:#f3f4f6;color:#111827;
  border-color:#d1d5db
}
.md-tag-primary{
  background:#f0fdf4;color:#15803d;
  border-color:#bbf7d0
}

/* Card specialty text: use slate instead of blue */
.md-card-specialty{color:#374151;font-weight:600}
.md-grid-card-specialty{color:#374151}

/* Section card titles: use slate icon */
.md-section-card-title svg{color:#374151}

/* Verified badge: keep green */
.md-verified-badge{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}

/* Sidebar links: remove blue on hover, use slate */
.md-sidebar-links a:hover{color:#111827}

/* Pagination active: keep blue (navigation element, blue is fine) */

/* Filter chips active: dark instead of blue */
.md-filter-chip.active{background:#111827;border-color:#111827;color:#fff}

/* Search submit button: accent orange */
.md-search-submit{background:#f97316;color:#fff}
.md-search-submit:hover{background:#ea6c0a}

/* Search hero: keep blue gradient (it's a hero, blue is fine) */

/* Dashboard stat value: use appropriate colors, not all blue */
.md-stat-val{color:#111827}

/* Section card body links */
.md-section-card-body a{color:#111827;text-decoration:underline}
.md-section-card-body a:hover{color:#374151}

/* ── Width fixes for listing page sections ── */
.md-section-card{
  width:100%;max-width:100%;
}
.md-listing-hero{
  width:100%;
}

/* ── Sticky CTA: dark theme ── */
.md-sticky-cta .md-btn-primary{
  background:#111827;border-color:#111827
}

/* ═══════════════════════════════════════════════════════════
   SINGLE LISTING PAGE — MedFind-inspired design
   ═══════════════════════════════════════════════════════════ */

/* Layout */
.md-sl-wrap { background: #f5f5f5; min-height: 100vh; padding-bottom: 60px; }
.md-sl-container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

/* Breadcrumb */
.md-sl-breadcrumb { display: flex; align-items: center; gap: 8px; font-size: .8125rem; color: #6b7280; padding: 14px 0; flex-wrap: wrap; }
.md-sl-breadcrumb a { color: #6b7280; text-decoration: none; }
.md-sl-breadcrumb a:hover { color: #111827; }
.md-sl-breadcrumb span { color: #9ca3af; }

/* Two-column layout */
.md-sl-layout { display: grid; grid-template-columns: 1fr 300px; gap: 24px; align-items: start; width: 100%; }
@media (max-width: 1024px) { .md-sl-layout { grid-template-columns: 1fr; } .md-sl-sidebar { display: none; } }

/* Main column sections */
.md-sl-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.md-sl-section { background: #fff; border-radius: 12px; padding: 24px 28px; border: 1px solid #e5e7eb; }

/* Section titles */
.md-sl-section-title { font-size: 1.0625rem; font-weight: 700; color: #111827; margin: 0 0 16px; display: flex; align-items: center; gap: 8px; }
.md-sl-section-title svg { color: #6b7280; flex-shrink: 0; }
.md-sl-section-sub { font-size: .875rem; color: #6b7280; margin: -10px 0 14px; }
.md-sl-review-count-badge { display: inline-flex; align-items: center; justify-content: center; background: #f3f4f6; color: #374151; font-size: .75rem; font-weight: 700; padding: 2px 8px; border-radius: 9999px; margin-left: 4px; }

/* Hero card */
.md-sl-hero { background: #fff; border-radius: 12px; padding: 24px 28px; border: 1px solid #e5e7eb; }
.md-sl-accepting { display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; font-weight: 600; color: #059669; margin-bottom: 14px; }
.md-sl-accepting-dot { width: 8px; height: 8px; border-radius: 50%; background: #059669; flex-shrink: 0; }
.md-sl-accepting-no { color: #dc2626; }
.md-sl-accepting-no .md-sl-accepting-dot { background: #dc2626; }
.md-sl-accepting-limited { color: #d97706; }
.md-sl-accepting-limited .md-sl-accepting-dot { background: #d97706; }
.md-sl-hero-inner { display: flex; gap: 22px; align-items: flex-start; }
@media (max-width: 640px) { .md-sl-hero-inner { flex-direction: column; } }

/* Photo */
.md-sl-photo-wrap { flex-shrink: 0; }
.md-sl-photo { width: 140px; height: 140px; border-radius: 14px; object-fit: cover; border: 2px solid #e5e7eb; display: block; }
.md-sl-photo-placeholder { width: 140px; height: 140px; border-radius: 14px; background: linear-gradient(135deg, #e0f2fe, #bfdbfe); border: 2px solid #e5e7eb; display: flex; align-items: center; justify-content: center; font-size: 2.5rem; color: #60a5fa; }
@media (max-width: 640px) { .md-sl-photo, .md-sl-photo-placeholder { width: 100px; height: 100px; } }

/* Hero info */
.md-sl-hero-info { flex: 1; min-width: 0; }
.md-sl-featured-badge { display: inline-block; background: #fef3c7; color: #92400e; font-size: .6875rem; font-weight: 700; padding: 2px 10px; border-radius: 9999px; margin-bottom: 6px; text-transform: uppercase; letter-spacing: .06em; }
.md-sl-name { font-size: 1.625rem; font-weight: 800; color: #111827; margin: 0 0 4px; letter-spacing: -.02em; line-height: 1.2; }
.md-sl-credentials { font-size: .9375rem; color: #6b7280; margin-bottom: 10px; }
.md-sl-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.md-sl-tag { display: inline-flex; align-items: center; padding: 3px 12px; background: #f0f9ff; color: #0369a1; border: 1px solid #bae6fd; border-radius: 9999px; font-size: .8125rem; font-weight: 500; text-decoration: none; transition: background .15s; }
.md-sl-tag:hover { background: #e0f2fe; }
.md-sl-tag-neutral { background: #f3f4f6; color: #374151; border-color: #e5e7eb; }
.md-sl-tag-neutral:hover { background: #e5e7eb; }
.md-sl-tag-blue { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.md-sl-tag-blue:hover { background: #dbeafe; }

/* Stats row */
.md-sl-stats-row { display: flex; gap: 20px; margin-bottom: 12px; flex-wrap: wrap; }
.md-sl-stat { display: flex; align-items: center; gap: 6px; font-size: .8125rem; color: #374151; }
.md-sl-stat svg { color: #6b7280; flex-shrink: 0; }
.md-sl-stat strong { font-weight: 700; font-size: .9375rem; color: #111827; }
.md-sl-stat span { color: #6b7280; }

/* Affiliation */
.md-sl-affiliation { display: flex; align-items: center; gap: 6px; font-size: .8125rem; color: #4b5563; margin-bottom: 12px; }
.md-sl-affiliation svg { color: #9ca3af; flex-shrink: 0; }

/* Hero badges */
.md-sl-hero-badges { display: flex; gap: 6px; flex-wrap: wrap; }
.md-sl-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 9999px; font-size: .75rem; font-weight: 600; }
.md-sl-badge-verified { background: #dcfce7; color: #166534; }
.md-sl-badge-top { background: #fef3c7; color: #92400e; }
.md-sl-badge-telehealth { background: #eff6ff; color: #1d4ed8; }

/* About section */
.md-sl-about { font-size: .9375rem; line-height: 1.8; color: #374151; margin-bottom: 18px; }
.md-sl-about p { margin: 0 0 12px; }
.md-sl-about p:last-child { margin-bottom: 0; }
.md-sl-info-group { margin-top: 16px; padding-top: 16px; border-top: 1px solid #f3f4f6; }
.md-sl-info-label { font-size: .75rem; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 8px; }

/* Awards */
.md-sl-awards { display: flex; flex-direction: column; gap: 8px; }
.md-sl-award-item { display: flex; align-items: flex-start; gap: 10px; font-size: .9375rem; color: #374151; }
.md-sl-award-icon { color: #f59e0b; font-size: 1rem; flex-shrink: 0; margin-top: 1px; }

/* Availability section */
.md-sl-avail-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }

/* Insurance */
.md-sl-ins-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.md-sl-ins-tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 9999px; font-size: .8125rem; color: #374151; font-weight: 500; }
.md-sl-ins-tag svg { color: #059669; }
.md-sl-disclaimer-small { font-size: .75rem; color: #9ca3af; line-height: 1.5; margin: 0; font-style: italic; }

/* Location & Contact */
.md-sl-locations-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin-bottom: 16px; }
.md-sl-location-card { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 10px; padding: 16px 18px; }
.md-sl-location-name { font-size: .9375rem; font-weight: 700; color: #111827; margin-bottom: 6px; }
.md-sl-location-addr { font-size: .875rem; color: #6b7280; margin-bottom: 10px; line-height: 1.5; }
.md-sl-location-row { display: flex; align-items: center; gap: 7px; font-size: .875rem; color: #374151; margin-bottom: 6px; }
.md-sl-location-row svg { color: #9ca3af; flex-shrink: 0; }
.md-sl-location-row a { color: #374151; text-decoration: none; }
.md-sl-location-row a:hover { color: #111827; text-decoration: underline; }
.md-sl-directions-btn { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; padding: 7px 14px; background: #fff; border: 1.5px solid #d1d5db; border-radius: 8px; font-size: .8125rem; font-weight: 600; color: #374151; text-decoration: none; transition: all .15s; }
.md-sl-directions-btn:hover { background: #f3f4f6; border-color: #9ca3af; }
.md-sl-license-row { display: flex; align-items: center; gap: 7px; font-size: .875rem; color: #6b7280; margin-bottom: 14px; }
.md-sl-license-row svg { color: #9ca3af; }
.md-sl-license-row strong { color: #374151; }
.md-sl-affil-section { margin-top: 14px; }
.md-sl-affil-list { margin: 8px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; font-size: .9375rem; color: #374151; }
.md-sl-map { height: 240px; border-radius: 10px; background: #f3f4f6; margin-top: 16px; border: 1px solid #e5e7eb; }

/* Education */
.md-sl-edu-list { display: flex; flex-direction: column; gap: 14px; }
.md-sl-edu-item { display: flex; align-items: flex-start; gap: 12px; }
.md-sl-edu-icon { width: 32px; height: 32px; border-radius: 8px; background: #eff6ff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.md-sl-edu-icon svg { color: #3b82f6; }
.md-sl-edu-type { font-size: .6875rem; font-weight: 700; color: #9ca3af; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 2px; }
.md-sl-edu-name { font-size: .9375rem; color: #111827; font-weight: 500; line-height: 1.4; }
.md-sl-pub-list { margin: 8px 0 0; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; }
.md-sl-pub-list li { font-size: .875rem; color: #374151; padding-left: 14px; position: relative; line-height: 1.5; }
.md-sl-pub-list li::before { content: '•'; position: absolute; left: 0; color: #9ca3af; }

/* Certifications */
.md-sl-cert-list { display: flex; flex-direction: column; gap: 8px; }
.md-sl-cert-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; background: #eff6ff; border: 1px solid #bfdbfe; border-radius: 8px; font-size: .9375rem; color: #1e40af; }
.md-sl-cert-item svg { color: #3b82f6; flex-shrink: 0; margin-top: 2px; }

/* Facilities */
.md-sl-facility-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 8px; }
.md-sl-facility-item { display: flex; align-items: center; gap: 8px; padding: 9px 12px; background: #f0fdf4; border: 1px solid #bbf7d0; border-radius: 8px; font-size: .875rem; font-weight: 600; color: #166534; }
.md-sl-facility-item svg { color: #16a34a; flex-shrink: 0; }

/* Social profiles */
.md-sl-socials { display: flex; flex-wrap: wrap; gap: 8px; }
.md-sl-social-link { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; background: #f9fafb; border: 1.5px solid #e5e7eb; border-radius: 9px; font-size: .875rem; font-weight: 600; color: #374151; text-decoration: none; transition: all .15s; }
.md-sl-social-link:hover { background: #f3f4f6; border-color: #9ca3af; }

/* FAQ */
.md-sl-faqs { display: flex; flex-direction: column; gap: 0; }
.md-sl-faq { border-bottom: 1px solid #f3f4f6; }
.md-sl-faq:last-child { border-bottom: none; }
.md-sl-faq-q { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; font-size: .9375rem; font-weight: 500; color: #111827; cursor: pointer; list-style: none; user-select: none; }
.md-sl-faq-q::-webkit-details-marker { display: none; }
.md-sl-faq-arrow { color: #9ca3af; flex-shrink: 0; transition: transform .2s; }
details[open] .md-sl-faq-arrow { transform: rotate(180deg); }
.md-sl-faq-a { padding: 0 0 14px; font-size: .9375rem; color: #6b7280; line-height: 1.7; }

/* Accuracy bar */
.md-sl-accuracy-bar { background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 12px; padding: 18px 24px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.md-sl-accuracy-title { font-size: .9375rem; font-weight: 600; color: #111827; margin-bottom: 3px; }
.md-sl-accuracy-sub { font-size: .8125rem; color: #6b7280; margin: 0; }
.md-sl-accuracy-actions { display: flex; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.md-sl-acc-btn { padding: 7px 14px; border: 1.5px solid #d1d5db; border-radius: 8px; font-size: .8125rem; font-weight: 600; color: #374151; text-decoration: none; background: #fff; transition: all .15s; white-space: nowrap; }
.md-sl-acc-btn:hover { background: #f3f4f6; }
.md-sl-acc-btn-primary { background: #111827; color: #fff; border-color: #111827; }
.md-sl-acc-btn-primary:hover { background: #374151; }

/* Rating summary */
.md-sl-rating-summary { display: flex; align-items: flex-start; gap: 20px; padding: 18px; background: #f9fafb; border-radius: 10px; margin-bottom: 20px; }
.md-sl-rating-big { text-align: center; flex-shrink: 0; }
.md-sl-rating-num { font-size: 2.75rem; font-weight: 900; color: #111827; line-height: 1; letter-spacing: -.04em; }
.md-sl-rating-label { font-size: .8125rem; color: #6b7280; margin-top: 4px; }
.md-sl-rating-desc { font-size: .875rem; color: #6b7280; line-height: 1.6; flex: 1; }

/* Breakdown bars */
.md-sl-breakdown { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; margin-bottom: 20px; }
@media (max-width: 600px) { .md-sl-breakdown { grid-template-columns: 1fr; } }
.md-sl-breakdown-row { display: flex; align-items: center; gap: 8px; font-size: .8125rem; }
.md-sl-breakdown-label { flex: 1; color: #374151; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md-sl-breakdown-bar { width: 80px; height: 6px; background: #f3f4f6; border-radius: 9999px; overflow: hidden; flex-shrink: 0; }
.md-sl-breakdown-fill { height: 100%; background: #3b82f6; border-radius: 9999px; }
.md-sl-breakdown-val { font-weight: 700; color: #111827; flex-shrink: 0; min-width: 26px; text-align: right; }

/* Individual reviews */
.md-sl-review { border-top: 1px solid #f3f4f6; padding: 18px 0; }
.md-sl-review:first-of-type { border-top: none; }
.md-sl-review-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 8px; }
.md-sl-reviewer { font-weight: 700; font-size: .9375rem; color: #111827; margin-bottom: 4px; }
.md-sl-verified-patient { font-size: .75rem; color: #059669; font-weight: 600; margin-left: 8px; }
.md-sl-visit-type { font-size: .8125rem; color: #6b7280; margin-left: 6px; }
.md-sl-review-date { font-size: .8125rem; color: #9ca3af; flex-shrink: 0; }
.md-sl-review-title { font-weight: 700; font-size: .9375rem; color: #111827; margin-bottom: 6px; }
.md-sl-review-body { font-size: .9375rem; color: #374151; line-height: 1.65; }
.md-sl-reply { background: #f9fafb; border-left: 3px solid #e5e7eb; padding: 10px 14px; margin-top: 12px; border-radius: 0 8px 8px 0; }
.md-sl-reply-label { font-size: .75rem; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 4px; }
.md-sl-no-reviews { color: #9ca3af; font-size: .9375rem; margin: 0 0 20px; }

/* Write a review form */
.md-sl-write-review { margin-top: 28px; border-top: 2px solid #f3f4f6; padding-top: 24px; }
.md-sl-wr-header { margin-bottom: 22px; }
.md-sl-wr-title { font-size: 1.0625rem; font-weight: 700; color: #111827; margin: 0 0 5px; }
.md-sl-wr-sub { font-size: .875rem; color: #6b7280; margin: 0; line-height: 1.5; }
.md-sl-wr-form { display: flex; flex-direction: column; gap: 16px; }
.md-sl-wr-field { display: flex; flex-direction: column; gap: 5px; }
.md-sl-wr-label { font-size: .875rem; font-weight: 600; color: #374151; }
.md-sl-req { color: #ef4444; }
.md-sl-note { font-size: .8125rem; font-weight: 400; color: #9ca3af; margin-left: 4px; }
.md-sl-wr-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .md-sl-wr-grid { grid-template-columns: 1fr; } }
.md-sl-input { width: 100%; padding: 10px 14px; border: 1.5px solid #d1d5db; border-radius: 9px; font-size: .9375rem; font-family: inherit; color: #111827; background: #fff; transition: border-color .15s, box-shadow .15s; }
.md-sl-input:hover { border-color: #9ca3af; }
.md-sl-input:focus { border-color: #374151; box-shadow: 0 0 0 3px rgba(55,65,81,.1); outline: none; }
.md-sl-input::placeholder { color: #9ca3af; }
.md-sl-select { width: 100%; padding: 10px 36px 10px 14px; border: 1.5px solid #d1d5db; border-radius: 9px; font-size: .9375rem; font-family: inherit; color: #111827; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E") right 10px center / 18px no-repeat; appearance: none; cursor: pointer; transition: border-color .15s; }
.md-sl-select:focus { border-color: #374151; outline: none; box-shadow: 0 0 0 3px rgba(55,65,81,.1); }
.md-sl-textarea { width: 100%; padding: 10px 14px; border: 1.5px solid #d1d5db; border-radius: 9px; font-size: .9375rem; font-family: inherit; color: #111827; background: #fff; resize: vertical; min-height: 120px; line-height: 1.6; transition: border-color .15s; }
.md-sl-textarea:focus { border-color: #374151; box-shadow: 0 0 0 3px rgba(55,65,81,.1); outline: none; }
.md-sl-textarea::placeholder { color: #9ca3af; }
.md-sl-wr-hint { font-size: .8125rem; color: #9ca3af; margin: 4px 0 0; line-height: 1.5; }
.md-sl-wr-submit { align-self: flex-start; padding: 12px 28px; background: #111827; color: #fff; border: none; border-radius: 9px; font-size: .9375rem; font-weight: 700; font-family: inherit; cursor: pointer; transition: background .15s; }
.md-sl-wr-submit:hover { background: #374151; }
.md-sl-wr-login { text-align: center; padding: 20px; }

/* Star input in review form */
.md-sl-star-input { display: flex; flex-direction: row-reverse; gap: 4px; width: fit-content; }
.md-sl-star-input input[type="radio"] { display: none; }
.md-sl-star-input label { font-size: 2rem; color: #e5e7eb; cursor: pointer; transition: color .15s; line-height: 1; }
.md-sl-star-input label:hover,
.md-sl-star-input label:hover ~ label,
.md-sl-star-input input:checked ~ label { color: #fbbf24; }

/* Related section */
.md-sl-related { background: #fff; border-radius: 12px; padding: 24px 28px; border: 1px solid #e5e7eb; }
.md-sl-related-title { font-size: 1.0625rem; font-weight: 700; color: #111827; margin: 0 0 16px; }
.md-sl-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 640px) { .md-sl-related-grid { grid-template-columns: 1fr; } }
.md-sl-related-card { display: flex; align-items: center; gap: 12px; padding: 14px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 10px; text-decoration: none; transition: all .15s; }
.md-sl-related-card:hover { background: #f3f4f6; border-color: #d1d5db; }
.md-sl-related-photo { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid #e5e7eb; }
.md-sl-related-photo-placeholder { width: 44px; height: 44px; border-radius: 50%; background: #dbeafe; display: flex; align-items: center; justify-content: center; font-size: 1.25rem; flex-shrink: 0; color: #60a5fa; }
.md-sl-related-info { flex: 1; min-width: 0; }
.md-sl-related-name { font-size: .875rem; font-weight: 700; color: #111827; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 2px; }
.md-sl-related-spec { font-size: .75rem; color: #6b7280; margin-bottom: 3px; }
.md-sl-related-rating { display: flex; align-items: center; gap: 4px; font-size: .75rem; color: #6b7280; }

/* Disclaimer */
.md-sl-disclaimer { font-size: .8125rem; color: #9ca3af; line-height: 1.6; padding: 12px 0; }

/* ── SIDEBAR ── */
.md-sl-sidebar { position: relative; }
.md-sl-sidebar-sticky { position: sticky; top: 20px; display: flex; flex-direction: column; gap: 16px; }

/* Contact card */
.md-sl-contact-card { background: #fff; border-radius: 12px; padding: 20px; border: 1px solid #e5e7eb; }
.md-sl-contact-card-title { font-size: .9375rem; font-weight: 700; color: #111827; margin-bottom: 14px; }
.md-sl-contact-book-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 11px; background: #1d4ed8; color: #fff; border-radius: 9px; font-size: .9375rem; font-weight: 700; text-decoration: none; margin-bottom: 14px; transition: background .15s; }
.md-sl-contact-book-btn:hover { background: #1e40af; }
.md-sl-contact-links { display: flex; flex-direction: column; gap: 8px; margin-bottom: 14px; }
.md-sl-contact-row { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: #374151; }
.md-sl-contact-row svg { color: #9ca3af; flex-shrink: 0; }
.md-sl-contact-row a { color: #374151; text-decoration: none; }
.md-sl-contact-row a:hover { color: #111827; text-decoration: underline; }
.md-sl-contact-label { font-size: .75rem; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 8px; }
.md-sl-sidebar-socials { border-top: 1px solid #f3f4f6; padding-top: 12px; }
.md-sl-sidebar-social-icons { display: flex; gap: 8px; }
.md-sl-social-icon { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: #f3f4f6; color: #374151; text-decoration: none; font-size: .8125rem; font-weight: 700; transition: background .15s; }
.md-sl-social-icon:hover { background: #e5e7eb; }

/* Sidebar info */
.md-sl-sidebar-info { background: #fff; border-radius: 12px; padding: 18px 20px; border: 1px solid #e5e7eb; display: flex; flex-direction: column; gap: 0; }
.md-sl-sinfo-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; border-bottom: 1px solid #f3f4f6; font-size: .875rem; }
.md-sl-sinfo-row:last-child { border-bottom: none; }
.md-sl-sinfo-label { color: #6b7280; }
.md-sl-sinfo-val { font-weight: 600; color: #111827; display: flex; align-items: center; gap: 4px; }

/* Stars (used throughout) */
.md-stars { display: inline-flex; align-items: center; gap: 1px; }
.md-star-icon { width: 14px; height: 14px; flex-shrink: 0; }
.md-star-full { color: #fbbf24; fill: currentColor; }
.md-star-half { color: #fbbf24; fill: currentColor; opacity: .6; }
.md-star-empty { color: #e5e7eb; fill: currentColor; }
.md-rating-score { font-size: .8125rem; font-weight: 700; color: #111827; margin-left: 4px; }
.md-rating-count { font-size: .8125rem; color: #9ca3af; margin-left: 2px; }

/* Hours grid */
.md-hours-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.md-hours-row-display { display: flex; justify-content: space-between; align-items: center; padding: 8px 12px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; font-size: .875rem; }
.md-hours-day { font-weight: 600; color: #374151; }
.md-hours-time-open { color: #059669; }
.md-hours-time-closed { color: #ef4444; font-weight: 600; }
.md-hours-time-na { color: #9ca3af; }

/* Sticky mobile CTA */
.md-sl-sticky-mobile { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; border-top: 1px solid #e5e7eb; padding: 10px 20px; display: none; align-items: center; gap: 12px; z-index: 9990; box-shadow: 0 -4px 16px rgba(0,0,0,.08); transform: translateY(100%); transition: transform .3s ease; }
@media (max-width: 768px) { .md-sl-sticky-mobile { display: flex; transform: translateY(0); } }
.md-sl-sticky-info { flex: 1; min-width: 0; }
.md-sl-sticky-name { font-size: .9375rem; font-weight: 700; color: #111827; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.md-sl-sticky-spec { font-size: .8125rem; color: #6b7280; }
.md-sl-sticky-actions { display: flex; gap: 8px; flex-shrink: 0; }
.md-sl-sticky-call { padding: 8px 16px; background: #111827; color: #fff; border-radius: 8px; font-size: .8125rem; font-weight: 700; text-decoration: none; }
.md-sl-sticky-review { padding: 8px 16px; background: #f3f4f6; color: #374151; border-radius: 8px; font-size: .8125rem; font-weight: 700; text-decoration: none; border: 1.5px solid #e5e7eb; }
.md-sl-sticky-close { background: none; border: none; font-size: 1.25rem; color: #9ca3af; cursor: pointer; padding: 4px; line-height: 1; flex-shrink: 0; }

/* ── Single listing fixes ── */
.md-sl-accepting-bar{display:inline-flex;align-items:center;gap:7px;font-size:.8125rem;font-weight:600;padding:5px 14px;border-radius:9999px;margin-bottom:16px}
.md-sl-accepting-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.md-sl-subtitle{font-size:1rem;color:#6b7280;margin:3px 0 10px;font-weight:500}

/* Highlighted fields */
.md-sl-highlight-field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f8faff;border:1.5px solid #c7d7f8;border-radius:9px;margin-bottom:10px}
.md-sl-highlight-label{font-size:.8125rem;font-weight:600;color:#4b5563;text-transform:uppercase;letter-spacing:.06em}
.md-sl-highlight-val{font-size:.9375rem;font-weight:800;color:#1e40af;font-family:monospace;letter-spacing:.04em}
.md-sl-detail-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:.875rem;border-bottom:1px solid #f3f4f6;color:#6b7280}
.md-sl-detail-row strong{color:#111827;font-weight:700}

/* Consultation fee in sidebar — highlighted */
.md-sl-sinfo-highlight{background:#fefce8;border-radius:8px;padding:10px 12px;border:1px solid #fde047;margin:4px 0}
.md-sl-fee-highlight{font-size:1.125rem;font-weight:900;color:#854d0e}
.md-sl-sinfo-npi{background:#f0f9ff;border-radius:8px;padding:10px 12px;border:1px solid #bae6fd;margin:4px 0}
.md-sl-npi-val{font-family:monospace;font-weight:700;color:#075985;font-size:.9375rem;letter-spacing:.03em}

/* Visit Website — proper button, NOT plain text */
.md-sl-website-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;background:#fff;color:#374151;border:1.5px solid #d1d5db;border-radius:9px;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .15s;margin-top:8px}
.md-sl-website-btn:hover{background:#f9fafb;border-color:#9ca3af;color:#111827}
.md-sl-website-btn svg{color:#6b7280;flex-shrink:0}

/* Insurance — hierarchical display */
.md-sl-insurance-list{display:flex;flex-direction:column;gap:12px}
.md-sl-ins-company{padding:12px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:9px}
.md-sl-ins-company-name{display:flex;align-items:center;gap:7px;font-size:.9375rem;font-weight:700;color:#111827;margin-bottom:7px}
.md-sl-ins-company-name svg{color:#059669;flex-shrink:0}
.md-sl-ins-plans{display:flex;flex-wrap:wrap;gap:5px}
.md-sl-ins-plan{display:inline-flex;padding:3px 10px;background:#fff;border:1px solid #d1d5db;border-radius:9999px;font-size:.8125rem;color:#374151;font-weight:500}

/* Sidebar sticky fix */
.md-sl-sidebar-sticky{position:sticky;top:90px;display:flex;flex-direction:column;gap:14px}
@media(max-width:1024px){.md-sl-sidebar-sticky{position:static}}

/* ═══════════════════════════════════════════════
   TAXONOMY PAGE — MedFind-inspired design
   ═══════════════════════════════════════════════ */

.md-tax-page { background: #f5f5f5; min-height: 100vh; }
.md-tax-container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

/* Hero / Header */
.md-tax-hero { background: #fff; border-bottom: 1px solid #e5e7eb; padding: 28px 0 24px; }
.md-tax-breadcrumb { display: flex; align-items: center; gap: 8px; font-size: .8125rem; color: #9ca3af; margin-bottom: 14px; flex-wrap: wrap; }
.md-tax-breadcrumb a { color: #6b7280; text-decoration: none; }
.md-tax-breadcrumb a:hover { color: #111827; }
.md-tax-title { font-size: 2rem; font-weight: 800; color: #111827; margin: 0 0 14px; letter-spacing: -.03em; line-height: 1.2; }
@media(max-width:640px){ .md-tax-title { font-size: 1.5rem; } }

/* Description with Show More/Less */
.md-tax-desc { margin-bottom: 16px; }
.md-tax-desc p { font-size: .9375rem; color: #374151; line-height: 1.7; margin: 0 0 8px; }
.md-tax-show-more { background: none; border: none; color: #1d4ed8; font-size: .875rem; font-weight: 600; cursor: pointer; padding: 0; font-family: inherit; }
.md-tax-show-more:hover { text-decoration: underline; }

/* Quick Comparison table */
.md-tax-quick-comparison { margin-top: 20px; padding-top: 20px; border-top: 1px solid #e5e7eb; }
.md-tax-qc-title { font-size: 1rem; font-weight: 700; color: #111827; margin: 0 0 14px; }
.md-tax-qc-table-wrap { overflow-x: auto; border-radius: 10px; border: 1px solid #e5e7eb; }
.md-tax-qc-table { width: 100%; border-collapse: collapse; background: #fff; font-size: .875rem; }
.md-tax-qc-table thead { background: #f9fafb; }
.md-tax-qc-table th { padding: 10px 14px; text-align: left; font-size: .75rem; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: .06em; white-space: nowrap; border-bottom: 1px solid #e5e7eb; }
.md-tax-qc-table td { padding: 12px 14px; border-bottom: 1px solid #f3f4f6; vertical-align: middle; }
.md-tax-qc-table tr:last-child td { border-bottom: none; }
.md-tax-qc-table tr:hover td { background: #fafafa; }
.md-qc-name a { font-weight: 700; color: #1d4ed8; text-decoration: none; display: block; }
.md-qc-name a:hover { text-decoration: underline; }
.md-qc-type { font-size: .75rem; color: #9ca3af; margin-top: 2px; display: block; }
.md-qc-rating { display: flex; align-items: center; gap: 4px; white-space: nowrap; }
.md-qc-na { color: #d1d5db; }
.md-qc-yes { color: #059669; font-weight: 600; }
.md-qc-no { color: #dc2626; font-weight: 600; }
.md-qc-limited { color: #d97706; font-weight: 600; }
.md-qc-ins-count { background: #eff6ff; color: #1d4ed8; padding: 2px 8px; border-radius: 9999px; font-size: .8125rem; font-weight: 600; }
.md-qc-note { font-size: .75rem; color: #9ca3af; margin: 8px 0 0; }

/* Main body layout */
.md-tax-body { padding: 28px 0 48px; }
.md-tax-layout { display: grid; grid-template-columns: 1fr 280px; gap: 24px; align-items: start; }
@media(max-width:1024px) { .md-tax-layout { grid-template-columns: 1fr; } .md-tax-sidebar { display: none; } }
.md-tax-main { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.md-tax-listings-title { font-size: 1.125rem; font-weight: 800; color: #111827; margin: 0 0 14px; letter-spacing: -.02em; }

/* No results */
.md-no-results { text-align: center; padding: 48px 24px; background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; }
.md-no-results h3 { font-size: 1.125rem; font-weight: 700; color: #111827; margin: 0 0 8px; }
.md-no-results p { font-size: .9375rem; color: #6b7280; margin: 0 0 20px; }
.md-tax-browse-btn { display: inline-flex; padding: 10px 22px; background: #111827; color: #fff; border-radius: 8px; font-size: .9rem; font-weight: 700; text-decoration: none; }

/* SEO content section */
.md-tax-seo-content { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 24px 28px; font-size: .9375rem; color: #374151; line-height: 1.8; }
.md-tax-seo-content h2, .md-tax-seo-content h3 { color: #111827; font-weight: 700; margin: 0 0 10px; }
.md-tax-seo-content p { margin: 0 0 14px; }
.md-tax-seo-content p:last-child { margin-bottom: 0; }

/* FAQ section */
.md-tax-faqs { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 24px 28px; }
.md-tax-faqs-title { font-size: 1rem; font-weight: 700; color: #111827; margin: 0 0 16px; }
.md-tax-faq { border-bottom: 1px solid #f3f4f6; }
.md-tax-faq:last-child { border-bottom: none; }
.md-tax-faq-q { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 0; font-size: .9375rem; font-weight: 600; color: #111827; cursor: pointer; list-style: none; user-select: none; }
.md-tax-faq-q::-webkit-details-marker { display: none; }
.md-tax-faq-q svg { color: #9ca3af; flex-shrink: 0; transition: transform .2s; }
details[open] .md-tax-faq-q svg { transform: rotate(180deg); }
.md-tax-faq-a { padding: 0 0 14px; font-size: .9375rem; color: #6b7280; line-height: 1.7; }
.md-tax-disclaimer { font-size: .8125rem; color: #9ca3af; line-height: 1.6; margin: 0; }

/* Sidebar */
.md-tax-sidebar { position: relative; }
.md-tax-sidebar-sticky { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 16px; }
.md-tax-sidebar-widget { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; padding: 18px 20px; }
.md-tax-sidebar-title { font-size: .9375rem; font-weight: 700; color: #111827; margin: 0 0 12px; }
.md-tax-select { width: 100%; padding: 9px 12px; border: 1.5px solid #d1d5db; border-radius: 8px; font-size: .875rem; font-family: inherit; color: #374151; background: #fff; margin-bottom: 8px; }
.md-tax-select:focus { border-color: #374151; outline: none; }
.md-tax-filter-btn { width: 100%; padding: 9px; background: #111827; color: #fff; border: none; border-radius: 8px; font-size: .875rem; font-weight: 700; font-family: inherit; cursor: pointer; }
.md-tax-filter-btn:hover { background: #374151; }
.md-tax-sidebar-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0; }
.md-tax-sidebar-links li { border-bottom: 1px solid #f3f4f6; }
.md-tax-sidebar-links li:last-child { border-bottom: none; }
.md-tax-sidebar-links a { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; font-size: .875rem; color: #374151; text-decoration: none; transition: color .15s; }
.md-tax-sidebar-links a:hover { color: #111827; }
.md-tax-active-link { color: #1d4ed8 !important; font-weight: 700; }
.md-tax-sidebar-count { font-size: .75rem; color: #9ca3af; background: #f3f4f6; padding: 1px 6px; border-radius: 9999px; }
.md-tax-sidebar-cta { background: linear-gradient(135deg, #eff6ff, #dbeafe); border: 1px solid #bfdbfe; border-radius: 12px; padding: 20px; text-align: center; }
.md-tax-sidebar-cta h3 { font-size: .9375rem; font-weight: 700; color: #1e40af; margin: 0 0 6px; }
.md-tax-sidebar-cta p { font-size: .8125rem; color: #4b5563; margin: 0 0 12px; }
.md-tax-cta-btn { display: block; padding: 9px 16px; background: #1d4ed8; color: #fff; border-radius: 8px; font-size: .875rem; font-weight: 700; text-decoration: none; }
.md-tax-cta-btn:hover { background: #1e40af; }

/* ── Provider Reply form on listing page ── */
.md-sl-reply-form-wrap { margin-top: 12px; }
.md-sl-reply-toggle > summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; font-size: .8125rem; font-weight: 600; color: #6b7280; padding: 5px 0; }
.md-sl-reply-toggle > summary::-webkit-details-marker { display: none; }
.md-sl-reply-toggle > summary:hover { color: #374151; }
.md-sl-reply-form-inner { margin-top: 10px; display: flex; flex-direction: column; gap: 8px; }
.md-sl-reply-textarea { width: 100%; padding: 10px 12px; border: 1.5px solid #d1d5db; border-radius: 8px; font-size: .875rem; font-family: inherit; resize: vertical; min-height: 80px; }
.md-sl-reply-textarea:focus { border-color: #374151; outline: none; box-shadow: 0 0 0 3px rgba(55,65,81,.1); }
.md-sl-reply-submit { align-self: flex-start; padding: 8px 18px; background: #374151; color: #fff; border: none; border-radius: 7px; font-size: .875rem; font-weight: 700; font-family: inherit; cursor: pointer; }
.md-sl-reply-submit:hover { background: #111827; }
.md-sl-reply-msg { font-size: .8125rem; font-weight: 600; }

/* ── Stat Pills (updated hero stats — replaces md-sl-stat) ── */
.md-sl-stats-row { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.md-sl-stat-pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 12px; background: #f9fafb;
	border: 1px solid #e5e7eb; border-radius: 9999px;
	font-size: .8125rem; color: #374151;
}
.md-sl-stat-pill svg { color: #9ca3af; flex-shrink: 0; }
.md-sl-stat-pill strong { font-weight: 700; color: #111827; }
.md-sl-stat-pill-tele {
	background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8;
	font-weight: 600;
}
.md-sl-stat-pill-tele svg { color: #3b82f6; }
.md-sl-stat-pill-acc {
	background: #f0fdf4; border-color: #bbf7d0; color: #15803d;
	font-weight: 600;
}
.md-sl-stat-pill-acc svg { color: #16a34a; }

/* ── Pros & Cons Section ── */
.md-sl-pros-cons-section { }
.md-sl-pros-cons-grid {
	display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
}
@media(max-width: 600px) { .md-sl-pros-cons-grid { grid-template-columns: 1fr; } }
.md-sl-pros, .md-sl-cons {
	border-radius: 10px; overflow: hidden; border: 1px solid #e5e7eb;
}
.md-sl-pc-header {
	display: flex; align-items: center; gap: 7px;
	padding: 10px 14px; font-size: .875rem; font-weight: 700;
}
.md-sl-pros-header { background: #f0fdf4; color: #15803d; border-bottom: 1px solid #bbf7d0; }
.md-sl-pros-header svg { color: #16a34a; }
.md-sl-cons-header { background: #fef2f2; color: #991b1b; border-bottom: 1px solid #fecaca; }
.md-sl-cons-header svg { color: #dc2626; }
.md-sl-pc-list { list-style: none; margin: 0; padding: 0; }
.md-sl-pc-pro, .md-sl-pc-con {
	display: flex; align-items: flex-start; gap: 10px;
	padding: 10px 14px; font-size: .875rem; color: #374151;
	border-bottom: 1px solid #f9fafb; line-height: 1.5;
}
.md-sl-pc-pro:last-child, .md-sl-pc-con:last-child { border-bottom: none; }
.md-sl-pc-icon {
	display: flex; align-items: center; justify-content: center;
	width: 20px; height: 20px; border-radius: 50%;
	font-size: .875rem; font-weight: 800; flex-shrink: 0; margin-top: 1px;
}
.md-sl-pro-icon { background: #dcfce7; color: #15803d; }
.md-sl-con-icon { background: #fee2e2; color: #dc2626; }

/* ═══════════════════════════════════════════════════════════
   REVIEWS SYSTEM — Complete UI
   ═══════════════════════════════════════════════════════════ */

/* Section header */
.md-rv-section { padding: 24px 28px; }
.md-rv-section-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.md-rv-section-title { display: flex; align-items: center; gap: 8px; font-size: 1.0625rem; font-weight: 700; color: #111827; margin: 0; }
.md-rv-total-badge { background: #f3f4f6; color: #374151; font-size: .75rem; font-weight: 700; padding: 2px 8px; border-radius: 9999px; }

/* Sort */
.md-rv-sort-wrap { display: flex; align-items: center; gap: 8px; }
.md-rv-sort-label { font-size: .8125rem; color: #6b7280; font-weight: 500; }
.md-rv-sort-select { padding: 6px 10px; border: 1.5px solid #d1d5db; border-radius: 8px; font-size: .8125rem; font-family: inherit; background: #fff; cursor: pointer; }
.md-rv-sort-select:focus { border-color: #374151; outline: none; }

/* Rating overview */
.md-rv-overview { display: grid; grid-template-columns: auto 1fr; gap: 20px 28px; margin-bottom: 24px; background: #f9fafb; border-radius: 12px; padding: 20px; border: 1px solid #f3f4f6; }
@media(max-width:600px){ .md-rv-overview { grid-template-columns: 1fr; } }

/* Big score */
.md-rv-score-block { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.md-rv-big-score { font-size: 3.5rem; font-weight: 900; color: #111827; line-height: 1; letter-spacing: -.04em; }
.md-rv-big-stars { display: flex; gap: 2px; }
.md-rv-big-count { font-size: .875rem; color: #6b7280; }
.md-rv-rec-summary { font-size: .75rem; color: #9ca3af; max-width: 140px; text-align: center; line-height: 1.4; }

/* Stars */
.md-rv-star { width: 16px; height: 16px; flex-shrink: 0; }
.md-rv-star-on  { color: #fbbf24; fill: #fbbf24; }
.md-rv-star-off { color: #e5e7eb; fill: #e5e7eb; }

/* Breakdown bars */
.md-rv-breakdown-bars { display: flex; flex-direction: column; gap: 6px; justify-content: center; }
.md-rv-bar-row { display: flex; align-items: center; gap: 8px; }
.md-rv-bar-lbl { font-size: .8125rem; color: #374151; min-width: 24px; text-align: right; font-weight: 500; }
.md-rv-bar-track { flex: 1; height: 8px; background: #e5e7eb; border-radius: 9999px; overflow: hidden; }
.md-rv-bar-fill { height: 100%; background: #fbbf24; border-radius: 9999px; transition: width .4s ease; }
.md-rv-bar-cnt { font-size: .8125rem; color: #9ca3af; min-width: 16px; }

/* Sub-ratings */
.md-rv-sub-ratings { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 8px; padding-top: 14px; border-top: 1px solid #e5e7eb; }
.md-rv-sub-row { display: flex; align-items: center; gap: 8px; font-size: .8125rem; }
.md-rv-sub-label { color: #6b7280; min-width: 100px; }
.md-rv-sub-bar-track { flex: 1; height: 5px; background: #e5e7eb; border-radius: 9999px; overflow: hidden; }
.md-rv-sub-bar-fill { height: 100%; background: #3b82f6; border-radius: 9999px; }
.md-rv-sub-val { font-weight: 700; color: #111827; min-width: 24px; }

/* Insights */
.md-rv-insights { background: linear-gradient(135deg, #f0fdf4, #eff6ff); border: 1px solid #bbf7d0; border-radius: 10px; padding: 14px 18px; margin-bottom: 20px; }
.md-rv-insights-title { font-size: .75rem; font-weight: 700; color: #059669; text-transform: uppercase; letter-spacing: .07em; margin-bottom: 8px; }
.md-rv-insights-body { display: flex; flex-direction: column; gap: 6px; }
.md-rv-insight-pos, .md-rv-insight-neg { display: flex; align-items: flex-start; gap: 7px; font-size: .875rem; color: #374151; line-height: 1.5; }
.md-rv-insight-pos svg { color: #059669; flex-shrink: 0; margin-top: 2px; }
.md-rv-insight-neg svg { color: #d97706; flex-shrink: 0; margin-top: 2px; }

/* Review card */
.md-rv-card { border-bottom: 1px solid #f3f4f6; padding: 20px 0; }
.md-rv-card:first-child { padding-top: 0; }
.md-rv-card:last-child { border-bottom: none; }
.md-rv-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; }
.md-rv-author-info { display: flex; align-items: flex-start; gap: 10px; flex: 1; min-width: 0; }
.md-rv-avatar { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, #1d4ed8, #3b82f6); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .9375rem; flex-shrink: 0; }
.md-rv-author-name { font-size: .9375rem; font-weight: 700; color: #111827; display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 3px; }
.md-rv-verified-badge { display: inline-flex; align-items: center; gap: 3px; background: #dcfce7; color: #166534; font-size: .6875rem; font-weight: 700; padding: 2px 8px; border-radius: 9999px; }
.md-rv-meta-row { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; font-size: .8125rem; color: #6b7280; }
.md-rv-meta-tag { background: #f3f4f6; color: #374151; padding: 1px 8px; border-radius: 9999px; font-size: .75rem; font-weight: 500; }
.md-rv-meta-sep { color: #d1d5db; }
.md-rv-first-visit { color: #7c3aed; font-size: .75rem; font-weight: 600; }

/* Rating block */
.md-rv-rating-block { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex-shrink: 0; }
.md-rv-stars { display: flex; gap: 1px; }
.md-rv-date { font-size: .8125rem; color: #9ca3af; }

/* Review content */
.md-rv-title { font-size: 1rem; font-weight: 700; color: #111827; margin-bottom: 6px; }
.md-rv-body { font-size: .9375rem; color: #374151; line-height: 1.7; white-space: pre-line; }

/* Pros/cons badges */
.md-rv-pros-cons { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.md-rv-pros-group, .md-rv-cons-group { display: flex; flex-wrap: wrap; gap: 6px; }
.md-rv-pro-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; border-radius: 9999px; font-size: .8125rem; font-weight: 500; }
.md-rv-pro-badge svg { color: #16a34a; }
.md-rv-con-badge { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; border-radius: 9999px; font-size: .8125rem; font-weight: 500; }
.md-rv-con-badge svg { color: #dc2626; }

/* Recommend */
.md-rv-recommend { margin-top: 10px; font-size: .875rem; font-weight: 600; }
.md-rv-rec-yes { color: #059669; }
.md-rv-rec-no  { color: #dc2626; }

/* Provider reply */
.md-rv-reply { background: #f9fafb; border-left: 3px solid #d1d5db; padding: 10px 14px; margin-top: 12px; border-radius: 0 8px 8px 0; }
.md-rv-reply-label { display: flex; align-items: center; gap: 5px; font-size: .75rem; font-weight: 700; color: #6b7280; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 5px; }
.md-rv-reply-text { font-size: .875rem; color: #374151; line-height: 1.6; }

/* Card footer */
.md-rv-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; padding-top: 10px; border-top: 1px solid #f9fafb; }
.md-rv-helpful { display: flex; align-items: center; gap: 8px; }
.md-rv-helpful-label { font-size: .8125rem; color: #9ca3af; }
.md-rv-helpful-btn { display: inline-flex; align-items: center; gap: 4px; padding: 4px 10px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 9999px; font-size: .8125rem; color: #374151; cursor: pointer; font-family: inherit; transition: all .15s; }
.md-rv-helpful-btn:hover { background: #f3f4f6; border-color: #d1d5db; }
.md-rv-helpful-btn.voted-yes { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.md-rv-helpful-btn.voted-no  { background: #fef2f2; color: #dc2626; border-color: #fecaca; }
.md-rv-helpful-btn svg { color: inherit; }
.md-rv-report-btn { background: none; border: none; font-size: .8125rem; color: #d1d5db; cursor: pointer; padding: 4px; font-family: inherit; }
.md-rv-report-btn:hover { color: #dc2626; }

/* Empty state */
.md-rv-empty { text-align: center; padding: 32px 20px; }
.md-rv-empty svg { margin-bottom: 12px; opacity: .4; }
.md-rv-empty h3 { font-size: 1rem; font-weight: 700; color: #374151; margin: 0 0 6px; }
.md-rv-empty p { font-size: .9375rem; color: #6b7280; margin: 0; }

/* Load more */
.md-rv-load-more-wrap { text-align: center; margin: 16px 0; }
.md-rv-load-more { padding: 10px 24px; background: #fff; border: 1.5px solid #d1d5db; border-radius: 9px; font-size: .9rem; font-weight: 600; color: #374151; cursor: pointer; font-family: inherit; transition: all .15s; }
.md-rv-load-more:hover { background: #f9fafb; border-color: #9ca3af; }

/* ── Write a Review Form ── */
.md-rv-write-section { margin-top: 28px; padding-top: 24px; border-top: 2px solid #f3f4f6; }
.md-rv-write-header { margin-bottom: 20px; }
.md-rv-write-title { font-size: 1.0625rem; font-weight: 700; color: #111827; margin: 0 0 5px; }
.md-rv-write-sub { font-size: .875rem; color: #6b7280; margin: 0; line-height: 1.5; }
.md-rv-form { display: flex; flex-direction: column; gap: 16px; }
.md-rv-field { display: flex; flex-direction: column; gap: 5px; }
.md-rv-field-label { font-size: .875rem; font-weight: 600; color: #374151; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 4px; }
.md-rv-req { color: #ef4444; }
.md-rv-note { font-size: .8125rem; font-weight: 400; color: #9ca3af; }
.md-rv-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media(max-width:560px){ .md-rv-field-row { grid-template-columns: 1fr; } }
.md-rv-input, .md-rv-select, .md-rv-textarea { padding: 10px 14px; border: 1.5px solid #d1d5db; border-radius: 9px; font-size: .9375rem; font-family: inherit; color: #111827; background: #fff; transition: border-color .15s, box-shadow .15s; width: 100%; }
.md-rv-input:focus, .md-rv-select:focus, .md-rv-textarea:focus { border-color: #374151; box-shadow: 0 0 0 3px rgba(55,65,81,.08); outline: none; }
.md-rv-textarea { resize: vertical; min-height: 120px; line-height: 1.6; }
.md-rv-select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236B7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E") right 10px center / 18px no-repeat; padding-right: 36px; }
.md-rv-hint { font-size: .8125rem; color: #9ca3af; line-height: 1.5; }

/* Star picker */
.md-rv-field-stars { }
.md-rv-star-picker { display: flex; flex-direction: row-reverse; width: fit-content; gap: 2px; margin: 4px 0; }
.md-rv-star-radio { display: none; }
.md-rv-star-pick-lbl { font-size: 2.25rem; color: #e5e7eb; cursor: pointer; transition: color .1s; line-height: 1; }
.md-rv-star-picker .md-rv-star-pick-lbl:hover,
.md-rv-star-picker .md-rv-star-pick-lbl:hover ~ .md-rv-star-pick-lbl,
.md-rv-star-picker .md-rv-star-radio:checked ~ .md-rv-star-pick-lbl { color: #fbbf24; }
.md-rv-rating-hint { font-size: .8125rem; color: #6b7280; height: 18px; }

/* Sub-star ratings */
.md-rv-sub-fields { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; background: #f9fafb; border: 1px solid #f3f4f6; border-radius: 10px; padding: 14px; }
.md-rv-sub-field { display: flex; flex-direction: column; gap: 5px; }
.md-rv-sub-label { font-size: .8125rem; font-weight: 600; color: #374151; }
.md-rv-sub-stars { display: flex; gap: 3px; }
.md-rv-sub-star { font-size: 1.25rem; color: #e5e7eb; cursor: pointer; transition: color .1s; user-select: none; }
.md-rv-sub-star.active { color: #fbbf24; }
.md-rv-sub-star:hover { color: #fbbf24; }

/* Tag picker (pros/cons) */
.md-rv-tag-picker { display: flex; flex-wrap: wrap; gap: 8px; }
.md-rv-tag-opt { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1.5px solid #e5e7eb; border-radius: 9999px; font-size: .8125rem; cursor: pointer; transition: all .15s; user-select: none; background: #fff; color: #374151; font-family: inherit; }
.md-rv-tag-opt .md-rv-tag-cb { display: none; }
.md-rv-tag-opt svg { opacity: .4; transition: opacity .15s; }
.md-rv-tag-pro-opt:has(.md-rv-tag-cb:checked) { background: #f0fdf4; border-color: #86efac; color: #166534; }
.md-rv-tag-pro-opt:has(.md-rv-tag-cb:checked) svg { opacity: 1; color: #16a34a; }
.md-rv-tag-con-opt:has(.md-rv-tag-cb:checked) { background: #fef2f2; border-color: #fca5a5; color: #991b1b; }
.md-rv-tag-con-opt:has(.md-rv-tag-cb:checked) svg { opacity: 1; color: #dc2626; }

/* Word count */
.md-rv-word-count { font-size: .8125rem; font-weight: 600; color: #9ca3af; }
.md-rv-word-count.good { color: #059669; }

/* Checkbox field */
.md-rv-checkbox-field { flex-direction: row; align-items: center; }
.md-rv-checkbox-label { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: #374151; cursor: pointer; }
.md-rv-checkbox { width: 16px; height: 16px; cursor: pointer; accent-color: #111827; }

/* Disclaimer */
.md-rv-disclaimer { display: flex; align-items: flex-start; gap: 7px; font-size: .8125rem; color: #9ca3af; line-height: 1.5; padding: 10px 14px; background: #f9fafb; border-radius: 8px; }
.md-rv-disclaimer svg { flex-shrink: 0; color: #9ca3af; margin-top: 1px; }

/* Submit button */
.md-rv-submit-btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 28px; background: #111827; color: #fff; border: none; border-radius: 10px; font-size: .9375rem; font-weight: 700; font-family: inherit; cursor: pointer; transition: background .15s; }
.md-rv-submit-btn:hover { background: #374151; }

/* Login prompt */
.md-rv-login-prompt { display: flex; align-items: center; gap: 14px; padding: 20px; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 12px; flex-wrap: wrap; }
.md-rv-login-prompt svg { color: #9ca3af; flex-shrink: 0; }
.md-rv-login-title { font-size: .9375rem; font-weight: 700; color: #111827; margin-bottom: 2px; }
.md-rv-login-sub { font-size: .875rem; color: #6b7280; }
.md-rv-login-prompt .md-rv-submit-btn { margin-left: auto; flex-shrink: 0; }

/* Review response message */
#md-review-response:not(:empty) { padding: 12px 16px; border-radius: 9px; font-size: .9rem; font-weight: 500; }
#md-review-response.success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
#md-review-response.error   { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }

/* ── Emergency Services tags ── */
.md-sl-emergency-section .md-sl-section-title svg { color: #dc2626; }
.md-sl-emergency-tag {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 12px; background: #fef2f2;
  border: 1.5px solid #fca5a5; border-radius: 9999px;
  font-size: .8125rem; font-weight: 600; color: #dc2626;
  text-decoration: none; margin: 2px;
  transition: background .15s;
}
.md-sl-emergency-tag:hover { background: #fee2e2; color: #991b1b; }
.md-sl-emergency-tag svg { flex-shrink: 0; }
