/* Plan selector (.cpr) styles — shared by /country/{slug} and /esim/region/{slug}.
   Extracted from pages/country_page.php so both pages stay in sync. */
.cpr{
  --cpr-coral:#E9542B; --cpr-coral-dark:#C8421C; --cpr-coral-tint:#FCEDE6;
  --cpr-teal:#13A394; --cpr-teal-tint:#E2F4F1;
  --cpr-ink:#17222B; --cpr-ink-soft:#5E6E79; --cpr-ink-faint:#8A98A2;
  --cpr-line:#EAE3DC; --cpr-line-soft:#F1EBE5; --cpr-bg:#FAF7F3; --cpr-card:#FFFFFF;
  --cpr-shadow:0 1px 2px rgba(23,34,43,.04), 0 8px 24px -16px rgba(23,34,43,.18);
  --cpr-shadow-lift:0 2px 4px rgba(23,34,43,.05), 0 18px 40px -20px rgba(23,34,43,.28);
  font-family:"Hanken Grotesk","Inter",system-ui,sans-serif; color:var(--cpr-ink); background:var(--cpr-bg);
}
.cpr *{box-sizing:border-box;}
/* :where() keeps these resets at zero added specificity, so the element-scoped
   resets don't out-specify single-class button/link styles (which would force
   .cpr-addbtn / .cpr-add backgrounds to transparent until :hover). */
.cpr :where(a){color:inherit;text-decoration:none;}
.cpr :where(button){font-family:inherit;cursor:pointer;border:none;background:none;}
.cpr-wrap{max-width:1140px;margin:0 auto;padding:0 24px;}

.cpr-hero{background:radial-gradient(120% 140% at 88% -20%, #F7C9B6 0%, rgba(247,201,182,0) 55%), linear-gradient(180deg,#FBEDE6 0%, #FAF7F3 100%);border-bottom:1px solid var(--cpr-line);}
.cpr-hero .cpr-wrap{padding:30px 24px 26px;}
.cpr-crumbs{font-size:13px;color:var(--cpr-ink-faint);font-weight:500;margin-bottom:18px;}
.cpr-crumbs a:hover{color:var(--cpr-ink-soft);}
.cpr-hero-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.cpr-hero-content{flex:1 1 460px;min-width:300px;display:flex;align-items:flex-start;gap:22px;}
.cpr-hero-text{flex:1;min-width:260px;}
/* SIM-card profile echoing the idealesim logo: three rounded corners + a
   chamfered (diagonal-cut) top-right corner. Done with an SVG clip-path
   (#cprSimCut, objectBoundingBox units) so it scales with the panel; the panel's
   fixed 8:5 aspect ratio lets the rounded corners stay circular (ry = 1.6·rx).
   drop-shadow (not box-shadow) so the lift follows the clipped outline. */
.cpr-hero-media{flex:0 1 420px;order:2;margin:0;position:relative;}
.cpr-hero-media img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;
  clip-path:url(#cprSimCut);
  filter:drop-shadow(0 2px 4px rgba(23,34,43,.11)) drop-shadow(0 18px 34px rgba(23,34,43,.26));}
/* Light-grey border traced along the SIM-card outline (same path as the clip),
   drawn as an un-clipped SVG overlay so the full hairline shows. Matches the
   flag tile's border colour. */
.cpr-hero-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.cpr-hero-frame path{fill:none;stroke:#D8CFC3;stroke-width:3.5;}
.cpr-clip-defs{position:absolute;width:0;height:0;}
.cpr-flag{width:54px;height:54px;border-radius:14px;flex:none;overflow:hidden;display:grid;place-items:center;background:#fff;border:1px solid var(--cpr-line);box-shadow:var(--cpr-shadow);}
.cpr-flag img{width:40px;height:auto;border-radius:4px;display:block;}
.cpr-h1{font-size:34px;font-weight:800;letter-spacing:-.025em;margin:2px 0 8px;line-height:1.05;}
.cpr-lede{max-width:560px;color:var(--cpr-ink-soft);font-size:15px;line-height:1.55;margin:0;}
.cpr-hero-stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.cpr-stat{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--cpr-line);border-radius:999px;padding:8px 15px;font-size:13.5px;font-weight:600;}
.cpr-stat b{color:var(--cpr-ink);}
.cpr-ico{color:var(--cpr-coral);display:flex;}
.cpr-ico.t{color:var(--cpr-teal);}

.cpr-main{padding:34px 0 80px;}
.cpr-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px;}
.cpr-h2{font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0;}
.cpr-section-head p{margin:4px 0 0;color:var(--cpr-ink-soft);font-size:14.5px;}

.cpr-picks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:34px;}
.cpr-pick{position:relative;background:var(--cpr-card);border:1px solid var(--cpr-line);border-radius:16px;padding:20px 20px 18px;box-shadow:var(--cpr-shadow);display:flex;flex-direction:column;transition:transform .15s ease, box-shadow .15s ease;}
.cpr-pick:hover{transform:translateY(-3px);box-shadow:var(--cpr-shadow-lift);}
.cpr-pick.feat{border-color:var(--cpr-coral);box-shadow:0 0 0 1px var(--cpr-coral), var(--cpr-shadow-lift);}
.cpr-pick-tag{position:absolute;top:-11px;left:18px;font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:5px 11px;border-radius:999px;color:#fff;background:var(--cpr-ink);text-transform:uppercase;}
.cpr-pick-tag.coral{background:var(--cpr-coral);}
.cpr-pick-tag.teal{background:var(--cpr-teal);}
.cpr-pick .cpr-amt{font-size:30px;font-weight:800;letter-spacing:-.03em;line-height:1;}
.cpr-pick .cpr-amt span{font-size:15px;font-weight:600;color:var(--cpr-ink-soft);letter-spacing:0;}
.cpr-pick .cpr-dur{color:var(--cpr-ink-soft);font-size:14px;font-weight:600;margin-top:5px;}
.cpr-meta{display:flex;align-items:center;gap:7px;margin-top:14px;flex-wrap:wrap;}
.cpr-price-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:18px;}
.cpr-pick .cpr-price{font-size:24px;font-weight:800;letter-spacing:-.02em;}
.cpr-per{font-size:12.5px;color:var(--cpr-ink-faint);font-weight:600;text-align:right;line-height:1.35;}

.cpr-pill{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:7px;letter-spacing:.01em;display:inline-flex;align-items:center;gap:4px;}
.cpr-pill.net{background:var(--cpr-teal-tint);color:#0C7568;}
.cpr-pill.car{background:#F2EEE9;color:var(--cpr-ink-soft);}
.cpr-pill.car-hi{background:var(--cpr-ink);color:#fff;}
.cpr-pill.g5{background:var(--cpr-coral-tint);color:var(--cpr-coral-dark);}

.cpr-add{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--cpr-coral);color:#fff;font-weight:700;font-size:14.5px;padding:11px;border-radius:11px;transition:background .15s ease;margin-top:14px;}
.cpr-add:hover{background:var(--cpr-coral-dark);}
.cpr-add.added{background:var(--cpr-teal);}

.cpr-controls{background:#fff;border:1px solid var(--cpr-line);border-radius:16px;padding:6px;margin-bottom:18px;box-shadow:var(--cpr-shadow);}
.cpr-seg{display:flex;gap:4px;background:#F4EFEA;border-radius:12px;padding:4px;}
.cpr-seg button{flex:1;display:flex;flex-direction:column;align-items:center;gap:1px;padding:9px 8px;border-radius:9px;font-weight:700;font-size:14px;color:var(--cpr-ink-soft);transition:.15s;}
.cpr-seg button small{font-weight:500;font-size:11.5px;color:var(--cpr-ink-faint);}
.cpr-seg button[aria-selected="true"]{background:#fff;color:var(--cpr-ink);box-shadow:0 1px 3px rgba(23,34,43,.12);}
.cpr-seg button[aria-selected="true"] small{color:var(--cpr-coral);}

.cpr-filterbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:16px 6px 4px;}
.cpr-chips{display:flex;gap:7px;flex-wrap:wrap;}
.cpr-chip{font-size:13px;font-weight:600;padding:7px 13px;border-radius:999px;border:1px solid var(--cpr-line);color:var(--cpr-ink-soft);background:#fff;transition:.12s;}
.cpr-chip:hover{border-color:var(--cpr-ink-faint);color:var(--cpr-ink);}
.cpr-chip[aria-pressed="true"]{background:var(--cpr-ink);border-color:var(--cpr-ink);color:#fff;}
.cpr-filter-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--cpr-ink-faint);margin-right:2px;}
.cpr-sortwrap{margin-left:auto;display:flex;align-items:center;gap:8px;}
.cpr-sortwrap select{font-family:inherit;font-size:13.5px;font-weight:600;color:var(--cpr-ink);border:1px solid var(--cpr-line);border-radius:10px;padding:8px 30px 8px 12px;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%235E6E79' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 11px center;-webkit-appearance:none;appearance:none;cursor:pointer;}
.cpr-mode-hint{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--cpr-ink-soft);background:var(--cpr-coral-tint);border-radius:10px;padding:10px 14px;margin:14px 6px 2px;}
.cpr-mode-hint b{color:var(--cpr-coral-dark);}
.cpr-help{margin-left:auto;color:var(--cpr-coral-dark);font-weight:700;white-space:nowrap;}
.cpr-help:hover{text-decoration:underline;}

.cpr-plan-count{font-size:13.5px;color:var(--cpr-ink-faint);font-weight:600;margin:22px 6px 12px;}
.cpr-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.cpr-plan{position:relative;background:var(--cpr-card);border:1px solid var(--cpr-line);border-radius:11px;padding:17px 17px 15px;display:flex;flex-direction:column;transition:border-color .12s ease, box-shadow .12s ease;}
.cpr-plan:hover{border-color:#DFD6CC;box-shadow:var(--cpr-shadow);}
.cpr-plan.sel{border-color:var(--cpr-teal);box-shadow:0 0 0 1px var(--cpr-teal);}
.cpr-plan .cpr-amt{font-size:23px;font-weight:800;letter-spacing:-.03em;line-height:1.05;}
.cpr-plan .cpr-amt span{font-size:13px;font-weight:600;color:var(--cpr-ink-soft);letter-spacing:0;}
.cpr-plan .cpr-dur{font-size:13.5px;color:var(--cpr-ink-soft);font-weight:600;margin-top:3px;}
.cpr-heart{position:absolute;top:13px;right:14px;color:var(--cpr-ink-faint);width:30px;height:30px;display:grid;place-items:center;border-radius:8px;}
.cpr-heart:hover{color:var(--cpr-coral);background:var(--cpr-coral-tint);}
.cpr-heart.on{color:var(--cpr-coral);}
.cpr-cmp{position:absolute;top:18px;right:52px;display:flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;color:var(--cpr-ink-faint);}
.cpr-cmp input{accent-color:var(--cpr-teal);width:14px;height:14px;cursor:pointer;}
.cpr-nets{display:flex;gap:6px;margin-top:13px;flex-wrap:wrap;}
.cpr-vbadge{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--cpr-teal);display:inline-flex;align-items:center;gap:4px;margin-top:9px;}
.cpr-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:14px;padding-top:13px;border-top:1px solid var(--cpr-line-soft);}
.cpr-plan .cpr-price{font-size:21px;font-weight:800;letter-spacing:-.02em;}
.cpr-plan .cpr-per{font-size:12px;color:var(--cpr-ink-faint);font-weight:600;margin-top:1px;text-align:left;}
.cpr-addbtn{flex:none;display:flex;align-items:center;gap:6px;background:var(--cpr-coral);color:#fff;font-weight:700;font-size:13.5px;padding:9px 15px;border-radius:9px;transition:background .15s;}
.cpr-addbtn:hover{background:var(--cpr-coral-dark);}
.cpr-addbtn.added{background:var(--cpr-teal);}
.cpr-empty{grid-column:1/-1;text-align:center;padding:50px 20px;color:var(--cpr-ink-faint);font-weight:600;}

.cpr-tray{position:fixed;left:50%;bottom:20px;transform:translateX(-50%) translateY(140%);background:var(--cpr-ink);color:#fff;border-radius:14px;padding:12px 14px 12px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 20px 50px -12px rgba(0,0,0,.5);z-index:1200;transition:transform .28s cubic-bezier(.4,1.2,.4,1);max-width:calc(100vw - 32px);}
.cpr-tray.show{transform:translateX(-50%) translateY(0);}
.cpr-tray-lbl{font-size:14px;font-weight:600;}
.cpr-tray-lbl b{font-weight:800;}
.cpr-dots{display:flex;gap:6px;}
.cpr-dot{width:9px;height:9px;border-radius:999px;background:rgba(255,255,255,.25);}
.cpr-dot.on{background:var(--cpr-teal);}
.cpr-clear{font-size:13px;font-weight:600;color:rgba(255,255,255,.65);}
.cpr-clear:hover{color:#fff;}
.cpr-go{background:var(--cpr-coral);color:#fff;font-weight:700;font-size:14px;padding:9px 18px;border-radius:9px;}
.cpr-go:hover{background:var(--cpr-coral-dark);}
.cpr-go[disabled]{opacity:.4;cursor:not-allowed;}
.cpr-toast{position:fixed;left:50%;bottom:88px;transform:translateX(-50%) translateY(20px);background:var(--cpr-teal);color:#fff;font-weight:600;font-size:14px;padding:11px 20px;border-radius:999px;opacity:0;pointer-events:none;transition:.25s;z-index:1300;box-shadow:0 14px 30px -10px rgba(19,163,148,.6);}
.cpr-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

.cpr-helpband{margin-top:46px;background:#fff;border:1px solid var(--cpr-line);border-radius:16px;padding:26px 28px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;box-shadow:var(--cpr-shadow);}
.cpr-helpband .cpr-ic{width:46px;height:46px;border-radius:12px;background:var(--cpr-coral-tint);color:var(--cpr-coral);display:grid;place-items:center;flex:none;}
.cpr-helpband h3{margin:0 0 3px;font-size:17px;font-weight:800;}
.cpr-helpband p{margin:0;color:var(--cpr-ink-soft);font-size:14px;}
.cpr-acts{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap;}
.cpr-acts a{font-weight:700;font-size:14px;padding:11px 18px;border-radius:10px;}
.cpr-acts .cpr-primary{background:var(--cpr-coral);color:#fff;}
.cpr-acts .cpr-primary:hover{background:var(--cpr-coral-dark);}
.cpr-acts .cpr-ghost{border:1.5px solid var(--cpr-line);}
.cpr-acts .cpr-ghost:hover{border-color:var(--cpr-ink);}

@media(max-width:920px){.cpr-picks{grid-template-columns:1fr;}.cpr-plans{grid-template-columns:repeat(2,1fr);}.cpr-hero-media{flex-basis:100%;max-width:520px;}}
@media(max-width:620px){.cpr-plans{grid-template-columns:1fr;}.cpr-h1{font-size:28px;}.cpr-sortwrap{margin-left:0;width:100%;}.cpr-sortwrap select{flex:1;}
  /* Phones: the heading + country paragraph WRAP around a compact SIM-card
     thumbnail. The hero row drops to block flow and the image floats right (the
     flag floats left), so the text flows around them - magazine style. The
     image sits before the text in the DOM, which floats require. */
  .cpr-hero-row{display:block;}
  .cpr-hero-row::after{content:"";display:block;clear:both;}
  .cpr-hero-content{display:block;}
  .cpr-hero-text{min-width:0;}
  .cpr-flag{float:left;margin:0 12px 8px 0;}
  .cpr-hero-media{float:right;flex:none;width:150px;max-width:44%;margin:2px 0 10px 14px;}
  /* Mode hint: stack the "Not sure? Help me choose" link BELOW the paragraph
     instead of pinning it right (which squeezes the text into a thin column). */
  .cpr-mode-hint{flex-wrap:wrap;}
  .cpr-mode-hint .cpr-help{margin-left:0;flex-basis:100%;margin-top:8px;padding-left:25px;}}

/* ─── Ported editorial sections (Trip Essentials, Travel Tips, Local info,
   What's-known-for, Top destinations). Scoped under .cpr so the page-local
   classes can't leak; they read the site's design tokens (--white, --primary,
   --radius, --shadow…) which resolve from :root. ─────────────────────────── */
.cpr-ed{margin-top:46px;}
.cpr-ed--narrow{max-width:760px;}
.cpr-ed-head{margin-bottom:18px;}
.cpr-ed-head p{margin:6px 0 0;color:var(--cpr-ink-soft);font-size:14.5px;}
.cpr-ed .cpr-h2{display:flex;align-items:center;gap:.5rem;}
.cpr-ed-tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cpr-coral-dark);background:var(--cpr-coral-tint);padding:5px 11px;border-radius:999px;margin-bottom:10px;}
.cpr-prose{color:var(--cpr-ink-soft);font-size:15px;line-height:1.65;}
.cpr-prose :where(a){color:var(--cpr-coral-dark);text-decoration:underline;}
.cpr-prose :where(h2,h3,h4){color:var(--cpr-ink);}

/* Trip Essentials preview tiles */
.cpr .te-preview-grid{display:grid;grid-template-columns:1fr;gap:.75rem;}
@media (min-width:640px){.cpr .te-preview-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:1024px){.cpr .te-preview-grid{grid-template-columns:2fr 1fr 1fr 1.5fr;}}
.cpr .te-preview-tile{background:var(--cpr-card);border:1px solid var(--cpr-line);border-radius:14px;padding:1rem 1.125rem;box-shadow:var(--cpr-shadow);display:flex;flex-direction:column;}
.cpr .te-preview-tile__title{margin:0 0 .75rem;font-size:.9375rem;font-weight:700;color:var(--cpr-ink);display:flex;align-items:baseline;gap:.4375rem;}
.cpr .te-preview-tile__title i{color:var(--cpr-coral);font-size:.875rem;}
.cpr .te-preview-tile__title small{font-weight:500;font-size:.75rem;color:var(--cpr-ink-faint);margin-left:auto;}
.cpr .te-preview-tile__hint{margin:auto 0 0;padding-top:.625rem;font-size:.75rem;color:var(--cpr-ink-faint);font-style:italic;}
.cpr .te-preview-phrases{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem;}
.cpr .te-preview-phrase{background:var(--cpr-bg);border-radius:9px;padding:.5rem .625rem;display:grid;grid-template-columns:minmax(80px,1fr) 1.3fr;grid-template-rows:auto auto;column-gap:.625rem;align-items:center;}
.cpr .te-preview-phrase__en{font-weight:600;color:var(--cpr-ink-soft);font-size:.8125rem;grid-row:1;grid-column:1;}
.cpr .te-preview-phrase__local{display:flex;align-items:center;gap:.375rem;color:var(--cpr-ink);font-size:.9375rem;grid-row:1;grid-column:2;}
.cpr .te-preview-phrase__tr{font-size:.75rem;color:var(--cpr-ink-faint);font-style:italic;grid-row:2;grid-column:1/-1;}
.cpr .te-preview-speak{flex:0 0 auto;width:1.625rem;height:1.625rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--cpr-line);background:#fff;color:var(--cpr-coral);border-radius:999px;font-size:.6875rem;padding:0;margin-left:auto;transition:background .15s ease,transform .05s ease;}
.cpr .te-preview-speak:hover{background:var(--cpr-coral-tint);}
.cpr .te-preview-speak:active{transform:scale(.92);}
.cpr .te-preview-speak.is-speaking{background:var(--cpr-coral);color:#fff;border-color:var(--cpr-coral);}
.cpr .te-preview-weather{display:flex;align-items:center;gap:.75rem;}
.cpr .te-preview-weather__icon{flex:0 0 auto;width:56px;height:56px;}
.cpr .te-preview-weather__temp{font-size:1.75rem;font-weight:800;line-height:1;color:var(--cpr-ink);}
.cpr .te-preview-weather__temp small{font-size:.75rem;font-weight:500;color:var(--cpr-ink-soft);margin-left:.125rem;}
.cpr .te-preview-weather__cond{font-size:.875rem;color:var(--cpr-ink-soft);margin-top:.25rem;}
.cpr .te-preview-airport{display:flex;align-items:center;gap:.625rem;}
.cpr .te-preview-airport__code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700;background:var(--cpr-coral);color:#fff;padding:.25rem .5rem;border-radius:6px;font-size:.8125rem;letter-spacing:.04em;flex:0 0 auto;}
.cpr .te-preview-airport strong{display:block;font-size:.875rem;color:var(--cpr-ink);line-height:1.2;}
.cpr .te-preview-airport small{display:block;font-size:.75rem;color:var(--cpr-ink-soft);margin-top:.125rem;}
.cpr .te-preview-spots{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3125rem;}
.cpr .te-preview-spots li{display:flex;align-items:center;gap:.4375rem;font-size:.8125rem;color:var(--cpr-ink);padding:.3125rem .5rem;background:var(--cpr-bg);border-radius:9px;}
.cpr .te-preview-spots li i{color:var(--cpr-coral);font-size:.75rem;}
.cpr .te-preview-cta{margin-top:1.25rem;padding:.875rem 1.25rem;background:var(--cpr-coral-tint);border:1px dashed var(--cpr-coral);color:var(--cpr-ink);border-radius:12px;font-size:.875rem;text-align:center;}
.cpr .te-preview-cta i{color:var(--cpr-coral);margin-right:.375rem;}

/* Local-info chips */
.cpr .cpf-grid{display:grid;grid-template-columns:1fr;gap:.75rem;}
@media (min-width:560px){.cpr .cpf-grid{grid-template-columns:1fr 1fr;}}
@media (min-width:960px){.cpr .cpf-grid{grid-template-columns:repeat(3,1fr);}}
.cpr .cpf-chip{display:flex;align-items:center;gap:.75rem;background:var(--cpr-card);border:1px solid var(--cpr-line);border-radius:12px;padding:.875rem 1rem;box-shadow:var(--cpr-shadow);}
.cpr .cpf-chip>i{flex:0 0 auto;width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;background:var(--cpr-coral-tint);color:var(--cpr-coral);border-radius:50%;font-size:.9375rem;}
.cpr .cpf-chip__body{display:flex;flex-direction:column;min-width:0;}
.cpr .cpf-chip__label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.04em;color:var(--cpr-ink-faint);font-weight:700;}
.cpr .cpf-chip__val{font-size:.9375rem;color:var(--cpr-ink);font-weight:600;}

/* What's-known-for cards */
.cpr .country-features-grid{display:grid;grid-template-columns:1fr;gap:1rem;}
@media (min-width:768px){.cpr .country-features-grid{grid-template-columns:1fr 1fr;}}
.cpr .country-features-card{background:var(--cpr-card);border:1px solid var(--cpr-line);border-radius:14px;padding:1.25rem 1.5rem;box-shadow:var(--cpr-shadow);}
.cpr .country-features-card h3{margin:0 0 .75rem;font-size:1.0625rem;font-weight:700;display:flex;align-items:center;gap:.4rem;}
.cpr .country-features-card ul{margin:0;padding-left:1.25rem;}
.cpr .country-features-card li{margin-bottom:.5rem;font-size:.9375rem;color:var(--cpr-ink-soft);line-height:1.4;}
.cpr .country-features-card li:last-child{margin-bottom:0;}

/* Top-destinations city cards */
.cpr .cities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
@media (min-width:640px){.cpr .cities-grid{grid-template-columns:repeat(3,1fr);}}
@media (min-width:1024px){.cpr .cities-grid{grid-template-columns:repeat(4,1fr);}}
.cpr .city-card{background:var(--cpr-card);border:1px solid var(--cpr-line);border-radius:14px;padding:1.25rem;text-align:center;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:block;}
.cpr .city-card:hover{box-shadow:var(--cpr-shadow-lift);transform:translateY(-2px);}
.cpr .city-card__img{width:100%;height:120px;border-radius:9px;overflow:hidden;margin-bottom:.75rem;}
.cpr .city-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.cpr .city-card:hover .city-card__img img{transform:scale(1.05);}
.cpr .city-card__icon{width:40px;height:40px;border-radius:50%;background:var(--cpr-coral-tint);color:var(--cpr-coral);display:inline-flex;align-items:center;justify-content:center;font-size:1rem;margin-bottom:.625rem;}
.cpr .city-card__name{font-size:1rem;font-weight:700;margin:0 0 .25rem;}
.cpr .city-card__desc{font-size:.8125rem;color:var(--cpr-ink-faint);line-height:1.5;margin:0;}
.cpr .city-card__link{font-size:.75rem;font-weight:700;color:var(--cpr-coral-dark);margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.25rem;opacity:0;transition:opacity .2s;}
.cpr .city-card:hover .city-card__link{opacity:1;}

/* Compare modal */
.cpr-modal{position:fixed;inset:0;z-index:1400;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(23,34,43,.55);}
.cpr-modal.show{display:flex;}
.cpr-modal-card{background:#fff;border-radius:16px;width:100%;max-width:820px;max-height:88vh;display:flex;flex-direction:column;position:relative;box-shadow:0 30px 70px -20px rgba(0,0,0,.5);padding:24px;}
.cpr-modal-x{position:absolute;top:14px;right:16px;font-size:1.6rem;line-height:1;color:var(--cpr-ink-faint);}
.cpr-modal-x:hover{color:var(--cpr-ink);}
.cpr-modal-title{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 14px;}
.cpr-modal-scroll{overflow:auto;}
.cpr-cmp-table{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:fixed;}
.cpr-cmp-table th,.cpr-cmp-table td{padding:.5rem .65rem;border-bottom:1px solid var(--cpr-line-soft);text-align:center;vertical-align:middle;word-wrap:break-word;}
.cpr-cmp-table__label{width:120px;text-align:left;font-weight:700;color:var(--cpr-ink-soft);white-space:nowrap;}
.cpr-cmp-table__label i{width:1.1rem;display:inline-block;color:var(--cpr-coral);}
.cpr-cmp-table__plan{position:relative;padding-top:1.4rem!important;background:var(--cpr-bg);}
.cpr-cmp-table__plan-name{font-weight:700;font-size:.95rem;}
.cpr-cmp-table__plan-data{font-size:1.15rem;font-weight:800;color:var(--cpr-coral-dark);}
.cpr-cmp-table__rm{position:absolute;top:.3rem;right:.4rem;font-size:1rem;color:var(--cpr-ink-faint);line-height:1;}
.cpr-cmp-table__rm:hover{color:var(--cpr-coral);}
.cpr-cmp-table__best{background:var(--cpr-teal-tint);}
.cpr-cmp-crown{color:#E0A91B;font-size:.7rem;margin-left:.2rem;}
.cpr-cmp-view{display:block;background:var(--cpr-coral);color:#fff;font-weight:700;font-size:13px;padding:8px;border-radius:8px;text-align:center;}
.cpr-cmp-view:hover{background:var(--cpr-coral-dark);}

/* Hub-and-spoke cross-link (country page -> region pages). */
.cpr-region-xlink{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px;padding:14px 18px;background:var(--cpr-teal-tint);border:1px solid #CDE9E4;border-radius:12px;font-size:14px;}
.cpr-region-xlink>span{font-weight:700;color:var(--cpr-ink);}
.cpr-region-xlink a{font-weight:700;color:#0C7568;}
.cpr-region-xlink a:hover{text-decoration:underline;}

/* CLS guard: reserve desktop height for the JS-rendered picks/plans grids so
   filling them doesn't shove the controls/help band (the layout shift Lighthouse
   flagged on .cpr-main / .cpr-controls). Desktop only — on narrower viewports
   these sit below the fold, so reserving there isn't needed. The plans grid's
   height comes from --cpr-plans-minh, set per page from the initial plan count. */
@media(min-width:921px){
  .cpr-picks{min-height:232px;}
  .cpr-plans{min-height:var(--cpr-plans-minh,0px);}
}
