/* ---------- Breadcrumbs ---------- */
.ew-crumbs ol { display: flex; flex-wrap: wrap; gap: var(--wp--custom--atlas--dimension--4) 0; font-size: var(--ew-fs-small); color: var(--ew-color-muted); padding: var(--wp--custom--atlas--dimension--20) 0 0; }
.ew-crumbs li { display: inline-flex; align-items: center; }
.ew-crumbs li + li::before { content: "/"; margin: 0 var(--wp--custom--atlas--dimension--10); color: var(--ew-color-line-strong); }
.ew-crumbs a { color: var(--ew-color-ink-2); display: inline-flex; min-height: var(--wp--custom--atlas--dimension--32); align-items: center; }

/* ---------- Sections ---------- */
.ax-section { padding: var(--wp--custom--atlas--dimension--96) 0; }
.ax-section--tight { padding: var(--wp--custom--atlas--dimension--64) 0; }
.ax-section--surface { background: var(--ew-color-surface); border-top: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); border-bottom: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); }
.ax-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--wp--custom--atlas--dimension--24); margin-bottom: var(--wp--custom--atlas--dimension--40); }
.ax-section__head > div { display: grid; gap: var(--wp--custom--atlas--dimension--12); max-width: var(--wp--custom--atlas--dimension--720); }
.ax-section__head p:not(.ew-eyebrow) { color: var(--ew-color-ink-2); }

/* ---------- Destination cards ---------- */
.ax-destgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--custom--atlas--dimension--24); }
.ax-dest { display: grid; grid-template-rows: auto 1fr; height: 100%; background: var(--wp--preset--color--base-elevated); border: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); border-radius: var(--ew-radius-lg); overflow: hidden; text-decoration: none; transition: border-color var(--ew-duration), box-shadow var(--ew-duration); }
.ew-page a.ax-dest { color: var(--ew-color-ink); text-decoration: none; }
.ax-dest:hover { border-color: var(--ew-color-ink); box-shadow: var(--ew-shadow-1); }
.ax-dest__map { position: relative; height: var(--wp--custom--atlas--dimension--128); background-color: var(--wp--preset--color--map-background); border-bottom: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line);
  background-image: linear-gradient(to right, var(--wp--custom--atlas--effect--9) var(--wp--custom--atlas--dimension--1), transparent var(--wp--custom--atlas--dimension--1)), linear-gradient(to bottom, var(--wp--custom--atlas--effect--9) var(--wp--custom--atlas--dimension--1), transparent var(--wp--custom--atlas--dimension--1));
  background-size: 8.333% 25%; }
.ax-dest__map::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: var(--wp--custom--atlas--dimension--1) dashed var(--wp--custom--atlas--effect--6); }
.ax-pin { position: absolute; width: var(--wp--custom--atlas--dimension--14); height: var(--wp--custom--atlas--dimension--14); margin: var(--wp--custom--atlas--dimension--negative-7) 0 0 var(--wp--custom--atlas--dimension--negative-7); border-radius: 50%; background: var(--ew-color-accent); box-shadow: 0 0 0 var(--wp--custom--atlas--dimension--4) var(--wp--custom--atlas--effect--5), 0 0 0 var(--wp--custom--atlas--dimension--10) var(--wp--custom--atlas--effect--4); z-index: 1; }
.ax-dest__coord { position: absolute; right: var(--wp--custom--atlas--dimension--12); bottom: var(--wp--custom--atlas--dimension--10); font-size: var(--wp--custom--atlas--dimension--12); color: var(--ew-color-ink-2); font-variant-numeric: tabular-nums; background: var(--wp--custom--atlas--effect--8); padding: var(--wp--custom--atlas--dimension--2) var(--wp--custom--atlas--dimension--6); border-radius: var(--wp--custom--atlas--dimension--3); }
.ax-dest__body { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: var(--wp--custom--atlas--dimension--8) var(--wp--custom--atlas--dimension--16); padding: var(--wp--custom--atlas--dimension--20) var(--wp--custom--atlas--dimension--22) var(--wp--custom--atlas--dimension--22); }
.ax-dest__region { grid-column: 1 / -1; font-size: var(--wp--custom--atlas--dimension--13); color: var(--ew-color-muted); font-weight: var(--ew-fw-medium); letter-spacing: .02em; }
.ax-dest__name { font-family: var(--ew-font-display); font-weight: 500; font-size: var(--wp--custom--atlas--dimension--30); line-height: 1.05; letter-spacing: -0.01em; }
.ax-dest__price { text-align: right; font-size: var(--wp--custom--atlas--dimension--13); color: var(--ew-color-muted); line-height: 1.2; }
.ax-dest__price strong { display: block; font-size: var(--wp--custom--atlas--dimension--22); color: var(--ew-color-ink); font-weight: var(--ew-fw-semibold); font-variant-numeric: tabular-nums; }
.ax-destgrid--compact { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--custom--atlas--dimension--16); }
.ax-destgrid--compact .ax-dest__map { height: var(--wp--custom--atlas--dimension--84); }
.ax-destgrid--compact .ax-dest__name { font-size: var(--wp--custom--atlas--dimension--24); }
.ax-destgrid--compact .ax-dest__body { padding: var(--wp--custom--atlas--dimension--16) var(--wp--custom--atlas--dimension--18) var(--wp--custom--atlas--dimension--18); }

/* ---------- Product / tariff ---------- */
.ax-product__head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--wp--custom--atlas--dimension--64); align-items: end; padding-top: var(--wp--custom--atlas--dimension--32); padding-bottom: var(--wp--custom--atlas--dimension--48); }
.ax-product__title { display: grid; gap: var(--wp--custom--atlas--dimension--18); }
.ax-inline-facts { display: flex; flex-wrap: wrap; gap: 0; margin-top: var(--wp--custom--atlas--dimension--8); border-top: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); }
.ax-inline-facts li { padding: var(--wp--custom--atlas--dimension--14) var(--wp--custom--atlas--dimension--24) 0 0; margin-right: var(--wp--custom--atlas--dimension--24); font-size: var(--ew-fs-small); color: var(--ew-color-ink-2); }
.ax-inline-facts li + li { padding-left: var(--wp--custom--atlas--dimension--24); border-left: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); }
.ax-inline-facts strong { color: var(--ew-color-ink); font-size: var(--wp--custom--atlas--dimension--17); font-variant-numeric: tabular-nums; }
.ax-product__map { position: relative; aspect-ratio: 16 / 10; border-radius: var(--ew-radius-lg); border: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); overflow: hidden; background-color: var(--wp--preset--color--map-background);
  background-image: radial-gradient(circle, var(--wp--preset--color--map-grid) var(--wp--custom--atlas--dimension--1), transparent var(--wp--custom--atlas--dimension--1-2)); background-size: var(--wp--custom--atlas--dimension--14) var(--wp--custom--atlas--dimension--14); }
.ax-product__map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.ax-product__body { display: grid; grid-template-columns: minmax(0, 1fr) var(--wp--custom--atlas--dimension--400); gap: var(--wp--custom--atlas--dimension--48); align-items: start; padding-bottom: var(--wp--custom--atlas--dimension--96); }
.ax-plans { border: 0; padding: 0; margin: 0; min-width: 0; }
.ax-plans__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--wp--custom--atlas--dimension--16); margin-bottom: var(--wp--custom--atlas--dimension--20); }
.ax-plans__head legend, .ax-plans__legend { font-family: var(--ew-font-display); font-weight: 500; font-size: var(--wp--custom--atlas--dimension--30); padding: 0; }
.ax-plangrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--custom--atlas--dimension--16); }
.ax-plan { position: relative; display: grid; grid-template-columns: 1fr auto; gap: var(--wp--custom--atlas--dimension--4) var(--wp--custom--atlas--dimension--12); padding: var(--wp--custom--atlas--dimension--20) var(--wp--custom--atlas--dimension--20) var(--wp--custom--atlas--dimension--18); min-height: var(--wp--custom--atlas--dimension--132); background: var(--wp--preset--color--base-elevated); border: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line-strong); border-radius: var(--ew-radius-lg); cursor: pointer; transition: border-color var(--ew-duration), box-shadow var(--ew-duration), background var(--ew-duration); }
.ax-plan:hover { border-color: var(--ew-color-ink); }
.ax-plan:has(:focus-visible) { box-shadow: var(--ew-focus-ring); }
.ax-plan__data { font-family: var(--ew-font-display); font-size: var(--wp--custom--atlas--dimension--34); font-weight: 500; line-height: 1; letter-spacing: -0.01em; }
.ax-plan__days { grid-column: 1; font-size: var(--wp--custom--atlas--dimension--16); color: var(--ew-color-ink-2); }
.ax-plan__price { grid-column: 1 / -1; align-self: end; margin-top: var(--wp--custom--atlas--dimension--14); padding-top: var(--wp--custom--atlas--dimension--12); border-top: var(--wp--custom--atlas--dimension--1) dashed var(--ew-color-line-strong); font-size: var(--wp--custom--atlas--dimension--14); color: var(--ew-color-muted); }
.ax-plan__price strong { font-size: var(--wp--custom--atlas--dimension--20); color: var(--ew-color-ink); font-variant-numeric: tabular-nums; margin-right: var(--wp--custom--atlas--dimension--4); }
.ax-plan__check { grid-column: 2; grid-row: 1; width: var(--wp--custom--atlas--dimension--26); height: var(--wp--custom--atlas--dimension--26); border-radius: 50%; border: var(--wp--custom--atlas--dimension--1-5) solid var(--ew-color-line-strong); display: inline-flex; align-items: center; justify-content: center; color: transparent; }
.ax-plan__check svg { width: var(--wp--custom--atlas--dimension--16); height: var(--wp--custom--atlas--dimension--16); }
.ax-plan.is-selected { border: var(--wp--custom--atlas--dimension--2) solid var(--ew-color-accent); padding: var(--wp--custom--atlas--dimension--19) var(--wp--custom--atlas--dimension--19) var(--wp--custom--atlas--dimension--17); background: var(--ew-color-accent-soft); }
.ax-plan.is-selected .ax-plan__check { background: var(--ew-color-accent); border-color: var(--ew-color-accent); color: var(--wp--preset--color--base-elevated); }
.ax-plan.is-selected .ax-plan__price { border-top-color: var(--wp--preset--color--selected-border); }

.ax-buy { background: var(--wp--preset--color--base-elevated); border: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); border-radius: var(--ew-radius-lg); box-shadow: var(--ew-shadow-2); overflow: hidden; }
.ax-buy__head { padding: var(--wp--custom--atlas--dimension--22) var(--wp--custom--atlas--dimension--24) var(--wp--custom--atlas--dimension--18); border-bottom: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); display: flex; justify-content: space-between; align-items: center; }
.ax-buy__head h2 { font-family: var(--ew-font-display); font-weight: 500; font-size: var(--wp--custom--atlas--dimension--26); }
.ax-buy__body { padding: var(--wp--custom--atlas--dimension--20) var(--wp--custom--atlas--dimension--24) var(--wp--custom--atlas--dimension--24); display: grid; gap: var(--wp--custom--atlas--dimension--20); }
.ax-rows { display: grid; gap: 0; }
.ax-rows > div { display: flex; justify-content: space-between; gap: var(--wp--custom--atlas--dimension--16); padding: var(--wp--custom--atlas--dimension--10) 0; border-bottom: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); font-size: var(--wp--custom--atlas--dimension--16); }
.ax-rows dt { color: var(--ew-color-muted); }
.ax-rows dd { font-weight: var(--ew-fw-medium); text-align: right; font-variant-numeric: tabular-nums; }
.ax-rows .is-total { border-bottom: 0; padding-top: var(--wp--custom--atlas--dimension--14); }
.ax-rows .is-total dt { color: var(--ew-color-ink); font-weight: var(--ew-fw-semibold); }
.ax-rows .is-total dd { font-family: var(--ew-font-display); font-size: var(--wp--custom--atlas--dimension--30); font-weight: 500; line-height: 1; }
.ax-rows .is-total dd small { font-family: var(--ew-font-body); font-size: var(--wp--custom--atlas--dimension--15); color: var(--ew-color-muted); margin-left: var(--wp--custom--atlas--dimension--4); }
.ax-wallet { background: var(--ew-color-bg); border-radius: var(--ew-radius-md); padding: var(--wp--custom--atlas--dimension--4) var(--wp--custom--atlas--dimension--16); }
.ax-wallet > div:last-child { border-bottom: 0; }
.ax-wallet .is-short dd { color: var(--ew-color-danger); }
.ax-buy__actions { display: grid; gap: var(--wp--custom--atlas--dimension--10); }
.ax-buy__fine { font-size: var(--wp--custom--atlas--dimension--14); color: var(--ew-color-muted); line-height: 1.5; }

.ax-info3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--custom--atlas--dimension--24); }
.ax-info { display: grid; gap: var(--wp--custom--atlas--dimension--10); align-content: start; padding: var(--wp--custom--atlas--dimension--28); background: var(--wp--preset--color--base-elevated); border: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); border-radius: var(--ew-radius-lg); }
.ax-info svg { width: var(--wp--custom--atlas--dimension--28); height: var(--wp--custom--atlas--dimension--28); color: var(--ew-color-accent); margin-bottom: var(--wp--custom--atlas--dimension--6); }
.ax-info h3 { font-family: var(--ew-font-display); font-weight: 500; font-size: var(--wp--custom--atlas--dimension--24); }
.ax-info p, .ax-info li { color: var(--ew-color-ink-2); font-size: var(--wp--custom--atlas--dimension--16); }
.ax-info ol { list-style: decimal; padding-left: var(--wp--custom--atlas--dimension--20); display: grid; gap: var(--wp--custom--atlas--dimension--6); }

@container ew (max-width: 1023px) {
.ax-destgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ax-destgrid--compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ax-section { padding: var(--wp--custom--atlas--dimension--72) 0; }
.ax-product__head { grid-template-columns: 1fr; gap: var(--wp--custom--atlas--dimension--32); }
.ax-product__map { aspect-ratio: 16 / 7; }
.ax-product__body { grid-template-columns: 1fr; gap: var(--wp--custom--atlas--dimension--32); }
.ax-plangrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ax-info3 { grid-template-columns: 1fr; }
}
@container ew (max-width: 639px) {
.ax-lede { font-size: var(--wp--custom--atlas--dimension--17); }
.ax-section { padding: var(--wp--custom--atlas--dimension--56) 0; }
.ax-section__head { flex-direction: column; align-items: flex-start; margin-bottom: var(--wp--custom--atlas--dimension--28); }
.ax-destgrid, .ax-destgrid--compact { grid-template-columns: 1fr; gap: var(--wp--custom--atlas--dimension--12); }
.ax-dest { grid-template-columns: var(--wp--custom--atlas--dimension--96) 1fr; grid-template-rows: none; }
.ax-dest__map, .ax-destgrid--compact .ax-dest__map { height: auto; min-height: var(--wp--custom--atlas--dimension--92); border-bottom: 0; border-right: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); }
.ax-dest__coord { display: none; }
.ax-dest__body, .ax-destgrid--compact .ax-dest__body { padding: var(--wp--custom--atlas--dimension--14) var(--wp--custom--atlas--dimension--16); }
.ax-dest__name, .ax-destgrid--compact .ax-dest__name { font-size: var(--wp--custom--atlas--dimension--24); }
.ax-dest__price strong { font-size: var(--wp--custom--atlas--dimension--19); }
.ax-product__head { padding-top: var(--wp--custom--atlas--dimension--20); padding-bottom: var(--wp--custom--atlas--dimension--32); }
.ax-product__map { display: none; }
.ax-inline-facts li, .ax-inline-facts li + li { padding: var(--wp--custom--atlas--dimension--12) var(--wp--custom--atlas--dimension--14) 0 0; margin-right: var(--wp--custom--atlas--dimension--14); border-left: 0; }
.ax-plans__head legend, .ax-plans__legend { font-size: var(--wp--custom--atlas--dimension--26); }
.ax-plangrid { grid-template-columns: 1fr 1fr; gap: var(--wp--custom--atlas--dimension--10); }
.ax-plan { padding: var(--wp--custom--atlas--dimension--16) var(--wp--custom--atlas--dimension--14) var(--wp--custom--atlas--dimension--14); min-height: var(--wp--custom--atlas--dimension--120); }
.ax-plan.is-selected { padding: var(--wp--custom--atlas--dimension--15) var(--wp--custom--atlas--dimension--13) var(--wp--custom--atlas--dimension--13); }
.ax-plan__data { font-size: var(--wp--custom--atlas--dimension--28); }
.ax-plan__check { width: var(--wp--custom--atlas--dimension--22); height: var(--wp--custom--atlas--dimension--22); }
.ax-plan__price strong { font-size: var(--wp--custom--atlas--dimension--18); }
.ax-buy__head, .ax-buy__body { padding-left: var(--wp--custom--atlas--dimension--18); padding-right: var(--wp--custom--atlas--dimension--18); }
.ax-product__body { padding-bottom: var(--wp--custom--atlas--dimension--56); }
.ax-info { padding: var(--wp--custom--atlas--dimension--22); }
}/* ---------- Single product: variations (plan picker) ---------- */
.ew table.variations { border: 0; margin: 0 0 var(--wp--custom--atlas--dimension--16); }
.ew table.variations th, .ew table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.ew table.variations th label { font-family: var(--ew-font-display); font-weight: 500; font-size: var(--wp--custom--atlas--dimension--26); }
.ew table.variations select { min-height: var(--ew-control-h); border: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line-strong); border-radius: var(--ew-radius-md); padding: 0 var(--wp--custom--atlas--dimension--14); font: 400 var(--wp--custom--atlas--dimension--17) var(--ew-font-body); width: 100%; max-width: var(--wp--custom--atlas--dimension--420); }
.ew .reset_variations { display: inline-flex; min-height: var(--ew-target); align-items: center; font-size: var(--wp--custom--atlas--dimension--15); }
.ew .single_variation_wrap .woocommerce-variation-price .price { font-family: var(--ew-font-display); font-size: var(--wp--custom--atlas--dimension--30); color: var(--ew-color-ink); }

.ew .single_add_to_cart_button { width: 100%; }
/* When atlas-ui.js renders plan cards, the original select stays in the DOM (visually hidden) as the source of truth */
.ew .ax-plan-source { position: absolute !important; width: var(--wp--custom--atlas--dimension--1); height: var(--wp--custom--atlas--dimension--1); overflow: hidden; clip: rect(0 0 0 0); }


/* Native form bridge: one authoritative form, Atlas composition, visible quantity. */
.ew form.ax-product__body { margin:0 auto; }
.ew .ax-product__body > *, .ew .ax-product__head > *, .ew .ax-plangrid > *, .ew .ax-info3 > *, .ew .ax-destgrid > * { min-width:0; }
.ew .ax-plans__help { margin:var(--wp--custom--atlas--dimension--6) 0 var(--wp--custom--atlas--dimension--20); }
.ew .ax-plansform .ax-plangrid { display:none; }
.ew .has-plan-cards .ax-plansform .ax-plangrid { display:grid; }
.ew .has-plan-cards table.variations { position:absolute!important; width:var(--wp--custom--atlas--dimension--1); height:var(--wp--custom--atlas--dimension--1); overflow:hidden; clip:rect(0 0 0 0); margin:0; }
.ew .ax-native-variation { position:absolute!important; width:var(--wp--custom--atlas--dimension--1); height:var(--wp--custom--atlas--dimension--1); overflow:hidden; clip:rect(0 0 0 0); }
.ew .ax-buy__body .single_variation_wrap, .ew .ax-buy__body .woocommerce-variation-add-to-cart { margin:0; padding:0; }
.ew .ax-buy__body .woocommerce-variation-add-to-cart { display:grid; gap:var(--wp--custom--atlas--dimension--10); }
/* WooCommerce appends a.added_to_cart with its own 1em top margin + .5em top padding; Atlas .ax-buy__actions spaces children only by gap 10. */
.ew .ax-buy__body .woocommerce-variation-add-to-cart > a.added_to_cart { margin:0; padding:0; }
.ew .ax-quantity-row .quantity { margin:0; }
.ew .ax-quantity-row .qty { width:var(--wp--custom--atlas--dimension--88); min-height:var(--ew-target); padding:0 var(--wp--custom--atlas--dimension--8); border:var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line-strong); border-radius:var(--ew-radius-md); font:500 var(--wp--custom--atlas--dimension--17)/1 var(--ew-font-body); font-variant-numeric:tabular-nums; text-align:center; background:var(--ew-color-surface); color:var(--ew-color-ink); }
.ew .ax-plan[aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
.ew .ax-rows [hidden], .ew .ax-buy__body [hidden] { display:none!important; }

/* Native Woo variation messages stay available without duplicating the Atlas price row. */
.ew .ax-buy .single_variation { position:absolute!important; width:var(--wp--custom--atlas--dimension--1); height:var(--wp--custom--atlas--dimension--1); overflow:hidden; clip:rect(0 0 0 0); }

/* Exact shared country-code component from final atlas.css (source Hero group). */
.ax-code { display:inline-flex; align-items:center; justify-content:center; width:var(--wp--custom--atlas--dimension--40); height:var(--wp--custom--atlas--dimension--28); border:var(--wp--custom--atlas--dimension--1) solid var(--ew-color-ink); border-radius:var(--ew-radius-sm); font:var(--ew-fw-semibold) var(--wp--custom--atlas--dimension--13)/1 var(--ew-font-body); letter-spacing:.06em; }

/* Native Woo's :disabled[disabled] rule has higher specificity than a plain Atlas button.
   Match its specificity inside this purchase component; the native disabled state stays intact. */
.ew .ax-buy button.single_add_to_cart_button:disabled,
.ew .ax-buy button.single_add_to_cart_button.disabled { opacity:1; }

/* Frozen native-product edge reference r3: an actual stock notice precedes the plan grid. */
.ew-page .ax-plans > .ew-notice { margin-bottom:var(--wp--custom--atlas--dimension--16); }
