/* source: font-system.css */
@import url('https://fonts.googleapis.com/css2?family=Funnel+Sans:wght@400;500;600;700&family=Oxanium:wght@700&display=swap');

/* Roamnessa uses two fonts: Oxanium for its public-facing signature moments,
   Funnel Sans for every functional and supporting interface element. */
body,
body button,
body input,
body select,
body textarea,
body summary,
body * {
  font-family: 'Funnel Sans', Arial, sans-serif !important;
}

body h1,
body .brand,
body .mark,
body .hero h1,
body .optimizer-copy h1,
body .destination-hero h1 {
  font-family: Oxanium, Arial, sans-serif !important;
  font-weight: 700 !important;
}

/* source: regional-page.css */
:root{--ink:#172519;--cream:#f5f2e9;--paper:#fffdf8;--orange:#f15c3e;--green:#174c37;--muted:#637065;--line:#d8ddd2}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Onest,Arial,sans-serif}header,main{max-width:1120px;margin:auto;padding-left:28px;padding-right:28px}header{padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{font-size:24px;font-weight:800;color:var(--ink);letter-spacing:-1.5px;text-decoration:none}.brand span{display:inline-grid;place-items:center;width:27px;height:27px;background:var(--orange);border-radius:8px;color:#fff;font-family:Georgia,serif;font-size:20px;font-style:italic;margin-right:7px}.back{color:var(--green);font-size:13px;font-weight:700;text-decoration:none}.currency-selector{appearance:none;border:1px solid var(--ink);border-radius:30px;background:var(--paper);color:var(--ink);padding:9px 10px;font:700 12px Onest;cursor:pointer}main{padding-top:75px;padding-bottom:75px}.eyebrow{font:500 11px 'Azeret Mono',monospace;letter-spacing:.13em;color:#526252}.eyebrow:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-right:8px}h1{font-size:clamp(44px,6vw,70px);letter-spacing:-.07em;line-height:.95;margin:17px 0}.intro{max-width:560px;color:var(--muted);line-height:1.65}.region-page-filters{display:flex;gap:8px;margin:18px 0 0}.region-phone-number-filter{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 11px;border:1px solid #e7b4a6;border-radius:999px;background:#fff5f1;color:#7b3526;font-size:11px;font-weight:800}.region-phone-number-filter:before{content:'';display:none;place-items:center;width:18px;height:18px;border-radius:50%;background:#ffd8cf;color:#903a27;font:800 10px Onest}.region-phone-number-filter input{appearance:none;width:16px;height:16px;margin:0;border:1px solid #bb8f83;border-radius:5px;background:#fff}.region-phone-number-filter input:checked{border-color:#a84430;background:#a84430 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.1 5.7 9.7 11.2 4.2' fill='none' stroke='%23fffdf8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat}.region-phone-number-filter:has(input:checked){border-color:#c95f47;background:#ffe6df;color:#6d2a1c}.region-details-hint{display:inline-flex;margin:18px 0 -18px;padding:8px 11px;border:1px solid #b8d26d;border-radius:999px;background:#f0f9db;color:#315427;font-size:11px;font-weight:800}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:40px}.plan{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:18px;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.plan:hover,.plan:focus-visible{background:#f6f9f1;border-color:#91a88c;box-shadow:0 10px 20px #17301d12;transform:translateY(-2px);outline:0}.plan span{font:700 9px 'Azeret Mono',monospace;color:#41672b;letter-spacing:.08em}.region-plan-badges{display:flex;align-items:center;gap:6px;min-height:24px}.region-plan-badges .calling-plan-badge{display:inline-flex;border-radius:6px;background:#e5f0dc;color:#355c21;padding:5px 7px;text-transform:uppercase;white-space:nowrap}.plan h2{font-size:18px;margin:20px 0 8px}.plan p{min-height:35px;margin:0;color:var(--muted);font-size:11px;line-height:1.5}.plan .coverage-preview{min-height:0;margin-top:8px;color:#315427;font-weight:700;font-size:10px}.plan details{margin-top:8px}.plan summary{cursor:pointer;color:var(--green);font-size:10px;font-weight:800}.plan details p{max-height:90px;overflow:auto;min-height:0;margin-top:7px;font-size:10px}.data{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #e4e8de;margin-top:18px;padding-top:14px}.data strong{font-size:25px;letter-spacing:-1px}.data .data-price-per-gb{font:600 9px Onest;color:var(--muted);letter-spacing:0;white-space:nowrap}.data small{text-align:right;color:var(--muted);font-size:10px}.bottom{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.bottom>strong{font-size:19px}.bottom button{border:0;background:var(--ink);color:#fff;border-radius:8px;padding:9px 11px;font:700 11px Onest;cursor:pointer}.empty{color:var(--muted)}@media(max-width:760px){header,main{padding-left:18px;padding-right:18px}.plans{grid-template-columns:1fr}main{padding-top:48px}}

/* source: compact-card-groups.css */
.validity-plan-group {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding-top: 17px;
  border-top: 1px solid #dce5d4;
}

.validity-plan-group:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.validity-group-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.validity-plan-group:not([data-expanded="true"]) .validity-group-cards {
  display: none;
}

.validity-group-heading {
  margin: 0 0 9px;
  padding: 0;
  border-top: 0;
}

.validity-group-cards .plan-card {
  padding: 9px;
}

.validity-group-cards .plan-card h3 {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.2;
}

.validity-group-cards .plan-top-placeholder {
  min-height: 22px;
}

.validity-group-cards .plan-card .data {
  margin: 7px 0 2px;
}

.validity-group-cards .plan-card .data strong {
  font-size: 24px;
}

.validity-group-cards .plan-card .plan-details {
  padding-top: 10px;
}

.validity-group-cards .plan-card .plan-bottom {
  margin-top: 6px;
}

.validity-group-cards .plan-card .plan-bottom > strong {
  font-size: 16px;
}

.validity-group-cards .plan-card .select-plan,
.validity-group-cards .regional-card .select-plan {
  padding: 7px 9px;
  font-size: 10px;
}

.validity-group-cards .regional-card {
  padding: 10px;
}

.validity-group-cards .regional-card h4 {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.2;
}

.validity-group-cards .regional-card .regional-data {
  margin-top: 8px;
  padding-top: 7px;
}

.validity-group-cards .regional-card .regional-data strong {
  font-size: 20px;
}

.validity-group-cards .regional-card .regional-bottom {
  margin-top: 8px;
}

.validity-group-cards .regional-card .regional-bottom > strong {
  font-size: 16px;
}

@media (max-width: 800px) {
  .validity-group-cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .validity-group-cards .plan-card,
  .validity-group-cards .regional-card {
    padding: 11px;
  }

  .validity-group-cards .plan-card h3,
  .validity-group-cards .regional-card h4 {
    margin-top: 12px;
  }

  .validity-group-cards .plan-card .data {
    margin-top: 12px;
  }
}

.validity-group-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: #315427;
  font: 800 16px Onest;
  cursor: pointer;
}

.validity-group-toggle[aria-expanded="true"] > span:last-child {
  transform: rotate(180deg);
}

/* source: search-layer.css */
.finder-actions .destination-guide-link{display:none!important}
.hero>.search-box{z-index:4}.hero>.popular{z-index:1}
.popular button{cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.popular button:hover{background:#f6f9f1;box-shadow:0 6px 14px #17301d12;transform:translateY(-1px)}.popular button:focus-visible{outline:2px solid #174c37;outline-offset:2px}
.filter{cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.filter:hover{background:#f6f9f1;border-color:#91a88c;box-shadow:0 3px 9px #17301d12}.filter.active:hover{background:#174c37;border-color:#174c37;box-shadow:0 3px 9px #17301d26}.filter:focus-visible{outline:2px solid #174c37;outline-offset:2px}
.plan-card[data-clickable-plan]{cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.plan-card[data-clickable-plan]:hover{background:#f6f9f1;border-color:#91a88c;box-shadow:0 10px 20px #17301d12;transform:translateY(-2px)}.plan-card[data-clickable-plan]:focus-within{border-color:#174c37;box-shadow:0 0 0 3px #c7ed5680}
.plans-section{padding-top:88px;padding-bottom:32px}.how{padding-top:40px}@media(max-width:800px){.plans-section{padding-top:60px;padding-bottom:28px}.how{padding-top:34px}}
.search-trip-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px;max-width:630px}.search-trip-chips button{border:0;border-radius:16px;background:#e3edd7;color:#25452e;padding:6px 10px;font:700 11px Onest;cursor:pointer}.search-trip-help{display:flex;align-items:center;gap:7px;max-width:630px;margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.35}.search-trip-help-plus{display:grid;flex:0 0 16px;width:16px;height:16px;place-items:center;border:1px solid #a8bba5;border-radius:50%;color:#315427;font:800 14px/1 Onest}.multi-destination-results{margin-top:20px}.finder.multi-destination-mode>.finder-top,.finder.multi-destination-mode>.filters,.finder.multi-destination-mode>#planGrid,.finder.multi-destination-mode>#catalogControls,.finder.multi-destination-mode>#durationNotice,.finder.multi-destination-mode>#countryNotice,.finder.multi-destination-mode>.plan-details-hint,.finder.multi-destination-mode>.mobile-plan-refinements{display:none!important}.multi-regional-section{margin-top:0}.multi-result-section{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.multi-result-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:15px}.multi-result-heading h3{font-size:23px;letter-spacing:-.045em;margin:7px 0 0}.multi-result-heading p{max-width:340px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.multi-country-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:12px 0 16px;border-bottom:1px solid #e4e8df;margin-bottom:17px}.multi-filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.multi-country-filters .filter{font-size:11px;padding:7px 10px}.multi-country-filters .duration-filter,.multi-country-filters .route-filter,.multi-country-filters .data-range-filter{min-height:30px}.multi-country-filters .data-range-filter select{border:0;background:transparent;color:var(--green);font:700 10px Onest;outline:0}.multi-country-filters .hotspot-filter{min-height:30px}.multi-empty{margin:0;color:#647062;font-size:12px}.multi-view-country{margin-top:14px;border:0;background:transparent;padding:0;color:var(--green);font:800 12px Onest;text-decoration:underline;cursor:pointer}@media(max-width:760px){.multi-result-heading{display:block}.multi-result-heading p{margin-top:9px}.multi-country-filters{align-items:stretch}.multi-filter-buttons{width:100%}.multi-country-filters .duration-filter,.multi-country-filters .route-filter,.multi-country-filters .data-range-filter,.multi-country-filters .hotspot-filter{flex:1;justify-content:space-between}}
.multi-destination-results{margin-top:0}.multi-regional-section{padding-top:0}
.country-best-choice,.filter-best-choice{display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#edf5df;border:1px solid #cfe0b8;border-radius:9px;color:#29421c;padding:7px 9px;margin-top:8px;font-size:10px;line-height:1.35}.country-best-choice>span,.filter-best-choice>span{font:800 9px 'Azeret Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#557432}.country-best-choice strong,.filter-best-choice strong{font-size:11px}.country-best-choice small,.filter-best-choice small{color:#52634f;font-size:10px}.country-best-choice .select-plan,.filter-best-choice .select-plan{margin-left:auto;border:0;border-radius:6px;background:#174c37;color:#fff;padding:6px 8px;font:800 10px Onest;cursor:pointer}.country-best-choice .country-best-view-cart{margin-left:0;border:1px solid #174c37;border-radius:6px;background:transparent;color:#174c37;padding:5px 8px;font:800 10px Onest;cursor:pointer}.filter-best-choice-wide{margin:0 0 14px}@media(max-width:560px){.country-best-choice,.filter-best-choice{align-items:flex-start}.country-best-choice .select-plan,.filter-best-choice .select-plan{margin-left:0}}
.country-best-choice[hidden],.filter-best-choice[hidden]{display:none!important}
.hero-data-optimizer-heading{display:flex;align-items:center;gap:12px;max-width:630px;margin-top:15px;color:#315427}.hero-data-optimizer-heading strong{font:800 11px Onest;letter-spacing:.01em}.hero-trip-planner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;column-gap:12px;row-gap:13px;max-width:630px;margin-top:8px}.hero-trip-planner label{display:grid;grid-template-rows:15px 36px;gap:5px;min-width:0;color:#4d584e;font:800 10px Onest}.hero-trip-planner select{width:100%;min-width:0;height:36px;border:1px solid #d6dcd2;border-radius:7px;background:#fff;padding:8px;color:var(--ink);font:700 11px Onest}.hero-trip-planner .hero-hotspot{grid-column:1;grid-template-rows:15px 36px}.hero-control-spacer{height:15px}.hero-control{display:flex;align-items:center;gap:6px;height:36px;border:1px solid #d6dcd2;border-radius:7px;background:#fff;padding:0 9px;white-space:nowrap}.hero-trip-planner .hero-hotspot input{accent-color:var(--green)}.hero-trip-planner button{grid-column:2;align-self:start;width:100%;height:36px;margin-top:20px;border:0;border-radius:7px;background:var(--green);color:#fff;padding:0 13px;font:800 11px Onest;cursor:pointer;white-space:nowrap}.hero-trip-recommendation{max-width:630px;margin-top:18px!important}.hero-trip-recommendation .trip-buy{cursor:pointer}@media(max-width:560px){.hero-trip-planner{column-gap:10px;row-gap:13px}.hero-trip-recommendation{margin-top:18px!important}}
.hero-trip-planner .hero-data-use{max-width:none;grid-template-rows:15px 36px auto}.hero-data-use-label{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.hero-data-use small{font:600 9px/1.4 Onest;color:#647062}.hero-data-use .data-calculator-link{justify-self:end;margin-top:8px;font:800 10px Onest;color:#174c37;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
/* English fits the original compact desktop row; translated labels retain the safer two-column layout above. */
body[data-locale="en"] .hero-trip-planner{grid-template-columns:minmax(112px,1fr) minmax(175px,1.35fr) max-content max-content;row-gap:9px}
body[data-locale="en"] .hero-trip-planner .hero-data-use{max-width:205px}
body[data-locale="en"] .hero-trip-planner .hero-data-use .data-calculator-link{justify-self:start;margin-left:8px}
body[data-locale="en"] .hero-trip-planner .hero-hotspot{grid-column:auto}
body[data-locale="en"] .hero-trip-planner button{grid-column:auto;width:auto}
@media(max-width:560px){body[data-locale="en"] .hero-trip-planner{grid-template-columns:1fr 1fr;row-gap:13px}body[data-locale="en"] .hero-trip-planner .hero-hotspot{grid-column:1}body[data-locale="en"] .hero-trip-planner button{grid-column:2;width:100%}}
.plan-card[data-plan-details],.regional-card[data-plan-details]{cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.plan-card[data-plan-details]:hover,.regional-card[data-plan-details]:hover{background:#f6f9f1;border-color:#91a88c;box-shadow:0 10px 20px #17301d12;transform:translateY(-2px)}.plan-details-dialog{width:min(520px,calc(100% - 28px));border:0;border-radius:16px;padding:28px;background:#fffdf8;color:var(--ink);box-shadow:0 24px 70px #17251955}.plan-details-dialog::backdrop{background:#17251988}.plan-details-dialog h2{font-size:27px;letter-spacing:-.05em;margin:9px 34px 20px 0}.plan-details-close{position:absolute;top:15px;right:15px;border:0;background:#e8ece3;border-radius:50%;width:30px;height:30px;font-size:21px;line-height:1;cursor:pointer}.plan-detail-checklist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.plan-detail-checklist li,.plan-detail-price{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.plan-detail-checklist span,.plan-detail-price span{color:var(--muted)}.plan-detail-price strong{font-size:19px}.verified-reviews{margin-top:24px;padding:17px;background:#f0f5e8;border-radius:10px}.verified-reviews h3{margin:0;font-size:14px}.verified-reviews p{font-size:11px;line-height:1.55;color:#536153}.verified-reviews .review-empty{margin-bottom:0;font-weight:700;color:#315427}
.plan-card{padding:12px}.plan-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-height:30px}.plan-card .plan-card-header h3{flex:1 1 auto;margin:0;min-width:0;overflow-wrap:anywhere}.plan-card .plan-card-header .plan-tag--action{position:static;flex:0 1 auto;max-width:100%;overflow:visible;padding:7px 10px;font-size:11px;line-height:1.2;text-align:center;text-overflow:clip;white-space:normal}.plan-card .data{margin:8px 0 4px}.plan-card .plan-bottom{margin-top:6px}
.trip-recommended{background:#f4fbe5!important;border-color:#719e52!important;box-shadow:0 0 0 3px #c7ed5680,0 12px 24px #17301d18!important}
.plan-card,.regional-card{min-width:0;overflow:hidden}.plan-card h3,.plan-card .provider,.plan-card .plan-details span,.regional-card h4,.regional-card p{overflow-wrap:anywhere}.plan-card .plan-bottom,.regional-card .regional-bottom{gap:10px;align-items:flex-end;flex-wrap:wrap}.plan-card .plan-bottom>strong,.regional-card .regional-bottom>strong{white-space:nowrap}.plan-card .select-plan,.regional-card .select-plan{margin-left:auto;max-width:100%;white-space:normal}
.filters{align-items:center;gap:9px}.data-range-filter,.regional-data-range{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:10px;font-weight:700;color:#4d584e}.data-range-filter select,.regional-data-range select{min-width:0;border:0;background:transparent;color:#174c37;font:700 10px Onest;outline:0;cursor:pointer}.data-range-filter select:disabled,.regional-data-range select:disabled{cursor:default;opacity:.45}.multi-data-calculator-link{flex:0 0 auto;color:#174c37;font:700 11px Onest;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.hotspot-filter{display:inline-flex;align-items:center;gap:6px;min-height:31px;white-space:nowrap;border:1px solid #d9ded4;border-radius:20px;padding:3px 9px;color:#4d584e;background:#fff;font:600 11px/1 Onest;cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.hotspot-filter span{font:inherit}.hotspot-filter:hover{background:#f6f9f1;border-color:#91a88c;box-shadow:0 3px 9px #17301d12}.hotspot-filter:has(input:checked){border-color:#719e52;background:#edf7d8;color:#315427}.hotspot-filter input{appearance:none;width:14px;height:14px;margin:0;border:1px solid #a9b8a3;border-radius:4px;background:#fff;cursor:pointer;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.hotspot-filter input:hover{border-color:#557b4a}.hotspot-filter input:checked{border-color:#174c37;background:#174c37 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.1 5.7 9.7 11.2 4.2' fill='none' stroke='%23fffdf8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat;box-shadow:0 0 0 2px #c7ed5680}.hotspot-filter input:focus-visible{outline:2px solid #174c37;outline-offset:2px}
.finder-actions{display:flex;align-items:center;gap:15px}.destination-guide-link{color:#174c37;font-size:11px;font-weight:800;text-decoration:none;border-bottom:1px solid currentColor}.destination-guide-link[hidden]{display:none}@media(max-width:620px){.finder-actions{gap:10px}.destination-guide-link{font-size:10px}}
.multi-country-controls{display:flex;align-items:center;gap:16px;margin-top:14px}.multi-show-more{margin-top:0;border:0;background:transparent;padding:0;color:var(--green);font:800 12px Onest;text-decoration:underline;cursor:pointer}@media(max-width:760px){.multi-country-controls{flex-wrap:wrap;gap:10px 16px}}
.plan-details-hint{display:inline-flex;align-items:center;gap:7px;margin:0 0 12px;padding:7px 10px;border:1px solid #b9d27d;border-radius:999px;background:#edf7d5;color:#25452e;font:800 11px Onest}.plan-details-hint::before{content:'i';display:grid;place-items:center;width:15px;height:15px;padding-bottom:1px;border-radius:50%;background:#315427;color:#f6ffe7;font:800 11px/1 Arial}
.plan-detail-checklist .plan-detail-coverage{display:block;line-height:1.55}.plan-detail-checklist .plan-detail-coverage strong{display:block;margin-top:5px;color:#315427;font-size:11px;font-weight:700}.plan-coverage-country-list{display:flex!important;flex-wrap:wrap;gap:6px}.plan-coverage-country{border:1px solid #c8d8bf;border-radius:999px;background:#f5f8f1;color:#315427;padding:5px 8px;font:700 10px/1.2 Onest;cursor:pointer}.plan-coverage-country:hover,.plan-coverage-country.active{border-color:#315427;background:#e6f1dc}.plan-coverage-country:focus-visible{outline:2px solid #174c37;outline-offset:2px}.plan-coverage-network-popover{position:fixed;z-index:40;display:grid;gap:6px;width:min(310px,calc(100vw - 24px));padding:14px 34px 14px 15px;border:1px solid #abc69f;border-radius:12px;background:#f7fbf1;color:var(--ink);box-shadow:0 14px 30px #17301d2b;font-size:11px;line-height:1.45}.plan-coverage-network-popover>span{color:#52604f;font-weight:700}.plan-coverage-network-popover>strong{color:#315427;font-size:12px;overflow-wrap:anywhere}.plan-coverage-network-popover>small{color:var(--muted);font-size:10px;line-height:1.4}.plan-coverage-network-close{position:absolute;top:8px;right:8px;width:22px;height:22px;border:0;border-radius:50%;background:#e0ebd8;color:#315427;font:700 17px/1 Arial;cursor:pointer}.plan-coverage-network-close:focus-visible{outline:2px solid #174c37;outline-offset:2px}
.plan-detail-checklist .plan-detail-partner-networks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,62%);align-items:start}.plan-detail-checklist .plan-detail-partner-networks strong{text-align:right;max-width:none}.plan-detail-checklist .plan-detail-partner-networks small{grid-column:2;color:var(--muted);font-size:10px;line-height:1.35;text-align:right;margin-top:4px}
.bulk-savings-dialog{width:min(430px,calc(100% - 30px));border:0;border-radius:18px;padding:30px;background:#fffdf8;color:var(--ink);box-shadow:0 28px 80px #17251955}.bulk-savings-dialog::backdrop{background:#17251988}.bulk-savings-dialog h2{font-size:34px;line-height:1;letter-spacing:-.06em;margin:11px 34px 13px 0}.bulk-savings-dialog p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}.bulk-savings-close{position:absolute;right:14px;top:14px;border:0;border-radius:50%;width:31px;height:31px;background:#e8ece3;color:var(--ink);font-size:21px;line-height:1;cursor:pointer}.bulk-savings-action{margin-top:22px;border:0;border-radius:8px;background:var(--green);color:#fff;padding:12px 16px;font:800 12px Onest;cursor:pointer}
/* Keep the remove mark in a selected-destination chip separated from its label. */
.search-trip-chips button span{margin-left:4px}
@media(max-width:600px){.plan-details-dialog[open]{position:fixed;inset:10px;width:auto;max-width:none;height:auto;max-height:none;margin:0;padding:20px 16px 24px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.plan-details-dialog h2{margin-right:38px;font-size:22px;line-height:1.1;overflow-wrap:anywhere}.plan-details-close{position:sticky;float:right;top:0;right:auto;z-index:2}.plan-detail-checklist li,.plan-detail-price{gap:12px;align-items:flex-start}.plan-detail-checklist li strong,.plan-detail-price strong{max-width:62%;text-align:right;overflow-wrap:anywhere}.plan-detail-checklist .plan-detail-coverage strong{max-width:none;text-align:left}}

/* Keep the cart and immediate Stripe Checkout actions adjacent without making cards taller. */
.plan-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:6px;margin-left:auto;max-width:100%}.plan-actions .select-plan{margin-left:0}.plan-card .buy-now,.regional-card .buy-now{border:1px solid #174c37;background:#fff;color:#174c37;border-radius:7px;padding:8px 10px;font:700 11px Onest;cursor:pointer;white-space:normal;transition:background .16s ease,color .16s ease}.plan-card .buy-now:hover,.regional-card .buy-now:hover{background:#edf7d8}.validity-group-cards .buy-now{padding:7px 9px;font-size:10px}@media(max-width:400px){.plan-actions{width:100%;justify-content:stretch}.plan-actions .select-plan,.plan-actions .buy-now{flex:1}.plan-card .plan-card-header .plan-tag--action{display:none}}
.filter-recommendation-hint{margin:-14px 0 14px;color:#647062;font-size:10px;line-height:1.4}.country-best-choice+.filter-recommendation-hint{margin:8px 0 14px}.multi-country-filters+.filter-recommendation-hint{margin:-8px 0 14px}
.region-plan-badges .calling-plan-badge{display:inline-flex;border-radius:6px;padding:5px 7px;background:#e5f0dc;color:#355c21;letter-spacing:0;text-transform:none;white-space:nowrap}

/* source: package-reviews.css */
.package-reviews{margin-top:14px;padding-top:0}.plan-details-no-partner .plan-detail-checklist li:last-child,.plan-detail-checklist .plan-detail-partner-networks{border-bottom:0}.plan-details-no-partner .plan-detail-price{border-bottom:1px solid var(--line)}.package-reviews-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.package-reviews-heading h3{margin:0}.package-reviews-heading>span{color:#536253;font-size:13px}.package-review{background:#f7f8f2;border:1px solid #dde4d8;border-radius:12px;margin-top:12px;padding:15px}.package-review>div{display:flex;justify-content:space-between;gap:14px}.package-review-stars{color:#d98712;letter-spacing:.05em}.package-review h4{margin:13px 0 4px}.package-review p{margin:7px 0;color:#536053;line-height:1.55}.package-review footer{display:flex;flex-direction:column;gap:4px;border-top:1px solid #dce3d8;margin-top:12px;padding-top:10px;color:#697469;font-size:12px}.package-review-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px}.package-review-actions a{color:#174c37;font-size:13px;font-weight:800}.review-disclosure{color:#778078!important;font-size:11px!important;line-height:1.5!important;margin:16px 0 0!important}.package-reviews .review-empty{color:#6b756c;font-size:13px}.package-reviews .review-loading{min-height:20px;margin:12px 0 0}.package-reviews .review-loading:after{content:'';display:inline-block;width:10px;height:10px;margin-left:8px;border:2px solid #b7c7b0;border-top-color:#174c37;border-radius:50%;vertical-align:-1px;animation:review-spin .7s linear infinite}@keyframes review-spin{to{transform:rotate(360deg)}}@media(max-width:560px){.package-reviews-heading{align-items:flex-start}.package-review>div{flex-direction:column;gap:4px}}

/* source: brand-color.css */
.brand{display:inline-flex;align-items:center;gap:8px}.brand-mark,.brand>span{background:#31572c!important}.brand img.brand-mark{width:27px;height:27px;object-fit:contain;background:transparent!important;border-radius:50%!important}

/* source: analytics-consent.css */
.analytics-consent{position:fixed;z-index:10000;right:18px;bottom:18px;width:min(440px,calc(100vw - 36px));display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px 17px;border:1px solid #cbd6c2;border-radius:14px;background:#fffdf8;color:#172519;box-shadow:0 16px 42px rgba(23,37,25,.18);font:13px/1.45 Onest,Arial,sans-serif}.analytics-consent__copy{display:grid;gap:3px}.analytics-consent strong{font-size:13px}.analytics-consent span,.analytics-consent small{color:#566257;font-size:11px}.analytics-consent__actions{display:flex;gap:8px;flex:none}.analytics-consent button{border:1px solid #174c37;border-radius:8px;padding:8px 10px;background:#fffdf8;color:#174c37;cursor:pointer;font:800 11px Onest,Arial,sans-serif;white-space:nowrap}.analytics-consent button[data-analytics-choice="granted"]{background:#174c37;color:#fff}.analytics-consent--preferences{display:grid;gap:13px;align-items:stretch}.analytics-consent__setting{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px;border:1px solid #d8e0d3;border-radius:10px;background:#f8faf5;cursor:pointer}.analytics-consent__setting>span{display:grid;gap:2px}.analytics-consent__setting small{display:block;max-width:300px}.analytics-consent__setting input{inline-size:19px;block-size:19px;accent-color:#174c37;flex:none}@media(max-width:560px){.analytics-consent{right:12px;bottom:12px;width:calc(100vw - 24px);display:block}.analytics-consent__actions{margin-top:13px}.analytics-consent button{flex:1}.analytics-consent--preferences{display:grid}.analytics-consent--preferences .analytics-consent__actions{margin-top:0}}

/* source: radius-system.css */
/* Roamnessa radius system: functional UI stays precise; editorial surfaces stay calm. */
:root {
  --radius-label: 2px;
  --radius-image: 4px;
  --radius-field: 6px;
  --radius-button: 8px;
  --radius-plan: 10px;
  --radius-surface: 12px;
}

/* Actions and form controls */
button, .button, .support, .select-plan, .trip-buy, .continue,
.cart-header-badge, .currency-selector, .calculator-language-menu summary {
  border-radius: var(--radius-button);
}

.support-ticket-return {
  border-radius: var(--radius-button);
}

input:not([type="checkbox"]):not([type="radio"]), select, textarea,
.duration-filter, .route-filter, .data-range-filter, .hotspot-filter,
.regional-country-filter, .region-phone-number-filter, .region-details-hint,
.filter, .catalog-controls button, .mobile-menu-trigger {
  border-radius: var(--radius-field);
}

/* Dense product choices */
.plan-card, .regional-card, .plan, .item, .recommendation,
.country-best-choice, .filter-best-choice, .mobile-plan-refinements,
.mobile-plan-disclosure summary, .mobile-plan-disclosure-content,
.eid-step, .compact-card-group {
  border-radius: var(--radius-plan);
}

/* General surfaces and dialogs */
.finder, .trip-card, .card, .summary, .cta, .plan-details-dialog,
.account-service-modal, .support-ticket, .referral-form, .review-card,
.review-submit-card, .toast, .calculator-language-options,
.device-model-suggestions {
  border-radius: var(--radius-surface);
}

/* Labels are deliberately almost square rather than pill-shaped. */
.plan-tag, .calling-plan-badge, .review-badge, .optimizer-lowest-price,
.region-plan-badges .calling-plan-badge, .data-price-per-gb,
.country-best-choice > span, .filter-best-choice > span {
  border-radius: var(--radius-label);
}

/* Keep circles only for things that are inherently circular. */
.avatar, .brand-mark, .eyebrow::before, .eyebrow i, .globe, .orbit,
.plan-details-close, .mobile-site-menu-header button, .toggle, .toggle::before,
.cart-header-badge b, .search-trip-help-plus, .eid-badge, .dial-code b {
  border-radius: 50%;
}

/* Photography and data-heavy content should not inherit card softness. */
main img:not(.brand-mark), .destination-hero img, .destination-guide img,
.story-image, .photo, table {
  border-radius: var(--radius-image);
}

/* source: color-system.css */
/* Roamnessa color system — deep field greens with a retained coral signal. */
:root {
  --ink: #132a13;
  --green: #31572c;
  --green-mid: #4f772d;
  --lime-strong: #90a955;
  --lime: #ecf39e;
  --cream: #f5f2e9;
  --paper: #fffdf8;
  --muted: #455744;
  --line: #cbd7c4;
  --orange: #f15c3e;
  --orange-display: #bd432f;
}

/* Dark green and pale lime carry interface states; the mid green is reserved
   for secondary actions and the olive never carries light text. */
.announcement { background: var(--ink); color: var(--lime); }
.announcement span { color: #c4d0bd; }
.brand-mark, .brand > span { background: var(--green) !important; }
.filter.active, .optimizer, .estimate, .support-bot-toggle,
.support-bot-header { background: var(--green); }
.optimizer h2 em, .optimizer-steps span { color: var(--lime); }
.light { color: #dce9b1; }

/* #F15C3E is retained as the brand's coral accent. Its label uses the deep
   green instead of white so normal-size CTA copy clears WCAG AA (4.63:1). */
.search-box button, .optimize-btn, .cta button, .support-bot-form button,
.summary button, .button, .primary {
  background: var(--orange) !important;
  color: var(--ink) !important;
}

/* The brighter coral is intentionally reserved for dark-text CTA surfaces.
   Display copy uses the deeper coral, which clears large-text contrast on cream. */
h1 em, h2 em { color: var(--orange-display); }

/* Pale lime remains a surface color only; dark green is used for its text. */
.coral, .lime, .recommendation, .country-best-choice, .filter-best-choice,
.trip-recommended, .profile.active, .profiles button.active {
  background: var(--lime) !important;
  color: var(--ink) !important;
}
.coral, .lime { color: var(--green) !important; }
.cart-preview-checkout { background: var(--lime) !important; color: var(--ink) !important; }

/* Use the accessible middle green for secondary emphasis on light surfaces. */
.data-filter-calculator-link, .regional-data-calculator-link, .multi-data-calculator-link,
.destination-guide-link, .support-bot-action, .package-review-actions a {
  color: var(--green-mid);
}

/* Consistent keyboard cue at 3:1+ against every light surface. */
:where(a, button, summary, input, select, textarea):focus-visible {
  outline-color: var(--green-mid) !important;
}

/* source: spacing-system.css */
/* Roamnessa spacing: plans compress; editorial and travel content breathe. */
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 18px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 44px;
  --space-8: 60px;
  --space-9: 84px;
  --space-10: 116px;
}

/* Relationship rules */
.brand, .active-country, .trust div, .eyebrow, .section-label,
.destination-filter-select, .destination-filter-check { gap: var(--space-2); }
.active-country small, .destination-facts strong, .profiles span,
.friend-code > span { margin-top: var(--space-1); }
.plan-card h3, .plan h2, .destination-plan h2, .item h2 { margin-bottom: var(--space-3); }
.hero-copy, .section-intro p, .intro, .destination-hero > p:not(.eyebrow),
.section-heading > p { margin-top: var(--space-4); }
.hero-copy + .search-box, .intro + .layout, .intro + .calculator,
.destination-hero > p:not(.eyebrow) + .destination-facts { margin-top: var(--space-6); }

/* Product interfaces use the compact end of the scale. */
.plan-grid, .plans, .destination-plans, .items { gap: var(--space-5); }
.plan-card, .plan, .destination-plan, .item { padding: var(--space-5); }
.plan-card .data, .plan .data { margin-top: var(--space-4); }
.plan-details, .trip-buy-row, .plan-card-badges, .region-plan-badges { gap: var(--space-2); }
.finder, .trip-card, .setup, .estimate, .explain, .card, .summary { padding: var(--space-5); }

/* Storytelling sections use the generous end of the scale. */
.hero { padding-top: var(--space-10); padding-bottom: var(--space-9); }
.plans-section, .how { padding-top: var(--space-9); padding-bottom: var(--space-9); }
.optimizer { padding-top: var(--space-9); padding-bottom: var(--space-9); }
.destination-hero { padding-top: var(--space-8); padding-bottom: var(--space-8); }
.destination-section, .destination-help { padding-top: var(--space-8); padding-bottom: var(--space-8); }
.cta { margin-bottom: var(--space-8); padding: var(--space-7) var(--space-8); }

@media (max-width: 800px) {
  .hero { padding-top: var(--space-8); padding-bottom: var(--space-7); }
  .plans-section, .how, .optimizer { padding-top: var(--space-8); padding-bottom: var(--space-8); }
  .destination-hero, .destination-section, .destination-help { padding-top: var(--space-7); padding-bottom: var(--space-7); }
  .plan-grid, .plans, .destination-plans, .items { gap: var(--space-4); }
  .plan-card, .plan, .destination-plan, .item, .finder, .trip-card,
  .setup, .estimate, .explain, .card, .summary { padding: var(--space-5); }
}
