/* ---------- 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); }

/* ---------- Catalog (/esim/) ---------- */
.ax-catalog__bar { display: flex; justify-content: space-between; align-items: center; gap: var(--wp--custom--atlas--dimension--16); flex-wrap: wrap; margin-bottom: var(--wp--custom--atlas--dimension--24); }
.ax-catalog__search { flex: 1 1 var(--wp--custom--atlas--dimension--360); max-width: var(--wp--custom--atlas--dimension--520); display: flex; gap: var(--wp--custom--atlas--dimension--8); }
.ax-catalog__search .ew-input { flex: 1; min-width: 0; }
.ax-count { font-size: var(--ew-fs-small); color: var(--ew-color-muted); }
.ew-pagination ul, .ew-pagination { display: flex; flex-wrap: wrap; gap: var(--wp--custom--atlas--dimension--6); justify-content: center; }
.ew-pagination { margin-top: var(--wp--custom--atlas--dimension--40); }
.ew-pagination a, .ew-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: var(--ew-target); height: var(--ew-target); padding: 0 var(--wp--custom--atlas--dimension--12); border: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line-strong); border-radius: var(--ew-radius-md); background: var(--wp--preset--color--base-elevated); color: var(--ew-color-ink); text-decoration: none; font-weight: 600; font-variant-numeric: tabular-nums; }
.ew-page .ew-pagination a { color: var(--ew-color-ink); text-decoration: none; }
.ew-pagination a:hover { border-color: var(--ew-color-ink); }
.ew-pagination [aria-current="page"] { background: var(--ew-color-ink); border-color: var(--ew-color-ink); color: var(--wp--preset--color--base-elevated); }
.ew-pagination .is-gap { border: 0; background: none; min-width: var(--wp--custom--atlas--dimension--24); padding: 0; }

.ax-page-head { padding: var(--wp--custom--atlas--dimension--48) 0 var(--wp--custom--atlas--dimension--40); border-bottom: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line); background: var(--ew-color-surface); }
.ax-page-head .ew-wrap { display: grid; gap: var(--wp--custom--atlas--dimension--14); }
.ax-page-head p:not(.ew-eyebrow) { color: var(--ew-color-ink-2); max-width: 40em; font-size: var(--wp--custom--atlas--dimension--18); }
@container ew (max-width: 639px) {
.ax-page-head { padding: var(--wp--custom--atlas--dimension--32) 0 var(--wp--custom--atlas--dimension--28); }
}@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)); }
}
@container ew (max-width: 639px) {
.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); }
}@container ew (max-width: 639px) {
.ax-page-head { padding: var(--wp--custom--atlas--dimension--32) 0 var(--wp--custom--atlas--dimension--28); }
}.ew .woocommerce-pagination { margin-top: var(--wp--custom--atlas--dimension--40); text-align: center; }
.ew .woocommerce-pagination ul.page-numbers { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: var(--wp--custom--atlas--dimension--6); border: 0; margin: 0; padding: 0; list-style: none; }
.ew .woocommerce-pagination ul.page-numbers li { border: 0; float: none; }
.ew .woocommerce-pagination .page-numbers a, .ew .woocommerce-pagination .page-numbers span {
  display: inline-flex; align-items: center; justify-content: center; min-width: var(--ew-target); height: var(--ew-target); padding: 0 var(--wp--custom--atlas--dimension--12);
  border: var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line-strong); border-radius: var(--ew-radius-md); background: var(--wp--preset--color--base-elevated); color: var(--ew-color-ink); text-decoration: none; font-weight: 600;
}
.ew .woocommerce-pagination .page-numbers .current { background: var(--ew-color-ink); border-color: var(--ew-color-ink); color: var(--wp--preset--color--base-elevated); }
.ew .woocommerce-pagination .page-numbers .dots { border: 0; background: none; min-width: var(--wp--custom--atlas--dimension--24); }
.ew .woocommerce-result-count { float: none; margin: 0; font-size: var(--ew-fs-small); color: var(--ew-color-muted); }.ew-page .ax-catalog__filters{display:flex;justify-content:space-between;align-items:center;gap:var(--wp--custom--atlas--dimension--16);flex-wrap:wrap;margin-bottom:var(--wp--custom--atlas--dimension--24)}
.ew-page .ax-catalog__categories{display:flex;align-items:center;gap:var(--wp--custom--atlas--dimension--24);flex-wrap:wrap;border:0;padding:0;margin:0}
.ew-page .ax-catalog__categories .ew-check{padding-top:0}
.ew-page .ax-catalog__order{width:calc(var(--wp--custom--atlas--dimension--200) + var(--wp--custom--atlas--dimension--10));max-width:100%}
@container ew (max-width:639px){.ew-page .ax-catalog__order{width:100%}}
/* Native HUSKY wrappers retain controls/actions while the source two rows own layout. */
.ax-catalog { padding-top:var(--wp--custom--atlas--dimension--32); padding-bottom:var(--wp--custom--atlas--dimension--48); }
.esw-catalog-controls { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:var(--wp--custom--atlas--dimension--16); row-gap:var(--wp--custom--atlas--dimension--24); align-items:center; margin-bottom:var(--wp--custom--atlas--dimension--24); }
.ew-page .esw-catalog-controls .woof, .ew-page .esw-catalog-controls .woof_redraw_zone { display:contents; }
.ew-page .esw-catalog-controls .woof_container { margin:0; padding:0; width:auto; }
.ew-page .esw-catalog-controls .woof_text_search_container { display:block; grid-column:1; grid-row:1; width:100%; max-width:var(--wp--custom--atlas--dimension--520); }
.ew-page .esw-catalog-controls .woof_text_search_container .woof_container_inner { display:flex; gap:var(--wp--custom--atlas--dimension--8); position:relative; }
/* As the frozen reference: 52px via min-height (beats HUSKY's min-height:30px) and flex stretch, no fixed height; a fixed height drops the text 1px. */
.ew-page .esw-catalog-controls .woof_husky_txt-input { flex:1; min-width:0; order:1; min-height:var(--ew-control-h); }
.ew-page .esw-catalog-controls .woof_text_search_go { position:static; display:inline-flex !important; order:2; width:auto; height:auto; min-height:var(--ew-control-h); margin:0; background-image:none; text-decoration:none; flex:none; }
.ew-page .esw-catalog-controls .woof_husky_txt { position:absolute; left:0; top:100%; width:100%; margin:0; }
.ew-page .esw-catalog-controls .woof_container_product_cat { grid-column:1 / -1; grid-row:2; justify-self:start; }
.ew-page .esw-catalog-controls .woof_list_checkbox { display:flex; gap:var(--wp--custom--atlas--dimension--24); padding:0; margin:0; flex-wrap:wrap; }
.ew-page .esw-catalog-controls .woof_list_checkbox li { margin:0 !important; padding:0; font:400 var(--wp--custom--atlas--dimension--15)/1.45 var(--ew-font-body); }
.ew-page .esw-catalog-controls .woof_checkbox_label { margin:0; padding:0; color:var(--ew-color-ink-2); font:400 var(--wp--custom--atlas--dimension--15)/1.45 var(--ew-font-body); }
.ew-page .esw-catalog-controls .woof_checkbox_term { width:var(--wp--custom--atlas--dimension--22); height:var(--wp--custom--atlas--dimension--22); margin:0; flex:none; accent-color:var(--ew-color-accent); }
/* Retain iCheck's helper/event path; show the real native checkbox under its transparent helper. */
.ew-page .esw-catalog-controls div[class*="icheckbox_"] { width:var(--wp--custom--atlas--dimension--22); height:var(--wp--custom--atlas--dimension--22); margin:0; padding:0; border:0; background:none !important; flex:none; }
/* Touch UAs: iCheck hides the input with inline visibility:hidden (desktop uses opacity:0). The helper <ins> stays on top and takes the tap. */
.ew-page .esw-catalog-controls div[class*="icheckbox_"] .woof_checkbox_term { position:absolute !important; inset:0 !important; opacity:1 !important; visibility:visible !important; }
.esw-catalog-count { grid-column:2; grid-row:1; justify-self:end; }
.esw-catalog-controls .ax-catalog__order { grid-column:1 / -1; grid-row:2; justify-self:end; }
.esw-catalog-controls .husky-sort { width:100%; max-width:none; }
.esw-catalog-controls .woof_submit_search_form_container { grid-column:1 / -1; }
.esw-catalog-controls .woof_submit_search_form_container:not(:has(button)) { display:none; }
/* Preserve existing Select2 enhancement; only its skin is the Atlas input primitive. */
.ew-page .esw-catalog-controls .select2-container { width:100% !important; max-width:100%; }
.ew-page .esw-catalog-controls .select2-selection--single { display:flex; align-items:center; min-height:var(--ew-control-h); height:var(--ew-control-h); padding:0 var(--wp--custom--atlas--dimension--16); border:var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line-strong); border-radius:var(--ew-radius-md); background:var(--ew-color-surface); color:var(--ew-color-ink); font:400 var(--wp--custom--atlas--dimension--17)/1.2 var(--ew-font-body); box-shadow:none; }
.ew-page .esw-catalog-controls .select2-selection__rendered { display:flex; align-items:center; height:100%; padding:0; color:var(--ew-color-ink); font:400 var(--wp--custom--atlas--dimension--17)/1.2 var(--ew-font-body); }
.ew-page .esw-catalog-controls .select2-selection__placeholder { color:var(--ew-color-ink); }
.ew-page .esw-catalog-controls .select2-selection__arrow { top:0; right:var(--wp--custom--atlas--dimension--8); height:100%; }
.esw-catalog-price-dropdown { border:var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line-strong); border-radius:var(--ew-radius-md); background:var(--ew-color-surface); color:var(--ew-color-ink); font:400 var(--wp--custom--atlas--dimension--17)/1.6 var(--ew-font-body); }
.esw-catalog-price-dropdown .select2-results__option { padding:var(--wp--custom--atlas--dimension--8) var(--wp--custom--atlas--dimension--16); }
.esw-catalog-price-dropdown .select2-results__option--highlighted[aria-selected] { background:var(--ew-color-accent); color:var(--ew-color-on-inverse); }
@container ew (max-width:639px) {
.esw-catalog-controls { grid-template-columns:minmax(0,1fr); row-gap:var(--wp--custom--atlas--dimension--16); }
.ew-page .esw-catalog-controls .woof_text_search_container { grid-column:1; grid-row:1; }
.esw-catalog-count { grid-column:1; grid-row:2; justify-self:start; margin-bottom:var(--wp--custom--atlas--dimension--8); }
.ew-page .esw-catalog-controls .woof_container_product_cat { grid-column:1; grid-row:3; }
.esw-catalog-controls .ax-catalog__order { grid-column:1; grid-row:4; justify-self:stretch; }
}

/* Retain native Woo/HUSKY observer classes without importing their float layout. */
.ew .ax-catalog ul.products.ax-destgrid { margin:0; padding:0; list-style:none; }
.ew .ax-catalog ul.products.ax-destgrid::before,
.ew .ax-catalog ul.products.ax-destgrid::after { display:none; }
.ew .ax-catalog ul.products.ax-destgrid > li.product { float:none; width:auto; margin:0; padding:0; }

/* Native HUSKY search skin resets background/border; restore the exact Atlas primary control. */
.ew-page .esw-catalog-controls .woof_text_search_go.ew-btn--primary {
 background-color:var(--ew-color-accent); color:var(--ew-color-on-inverse);
 border:var(--wp--custom--atlas--dimension--1) solid var(--ew-color-accent) !important;
}
.ew-page .esw-catalog-controls .woof_text_search_go.ew-btn--primary:hover {
 background-color:var(--ew-color-accent-hover); border-color:var(--ew-color-accent-hover) !important;
}
/* Native Woo h3 styling has higher specificity than the standalone Atlas card primitive. */
.ew .ax-catalog ul.products.ax-destgrid .ax-dest__name {
 font-family:var(--ew-font-display); font-weight:500; font-size:var(--wp--custom--atlas--dimension--30); line-height:1.05; padding:0; margin:0;
}
@container ew (max-width:639px) {
 .ew .ax-catalog ul.products.ax-destgrid .ax-dest__name { font-size:var(--wp--custom--atlas--dimension--24); }
}

/* R5 native selected controls: all painted actions share one wrapping Atlas row. */
.ew-page .ax-catalog__active { display:flex; align-items:center; flex-wrap:wrap; gap:var(--wp--custom--atlas--dimension--8); margin-bottom:var(--wp--custom--atlas--dimension--24); }
/* Native HUSKY .show() writes display:block and .hide() writes display:none.
   Flatten only its populated, explicitly shown panel; never override a hidden panel. */
.ew-page .ax-catalog__active .woof_products_top_panel:is([style*="display: block"],[style*="display:block"]):not([hidden]):has(.woof_products_top_panel_ul > li) { display:contents !important; }
.ew-page .ax-catalog__active .woof_submit_search_form_container:not([hidden]):not([style*="display: none"]):not([style*="display:none"]),
.ew-page .ax-catalog__active .woof_products_top_panel ul,
.ew-page .ax-catalog__active .woof_products_top_panel li { display:contents; }
.ew-page .ax-catalog__active:not(:has(.woof_submit_search_form_container:not([hidden]):not([style*="display: none"]):not([style*="display:none"]) button)):not(:has(.woof_products_top_panel:is([style*="display: block"],[style*="display:block"]):not([hidden]) .woof_products_top_panel_ul > li)) { display:none; }
.ew-page .ax-catalog__active :is(.woof_reset_search_form,.woof_submit_search_form,.woof_reset_button_2,.woof_products_top_panel a) {
 display:inline-flex; align-items:center; justify-content:center; gap:var(--wp--custom--atlas--dimension--8); min-height:var(--ew-target); max-width:100%; padding:0 var(--wp--custom--atlas--dimension--16);
 border:var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line-strong); border-radius:var(--ew-radius-md); background:var(--ew-color-surface); color:var(--ew-color-ink);
 font:var(--ew-fw-semibold) var(--wp--custom--atlas--dimension--15)/1 var(--ew-font-body); text-decoration:none; cursor:pointer; white-space:nowrap;
 margin:0; float:none; box-shadow:none; transition:background var(--ew-duration),border-color var(--ew-duration),color var(--ew-duration);
}
.ew-page .ax-catalog__active :is(.woof_reset_search_form,.woof_submit_search_form,.woof_reset_button_2,.woof_products_top_panel a):hover { border-color:var(--ew-color-ink); }
.ew-page .ax-catalog__active .woof_products_top_panel a > span { padding:0; background:none; color:inherit; font:inherit; white-space:normal; overflow-wrap:anywhere; }
.ew-page .ax-catalog__active .woof_products_top_panel a:has(.woof_remove_ppi)::after {
 content:""; flex:none; width:var(--wp--custom--atlas--dimension--16); height:var(--wp--custom--atlas--dimension--16); background-color:currentColor;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Restore the frozen Atlas field against native HUSKY's pale search border/important line-height. */
.ew-page .esw-catalog-controls .woof_container .woof_husky_txt-input.ew-input {
 border:var(--wp--custom--atlas--dimension--1) solid var(--ew-color-line-strong);line-height:1.2 !important;
}
/* Preserve native Select2 nodes/options/keyboard; restore the source52px face and20px vector. */
.ew-page .esw-catalog-controls .select2-container .select2-selection--single {margin:0;position:relative;}
.ew-page .esw-catalog-controls .select2-container .select2-selection__arrow {
 top:50%;right:var(--wp--custom--atlas--dimension--16);width:var(--wp--custom--atlas--dimension--20);height:var(--wp--custom--atlas--dimension--20);transform:translateY(-50%);
}
.ew-page .esw-catalog-controls .select2-container .select2-selection--single .select2-selection__arrow b {
 display:block;position:static;width:var(--wp--custom--atlas--dimension--20);height:var(--wp--custom--atlas--dimension--20);margin:0;border:0;background:currentColor;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Native Woo hides LI overflow and sets link line-height:1, shifting inline-flex baselines.
   Restore the measured original Atlas leaves; outer NAV/UL layout and paging stay unchanged. */
.ew .ax-catalog .woocommerce-pagination ul.page-numbers li {overflow:visible;}
.ew .ax-catalog .woocommerce-pagination ul.page-numbers li a,
.ew .ax-catalog .woocommerce-pagination ul.page-numbers li span {line-height:inherit;}

/* Woo's legacy UL clearfix creates two44px flex items and changes the baseline.
   The frozen Atlas list has no generated content; restore only that source property. */
.ew .ax-catalog .woocommerce-pagination ul.page-numbers::before,
.ew .ax-catalog .woocommerce-pagination ul.page-numbers::after {content:none;}

/* Frozen R7 keeps the native category label and chip in one wrapping group.
   The existing native panel show/hide guard and all control hooks remain authoritative. */
.ew-page .ax-catalog__active ul[data-container] {
 display:inline-flex; align-items:center; flex-wrap:wrap; max-width:100%; gap:var(--wp--custom--atlas--dimension--8);
}
/* HUSKY's panel line-height:32px is inherited by the flattened label text; the reference label uses the body rhythm. */
.ew-page .ax-catalog__active .woof_products_top_panel { line-height:var(--ew-lh-body); }

/* Same Atlas checkbox primitive as the independent reference. Keep HUSKY hidden terms hidden,
   iCheck's native wrapper/helper and real checkbox/label associations intact. */
.ew-page .esw-catalog-controls .woof_list_checkbox li.ew-check:not(.woof_hidden_term):not([hidden]):not([style*="display: none"]):not([style*="display:none"]) {
 display:flex !important;align-items:flex-start;gap:var(--wp--custom--atlas--dimension--12);min-height:var(--ew-target);
}
.ew-page .esw-catalog-controls .woof_checkbox_label {margin:0 !important;}
