/* source: cart-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:Manrope,Arial,sans-serif}.nav{max-width:1180px;height:84px;margin:auto;padding:0 28px}.nav .brand{display:inline-flex;align-items:center;gap:5px;font-size:15px;font-weight:800;font-style:italic;color:var(--ink);letter-spacing:-.8px;text-decoration:none}.nav .brand-mark{width:27px;height:27px;object-fit:contain}.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-style:italic;font-size:20px;margin-right:7px}main{max-width:1120px;margin:70px auto;padding:0 28px}.eyebrow{font:500 11px 'DM Mono',monospace;letter-spacing:.13em;color:#546254}.eyebrow:before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--orange);margin-right:8px}h1{font-size:clamp(42px,6vw,70px);letter-spacing:-.07em;line-height:.95;margin:16px 0}.intro{max-width:490px;line-height:1.65;color:var(--muted)}.layout{display:grid;grid-template-columns:1fr 330px;gap:24px;align-items:start;margin-top:42px}.card,.summary{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px}.items{display:grid;gap:12px}.item{display:grid;grid-template-columns:1fr auto;gap:16px;background:#fff;border:1px solid #e2e6df;border-radius:11px;padding:17px}.item h2{font-size:16px;margin:0 0 6px}.item p{font-size:12px;color:var(--muted);margin:0}.item-price{display:flex;flex-direction:column;align-items:flex-end;gap:8px;text-align:right}.item-price strong{display:block;font-size:16px}.remove{border:0;background:transparent;color:var(--green);font:700 12px Manrope;text-decoration:underline;padding:0;cursor:pointer}.summary{position:sticky;top:18px}.summary p{font-size:12px;color:var(--muted);margin:0}.summary strong{display:block;font-size:32px;letter-spacing:-1px;margin:8px 0 20px}.summary button,.button{width:100%;border:0;background:var(--orange);color:#fff;border-radius:9px;padding:14px;font:800 13px Manrope;text-decoration:none;text-align:center;display:block}.summary button:disabled{background:#aab1a8;cursor:not-allowed}.continue{display:block;margin-top:11px;border:1px solid var(--green);border-radius:9px;padding:12px;color:var(--green);font-size:13px;font-weight:800;text-align:center;text-decoration:none}.summary .fine{font-size:10px;line-height:1.5;margin-top:14px}.empty{text-align:center;padding:42px 10px}.empty h2{font-size:23px;margin:0}.empty p{font-size:13px;color:var(--muted);line-height:1.6}.empty .button{max-width:200px;margin:20px auto 0}@media(max-width:760px){.nav,main{padding-left:18px;padding-right:18px}.nav{height:70px;padding-top:0}.layout{grid-template-columns:1fr;margin-top:28px}.summary{position:static}.item{padding:14px}}
 .currency-selector{appearance:none;border:1px solid #172519;border-radius:30px;background:#fffdf8;color:#172519;padding:9px 10px;font:700 12px Manrope;cursor:pointer}
.nav{display:flex;align-items:center;justify-content:space-between;gap:28px}.nav .currency-selector{flex:0 0 auto}.friend-code{display:block;margin:0 0 10px}.friend-code>span{display:block;color:var(--muted);font-size:11px;font-weight:800;margin-bottom:6px}.friend-code>div{display:flex;gap:7px}.friend-code input{min-width:0;flex:1;border:1px solid var(--line);border-radius:8px;padding:10px;font:500 12px Manrope}.friend-code button{width:auto;padding:10px 12px;font-size:11px;background:var(--green)}.summary .friend-status{min-height:16px;margin:-3px 0 10px;color:#9a5630;font-size:10px;line-height:1.4}.summary .friend-status.applied{color:#356325}
.coupon-savings{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:-10px 0 20px;padding:10px 12px;border-radius:9px;background:#e8f2dc;color:#355c21}.coupon-savings span{font-size:11px;font-weight:800}.summary .coupon-savings strong{display:block;margin:0;font-size:17px;letter-spacing:-.04em;color:#355c21}
.coupon-savings[hidden]{display:none}
.item p.item-coverage{margin:0 0 4px;color:#315427;font-size:11px;font-weight:800}
.bulk-note{margin:-7px 0 14px!important;font-size:10px!important;line-height:1.45;color:#5d6a5f!important}
.bulk-note[hidden]{display:none}
.checkout-limit-notice{margin:-2px 0 10px!important;padding:9px 10px;border:1px solid #e9c78f;border-radius:8px;background:#fff5df!important;color:#7a4d15!important;font-size:11px!important;font-weight:800;line-height:1.45}
.checkout-limit-notice[hidden]{display:none}
.referral-verify{margin:-1px 0 11px;padding:11px 12px;background:#eff5e8;border:1px solid #d6e4ca;border-radius:9px}.referral-verify strong{display:block;margin:0 0 7px;font-size:11px;color:#355c21}.referral-verify>div{display:flex;gap:7px}.referral-verify input{min-width:0;flex:1;border:1px solid #cad9c1;border-radius:7px;padding:9px;font:500 12px Manrope;background:#fff}.referral-verify button{width:auto;padding:9px 10px;font-size:11px;background:var(--green)}
.wholesale-verify{margin:-1px 0 11px;padding:11px 12px;background:#f4f0e7;border:1px solid #e2d7c5;border-radius:9px}.wholesale-verify strong{display:block;margin:0 0 3px;font-size:11px;color:#5f472e}.wholesale-verify p{margin:0 0 7px;font-size:10px;color:#765f49}.wholesale-verify input{width:100%;border:1px solid #d8cbb9;border-radius:7px;padding:9px;font:500 12px Manrope;background:#fff}
.item[data-cart-plan-details]{cursor:pointer;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.item[data-cart-plan-details]:hover,.item[data-cart-plan-details]:focus-visible{background:#f6f9f1;border-color:#91a88c;box-shadow:0 8px 18px #17301d12;outline:0}.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}
.item-quantity{display:inline-flex;align-items:center;overflow:hidden;border:1px solid #cfd8ca;border-radius:8px;background:#fff}.item-quantity button{width:27px!important;min-width:27px;border:0!important;border-radius:0!important;background:#eff4ea!important;color:var(--green)!important;padding:4px!important;font:800 15px/1 Manrope!important;cursor:pointer}.item-quantity span{min-width:26px;text-align:center;font:800 12px Manrope;color:var(--ink)}
.cart-header-actions{display:flex;align-items:center;gap:12px}.cart-header-shop{color:var(--green);font-size:12px;font-weight:800;text-decoration:none}.cart-header-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--green);border-radius:999px;padding:7px 10px;color:var(--green);font-size:12px;font-weight:800;text-decoration:none}.cart-header-badge b{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:50%;background:var(--green);color:#fff;font-size:10px}.cart-header-badge b[hidden]{display:none}@media(max-width:560px){.nav{gap:12px}.cart-header-shop{display:none}.cart-header-badge{padding:7px 9px}}

/* source: cart-plan-details.css */
/* Match the storefront package-information card inside the cart. */
.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}
@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}
  .plan-detail-checklist .plan-detail-partner-networks{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,62%);width:100%}
  .plan-detail-checklist .plan-detail-partner-networks strong{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}
}

/* 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 Manrope;
  cursor: pointer;
}

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

/* source: brand-color.css */
.brand{display:inline-flex;align-items:center;gap:8px}.brand-mark,.brand>span{background:#174c37!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 Manrope,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 Manrope,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: cart-availability.css */
.cart-availability-notice {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid #e5cb9a;
  border-radius: 9px;
  background: #fff6e4;
  color: #6b4d1e;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}

.cart-availability-notice[hidden] { display: none; }

/* 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: accessibility.css */
/* WCAG-oriented interaction layer: visible focus, durable contrast, and
   comfortably sized controls on compact touch screens. */
/* Keep one restrained neutral focus cue on every interactive control. A border
   by itself does not tell keyboard users which field currently owns focus. */
:where(a,button,summary,input,select,textarea):focus-visible{outline:1px solid #758071!important;outline-offset:1px!important;box-shadow:none!important}
/* The custom hotspot toggle remains visually compact while its real checkbox
   stays in the tab order and accessibility tree. */
.toggle-row input{display:block!important;position:absolute!important;inline-size:1px!important;block-size:1px!important;margin:0!important;opacity:0!important;overflow:hidden!important}
.toggle-row input:focus-visible+.toggle{outline:2px solid #536153!important;outline-offset:3px!important}
.coral{background:#ffe7e1!important;color:#8d2f20!important}.lime{background:#e6f5b5!important;color:#315b22!important}.purple{background:#e8e2ff!important;color:#4e3689!important}
.provider,.plan-details span,.regional-heading p,.multi-result-heading p,.cart-preview-item span{color:#4b594d!important}
.cart-preview-item button{width:36px!important;height:36px!important}.cart-preview-view,.cart-preview-checkout{min-height:44px}
@media(max-width:760px){
  .filters>.filter,.regional-sort-tabs>.filter,.multi-filter-buttons>.filter{min-height:44px!important;padding:9px 12px!important}
  .duration-filter,.route-filter,.data-range-filter,.regional-data-range,.hotspot-filter{min-height:44px!important;padding:7px 12px!important}
  .duration-filter select,.route-filter select,.data-range-filter select,.regional-data-range select{min-height:36px!important}
  .hotspot-filter{display:inline-flex!important;align-items:center!important;gap:9px!important}
  .hotspot-filter input{inline-size:22px!important;block-size:22px!important}
  .validity-group-toggle,.select-plan,.buy-now,.country-best-view-cart,.trip-buy{min-height:44px!important}
  .search-trip-chips button,.regional-country-chips button{min-height:36px!important}
  .item-quantity button{width:44px!important;min-width:44px!important;min-height:44px!important}.item-quantity span{min-width:36px!important}
  .remove,.plan-details-close{min-width:44px!important;min-height:44px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
}

/* source: cart-account-credit.css */
.account-credit-choice{display:flex;align-items:center;gap:9px;margin:0 0 11px;padding:11px 12px;border:1px solid #d6e4ca;border-radius:9px;background:#eff5e8;color:#355c21;font-size:12px;font-weight:800;line-height:1.35;cursor:pointer}.account-credit-choice input{width:18px;height:18px;margin:0;accent-color:#174c37}.account-credit-choice[hidden]{display:none}
