/* ComparaCapilar redesign prototype v2 - palette A «Clínica clara» in the glamorous-camping card language
   (soft gradient hero + glass search card, rounded white cards, pill buttons). Live for all visitors (kill switch: cc_design_off).
   Everything is scoped to body.cc-design. */

@font-face { font-family: "Hanken Fallback"; src: local("Arial"), local("Helvetica"); size-adjust: 98%; ascent-override: 96%; descent-override: 25%; line-gap-override: 0%; }
@font-face { font-family: "Instrument Fallback"; src: local("Times New Roman"), local("Times"); size-adjust: 94%; ascent-override: 92%; descent-override: 24%; line-gap-override: 0%; }

:root {
  --cc-bg: #f4f7f7;
  --cc-surface: #ffffff;
  --cc-tint: #eef6f5;
  --cc-ink: #102a2e;
  --cc-teal: #0e5c63;
  --cc-teal-d: #0a464c;
  --cc-mint: #d7efe9;
  --cc-mint-l: #e9f6f2;
  --cc-line: #e3eaeb;
  --cc-line-2: #cfdcdd;
  --cc-sub: #4f6669;
  --cc-star: #d99a1e;
  --cc-star-off: #dfe6e7;
  --cc-amber-bg: #fdf3dc;
  --cc-amber-ink: #6e4a00;
  --cc-sand: #f6ead2;
  --cc-sky: #e3eef6;
  --cc-r-xl: 28px;
  --cc-radius: 20px;
  --cc-radius-s: 12px;
  --cc-shadow: 0 1px 2px rgba(16, 42, 46, .04), 0 14px 34px -20px rgba(16, 42, 46, .22);
  --cc-shadow-h: 0 2px 4px rgba(16, 42, 46, .05), 0 22px 44px -22px rgba(16, 42, 46, .32);
  --cc-body: "Hanken Grotesk", "Hanken Fallback", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --cc-display: "Instrument Serif", "Instrument Fallback", Georgia, "Times New Roman", serif;
  --cc-gutter: 16px;
}
@media (min-width: 768px) { :root { --cc-gutter: 24px; } }

/* ---------- base ---------- */
body.cc-design { background: var(--cc-bg) !important; color: var(--cc-ink); font-family: var(--cc-body); font-size: 16px; line-height: 1.55; padding-top: 0 !important; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
.cc-design *, .cc-design *::before, .cc-design *::after { box-sizing: border-box; }
.cc-design input, .cc-design select, .cc-design button, .cc-design textarea { font-family: inherit; }
.cc-design a { color: var(--cc-teal); }
.cc-design a:hover { color: var(--cc-teal-d); }
.cc-design :focus-visible { outline: 3px solid var(--cc-teal); outline-offset: 2px; border-radius: 6px; }
.cc-design .cc-num { font-variant-numeric: tabular-nums lining-nums; }
.cc-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.cc-lbl { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--cc-sub); }
.cc-sub { color: var(--cc-sub); }
.cc-ico { flex: none; display: inline-block; vertical-align: middle; }
.cc-ico--star { color: var(--cc-star); fill: var(--cc-star); }
.cc-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding-left: var(--cc-gutter); padding-right: var(--cc-gutter); }
.cc-design .container { width: 100%; max-width: 1240px; padding-left: var(--cc-gutter); padding-right: var(--cc-gutter); margin-left: auto; margin-right: auto; }
.cc-design .container .container, .cc-design .container .cc-wrap { padding-left: 0; padding-right: 0; max-width: none; }
.cc-design main, .cc-design .content { min-width: 0; }

.cc-design .no-rating, .cc-design .date_rev, .cc-design .rating:has(.no-rating) { display: none !important; }
.cc-design .cookie, .cc-design #compare_mobile, .cc-design .desktop-comparisons-bar, .cc-design .fixed_section { display: none !important; }

.cc-eyebrow { margin: 0 0 6px; font-size: 13px; font-weight: 600; letter-spacing: .04em; color: var(--cc-teal); }
.cc-design .cc-h2 { font: 400 clamp(30px, 3.6vw, 44px)/1.06 var(--cc-display); letter-spacing: -.012em; color: var(--cc-ink); margin: 0; text-transform: none; text-wrap: balance; }
.cc-design .cc-h2--sm { font-size: clamp(26px, 2.6vw, 32px); }

/* ---------- buttons ---------- */
.cc-btn, .cc-design .cc-cmp .btn_blue {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 42px; padding: 9px 18px; border-radius: 12px;
  font: 600 15px/1.2 var(--cc-body); letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap;
  border: 1.5px solid transparent; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s, transform .15s;
  box-shadow: none; width: auto; height: auto; margin: 0;
}
.cc-btn--pill, .cc-design .cc-cmp .btn_blue { border-radius: 999px; }
.cc-btn--lg { min-height: 52px; padding: 12px 26px; font-size: 16px; }
.cc-btn--sm { min-height: 36px; padding: 6px 14px; font-size: 14px; }
.cc-design a.cc-btn--primary, .cc-btn--primary { background: var(--cc-teal); color: #fff; border-color: var(--cc-teal); }
.cc-design a.cc-btn--primary:hover, .cc-btn--primary:hover { background: var(--cc-teal-d); border-color: var(--cc-teal-d); color: #fff; box-shadow: 0 8px 20px -10px rgba(10, 70, 76, .7); }
.cc-btn--outline, .cc-design a.cc-btn--outline { background: #fff; color: var(--cc-teal-d); border-color: var(--cc-line-2); }
.cc-btn--outline:hover, .cc-design a.cc-btn--outline:hover { border-color: var(--cc-teal); color: var(--cc-teal-d); background: var(--cc-mint-l); }
.cc-btn--soft, .cc-design a.cc-btn--soft { background: var(--cc-mint-l); color: var(--cc-teal-d); border-color: var(--cc-mint); }
.cc-btn--soft:hover, .cc-design a.cc-btn--soft:hover { background: var(--cc-mint); color: var(--cc-teal-d); }
.cc-btn--light, .cc-design a.cc-btn--light { background: #fff; color: var(--cc-teal-d); border-color: #fff; }
.cc-btn--light:hover, .cc-design a.cc-btn--light:hover { background: var(--cc-mint); color: var(--cc-teal-d); }
.cc-design .cc-cmp .btn_blue { background: #fff; color: var(--cc-ink); border-color: var(--cc-line-2); min-height: 42px; }
.cc-design .cc-cmp .btn_blue:hover { border-color: var(--cc-teal); color: var(--cc-teal-d); background: var(--cc-mint-l); }
.cc-design .cc-cmp .comparison_button::before { content: "+"; font-weight: 700; font-size: 17px; line-height: 1; color: var(--cc-teal); }
.cc-design .cc-cmp .comparison_button_del { background: var(--cc-mint); border-color: var(--cc-teal); color: var(--cc-teal-d); }
.cc-design .cc-cmp .comparison_button_del::before { content: "✓"; font-weight: 700; }
.cc-linkbtn { background: none; border: 0; padding: 6px 2px; font: 600 14px/1.2 var(--cc-body); color: var(--cc-teal); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.cc-linkbtn--inv { color: #fff; }

/* ---------- stars, chips, badges, price ---------- */
.cc-stars { display: inline-block; font-size: 15px; letter-spacing: 1px; line-height: 1; background: linear-gradient(90deg, var(--cc-star) var(--cc-fill), var(--cc-star-off) var(--cc-fill)); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.cc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.cc-chip { display: inline-block; font-size: 12.5px; font-weight: 600; line-height: 1.2; padding: 5px 10px; border-radius: 999px; background: var(--cc-mint-l); color: var(--cc-teal-d); border: 1px solid var(--cc-mint); }
.cc-badge { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; font-weight: 600; line-height: 1.2; padding: 5px 10px; border-radius: 999px; }
.cc-badge--free { background: var(--cc-amber-bg); color: var(--cc-amber-ink); }
.cc-badge--free::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #c98a0c; }
.cc-yes { display: inline-flex; align-items: center; gap: 4px; color: var(--cc-teal-d); font-weight: 600; }
.cc-closed { color: #8a3b12; font-weight: 600; }
.cc-pbadge { display: inline-flex; align-items: baseline; gap: 4px; padding: 6px 12px; border-radius: 999px; background: var(--cc-mint-l); color: var(--cc-teal-d); font-size: 13px; white-space: nowrap; }
.cc-pbadge b { font-size: 15px; }
.cc-pbadge--none { background: #f1f4f4; color: var(--cc-sub); font-weight: 500; }
.cc-rline { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; font-size: 14px; }
.cc-rline__v { display: contents; }
.cc-rline b { font-size: 16px; font-weight: 700; }
.cc-rline--none { color: var(--cc-sub); }
.cc-rline--none .cc-ico { color: var(--cc-line-2); }
.cc-rline--lg b { font-size: 22px; }
.cc-rline--lg .cc-stars { font-size: 20px; }

/* ---------- avatar (monogram) ---------- */
.cc-avatar { flex: none; display: inline-flex; width: 44px; height: 44px; border-radius: 14px; background: var(--cc-mint); color: var(--cc-teal-d); align-items: center; justify-content: center; }
.cc-avatar .image { font: 700 15px/1 var(--cc-body); letter-spacing: .02em; }
.cc-avatar--md { width: 56px; height: 56px; border-radius: 16px; }
.cc-avatar--md .image { font-size: 18px; }
.cc-avatar--sm { width: 40px; height: 40px; border-radius: 12px; }
.cc-avatar--sm .image { font-size: 13px; }

/* ================= header ================= */
.cc-design header.cc-header { position: relative; z-index: 50; background: rgba(255, 255, 255, .92); border-bottom: 1px solid var(--cc-line); margin: 0; padding: 0; height: auto; box-shadow: none; }
.cc-design .cc-header__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 72px; flex-wrap: wrap; }
.cc-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--cc-ink) !important; }
.cc-logo__word { font: 700 20px/1 var(--cc-body); letter-spacing: -.015em; }
.cc-logo__word span { color: var(--cc-teal); }
.cc-nav { display: flex; align-items: center; gap: 18px; }
.cc-nav ul { display: flex; gap: 2px; margin: 0; padding: 0; list-style: none; }
.cc-nav a:not(.cc-btn) { display: block; padding: 10px 14px; border-radius: 999px; font-size: 15px; font-weight: 500; color: var(--cc-ink); text-decoration: none; }
.cc-nav a:not(.cc-btn):hover { background: var(--cc-tint); color: var(--cc-teal-d); }
.cc-nav a[aria-current="page"] { background: var(--cc-mint-l); color: var(--cc-teal-d); font-weight: 600; }
.cc-navbtn { display: none; width: 44px; height: 44px; border: 1px solid var(--cc-line); border-radius: 12px; background: #fff; cursor: pointer; position: relative; }
.cc-navbtn__bars, .cc-navbtn__bars::before, .cc-navbtn__bars::after { position: absolute; left: 12px; right: 12px; height: 2px; background: var(--cc-ink); border-radius: 2px; content: ""; }
.cc-navbtn__bars { top: 21px; }
.cc-navbtn__bars::before { top: -6px; left: 0; right: 0; }
.cc-navbtn__bars::after { top: 6px; left: 0; right: 0; }
@media (max-width: 1023px) {
  .cc-design .cc-header__in { min-height: 64px; }
  .cc-navbtn { display: inline-block; }
  .cc-nav { display: none; width: 100%; padding-bottom: 14px; flex-direction: column; align-items: stretch; gap: 10px; }
  .cc-header.is-open .cc-nav { display: flex; }
  .cc-nav ul { flex-direction: column; }
  .cc-nav a:not(.cc-btn) { padding: 12px 14px; font-size: 16px; border-radius: 12px; }
}

/* ================= sections ================= */
.cc-sec { padding: clamp(36px, 5vw, 64px) 0 0; }
.cc-sec--tight { padding-top: 28px; }
.cc-sec__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.cc-sec__more { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 15px; text-decoration: none; white-space: nowrap; padding: 8px 0; }
.cc-design .cc-sec__more:hover { text-decoration: underline; text-underline-offset: 3px; }
.cc-sec__lede { max-width: 70ch; margin: -8px 0 22px; color: var(--cc-sub); }
.cc-sec__lede p { margin: 0; }
.cc-sec__foot { display: flex; gap: 10px; align-items: flex-start; margin: 18px 0 0; color: var(--cc-sub); font-size: 15px; }
.cc-sec__foot .cc-ico { color: var(--cc-teal); margin-top: 2px; }
.cc-sec__foot b { color: var(--cc-ink); }
.cc-panel { background: #fff; border-radius: var(--cc-r-xl); padding: clamp(20px, 3vw, 36px); box-shadow: var(--cc-shadow); }
.cc-panel__note { margin: 16px 0 0; font-size: 13.5px; color: var(--cc-sub); }
@media (max-width: 640px) { .cc-sec__head { flex-direction: column; align-items: flex-start; gap: 6px; } }

/* ================= home hero ================= */
.cc-home { overflow: hidden; }
.cc-hero2, .cc-phero { position: relative; padding: clamp(20px, 3.6vw, 44px) 0 0; isolation: isolate; }
.cc-hero2__blobs { position: absolute; inset: -40px 0 -120px; z-index: -1; pointer-events: none; overflow: hidden; }
.cc-hero2__blobs i { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .7; }
.cc-hero2__blobs i:nth-child(1) { width: 520px; height: 420px; left: 48%; top: -80px; background: #9fd8cb; }
.cc-hero2__blobs i:nth-child(2) { width: 460px; height: 360px; left: 8%; top: 220px; background: #cfe6f3; }
.cc-hero2__blobs i:nth-child(3) { width: 380px; height: 300px; right: -6%; top: 300px; background: #f3e3bd; opacity: .55; }
.cc-hero2__card {
  position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); grid-template-areas: "text media" "search search"; gap: 8px 32px; align-items: center;
  background: rgba(255, 255, 255, .72); -webkit-backdrop-filter: blur(18px) saturate(1.2); backdrop-filter: blur(18px) saturate(1.2);
  border: 1px solid rgba(255, 255, 255, .9); border-radius: 36px; padding: clamp(24px, 4.2vw, 56px); box-shadow: 0 30px 60px -40px rgba(14, 92, 99, .45);
}
.cc-hero2__text { grid-area: text; min-width: 0; }
.cc-design h1.cc-hero2__h1, .cc-design .cc-phero__h1 { font: 400 clamp(40px, 5.6vw, 72px)/1 var(--cc-display) !important; letter-spacing: -.015em; color: var(--cc-ink); margin: 0 0 18px; text-transform: none; text-wrap: balance; }
.cc-hero2__lede { font-size: clamp(17px, 1.5vw, 20px); line-height: 1.5; color: var(--cc-sub); margin: 0 0 18px; max-width: 46ch; }
.cc-hero2__facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cc-hero2__facts li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--cc-line); font-size: 14px; color: var(--cc-sub); }
.cc-hero2__facts b { color: var(--cc-ink); font-size: 15px; }
.cc-hero2__media { grid-area: media; display: flex; justify-content: center; min-width: 0; }
.cc-hero2__art { width: 100%; max-width: 440px; height: auto; }
.cc-search { grid-area: search; margin-top: 24px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: 12px; padding: 12px; background: #fff; border-radius: 22px; box-shadow: 0 12px 30px -18px rgba(16, 42, 46, .35); }
.cc-search__f { position: relative; display: block; margin: 0; min-width: 0; }
.cc-search__l { position: absolute; left: 18px; top: 9px; font-size: 11.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cc-sub); pointer-events: none; }
.cc-design .cc-select--lg { height: 58px; width: 100%; padding: 20px 40px 4px 17px; border-radius: 14px; font-size: 16px; font-weight: 500; border: 1.5px solid var(--cc-line-2); }
.cc-search__go { min-height: 58px; padding-left: 28px; padding-right: 30px; }
@media (max-width: 899px) {
  .cc-hero2__card { grid-template-columns: minmax(0, 1fr); grid-template-areas: "text" "search" "media"; border-radius: 28px; }
  .cc-hero2__media { margin-top: 8px; }
  .cc-hero2__art { max-width: 340px; }
  .cc-search { grid-template-columns: minmax(0, 1fr); margin-top: 18px; }
}
@media (max-width: 560px) { .cc-hero2__media { display: none; } .cc-hero2__card { padding: 22px 16px 18px; } .cc-search { padding: 10px; border-radius: 18px; } }

/* feature cards */
.cc-feats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 0; padding: 0; list-style: none; }
.cc-feat { background: #fff; border-radius: var(--cc-radius); padding: 26px 26px 24px; box-shadow: var(--cc-shadow); }
.cc-feat__ic { display: inline-flex; width: 52px; height: 52px; border-radius: 16px; align-items: center; justify-content: center; background: var(--cc-mint-l); color: var(--cc-teal); margin-bottom: 16px; }
.cc-design .cc-feat__t { font: 700 19px/1.25 var(--cc-body); margin: 0 0 6px; color: var(--cc-ink); text-transform: none; letter-spacing: -.01em; }
.cc-feat p { margin: 0; color: var(--cc-sub); font-size: 15px; }
@media (max-width: 899px) { .cc-feats { grid-template-columns: minmax(0, 1fr); gap: 12px; } .cc-feat { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 0 16px; padding: 18px; } .cc-feat__ic { grid-row: span 2; margin: 0; } }

/* ================= carousel ================= */
.cc-car { position: relative; }
.cc-car__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * 18px) / 4); gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 6px 4px 22px; margin: -6px -4px 0; scrollbar-width: none; overscroll-behavior-x: contain; }
.cc-car__track::-webkit-scrollbar { display: none; }
.cc-car__track > * { scroll-snap-align: start; }
.cc-car__nav { display: flex; justify-content: flex-end; gap: 10px; }
.cc-car__btn { display: inline-flex; width: 46px; height: 46px; border-radius: 50%; align-items: center; justify-content: center; border: 1.5px solid var(--cc-line-2); background: #fff; color: var(--cc-teal-d); cursor: pointer; transition: background .15s, border-color .15s; }
.cc-car__btn:hover:not(:disabled) { background: var(--cc-mint-l); border-color: var(--cc-teal); }
.cc-car__btn:disabled { opacity: .4; cursor: default; }
@media (max-width: 1099px) { .cc-car__track { grid-auto-columns: calc((100% - 2 * 16px) / 3); gap: 16px; } }
@media (max-width: 767px) { .cc-car__track { grid-auto-columns: 78%; gap: 12px; } .cc-car__nav { display: none; } }

/* compact clinic card */
.cc-ccard { position: relative; display: flex; flex-direction: column; gap: 10px; background: #fff; border-radius: var(--cc-radius); padding: 20px; box-shadow: var(--cc-shadow); transition: box-shadow .2s, transform .2s; min-width: 0; }
.cc-ccard:hover { box-shadow: var(--cc-shadow-h); transform: translateY(-2px); }
.cc-ccard__top { display: flex; align-items: flex-start; justify-content: space-between; }
.cc-ccard__rank { font-size: 13px; font-weight: 700; color: var(--cc-teal-d); background: var(--cc-mint-l); padding: 4px 10px; border-radius: 999px; }
.cc-design .cc-ccard__name { font: 700 17px/1.3 var(--cc-body); margin: 2px 0 0; letter-spacing: -.01em; text-transform: none; min-height: 2.6em; }
.cc-design .cc-ccard__name a { color: var(--cc-ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cc-design .cc-ccard__name a::after { content: ""; position: absolute; inset: 0; border-radius: var(--cc-radius); }
.cc-design .cc-ccard__name a:hover { color: var(--cc-teal); }
.cc-ccard__city { display: flex; align-items: center; gap: 5px; margin: -4px 0 0; font-size: 13.5px; color: var(--cc-sub); min-width: 0; }
.cc-ccard__city span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-ccard__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--cc-line); }
.cc-ccard__go { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; color: var(--cc-teal); white-space: nowrap; }

/* ================= map CTA ================= */
.cc-mapcta { position: relative; min-height: 440px; border-radius: var(--cc-r-xl); overflow: hidden; box-shadow: var(--cc-shadow); background: #eef4f2; display: flex; align-items: center; justify-content: center; padding: 24px; }
.cc-mapcta__bg { position: absolute; inset: 0; filter: blur(1.5px) saturate(.9); opacity: .9; }
.cc-mapcta__bg svg { display: block; width: 100%; height: 100%; }
.cc-mapcta__card { position: relative; max-width: 520px; text-align: left; background: rgba(255, 255, 255, .78); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border: 1px solid rgba(255, 255, 255, .95); border-radius: 26px; padding: 30px 32px; box-shadow: 0 24px 50px -30px rgba(16, 42, 46, .45); }
.cc-mapcta__t { font: 400 clamp(30px, 3.4vw, 42px)/1.05 var(--cc-display); margin: 0 0 10px; color: var(--cc-ink); }
.cc-mapcta__s { margin: 0 0 20px; color: var(--cc-sub); font-size: 15px; }
.cc-mapcta__map { position: absolute; inset: 0; z-index: 2; }
.cc-mapcta.is-live .cc-mapcta__card, .cc-mapcta.is-live .cc-mapcta__bg { display: none; }
.cc-mapcta.is-live { padding: 0; }
.cc-clu-wrap { background: none; border: 0; }
.cc-clu { display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(14, 92, 99, .92); color: #fff; font: 700 13px/1 var(--cc-body); border: 3px solid #fff; box-shadow: 0 0 0 6px rgba(14, 92, 99, .18), 0 4px 10px rgba(16, 42, 46, .3); width: 100%; height: 100%; }
@media (max-width: 640px) { .cc-mapcta { min-height: 380px; padding: 14px; } .cc-mapcta__card { padding: 22px 20px; } }

/* ================= cities ================= */
.cc-cities { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.cc-city { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: var(--cc-radius); overflow: hidden; box-shadow: var(--cc-shadow); transition: box-shadow .2s, transform .2s; min-width: 0; }
.cc-city:hover { box-shadow: var(--cc-shadow-h); transform: translateY(-2px); }
.cc-city__media { position: relative; aspect-ratio: 16 / 10; background: var(--cc-mint); overflow: hidden; }
.cc-city__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.cc-city:hover .cc-city__media img { transform: scale(1.03); }
.cc-city__media--none { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--cc-mint), #b9e0d6); }
.cc-city__media--none span { font: 400 64px/1 var(--cc-display); color: var(--cc-teal-d); }
.cc-credit { position: absolute; right: 8px; bottom: 8px; z-index: 2; max-width: calc(100% - 16px); font-size: 10.5px; line-height: 1.3; color: #fff; background: rgba(16, 42, 46, .62); padding: 3px 7px; border-radius: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-design .cc-credit a { color: #fff; text-decoration: underline; text-underline-offset: 2px; position: relative; z-index: 3; }
.cc-city__body { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 20px; flex: 1; }
.cc-design .cc-city__name { font: 400 30px/1.05 var(--cc-display); margin: 0; text-transform: none; }
.cc-design .cc-city__name a { color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-city__name a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.cc-city__facts { display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0; padding: 0; list-style: none; font-size: 14px; color: var(--cc-sub); }
.cc-city__facts li { display: inline-flex; align-items: center; gap: 4px; }
.cc-city__facts b { color: var(--cc-ink); }
.cc-city__btn { margin-top: auto; align-self: flex-start; }
.cc-allcities { margin-top: 22px; background: #fff; border-radius: var(--cc-radius); box-shadow: var(--cc-shadow); padding: 6px 22px; }
.cc-allcities summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; cursor: pointer; }
.cc-allcities summary::-webkit-details-marker { display: none; }
.cc-design .cc-allcities__t { font: 700 17px/1.3 var(--cc-body); margin: 0; text-transform: none; }
.cc-allcities[open] summary .cc-ico { transform: rotate(180deg); }
.cc-cgrid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0 0 18px; padding: 0; list-style: none; }
.cc-cgrid a { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding: 10px 12px; border-radius: 12px; background: var(--cc-bg); color: var(--cc-ink); text-decoration: none; font-size: 14.5px; font-weight: 500; min-width: 0; }
.cc-cgrid a span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cc-cgrid a b { font-size: 12.5px; color: var(--cc-teal-d); background: #fff; padding: 2px 7px; border-radius: 999px; }
.cc-cgrid a:hover { background: var(--cc-mint-l); color: var(--cc-teal-d); }
@media (max-width: 1099px) { .cc-cities { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cc-cgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cc-cities { grid-template-columns: minmax(0, 1fr); gap: 14px; } .cc-cgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cc-allcities { padding: 4px 14px; } }

/* ================= treatment tiles (vetdocs-like) ================= */
.cc-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cc-tile { position: relative; display: flex; flex-direction: column; gap: 8px; min-height: 220px; padding: 26px; border-radius: var(--cc-r-xl); color: var(--cc-ink); text-decoration: none; overflow: hidden; transition: transform .2s, box-shadow .2s; }
.cc-tile:hover { transform: translateY(-2px); box-shadow: var(--cc-shadow-h); }
.cc-tile__ic { display: inline-flex; width: 54px; height: 54px; border-radius: 16px; align-items: center; justify-content: center; background: rgba(255, 255, 255, .7); margin-bottom: 8px; }
.cc-design .cc-tile__t { font: 400 30px/1.05 var(--cc-display); margin: 0; text-transform: none; }
.cc-design .cc-tile__t a { color: inherit; text-decoration: none; }
.cc-design .cc-tile__t a::after { content: ""; position: absolute; inset: 0; }
.cc-tile__d { font-size: 15px; }
.cc-tile__links { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 0; padding: 10px 0 0; list-style: none; }
.cc-design .cc-tile__links a { display: inline-block; padding: 6px 11px; border-radius: 999px; background: rgba(255, 255, 255, .75); color: var(--cc-ink); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.cc-design .cc-tile__links a:hover { background: #fff; }
.cc-tile--wide { grid-row: span 2; }
.cc-tile--ink { background: var(--cc-ink); color: #fff; }
.cc-design a.cc-tile--ink, .cc-design a.cc-tile--ink:hover { color: #fff; }
.cc-tile--ink .cc-tile__ic { background: rgba(255, 255, 255, .1); color: #9fd8cb; }
.cc-tile--ink .cc-tile__t { font-size: clamp(36px, 3.6vw, 48px); }
.cc-tile--ink .cc-tile__d { color: #c9dcd9; max-width: 30ch; }
.cc-tile__vs { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.cc-tile__vs span { padding: 14px; border-radius: 16px; background: rgba(255, 255, 255, .08); color: #c9dcd9; font-size: 14px; }
.cc-tile__vs b { display: block; font-size: 30px; color: #fff; line-height: 1.1; }
.cc-tile__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 18px; font-weight: 600; color: #9fd8cb; }
.cc-tile--mint { background: var(--cc-mint); }
.cc-tile--sand { background: var(--cc-sand); }
.cc-tile--sky { background: var(--cc-sky); }
.cc-tile--teal { background: var(--cc-teal); color: #fff; }
.cc-tile--teal .cc-tile__ic { background: rgba(255, 255, 255, .14); }
.cc-design .cc-tile--teal .cc-tile__links a { background: rgba(255, 255, 255, .16); color: #fff; }
.cc-design .cc-tile--teal .cc-tile__links a:hover { background: rgba(255, 255, 255, .26); }
@media (max-width: 1099px) { .cc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cc-tile--wide { grid-row: auto; grid-column: 1 / -1; } }
@media (max-width: 640px) { .cc-tiles { grid-template-columns: minmax(0, 1fr); gap: 12px; } .cc-tile { min-height: 0; padding: 22px; } }

/* ================= how we rank ================= */
.cc-how { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 32px; background: #fff; border-radius: var(--cc-r-xl); padding: clamp(24px, 4vw, 48px); box-shadow: var(--cc-shadow); }
.cc-how__head p:not(.cc-eyebrow) { color: var(--cc-sub); margin: 12px 0 20px; }
.cc-steps { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.cc-step { display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 16px; padding: 18px; border-radius: 20px; background: var(--cc-bg); }
.cc-step__n { display: inline-flex; width: 56px; height: 56px; border-radius: 18px; align-items: center; justify-content: center; background: var(--cc-teal); color: #fff; font: 400 32px/1 var(--cc-display); }
.cc-step:nth-child(2) .cc-step__n { background: var(--cc-ink); }
.cc-step:nth-child(3) .cc-step__n { background: #c98a0c; }
.cc-design .cc-step__t { font: 700 18px/1.3 var(--cc-body); margin: 4px 0 4px; text-transform: none; }
.cc-step p { margin: 0; color: var(--cc-sub); font-size: 15px; }
.cc-formula { font-weight: 700; color: var(--cc-ink); background: #fff; padding: 1px 7px; border-radius: 6px; white-space: nowrap; }
@media (max-width: 899px) { .cc-how { grid-template-columns: minmax(0, 1fr); gap: 20px; } .cc-step { grid-template-columns: 44px minmax(0, 1fr); padding: 14px; gap: 12px; } .cc-step__n { width: 44px; height: 44px; font-size: 26px; border-radius: 14px; } .cc-formula { white-space: normal; } }

/* ================= FAQ ================= */
.cc-faqsec__grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.6fr); gap: 32px; align-items: start; }
.cc-faqsec__side { position: sticky; top: 20px; }
.cc-faqsec__intro { color: var(--cc-sub); margin-top: 12px; }
.cc-faqsec__note { display: flex; gap: 10px; align-items: flex-start; margin: 18px 0 0; padding: 14px 16px; border-radius: 16px; background: var(--cc-mint-l); color: var(--cc-teal-d); font-size: 14px; }
.cc-acc { display: grid; gap: 10px; }
.cc-acc__i { background: #fff; border-radius: 18px; box-shadow: var(--cc-shadow); }
.cc-acc__i summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px 18px 22px; border-radius: 18px; }
.cc-acc__i summary::-webkit-details-marker { display: none; }
.cc-design .cc-acc__i summary h3 { margin: 0; font: 600 17px/1.35 var(--cc-body); color: var(--cc-ink); text-transform: none; }
.cc-acc__i summary:hover h3 { color: var(--cc-teal); }
.cc-acc__ic { flex: none; width: 32px; height: 32px; border-radius: 50%; background: var(--cc-mint-l) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%230a464c' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center no-repeat; transition: transform .2s; }
.cc-acc__i[open] .cc-acc__ic { transform: rotate(45deg); background-color: var(--cc-mint); }
.cc-acc__a { padding: 0 22px 18px; color: var(--cc-ink); }
.cc-acc__a p { margin: 0 0 .8em; font-size: 16px; line-height: 1.65; }
.cc-acc__a p:last-child { margin-bottom: 0; }
@media (max-width: 899px) { .cc-faqsec__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; } .cc-faqsec__side { position: static; } }

/* ================= guides ================= */
.cc-guide { position: relative; display: flex; flex-direction: column; gap: 10px; background: #fff; border-radius: var(--cc-radius); padding: 14px 14px 20px; box-shadow: var(--cc-shadow); transition: box-shadow .2s, transform .2s; min-width: 0; }
.cc-guide:hover { box-shadow: var(--cc-shadow-h); transform: translateY(-2px); }
.cc-guide__art { display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 9; border-radius: 14px; background: var(--cc-mint); color: var(--cc-teal-d); }
.cc-guide--1 .cc-guide__art { background: var(--cc-sky); }
.cc-guide--2 .cc-guide__art { background: var(--cc-sand); color: #5a4108; }
.cc-guide--3 .cc-guide__art { background: var(--cc-ink); color: #9fd8cb; }
.cc-guide__art .cc-ico { width: 56px; height: 56px; stroke-width: 1.4; }
.cc-design .cc-guide__t { font: 700 17px/1.3 var(--cc-body); margin: 4px 6px 0; text-transform: none; }
.cc-design .cc-guide__t a { color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-guide__t a::after { content: ""; position: absolute; inset: 0; border-radius: var(--cc-radius); }
.cc-design .cc-guide__t a:hover { color: var(--cc-teal); }
.cc-guide__x { margin: 0 6px; font-size: 14px; color: var(--cc-sub); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.cc-guide__go { display: inline-flex; align-items: center; gap: 4px; margin: auto 6px 0; padding-top: 6px; font-size: 14px; font-weight: 600; color: var(--cc-teal); }

/* ================= long text: card + collapse ================= */
.cc-sec--text { padding-bottom: 8px; }
.cc-textcard { background: #fff; border-radius: var(--cc-r-xl); padding: clamp(22px, 4.5vw, 56px) clamp(18px, 6vw, 80px); box-shadow: var(--cc-shadow); }
.cc-collapse__body { position: relative; }
.cc-js .cc-collapse:not(.is-open) .cc-collapse__body { max-height: 340px; overflow: hidden; }
.cc-js .cc-collapse:not(.is-open) .cc-collapse__body::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 140px; background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 85%); pointer-events: none; }
.cc-collapse__bar { display: none; justify-content: center; padding-top: 14px; }
.cc-js .cc-collapse__bar { display: flex; }
.cc-collapse.is-open .cc-collapse__btn .cc-ico { transform: rotate(180deg); }
.cc-textcard__lead + .cc-collapse { margin-top: .6em; }
.cc-article { font-size: 17px; line-height: 1.7; color: var(--cc-ink); }
.cc-article > *, .cc-article .cc-txt__sec > *, .cc-collapse__body > * { max-width: 72ch; }
.cc-article > :first-child { margin-top: 0; }
.cc-design .cc-article p { margin: 0 0 1em; font-size: 17px; line-height: 1.7; color: var(--cc-ink); }
.cc-design .cc-article h2 { font: 400 clamp(28px, 3vw, 36px)/1.12 var(--cc-display); letter-spacing: -.01em; color: var(--cc-ink); margin: 1.5em 0 .45em; text-transform: none; }
.cc-design .cc-article > h2:first-child, .cc-design .cc-article .cc-txt__sec:first-child > h2 { margin-top: 0; }
.cc-design .cc-article h3 { font: 700 18px/1.35 var(--cc-body); margin: 1.4em 0 .4em; color: var(--cc-ink); text-transform: none; }
.cc-design .cc-article ul, .cc-design .cc-article ol { margin: 0 0 1.1em; padding-left: 1.3em; }
.cc-design .cc-article li { margin: .3em 0; font-size: 17px; line-height: 1.6; }
.cc-design .cc-article li::marker { color: var(--cc-teal); }
.cc-design .cc-article a, .cc-design .cc-acc__a a, .cc-design .cc-factor a, .cc-design .cc-itile a, .cc-design .cc-check a, .cc-design .cc-phero__lede a { color: var(--cc-teal); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cc-design .cc-article strong { font-weight: 700; }
.cc-faq { border-top: 1px solid var(--cc-line); max-width: 72ch; }
.cc-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 2px; }
.cc-faq summary::-webkit-details-marker { display: none; }
.cc-faq summary::after { content: ""; flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--cc-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 1v10M1 6h10' stroke='%230a464c' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center no-repeat; transition: transform .2s; }
.cc-faq[open] summary::after { transform: rotate(45deg); }
.cc-design .cc-faq summary h3 { margin: 0; font-size: 17px; }
.cc-faq__a { padding: 0 2px 8px; }
.cc-sources { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--cc-line); max-width: 72ch; }
.cc-design .cc-sources h2 { font: 600 12px/1.3 var(--cc-body) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--cc-sub); margin: 0 0 .6em !important; }
.cc-design .cc-sources p, .cc-design .cc-sources li { font-size: 13.5px; line-height: 1.5; color: var(--cc-sub); margin: .2em 0; }
.cc-design .cc-sources ul { margin: 0; padding-left: 1.1em; }
.cc-srcwrap { padding: 8px 4px 0; }
.cc-srcwrap .cc-sources { border-top: 0; margin-top: 18px; }

/* ================= listing ================= */
.cc-design .wrapper { background: transparent; }
.cc-design .wrapper .cap { position: relative; background: radial-gradient(60% 120% at 80% 0%, rgba(159, 216, 203, .45), transparent 60%), radial-gradient(50% 90% at 0% 30%, rgba(207, 230, 243, .6), transparent 65%), var(--cc-bg); padding: 40px 0 0; margin: 0; border: 0; }
.cc-design .cap .container { display: block; }
.cc-design .cap .cap-left { background: none; padding: 0; margin: 0; box-shadow: none; border-radius: 0; max-width: 900px; width: auto; min-height: 0; }
.cc-design .cap .cap-right, .cc-design .cap .info-ver-3-outer, .cc-design .cap .v3_top_text:empty { display: none; }
.cc-design h1.v3_top_h1, .cc-design .cap h1 { font-family: var(--cc-display); font-weight: 400; font-size: clamp(38px, 5.4vw, 62px); line-height: 1.02; letter-spacing: -.014em; color: var(--cc-ink); margin: 0; text-wrap: balance; }
.cc-lhead { background: transparent; padding: 12px 0 22px; width: 100%; flex: 0 0 100%; }
.cc-lede { max-width: 66ch; margin: 0 0 18px; color: var(--cc-sub); font-size: 16px; }
.cc-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0; }
.cc-stat { padding: 16px 20px; background: #fff; border-radius: 18px; box-shadow: var(--cc-shadow); min-width: 0; }
.cc-stat dt { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cc-sub); margin: 0 0 4px; }
.cc-stat dd { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.cc-stat b { font-size: 28px; font-weight: 700; color: var(--cc-teal-d); letter-spacing: -.02em; line-height: 1.1; }
.cc-stat span { font-size: 13px; color: var(--cc-sub); }
@media (max-width: 767px) { .cc-design .wrapper .cap { padding-top: 26px; } .cc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .cc-stat { padding: 12px 14px; border-radius: 14px; } .cc-stat b { font-size: 22px; } }

.cc-design .flex-listing-content { margin-top: 0 !important; display: grid !important; grid-template-columns: minmax(0, 1fr) 380px; gap: 18px 24px; align-items: start; padding-top: 4px; padding-bottom: 8px; }
.cc-design .flex-listing-content > #sidebar { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; padding: 0 !important; margin: -1px !important; border: 0 !important; opacity: 0; pointer-events: none; left: auto !important; top: auto !important; }
.cc-design .flex-listing-content > .content { grid-column: 1; grid-row: 2; width: auto; max-width: none; padding: 0; margin: 0; flex: none; min-width: 0; }
.cc-filterbar { grid-column: 1 / -1; grid-row: 1; min-height: 104px; background: #fff; border-radius: var(--cc-radius); box-shadow: var(--cc-shadow); padding: 14px 18px; display: grid; gap: 10px; transition: opacity .2s; }
.cc-filterbar.is-loading { opacity: .6; pointer-events: none; }
.cc-mapaside { grid-column: 2; grid-row: 2; position: sticky; top: 16px; }
.cc-design .content > .sorting_search, .cc-design .content > .sorting-full, .cc-design #items_found, .cc-design a.load_more, .cc-design .load_more .load, .cc-design .seemap, .cc-design #map_modal { display: none !important; }
.cc-design .content #objects, .cc-design .content #objects .sections { display: block; margin: 0; padding: 0; background: none; box-shadow: none; }
body.cc-map-closed .flex-listing-content { grid-template-columns: minmax(0, 1fr); }
body.cc-map-closed .cc-mapaside { grid-column: 1; grid-row: 2; position: static; }
body.cc-map-closed .flex-listing-content > .content { grid-row: 3; }
.cc-mapaside.is-collapsed .cc-map { display: none; }
.cc-mapaside.is-collapsed .cc-mapbox { padding-bottom: 10px; }

.cc-fb__row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; min-width: 0; }
.cc-fb__row--2 { border-top: 1px solid var(--cc-line); padding-top: 10px; }
.cc-field { display: flex; align-items: center; gap: 8px; margin: 0; min-width: 0; padding: 0; }
.cc-field__l { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cc-sub); white-space: nowrap; min-width: 92px; }
.cc-select, .cc-input { height: 40px; border: 1.5px solid var(--cc-line-2); border-radius: 12px; background: #fff; color: var(--cc-ink); font-size: 14.5px; padding: 0 12px; min-width: 0; max-width: 100%; }
.cc-select { padding-right: 34px; -webkit-appearance: none; appearance: none; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230e5c63' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 13px center; }
.cc-select:hover, .cc-input:hover { border-color: var(--cc-teal); }
.cc-fchips { display: flex; flex-wrap: wrap; gap: 6px; }
.cc-fchip { height: 36px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--cc-line-2); background: #fff; color: var(--cc-ink); font-size: 14px; font-weight: 500; cursor: pointer; white-space: nowrap; }
.cc-fchip:hover { border-color: var(--cc-teal); }
.cc-fchip[aria-pressed="true"] { background: var(--cc-teal); border-color: var(--cc-teal); color: #fff; }
.cc-fchip--toggle[aria-pressed="true"]::before { content: "✓ "; }
.cc-fb__count { margin-left: auto; font-size: 14px; color: var(--cc-sub); font-weight: 500; }
.cc-field--search .cc-input { width: 200px; }
@media (max-width: 1099px) { .cc-design .flex-listing-content { grid-template-columns: minmax(0, 1fr); } .cc-mapaside { grid-column: 1; grid-row: 2; position: static; } .cc-design .flex-listing-content > .content { grid-row: 3; } }
@media (max-width: 767px) {
  .cc-filterbar { padding: 12px; min-height: 0; }
  .cc-fb__row { gap: 10px; }
  .cc-field { width: 100%; }
  .cc-field:not(.cc-field--chips) { flex-wrap: nowrap; }
  .cc-field .cc-select { flex: 1 1 auto; }
  .cc-design .cc-filterbar .cc-field__l { min-width: 0; }
  .cc-field--chips > .cc-field__l { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .cc-field--chips .cc-fchips { flex-wrap: nowrap; overflow-x: auto; margin: 0 -12px; padding: 0 12px 2px; scrollbar-width: none; width: calc(100% + 24px); }
  .cc-field--chips .cc-fchips::-webkit-scrollbar { display: none; }
  .cc-fb__row--2 .cc-field--chips .cc-fchips { flex-wrap: wrap; margin: 0; padding: 0; width: auto; overflow: visible; }
  .cc-fb__count { margin-left: 0; order: 5; width: 100%; }
  .cc-field--search, .cc-field--sort { width: calc(50% - 5px); }
  .cc-field--search .cc-input, .cc-field--sort .cc-select { width: 100%; }
  .cc-field--sort .cc-field__l { display: none; }
}

.cc-mapbox { background: #fff; border-radius: var(--cc-radius); box-shadow: var(--cc-shadow); padding: 12px; }
.cc-mapbox__head { display: flex; align-items: center; justify-content: space-between; padding: 2px 6px 10px; }
.cc-map { height: calc(100vh - 120px); max-height: 640px; min-height: 360px; border-radius: 14px; background: var(--cc-tint); z-index: 1; }
@media (max-width: 1099px) { .cc-map { height: 300px; min-height: 0; } }
.cc-pin-wrap { background: none; border: 0; }
.cc-pin { display: flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: var(--cc-teal); color: #fff; font: 700 12px/1 var(--cc-body); border: 2px solid #fff; box-shadow: 0 2px 6px rgba(16, 42, 46, .35); transition: transform .12s; }
.is-hot .cc-pin, .cc-pin-wrap.is-hot .cc-pin { background: #c98a0c; transform: scale(1.18); }
.cc-pin--dot { width: 22px; height: 22px; box-shadow: 0 0 0 6px rgba(14, 92, 99, .2); }
.cc-pin--self { background: #c98a0c; width: 26px; height: 26px; box-shadow: 0 0 0 7px rgba(201, 138, 12, .22); }
.cc-pin--near { background: #fff; color: var(--cc-teal-d); border-color: var(--cc-teal); }
.cc-design .leaflet-popup-content { margin: 10px 14px; font: 14px/1.4 var(--cc-body); }
.cc-design .leaflet-popup-content-wrapper { border-radius: 14px; }
.cc-pop__n { display: block; font-weight: 700; color: var(--cc-ink) !important; margin-bottom: 2px; }
.cc-pop__m { color: var(--cc-sub); font-size: 13px; }
.cc-design .leaflet-control-attribution { font-size: 11px; }
.cc-design .cc-map .leaflet-tile-pane, .cc-design .cc-mapcta__map .leaflet-tile-pane { filter: saturate(.45) contrast(1.03) brightness(1.02); }

/* listing card (glamorous-camping card) */
.cc-rows { display: grid; gap: 14px; }
.cc-row[hidden], .cc-callout[hidden] { display: none !important; }
.cc-lcard { position: relative; display: grid; grid-template-columns: 132px minmax(0, 1fr); grid-template-areas: "media main" "bar bar" "act act"; gap: 16px 22px; background: #fff; border-radius: var(--cc-r-xl); padding: 22px; box-shadow: var(--cc-shadow); transition: box-shadow .2s; }
.cc-lcard:hover { box-shadow: var(--cc-shadow-h); }
.cc-lcard__media { grid-area: media; position: relative; align-self: start; aspect-ratio: 1; border-radius: 22px; display: flex; align-items: center; justify-content: center; background: radial-gradient(120% 120% at 0% 0%, #e9f6f2 0, #d7efe9 45%, #b9e0d6 100%); color: var(--cc-teal-d); }
.cc-lcard__mono { font: 700 30px/1 var(--cc-body); letter-spacing: .02em; }
.cc-lcard__rank { position: absolute; left: 10px; top: 10px; font-size: 12.5px; font-weight: 700; background: #fff; color: var(--cc-teal-d); padding: 3px 9px; border-radius: 999px; box-shadow: 0 2px 6px rgba(16, 42, 46, .12); }
.cc-row[data-rank="1"] .cc-lcard__rank, .cc-row[data-rank="2"] .cc-lcard__rank, .cc-row[data-rank="3"] .cc-lcard__rank { background: var(--cc-teal); color: #fff; }
.cc-lcard__main { grid-area: main; min-width: 0; display: flex; flex-direction: column; gap: 9px; }
.cc-lcard__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.cc-design .cc-row__name { margin: 0; font: 700 20px/1.25 var(--cc-body); letter-spacing: -.012em; text-transform: none; min-width: 0; }
.cc-design .cc-row__name a { color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-row__name a:hover { color: var(--cc-teal); text-decoration: underline; text-underline-offset: 3px; }
.cc-design .cc-row__name a::after { content: ""; position: absolute; inset: 0; border-radius: var(--cc-r-xl); z-index: 0; }
.cc-cmp--icon { position: relative; z-index: 1; flex: none; }
.cc-design .cc-cmp--icon .btn_blue { width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; font-size: 0; gap: 0; background: var(--cc-bg); border-color: transparent; }
.cc-design .cc-cmp--icon .btn_blue::before { font-size: 20px !important; }
.cc-design .cc-cmp--icon .btn_blue:hover { background: var(--cc-mint-l); border-color: var(--cc-teal); }
.cc-design .cc-cmp--icon .comparison_button_del { background: var(--cc-mint); border-color: var(--cc-teal); }
.cc-lcard__facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 3px 14px; margin: 2px 0 0; font-size: 14.5px; }
.cc-lcard__facts > div { display: contents; }
.cc-lcard__facts dt { font-weight: 700; color: var(--cc-ink); }
.cc-lcard__facts dt::after { content: ":"; }
.cc-lcard__facts dd { margin: 0; min-width: 0; color: var(--cc-ink); overflow-wrap: anywhere; }
.cc-lcard__bar { grid-area: bar; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 14px 20px; border-radius: 16px; background: var(--cc-tint); }
.cc-lcard__pl { font-size: 14px; color: var(--cc-sub); }
.cc-lcard__pv { margin-left: auto; color: var(--cc-teal-d); }
.cc-lcard__pv b { font-size: 20px; letter-spacing: -.01em; }
.cc-lcard__pv--none { font-size: 14px; color: var(--cc-sub); }
.cc-lcard__bar .cc-badge { order: 3; }
.cc-lcard__actions { grid-area: act; position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cc-lcard__actions .cc-btn, .cc-design .cc-lcard__actions .btn_blue { min-height: 48px; font-size: 15.5px; width: 100%; }
.cc-lcard__actions .make_statistics::after { content: "↗"; font-size: 14px; }
.cc-lcard .cc-chips { position: relative; z-index: 0; }
@media (max-width: 767px) {
  .cc-lcard { grid-template-columns: 76px minmax(0, 1fr); gap: 12px 14px; padding: 16px; border-radius: 22px; }
  .cc-lcard__media { border-radius: 18px; }
  .cc-lcard__mono { font-size: 20px; }
  .cc-lcard__rank { left: auto; right: -6px; top: -6px; font-size: 11.5px; padding: 2px 7px; }
  .cc-design .cc-row__name { font-size: 17.5px; }
  .cc-lcard__facts { grid-column: 1 / -1; font-size: 14px; }
  .cc-lcard__main { display: contents; }
  .cc-lcard__head { grid-column: 2; grid-row: 1; }
  .cc-lcard .cc-rline { grid-column: 1 / -1; }
  .cc-lcard .cc-chips { grid-column: 1 / -1; }
  .cc-lcard__bar { padding: 12px 14px; }
  .cc-lcard__actions { gap: 8px; }
  .cc-design .cc-cmp--icon .btn_blue { width: 40px; height: 40px; min-height: 40px; }
}

/* callouts between cards (engine's card-item-ver-3-text) */
.cc-design .cc-callout { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 20px 22px; border-radius: var(--cc-r-xl); background: linear-gradient(120deg, var(--cc-mint-l), #f1f8fb); border: 1px dashed #b9dcd3; box-shadow: none; margin: 0; }
.cc-callout--price { background: linear-gradient(120deg, #fbf4e4, #f6f9f4) !important; border-color: #ead7ad !important; }
.cc-callout__ic { display: inline-flex; width: 52px; height: 52px; border-radius: 16px; align-items: center; justify-content: center; background: #fff; color: var(--cc-teal); }
.cc-callout--price .cc-callout__ic { color: #a26f05; }
.cc-callout__b p { margin: 0; font-size: 15px; color: var(--cc-sub); }
.cc-design .cc-callout__b .cc-callout__t { font-weight: 700; font-size: 17px; color: var(--cc-ink); margin-bottom: 2px; }
.cc-callout__b b { color: var(--cc-ink); }
@media (max-width: 640px) { .cc-design .cc-callout { grid-template-columns: 44px minmax(0, 1fr); padding: 16px; } .cc-callout__ic { width: 44px; height: 44px; } .cc-callout .cc-btn { grid-column: 1 / -1; } }

.cc-more { display: flex; justify-content: center; padding: 20px 0 4px; }
.cc-more[hidden], .cc-empty[hidden] { display: none; }
.cc-empty { background: #fff; border: 1px dashed var(--cc-line-2); border-radius: var(--cc-radius); padding: 24px; text-align: center; color: var(--cc-sub); }
.cc-empty p { margin: 0 0 10px; }
.cc-design .sections.not-found { background: #fff; border-radius: var(--cc-radius); padding: 24px; }

/* under the list */
.cc-listing-after { padding-bottom: 56px; }
.cc-listing-after .cc-sec:first-child { padding-top: 40px; }
.cc-after { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 18px; align-items: start; }
.cc-tt__wrap { overflow-x: auto; margin: 0 -6px; }
.cc-tt { width: 100%; border-collapse: collapse; font-size: 15px; }
.cc-design .cc-tt th, .cc-design .cc-tt td { padding: 11px 8px; text-align: left; border: 0; border-bottom: 1px solid var(--cc-line); background: none; vertical-align: middle; }
.cc-design .cc-tt thead th { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cc-sub); border-bottom-color: var(--cc-line-2); }
.cc-design .cc-tt tbody th { font-weight: 600; }
.cc-design .cc-tt tbody th a { color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-tt tbody th a:hover { color: var(--cc-teal); text-decoration: underline; }
.cc-design .cc-tt tbody tr:last-child > * { border-bottom: 0; }
.cc-tt__rank { width: 36px; font-weight: 700; color: var(--cc-sub); }
.cc-design .cc-tt tbody tr:nth-child(-n+3) .cc-tt__rank { color: var(--cc-teal); }
.cc-tt__star { color: var(--cc-star); }
.cc-tt td:nth-child(n+3), .cc-tt thead th:nth-child(n+3) { text-align: right; white-space: nowrap; }
.cc-pg { display: grid; gap: 2px 40px; margin: 0; padding: 0; list-style: none; }
.cc-pg--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cc-pg--1 { grid-template-columns: minmax(0, 1fr); }
.cc-pg li { display: flex; align-items: baseline; gap: 6px; padding: 9px 0; font-size: 15px; min-width: 0; }
.cc-pg__l { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-design .cc-pg__l a { color: var(--cc-teal-d); text-decoration: none; font-weight: 500; }
.cc-design .cc-pg__l a:hover { text-decoration: underline; text-underline-offset: 3px; }
.cc-pg__sub { color: var(--cc-sub); font-size: 13px; }
.cc-pg__dots { flex: 1 1 24px; min-width: 16px; border-bottom: 2px dotted var(--cc-line-2); transform: translateY(-4px); }
.cc-pg__v { flex: none; white-space: nowrap; color: var(--cc-sub); font-size: 14px; }
.cc-pg__v b { color: var(--cc-ink); font-size: 15.5px; }
.cc-emptybox { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px; border-radius: 16px; background: var(--cc-bg); color: var(--cc-sub); }
.cc-emptybox .cc-ico { color: var(--cc-teal); }
.cc-emptybox p { margin: 0; }
.cc-wchips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.cc-wchip { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px 8px 16px; border-radius: 999px; background: var(--cc-bg); border: 1.5px solid transparent; color: var(--cc-ink); text-decoration: none; font-size: 15px; font-weight: 500; }
.cc-design .cc-wchip { color: var(--cc-ink); }
.cc-wchip b { font-size: 13px; background: #fff; color: var(--cc-teal-d); padding: 2px 8px; border-radius: 999px; }
.cc-wchip__km { font-style: normal; font-size: 12.5px; color: var(--cc-sub); padding-right: 4px; }
.cc-wchip:hover { background: var(--cc-mint-l); border-color: var(--cc-mint); color: var(--cc-teal-d); }
.cc-wchip.is-open { background: var(--cc-mint-l); border-color: var(--cc-mint); }
.cc-wchip.is-open b { background: var(--cc-teal); color: #fff; }
.cc-wchip-key { display: inline-block; width: 22px; height: 14px; border-radius: 999px; background: var(--cc-teal); vertical-align: -2px; margin-right: 4px; }
@media (max-width: 1099px) { .cc-after { grid-template-columns: minmax(0, 1fr); } .cc-pg--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cc-pg--3 { grid-template-columns: minmax(0, 1fr); } .cc-tt { font-size: 14px; } .cc-design .cc-tt th, .cc-design .cc-tt td { padding: 10px 5px; } .cc-tt thead th:nth-child(4), .cc-tt td:nth-child(4) { display: none; } }

/* ================= page hero (price hub, services) ================= */
.cc-page { padding-bottom: 56px; }
.cc-design main.cc-page .top-h1 { text-align: left; }
.cc-phero .cc-crumbs { margin-bottom: 16px; }
.cc-phero__card { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px; align-items: center; background: rgba(255, 255, 255, .74); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); border: 1px solid rgba(255, 255, 255, .9); border-radius: 36px; padding: clamp(24px, 4vw, 52px); box-shadow: 0 30px 60px -40px rgba(14, 92, 99, .45); }
.cc-phero__lede { color: var(--cc-sub); font-size: 17px; }
.cc-phero__lede p { margin: 0 0 .7em; }
.cc-phero__lede p:last-child { margin-bottom: 0; font-size: 14px; }
.cc-phero__n { display: flex; gap: 10px; align-items: flex-start; margin: 14px 2px 0; font-size: 15px; }
.cc-phero__n .cc-ico { color: var(--cc-teal); margin-top: 2px; }
.cc-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.cc-kpi { padding: 18px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); min-width: 0; }
.cc-kpi dt { font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--cc-sub); margin-bottom: 8px; }
.cc-kpi dd { margin: 0; }
.cc-kpi b { display: block; font: 400 clamp(32px, 3.4vw, 44px)/1 var(--cc-display); color: var(--cc-ink); letter-spacing: -.01em; }
.cc-kpi span { display: block; margin-top: 6px; font-size: 13px; color: var(--cc-sub); }
.cc-kpi--hi { background: var(--cc-teal); }
.cc-kpi--hi dt, .cc-kpi--hi span { color: #cfe9e4; }
.cc-kpi--hi b { color: #fff; }
.cc-phero--svc .cc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cc-phero__side { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 16px; align-items: center; }
.cc-svcart { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; border-radius: 40px; background: radial-gradient(120% 120% at 0 0, #e9f6f2, #b9e0d6); color: var(--cc-teal-d); }
.cc-svcart .cc-ico { width: 92px; height: 92px; stroke-width: 1.3; }
@media (max-width: 1023px) { .cc-phero__card { grid-template-columns: minmax(0, 1fr); gap: 22px; border-radius: 28px; } }
@media (max-width: 640px) { .cc-kpis { grid-template-columns: minmax(0, 1fr); } .cc-phero--svc .cc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cc-phero__side { grid-template-columns: minmax(0, 1fr); } .cc-svcart { display: none; } .cc-phero__card { padding: 22px 16px; } .cc-kpi { padding: 14px; } }

/* factors (price hub) */
.cc-factors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.cc-factor { position: relative; background: #fff; border-radius: var(--cc-radius); padding: 24px; box-shadow: var(--cc-shadow); }
.cc-factor:nth-child(1), .cc-factor:nth-child(2) { grid-column: span 1; }
.cc-factor__ic { display: inline-flex; width: 52px; height: 52px; border-radius: 16px; align-items: center; justify-content: center; background: var(--cc-mint-l); color: var(--cc-teal); }
.cc-factor:nth-child(2) .cc-factor__ic { background: var(--cc-sky); }
.cc-factor:nth-child(3) .cc-factor__ic { background: var(--cc-sand); color: #7a5508; }
.cc-factor:nth-child(4) .cc-factor__ic { background: var(--cc-ink); color: #9fd8cb; }
.cc-factor__n { position: absolute; right: 22px; top: 18px; font: 400 34px/1 var(--cc-display); color: var(--cc-line-2); }
.cc-design .cc-factor h3 { font: 700 18px/1.3 var(--cc-body); margin: 16px 0 6px; text-transform: none; }
.cc-factor__b p { margin: 0; font-size: 15px; color: var(--cc-sub); line-height: 1.6; }
@media (max-width: 1023px) { .cc-factors { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cc-factors { grid-template-columns: minmax(0, 1fr); gap: 12px; } .cc-factor { padding: 20px; } }

/* checklist */
.cc-check { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.5fr); gap: 28px; background: var(--cc-ink); color: #e3efed; border-radius: var(--cc-r-xl); padding: clamp(24px, 4vw, 48px); }
.cc-check__ic { display: inline-flex; width: 64px; height: 64px; border-radius: 20px; align-items: center; justify-content: center; background: rgba(255, 255, 255, .08); color: #9fd8cb; margin-bottom: 16px; }
.cc-design .cc-check .cc-h2 { color: #fff; }
.cc-check__body > p { margin: 0 0 14px; color: #c9dcd9; }
.cc-check__body ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cc-check__body li { position: relative; padding: 14px 16px 14px 52px; border-radius: 16px; background: rgba(255, 255, 255, .06); font-size: 15.5px; line-height: 1.55; }
.cc-check__body li::before { content: ""; position: absolute; left: 14px; top: 14px; width: 24px; height: 24px; border-radius: 50%; background: #9fd8cb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 6.4l2.6 2.6L10 3.4' fill='none' stroke='%23102a2e' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center no-repeat; }
.cc-design .cc-check a { color: #9fd8cb; }
@media (max-width: 899px) { .cc-check { grid-template-columns: minmax(0, 1fr); gap: 8px; } }

/* service tiles */
.cc-infotiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cc-infotiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cc-infotiles--5 > :first-child { grid-column: 1 / -1; }
.cc-itile { display: flex; flex-direction: column; border-radius: var(--cc-r-xl); padding: 26px; background: #fff; box-shadow: var(--cc-shadow); min-width: 0; }
.cc-itile--0 { background: var(--cc-mint); box-shadow: none; }
.cc-itile--1 { background: var(--cc-sky); box-shadow: none; }
.cc-itile--2 { background: #fff; }
.cc-itile--3 { background: var(--cc-sand); box-shadow: none; }
.cc-itile__l { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin: 0 0 10px; padding: 6px 12px 6px 10px; border-radius: 999px; background: rgba(255, 255, 255, .8); font-size: 13px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--cc-teal-d); }
.cc-itile--2 .cc-itile__l { background: var(--cc-mint-l); }
.cc-design .cc-itile h2 { font: 400 clamp(26px, 2.6vw, 32px)/1.1 var(--cc-display); margin: 0 0 10px; text-transform: none; }
.cc-itile__b p, .cc-itile__b li { font-size: 15.5px; line-height: 1.6; }
.cc-itile__b p { margin: 0 0 .7em; }
.cc-itile__b ul { margin: 0 0 .7em; padding: 0; list-style: none; counter-reset: st; display: grid; gap: 8px; }
.cc-itile__b ul li { counter-increment: st; position: relative; padding: 10px 12px 10px 46px; border-radius: 14px; background: var(--cc-bg); margin: 0; }
.cc-itile__b ul li::before { content: counter(st); position: absolute; left: 10px; top: 9px; width: 26px; height: 26px; border-radius: 50%; background: var(--cc-teal); color: #fff; font: 700 13px/26px var(--cc-body); text-align: center; }
.cc-js .cc-itile.is-clamped:not(.is-open) .cc-itile__b { max-height: 220px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
.cc-itile__more { align-self: flex-start; margin-top: 8px; }
@media (max-width: 899px) { .cc-infotiles, .cc-infotiles--3 { grid-template-columns: minmax(0, 1fr); gap: 12px; } .cc-itile { padding: 20px; } }

/* ================= clinic card v2 ================= */
.cc-card { padding: 22px 0 56px; background: radial-gradient(60% 50% at 85% 0%, rgba(159, 216, 203, .35), transparent 70%), var(--cc-bg); }
body.cc-design main.cc-card { padding-top: 22px; }
.cc-crumbs { margin: 0 0 16px; }
.cc-design .cc-crumbs .breadcrumbs { margin: 0; padding: 0; font-size: 13.5px; color: var(--cc-sub); background: none; display: flex; flex-wrap: wrap; gap: 2px 0; }
.cc-design .cc-crumbs .breadcrumbs, .cc-design .cc-crumbs .breadcrumbs * { text-transform: none; letter-spacing: 0; font-size: 13.5px; }
.cc-design .cc-crumbs .breadcrumbs a { color: var(--cc-sub); text-decoration: none; }
.cc-design .cc-crumbs .breadcrumbs a:hover { color: var(--cc-teal); text-decoration: underline; }
.cc-design .cc-crumbs .breadcrumbs__separator { padding: 0 6px; color: var(--cc-line-2); }
.cc-design .cc-crumbs .breadcrumbs__current { color: var(--cc-ink); }
.cc-obj { display: grid; grid-template-columns: minmax(0, 1fr) 370px; gap: 22px; align-items: start; }
.cc-obj__main { display: grid; gap: 18px; min-width: 0; }
.cc-otop { position: relative; background: #fff; border-radius: var(--cc-r-xl); padding: clamp(18px, 3vw, 30px); box-shadow: var(--cc-shadow); }
.cc-otop__grid { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 26px; }
.cc-otop__media { position: relative; align-self: start; aspect-ratio: 1; border-radius: 26px; display: flex; align-items: center; justify-content: center; background: radial-gradient(120% 120% at 0% 0%, #e9f6f2 0, #d7efe9 45%, #a9d9cd 100%); color: var(--cc-teal-d); }
.cc-otop__mono { font: 700 52px/1 var(--cc-body); letter-spacing: .02em; }
.cc-otop__rank { position: absolute; left: 12px; bottom: 12px; right: 12px; text-align: center; font-size: 13px; font-weight: 700; background: rgba(255, 255, 255, .9); color: var(--cc-teal-d); padding: 6px 8px; border-radius: 999px; }
.cc-otop__info { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.cc-otop__city { margin: 0; }
.cc-otop__city a { text-decoration: none; }
.cc-design h1.cc-h1 { font: 400 clamp(34px, 4.2vw, 50px)/1.04 var(--cc-display); letter-spacing: -.012em; margin: 0; color: var(--cc-ink); text-transform: none; text-wrap: balance; }
.cc-h1__name { display: block; }
.cc-h1__rest { display: block; font-family: var(--cc-body); font-size: clamp(15px, 1.4vw, 17px); font-weight: 500; letter-spacing: 0; line-height: 1.4; color: var(--cc-sub); margin-top: 8px; }
.cc-ofacts { display: grid; gap: 0; margin: 6px 0 0; border-top: 1px solid var(--cc-line); }
.cc-ofacts > div { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--cc-line); font-size: 15px; }
.cc-ofacts dt { display: flex; align-items: center; gap: 8px; font-weight: 600; color: var(--cc-sub); }
.cc-ofacts dt .cc-ico { color: var(--cc-teal); }
.cc-ofacts dd { margin: 0; min-width: 0; color: var(--cc-ink); overflow-wrap: anywhere; }
.cc-ofacts dd a { font-weight: 600; }
.cc-otop__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 18px 0 0; padding-top: 16px; border-top: 1px solid var(--cc-line); }
.cc-otop__tl { font-size: 13.5px; color: var(--cc-sub); margin-right: 2px; }
.cc-tag { display: inline-flex; align-items: center; gap: 5px; padding: 6px 12px; border-radius: 999px; background: var(--cc-sky); color: var(--cc-ink); font-size: 13.5px; font-weight: 600; text-decoration: none; }
.cc-design a.cc-tag { color: var(--cc-ink); }
.cc-design a.cc-tag:hover { background: var(--cc-mint); color: var(--cc-teal-d); }
.cc-otop__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.cc-otop__cta .make_statistics { min-height: 54px; padding: 12px 28px; font-size: 16.5px; }
.cc-otop__cta .make_statistics::after { content: "↗"; }
.cc-otop__cta .cc-cmp .btn_blue { min-height: 52px; padding: 10px 22px; font-size: 15.5px; }
.cc-otop__note { margin: 14px 0 0; font-size: 13px; color: var(--cc-sub); }
.cc-rank2 { background: #fff; border-radius: var(--cc-r-xl); padding: clamp(18px, 3vw, 28px); box-shadow: var(--cc-shadow); }
.cc-design .cc-rank2__h { font: 400 clamp(26px, 2.6vw, 32px)/1.1 var(--cc-display); margin: 0 0 14px; text-transform: none; }
.cc-kpis--3 .cc-kpi { box-shadow: none; background: var(--cc-bg); }
.cc-kpis--3 .cc-kpi--hi { background: var(--cc-teal); }
.cc-kpis--3 .cc-kpi b { font-size: clamp(28px, 2.8vw, 36px); }
.cc-rank2__foot { margin: 12px 0 0; font-size: 13.5px; color: var(--cc-sub); }
.cc-otabs { background: #fff; border-radius: var(--cc-r-xl); box-shadow: var(--cc-shadow); overflow: hidden; }
.cc-otabs__list { display: flex; gap: 4px; padding: 8px 8px 0; border-bottom: 1px solid var(--cc-line); overflow-x: auto; scrollbar-width: none; }
.cc-otabs__list::-webkit-scrollbar { display: none; }
.cc-otabs__list [role="tab"] { flex: none; position: relative; border: 0; background: none; padding: 14px 18px 16px; font: 600 15.5px/1.2 var(--cc-body); color: var(--cc-sub); cursor: pointer; border-radius: 14px 14px 0 0; }
.cc-otabs__list [role="tab"]:hover { color: var(--cc-ink); background: var(--cc-bg); }
.cc-otabs__list [role="tab"][aria-selected="true"] { color: var(--cc-teal-d); }
.cc-otabs__list [role="tab"][aria-selected="true"]::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -1px; height: 3px; border-radius: 3px; background: var(--cc-teal); }
.cc-otabs__panel { padding: clamp(20px, 3.4vw, 36px); }
.cc-otabs__panel[hidden] { display: none; }
.cc-otabs__panel:focus-visible { outline-offset: -4px; }
.cc-otabs__panel .cc-article h2 { font-size: clamp(24px, 2.4vw, 30px); }
.cc-svclist { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.cc-svclist li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 2px 12px; align-items: center; padding: 14px; border-radius: 16px; background: var(--cc-bg); }
.cc-svclist__ic { grid-row: span 2; display: inline-flex; width: 44px; height: 44px; border-radius: 14px; align-items: center; justify-content: center; background: #fff; color: var(--cc-teal); }
.cc-svclist__t { font-weight: 700; }
.cc-design .cc-svclist__t a { color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-svclist__t a:hover { color: var(--cc-teal); text-decoration: underline; }
.cc-svclist__c { font-size: 13.5px; }
.cc-svclist__note { margin: 14px 0 0; font-size: 13.5px; }
.cc-hours { width: 100%; max-width: 460px; border-collapse: collapse; font-size: 15px; }
.cc-design .cc-hours, .cc-design .cc-hours th, .cc-design .cc-hours td, .cc-design .cc-hours tr { border: 0; background: none; }
.cc-design .cc-hours th, .cc-design .cc-hours td { padding: 9px 4px; text-align: left; font-weight: 500; vertical-align: top; color: var(--cc-ink); }
.cc-design .cc-hours tr + tr th, .cc-design .cc-hours tr + tr td { border-top: 1px solid var(--cc-line); }
.cc-hours th { width: 130px; }
.cc-hours tr.is-closed td { color: var(--cc-sub); }
.cc-design .cc-hours tr.is-today th, .cc-design .cc-hours tr.is-today td { font-weight: 700; color: var(--cc-teal-d); }
.cc-today { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; background: var(--cc-mint); color: var(--cc-teal-d); padding: 1px 6px; border-radius: 4px; vertical-align: 1px; }
.cc-map--tab { height: 360px; min-height: 0; max-height: none; }
.cc-loc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 14px 0 0; font-size: 15px; }
.cc-loc .cc-ico { color: var(--cc-teal); }
.cc-loc a { margin-left: auto; font-size: 14px; }
.cc-obj__side { display: grid; gap: 18px; position: sticky; top: 16px; }
.cc-sidecard { background: #fff; border-radius: var(--cc-r-xl); padding: 20px; box-shadow: var(--cc-shadow); }
.cc-design .cc-sidecard__h { font: 700 19px/1.25 var(--cc-body); margin: 0 0 14px; text-transform: none; letter-spacing: -.01em; }
.cc-map--card { height: 250px; min-height: 0; max-height: none; }
.cc-sidecard__addr { display: flex; align-items: center; gap: 6px; margin: 10px 2px 0; font-size: 14px; color: var(--cc-sub); }
.cc-nlist { display: grid; gap: 8px; margin: 0 0 14px; padding: 0; list-style: none; }
.cc-ncard2 { position: relative; display: grid; grid-template-columns: 22px 40px minmax(0, 1fr); gap: 10px; align-items: start; padding: 12px; border-radius: 16px; background: var(--cc-bg); transition: background .15s; }
.cc-ncard2:hover { background: var(--cc-mint-l); }
.cc-ncard2__n { display: inline-flex; width: 22px; height: 22px; margin-top: 9px; border-radius: 50%; align-items: center; justify-content: center; background: #fff; border: 2px solid var(--cc-teal); color: var(--cc-teal-d); font-size: 11px; font-weight: 700; }
.cc-ncard2__b { min-width: 0; }
.cc-design .cc-ncard2__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 700; font-size: 15px; line-height: 1.3; color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-ncard2__name::after { content: ""; position: absolute; inset: 0; border-radius: 16px; }
.cc-design .cc-ncard2__name:hover { color: var(--cc-teal); }
.cc-ncard2__meta { margin: 3px 0 0; font-size: 13px; }
.cc-ncard2__p { margin: 2px 0 0; font-size: 13.5px; color: var(--cc-teal-d); }
.cc-sidecard__all { width: 100%; }
@media (max-width: 1023px) { .cc-obj { grid-template-columns: minmax(0, 1fr); } .cc-obj__side { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }
@media (max-width: 767px) {
  .cc-card { padding-top: 12px; }
  .cc-otop { border-radius: 24px; }
  .cc-otop__grid { grid-template-columns: 84px minmax(0, 1fr); gap: 14px; }
  .cc-otop__media { border-radius: 20px; }
  .cc-otop__mono { font-size: 24px; }
  .cc-otop__rank { position: static; display: none; }
  .cc-otop__info { display: contents; }
  .cc-otop__city { grid-column: 2; grid-row: 1; align-self: center; }
  .cc-otop .cc-h1, .cc-otop .cc-rline, .cc-ofacts { grid-column: 1 / -1; }
  .cc-ofacts > div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .cc-otop__cta > * { flex: 1 1 100%; }
  .cc-otop__cta .cc-cmp, .cc-otop__cta .cc-cmp .btn_blue { width: 100%; }
  .cc-obj__side { grid-template-columns: minmax(0, 1fr); }
  .cc-svclist { grid-template-columns: minmax(0, 1fr); }
  .cc-otabs__list [role="tab"] { padding: 12px 14px 14px; font-size: 15px; }
  .cc-kpis--3 { grid-template-columns: minmax(0, 1fr); }
  .cc-kpis--3 .cc-kpi { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
  .cc-kpis--3 .cc-kpi dt { width: 100%; margin: 0; }
  .cc-kpis--3 .cc-kpi b, .cc-kpis--3 .cc-kpi span { display: inline; }
}

/* ================= footer ================= */
.cc-design footer { background: var(--cc-ink); color: #c9dcd9; margin-top: 56px; padding: 52px 0 28px; border: 0; border-radius: 36px 36px 0 0; }
.cc-design footer .container:first-child { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.cc-design footer .item { flex: none !important; min-width: 0; order: 0 !important; }
.cc-design footer .title-footer { font: 600 12px/1.3 var(--cc-body); letter-spacing: .08em; text-transform: uppercase; color: #8fd0c1; margin: 0 0 12px; }
.cc-design footer .item:first-child .title-footer { font: 400 26px/1 var(--cc-display); letter-spacing: 0; text-transform: none; color: #fff; }
.cc-design footer ul { list-style: none; margin: 0; padding: 0; }
.cc-design footer li { margin: 0 0 8px; }
.cc-design footer a { color: #e3efed; text-decoration: none; font-size: 15px; }
.cc-design footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cc-design footer .container + .container { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; margin-top: 32px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: 13px; color: #a9c3bf; }
.cc-design footer .copy { color: #a9c3bf; font-size: 13px; }
.cc-listing-after + footer, .cc-page + footer { margin-top: 0; }
@media (max-width: 767px) { .cc-design footer { border-radius: 24px 24px 0 0; } .cc-design footer .container:first-child { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; } .cc-design footer .item:first-child { grid-column: 1 / -1; } }

/* ================= cookie notice, compare bar ================= */
.cc-cookie { position: fixed; left: 16px; bottom: 16px; z-index: 70; max-width: 430px; display: flex; align-items: center; gap: 14px; background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: var(--cc-ink); border: 1px solid var(--cc-line); border-radius: 20px; padding: 14px 16px 14px 18px; box-shadow: 0 16px 44px -14px rgba(16, 42, 46, .4); font-size: 14px; line-height: 1.45; }
.cc-cookie[hidden] { display: none; }
.cc-cookie p { margin: 0; }
.cc-has-cmpbar .cc-cookie { bottom: 88px; }
@media (max-width: 767px) { .cc-cookie { left: 12px; right: 12px; bottom: 12px; max-width: none; } }
.cc-cmpbar { position: fixed; left: 0; right: 0; bottom: 14px; z-index: 65; padding: 0 var(--cc-gutter); pointer-events: none; }
.cc-cmpbar[hidden] { display: none; }
.cc-cmpbar__in { pointer-events: auto; max-width: 760px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--cc-teal-d); color: #fff; border-radius: 999px; padding: 8px 8px 8px 22px; box-shadow: 0 14px 40px -12px rgba(10, 70, 76, .6); }
.cc-cmpbar__txt { margin: 0; font-size: 15px; }
.cc-cmpbar__txt b { font-size: 18px; margin-right: 2px; }
.cc-cmpbar__act { display: flex; align-items: center; gap: 12px; }
.cc-has-cmpbar { padding-bottom: 84px; }
@media (max-width: 767px) { .cc-cmpbar__txt span { display: none; } .cc-cmpbar__txt::after { content: " para comparar"; } }
.cc-design #backtotop { background: var(--cc-teal); width: 46px; height: 46px; border-radius: 50%; right: 14px; bottom: 18px; box-shadow: 0 6px 18px -6px rgba(16, 42, 46, .5); }
.cc-design #backtotop svg { width: 20px; height: 20px; }
.cc-has-cmpbar #backtotop { bottom: 90px; }
body:has(.cc-cookie:not([hidden])) #backtotop { display: none !important; }
@media (max-width: 767px) { .cc-design #backtotop { bottom: 76px; } }

/* ================= other theme pages (light restyle) ================= */
.cc-design main h1, .cc-design .page-title { font-family: var(--cc-display); font-weight: 400; letter-spacing: -.01em; }
.cc-design .white-container { border-radius: 20px; }
body.cc-design main { margin-top: 0; padding-top: 0; }

@media (prefers-reduced-motion: reduce) {
  .cc-design *, .cc-design *::before, .cc-design *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
  .cc-car__track { scroll-behavior: auto; }
}

/* engine list counters (ol li::before) off inside prototype components */
.cc-design .cc-steps > li::before, .cc-design .cc-nlist > li::before, .cc-design .cc-pg > li::before, .cc-design .cc-feats > li::before,
.cc-design .cc-cgrid > li::before, .cc-design .cc-wchips > li::before, .cc-design .cc-tile__links > li::before, .cc-design .cc-svclist > li::before,
.cc-design .cc-hero2__facts > li::before, .cc-design .cc-city__facts > li::before, .cc-design .cc-chips > li::before { content: none !important; display: none !important; }
.cc-design .cc-steps > li, .cc-design .cc-nlist > li { list-style: none; margin: 0; }
.cc-design .cc-cgrid a { display: flex; width: 100%; }
.cc-hero2__blobs i { opacity: .85; filter: blur(70px); }
.cc-hero2__blobs i:nth-child(1) { background: #8fd3c3; }
.cc-hero2__card, .cc-phero__card { background: rgba(255, 255, 255, .62); }
.cc-textcard > .cc-eyebrow { margin-bottom: 14px; }
.cc-design .container.cc-listing-after { display: block !important; flex-wrap: nowrap; }
.cc-design .cc-itile__b ul li { list-style: none; }
.cc-design .cc-itile__b ul li::marker { content: ""; }
.cc-design main.cc-card + footer, .cc-design main.cc-page + footer, .cc-design .cc-home ~ footer { margin-top: 0; }
.cc-card, .cc-page { padding-bottom: 64px; }
@media (max-width: 640px) {
  .cc-cities { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cc-city { border-radius: 16px; }
  .cc-city__body { padding: 12px 12px 14px; gap: 6px; }
  .cc-design .cc-city__name { font-size: 23px; }
  .cc-city__facts { font-size: 12.5px; gap: 2px 8px; flex-direction: column; }
  .cc-city__facts .cc-sub { display: none; }
  .cc-city__btn { display: none; }
  .cc-credit { font-size: 9px; right: 4px; bottom: 4px; padding: 2px 5px; }
  .cc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .cc-tile { padding: 16px; border-radius: 20px; gap: 6px; }
  .cc-tile--wide { grid-column: 1 / -1; }
  .cc-design .cc-tile__t { font-size: 22px; }
  .cc-tile__ic { width: 42px; height: 42px; margin-bottom: 4px; border-radius: 12px; }
  .cc-tile__d { font-size: 13.5px; }
  .cc-tile:not(.cc-tile--wide) .cc-tile__links { display: none; }
  .cc-tile--ink .cc-tile__t { font-size: 34px; }
  .cc-sec { padding-top: 36px; }
  .cc-textcard { border-radius: 22px; }
}
@media (max-width: 767px) {
  .cc-lcard { grid-template-areas: "media head" "rating rating" "chips chips" "facts facts" "bar bar" "act act"; }
  .cc-lcard__head { grid-area: head; align-self: center; }
  .cc-lcard .cc-rline { grid-area: rating; }
  .cc-lcard .cc-chips { grid-area: chips; }
  .cc-lcard__facts { grid-area: facts; }
  .cc-lcard__facts dt { font-weight: 600; color: var(--cc-sub); }
}
@media (max-width: 767px) {
  .cc-ofacts > div { grid-template-columns: 128px minmax(0, 1fr); gap: 8px; font-size: 14.5px; }
  .cc-ofacts dt { font-size: 13.5px; }
  .cc-kpis--3 .cc-kpi span { margin-left: 8px; }
  .cc-otop__cta .cc-cmp--card { flex: 1 1 100%; }
}
.cc-lhead__photo { display: none; }
@media (min-width: 1100px) {
  .cc-lhead--photo .cc-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 360px; grid-template-areas: "lede photo" "stats stats"; column-gap: 24px; }
  .cc-lhead--photo .cc-lede { grid-area: lede; align-self: end; }
  .cc-lhead--photo .cc-stats-slot { grid-area: stats; }
  .cc-lhead__photo { grid-area: photo; display: block; position: relative; margin: -150px 0 18px; height: 210px; border-radius: 24px; overflow: hidden; box-shadow: var(--cc-shadow); }
  .cc-lhead__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
  .cc-lhead--photo ~ * .cc-lede { margin: 0; }
}
.cc-listing-after .cc-sec:first-child { padding-top: 16px; }
@media (min-width: 1100px) {
  .cc-lhead__photo { margin-top: -104px; height: 196px; }
  body:has(.cc-lhead--photo) .cap .cap-left { max-width: calc(100% - 390px); }
}

/* =====================================================================================================
 * v3 - content blocks (tools/content_blocks.py + mu-plugins/cc-blocks.php), readable column, TOC,
 *      ranking page, article pages, logos, footer fix.
 * ===================================================================================================== */

/* ---------- readable column: text max ~760px centered, wide blocks break out ---------- */
.cc-prosewrap { --cc-col: 760px; --cc-wide: 1080px; }
.cc-design .cc-prose { font-size: 17px; line-height: 1.72; color: var(--cc-ink); min-width: 0; }
.cc-design .cc-prose > * { max-width: var(--cc-col); margin-left: auto; margin-right: auto; }
.cc-design .cc-prose > .cc-b--wide, .cc-design .cc-prose > .cc-live { max-width: var(--cc-wide); }
.cc-design .cc-prose > :first-child { margin-top: 0; }
.cc-design .cc-prose p { margin-top: 0; margin-bottom: 1.05em; font-size: 17px; line-height: 1.72; color: var(--cc-ink); }
.cc-design .cc-prose > p:first-child { font-size: 19px; line-height: 1.6; color: var(--cc-ink); }
.cc-design .cc-prose h2 { font: 400 clamp(28px, 3.2vw, 38px)/1.1 var(--cc-display); letter-spacing: -.012em; color: var(--cc-ink); margin-top: 1.7em; margin-bottom: .5em; text-transform: none; text-wrap: balance; scroll-margin-top: 24px; }
.cc-design .cc-prose > h2:first-child { margin-top: 0; }
.cc-design .cc-prose h3 { font: 700 19px/1.35 var(--cc-body); color: var(--cc-ink); margin-top: 1.5em; margin-bottom: .4em; text-transform: none; }
.cc-design .cc-prose a { color: var(--cc-teal); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.cc-design .cc-prose a:hover { color: var(--cc-teal-d); text-decoration-thickness: 2px; }
.cc-design .cc-prose strong { font-weight: 700; }
.cc-design .cc-prose > ul, .cc-design .cc-prose > ol, .cc-design .cc-b__body ul, .cc-design .cc-b__body ol, .cc-design .cc-b__col ul { margin-top: 0; margin-bottom: 1.2em; padding-left: 0; list-style: none; }
.cc-design .cc-prose > ul > li, .cc-design .cc-b__body ul > li, .cc-design .cc-b__col ul > li { position: relative; padding-left: 26px; margin: .45em 0; font-size: 17px; line-height: 1.6; }
.cc-design .cc-prose > ul > li::before, .cc-design .cc-b__body ul > li::before { content: ""; position: absolute; left: 6px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--cc-teal); opacity: .8; }
.cc-design .cc-prose > ol { counter-reset: ccol; }
.cc-design .cc-prose > ol > li { counter-increment: ccol; position: relative; padding: 14px 16px 14px 62px; margin: 0 0 10px; background: #fff; border-radius: 16px; box-shadow: var(--cc-shadow); font-size: 16.5px; line-height: 1.55; }
.cc-design .cc-prose > ol > li::before { content: counter(ccol); position: absolute; left: 14px; top: 12px; width: 34px; height: 34px; border-radius: 11px; background: var(--cc-mint); color: var(--cc-teal-d); font: 700 15px/34px var(--cc-body); text-align: center; font-variant-numeric: tabular-nums; }
.cc-design .cc-prose > ol > li:first-child::before { background: var(--cc-teal); color: #fff; }
.cc-design .cc-prose li p { margin: 0; }
.cc-sec--text .cc-prosewrap { padding-top: 4px; }
.cc-sec--first { padding-top: clamp(28px, 4vw, 48px); }

/* TOC layout */
.cc-prosewrap--toc { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: start; }
.cc-prosewrap--toc .cc-prose > * { margin-left: 0; }
.cc-prosewrap--toc .cc-prose > .cc-b--wide, .cc-prosewrap--toc .cc-prose > .cc-live { max-width: 100%; }
.cc-prosewrap__toc { position: sticky; top: 20px; max-height: calc(100vh - 40px); overflow: auto; }
.cc-toc details { background: #fff; border-radius: 20px; box-shadow: var(--cc-shadow); padding: 6px 8px 10px; }
.cc-toc summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 10px 10px 8px; font-size: 12px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; color: var(--cc-sub); }
.cc-toc summary::-webkit-details-marker { display: none; }
.cc-toc summary .cc-ico { color: var(--cc-teal); }
.cc-design .cc-toc ol { list-style: none; margin: 0; padding: 0; }
.cc-design .cc-toc li { margin: 0; }
.cc-design .cc-toc a { display: flex; gap: 10px; padding: 8px 10px; border-radius: 12px; font-size: 14.5px; line-height: 1.35; color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-toc a:hover { background: var(--cc-mint-l); color: var(--cc-teal-d); }
.cc-design .cc-toc a[aria-current] { background: var(--cc-mint); color: var(--cc-teal-d); font-weight: 600; }
.cc-toc__n { flex: none; color: var(--cc-teal); font-size: 12.5px; font-weight: 700; padding-top: 1px; }
@media (max-width: 1099px) {
  .cc-prosewrap--toc { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .cc-prosewrap__toc { position: static; max-height: none; overflow: visible; max-width: var(--cc-col); width: 100%; margin: 0 auto; }
  .cc-prosewrap--toc .cc-prose > * { margin-left: auto; }
  .cc-toc summary { padding: 12px 12px; }
  .cc-toc summary::after { content: ""; margin-left: auto; width: 10px; height: 10px; border-right: 2px solid var(--cc-teal); border-bottom: 2px solid var(--cc-teal); transform: rotate(45deg) translate(-2px, -2px); transition: transform .2s; }
  .cc-toc details[open] summary::after { transform: rotate(-135deg) translate(-2px, -2px); }
}

/* ---------- blocks (shared) ---------- */
.cc-design .cc-b { margin-top: 26px; margin-bottom: 26px; }
.cc-design .cc-b__t { margin: 0 0 6px !important; font: 700 16px/1.35 var(--cc-body) !important; color: var(--cc-ink) !important; }
.cc-design .cc-b__body > :last-child, .cc-design .cc-b__col > :last-child { margin-bottom: 0; }
.cc-b__ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 13px; }

/* callout */
.cc-design .cc-b--callout { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 16px; padding: 18px 22px 18px 18px; border-radius: 20px; background: var(--cc-mint-l); border: 1px solid var(--cc-mint); }
.cc-b--callout > .cc-b__ic { grid-row: span 2; background: #fff; color: var(--cc-teal); }
.cc-b--callout:not(:has(> .cc-b__ic)) { grid-template-columns: minmax(0, 1fr); }
.cc-design .cc-b--callout .cc-b__body p { font-size: 16px; line-height: 1.6; }
.cc-design .cc-b--callout .cc-b__body p:last-child { margin-bottom: 0; }
.cc-design .cc-b--callout > .cc-b__t, .cc-design .cc-b--callout > .cc-b__body { grid-column: 2; }
.cc-b--callout:not(:has(> .cc-b__ic)) > * { grid-column: 1 !important; }
.cc-design .cc-b--warning { background: var(--cc-amber-bg); border-color: #f3dfae; }
.cc-b--warning > .cc-b__ic { color: #8a5a00; }
.cc-design .cc-b--tip { background: var(--cc-sky); border-color: #cfe0ee; }
.cc-b--tip > .cc-b__ic { color: #1f5b86; }
.cc-b--callout:has(> .cc-b__body:only-of-type):not(:has(.cc-b__t)) { align-items: center; }

/* tl;dr */
.cc-design .cc-b--tldr { position: relative; padding: 22px 24px 20px; border-radius: 22px; background: var(--cc-ink); color: #e6f1ef; box-shadow: var(--cc-shadow); }
.cc-design .cc-b--tldr .cc-b__t { color: #9fd8cb !important; font-size: 12px !important; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 10px !important; padding-left: 44px; min-height: 30px; display: flex; align-items: center; }
.cc-b--tldr > .cc-b__ic { position: absolute; left: 20px; top: 18px; width: 34px; height: 34px; border-radius: 11px; background: rgba(255, 255, 255, .1); color: #9fd8cb; }
.cc-design .cc-b--tldr p, .cc-design .cc-b--tldr li { color: #e6f1ef; font-size: 16.5px; }
.cc-design .cc-b--tldr ul > li::before { background: #9fd8cb; }
.cc-design .cc-b--tldr a { color: #bfeadf; }

/* key facts */
.cc-design .cc-b__stats { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: 12px; margin: 0; }
.cc-b__stats--1 { --n: 1; } .cc-b__stats--2 { --n: 2; } .cc-b__stats--3 { --n: 3; } .cc-b__stats--4 { --n: 4; }
.cc-b__stat { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; padding: 18px 18px 16px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); min-width: 0; }
.cc-b__stat:first-child { background: var(--cc-teal); }
.cc-design .cc-b__stat dt { font-size: 13.5px; line-height: 1.35; color: var(--cc-sub); font-weight: 500; }
.cc-design .cc-b__stat dd { margin: 0; }
.cc-design .cc-b__stat dd b { display: block; font: 400 clamp(30px, 3vw, 40px)/1 var(--cc-display); color: var(--cc-ink); letter-spacing: -.01em; overflow-wrap: anywhere; }
.cc-design .cc-b__stat dd span { display: block; margin-top: 4px; font-size: 13px; color: var(--cc-sub); }
.cc-b__stat:first-child dt, .cc-b__stat:first-child dd span { color: #cfe9e4; }
.cc-design .cc-b__stat:first-child dd b { color: #fff; }
.cc-b--stats > .cc-b__t { margin-bottom: 10px !important; }
@media (max-width: 640px) { .cc-design .cc-b__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cc-b__stats--1 { grid-template-columns: minmax(0, 1fr) !important; } .cc-b__stat { padding: 14px; } }

/* pros / cons */
.cc-b__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cc-b__col { padding: 20px 22px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); border-top: 4px solid var(--cc-teal); }
.cc-b__col--con { border-top-color: #d99a1e; }
.cc-design .cc-b__h { margin: 0 0 10px !important; font: 700 17px/1.3 var(--cc-body) !important; display: flex; align-items: center; gap: 8px; }
.cc-b__col--pro .cc-b__h::before, .cc-b__col--con .cc-b__h::before { content: "+"; display: inline-flex; width: 26px; height: 26px; border-radius: 50%; align-items: center; justify-content: center; background: var(--cc-mint); color: var(--cc-teal-d); font-weight: 700; }
.cc-b__col--con .cc-b__h::before { content: "–"; background: var(--cc-amber-bg); color: #8a5a00; }
.cc-design .cc-b__col ul > li::before { content: ""; position: absolute; left: 4px; top: .55em; width: 10px; height: 6px; border-left: 2px solid var(--cc-teal); border-bottom: 2px solid var(--cc-teal); transform: rotate(-45deg); }
.cc-design .cc-b__col--con ul > li::before { width: 10px; height: 0; border-left: 0; border-bottom: 2px solid #c0861a; transform: none; top: .8em; }
.cc-design .cc-b__col li { font-size: 16px !important; }
@media (max-width: 640px) { .cc-b__cols { grid-template-columns: minmax(0, 1fr); } }

/* steps */
.cc-design .cc-b__steps { list-style: none; margin: 0; padding: 0; counter-reset: ccst; display: grid; gap: 0; }
.cc-design .cc-b__step { counter-increment: ccst; position: relative; padding: 0 0 22px 64px; margin: 0; min-height: 44px; }
.cc-design .cc-b__step::before { content: counter(ccst); position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 14px; background: var(--cc-teal); color: #fff; font: 400 24px/44px var(--cc-display); text-align: center; }
.cc-design .cc-b__step:not(:last-child)::after { content: ""; position: absolute; left: 21px; top: 50px; bottom: 6px; width: 2px; background: var(--cc-mint); border-radius: 2px; }
.cc-design .cc-b__st { margin: 0 0 4px !important; padding-top: 9px; font: 700 17.5px/1.35 var(--cc-body) !important; }
.cc-design .cc-b__step p { font-size: 16.5px; margin-bottom: 0; }
.cc-b--steps > .cc-b__t { margin-bottom: 14px !important; }

/* icon tiles */
.cc-design .cc-b__tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); gap: 12px; }
.cc-design .cc-b__tile { position: relative; display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 18px 18px 16px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); transition: box-shadow .2s, transform .2s; min-width: 0; }
.cc-design .cc-b__tile:has(a.cc-b__tl):hover { box-shadow: var(--cc-shadow-h); transform: translateY(-2px); }
.cc-b__tile > .cc-b__ic { margin-bottom: 8px; background: var(--cc-mint-l); color: var(--cc-teal); }
.cc-b__tile:nth-child(4n+2) > .cc-b__ic { background: var(--cc-sky); color: #1f5b86; }
.cc-b__tile:nth-child(4n+3) > .cc-b__ic { background: var(--cc-sand); color: #7a5508; }
.cc-b__tile:nth-child(4n+4) > .cc-b__ic { background: var(--cc-ink); color: #9fd8cb; }
.cc-design .cc-b__tile a.cc-b__tl { font-weight: 700; font-size: 16.5px; line-height: 1.3; color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-b__tile a.cc-b__tl::after { content: ""; position: absolute; inset: 0; border-radius: 20px; }
.cc-design .cc-b__tile a.cc-b__tl:hover { color: var(--cc-teal); }
.cc-design .cc-b__tile p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--cc-sub); }
.cc-design .cc-b__tile p.cc-b__tt { font-weight: 700; font-size: 16.5px; color: var(--cc-ink); }
.cc-design .cc-b__tile p strong { color: var(--cc-ink); }

/* tables: scroll inside themselves, sticky first column */
.cc-design .cc-b--table { position: relative; overflow-x: auto; -webkit-overflow-scrolling: touch; background: #fff; border-radius: 20px; box-shadow: var(--cc-shadow); overscroll-behavior-x: contain; }
.cc-design .cc-b--table table { width: 100%; min-width: 560px; border-collapse: separate; border-spacing: 0; margin: 0; font-size: 15px; line-height: 1.45; background: transparent; border: 0; }
.cc-design .cc-b--table caption { caption-side: top; text-align: left; padding: 16px 18px 4px; font-weight: 700; font-size: 15px; color: var(--cc-ink); }
.cc-design .cc-b--table th, .cc-design .cc-b--table td { padding: 12px 14px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--cc-line); background: #fff; color: var(--cc-ink); font-size: 15px; }
.cc-design .cc-b--table thead th { background: var(--cc-mint-l); color: var(--cc-teal-d); font-size: 12.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; border-bottom: 1px solid var(--cc-mint); }
.cc-design .cc-b--table tbody tr:last-child > * { border-bottom: 0; }
.cc-design .cc-b--table tbody tr:hover > * { background: #f7fbfa; }
.cc-design .cc-b--table tr > :first-child { position: sticky; left: 0; z-index: 1; font-weight: 600; box-shadow: 1px 0 0 var(--cc-line); }
.cc-design .cc-b--table thead tr > :first-child { z-index: 2; background: var(--cc-mint-l); }
.cc-design .cc-b--table a { color: var(--cc-teal); font-weight: 600; text-decoration: none; }
.cc-design .cc-b--table a:hover { text-decoration: underline; }
.cc-design .cc-b--compare tbody tr > :first-child { min-width: 150px; max-width: 220px; }
@media (max-width: 640px) { .cc-design .cc-b--table th, .cc-design .cc-b--table td { padding: 10px 11px; font-size: 14px; } .cc-design .cc-b--compare tbody tr > :first-child { min-width: 120px; max-width: 150px; } }

/* live: clinics table (rank column first, the clinic name is the sticky column) */
.cc-design .cc-live--clinics .cc-b--table tr > :first-child { position: static; box-shadow: none; font-weight: 700; width: 44px; color: var(--cc-teal-d); }
.cc-design .cc-live--clinics .cc-b--table tr > :nth-child(2) { position: sticky; left: 0; z-index: 1; box-shadow: 1px 0 0 var(--cc-line); min-width: 170px; }
.cc-design .cc-live--clinics .cc-b--table thead tr > :nth-child(2) { z-index: 2; background: var(--cc-mint-l); }
.cc-live__sub { display: block; font-size: 12.5px; font-weight: 500; color: var(--cc-sub); }
.cc-live__yes { display: inline-block; padding: 3px 9px; border-radius: 999px; background: var(--cc-mint); color: var(--cc-teal-d); font-size: 12.5px; font-weight: 700; }
.cc-design .cc-live { margin-top: 26px; margin-bottom: 26px; }
.cc-design .cc-live .cc-b--table { margin: 0; }
.cc-design .cc-live__note { margin: 10px 4px 0 !important; font-size: 13px !important; line-height: 1.5 !important; color: var(--cc-sub) !important; }

/* live: cities + services grids */
.cc-design .cc-live__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr)); }
.cc-design .cc-live__grid > li { margin: 0; padding: 0; }
.cc-design .cc-live__grid > li::before { display: none; }
.cc-design .cc-live__city a { position: relative; display: flex; flex-direction: column; height: 100%; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: var(--cc-shadow); color: var(--cc-ink); text-decoration: none; transition: box-shadow .2s, transform .2s; }
.cc-design .cc-live__city a:hover { box-shadow: var(--cc-shadow-h); transform: translateY(-2px); }
.cc-live__ph { display: block; aspect-ratio: 16 / 9; background: radial-gradient(120% 120% at 0 0, #e9f6f2, #b9e0d6); }
.cc-live__ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cc-live__ph--none { display: flex; align-items: center; justify-content: center; font: 400 44px/1 var(--cc-display); color: var(--cc-teal-d); }
.cc-live__b { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 16px; min-width: 0; }
.cc-live__name { font-weight: 700; font-size: 17px; line-height: 1.3; color: var(--cc-ink); }
.cc-design .cc-live__name a { color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-live__svc .cc-live__name a::after { content: ""; position: absolute; inset: 0; border-radius: 20px; }
.cc-design .cc-live__name a:hover { color: var(--cc-teal); }
.cc-live__km { font-weight: 500; font-size: 13px; color: var(--cc-sub); margin-left: 4px; }
.cc-live__meta { display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--cc-sub); }
.cc-live__meta b { color: var(--cc-ink); }
.cc-design .cc-live__svc { position: relative; display: flex; gap: 14px; align-items: flex-start; height: 100%; padding: 16px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); transition: box-shadow .2s, transform .2s; }
.cc-design .cc-live__svc:hover { box-shadow: var(--cc-shadow-h); transform: translateY(-2px); }
.cc-live__svc .cc-live__b { padding: 2px 0 0; }
.cc-live__ic { flex: none; display: inline-flex; width: 46px; height: 46px; border-radius: 14px; align-items: center; justify-content: center; background: var(--cc-mint-l); color: var(--cc-teal); }
.cc-live__svc:nth-child(3n+2) .cc-live__ic { background: var(--cc-sky); color: #1f5b86; }
.cc-live__svc:nth-child(3n+3) .cc-live__ic { background: var(--cc-sand); color: #7a5508; }
.cc-live__svc.is-open { box-shadow: inset 0 0 0 2px var(--cc-mint), var(--cc-shadow); }

/* FAQ inside the column + sources + note after the accordion */
.cc-design .cc-prose__faq h2 { margin-bottom: .7em; }
.cc-design .cc-acc--inline { margin-bottom: 28px; }
.cc-design .cc-acc--inline .cc-acc__i summary h3 { margin: 0; font: 600 17px/1.4 var(--cc-body); }
.cc-design .cc-prose .cc-sources { margin-top: 36px; padding: 18px 22px; border: 0; border-radius: 18px; background: #fff; box-shadow: var(--cc-shadow); }
.cc-faqsec__tail { margin-top: 18px; }
.cc-faqsec__tail .cc-b { max-width: 760px; margin-left: auto; margin-right: auto; }

/* ---------- article pages (hubs, guides, brands, FUE vs DHI) ---------- */
.cc-phero__card--article { grid-template-columns: minmax(0, 1fr) 180px; }
.cc-phero__side--art { display: block; }
.cc-phero__side--art .cc-svcart .cc-ico { width: 84px; height: 84px; }
.cc-phero--article .cc-phero__lede p:last-child { font-size: 17px; }
.cc-phero__meta { display: inline-flex; align-items: center; gap: 6px; margin: 14px 0 0; padding: 6px 12px; border-radius: 999px; background: var(--cc-mint-l); color: var(--cc-teal-d); font-size: 13.5px; font-weight: 600; }
@media (max-width: 1023px) { .cc-phero__card--article { grid-template-columns: minmax(0, 1fr); } .cc-phero__side--art { display: none; } }
.cc-kids { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 16px; }
.cc-kid { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 20px; border-radius: 22px; background: #fff; box-shadow: var(--cc-shadow); transition: box-shadow .2s, transform .2s; }
.cc-kid:hover { box-shadow: var(--cc-shadow-h); transform: translateY(-2px); }
.cc-kid__ic { display: inline-flex; width: 52px; height: 52px; border-radius: 16px; align-items: center; justify-content: center; background: var(--cc-mint-l); color: var(--cc-teal); }
.cc-guide--1 .cc-kid__ic { background: var(--cc-sky); color: #1f5b86; } .cc-guide--2 .cc-kid__ic { background: var(--cc-sand); color: #7a5508; } .cc-guide--3 .cc-kid__ic { background: var(--cc-ink); color: #9fd8cb; }
.cc-design .cc-kid__t { margin: 4px 0 0; font: 700 18px/1.3 var(--cc-body); text-transform: none; }
.cc-design .cc-kid__t a { color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-kid__t a::after { content: ""; position: absolute; inset: 0; border-radius: 22px; }
.cc-kid__x { margin: 0; font-size: 14.5px; color: var(--cc-sub); }
.cc-kid__go { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 4px; font-size: 14px; font-weight: 600; color: var(--cc-teal); }
.cc-prose--lead { max-width: 760px; }

/* ---------- ranking page ---------- */
.cc-rankhero { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); }
.cc-rankhero__pts { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cc-rankhero__pts li { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border-radius: 999px; background: #fff; box-shadow: var(--cc-shadow); font-size: 14px; font-weight: 600; color: var(--cc-ink); }
.cc-rankhero__pts .cc-ico { color: var(--cc-teal); }
.cc-formula { padding: clamp(20px, 3vw, 30px); border-radius: 28px; background: var(--cc-ink); color: #e6f1ef; box-shadow: var(--cc-shadow); }
.cc-design .cc-formula p { margin: 0; }
.cc-formula__l { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #9fd8cb; }
.cc-formula__f { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; margin: 10px 0 12px !important; font: 400 clamp(28px, 3.2vw, 40px)/1.1 var(--cc-display); color: #fff; }
.cc-formula__f i { font-style: normal; color: #9fd8cb; }
.cc-formula__f sub { font-size: .5em; }
.cc-design .cc-formula__why { font-size: 15px; line-height: 1.5; color: #c9dcd9; }
.cc-design .cc-formula__ex { margin: 14px 0 16px !important; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, .08); font-size: 15px; color: #e6f1ef; }
.cc-formula__ex .cc-sub { display: block; color: #a9c3bf; font-size: 13px; margin-bottom: 2px; }
.cc-formula__ex b { color: #fff; }
.cc-formula__res { display: inline-block; padding: 0 8px; border-radius: 8px; background: #9fd8cb; color: var(--cc-ink) !important; }
.cc-formula .cc-btn--soft { background: rgba(255, 255, 255, .12); color: #fff; }
@media (max-width: 1023px) { .cc-rankhero { grid-template-columns: minmax(0, 1fr); } }

.cc-rcards { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cc-rcard { display: grid; grid-template-columns: 56px 76px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px 20px 16px 16px; border-radius: 24px; background: #fff; box-shadow: var(--cc-shadow); }
.cc-rcard__n { font: 400 44px/1 var(--cc-display); color: var(--cc-line-2); text-align: center; }
.cc-rcard--p1 .cc-rcard__n { color: var(--cc-star); } .cc-rcard--p2 .cc-rcard__n { color: #8aa3a6; } .cc-rcard--p3 .cc-rcard__n { color: #b97a3d; }
.cc-rcard--podium { box-shadow: inset 0 0 0 2px var(--cc-mint), var(--cc-shadow); }
.cc-rcard__logo { width: 76px; height: 76px; border-radius: 20px; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid var(--cc-line); padding: 8px; overflow: hidden; }
.cc-rcard__mono { display: flex; width: 100%; height: 100%; border-radius: 14px; align-items: center; justify-content: center; background: var(--cc-mint); color: var(--cc-teal-d); font: 700 22px/1 var(--cc-body); }
.cc-rcard__logo:has(.cc-rcard__mono) { padding: 0; border: 0; }
.cc-rcard__main { min-width: 0; display: grid; gap: 4px; }
.cc-design .cc-rcard__name { margin: 0; font: 700 19px/1.25 var(--cc-body); text-transform: none; }
.cc-design .cc-rcard__name a { color: var(--cc-ink); text-decoration: none; }
.cc-design .cc-rcard__name a:hover { color: var(--cc-teal); }
.cc-rcard__city { display: flex; gap: 4px; align-items: center; margin: 0; font-size: 14px; color: var(--cc-sub); }
.cc-rcard__main .cc-rline { margin: 2px 0; }
.cc-rcard__main .cc-chips { margin-top: 4px; }
.cc-chip--tech { background: var(--cc-teal); color: #fff; border-color: var(--cc-teal); }
.cc-chip--free { background: var(--cc-amber-bg); color: var(--cc-amber-ink); border-color: #f3dfae; }
.cc-rcard__side { display: grid; justify-items: end; gap: 8px; text-align: right; }
.cc-design .cc-rcard__score { margin: 0; display: grid; }
.cc-rcard__score span { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--cc-sub); }
.cc-rcard__score b { font: 400 34px/1 var(--cc-display); color: var(--cc-teal-d); }
@media (max-width: 760px) {
  .cc-rcard { grid-template-columns: 40px 56px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .cc-rcard__n { font-size: 32px; }
  .cc-rcard__logo { width: 56px; height: 56px; border-radius: 16px; padding: 6px; }
  .cc-rcard__side { grid-column: 1 / -1; grid-template-columns: auto auto 1fr; align-items: center; justify-items: start; text-align: left; padding-top: 10px; border-top: 1px solid var(--cc-line); }
  .cc-rcard__side .cc-btn { justify-self: end; }
  .cc-rcard__score { grid-auto-flow: column; gap: 6px; align-items: baseline; }
  .cc-rcard__score b { font-size: 26px; }
}

.cc-cbest { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 12px; }
.cc-cbest.is-clamped .cc-cbest__i--more { display: none; }
.cc-cbest__i { padding: 16px; border-radius: 20px; background: #fff; box-shadow: var(--cc-shadow); min-width: 0; }
.cc-design .cc-cbest__city { margin: 0 0 10px; display: flex; justify-content: space-between; gap: 8px; align-items: baseline; font-size: 13px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.cc-design .cc-cbest__city a { color: var(--cc-teal); text-decoration: none; }
.cc-cbest__city .cc-sub { text-transform: none; letter-spacing: 0; font-weight: 500; }
.cc-cbest__c { display: flex; gap: 12px; align-items: center; min-width: 0; }
.cc-cbest__c > div { min-width: 0; }
.cc-design .cc-cbest__name { display: block; font-weight: 700; font-size: 15.5px; line-height: 1.3; color: var(--cc-ink); text-decoration: none; overflow-wrap: anywhere; }
.cc-design .cc-cbest__name:hover { color: var(--cc-teal); }
.cc-design .cc-cbest__r { margin: 2px 0 0; font-size: 14px; }
.cc-ranktable table { min-width: 760px; }
.cc-ranktable tbody tr > :first-child { min-width: 180px; max-width: 240px; }

/* ---------- logos (white tile, object-fit contain) ---------- */
.cc-logoimg { display: block; width: 100%; height: 100%; object-fit: contain; }
.cc-avatar--logo { background: #fff !important; border: 1px solid var(--cc-line); padding: 5px; overflow: hidden; }
.cc-avatar--logo .image { display: flex; width: 100%; height: 100%; }
.cc-lcard__media--logo { background: #fff !important; border: 1px solid var(--cc-line); }
.cc-lcard__logo { display: flex; width: 70%; height: 70%; align-items: center; justify-content: center; }
.cc-otop__media--logo { background: #fff !important; border: 1px solid var(--cc-line); }
.cc-otop__logo { display: flex; width: 72%; height: 72%; align-items: center; justify-content: center; }

/* ---------- footer (v3 fix): explicit grid, no theme margins, long links wrap ---------- */
.cc-design footer .container:first-child { grid-template-columns: minmax(0, 1.1fr) repeat(3, minmax(0, 1fr)); gap: 32px clamp(20px, 3vw, 40px); }
.cc-design footer .container:first-child > .item { margin: 0 !important; width: auto !important; max-width: none !important; padding: 0 !important; flex: none !important; }
.cc-design footer .item ul, .cc-design footer .item li { width: auto; max-width: 100%; }
.cc-design footer .item a { display: inline-block; max-width: 100%; overflow-wrap: anywhere; line-height: 1.4; white-space: normal; }
.cc-design footer .container + .container { padding-right: 64px; }
@media (max-width: 991px) { .cc-design footer .container:first-child { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cc-design footer .container:first-child > .item:first-child { grid-column: 1 / -1; } }
@media (max-width: 767px) { .cc-design footer .container:first-child { gap: 26px 18px; } .cc-design footer .container + .container { flex-direction: column; padding-right: 60px; } }
@media (max-width: 359px) { .cc-design footer .container:first-child { grid-template-columns: minmax(0, 1fr); } }
/* the theme numbers every <ol><li> with a ::before counter - not on our own grids */
.cc-design .cc-rcards > li::before, .cc-design .cc-cbest > li::before, .cc-design .cc-kids > li::before, .cc-design .cc-live__grid > li::before, .cc-design .cc-b__tiles > li::before, .cc-design .cc-toc li::before { content: none !important; display: none !important; }
.cc-design .cc-b__stat dt::first-letter { text-transform: uppercase; }
.cc-design .cc-formula p, .cc-design .cc-phero p { white-space: normal; overflow-wrap: break-word; }
.cc-design .cc-live--clinics .cc-b--table tr > :first-child, .cc-design .cc-ranktable tr > :nth-child(2) { width: 1%; white-space: nowrap; }
.cc-live__ph--none { aspect-ratio: auto; height: 64px; font-size: 30px; }
@media (max-width: 760px) { .cc-rcard__side { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; } .cc-rcard__side .cc-btn { margin-left: auto; } }
