@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

/* =====================================================================
   LiveLong — AI Health Assistant home. All scoped under .ll
   ===================================================================== */
.ll {
  --blue: #2563eb;
  --blue-d: #1d4ed8;
  --blue-l: #eaf0ff;
  --ink: #16233d;
  --slate: #5b6b8c;
  --muted: #8a98b5;
  --line: #e7ecf6;
  --bg: #f7f9fe;
  --card: #ffffff;
  --radius: 18px;
  font-family: 'Plus Jakarta Sans', 'Poppins', system-ui, sans-serif;
  color: var(--ink);
  background:
    radial-gradient(1100px 560px at 82% -8%, #e9f1ff 0%, rgba(233,241,255,0) 55%),
    radial-gradient(820px 460px at -2% 2%, #f1edff 0%, rgba(241,237,255,0) 50%),
    var(--bg);
  line-height: 1.5;
  /* Clip (not hidden) horizontal overflow: same visual effect — no sideways
     scrollbar from full-bleed glows — but, unlike `hidden`, it does NOT turn
     this wrapper into a scroll container, which would break `position: sticky`
     descendants (e.g. the Doctors filter sidebar) by scoping them to .ll
     instead of the viewport. */
  overflow-x: clip;
}

.ll *, .ll *::before, .ll *::after { box-sizing: border-box; }
.ll p { font-size: 15px !important; line-height: 1.6; margin: 0; }
.ll h1, .ll h2, .ll h3, .ll h4 { margin: 0; color: var(--ink); font-weight: 700; line-height: 1.18; }
.ll a { color: inherit; text-decoration: none; }
.ll a:hover { color: var(--blue); }
.ll img { max-width: 100%; display: block; }
.ll button { font-family: inherit; cursor: pointer; }
.ll ul { list-style: none; margin: 0; padding: 0; }

/* Fluid, full-width container (Bootstrap container-fluid style): sections span
   the whole viewport with generous gutters that scale up on wider screens. */
.ll-container { width: 100%; max-width: 100%; margin: 0 auto; padding: 0 clamp(24px, 5vw, 120px); }

/* ---- Brand / logo ---- */
.ll-logo-img { height: 38px; width: auto; display: block; }
.ll-footer .ll-logo-img { height: 36px; }
.ll-logo { display: inline-flex; align-items: center; gap: 10px; }
.ll-logo-mark {
  width: 38px; height: 38px; border-radius: 11px;
  background: linear-gradient(135deg, #3b82f6, #2563eb);
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 16px -6px rgba(37,99,235,.6);
}
.ll-logo-mark svg { width: 24px; height: 24px; }
.ll-logo-text { font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); }

/* ===================== HEADER ===================== */
.ll-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.ll-header.is-stuck { box-shadow: 0 8px 24px -16px rgba(22,35,61,.4); }
.ll-header-inner { display: flex; align-items: center; justify-content: space-between; height: 74px; gap: 18px; }
.ll-nav { display: flex; align-items: center; gap: 4px; }
.ll-nav-link {
  font-size: 14.5px; font-weight: 500; color: #46557a;
  padding: 8px 14px; border-radius: 9px; transition: all .2s ease; white-space: nowrap;
}
.ll-nav-link:hover { background: var(--blue-l); color: var(--blue); }
.ll-nav-link.is-active { background: var(--blue-l); color: var(--blue); font-weight: 600; }
.ll-nav-link .fa-chevron-down { font-size: 10px; margin-left: 2px; opacity: .6; }
.ll-header-actions { display: flex; align-items: center; gap: 14px; }
.ll-burger { display: none; width: 42px; height: 42px; border-radius: 12px; border: 1px solid var(--line); background: #fff; color: var(--ink); align-items: center; justify-content: center; }

/* ---- Buttons ---- */
.ll-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-size: 14px; font-weight: 600; border-radius: 11px; padding: 11px 20px;
  transition: all .22s ease; border: 1px solid transparent; white-space: nowrap;
}
.ll-btn-signin {
  background: linear-gradient(135deg, #eef4ff, #e3ecff); color: var(--blue);
  border: 1px solid #d3e0ff;
}
.ll-btn-signin:hover { background: linear-gradient(135deg, #3b82f6, #2563eb); color: #fff; box-shadow: 0 12px 22px -10px rgba(37,99,235,.8); }
.ll-btn-primary { background: linear-gradient(135deg, #3b82f6, #2563eb); color: #fff; box-shadow: 0 10px 20px -10px rgba(37,99,235,.7); }
.ll-btn-primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 16px 26px -10px rgba(37,99,235,.85); }
.ll-btn-ghost { background: #fff; color: var(--blue); border: 1px solid #d3e0ff; }
.ll-btn-ghost:hover { background: var(--blue-l); color: var(--blue); transform: translateY(-2px); }
.ll-btn-lg { padding: 13px 26px; font-size: 14.5px; }

/* ===================== HERO ===================== */
.ll-hero { position: relative; padding: 46px 0 22px; overflow: hidden; }
.ll-blob { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .35; z-index: 0; }
.ll-blob-1 { width: 400px; height: 400px; background: #c7dbff; top: -130px; right: -90px; }
.ll-blob-2 { width: 340px; height: 340px; background: #e8def9; bottom: -170px; left: -110px; }
.ll-hero-grid {
  position: relative; z-index: 1;
  display: grid; grid-template-columns: 1.15fr 1fr 0.9fr; gap: 22px; align-items: center;
}
.ll-badge {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--blue);
  background: var(--blue-l); padding: 7px 14px; border-radius: 30px; margin-bottom: 18px;
}
.ll-hero-title { font-size: 44px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
.ll-grad { background: linear-gradient(120deg, #3b82f6, #6366f1); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ll-hero-sub { color: var(--slate); margin: 16px 0 24px !important; font-size: 16px !important; max-width: 420px; }

/* Robot */
.ll-hero-center { display: flex; justify-content: center; }
/* ===== Layered, animated robot — pure inline SVG (vector, per storyboard) =====
   Each layer animates on its own: robot hovers, the 3 platform rings each
   float + flow (rotate), orbit rings rotate, beam pulses, sparkles twinkle,
   icon cards float. No image overlapping — everything is vector. */
.ll-robot-stage { position: relative; width: 100%; max-width: 470px; margin: 0 auto; }
.ll-robot-svg { width: 100%; height: auto; display: block; overflow: visible; }

/* every animated SVG part rotates/translates about its own centre */
.ll-svg-robot, .ll-svg-platform, .ll-ring, .ll-svg-orbit, .ll-svg-beam,
.ll-svg-glow, .ll-svg-center, .ll-spk, .ll-svg-card {
  transform-box: fill-box; transform-origin: center;
}
.ll-svg-glow   { animation: llPulseGlow 5s ease-in-out infinite; }
.ll-svg-robot  { animation: llBob 5s ease-in-out infinite; }
.ll-svg-beam   { transform-origin: center bottom; animation: llBeam 3.2s ease-in-out infinite; }
.ll-svg-center { animation: llPulseGlow 2.6s ease-in-out infinite; }

/* orbit rings rotate (opposite directions) */
.ll-svg-orbit-1 { animation: llRotate 26s linear infinite; }
.ll-svg-orbit-2 { animation: llRotate 20s linear infinite reverse; }

/* platform rings: each floats on its own; a bright highlight flows around
   (reads as rotation) while the solid base ring stays visible */
.ll-ring-1 { animation: llRingA 5s ease-in-out infinite; }
.ll-ring-2 { animation: llRingB 4.2s ease-in-out infinite; }
.ll-ring-3 { animation: llRingC 3.4s ease-in-out infinite; }
.ll-ring-1 .ll-flow { animation: llDash 4.5s linear infinite; }
.ll-ring-2 .ll-flow { animation: llDash 3.4s linear infinite reverse; }
.ll-ring-3 .ll-flow { animation: llDash 2.6s linear infinite; }

/* sparkles + icon cards */
.ll-spk      { animation: llTwinkle 2.6s ease-in-out infinite; animation-delay: var(--d, 0s); }
.ll-svg-card { animation: llFloat 4s ease-in-out infinite; animation-delay: var(--d, 0s); }

/* Health Simplified card */
.ll-hs-card { background: var(--card); border: 1px solid var(--line); border-radius: 20px; padding: 22px; box-shadow: 0 30px 60px -40px rgba(37,99,235,.5); }
.ll-hs-head { display: flex; gap: 13px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--line); margin-bottom: 8px; }
.ll-hs-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--blue-l); color: var(--blue); display: flex; align-items: center; justify-content: center; flex: none; }
.ll-hs-ico svg { width: 24px; height: 24px; display: block; }
.ll-hs-head h3 { font-size: 16.5px; font-weight: 700; }
.ll-hs-head p { color: var(--muted); font-size: 12.5px !important; margin-top: 2px !important; }
.ll-hs-list li { list-style: none; }
.ll-hs-row { display: flex; align-items: center; gap: 14px; padding: 13px 8px; border-radius: 13px; transition: background .2s ease; cursor: pointer; color: inherit; }
.ll-hs-row:hover { background: #f6f9ff; color: inherit; }
.ll-art-ph { position: absolute; inset: 0; background: linear-gradient(135deg, #dbe7ff, #e9e2ff); }
/* Consistent icon wells — all 54px, glyph centred vertically + horizontally. */
.ll-hs-i { width: 54px; height: 54px; border-radius: 14px; display: flex; align-items: center; justify-content: center; flex: none; }
.ll-hs-i svg, .ll-hs-i img { width: 30px; height: 30px; object-fit: contain; display: block; }
.ll-hs-i.b-blue   { background: #e8f0ff; color: #2563eb; }
.ll-hs-i.b-green  { background: #e3f7ee; color: #10b981; }
.ll-hs-i.b-purple { background: #efe9ff; color: #7c3aed; }
.ll-hs-i.b-amber  { background: #fff1de; color: #f97316; }
.ll-hs-txt { display: flex; flex-direction: column; flex: 1; }
.ll-hs-txt strong { font-size: 14.5px; font-weight: 700; color: var(--ink); }
.ll-hs-txt small { font-size: 12px; color: var(--muted); margin-top: 2px; }
.ll-hs-arr { color: #c3cee2; display: flex; align-items: center; flex: none; }
.ll-hs-arr svg { width: 13px; height: 13px; display: block; }
.b-blue { background: #e8f0ff; color: #2563eb; }
.b-green { background: #e3f7ee; color: #10b981; }
.b-purple { background: #efe9ff; color: #8b5cf6; }
.b-amber { background: #fff1de; color: #f59e0b; }

/* Try asking */
.ll-try { position: relative; z-index: 1; margin-top: 26px; }
.ll-try-card {
  background: linear-gradient(180deg, #fdfdff 0%, #f9f8fe 100%);
  border: 1px solid #edeef6; border-radius: 26px;
  padding: 26px 24px 28px;
  box-shadow: 0 30px 60px -45px rgba(60,70,120,.35);
}
.ll-try-label { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.ll-try-label span { font-size: 21px; font-weight: 700; color: #1d2742; letter-spacing: -.01em; }
.ll-try-spark { width: 26px; height: 26px; color: var(--blue); flex: none; }
.ll-try-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.ll-chip {
  display: flex; align-items: center; gap: 9px;
  background: #fff; border: 1px solid #edeef6; border-radius: 14px;
  padding: 9px 12px 9px 9px;
  box-shadow: 0 18px 30px -26px rgba(60,70,120,.45);
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.ll-chip:hover { border-color: #c9d6ff; box-shadow: 0 18px 30px -20px rgba(37,99,235,.45); transform: translateY(-2px); }
.ll-chip-i { width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; flex: none; }
.ll-chip-i svg, .ll-chip-i img { width: 23px; height: 23px; display: block; }
.ll-chip-i.c-p { background: #f1ecfb; color: #7b61e8; }
.ll-chip-i.c-g { background: #e9f6ec; color: #3da35a; }
.ll-chip-txt { font-size: 13.5px; font-weight: 500; color: #3c4866; line-height: 1.28; max-width: 106px; }
.ll-chip-more { padding: 9px 13px; }
.ll-chip-more .ll-chip-txt { font-weight: 700; color: #26324e; max-width: none; white-space: nowrap; }
.ll-chip-arrow { width: 30px; height: 30px; flex: none; }
.ll-chip-arrow svg { width: 30px; height: 30px; color: var(--blue); display: block; }
.ll-try-note { text-align: center; color: var(--muted); font-size: 12.5px !important; margin-top: 26px !important; }

/* ===================== SECTION HEADERS ===================== */
.ll-sec-head { text-align: center; max-width: 640px; margin: 0 auto 30px; }
.ll-eyebrow { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--blue); background: var(--blue-l); padding: 6px 14px; border-radius: 30px; margin-bottom: 14px; }
.ll-sec-head h2 { font-size: 33px; font-weight: 800; letter-spacing: -.02em; }
.ll-sec-head p { color: var(--slate); margin-top: 12px !important; }

/* ===================== SPECIALISTS ===================== */
.ll-spec { padding: 56px 0; }
.ll-tabs { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 26px; flex-wrap: wrap; }
.ll-tabs-list { display: flex; gap: 10px; flex-wrap: wrap; }
.ll-tab {
  display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border-radius: 30px;
  background: #fff; border: 1px solid var(--line); font-size: 13.5px; font-weight: 600; color: #46557a; transition: all .2s ease;
}
.ll-tab i { font-size: 12px; opacity: .8; }
.ll-tab:hover { border-color: #bcd0ff; color: var(--blue); }
.ll-tab.is-active { background: linear-gradient(135deg,#3b82f6,#2563eb); border-color: transparent; color: #fff; box-shadow: 0 12px 22px -12px rgba(37,99,235,.8); }
.ll-viewall { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 600; color: var(--blue); }
.ll-viewall:hover { gap: 11px; }

.ll-spec-row { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1.08fr); gap: 20px; align-items: stretch; }
.ll-doc-slider { overflow: hidden; }
.ll-doc-track { display: flex; gap: 18px; transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.ll-doc { flex: 0 0 auto; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; display: flex; flex-direction: column; }
.ll-doc.is-hidden { display: none; }
.ll-doc:hover { transform: translateY(-6px); box-shadow: 0 28px 50px -30px rgba(37,99,235,.55); }
.ll-doc-photo { position: relative; aspect-ratio: 4 / 3; background: #dce6f7; }
.ll-doc-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ll-doc-noimg { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 46px; color: #9db4d8; background: linear-gradient(135deg,#e7eefb,#dce6f7); }
.ll-doc-clinic { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--slate); margin-top: 7px; }
.ll-doc-clinic .fa-hospital { color: var(--blue); font-size: 12px; }
.ll-doc-fee { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--ink); font-weight: 600; margin-top: 8px; background: #f4f7fe; padding: 7px 10px; border-radius: 9px; }
.ll-doc-fee .fa-indian-rupee-sign { color: #10b981; font-size: 12px; }
.ll-doc-match { position: absolute; top: 12px; left: 12px; background: rgba(16,185,129,.95); color: #fff; font-size: 11px; font-weight: 700; padding: 5px 10px; border-radius: 20px; }
.ll-doc-fav { position: absolute; top: 10px; right: 10px; width: 32px; height: 32px; border-radius: 50%; background: rgba(255,255,255,.92); border: none; color: #ef4f8b; font-size: 13px; display: flex; align-items: center; justify-content: center; }
.ll-doc-fav:hover { background: #fff; }
.ll-doc-body { padding: 15px 16px 17px; flex: 1; display: flex; flex-direction: column; }
.ll-doc-name { font-size: 16px; font-weight: 700; display: flex; align-items: center; gap: 6px; }
.ll-doc-name .fa-circle-check { color: var(--blue); font-size: 14px; }
.ll-doc-spec { color: var(--blue); font-size: 13px; font-weight: 600; margin-top: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ll-doc-about { color: var(--slate); font-size: 12.5px; line-height: 1.5; margin-top: 6px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ll-doc-exp { color: var(--muted); font-size: 12.5px; margin-top: 6px; }
.ll-doc-rate { display: flex; align-items: center; gap: 5px; font-size: 13px; margin-top: 9px; }
.ll-doc-rate .fa-star { color: #f59e0b; font-size: 12px; }
.ll-doc-rate strong { font-weight: 700; }
.ll-doc-rate span { color: var(--muted); }
.ll-doc-loc { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--slate); margin-top: 9px; }
.ll-doc-loc .fa-location-dot { color: #ef4f8b; font-size: 12px; }
.ll-doc-km { margin-left: auto; color: var(--muted); font-weight: 600; }
.ll-doc-avail { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: #10b981; font-weight: 600; margin-top: 9px; background: #eafaf3; padding: 8px 10px; border-radius: 9px; }
.ll-doc-avail span { color: var(--ink); }
.ll-doc-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: auto; padding-top: 14px; }
.ll-doc-actions .ll-btn { padding: 9px 8px; font-size: 12.5px; }

/* Map card */
.ll-map-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; display: flex; flex-direction: column; }
.ll-map-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.ll-map-head strong { font-size: 14.5px; }
.ll-map-head a { font-size: 12px; font-weight: 600; color: var(--blue); display: inline-flex; gap: 5px; align-items: center; }
.ll-map { position: relative; flex: 1; min-height: 290px; height: 290px; border-radius: 12px; overflow: hidden; background: #eef4ff; z-index: 0; }
.ll-map.leaflet-container { font-family: inherit; background: #eef4ff; }
.ll-map .leaflet-control-attribution { font-size: 9px; }
/* Doctor markers */
.ll-map-marker span {
  width: 34px; height: 34px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg);
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 13px;
  border: 2px solid #fff; box-shadow: 0 6px 12px -4px rgba(0,0,0,.45);
}
.ll-map-marker span i { transform: rotate(45deg); }
.ll-map-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; font-size: 12px; color: var(--slate); }
.ll-map-foot .fa-circle-dot { color: #10b981; }
.ll-map-foot .fa-rotate-right { color: var(--blue); cursor: pointer; }

.ll-spec-controls { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 22px; }
.ll-spec-dots { display: flex; gap: 8px; justify-content: center; }
.ll-spec-dots span { width: 8px; height: 8px; border-radius: 50%; background: #cdd8ec; cursor: pointer; transition: all .25s ease; }
.ll-spec-dots span.is-active { width: 24px; border-radius: 5px; background: var(--blue); }
.ll-doc-prev[disabled], .ll-doc-next[disabled] { opacity: .4; cursor: default; }
.ll-doc-prev[disabled]:hover, .ll-doc-next[disabled]:hover { background: #fff; color: #46557a; border-color: var(--line); }
.ll-spec-empty { text-align: center; color: var(--muted); padding: 40px 0; font-size: 14px; }

/* Doctors listing page (/doctors) */
.ll-doctors-page { padding-top: 40px; }
.ll-doc-search { display: flex; align-items: center; gap: 10px; max-width: 640px; margin: 0 auto 22px; position: relative; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 6px 6px 6px 42px; box-shadow: 0 12px 32px -24px rgba(37,99,235,.55); }
.ll-doc-search > .fa-magnifying-glass { position: absolute; left: 15px; color: var(--muted); font-size: 14px; }
.ll-doc-search input { flex: 1; border: 0; outline: 0; background: transparent; font-size: 14px; padding: 9px 4px; color: var(--ink); }
.ll-doc-search .ll-btn { padding: 9px 18px; font-size: 13px; flex: none; }
.ll-doc-facets { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 28px; }
.ll-doc-facets .ll-tab { text-decoration: none; }
.ll-facet-count { opacity: .6; font-weight: 700; margin-left: 3px; }
.ll-doctors-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.ll-doctors-grid .ll-doc { flex: initial; }

/* Feature bar */
.ll-features { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 30px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; }
.ll-feat { display: flex; align-items: center; gap: 13px; }
.ll-feat-i { width: 46px; height: 46px; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-size: 18px; flex: none; }
.ll-feat strong { display: block; font-size: 14px; font-weight: 700; }
.ll-feat small { font-size: 12px; color: var(--muted); }

/* ===================== POPULAR SEARCHES ===================== */
.ll-pop { padding: 30px 0 56px; }
.ll-pop-panel { background: linear-gradient(180deg, #eef3ff, #f4f1ff); border: 1px solid #e4e9fb; border-radius: 30px; padding: 44px 36px; }
.ll-pop-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; margin-top: 8px; }
.ll-topic { background: #fff; border: 1.5px solid var(--line); border-radius: 16px; padding: 20px 12px; text-align: center; transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; display: flex; flex-direction: column; align-items: center; }
.ll-topic:hover { transform: translateY(-6px); box-shadow: 0 26px 44px -26px color-mix(in srgb, var(--tc) 55%, transparent); border-color: color-mix(in srgb, var(--tc) 35%, #fff); }
.ll-topic.is-sel { border-color: var(--blue); box-shadow: 0 18px 34px -22px rgba(37,99,235,.6); }
/* Tinted circle well (was a baked-in PNG bg); the glyph is now inline SVG so
   it can scale / glow / float independently. */
.ll-topic-i { width: 76px; height: 76px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 10px;
  background: radial-gradient(circle at 50% 38%, var(--tcbg, #e4e9f4) 0%, rgba(255,255,255,0) 72%);
  transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease, background .35s ease; }
.ll-topic-i .ll-ic { width: 46px; height: 46px; object-fit: contain; display: block; will-change: transform; animation: llPopFloat 5s ease-in-out infinite; }
/* Hover: circle pops + glows; idle float gives way to a springy bounce. */
.ll-topic:hover .ll-topic-i { transform: scale(1.1); box-shadow: 0 12px 26px -8px color-mix(in srgb, var(--tc) 60%, transparent);
  background: radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--tc) 26%, #fff) 0%, rgba(255,255,255,0) 74%); }
.ll-topic:hover .ll-topic-i .ll-ic { animation: llPopBounce .6s cubic-bezier(.34,1.56,.64,1); }
.ll-topic strong { font-size: 14.5px; font-weight: 700; transition: color .25s ease; }
.ll-topic:hover strong { color: var(--tc); }
.ll-topic small { font-size: 11.5px; margin-top: 3px; color: var(--tc, var(--muted)); font-weight: 600; }
/* Staggered idle float so the grid feels alive without marching in lockstep. */
.ll-pop-grid .ll-topic:nth-child(6n+2) .ll-ic { animation-delay: -.8s; }
.ll-pop-grid .ll-topic:nth-child(6n+3) .ll-ic { animation-delay: -1.6s; }
.ll-pop-grid .ll-topic:nth-child(6n+4) .ll-ic { animation-delay: -2.4s; }
.ll-pop-grid .ll-topic:nth-child(6n+5) .ll-ic { animation-delay: -3.2s; }
.ll-pop-grid .ll-topic:nth-child(6n+6) .ll-ic { animation-delay: -4s; }
@keyframes llPopFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes llPopBounce { 0% { transform: translateY(0) scale(1); } 35% { transform: translateY(-6px) scale(1.07); } 60% { transform: translateY(0) scale(.97); } 80% { transform: translateY(-2px) scale(1.02); } 100% { transform: translateY(0) scale(1); } }
@media (prefers-reduced-motion: reduce) {
  .ll-topic-i .ll-ic, .ll-topic:hover .ll-topic-i .ll-ic { animation: none; }
  .ll-topic, .ll-topic-i { transition: none; }
}
.t-blue { background: #e8f0ff; color: #2563eb; }
.t-green { background: #e3f7ee; color: #10b981; }
.t-purple { background: #efe9ff; color: #8b5cf6; }
.t-red { background: #ffe9e9; color: #ef4444; }
.t-pink { background: #ffeaf3; color: #ec4899; }
.t-indigo { background: #e9ecff; color: #6366f1; }
.t-teal { background: #ddf6f4; color: #14b8a6; }
.t-orange { background: #fff0de; color: #f97316; }
.t-slate { background: #eef1f7; color: #64748b; }
.ll-pop-cta { text-align: center; margin-top: 30px; }

/* ===================== TESTIMONIALS + ARTICLES ===================== */
.ll-ta { padding: 12px 0 60px; }
.ll-ta-grid { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr); gap: 30px; align-items: start; }
.ll-ta-grid > * { min-width: 0; }
.ll-ta-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.ll-ta-head h2 { font-size: 22px; font-weight: 800; }
.ll-ta-head a { font-size: 13px; font-weight: 600; color: var(--blue); display: inline-flex; align-items: center; gap: 6px; }
/* Generic slider used by testimonials + articles */
.ll-slider { overflow: hidden; }
.ll-slide-track { display: flex; gap: 14px; transition: transform .5s cubic-bezier(.22,.61,.36,1); }
.ll-slide { flex: 0 0 auto; }
.ll-tcard { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 18px 16px; display: flex; flex-direction: column; }
.ll-tcard.is-hl { border: 1.5px solid var(--blue); box-shadow: 0 22px 44px -28px rgba(37,99,235,.6); }
.ll-stars { color: #f59e0b; font-size: 11px; display: flex; gap: 2px; margin-bottom: 11px; }
.ll-tcard p { font-size: 12.5px !important; color: #46557a; line-height: 1.6; flex: 1; }
.ll-tuser { display: flex; align-items: center; gap: 11px; margin-top: 16px; }
.ll-tuser img { width: 36px; height: 36px; border-radius: 50%; }
.ll-tuser strong { display: block; font-size: 13.5px; font-weight: 700; }
.ll-tuser small { font-size: 12px; color: var(--muted); }
.ll-testi-nav { display: flex; gap: 10px; margin-top: 18px; }
.ll-arrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: #46557a; display: flex; align-items: center; justify-content: center; font-size: 12px; transition: all .2s ease; }
.ll-arrow:hover { background: var(--blue); color: #fff; border-color: var(--blue); }

.ll-art { background: var(--card); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.ll-art:hover { transform: translateY(-5px); box-shadow: 0 26px 46px -30px rgba(37,99,235,.5); }
.ll-art-img { position: relative; height: 132px; background: #dce6f7; }
.ll-art-img img { width: 100%; height: 100%; object-fit: cover; }
.ll-art-tag { position: absolute; top: 11px; left: 11px; font-size: 10.5px; font-weight: 700; color: #fff; padding: 4px 10px; border-radius: 20px; }
.ll-art-tag.t-green { background: #10b981; color:#fff; } .ll-art-tag.t-blue { background: #2563eb; color:#fff; } .ll-art-tag.t-purple { background: #8b5cf6; color:#fff; }
.ll-art-body { padding: 14px 15px 16px; }
.ll-art-body h3 { font-size: 14.5px; font-weight: 700; line-height: 1.35; min-height: 40px; }
.ll-art-meta { display: flex; align-items: center; gap: 8px; margin-top: 13px; font-size: 11.5px; color: var(--muted); }
.ll-art-meta img { width: 24px; height: 24px; border-radius: 50%; }
.ll-art-meta .ll-dot { font-size: 3px; color: #c3cee2; }

/* ===================== FOOTER ===================== */
.ll-footer { background: #fff; border-top: 1px solid var(--line); padding: 50px 0 22px; margin-top: 10px; }
.ll-foot-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.5fr; gap: 28px; padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.ll-foot-brand p { color: var(--slate); font-size: 13.5px !important; margin: 16px 0 18px !important; max-width: 260px; }
.ll-foot-social { display: flex; gap: 10px; }
.ll-foot-social a { width: 38px; height: 38px; border-radius: 11px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 15px; transition: transform .2s ease; }
.ll-foot-social a:hover { transform: translateY(-3px); }
.s-facebook { background: #1877f2; } .s-instagram { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#bc1888); } .s-twitter { background: #1da1f2; } .s-linkedin { background: #0a66c2; } .s-youtube { background: #ff0000; }
.ll-foot-col h4 { font-size: 14.5px; font-weight: 700; margin-bottom: 16px; }
.ll-foot-col li { margin-bottom: 11px; }
.ll-foot-col a { font-size: 13.5px; color: var(--slate); display: flex; align-items: center; justify-content: space-between; }
.ll-foot-col a:hover { color: var(--blue); padding-left: 3px; }
.ll-foot-col a i { font-size: 10px; color: #c3cee2; }
.ll-foot-news h4 { font-size: 14.5px; font-weight: 700; margin-bottom: 14px; }
.ll-foot-news > p { color: var(--slate); font-size: 13.5px !important; margin-bottom: 14px !important; }
.ll-news-form { display: flex; gap: 8px; }
.ll-news-form input { flex: 1; border: 1px solid var(--line); border-radius: 11px; padding: 11px 14px; font-size: 13px; outline: none; background: #f8faff; }
.ll-news-form input:focus { border-color: var(--blue); }
.ll-news-form button { width: 46px; border: none; border-radius: 11px; background: linear-gradient(135deg,#3b82f6,#2563eb); color: #fff; font-size: 14px; }
.ll-news-note { display: flex; align-items: center; gap: 7px; font-size: 12px !important; color: var(--muted); margin-top: 12px !important; }
.ll-news-note .fa-circle-check { color: #10b981; }
.ll-foot-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 20px; font-size: 13px; color: var(--muted); }
.ll-foot-legal { display: flex; gap: 24px; }
.ll-foot-legal a { color: var(--slate); }
.ll-foot-legal a:hover { color: var(--blue); }

/* ===================== GRADIENT ICON GLYPHS (match reference) ===================== */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .ll-hs-i i, .ll-feat-i i {
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  }
  .b-blue i   { background-image: linear-gradient(135deg, #5b9bff, #1f54e0); }
  .b-green i  { background-image: linear-gradient(135deg, #4be0a8, #10a061); }
  .b-purple i { background-image: linear-gradient(135deg, #b388ff, #7a3df0); }
  .b-amber i  { background-image: linear-gradient(135deg, #ffc05a, #f9760e); }
  .ll-feat-i.b-blue i   { background-image: linear-gradient(135deg, #5b9bff, #1f54e0); }
  .ll-feat-i.b-purple i { background-image: linear-gradient(135deg, #b388ff, #7a3df0); }
  .ll-feat-i.b-green i  { background-image: linear-gradient(135deg, #4be0a8, #10a061); }
  .ll-feat-i.b-amber i  { background-image: linear-gradient(135deg, #ffc05a, #f9760e); }
}

/* ===================== MAIN / INNER PAGES / MISC ===================== */
.ll-main-front { display: block; }
.ll-page-banner { padding: 40px 0 10px; }
.ll-page-banner h1 { font-size: 32px; font-weight: 800; }
.ll-main-inner { padding: 20px 0 60px; }
.ll-inner-grid { display: grid; grid-template-columns: 1fr; gap: 28px; }
.ll-inner-grid:has(.ll-sidebar) { grid-template-columns: 280px 1fr; }
.ll-sidebar { background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; height: fit-content; }
.ll-inner-content { min-width: 0; }

/* Back to top */
.ll-top {
  position: fixed; right: 22px; bottom: 22px; z-index: 60;
  width: 46px; height: 46px; border-radius: 50%;
  background: linear-gradient(135deg, #3b82f6, #2563eb); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 15px;
  box-shadow: 0 12px 24px -10px rgba(37,99,235,.8);
  opacity: 0; visibility: hidden; transform: translateY(12px); transition: all .3s ease;
}
.ll-top.is-show { opacity: 1; visibility: visible; transform: none; }
.ll-top:hover { color: #fff; transform: translateY(-2px); }

/* Mobile nav drawer */
.ll-nav.is-open { display: flex; }

/* ===================== ANIMATIONS ===================== */
@keyframes llFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }
@keyframes llBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes llSpin { from { transform: translate(-50%, -50%) rotate(0deg); } to { transform: translate(-50%, -50%) rotate(360deg); } }
@keyframes llPulse { 0%,100% { opacity: .55; transform: scale(1); } 50% { opacity: .85; transform: scale(1.06); } }
@keyframes llPulseGlow { 0%,100% { opacity: .7; } 50% { opacity: 1; } }
@keyframes llBeam { 0%,100% { opacity: .65; transform: scaleX(1) scaleY(1); } 50% { opacity: 1; transform: scaleX(1.1) scaleY(1.14); } }
@keyframes llTwinkle { 0%,100% { opacity: .25; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.1); } }
@keyframes llRotate { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes llDash { to { stroke-dashoffset: -506; } }
@keyframes llRingA { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes llRingB { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes llRingC { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
@keyframes llRing { 0% { transform: scale(.6); opacity: .9; } 100% { transform: scale(1.4); opacity: 0; } }

.ll-reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); will-change: opacity, transform; }
.ll-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .ll-reveal { opacity: 1 !important; transform: none !important; transition: none; }
  .ll-svg-robot, .ll-svg-platform, .ll-ring, .ll-svg-orbit, .ll-svg-beam, .ll-svg-glow, .ll-svg-center, .ll-spk, .ll-svg-card, .ll-pin-main::after { animation: none !important; }
}

/* ===================== RESPONSIVE ===================== */
@media (max-width: 1080px) {
  .ll-hero-grid { grid-template-columns: 1fr 1fr; }
  .ll-hero-center { grid-column: 1 / -1; grid-row: 1; display: none; }
  .ll-hero-left { grid-column: 1; }
  .ll-hero-right { grid-column: 2; }
  .ll-spec-grid { grid-template-columns: repeat(2, 1fr); }
  .ll-features { grid-template-columns: repeat(2, 1fr); }
  .ll-pop-grid { grid-template-columns: repeat(4, 1fr); }
  .ll-ta-grid { grid-template-columns: 1fr; }
  .ll-foot-grid { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 860px) {
  .ll-nav { display: none; }
  .ll-burger { display: inline-flex; align-items: center; justify-content: center; }
  .ll-btn-signin { display: none; }
  .ll-hero-grid { grid-template-columns: 1fr; }
  .ll-hero-right { grid-column: 1; }
  .ll-hero-title { font-size: 34px; }
  .ll-sec-head h2 { font-size: 25px; }
  .ll-container { padding: 0 18px; }
  .ll-tabs-list { width: 100%; overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; -webkit-overflow-scrolling: touch; }
  .ll-tab { flex: none; }
  .ll-spec-grid { grid-template-columns: 1fr; }
  .ll-pop-grid { grid-template-columns: repeat(2, 1fr); }
  .ll-art-row { grid-template-columns: 1fr; }
  .ll-testi-row { grid-template-columns: 1fr; }
  .ll-tcard:first-child { grid-row: auto; }
  .ll-features { grid-template-columns: 1fr; }
  .ll-foot-grid { grid-template-columns: 1fr 1fr; }
  .ll-foot-bottom { flex-direction: column; gap: 10px; }
}
@media (max-width: 520px) {
  .ll-hero-title { font-size: 30px; }
  .ll-sec-head h2 { font-size: 21px; }
  .ll-foot-grid { grid-template-columns: 1fr; }
  .ll-pop-panel { padding: 30px 18px; }
  .ll-pop-grid { gap: 12px; }
}

/* =====================================================================
   INNER PAGES — shared component kit (reused across all custom pages so
   they match the home page's visual language exactly).
   ===================================================================== */
.ll-main-page { display: block; }

/* ---- Page hero / banner ---- */
.ll-phero { position: relative; overflow: hidden; padding: 56px 0 46px;
  background:
    radial-gradient(900px 380px at 82% -25%, #e7efff 0%, rgba(231,239,255,0) 60%),
    radial-gradient(720px 360px at -2% 0%, #f1ecff 0%, rgba(241,236,255,0) 55%),
    var(--bg); }
.ll-phero-in { max-width: 760px; }
.ll-phero.is-center .ll-phero-in { max-width: 740px; margin: 0 auto; text-align: center; }
.ll-phero h1 { font-size: 42px; font-weight: 800; letter-spacing: -.02em; line-height: 1.12; }
.ll-phero h1 .ll-grad { background: linear-gradient(120deg,#3b82f6,#6366f1); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ll-phero p { color: var(--slate); font-size: 16px !important; margin-top: 14px !important; max-width: 640px; }
.ll-phero.is-center p { margin-left: auto; margin-right: auto; }
.ll-phero-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.ll-phero.is-center .ll-phero-cta { justify-content: center; }
.ll-crumb { display: flex; gap: 8px; align-items: center; font-size: 12.5px; color: var(--muted); margin-bottom: 16px; }
.ll-phero.is-center .ll-crumb { justify-content: center; }
.ll-crumb a { color: var(--blue); }
.ll-crumb i { font-size: 9px; color: #c3cee2; }

/* ---- Section rhythm ---- */
.ll-section { padding: 58px 0; }
.ll-section--tint { background: linear-gradient(180deg, #f4f7ff, #f3f1fb); }
.ll-sec-head.is-left { text-align: left; margin-left: 0; margin-right: 0; }

/* ---- Feature cards ---- */
.ll-fgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.ll-fcard { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px 22px; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.ll-fcard:hover { transform: translateY(-5px); box-shadow: 0 24px 44px -28px rgba(37,99,235,.45); border-color: #d6e2ff; }
.ll-fi { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-bottom: 16px; background: var(--blue-l); color: var(--blue); }
.ll-fi.b-blue { background: #e8f0ff; color: #2563eb; }
.ll-fi.b-green { background: #e3f7ee; color: #10b981; }
.ll-fi.b-purple { background: #efe9ff; color: #7c3aed; }
.ll-fi.b-amber { background: #fff1de; color: #f97316; }
.ll-fi.b-pink { background: #fde9f3; color: #ec4899; }
.ll-fi.b-teal { background: #ddf6f4; color: #14b8a6; }
/* Value-card icon: change colour on hover instead of staying flat-blue. */
.ll-fi { transition: background .25s ease, color .25s ease, transform .25s ease; }
.ll-fcard:hover .ll-fi { background: linear-gradient(135deg,#3b82f6,#2563eb); color: #fff; transform: translateY(-2px) scale(1.05); }
.ll-fcard h3 { font-size: 17px; font-weight: 700; }
.ll-fcard p { color: var(--slate); font-size: 14px !important; margin-top: 11px !important; }

/* Heading/title → description breathing room. Many title (strong/h*) +
   description (small) pairs sat flush with no gap; give the heading space below
   it so every section reads consistently. */
.ll-feat small,
.lld-stat small,
.lld-trust-item small,
.llx-cat small,
.llx-af small,
.llx-wf small,
.llx-step small,
.llx-g small { display: block; margin-top: 4px; }

/* The AI privacy note lost its top margin because the global `.ll p { margin:0 }`
   rule outweighs `.ai-search-privacy` on specificity. Restore the gap with a
   higher-specificity selector so the note sits clear of the mode buttons. */
.ll .ai-search-privacy { margin-top: 22px; }

/* "You are here" marker on the Specialists-Near-You map. */
.ll-map-you-dot { display: block; width: 18px; height: 18px; border-radius: 50%; background: #2563eb; border: 3px solid #fff; box-shadow: 0 0 0 4px rgba(37,99,235,.35), 0 2px 6px rgba(0,0,0,.3); }

/* ---- Numbered steps ---- */
.ll-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 22px; }
.ll-step { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 30px 22px 24px; text-align: center; }
.ll-step-n { width: 46px; height: 46px; margin: 0 auto 14px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px; color: #fff; background: linear-gradient(135deg,#3b82f6,#2563eb); box-shadow: 0 12px 22px -10px rgba(37,99,235,.7); }
.ll-step h3 { font-size: 16.5px; font-weight: 700; }
.ll-step p { color: var(--slate); font-size: 13.5px !important; margin-top: 8px !important; }

/* ---- Pricing / packages ---- */
.ll-pgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(258px, 1fr)); gap: 22px; align-items: stretch; }
.ll-pcard { display: flex; flex-direction: column; background: #fff; border: 1.5px solid var(--line); border-radius: 20px; padding: 28px 24px; transition: transform .25s ease, box-shadow .25s ease; }
.ll-pcard:hover { transform: translateY(-6px); box-shadow: 0 30px 50px -30px rgba(37,99,235,.5); }
.ll-pcard.is-pop { border-color: var(--blue); box-shadow: 0 30px 54px -28px rgba(37,99,235,.55); }
.ll-pcard-tag { align-self: flex-start; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: linear-gradient(135deg,#3b82f6,#2563eb); padding: 5px 12px; border-radius: 20px; margin-bottom: 14px; }
.ll-pcard h3 { font-size: 18px; font-weight: 700; }
.ll-pcard .ll-price { margin: 14px 0; font-size: 34px; font-weight: 800; color: var(--ink); letter-spacing: -.02em; }
.ll-pcard .ll-price small { font-size: 14px; font-weight: 600; color: var(--muted); }
.ll-pcard .ll-price del { font-size: 16px; color: var(--muted); font-weight: 600; margin-left: 8px; }
.ll-plist { list-style: none; margin: 6px 0 22px; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.ll-plist li { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: var(--slate); }
.ll-plist i { color: #10b981; font-size: 13px; margin-top: 3px; flex: none; }
.ll-pcard .ll-btn { margin-top: auto; }

/* ---- FAQ accordion ---- */
.ll-faq { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; }
.ll-faq-item { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 2px 20px; transition: box-shadow .2s ease, border-color .2s ease; }
.ll-faq-item[open] { border-color: #d6e2ff; box-shadow: 0 16px 30px -24px rgba(37,99,235,.45); }
.ll-faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 0; font-weight: 700; font-size: 15px; color: var(--ink); }
.ll-faq-item summary::-webkit-details-marker { display: none; }
.ll-faq-ic { flex: none; color: var(--blue); transition: transform .25s ease; }
.ll-faq-item[open] .ll-faq-ic { transform: rotate(45deg); }
.ll-faq-item p { color: var(--slate); font-size: 14px !important; padding: 0 0 18px; margin: 0; }

/* ---- Stats ---- */
.ll-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 20px; }
.ll-stat { text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 26px 16px; }
.ll-stat b { display: block; font-size: 34px; font-weight: 800; letter-spacing: -.02em; background: linear-gradient(120deg,#3b82f6,#6366f1); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ll-stat span { color: var(--slate); font-size: 13.5px; font-weight: 500; }

/* ---- CTA band ---- */
.ll-cta { position: relative; overflow: hidden; border-radius: 26px; padding: 48px 40px; text-align: center; color: #fff;
  background: linear-gradient(135deg,#2563eb 0%,#4f46e5 58%,#7c3aed 100%); box-shadow: 0 30px 60px -34px rgba(37,99,235,.7); }
.ll-cta::after { content: ""; position: absolute; inset: 0; background: radial-gradient(420px 200px at 88% -10%, rgba(255,255,255,.25), transparent 60%); pointer-events: none; }
.ll-cta h2 { color: #fff; font-size: 28px; font-weight: 800; position: relative; }
.ll-cta p { color: rgba(255,255,255,.86); margin-top: 10px !important; max-width: 560px; margin-left: auto; margin-right: auto; position: relative; }
.ll-cta-row { display: flex; gap: 12px; justify-content: center; margin-top: 24px; flex-wrap: wrap; position: relative; }
.ll-btn-white { background: #fff; color: var(--blue); }
/* .ll a{color:inherit} (line ~35) would make this button's text inherit the
   dark CTA's white colour → invisible on the white button. Win on specificity. */
/* `.ll a { color: inherit }` out-ranks `.ll-btn-*` on specificity, so inside a
   coloured context (e.g. a t-red "Heart Health" article) a solid button's text
   inherited the accent colour — the "Ask the AI Assistant" button rendered red
   on blue. Re-assert the button text colours with matching specificity. */
.ll a.ll-btn-primary, .ll a.ll-btn-primary:hover { color: #fff; }
.ll a.ll-btn-ghost, .ll a.ll-btn-ghost:hover { color: var(--blue); }
.ll a.ll-btn-white, .ll-cta .ll-btn-white { color: var(--blue); }
.ll-btn-white:hover, .ll a.ll-btn-white:hover { color: var(--blue-d); transform: translateY(-2px); box-shadow: 0 14px 26px -12px rgba(0,0,0,.35); }
.ll-btn-outline { background: transparent; border: 1px solid rgba(255,255,255,.6); color: #fff; }
.ll-btn-outline:hover { background: rgba(255,255,255,.14); color: #fff; }

/* ---- Split (visual + copy) ---- */
.ll-split { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.ll-split.is-rev .ll-split-media { order: 2; }
.ll-split-media { background: linear-gradient(135deg,#e8f0ff,#efe9ff); border: 1px solid var(--line); border-radius: 22px; min-height: 320px; display: flex; align-items: flex-end; justify-content: center; color: var(--blue); font-size: 64px; overflow: hidden; }
.ll-split-media img { display: block; width: 100%; height: 100%; max-height: 440px; object-fit: contain; object-position: center bottom; }
.ll-split h2 { font-size: 30px; font-weight: 800; letter-spacing: -.02em; }
.ll-split > div > p { color: var(--slate); margin-top: 14px !important; }
.ll-checklist { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.ll-checklist li { display: flex; gap: 11px; align-items: flex-start; color: var(--slate); font-size: 14.5px; }
.ll-checklist i { color: #10b981; margin-top: 3px; }

/* ---- Article grid (reuses .ll-art card) ---- */
.ll-agrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 22px; }
.ll-agrid .ll-art { display: block; background: #fff; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.ll-agrid .ll-art:hover { transform: translateY(-5px); box-shadow: 0 26px 44px -28px rgba(37,99,235,.45); }
.ll-agrid .ll-art-img { height: 178px; }

/* ---- List rows: clinics / jobs / press ---- */
.ll-rows { display: flex; flex-direction: column; gap: 14px; }
.ll-row { display: flex; align-items: center; gap: 18px; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 20px 22px; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.ll-row:hover { border-color: #d6e2ff; box-shadow: 0 18px 34px -26px rgba(37,99,235,.4); transform: translateY(-2px); }
.ll-row-ic { width: 52px; height: 52px; flex: none; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 20px; background: var(--blue-l); color: var(--blue); }
.ll-row-main { flex: 1; min-width: 0; }
.ll-row-main h3 { font-size: 16px; font-weight: 700; }
.ll-row-meta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 6px; color: var(--muted); font-size: 12.5px; }
.ll-row-meta span { display: inline-flex; align-items: center; gap: 6px; }
.ll-chip-tag { font-size: 11px; font-weight: 700; color: var(--blue); background: var(--blue-l); padding: 5px 11px; border-radius: 20px; white-space: nowrap; }

/* ---- Contact form ---- */
.ll-cgrid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 28px; align-items: start; }
.ll-cinfo { display: flex; flex-direction: column; gap: 14px; }
.ll-cinfo-item { display: flex; gap: 14px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 18px; }
.ll-cinfo-item h4 { font-size: 14.5px; font-weight: 700; }
.ll-cinfo-item p { color: var(--slate); font-size: 13.5px !important; margin-top: 3px !important; }
.ll-form { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 26px; box-shadow: 0 24px 50px -36px rgba(37,99,235,.4); }
.ll-field { margin-bottom: 16px; }
.ll-field label { display: block; font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 7px; }
.ll-field input, .ll-field textarea, .ll-field select { width: 100%; border: 1px solid var(--line); border-radius: 11px; padding: 12px 14px; font: inherit; font-size: 14px; background: #f8faff; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
.ll-field input:focus, .ll-field textarea:focus, .ll-field select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37,99,235,.12); background: #fff; }
.ll-field-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ll-form-ok { display: flex; align-items: center; gap: 10px; background: #e6f8ef; border: 1px solid #b7e8cf; color: #0f8a52; font-size: 13.5px; font-weight: 600; padding: 12px 16px; border-radius: 12px; margin-bottom: 18px; }
.ll-form .ll-btn-primary { width: 100%; }

/* ---- Prose / lead card ---- */
.ll-lead { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 30px; }
.ll-prose p { color: var(--slate); margin-bottom: 14px !important; }
.ll-prose h3 { margin: 18px 0 8px; font-size: 18px; font-weight: 700; }

@media (max-width: 860px) {
  .ll-phero h1 { font-size: 32px; }
  .ll-split, .ll-cgrid { grid-template-columns: 1fr; gap: 26px; }
  .ll-split.is-rev .ll-split-media { order: 0; }
  .ll-section { padding: 44px 0; }
  .ll-field-2 { grid-template-columns: 1fr; }
}

/* ===================== DOCTORS LISTING PAGE (/doctors) ===================== */
.lld { padding: 34px 0 0; }
.lld-hero { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 28px; margin-bottom: 26px; }
.lld-h1 { font-size: 40px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); line-height: 1.1; }
.lld-h1-sub { font-size: 22px !important; font-weight: 700; color: var(--blue); margin-top: 6px !important; }
.lld-h1-lead { font-size: 14px !important; color: var(--slate); margin-top: 10px !important; max-width: 360px; }
.lld-stats { display: grid; grid-template-columns: repeat(4, auto); gap: 16px; }
.lld-stat { display: flex; align-items: center; gap: 12px; background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 16px 20px; box-shadow: 0 14px 30px -26px rgba(22,35,61,.5); }
.lld-stat-ic { width: 46px; height: 46px; border-radius: 13px; display: inline-flex; align-items: center; justify-content: center; font-size: 19px; flex: none; }
.lld-stat strong { display: block; font-size: 20px; font-weight: 800; color: var(--ink); line-height: 1.1; }
.lld-stat small { font-size: 12.5px; color: var(--slate); }
.b-blue { background: #e7eefb; color: #2563eb; }
.b-green { background: #e3f6ec; color: #10b981; }
.b-purple { background: #efe9fd; color: #7c3aed; }
.b-amber { background: #fdf0d9; color: #f59e0b; }

.lld-main { display: grid; grid-template-columns: 272px minmax(0,1fr); gap: 22px; align-items: start; }
/* Inline SVG icons inherit their box from font-size (1em) so they sit exactly
   where the old Font Awesome glyphs did. */
.llsvg { width: 1em; height: 1em; display: inline-block; vertical-align: -0.125em; flex: none; }

/* Filters */
.lld-filters { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 22px 20px; box-shadow: 0 16px 36px -30px rgba(22,35,61,.5); }
.lld-filters-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.lld-filters-head h3 { font-size: 19px; font-weight: 700; }
.lld-clear { font-size: 13px; font-weight: 600; color: var(--blue); }
.lld-fgroup { margin-bottom: 18px; }
.lld-flabel { display: flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 600; color: var(--ink); margin-bottom: 10px; }
.lld-flabel .llsvg { color: var(--blue); font-size: 15px; }
.lld-select { position: relative; }
.lld-select select { width: 100%; appearance: none; -webkit-appearance: none; border: 1px solid var(--line); border-radius: 10px; padding: 11px 34px 11px 13px; font-size: 13.5px; color: var(--ink); background: #fff; cursor: pointer; font-family: inherit; }
.lld-select > .llsvg { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 15px; pointer-events: none; }
.lld-input { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; font-size: 13.5px; color: var(--ink); font-family: inherit; }
.lld-input::placeholder { color: var(--muted); }
.lld-range { -webkit-appearance: none; appearance: none; width: 100%; height: 5px; border-radius: 4px; background: #dbe3f4; outline: none; }
.lld-range::-webkit-slider-thumb { -webkit-appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--blue); cursor: pointer; box-shadow: 0 2px 6px rgba(37,99,235,.5); }
.lld-range::-moz-range-thumb { width: 18px; height: 18px; border: 0; border-radius: 50%; background: var(--blue); cursor: pointer; }
.lld-range-labels { display: flex; justify-content: space-between; margin-top: 8px; font-size: 12px; color: var(--muted); }
.lld-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.lld-pill { padding: 8px 14px; border-radius: 9px; border: 1px solid var(--line); background: #fff; font-size: 13px; font-weight: 500; color: #46557a; }
.lld-pill.is-active { background: var(--blue); border-color: transparent; color: #fff; }
.lld-check { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: #46557a; margin-bottom: 9px; cursor: pointer; }
.lld-check input { width: 16px; height: 16px; accent-color: var(--blue); }
.lld-apply { width: 100%; margin-top: 4px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px; border: 0; border-radius: 11px; background: linear-gradient(135deg,#3b82f6,#2563eb); color: #fff; font-size: 14px; font-weight: 600; box-shadow: 0 12px 22px -12px rgba(37,99,235,.8); cursor: pointer; }
.lld-apply:hover { filter: brightness(1.05); }
.lld-reset { width: 100%; margin-top: 9px; padding: 11px; border: 1px solid var(--line); border-radius: 11px; background: #fff; color: #46557a; font-size: 13.5px; font-weight: 600; cursor: pointer; }
.lld-reset:hover { border-color: var(--blue); color: var(--blue); }

/* Results */
/* Specialty tabs (horizontal, scrollable) */
.lld-spectabs { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 10px; margin-bottom: 14px; scrollbar-width: thin; }
.lld-spectabs::-webkit-scrollbar { height: 6px; }
.lld-spectabs::-webkit-scrollbar-thumb { background: #d5deee; border-radius: 4px; }
.lld-spectab { flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 30px; border: 1px solid var(--line); background: #fff; color: #46557a; font-size: 13px; font-weight: 600; font-family: inherit; cursor: pointer; white-space: nowrap; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.lld-spectab:hover { border-color: #bcd0ff; color: var(--blue); }
.lld-spectab.is-active { background: var(--blue); border-color: transparent; color: #fff; }
.lld-spectab-n { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 18px; padding: 0 6px; border-radius: 10px; background: #eef3ff; color: var(--blue); font-size: 11px; font-weight: 700; }
.lld-spectab.is-active .lld-spectab-n { background: rgba(255,255,255,.25); color: #fff; }
.lld-results-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; gap: 12px; flex-wrap: wrap; }
.lld-count { font-size: 16px; font-weight: 700; color: var(--ink); }
.lld-toolbar { display: flex; align-items: center; gap: 10px; }
.lld-sortby { font-size: 13px; color: var(--slate); }
.lld-select.sm select { padding: 9px 30px 9px 12px; font-size: 13px; }
.lld-view { display: flex; gap: 6px; }
.lld-view button { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; border: 1px solid var(--line); background: #fff; color: #8a98b5; font-size: 16px; cursor: pointer; }
.lld-view button.is-active { background: var(--blue); border-color: transparent; color: #fff; }
.lld-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.lld-card { display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 16px; box-shadow: 0 16px 36px -32px rgba(22,35,61,.55); transition: transform .25s ease, box-shadow .25s ease; }
.lld-card:hover { transform: translateY(-4px); box-shadow: 0 26px 48px -30px rgba(37,99,235,.5); }
.lld-card-top { position: relative; display: flex; justify-content: center; padding: 6px 0 12px; }
.lld-tag { position: absolute; top: 0; left: 0; font-size: 11px; font-weight: 600; padding: 5px 10px; border-radius: 20px; }
.lld-tag.is-today { background: #e3f6ec; color: #0f9d6a; }
.lld-tag.is-video { background: #efe9fd; color: #7c3aed; }
.lld-fav { position: absolute; top: 0; right: 0; width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--blue); font-size: 15px; cursor: pointer; }
.lld-avatar { display: block; width: 96px; height: 96px; border-radius: 50%; overflow: hidden; background: #eaf0fb; border: 3px solid #eaf0fb; }
.lld-avatar img { width: 100%; height: 100%; object-fit: cover; }
.lld-avatar-ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 38px; color: #9db4d8; }
.lld-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12.5px; }
.lld-rate { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; color: var(--ink); }
.lld-verified .llsvg { color: #2563eb; font-size: 14px; }
.lld-exp { display: inline-flex; align-items: center; gap: 5px; color: var(--slate); }
.lld-exp .llsvg { color: var(--muted); font-size: 13px; }
.lld-name { font-size: 17px; font-weight: 700; color: var(--ink); margin-top: 12px; }
.lld-name a { color: inherit; }
.lld-name a:hover { color: var(--blue); }
.lld-spec { font-size: 13px; color: var(--slate); margin-top: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lld-hosp { display: flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--slate); margin-top: 10px; }
.lld-hosp .llsvg { color: var(--blue); font-size: 13px; }
.lld-card-info { display: flex; flex-direction: column; }
.lld-card-foot { margin-top: auto; padding-top: 14px; }
.lld-fee { margin-bottom: 12px; }
.lld-fee strong { font-size: 18px; font-weight: 800; color: var(--ink); }
.lld-fee small { font-size: 12px; color: var(--muted); }
.lld-book { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; padding: 12px; border-radius: 11px; background: linear-gradient(135deg,#3b82f6,#2563eb); color: #fff; font-size: 13.5px; font-weight: 600; box-shadow: 0 12px 22px -14px rgba(37,99,235,.8); }
.lld-book:hover { color: #fff; filter: brightness(1.05); }

/* AI panel */
.lld-ai-card { position: relative; background: linear-gradient(180deg,#eaf1ff,#eef3ff); border: 1px solid #dde7fb; border-radius: 18px; padding: 22px 20px 18px; overflow: hidden; min-height: 230px; }
.lld-ai-card h3 { font-size: 21px; font-weight: 800; color: var(--ink); line-height: 1.2; max-width: 62%; }
.lld-ai-card p { font-size: 13px !important; color: var(--slate); margin-top: 12px !important; max-width: 62%; }
.lld-ai-btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 11px 18px; border-radius: 11px; background: linear-gradient(135deg,#3b82f6,#2563eb); color: #fff; font-size: 13.5px; font-weight: 600; box-shadow: 0 12px 22px -12px rgba(37,99,235,.8); }
.lld-ai-btn:hover { color: #fff; filter: brightness(1.05); }
.lld-ai-bot { position: absolute; right: -6px; bottom: 0; width: 132px; height: auto; pointer-events: none; }
.lld-ai-rows { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 8px 18px; margin-top: 16px; box-shadow: 0 16px 36px -32px rgba(22,35,61,.5); }
.lld-ai-row { display: flex; align-items: flex-start; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.lld-ai-row:last-child { border-bottom: 0; }
.lld-ai-ic { width: 40px; height: 40px; border-radius: 11px; flex: none; display: flex; align-items: center; justify-content: center; background: #eef3ff; color: var(--blue); font-size: 15px; }
.lld-ai-row strong { display: block; font-size: 14px; font-weight: 700; color: var(--ink); }
.lld-ai-row small { font-size: 12.5px; color: var(--slate); }

/* Trust bar */
.lld-trust { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; margin: 30px 0 56px; padding: 26px; background: var(--card); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 16px 36px -32px rgba(22,35,61,.5); }
.lld-trust-item { display: flex; align-items: flex-start; gap: 13px; }
.lld-trust-ic { width: 46px; height: 46px; border-radius: 13px; flex: none; display: flex; align-items: center; justify-content: center; background: #eef3ff; color: var(--blue); font-size: 17px; }
.lld-trust-item strong { display: block; font-size: 14.5px; font-weight: 700; color: var(--ink); }
.lld-trust-item small { font-size: 12.5px; color: var(--slate); }

/* Empty state */
.lld-empty { padding: 40px 20px; text-align: center; font-size: 14px; color: var(--slate); background: var(--card); border: 1px dashed var(--line); border-radius: 14px; }

/* AI referral banner (arrived from the home AI assistant). */
.lld-airec { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 18px; padding: 16px 18px; border-radius: 14px; background: linear-gradient(120deg,#eaf1ff,#eef0ff); border: 1px solid #d9e4ff; }
.lld-airec-ic { flex: none; width: 40px; height: 40px; border-radius: 11px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg,#3b82f6,#2563eb); color: #fff; font-size: 18px; }
.lld-airec-body strong { display: block; font-size: 15px; font-weight: 700; color: var(--ink); }
.lld-airec-body p { font-size: 13.5px !important; color: var(--slate); margin-top: 4px !important; }

/* Sticky filter sidebar — stays visible while the results scroll. The header is
   sticky at 74px, so offset just below it. Disabled once the layout collapses
   to a single column (≤820px), where a sticky sidebar would waste space. */
.lld-filters { position: sticky; top: 92px; align-self: start; max-height: calc(100vh - 112px); overflow-y: auto; overscroll-behavior: contain; }
.lld-filters::-webkit-scrollbar { width: 6px; }
.lld-filters::-webkit-scrollbar-thumb { background: #d5deee; border-radius: 4px; }
.lld-fhint { margin-top: 7px; font-size: 11.5px; color: var(--muted); }
.lld-count-note { font-size: 13px; color: var(--slate); font-weight: 500; margin-left: 8px; }

/* Infinite-scroll sentinel + loader */
.lld-sentinel { width: 100%; height: 1px; }
.lld-loader { display: none; align-items: center; justify-content: center; gap: 11px; padding: 26px 0 8px; color: var(--slate); font-size: 13.5px; font-weight: 500; }
.lld-loader.is-active { display: flex; }
.lld-spinner { width: 20px; height: 20px; border: 2.5px solid #dbe4f4; border-top-color: var(--blue); border-radius: 50%; animation: lldSpin .7s linear infinite; }
@keyframes lldSpin { to { transform: rotate(360deg); } }
.lld-end { display: none; text-align: center; padding: 22px 0 4px; font-size: 13px; color: var(--muted); }
.lld-end.is-active { display: block; }
@media (prefers-reduced-motion: reduce) { .lld-spinner { animation-duration: 1.6s; } }

/* List view — cards become horizontal rows: avatar | info | fee+book */
.lld-grid.is-list { grid-template-columns: 1fr; gap: 14px; }
.lld-grid.is-list .lld-card { flex-direction: row; align-items: center; gap: 22px; padding: 18px 22px; }
.lld-grid.is-list .lld-card-top { flex: none; padding: 0; }
.lld-grid.is-list .lld-avatar { width: 78px; height: 78px; }
.lld-grid.is-list .lld-tag { top: -6px; left: 50%; transform: translateX(-50%); font-size: 9.5px; padding: 3px 8px; white-space: nowrap; }
.lld-grid.is-list .lld-fav { display: none; }
.lld-grid.is-list .lld-card-info { flex: 1; min-width: 0; }
.lld-grid.is-list .lld-meta { justify-content: flex-start; gap: 18px; order: -1; margin-bottom: 4px; }
.lld-grid.is-list .lld-name { margin-top: 0; }
.lld-grid.is-list .lld-spec { -webkit-line-clamp: 1; }
.lld-grid.is-list .lld-hosp { margin-top: 6px; }
.lld-grid.is-list .lld-card-foot { flex: none; margin-top: 0; padding-top: 0; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; min-width: 176px; }
.lld-grid.is-list .lld-fee { margin-bottom: 0; text-align: right; }
.lld-grid.is-list .lld-book { width: auto; padding: 11px 22px; white-space: nowrap; }

@media (max-width: 1240px) {
  .lld-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 1180px) {
  .lld-main { grid-template-columns: 240px 1fr; }
  .lld-stats { grid-template-columns: repeat(2, 1fr); }
  .lld-hero { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .lld-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .lld-main { grid-template-columns: 1fr; }
  .lld-filters { position: static; max-height: none; overflow: visible; }
  .lld-trust { grid-template-columns: 1fr 1fr; }
  .lld-h1 { font-size: 32px; }
}
@media (max-width: 560px) {
  .lld-grid { grid-template-columns: 1fr; }
  .lld-grid.is-list .lld-card { flex-wrap: wrap; gap: 14px 18px; }
  .lld-grid.is-list .lld-card-foot { flex-direction: row; align-items: center; justify-content: space-between; width: 100%; min-width: 0; }
  .lld-stats { grid-template-columns: 1fr; }
  .lld-trust { grid-template-columns: 1fr; }
}

/* ===================== ARTICLES PAGE (/articles) ===================== */
.lla { padding: 30px 0 0; }
.lla .t-red{--tc:#ef4444;--tcb:#fdeaea}
.lla .t-green{--tc:#10b981;--tcb:#e3f6ec}
.lla .t-blue{--tc:#2563eb;--tcb:#e7eefb}
.lla .t-purple{--tc:#7c3aed;--tcb:#efe9fd}
.lla .t-orange{--tc:#f59e0b;--tcb:#fdf0d9}
.lla .t-indigo{--tc:#6366f1;--tcb:#e6e8fd}
.lla .t-pink{--tc:#ec4899;--tcb:#fce4f1}
.lla .t-teal{--tc:#14b8a6;--tcb:#d9f5f0}
.lla .t-slate{--tc:#64748b;--tcb:#eef1f6}

/* Hero */
.lla-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,520px); align-items: center; gap: 24px; padding: 14px 0 26px; }
.lla-h1 { font-size: 46px; font-weight: 800; letter-spacing: -.02em; line-height: 1.08; }
.lla-h1-a { color: var(--ink); }
.lla-h1-b { background: linear-gradient(100deg,#2563eb,#7c3aed); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.lla-hero-sub { font-size: 15px !important; color: var(--slate); margin-top: 16px !important; max-width: 400px; }
.lla-hero-r { position: relative; }
.lla-hero-art { display: block; width: 100%; height: auto; border-radius: 16px; }
.lla-tip { position: absolute; left: 0; top: 24px; display: flex; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; box-shadow: 0 18px 40px -26px rgba(22,35,61,.5); }
.lla-tip-ic { width: 34px; height: 34px; border-radius: 10px; background: #e7eefb; color: #2563eb; display: flex; align-items: center; justify-content: center; flex: none; }
.lla-tip strong { display: block; font-size: 12px; color: var(--ink); }
.lla-tip small { display: block; font-size: 12.5px; color: var(--slate); }
.lla-tip em { font-size: 11px; color: #10b981; font-style: normal; font-weight: 600; }
.lla-score { position: absolute; right: 0; bottom: 6px; width: 150px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px 14px; box-shadow: 0 18px 40px -26px rgba(22,35,61,.5); }
.lla-score > small { font-size: 11.5px; color: var(--slate); }
.lla-score-n { font-size: 13px; color: var(--muted); }
.lla-score-n strong { font-size: 24px; font-weight: 800; color: var(--ink); }
.lla-score-good { font-size: 11.5px; font-weight: 600; color: #10b981; }
.lla-spark { display: block; width: 100%; height: 22px; margin-top: 4px; }

/* Search bar */
.lla-search { display: grid; grid-template-columns: minmax(0,1fr) auto auto auto; gap: 14px; background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 14px; box-shadow: 0 16px 36px -30px rgba(22,35,61,.5); margin-bottom: 22px; }
.lla-search-in { position: relative; display: flex; align-items: center; }
.lla-search-in i { position: absolute; left: 16px; color: var(--muted); font-size: 14px; }
.lla-search-in input { width: 100%; border: 1px solid var(--line); border-radius: 30px; padding: 12px 16px 12px 42px; font-size: 14px; font-family: inherit; color: var(--ink); }
.lla-search .lld-select select { border-radius: 30px; padding: 12px 34px 12px 16px; font-size: 13.5px; }

/* Main layout */
.lla-main { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 26px; align-items: start; }

/* Featured */
.lla-featured { display: grid; grid-template-columns: 0.92fr 1.08fr; gap: 0; background: var(--card); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; box-shadow: 0 18px 40px -32px rgba(22,35,61,.5); }
.lla-feat-img { position: relative; min-height: 300px; background: linear-gradient(135deg,#e7eefb,#efe9fd); }
.lla-feat-img img { width: 100%; height: 100%; object-fit: cover; }
.lla-feat-badge { position: absolute; top: 16px; left: 16px; background: rgba(255,255,255,.92); color: var(--blue); font-size: 11px; font-weight: 700; letter-spacing: .05em; padding: 6px 12px; border-radius: 20px; }
.lla-feat-body { padding: 26px 28px; display: flex; flex-direction: column; }
.lla-cat { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; color: var(--tc); }
.lla-feat-body h2 { font-size: 27px; font-weight: 800; letter-spacing: -.01em; line-height: 1.2; margin-top: 12px; color: var(--ink); }
.lla-feat-body p { font-size: 14px !important; color: var(--slate); margin-top: 14px !important; }
.lla-feat-foot { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 22px; }
.lla-author { display: flex; align-items: center; gap: 10px; }
.lla-av { width: 38px; height: 38px; border-radius: 50%; background: #e7eefb; color: #2563eb; display: flex; align-items: center; justify-content: center; font-size: 15px; flex: none; }
.lla-author strong { display: block; font-size: 13.5px; color: var(--ink); }
.lla-author small { font-size: 12px; color: var(--muted); }
.lla-fmeta { text-align: right; }
.lla-fmeta span { display: block; font-size: 12.5px; color: var(--slate); }
/* Featured slider: the View block's rows become a horizontal, one-at-a-time
   track (livelong-featured.js drives the transform + dots). */
.lla-featwrap { position: relative; }
.lla-v-featured { overflow: hidden; }
.lla-v-featured .lla-rows > * { flex: 0 0 100%; min-width: 100%; }
.lla-dots { display: flex; gap: 8px; justify-content: center; margin: 16px 0 6px; }
.lla-dots span { cursor: pointer; transition: width .2s ease, background .2s ease; }
.lla-dots span { width: 8px; height: 8px; border-radius: 50%; background: #cdd8ec; }
.lla-dots span.is-active { width: 22px; border-radius: 5px; background: var(--blue); }

/* Section head */
.lla-sec-head { display: flex; align-items: center; justify-content: space-between; margin: 26px 0 14px; }
.lla-sec-head h3 { font-size: 20px; font-weight: 800; color: var(--ink); display: flex; align-items: center; gap: 9px; }
.lla-fire { color: #f97316; }
.lla-sec-head a { font-size: 13px; font-weight: 600; color: var(--blue); display: inline-flex; align-items: center; gap: 6px; }

/* Trending */
.lla-trend { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.lla-tcard { background: var(--card); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; display: block; transition: transform .25s ease, box-shadow .25s ease; }
.lla-tcard:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -30px rgba(37,99,235,.5); }
.lla-tcard-img { height: 96px; background: linear-gradient(135deg,#e7eefb,#efe9fd); }
.lla-tcard-img img { width: 100%; height: 100%; object-fit: cover; }
.lla-tcard-body { padding: 12px 13px 14px; }
.lla-tcard-body h4 { font-size: 14px; font-weight: 700; color: var(--ink); line-height: 1.35; margin-top: 7px; }
.lla-read { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: var(--muted); margin-top: 9px; }

/* Topics */
.lla-topics { display: grid; grid-template-columns: repeat(8, 1fr); gap: 12px; }
.lla-topic { display: flex; flex-direction: column; align-items: center; gap: 9px; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 16px 8px; text-align: center; transition: transform .25s ease, box-shadow .25s ease; }
.lla-topic:hover { transform: translateY(-4px); box-shadow: 0 20px 36px -28px rgba(37,99,235,.5); }
.lla-topic-ic { width: 42px; height: 42px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 17px; background: var(--tcb); color: var(--tc); }
.lla-topic small { font-size: 12px; font-weight: 600; color: var(--ink); }

/* Latest */
.lla-latest { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lla-lcard { background: var(--card); border: 1px solid var(--line); border-radius: 16px; overflow: hidden; display: block; transition: transform .25s ease, box-shadow .25s ease; }
.lla-lcard:hover { transform: translateY(-4px); box-shadow: 0 24px 44px -30px rgba(37,99,235,.5); }
.lla-lcard-img { height: 150px; background: linear-gradient(135deg,#e7eefb,#efe9fd); }
.lla-lcard-img img { width: 100%; height: 100%; object-fit: cover; }
.lla-lcard-body { padding: 15px 16px 16px; }
.lla-lcard-body h4 { font-size: 15.5px; font-weight: 700; color: var(--ink); line-height: 1.35; margin-top: 8px; }
.lla-lcard-body p { font-size: 12.5px !important; color: var(--slate); margin-top: 8px !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lla-lcard-foot { display: flex; align-items: center; gap: 14px; margin-top: 12px; font-size: 12px; color: var(--muted); }
.lla-lcard-foot span { display: inline-flex; align-items: center; gap: 5px; }
.lla-bm { margin-left: auto; color: var(--muted); cursor: pointer; background: none; border: 0; padding: 2px; line-height: 0; transition: color .15s ease, transform .15s ease; }
.lla-bm:hover { color: var(--blue); }
.lla-bm:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; border-radius: 4px; }
.lla-bm.is-saved { color: var(--blue); }
.lla-bm.is-saved:active { transform: scale(.9); }
.lla-loadmore { text-align: center; margin-top: 22px; }
.lla-loadmore button { display: inline-flex; align-items: center; gap: 8px; padding: 11px 22px; border: 1px solid #d3e0ff; border-radius: 11px; background: #fff; color: var(--blue); font-size: 13.5px; font-weight: 600; cursor: pointer; }

/* Sidebar */
.lla-news { position: relative; overflow: hidden; background: linear-gradient(150deg,#6366f1,#7c3aed); border-radius: 18px; padding: 22px 20px 20px; color: #fff; }
.lla-news-plane { position: absolute; right: 18px; top: 18px; font-size: 30px; opacity: .9; transform: rotate(8deg); }
.lla-news h3 { font-size: 22px; font-weight: 800; color: #fff; line-height: 1.2; }
.lla-news p { font-size: 12.5px !important; color: rgba(255,255,255,.9); margin-top: 12px !important; max-width: 82%; }
.lla-news input { width: 100%; margin-top: 16px; border: 0; border-radius: 10px; padding: 12px 14px; font-size: 13.5px; font-family: inherit; }
.lla-news button { width: 100%; margin-top: 10px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px; border: 0; border-radius: 11px; background: #fff; color: #6d28d9; font-size: 13.5px; font-weight: 700; cursor: pointer; }

.lla-card { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 18px 18px 16px; margin-top: 18px; box-shadow: 0 16px 36px -32px rgba(22,35,61,.5); }
.lla-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.lla-card-head strong { font-size: 16px; font-weight: 800; color: var(--ink); }
.lla-card-head a { font-size: 12.5px; font-weight: 600; color: var(--blue); }
.lla-pop { display: flex; flex-direction: column; }
.lla-pop li { display: flex; align-items: center; gap: 11px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.lla-pop li:last-child { border-bottom: 0; }
.lla-pop-n { width: 22px; height: 22px; border-radius: 7px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: #fff; }
.lla-pop-n.n1 { background: #2563eb; } .lla-pop-n.n2 { background: #10b981; } .lla-pop-n.n3 { background: #ec4899; } .lla-pop-n.n4 { background: #f59e0b; }
.lla-pop-img { width: 44px; height: 44px; border-radius: 10px; flex: none; overflow: hidden; background: linear-gradient(135deg,#e7eefb,#efe9fd); }
.lla-pop-img img { width: 100%; height: 100%; object-fit: cover; }
.lla-pop strong { display: block; font-size: 13px; font-weight: 700; color: var(--ink); line-height: 1.35; }
.lla-pop small { font-size: 11.5px; color: var(--muted); }

.lla-cats li a { display: flex; align-items: center; gap: 11px; padding: 10px 0; font-size: 13.5px; color: var(--ink); }
.lla-cats li a em { margin-left: auto; font-style: normal; font-size: 12px; color: var(--muted); }
.lla-cat-ic { width: 30px; height: 30px; border-radius: 9px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 13px; background: var(--tcb); color: var(--tc); }
.lla-cats-all { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--blue); }

.lla-ask { position: relative; overflow: hidden; background: linear-gradient(150deg,#e3f6ec,#eaf6f0); border: 1px solid #d3ecdd; border-radius: 18px; padding: 20px; margin-top: 18px; min-height: 150px; }
.lla-ask h3 { font-size: 18px; font-weight: 800; color: var(--ink); display: flex; align-items: center; gap: 7px; }
.lla-ask h3 i { color: #10b981; font-size: 14px; }
.lla-ask p { font-size: 12.5px !important; color: var(--slate); margin-top: 10px !important; max-width: 66%; }
.lla-ask-btn { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px; padding: 10px 18px; border: 1px solid #b7e2c8; border-radius: 11px; background: #fff; color: #0f9d6a; font-size: 13px; font-weight: 700; }
.lla-ask-doc { position: absolute; right: 14px; bottom: 8px; width: 66px; height: 66px; border-radius: 50%; background: #d3ecdd; color: #0f9d6a; display: flex; align-items: center; justify-content: center; font-size: 30px; }

.lla-trust { margin-top: 34px; }

@media (max-width: 1100px) {
  .lla-hero { grid-template-columns: 1fr; }
  .lla-hero-r { display: none; }
  .lla-main { grid-template-columns: 1fr; }
  .lla-topics { grid-template-columns: repeat(4, 1fr); }
  .lla-trend { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .lla-h1 { font-size: 34px; }
  .lla-search { grid-template-columns: 1fr; }
  .lla-featured { grid-template-columns: 1fr; }
  .lla-latest { grid-template-columns: 1fr; }
  .lla-trend { grid-template-columns: 1fr; }
  .lla-topics { grid-template-columns: repeat(2, 1fr); }
}

/* ============== ARTICLES: Views-driven listings + detail page ============== */
/* Category accent variables, global so cards work on any page (views pages,
   node detail) — not only inside .lla. */
.t-red{--tc:#ef4444;--tcb:#fdeaea}
.t-green{--tc:#10b981;--tcb:#e3f6ec}
.t-blue{--tc:#2563eb;--tcb:#e7eefb}
.t-purple{--tc:#7c3aed;--tcb:#efe9fd}
.t-orange{--tc:#f59e0b;--tcb:#fdf0d9}
.t-indigo{--tc:#6366f1;--tcb:#e6e8fd}
.t-pink{--tc:#ec4899;--tcb:#fce4f1}
.t-teal{--tc:#14b8a6;--tcb:#d9f5f0}
.t-cyan{--tc:#06b6d4;--tcb:#dcf5fb}
.t-slate{--tc:#64748b;--tcb:#eef1f6}

/* Embedded display grids */
.lla-v-featured .lla-rows { display: flex; transition: transform .45s ease; will-change: transform; }
.lla-v-trend .lla-rows { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.lla-v-latest .lla-rows { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lla-v-related .lla-rows { display: grid; grid-template-columns: 1fr; gap: 12px; }

/* Popular Reads rows with rank counters */
.lla-v-popular .lla-rows { counter-reset: llpop; display: flex; flex-direction: column; }
.lla-pop-item { display: flex; align-items: center; gap: 11px; padding: 11px 0; border-bottom: 1px solid var(--line); }
.lla-v-popular .lla-rows > :last-child .lla-pop-item,
.lla-v-popular .lla-rows > .lla-pop-item:last-child { border-bottom: 0; }
.lla-pop-item::before { counter-increment: llpop; content: counter(llpop); width: 22px; height: 22px; border-radius: 7px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; color: #fff; background: #2563eb; }
.lla-v-popular .lla-rows > :nth-child(2) .lla-pop-item::before, .lla-v-popular .lla-rows > .lla-pop-item:nth-child(2)::before { background: #10b981; }
.lla-v-popular .lla-rows > :nth-child(3) .lla-pop-item::before, .lla-v-popular .lla-rows > .lla-pop-item:nth-child(3)::before { background: #ec4899; }
.lla-v-popular .lla-rows > :nth-child(4) .lla-pop-item::before, .lla-v-popular .lla-rows > .lla-pop-item:nth-child(4)::before { background: #f59e0b; }
.lla-pop-txt strong { display: block; font-size: 13px; font-weight: 700; color: var(--ink); line-height: 1.35; }
.lla-pop-txt small { font-size: 11.5px; color: var(--muted); }

/* Featured author avatar + category pill */
.lla-av-img { width: 38px; height: 38px; border-radius: 50%; flex: none; }
.lla-cat-pill { background: var(--tcb); padding: 5px 12px; border-radius: 20px; align-self: flex-start; }

/* Views page displays (search / category / tag) */
.llv { padding: 30px 0 56px; }
.llv-hero { text-align: center; padding: 18px 0 10px; }
.llv-hero .ll-crumb { justify-content: center; margin-bottom: 16px; }
.llv-hero-ic { width: 54px; height: 54px; font-size: 22px; margin: 0 auto 14px; border-radius: 16px; }
.llv-hero h1 { font-size: 34px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.llv-hero p { color: var(--slate); margin-top: 10px !important; }
.llv-count { font-style: normal; font-weight: 700; color: var(--blue); }
.llv-filters { max-width: 880px; margin: 18px auto 8px; }
.llv-filters .views-exposed-form { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; justify-content: center; background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 16px; box-shadow: 0 16px 36px -30px rgba(22,35,61,.5); }
.llv-filters .js-form-item { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.llv-filters label { font-size: 12px; font-weight: 700; color: var(--ink); text-transform: uppercase; letter-spacing: .04em; }
.llv-filters input[type="text"], .llv-filters select { border: 1px solid var(--line); border-radius: 10px; padding: 10px 13px; font-size: 13.5px; font-family: inherit; color: var(--ink); min-width: 170px; background: #fff; }
.llv-filters .form-actions { margin: 0; }
.llv-filters .form-submit { border: 0; border-radius: 10px; padding: 11px 22px; background: linear-gradient(135deg,#3b82f6,#2563eb); color: #fff; font-size: 13.5px; font-weight: 600; cursor: pointer; box-shadow: 0 12px 22px -12px rgba(37,99,235,.8); }
.llv-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 20px; }

/* Pagers */
.llv-pager { margin-top: 26px; }
/* Articles infinite scroll (livelong-articles.js) — sentinel + loader that
   replace the numeric pager. Reuses .lld-spinner from the doctors listing. */
.llv-sentinel { width: 100%; height: 1px; }
.llv-loader { display: none; align-items: center; justify-content: center; gap: 10px; padding: 26px 0 6px; color: var(--slate); font-size: 13.5px; font-weight: 500; }
.llv-loader.is-active { display: flex; }
.llv-pager .pager__items { display: flex; gap: 8px; justify-content: center; align-items: center; list-style: none; margin: 0; padding: 0; }
.llv-pager .pager__item a, .llv-pager .pager__item span { display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line); background: #fff; font-size: 13.5px; font-weight: 600; color: #46557a; }
.llv-pager .pager__item.is-active a, .llv-pager .pager__item--current { background: var(--blue); border-color: transparent; color: #fff; border-radius: 10px; min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.llv-pager .pager__item a:hover { border-color: #bcd0ff; color: var(--blue); }
.llv-pager-inline { margin-top: 18px; }

/* Search bar submit on /articles */
.lla-search { grid-template-columns: minmax(0,1fr) auto auto auto auto; }
.lla-search-btn { border: 0; border-radius: 11px; padding: 12px 22px; background: linear-gradient(135deg,#3b82f6,#2563eb); color: #fff; font-size: 13.5px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 12px 22px -12px rgba(37,99,235,.8); }
.lla-news form { display: contents; }

/* Article detail (/node) */
.llb { display: block; background: transparent; }
/* Only set vertical padding — using the `padding` shorthand here zeroed the
   horizontal padding inherited from `.ll-container`, so the breadcrumb hugged
   the viewport's left edge. */
.llb-wrap { padding-top: 26px; padding-bottom: 56px; }
.llb-crumb span { color: var(--muted); }
.llb-main { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 26px; align-items: start; margin-top: 18px; }
.llb-article { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 30px 32px; box-shadow: 0 18px 40px -32px rgba(22,35,61,.5); }
.llb-cat { display: inline-flex; align-items: center; gap: 7px; background: var(--tcb); padding: 6px 13px; border-radius: 20px; font-size: 11.5px; }
.llb-title { font-size: 32px; font-weight: 800; letter-spacing: -.02em; line-height: 1.18; color: var(--ink); margin-top: 14px; }
.llb-meta { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.llb-meta-item { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--slate); }
.llb-hero { margin-top: 20px; border-radius: 14px; overflow: hidden; max-height: 380px; }
.llb-hero img { width: 100%; height: 100%; object-fit: cover; }
.llb-body { margin-top: 22px; font-size: 15.5px; line-height: 1.75; color: #2a3650; }
.llb-body p { font-size: 15.5px !important; line-height: 1.75; margin-bottom: 14px !important; }
.llb-tags { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 13px; }
.llb-tag { display: inline-flex; align-items: center; gap: 6px; background: #f2f5fc; border: 1px solid var(--line); padding: 6px 13px; border-radius: 20px; font-size: 12.5px; font-weight: 600; color: #46557a; }
.llb-tag:hover { border-color: #bcd0ff; color: var(--blue); }
.llb-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 26px; background: linear-gradient(150deg,#eaf1ff,#f0edff); border: 1px solid #dde7fb; border-radius: 14px; padding: 18px 20px; }
.llb-cta strong { display: block; font-size: 15px; color: var(--ink); }
.llb-cta small { font-size: 12.5px; color: var(--slate); }

@media (max-width: 1100px) {
  .llb-main { grid-template-columns: 1fr; }
  .llv-grid { grid-template-columns: repeat(2, 1fr); }
  .lla-search { grid-template-columns: 1fr 1fr; }
  .lla-search-in { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .llv-grid { grid-template-columns: 1fr; }
  .llb-article { padding: 22px 18px; }
  .llb-title { font-size: 25px; }
  .lla-search { grid-template-columns: 1fr; }
}

/* Neutralise the legacy global .t-* chip backgrounds inside article components
   (they are only accent-variable carriers here; reference rows are white). */
.lla-cats li, .lla-node, .lla-topic { background: transparent; color: inherit; }
.lla-cats li a { color: var(--ink); }
.lla-node.lla-lcard, .lla-node.lla-tcard { background: var(--card); }
.lla-node.lla-featured { background: var(--card); }
.lla-topic { background: var(--card); }

/* ===================== LABS PAGE (/labs) + lab test cards ===================== */
.llx { padding-bottom: 56px; }
.llx-hero { background: linear-gradient(135deg, #eef3fd 0%, #f2f0ff 60%, #eef6ff 100%); }
.llx-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 380px; align-items: center; gap: 24px; padding-top: 44px; padding-bottom: 44px; }
.llx-badge { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 700; color: #0f9d6a; background: #e3f6ec; padding: 7px 14px; border-radius: 30px; }
.llx-badge i { font-size: 11px; }
.llx-h1 { font-size: 42px; font-weight: 800; letter-spacing: -.02em; line-height: 1.12; color: var(--ink); margin-top: 18px; }
.llx-h1 span { color: var(--blue); }
.llx-sub { font-size: 16px !important; color: var(--slate); margin-top: 16px !important; }
.llx-hero-art { justify-self: end; width: 300px; height: 220px; border-radius: 24px; background: radial-gradient(circle at 45% 40%, #dce8fd, #eef3fd 75%); display: flex; align-items: center; justify-content: center; font-size: 96px; color: #8fabdd; }

/* Search card */
.llx-search { position: relative; margin-top: -34px; background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 22px; box-shadow: 0 24px 50px -34px rgba(22,35,61,.6); display: grid; grid-template-columns: minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto; gap: 16px; align-items: end; }
.llx-field label { display: block; font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 8px; }
.llx-input { position: relative; }
.llx-input input, .llx-input select { width: 100%; appearance: none; -webkit-appearance: none; border: 1px solid var(--line); border-radius: 11px; padding: 12px 40px 12px 14px; font-size: 13.5px; font-family: inherit; color: var(--ink); background: #fff; }
/* Icons are inline SVGs (.llsvg), not <i> — position the SVG inside the field
   so the search / calendar / chevron icons sit at the right edge instead of
   dropping onto their own line and breaking the row alignment. */
.llx-input > .llsvg, .llx-input > i { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 15px; pointer-events: none; }
.llx-search-btn { padding: 13px 22px; border: 0; cursor: pointer; }
.llx-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 6px; }
.llx-stat { display: flex; align-items: center; gap: 11px; }
.llx-stat-ic { width: 40px; height: 40px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; font-size: 16px; background: var(--tcb); color: var(--tc); }
.llx-stat strong { display: block; font-size: 14.5px; font-weight: 800; color: var(--ink); }
.llx-stat small { font-size: 12.5px; color: var(--slate); }

/* Section cards */
.llx-card { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 24px; margin-top: 24px; box-shadow: 0 16px 36px -32px rgba(22,35,61,.5); }
.llx-h3 { font-size: 20px; font-weight: 800; color: var(--ink); margin-bottom: 18px; }

/* Category cards */
.llx-cats { display: grid; grid-template-columns: repeat(8, 1fr); gap: 14px; }
.llx-cat { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 18px 10px 14px; transition: transform .25s ease, box-shadow .25s ease; }
.llx-cat:hover { transform: translateY(-4px); box-shadow: 0 20px 36px -28px rgba(37,99,235,.5); }
.llx-cat-ic { width: 46px; height: 46px; font-size: 19px; border-radius: 50%; margin-bottom: 6px; }
.llx-cat strong { font-size: 13px; font-weight: 700; color: var(--ink); }
.llx-cat small { font-size: 11.5px; color: var(--muted); }

/* Assessment band */
.llx-assess { position: relative; display: grid; grid-template-columns: minmax(0,1.1fr) auto minmax(0,1.3fr); gap: 22px; align-items: center; background: linear-gradient(135deg,#eaf1ff,#f0edff); border: 1px solid #dde7fb; border-radius: 18px; padding: 26px; margin-top: 24px; }
.llx-assess-l h3 { font-size: 21px; font-weight: 800; color: var(--ink); }
.llx-assess-l p { font-size: 13.5px !important; color: var(--slate); margin-top: 8px !important; }
.llx-assess-cta { display: flex; align-items: center; gap: 12px; margin-top: 16px; flex-wrap: wrap; }
.llx-assess-time { font-size: 11.5px; font-weight: 700; color: #0f9d6a; background: #e3f6ec; padding: 6px 12px; border-radius: 20px; }
.llx-assess-art { width: 56px; height: 56px; border-radius: 16px; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 26px; color: var(--blue); box-shadow: 0 18px 34px -24px rgba(37,99,235,.6); }
.llx-assess-feats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.llx-af { text-align: center; }
.llx-af span { width: 44px; height: 44px; margin: 0 auto 8px; border-radius: 12px; background: #fff; color: var(--blue); display: flex; align-items: center; justify-content: center; font-size: 17px; }
.llx-af strong { display: block; font-size: 13.5px; font-weight: 700; color: var(--ink); }
.llx-af small { font-size: 11.5px; color: var(--slate); }

/* Why choose */
.llx-why { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(0,1fr); gap: 20px; margin-top: 24px; }
.llx-why-l { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 24px; box-shadow: 0 16px 36px -32px rgba(22,35,61,.5); }
.llx-why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px 16px; }
.llx-wf { display: flex; align-items: flex-start; gap: 11px; }
.llx-wf-ic { width: 42px; height: 42px; border-radius: 12px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 16px; background: var(--tcb); color: var(--tc); }
.llx-wf strong { display: block; font-size: 13.5px; font-weight: 700; color: var(--ink); }
.llx-wf small { font-size: 12px; color: var(--slate); }
.llx-why-r { background: linear-gradient(160deg,#25406e,#1b2f52); border-radius: 18px; padding: 26px; color: #fff; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.llx-why-art { width: 74px; height: 74px; border-radius: 18px; background: rgba(255,255,255,.12); display: flex; align-items: center; justify-content: center; font-size: 32px; color: #9db8ea; margin-bottom: 16px; }
.llx-why-r h4 { font-size: 20px; font-weight: 800; color: #fff; }
.llx-why-r p { font-size: 13px !important; color: rgba(255,255,255,.85); margin-top: 10px !important; }
.llx-why-r .ll-btn { margin-top: 16px; }

/* Steps */
.llx-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.llx-step { position: relative; display: flex; align-items: flex-start; gap: 12px; padding-right: 20px; }
.llx-step-ic { width: 48px; height: 48px; border-radius: 14px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 18px; background: var(--tcb); color: var(--tc); }
.llx-step strong { display: block; font-size: 14px; font-weight: 700; color: var(--ink); }
.llx-step small { font-size: 12px; color: var(--slate); }
.llx-step-arrow { position: absolute; right: 0; top: 16px; color: #b9c6e0; font-size: 13px; }

/* Guarantee bar */
.llx-guarantee { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 24px; background: linear-gradient(135deg,#4553c8,#5a51d6); border-radius: 18px; padding: 26px; color: #fff; }
.llx-g { display: flex; align-items: flex-start; gap: 12px; }
.llx-g > span { width: 46px; height: 46px; border-radius: 50%; flex: none; display: flex; align-items: center; justify-content: center; font-size: 17px; background: rgba(255,255,255,.14); }
.llx-g strong { display: block; font-size: 14px; font-weight: 700; color: #fff; }
.llx-g small { font-size: 12px; color: rgba(255,255,255,.85); }

/* Lab test cards (views rows) */
.llv-grid-tests { grid-template-columns: repeat(3, 1fr); }
.llt-card { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 18px; display: flex; flex-direction: column; transition: transform .25s ease, box-shadow .25s ease; }
.llt-card:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -30px rgba(37,99,235,.5); }
.llt-card-head { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 12px; }
.llt-ic { width: 46px; height: 46px; font-size: 19px; border-radius: 13px; }
.llt-pop { font-size: 10.5px; font-weight: 700; letter-spacing: .04em; color: #b45309; background: #fdf0d9; padding: 5px 10px; border-radius: 20px; }
.llt-card h4 { font-size: 15.5px; font-weight: 700; line-height: 1.35; margin-top: 7px; }
.llt-card h4 a { color: var(--ink); }
.llt-card h4 a:hover { color: var(--blue); }
.llt-card p { font-size: 12.5px !important; color: var(--slate); margin-top: 11px !important; }
.llt-card-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 16px; }
.llt-price { font-size: 19px; font-weight: 800; color: var(--ink); }
.llt-price-lg { font-size: 24px; }
.llt-book { padding: 9px 16px; font-size: 12.5px; }

@media (max-width: 1100px) {
  .llx-hero-grid { grid-template-columns: 1fr; }
  .llx-hero-art { display: none; }
  .llx-search { grid-template-columns: 1fr 1fr; }
  .llx-cats { grid-template-columns: repeat(4, 1fr); }
  .llx-assess { grid-template-columns: 1fr; }
  .llx-why { grid-template-columns: 1fr; }
  .llx-steps { grid-template-columns: 1fr 1fr; }
  .llx-stats { grid-template-columns: 1fr 1fr; }
  .llx-guarantee { grid-template-columns: 1fr 1fr; }
  .llv-grid-tests { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .llx-h1 { font-size: 32px; }
  .llx-search { grid-template-columns: 1fr; }
  .llx-cats { grid-template-columns: 1fr 1fr; }
  .llx-steps { grid-template-columns: 1fr; }
  .llx-why-grid { grid-template-columns: 1fr; }
  .llx-guarantee { grid-template-columns: 1fr; }
  .llv-grid-tests { grid-template-columns: 1fr; }
}

/* ===================== DOCTOR PROFILE (/doctors/{id}) ===================== */
.llp { padding: 26px 0 56px; }
.llp-crumb span { color: var(--muted); }
.llp-top { display: grid; grid-template-columns: minmax(0,1fr) 400px; gap: 24px; align-items: start; margin-top: 18px; }
.llp-main { background: var(--card); border: 1px solid var(--line); border-radius: 18px; padding: 26px 28px; box-shadow: 0 18px 40px -32px rgba(22,35,61,.5); }

.llp-head { position: relative; display: flex; gap: 24px; align-items: flex-start; }
.llp-photo { width: 168px; height: 168px; border-radius: 50%; overflow: hidden; flex: none; background: radial-gradient(circle at 40% 35%, #dce8fd, #eef3fd 75%); border: 4px solid #eaf0fb; }
.llp-photo img { width: 100%; height: 100%; object-fit: cover; }
.llp-photo-ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 58px; color: #9db4d8; }
.llp-chip { position: static; display: inline-block; margin-bottom: 10px; }
.llp-name { font-size: 32px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); display: flex; align-items: center; gap: 10px; }
.llp-name i { color: var(--blue); font-size: 20px; }
.llp-quals { font-size: 13.5px !important; color: var(--slate); margin-top: 8px !important; }
.llp-role { font-size: 15px !important; font-weight: 600; color: var(--blue); margin-top: 4px !important; }
.llp-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; }
.llp-meta span { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: var(--slate); }
.llp-meta i { color: var(--blue); font-size: 12.5px; }
.llp-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.llp-fav { position: absolute; top: 0; right: 0; width: 44px; height: 44px; font-size: 16px; }

/* Saved / wishlist state (heart button on doctor cards + profile). */
.lld-fav.is-saved { color: #e11d48; border-color: #fecdd3; background: #fff1f2; }
.lld-fav.is-saved svg { fill: currentColor; stroke: currentColor; }
.lld-fav { transition: color .15s ease, background .15s ease, border-color .15s ease; }

.llp-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 24px; padding: 18px; background: #f7f9fe; border: 1px solid var(--line); border-radius: 14px; }
.llp-stat { display: flex; align-items: center; gap: 11px; }
.llp-stat-ic { width: 42px; height: 42px; border-radius: 12px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 16px; background: var(--tcb); color: var(--tc); }
.llp-stat strong { display: block; font-size: 14px; font-weight: 800; color: var(--ink); }
.llp-stat small { font-size: 11.5px; color: var(--slate); }

.llp-tabs { display: flex; gap: 4px; margin-top: 24px; border-bottom: 1px solid var(--line); overflow-x: auto; }
.llp-tabs a { padding: 12px 16px; font-size: 14px; font-weight: 600; color: #46557a; border-bottom: 2px solid transparent; white-space: nowrap; }
.llp-tabs a.is-active, .llp-tabs a:hover { color: var(--blue); border-bottom-color: var(--blue); }

.llp-body { padding-top: 22px; }
.llp-body h2 { font-size: 20px; font-weight: 800; color: var(--ink); margin-bottom: 12px; }
.llp-body h3 { display: flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 700; color: var(--ink); margin: 22px 0 10px; }
.llp-body h3 i { color: var(--blue); font-size: 13px; }
.llp-body p { font-size: 14px !important; line-height: 1.7; color: #2a3650; }
.llp-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.llp-spec-chip { background: #eef3ff; border: 1px solid #dbe6fb; color: #2b4a9b; font-size: 12.5px; font-weight: 600; padding: 7px 14px; border-radius: 20px; }

/* Booking widget */
.llp-side .lla-card { margin-top: 0; }
.llp-side > * + * { margin-top: 18px; }
.llp-b-title { font-size: 18px; font-weight: 800; color: var(--ink); margin-bottom: 14px; }
.llp-modes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 16px; }
.llp-modes button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 10px 6px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: 12px; font-weight: 600; color: #46557a; cursor: pointer; }
.llp-modes button.is-active { background: #eaf1ff; border-color: #bcd0ff; color: var(--blue); }
.llp-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 16px; }
.llp-day { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 9px 4px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; }
.llp-day small { font-size: 10.5px; color: var(--muted); font-weight: 600; }
.llp-day strong { font-size: 16px; font-weight: 800; color: var(--ink); }
.llp-day.is-active { border-color: var(--blue); background: #eaf1ff; }
.llp-day.is-active strong, .llp-day.is-active small { color: var(--blue); }
.llp-time-label, .llp-field-label { font-size: 13px; font-weight: 700; color: var(--ink); margin-bottom: 10px; }
.llp-field-label { margin-top: 4px; }
.llp-patient { margin-bottom: 14px; }
.llp-input { width: 100%; border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; font-size: 13.5px; color: var(--ink); font-family: inherit; margin-bottom: 9px; }
.llp-input:last-child { margin-bottom: 0; }
.llp-input::placeholder { color: var(--muted); }
.llp-input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(37,99,235,.12); }
.llp-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.llp-slot { padding: 10px 6px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font-size: 12.5px; font-weight: 600; color: #46557a; cursor: pointer; }
.llp-slot.is-active { background: var(--blue); border-color: transparent; color: #fff; }
.llp-noslots { font-size: 12.5px; color: var(--slate); background: #f4f7fe; border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; margin-bottom: 14px; }
.llp-noslots i { color: var(--blue); margin-right: 5px; }
.llp-summary { background: #f7f9fe; border: 1px solid var(--line); border-radius: 12px; padding: 6px 14px; margin-bottom: 14px; }
.llp-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.llp-summary > div:last-child { border-bottom: 0; }
.llp-summary span { font-size: 12.5px; color: var(--slate); }
.llp-summary strong { font-size: 13px; color: var(--ink); text-align: right; }
.llp-confirm { width: 100%; }
.llp-cancel { display: flex; align-items: center; gap: 7px; justify-content: center; font-size: 11.5px !important; color: #0f9d6a; margin-top: 12px !important; }

.llp-loc-name { display: block; font-size: 15px; font-weight: 700; color: var(--ink); margin-top: 4px; }
.llp-loc-addr { font-size: 13px !important; color: var(--slate); margin-top: 6px !important; }

/* Similar doctors */
.llp-sim-head { margin-top: 30px; }
.llp-sim { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.llp-sim-card { display: flex; gap: 12px; background: var(--card); border: 1px solid var(--line); border-radius: 14px; padding: 14px; box-shadow: 0 14px 30px -28px rgba(22,35,61,.5); }
.llp-sim-photo { width: 62px; height: 62px; border-radius: 12px; overflow: hidden; flex: none; background: #eaf0fb; display: flex; align-items: center; justify-content: center; font-size: 24px; color: #9db4d8; }
.llp-sim-photo img { width: 100%; height: 100%; object-fit: cover; }
.llp-sim-body { min-width: 0; flex: 1; }
.llp-sim-body strong a { font-size: 14px; font-weight: 700; color: var(--ink); }
.llp-sim-body strong a:hover { color: var(--blue); }
.llp-sim-body > small { display: block; font-size: 12px; color: var(--slate); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.llp-sim-meta { display: flex; align-items: center; gap: 10px; font-size: 11.5px; color: var(--muted); margin-top: 6px; }
.llp-sim-fee { font-weight: 800; color: var(--ink); }
.llp-sim-btn { width: 100%; margin-top: 10px; padding: 8px 10px; font-size: 12px; }
.llp-trust { margin-top: 30px; }

@media (max-width: 1100px) {
  .llp-top { grid-template-columns: 1fr; }
  .llp-sim { grid-template-columns: repeat(2, 1fr); }
  .llp-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .llp-head { flex-direction: column; align-items: center; text-align: center; }
  .llp-meta, .llp-actions { justify-content: center; }
  .llp-name { font-size: 25px; }
  .llp-sim { grid-template-columns: 1fr; }
  .llp-main { padding: 20px 16px; }
}
.lld-name a { color: inherit; }
.lld-name a:hover { color: var(--blue); }
/* Dark why-choose card: keep the ghost button legible (.ll a inherit override) */
.llx-why-r a.ll-btn-ghost { color: var(--blue); background: #fff; border-color: #fff; }
.llx-why-r a.ll-btn-ghost:hover { color: var(--blue-d); }

/* ===================== APPOINTMENT CONFIRMATION (/appointment/{ref}) ===================== */
.llc { padding: 48px 0 64px; }
.llc-wrap { display: flex; justify-content: center; }
.llc-card { width: 100%; max-width: 560px; background: var(--card); border: 1px solid var(--line); border-radius: 22px; padding: 40px 36px; text-align: center; box-shadow: 0 26px 60px -40px rgba(22,35,61,.55); }
.llc-check { width: 84px; height: 84px; margin: 0 auto 20px; border-radius: 50%; background: #e3f6ec; color: #10b981; display: flex; align-items: center; justify-content: center; font-size: 42px; }
.llc-title { font-size: 27px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.llc-sub { font-size: 14px !important; color: var(--slate); margin-top: 10px !important; }
.llc-ref { margin: 24px auto 6px; display: inline-flex; flex-direction: column; gap: 4px; padding: 14px 28px; border-radius: 14px; background: linear-gradient(135deg,#eef3ff,#f0edff); border: 1px dashed #bcd0ff; }
.llc-ref span { font-size: 12px; font-weight: 600; color: var(--slate); letter-spacing: .04em; text-transform: uppercase; }
.llc-ref strong { font-size: 24px; font-weight: 800; color: var(--blue); letter-spacing: .06em; }
.llc-details { margin-top: 24px; text-align: left; border: 1px solid var(--line); border-radius: 14px; padding: 4px 18px; }
.llc-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.llc-row:last-child { border-bottom: 0; }
.llc-row span { font-size: 13px; color: var(--slate); }
.llc-row strong { font-size: 13.5px; font-weight: 700; color: var(--ink); text-align: right; }
.llc-row strong a { color: var(--blue); }
.llc-note { display: flex; align-items: flex-start; gap: 9px; text-align: left; margin-top: 20px; padding: 13px 15px; border-radius: 12px; background: #f4f7fe; font-size: 12.5px; color: var(--slate); }
.llc-note i { color: var(--blue); margin-top: 2px; }
.llc-actions { display: flex; gap: 12px; justify-content: center; margin-top: 26px; flex-wrap: wrap; }
@media (max-width: 560px) {
  .llc-card { padding: 30px 20px; }
  .llc-actions .ll-btn { flex: 1; }
}

/* ---- Legal pages (Privacy / Terms) ---- */
.ll-legal { max-width: 820px; margin: 0 auto; color: #46557a; line-height: 1.75; }
.ll-legal-meta { color: #8a97b5; font-size: 14px; margin-bottom: 26px; }
.ll-legal h2 { font-size: 20px; color: var(--ink); margin: 30px 0 10px; }
.ll-legal h2:first-of-type { margin-top: 0; }
.ll-legal p { margin: 0 0 8px; }
.ll-legal a { color: var(--blue); font-weight: 600; }
