/* ==========================================================================
   Electns 1.3.5 — MADE4USA-like craft density (Plus Jakarta Sans)
   Global: white/off-white + ink + one accent; older-shopper contrast.
   Nativity product (body.ens-nativity / product 3356): scoped warm cream/gold skin only.
   Copied craft tokens (not brand): Plus Jakarta Sans, ~6–8px radius, dense buy-box,
   square gallery frame, solid ATC. Refused: fake 4.8 stars, Shop Pay, 30-day returns.
   ========================================================================== */

:root:root {
  /* Color — refined commerce (MADE4USA-like white/ink + readable blue accent) */
  --c-canvas: #f7f8fa;
  --c-surface: #ffffff;
  --c-mist: #eef1f5;
  --c-line: #e5e7eb;
  --c-line-strong: #cfd4dc;
  --c-ink: #111827;
  --c-ink-2: #1f2937;
  --c-muted: #6b7280;
  --c-night: #0f172a;
  --c-night-2: #1e293b;
  --c-on-night: #f8fafc;
  --c-on-night-2: rgba(248, 250, 252, .72);
  --c-gold: #1877F2;          /* accent = Facebook blue (older-shopper contrast) */
  --c-gold-hi: #4b9bff;
  --c-gold-ink: #0d65d9;
  --c-blush: #e8f1ff;
  --c-sienna: #0d65d9;
  --c-pine: #15803d;
  --c-accent: #1877F2;

  /* Type — Plus Jakarta Sans (MADE4USA body/heading family) */
  --f-serif: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --f-sans: "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --t-display: clamp(2.1rem, 1.3rem + 3.2vw, 3.4rem);
  --t-h2: clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem);
  --t-h3: clamp(1.35rem, 1.1rem + 1vw, 1.75rem);
  --t-body: 1rem;
  --t-small: .875rem;
  --t-eyebrow: .75rem;

  /* Shape & depth — modest radii like crafted Shopify PDPs */
  --r-btn: 7px;
  --r-field: 8px;
  --r-card: 10px;
  --r-art: 6px;
  --r-pill: 999px;
  --sh-art: 0 0 0 1px rgba(17, 24, 39, .06), 0 12px 28px -16px rgba(17, 24, 39, .18);
  --sh-float: 0 0 0 1px rgba(17, 24, 39, .06), 0 10px 24px -14px rgba(17, 24, 39, .18);
  --sh-rim: inset 0 1px 0 rgba(255, 255, 255, .06), inset 0 0 0 1px rgba(255, 255, 255, .06);

  /* Space & motion — denser vertical rhythm */
  --sp-section: clamp(56px, 3.5rem + 4vw, 96px);
  --wrap: 1200px;
  --gutter: clamp(20px, 4vw, 40px);
  --ease: cubic-bezier(.2, .7, .2, 1);

  /* Blocksy palette → our tokens */
  --theme-palette-color-1: var(--c-ink);
  --theme-palette-color-2: var(--c-ink-2);
  --theme-palette-color-3: var(--c-gold);
  --theme-palette-color-4: var(--c-ink);
  --theme-palette-color-5: var(--c-line);
  --theme-palette-color-6: var(--c-mist);
  --theme-palette-color-7: var(--c-canvas);
  --theme-palette-color-8: var(--c-surface);
  --theme-text-color: var(--c-ink-2);
  --theme-headings-color: var(--c-ink);
  --theme-link-initial-color: var(--c-ink);
  --theme-link-hover-color: var(--c-gold-ink);
  --theme-border-color: var(--c-line);
  --theme-button-background-initial-color: var(--c-ink);
  --theme-button-background-hover-color: #1f2937;
  --theme-button-text-initial-color: #fff;
  --theme-button-text-hover-color: #fff;
  --theme-button-border-radius: var(--r-btn);
  --theme-form-field-border-initial-color: var(--c-line);
  --theme-form-field-border-focus-color: var(--c-gold);
  --theme-font-family: var(--f-sans);
}

/* ---------- Base ---------- */
html { scroll-behavior: auto; -webkit-text-size-adjust: 100%; }
body.electns-storefront {
  background: var(--c-canvas) !important;
  color: var(--c-ink-2);
  font-family: var(--f-sans);
  font-size: var(--t-body);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  text-rendering: optimizeLegibility;
}
body.electns-storefront :is(button, input, select, textarea) { font-family: var(--f-sans); }
.electns-storefront :is(h1, h2, h3, h4, .product_title, .page-title, .entry-title) {
  font-family: var(--f-sans);
  font-weight: 700;
  color: var(--c-ink);
  letter-spacing: -.02em;
}
.electns-storefront a { color: var(--c-ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.electns-storefront a:hover { color: var(--c-gold-ink); }
.electns-storefront ::selection { background: var(--c-gold-hi); color: var(--c-ink); }
.electns-storefront :focus-visible { outline: 2px solid var(--c-gold); outline-offset: 3px; border-radius: 6px; }
.electns-storefront em { font-style: italic; }

.ens-wrap { width: 100%; max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); box-sizing: border-box; }
.ens-center { text-align: center; }
.ens-ico { flex: none; display: inline-block; vertical-align: middle; }

.ens-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  margin: 0 0 14px;
  font: 600 var(--t-eyebrow)/1.2 var(--f-sans);
  letter-spacing: .16em; text-transform: uppercase;
  color: var(--c-gold-ink);
}
.ens-eyebrow .ens-ico--star { color: var(--c-gold); }
.ens-eyebrow--gold { color: var(--c-gold-hi); }
.ens-eyebrow--gold .ens-ico--star { color: var(--c-gold-hi); }

.ens-display {
  margin: 0;
  font: 700 var(--t-display)/1.12 var(--f-sans) !important;
  letter-spacing: -.025em !important;
  color: var(--c-ink);
}
.ens-display em, .ens-h2 em { font-style: normal; font-weight: 700; color: inherit; }
.ens-h2 {
  margin: 0 0 14px;
  font: 700 var(--t-h2)/1.2 var(--f-sans) !important;
  letter-spacing: -.02em !important;
}
.ens-h2 em { color: inherit; }

.ens-link {
  display: inline-flex; align-items: center; gap: 8px;
  font: 500 .9375rem/1 var(--f-sans);
  color: var(--c-ink) !important; text-decoration: none !important;
  border-bottom: 1px solid var(--c-line-strong); padding-bottom: 4px;
  transition: border-color .2s, gap .2s var(--ease);
}
.ens-link:hover { border-color: var(--c-ink); gap: 12px; }

/* ---------- Buttons (one family) ---------- */
.ens-btn,
.electns-storefront .button,
.electns-storefront button.button,
.electns-storefront .single_add_to_cart_button,
.electns-storefront .wp-element-button,
.electns-storefront #place_order,
.electns-storefront .checkout-button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 10px;
  min-height: 50px; padding: 0 22px !important;
  border-radius: var(--r-btn) !important;
  border: 1px solid transparent !important;
  background: var(--c-ink) !important; color: #fff !important;
  font: 700 .9375rem/1 var(--f-sans) !important; letter-spacing: -.01em !important; text-transform: none !important;
  text-decoration: none !important; cursor: pointer; box-shadow: none;
  transition: background-color .18s, border-color .18s, color .18s;
  -webkit-tap-highlight-color: transparent;
}
.ens-btn:hover,
.electns-storefront .button:hover,
.electns-storefront .single_add_to_cart_button:hover,
.electns-storefront #place_order:hover,
.electns-storefront .checkout-button:hover {
  background: #1f2937 !important; color: #fff !important;
  transform: none;
  box-shadow: none;
}
.ens-btn:active, .electns-storefront .single_add_to_cart_button:active { transform: none; box-shadow: none; }
.ens-btn--lg { min-height: 52px; padding: 0 26px !important; font-size: 1rem !important; }
.ens-btn--block { display: flex !important; width: 100%; }
.ens-btn--primary,
.ens-btn--gold {
  background: var(--c-ink) !important;
  color: #fff !important;
  box-shadow: none;
}
.ens-btn--primary:hover,
.ens-btn--gold:hover {
  background: #1f2937 !important; color: #fff !important;
  box-shadow: none;
}
.ens-btn--ghost {
  background: transparent !important; color: var(--c-ink) !important;
  border-color: rgba(29, 24, 20, .22) !important;
}
.ens-btn--ghost:hover { background: rgba(29, 24, 20, .05) !important; color: var(--c-ink) !important; border-color: var(--c-ink) !important; box-shadow: none; }
.ens-btn--ghost-light {
  background: transparent !important; color: var(--c-on-night) !important;
  border-color: rgba(244, 237, 225, .28) !important;
}
.ens-btn--ghost-light:hover { background: rgba(244, 237, 225, .08) !important; border-color: rgba(244, 237, 225, .6) !important; color: var(--c-on-night) !important; box-shadow: none; }
.ens-btn .ens-ico--arrow { transition: transform .25s var(--ease); }
.ens-btn:hover .ens-ico--arrow { transform: translateX(3px); }

/* Payment marks (identical cards, one row) */
.ens-pay-row { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ens-pay-row--center { display: flex; justify-content: center; }
.ens-pay { display: block; flex: none; border-radius: 4px; }

/* ---------- Motion ---------- */
@keyframes ens-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes ens-settle { from { transform: scale(1.08); } to { transform: scale(1); } }
.ens-rise { animation: ens-rise .9s var(--ease) both; animation-delay: calc(var(--d, 0) * 90ms + 60ms); }
.ens-js .ens-reveal { opacity: 0; transform: translateY(26px); }
.ens-js .ens-reveal.is-in, .ens-reveal-all .ens-reveal {
  opacity: 1; transform: none;
  transition: opacity .9s var(--ease), transform .9s var(--ease);
  transition-delay: calc(var(--d, 0) * 90ms);
}
@media (prefers-reduced-motion: reduce) {
  .ens-rise, .ens-hero__art img { animation: none !important; }
  .ens-js .ens-reveal { opacity: 1; transform: none; }
  .ens-btn, .ens-card img, .ens-scene img { transition: none !important; }
}
/* ---------- Announcement strip ---------- */
.ens-announce { background: var(--c-ink); color: rgba(255,255,255,.92); font: 500 .75rem/1 var(--f-sans); letter-spacing: .02em; }
.ens-announce__inner { max-width: var(--wrap); margin: 0 auto; padding: 8px var(--gutter); display: flex; align-items: center; justify-content: center; gap: 18px; }
.ens-announce span { display: inline-flex; align-items: center; gap: 8px; }
.ens-announce .ens-ico { color: #fff; }
.ens-announce__sep { width: 3px; height: 3px; border-radius: 50%; background: rgba(255,255,255,.45); }
@media (max-width: 640px) { .ens-announce__sep, .ens-announce__alt { display: none !important; } }

/* ---------- Header: quiet, sticky, hairline on scroll ---------- */
.electns-storefront #header {
  position: sticky; top: 0; z-index: 60;
  background: rgba(255, 255, 255, .92) !important;
  -webkit-backdrop-filter: saturate(1.2) blur(12px); backdrop-filter: saturate(1.2) blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color .3s, box-shadow .3s;
  --theme-link-initial-color: var(--c-ink-2);
  --theme-link-hover-color: var(--c-ink);
  --theme-icon-color: var(--c-ink);
  --theme-icon-hover-color: var(--c-ink);
}
.admin-bar.electns-storefront #header { top: 32px; }
.ens-scrolled .electns-storefront #header,
html.ens-scrolled body.electns-storefront #header { border-bottom-color: var(--c-line); box-shadow: 0 8px 24px -20px rgba(29, 24, 20, .35); }
.electns-storefront #header [data-row*="middle"] { background: transparent !important; --height: 64px; }
.electns-storefront #header [data-row*="middle"] > .ct-container { min-height: 64px; }
.electns-storefront #header .site-title,
.electns-storefront #header .site-title a {
  font: 700 1.35rem/1 var(--f-sans) !important; letter-spacing: -.02em !important;
  color: var(--c-ink) !important; text-decoration: none !important;
}
.electns-storefront #header .site-title a::before { content: none; display: none; }
.electns-storefront #header .menu > li > a {
  position: relative; text-decoration: none !important;
  font: 500 .9rem/1 var(--f-sans) !important; letter-spacing: 0 !important; text-transform: none !important;
  color: var(--c-ink-2) !important; padding-inline: 14px !important;
}
.electns-storefront #header .menu > li > a::after {
  content: ""; position: absolute; left: 14px; right: 14px; bottom: calc(50% - 14px); height: 2px;
  background: var(--c-gold); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease);
}
.electns-storefront #header .menu > li > a:hover { color: var(--c-ink) !important; }
.electns-storefront #header .menu > li > a:hover::after,
.electns-storefront #header .menu > li.current-menu-item > a::after { transform: scaleX(1); }
.electns-storefront #header .menu > li.current_page_parent:not(.current-menu-item) > a::after { transform: scaleX(0); }
.electns-storefront #header .ct-header-search,
.electns-storefront #header .ct-header-trigger { color: var(--c-ink) !important; }

.ens-header-cart {
  position: relative; display: inline-grid; place-items: center;
  width: 42px; height: 42px; margin-left: 6px; padding: 0 !important;
  border: 0 !important; border-radius: var(--r-pill) !important;
  background: transparent !important; color: var(--c-ink) !important; cursor: pointer;
  transition: background-color .2s;
}
.ens-header-cart:hover { background: rgba(29, 24, 20, .06) !important; }
.ens-header-cart__count {
  position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box;
  border-radius: var(--r-pill); background: var(--c-gold); color: #fff;
  font: 700 .68rem/18px var(--f-sans); text-align: center;
}
.ens-header-cart__count[data-empty="1"], .ens-header-cart__count:empty { display: none; }

/* Mobile off-canvas */
.electns-storefront #offcanvas .ct-panel-inner { background: var(--c-canvas) !important; }
.electns-storefront #offcanvas .mobile-menu a {
  font: 600 1.25rem/1.3 var(--f-sans) !important; color: var(--c-ink) !important; padding-block: 10px !important;
}

/* Breadcrumbs — hidden on product pages (user request); quiet elsewhere */
.single-product .ct-breadcrumbs,
.single-product .woocommerce-breadcrumb,
.single-product .hero-section .ct-breadcrumbs,
.single-product .hero-section [data-id="breadcrumbs"],
.single-product .entry-header .ct-breadcrumbs,
.single-product nav[aria-label="Breadcrumb"],
.single-product .product_meta { display: none !important; }
.electns-storefront .ct-breadcrumbs { font: 500 .78rem/1.4 var(--f-sans) !important; color: var(--c-muted) !important; letter-spacing: .01em; }
.electns-storefront .ct-breadcrumbs a { color: var(--c-muted) !important; text-decoration: none !important; }
.electns-storefront .ct-breadcrumbs a:hover { color: var(--c-ink) !important; }
.electns-storefront .ct-breadcrumbs svg { opacity: .45; width: 7px !important; }
.electns-storefront .ct-breadcrumbs .last-item { color: var(--c-ink-2); }

/* Page titles on policy pages */
.electns-storefront .page-title { font-size: var(--t-h2) !important; line-height: 1.08 !important; }
.electns-storefront.page:not(.ens-front) .entry-content { font-size: 1.0625rem; line-height: 1.75; }
.electns-storefront.page:not(.ens-front) .entry-content h2 { font-size: 1.6rem; margin-top: 2em; text-transform: none; letter-spacing: -.01em; }

/* ---------- Footer ---------- */
.ct-footer { display: none !important; }
.ens-foot { background: var(--c-night); color: var(--c-on-night-2); padding: clamp(56px, 7vw, 96px) 0 32px; font-size: .9rem; }
.ens-foot a { color: var(--c-on-night) !important; opacity: .8; text-decoration: none !important; transition: opacity .2s; }
.ens-foot a:hover { opacity: 1; color: var(--c-on-night) !important; }
.ens-foot__grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 40px; }
.ens-foot__logo { margin: 0 0 12px; font: 700 1.45rem/1 var(--f-sans); color: var(--c-on-night); letter-spacing: -.02em; }
.ens-foot__blurb { margin: 0 0 18px; max-width: 34ch; line-height: 1.6; }
.ens-foot__mail { display: inline-flex; align-items: center; gap: 8px; }
.ens-foot__mail .ens-ico { color: var(--c-gold-hi); }
.ens-foot__head { margin: 6px 0 16px; font: 600 .72rem/1 var(--f-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--c-gold-hi); }
.ens-foot__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.ens-foot__base { margin-top: 56px; padding-top: 24px; border-top: 1px solid rgba(244, 237, 225, .1); display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ens-foot__legal p { margin: 0 0 4px; font-size: .78rem; opacity: .7; }
@media (max-width: 900px) { .ens-foot__grid { grid-template-columns: 1fr 1fr; } .ens-foot__brand { grid-column: 1 / -1; } }
/* ---------- Front page shell ---------- */
.ens-front .hero-section,
.ens-front .page-title,
.ens-front .blocksy-woo-messages-default:empty { display: none !important; }
.ens-front .ct-container-full,
.ens-front main#main > .ct-container-full { padding-top: 0 !important; padding-bottom: 0 !important; }
.ens-front .entry-content { margin: 0 !important; }
.ens-front .entry-content > .ens-home { max-width: none !important; }
.ens-home { width: 100vw; margin-inline: calc(50% - 50vw) !important; }
.ens-home > * { margin: 0; }

/* ---------- Hero (generic light storefront) ---------- */
.ens-hero {
  position: relative; overflow: hidden;
  background: linear-gradient(180deg, #ffffff 0%, var(--c-canvas) 100%);
  color: var(--c-ink);
  padding: clamp(36px, 5vw, 72px) 0 clamp(48px, 6vw, 88px);
}
.ens-hero__glow { display: none; }
.ens-hero::before { display: none; }
.ens-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.ens-hero .ens-display { color: var(--c-ink) !important; }
.ens-hero .ens-display em { color: var(--c-gold-ink); display: inline; }
.ens-hero__sub { margin: 18px 0 0; max-width: 44ch; font-size: clamp(1rem, .95rem + .25vw, 1.125rem); line-height: 1.65; color: var(--c-muted); }
.ens-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.ens-hero__facts { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 20px; font-size: .875rem; color: var(--c-ink-2); }
.ens-hero__facts li { display: inline-flex; align-items: center; gap: 8px; }
.ens-hero__facts .ens-ico { color: var(--c-gold); }
.ens-hero__facts s { opacity: .6; }
.ens-hero__art { position: relative; margin: 0; }
.ens-hero__art img, .ens-hero__img {
  display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover;
  border-radius: var(--r-art);
  box-shadow: var(--sh-art);
  background: var(--c-surface);
}
.ens-hero__badge {
  position: absolute; left: 14px; bottom: 14px;
  display: grid; gap: 4px; padding: 12px 14px;
  background: rgba(255,255,255,.94); border: 1px solid var(--c-line);
  border-radius: 12px; box-shadow: var(--sh-float);
  font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--c-muted);
}
.ens-hero__badge strong { font: 700 1.25rem/1.1 var(--f-sans); letter-spacing: -.01em; text-transform: none; color: var(--c-ink); }
.ens-hero__badge a { color: var(--c-gold-ink) !important; font: 600 .8rem/1 var(--f-sans); text-transform: none; letter-spacing: 0; text-decoration: none !important; }
.ens-hero__cue { display: none; }

@media (max-width: 900px) {
  .ens-hero { padding-top: 24px; }
  .ens-hero__grid { grid-template-columns: 1fr; gap: 24px; }
  .ens-hero__art { order: -1; max-width: 520px; width: 100%; margin-inline: auto; }
  .ens-hero__ctas .ens-btn { flex: 1 1 100%; }
}

/* ---------- Sections ---------- */
.ens-section { padding-block: var(--sp-section); }
.ens-section__head { text-align: center; max-width: 720px; margin: 0 auto clamp(36px, 5vw, 64px); }
.ens-section__sub { margin: 0 auto; max-width: 52ch; color: var(--c-muted); font-size: 1.05rem; }
.ens-section__head--row { max-width: none; text-align: left; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ens-section__head--row .ens-h2 { margin: 0; }

/* Scenes rail (Scrolltide-style chapters) */
.ens-scenes { background: var(--c-canvas); }
.ens-scenes__rail { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2.4vw, 32px); margin-bottom: 40px; }
.ens-scene { display: grid; gap: 6px; color: var(--c-ink) !important; text-decoration: none !important; }
.ens-scene__media { display: block; overflow: hidden; border-radius: var(--r-card); box-shadow: var(--sh-art); margin-bottom: 14px; aspect-ratio: 4 / 5; background: var(--c-night); }
.ens-scene__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--ease); }
.ens-scene:hover .ens-scene__media img { transform: scale(1.045); }
.ens-scene__num { font: 600 .85rem/1 var(--f-sans); color: var(--c-gold-ink); }
.ens-scene__title { font: 700 1.15rem/1.3 var(--f-sans); letter-spacing: -.01em; }
.ens-scene__text { color: var(--c-muted); font-size: .95rem; line-height: 1.55; }
@media (max-width: 760px) {
  .ens-scenes__rail { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin-inline: calc(var(--gutter) * -1); padding: 4px var(--gutter) 18px; scrollbar-width: none; }
  .ens-scenes__rail::-webkit-scrollbar { display: none; }
  .ens-scene { flex: 0 0 78%; scroll-snap-align: start; }
}

/* Gift band — the one rationed accent surface (Steep peach/sienna) */
.ens-gift { background: var(--c-blush); color: var(--c-ink); }
.ens-gift__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: center; }
.ens-gift__media { margin: 0; }
.ens-gift__media img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--r-art); box-shadow: var(--sh-art); }
.ens-gift .ens-eyebrow { color: var(--c-gold-ink); }
.ens-gift .ens-h2 { color: var(--c-ink) !important; }
.ens-gift .ens-h2 em { color: inherit; }
.ens-gift__copy > p { margin: 0 0 28px; font-size: 1.05rem; line-height: 1.7; max-width: 44ch; color: var(--c-muted); }
.ens-gift__tiers { list-style: none; margin: 0 0 32px; padding: 0; border-top: 1px solid var(--c-line); max-width: 420px; }
.ens-gift__tiers li { display: flex; justify-content: space-between; padding: 14px 0; border-bottom: 1px solid var(--c-line); font-size: .95rem; }
.ens-gift__tiers strong { font-weight: 600; color: var(--c-ink); }
@media (max-width: 860px) { .ens-gift__grid { grid-template-columns: 1fr; } }

/* Product grid + cards (shared) */
.ens-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(14px, 2.2vw, 28px); }
@media (max-width: 960px) { .ens-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ens-card { display: grid; gap: 12px; text-decoration: none !important; color: var(--c-ink) !important; }
.ens-card__media { position: relative; display: block; overflow: hidden; aspect-ratio: 1 / 1; border-radius: 14px; background: var(--c-surface); box-shadow: 0 0 0 1px var(--c-line); }
.ens-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease); }
.ens-card:hover .ens-card__img { transform: scale(1.04); }
.ens-card__tag { position: absolute; top: 10px; left: 10px; padding: 5px 9px; border-radius: var(--r-pill); background: var(--c-night); color: var(--c-on-night); font: 600 .7rem/1 var(--f-sans); letter-spacing: .02em; }
.ens-card__body { display: grid; gap: 6px; }
.ens-card__title { font: 500 .95rem/1.4 var(--f-sans); color: var(--c-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ens-card:hover .ens-card__title { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--c-line-strong); }
.ens-card__price { font: 600 .95rem/1 var(--f-sans); color: var(--c-ink); }
.ens-card__price s { margin-left: 6px; font-weight: 400; color: var(--c-muted); }
.ens-card__from { font-weight: 400; color: var(--c-muted); }

/* Promise row */
.ens-promise { padding-top: 0; }
.ens-promise__list { list-style: none; margin: 0; padding: clamp(32px, 4vw, 48px) 0 0; border-top: 1px solid var(--c-line); display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.ens-promise__list li { display: grid; gap: 8px; align-content: start; font-size: .9rem; color: var(--c-muted); }
.ens-promise__list .ens-ico { color: var(--c-gold-ink); margin-bottom: 6px; }
.ens-promise__list strong { font: 700 1.05rem/1.3 var(--f-sans); color: var(--c-ink); letter-spacing: -.01em; }
.ens-promise__list a { justify-self: start; font-weight: 500; color: var(--c-ink) !important; text-decoration: underline; text-decoration-color: var(--c-line-strong); }
@media (max-width: 900px) { .ens-promise__list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .ens-promise__list { grid-template-columns: 1fr; gap: 26px; } }
/* ---------- PDP layout ---------- */
.single-product.electns-storefront .hero-section { padding-top: 18px !important; margin-bottom: 18px !important; }
.single-product.electns-storefront .hero-section .entry-header { margin: 0 !important; }
.single-product.electns-storefront main > .ct-container-full { padding-top: 0 !important; }
.single-product .product-entry-wrapper { gap: clamp(28px, 5vw, 72px) !important; align-items: flex-start; }
@media (min-width: 1000px) {
  .single-product .product-entry-wrapper .woocommerce-product-gallery { position: sticky; top: 96px; align-self: flex-start; }
}
.single-product .woocommerce-product-gallery .onsale { display: none !important; }
.single-product .woocommerce-product-gallery .flexy-view,
.single-product .woocommerce-product-gallery .ct-media-container { border-radius: var(--r-art); overflow: hidden; }
.single-product .woocommerce-product-gallery .flexy-view { box-shadow: var(--sh-art); background: var(--c-surface); }
.single-product .woocommerce-product-gallery .flexy-pills { margin-top: 10px !important; }
.single-product .woocommerce-product-gallery .flexy-pills li,
.single-product .woocommerce-product-gallery .flexy-pills .ct-media-container { border-radius: 6px !important; overflow: hidden; }
.single-product .woocommerce-product-gallery .flexy-pills li { opacity: .62; transition: opacity .2s, box-shadow .2s; box-shadow: 0 0 0 1px var(--c-line); }
.single-product .woocommerce-product-gallery .flexy-pills li.active,
.single-product .woocommerce-product-gallery .flexy-pills li:hover { opacity: 1; box-shadow: 0 0 0 1.5px var(--c-ink); }
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger { background: var(--c-surface) !important; color: var(--c-ink) !important; }

/* ---------- Buy box rhythm ---------- */
.single-product .entry-summary-items { display: flex !important; flex-wrap: wrap; align-items: center; column-gap: 14px; }
.single-product .entry-summary-items > * { flex: 0 0 100%; min-width: 0; margin: 0 0 12px !important; --product-element-spacing: 0px; }
.single-product .entry-summary-items > .ct-product-divider,
.single-product .entry-summary-items > .product_meta,
.single-product .entry-summary-items > .woocommerce-product-details__short-description { display: none !important; }
.ens-pdp__eyebrow { margin-bottom: 10px !important; }
.single-product .entry-summary .product_title {
  margin-bottom: 10px !important;
  font: 700 clamp(1.55rem, 1.15rem + 1.2vw, 2.05rem)/1.18 var(--f-sans) !important; letter-spacing: -.025em !important;
}
.single-product .entry-summary .price { flex: 0 0 auto !important; margin-bottom: 10px !important; display: flex; align-items: baseline; gap: 10px; }
.single-product .entry-summary .price .sale-price { display: inline-flex; align-items: baseline; gap: 10px; flex-direction: row-reverse; }
.single-product .entry-summary .price ins,
.single-product .entry-summary .price > .amount,
.single-product .entry-summary .price ins .amount { font: 800 1.85rem/1 var(--f-sans) !important; color: var(--c-ink) !important; text-decoration: none; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.single-product .entry-summary .price del,
.single-product .entry-summary .price del .amount { font: 500 1rem/1 var(--f-sans) !important; color: var(--c-muted) !important; opacity: 1; }
.ens-save-chip {
  flex: 0 0 auto !important; margin-bottom: 16px !important; white-space: nowrap;
  display: inline-flex; align-items: center; padding: 6px 11px; border-radius: var(--r-pill);
  background: var(--c-blush); color: var(--c-sienna); font: 600 .78rem/1 var(--f-sans); letter-spacing: .01em;
}
.ens-pdp__lede { margin-bottom: 20px !important; color: var(--c-muted); font-size: 1rem; line-height: 1.65; max-width: 52ch; }
.ens-rating { font-size: .875rem; color: var(--c-ink-2); }
.ens-low-stock { color: var(--c-sienna); font-weight: 600; font-size: .875rem; }

/* Trust strip removed — short line under ATC instead */
.ens-trust { display: none !important; }

/* Bundles — packs are quantity; aligned 3-col grid; badge out of flow */
.ens-bundles { border: 0; padding: 0; margin: 4px 0 12px !important; min-width: 0; width: 100%; }
.ens-bundles__legend { display: flex; width: 100%; justify-content: space-between; align-items: baseline; gap: 12px; padding: 0; margin: 0 0 10px; font: 600 .8125rem/1.2 var(--f-sans); color: var(--c-ink); letter-spacing: .01em; }
.ens-bundles__hint { font-weight: 400; font-size: .78rem; color: var(--c-muted); }
.ens-bundles__list { display: grid; gap: 10px; }
.ens-bundle {
  position: relative;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  grid-template-areas: "radio main price";
  align-items: center;
  column-gap: 12px;
  row-gap: 0;
  width: 100%;
  min-height: 64px;
  padding: 14px 16px !important;
  box-sizing: border-box;
  text-align: left;
  background: var(--c-surface) !important;
  color: var(--c-ink) !important;
  border: 1px solid var(--c-line) !important;
  border-radius: 8px !important;
  box-shadow: none;
  cursor: pointer;
  font: inherit !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.ens-bundle:hover { border-color: var(--c-line-strong) !important; transform: none; background: #fafbfc !important; }
.ens-bundle.is-active {
  border-color: var(--c-ink) !important;
  background: var(--c-surface) !important;
  box-shadow: inset 0 0 0 1px var(--c-ink);
}
.ens-bundle__radio {
  grid-area: radio;
  width: 18px; height: 18px; border-radius: 50%;
  border: 1.5px solid var(--c-line-strong); box-sizing: border-box;
  justify-self: center; align-self: center;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
.ens-bundle.is-active .ens-bundle__radio {
  border-color: var(--c-ink); background: var(--c-ink);
  box-shadow: inset 0 0 0 3.5px var(--c-surface);
}
.ens-bundle__main {
  grid-area: main;
  display: grid; gap: 4px; min-width: 0; align-content: center;
}
.ens-bundle__name { font: 600 1rem/1.2 var(--f-sans); color: var(--c-ink); letter-spacing: -.01em; }
.ens-bundle__each { font: 400 .875rem/1.2 var(--f-sans); color: var(--c-muted); }
.ens-bundle__price {
  grid-area: price;
  display: grid; justify-items: end; align-content: center; gap: 4px;
  min-width: 5.5rem;
}
.ens-bundle__price .ens-bundle__total,
.ens-bundle__price strong {
  font: 600 1rem/1.1 var(--f-sans); color: var(--c-ink); letter-spacing: -.01em;
  font-variant-numeric: tabular-nums;
}
.ens-bundle__price .ens-bundle__was,
.ens-bundle__price s {
  font: 400 .78rem/1 var(--f-sans); color: var(--c-muted);
  font-variant-numeric: tabular-nums;
  min-height: 1em;
}
.ens-bundle__was--spacer { visibility: hidden; }
.ens-bundle__tag {
  position: absolute;
  top: -10px; right: 12px;
  z-index: 2;
  grid-area: unset;
  justify-self: end; align-self: start;
  padding: 5px 10px; border-radius: 5px;
  background: var(--c-ink); color: #fff;
  font: 700 .8125rem/1.15 var(--f-sans); letter-spacing: .02em; text-transform: uppercase;
  pointer-events: none; white-space: nowrap;
}
.ens-bundle:not(.is-active) .ens-bundle__tag { background: var(--c-mist); color: var(--c-ink-2); }
/* Packs live inside the cart form, flush above ATC */
.single-product form.cart .ens-bundles,
.single-product .woocommerce-variation-add-to-cart .ens-bundles {
  margin: 2px 0 14px !important;
}
.single-product form.cart .ens-bundles + .quantity,
.single-product .woocommerce-variation-add-to-cart .ens-bundles + .quantity {
  display: none !important;
}

/* Add to cart — one considered button */
.single-product .ct-product-add-to-cart { margin-bottom: 10px !important; }
.single-product form.cart, .single-product .ct-cart-actions { display: flex !important; flex-direction: column; width: 100%; margin: 0 !important; }
.single-product form.cart .quantity { display: none !important; }
.single-product form.cart .single_add_to_cart_button {
  width: 100% !important; min-height: 50px !important; margin: 0 !important;
  font: 700 .9375rem/1.2 var(--f-sans) !important; letter-spacing: -.01em !important;
  border-radius: var(--r-btn) !important;
  background: var(--c-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.single-product form.cart .single_add_to_cart_button.loading { opacity: .75; }
.single-product form.cart .single_add_to_cart_button.loading::after { display: none !important; }
.single-product form.cart .single_add_to_cart_button.ens-added { background: var(--c-pine) !important; }
.ens-ship-note { display: none !important; }
.ens-after-cart {
  margin: 10px 0 8px !important; text-align: center;
  font: 400 .8125rem/1.4 var(--f-sans); color: var(--c-muted);
}
.ens-pay-quiet { display: flex; justify-content: center; gap: 6px; margin: 12px 0 18px !important; }
.ens-pay-quiet .ens-pay { opacity: .95; }

/* Protection — shield icon like MADE4USA trust/shipping lines */
.ens-protect {
  display: grid !important; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: center; gap: 10px 12px;
  padding: 12px 0; border: 0; border-top: 1px solid var(--c-line); border-radius: 0;
  background: transparent; cursor: pointer; margin-bottom: 8px !important;
}
.ens-protect--quiet { padding-top: 14px; }
.ens-protect__icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  color: var(--c-pine);
  flex: none;
}
.ens-protect__icon .ens-ico { display: block; width: 18px; height: 18px; }
.ens-protect__body { display: grid; gap: 2px; min-width: 0; }
.ens-protect__title { font: 500 .8125rem/1.3 var(--f-sans); color: var(--c-ink); }
.ens-protect__title em { font-style: normal; font-weight: 500; color: var(--c-muted); margin-left: 4px; }
.ens-protect__desc { font-size: .75rem; color: var(--c-muted); line-height: 1.4; }
.ens-switch {
  -webkit-appearance: none; appearance: none; position: relative; flex: none;
  width: 42px !important; height: 24px !important; margin: 0 !important; padding: 0 !important;
  border-radius: var(--r-pill) !important; border: 0 !important; background: var(--c-line-strong) !important;
  cursor: pointer; transition: background-color .25s var(--ease);
}
.ens-switch::before { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .25s var(--ease); }
.ens-switch:checked { background: var(--c-gold) !important; }
.ens-switch:checked::before { transform: translateX(18px); }
.ens-switch::after { display: none !important; content: none !important; }

/* Quiet guarantee — no SECURE CHECKOUT banner */
.ens-assure { display: none !important; }
.ens-assure-line {
  margin: 0 0 28px !important; padding: 0;
  font: 400 .8125rem/1.55 var(--f-sans); color: var(--c-muted);
}
.ens-assure-line a { color: var(--c-ink); text-decoration: underline; text-underline-offset: 2px; }

/* Accordions */
.ens-acc { border-top: 1px solid var(--c-line); }
.ens-acc__item { border-bottom: 1px solid var(--c-line); }
.ens-acc__item summary {
  list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 17px 0; cursor: pointer; font: 600 .9rem/1.2 var(--f-sans); color: var(--c-ink);
}
.ens-acc__item summary::-webkit-details-marker { display: none; }
.ens-acc__item summary .ens-ico { color: var(--c-muted); transition: transform .3s var(--ease); }
.ens-acc__item[open] summary .ens-ico { transform: rotate(45deg); }
.ens-acc__body { padding: 0 0 18px; font-size: .875rem; line-height: 1.65; color: var(--c-muted); }
.ens-acc__body p { margin: 0 0 10px; }
.ens-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ens-facts li { display: grid; grid-template-columns: 110px 1fr; gap: 12px; }
.ens-facts span { color: var(--c-muted); }
.ens-facts strong { font-weight: 500; color: var(--c-ink); }

/* Tabs chrome → hidden for the story product, quiet elsewhere */
.ens-nativity .woocommerce-tabs ul.tabs { display: none !important; }
.ens-nativity .woocommerce-tabs { margin-top: clamp(56px, 8vw, 112px) !important; }
.ens-nativity .woocommerce-tabs .panel { padding: 0 !important; margin: 0 !important; }
.single-product .woocommerce-tabs ul.tabs { border-color: var(--c-line) !important; }
.single-product .woocommerce-tabs ul.tabs li a { font: 600 .875rem/1 var(--f-sans) !important; color: var(--c-ink-2) !important; text-transform: none !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: var(--c-ink) !important; }

/* Related products (Blocksy loop) */
.electns-storefront .related > h2, .electns-storefront .up-sells > h2,
.electns-storefront .related .ct-module-title, .electns-storefront .up-sells .ct-module-title {
  font: 700 var(--t-h3)/1.2 var(--f-sans) !important; letter-spacing: -.02em !important; text-align: center; margin-bottom: 36px !important;
}
.electns-storefront ul.products li.product figure,
.electns-storefront ul.products li.product .ct-media-container { border-radius: 14px; overflow: hidden; }
.electns-storefront ul.products li.product .ct-media-container { box-shadow: 0 0 0 1px var(--c-line); background: var(--c-surface); }
.electns-storefront ul.products li.product .ct-media-container img { aspect-ratio: 1 / 1 !important; object-fit: cover; transition: transform .9s var(--ease); }
.electns-storefront ul.products li.product:hover .ct-media-container img { transform: scale(1.04); }
.electns-storefront ul.products .woocommerce-loop-product__title { font: 500 .95rem/1.4 var(--f-sans) !important; letter-spacing: 0 !important; }
.electns-storefront ul.products .woocommerce-loop-product__title a { color: var(--c-ink) !important; }
.electns-storefront ul.products .price { font: 600 .95rem/1.2 var(--f-sans) !important; color: var(--c-ink) !important; }
.electns-storefront ul.products .price del { color: var(--c-muted) !important; font-weight: 400; }
.electns-storefront ul.products .price ins { text-decoration: none; }
.electns-storefront ul.products .entry-meta { display: none !important; }
.electns-storefront ul.products .onsale {
  top: 10px !important; left: 10px !important; right: auto !important; min-height: 0 !important; padding: 5px 9px !important;
  border-radius: var(--r-pill) !important; background: var(--c-night) !important; color: var(--c-on-night) !important;
  font: 600 .66rem/1 var(--f-sans) !important; letter-spacing: .06em !important;
}
.electns-storefront ul.products .ct-woo-card-actions .button { min-height: 42px; font-size: .84rem !important; background: transparent !important; color: var(--c-ink) !important; border-color: rgba(29, 24, 20, .22) !important; }
.electns-storefront ul.products .ct-woo-card-actions .button:hover { background: var(--c-ink) !important; color: var(--c-on-night) !important; box-shadow: none; }
/* ---------- Nativity story (paced chapters, alternating lockups) ---------- */
.ens-story {
  width: 100vw; max-width: none !important; margin-inline: calc(50% - 50vw) !important;
  background: var(--c-canvas); padding: 0 0 var(--sp-section);
}
.ens-story__intro { max-width: 860px; margin: 0 auto clamp(40px, 6vw, 72px); padding: 0 var(--gutter); text-align: center; }
.ens-story__index { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 26px; }
.ens-story__index a {
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: var(--r-pill);
  border: 1px solid var(--c-line); background: var(--c-surface);
  font: 500 .8rem/1 var(--f-sans); color: var(--c-ink-2) !important; text-decoration: none !important;
  transition: border-color .2s, background-color .2s;
}
.ens-story__index a span { font: 600 .8rem/1 var(--f-sans); color: var(--c-gold-ink); }
.ens-story__index a:hover { border-color: var(--c-ink); }
.ens-story__row {
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: center;
  gap: clamp(32px, 6vw, 104px); max-width: 1180px; box-sizing: border-box;
  margin: 0 auto; padding: clamp(36px, 5vw, 64px) var(--gutter); scroll-margin-top: 100px;
}
.ens-story__row--reverse { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); }
.ens-story__row--reverse .ens-story__media { order: 2; }
.ens-story__row--reverse .ens-story__copy { order: 1; }
.ens-story__media { margin: 0; overflow: hidden; border-radius: var(--r-art); box-shadow: var(--sh-art); background: var(--c-night); }
.ens-story__media img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; scale: 1.06; transition: scale 1.6s var(--ease); }
.ens-story__media.is-in img, .ens-reveal-all .ens-story__media img { scale: 1; }
.ens-story__copy { max-width: 470px; }
.ens-story__row--reverse .ens-story__copy { justify-self: end; }
.ens-story__num { margin: 0 0 14px; font: 700 1.5rem/1 var(--f-sans); color: var(--c-gold); letter-spacing: -.02em; }
.ens-story__num span { margin-left: 8px; font-size: .9rem; color: var(--c-muted); letter-spacing: 0; font-weight: 500; }
.ens-story__title { margin: 0 0 16px !important; font: 700 var(--t-h3)/1.2 var(--f-sans) !important; letter-spacing: -.02em !important; }
.ens-story__text { margin: 0 0 14px; font-size: 1.03rem; line-height: 1.75; color: var(--c-muted); }
#scene-3 .ens-story__text + .ens-story__text { padding-left: 14px; border-left: 2px solid var(--c-line); margin-bottom: 8px; font-size: .95rem; color: var(--c-ink-2); }

@supports (animation-timeline: view()) {
  @keyframes ens-drift { from { translate: 0 4%; } to { translate: 0 -4%; } }
  @media (prefers-reduced-motion: no-preference) and (min-width: 900px) {
    .ens-story__media img { animation: ens-drift linear both; animation-timeline: view(); animation-range: cover 0% cover 100%; }
  }
}

.ens-story__cta {
  position: relative; overflow: hidden; isolation: isolate;
  max-width: 1132px; box-sizing: border-box; margin: clamp(32px, 5vw, 64px) auto; padding: clamp(40px, 6vw, 72px) var(--gutter);
  width: calc(100% - 2 * var(--gutter));
  border-radius: 24px; background: var(--c-night); color: var(--c-on-night); text-align: center;
  box-shadow: var(--sh-rim);
}
.ens-story__cta::before { content: ""; position: absolute; inset: auto -10% -60% -10%; height: 120%; z-index: -1; background: radial-gradient(closest-side, rgba(201, 154, 62, .28), transparent 70%); }
.ens-story__cta-title { margin: 0 0 26px; font: 700 clamp(1.4rem, 1.1rem + 1.4vw, 2rem)/1.2 var(--f-sans); letter-spacing: -.02em; color: var(--c-on-night); }
.ens-story__cta-note { margin: 18px 0 0; font-size: .82rem; color: var(--c-on-night-2); }
.ens-story__close { max-width: 640px; margin: clamp(48px, 6vw, 88px) auto 0; padding: 0 var(--gutter); text-align: center; }
.ens-story__close p { margin: 0 0 28px; color: var(--c-muted); font-size: 1.05rem; }

@media (max-width: 860px) {
  .ens-story__row, .ens-story__row--reverse { grid-template-columns: 1fr; gap: 26px; }
  .ens-story__row--reverse .ens-story__media { order: 0; }
  .ens-story__row--reverse .ens-story__copy { order: 1; justify-self: start; }
  .ens-story__num { font-size: 2rem; margin-bottom: 12px; }
  .ens-story__index { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; margin-inline: calc(var(--gutter) * -1); padding: 2px var(--gutter) 8px; scrollbar-width: none; }
  .ens-story__index::-webkit-scrollbar { display: none; }
  .ens-story__index a { flex: none; }
}

/* ---------- Sticky add to cart ---------- */
.ens-sticky {
  position: fixed; left: 50%; bottom: 18px; z-index: 70; width: min(760px, calc(100vw - 24px));
  transform: translate(-50%, calc(100% + 40px)); opacity: 0; pointer-events: none;
  transition: transform .45s var(--ease), opacity .3s;
}
.ens-sticky.is-visible { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.ens-sticky__inner {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px;
  padding: 10px 10px 10px 12px; border-radius: 10px;
  background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: 0 0 0 1px rgba(15,28,46,.08), 0 16px 40px -20px rgba(15,28,46,.35);
}
.ens-sticky__thumb { width: 48px; height: 48px; border-radius: 6px; object-fit: cover; }
.ens-sticky__info { display: grid; gap: 3px; min-width: 0; }
.ens-sticky__title { font: 600 .875rem/1.25 var(--f-sans); color: var(--c-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ens-sticky__meta { font-size: .8rem; color: var(--c-muted); }
.ens-sticky__btn { min-height: 48px !important; white-space: nowrap; }
@media (max-width: 640px) {
  .ens-sticky { bottom: 0; width: 100vw; }
  .ens-sticky__inner { border-radius: 16px 16px 0 0; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .ens-sticky__title { display: none; }
  .ens-sticky__meta { font: 600 .9rem/1.2 var(--f-sans); color: var(--c-ink); }
}
body.ens-sticky-visible .ens-foot { padding-bottom: 110px; }

/* ---------- Cart drawer ---------- */
.ens-drawer[hidden] { display: none !important; }
.ens-drawer { position: fixed; inset: 0; z-index: 9999; }
.ens-drawer__overlay { position: absolute; inset: 0; background: rgba(22, 18, 14, .46); opacity: 0; transition: opacity .3s; -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.ens-drawer.is-open .ens-drawer__overlay { opacity: 1; }
.ens-drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 100vw);
  display: flex; flex-direction: column; background: var(--c-canvas);
  transform: translateX(102%); transition: transform .42s var(--ease);
  box-shadow: -24px 0 60px -30px rgba(0, 0, 0, .45);
}
.ens-drawer.is-open .ens-drawer__panel { transform: none; }
.ens-drawer.is-busy .ens-drawer__body { opacity: .55; pointer-events: none; transition: opacity .2s; }
.ens-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--c-line); }
.ens-drawer__title { margin: 0; font: 700 1.2rem/1 var(--f-sans); color: var(--c-ink); letter-spacing: -.01em; }
.ens-drawer__title span { font: 500 .9rem/1 var(--f-sans); color: var(--c-muted); }
.ens-drawer__close { display: grid; place-items: center; width: 40px; height: 40px; padding: 0 !important; border: 0 !important; border-radius: var(--r-pill) !important; background: transparent !important; color: var(--c-ink) !important; cursor: pointer; }
.ens-drawer__close:hover { background: rgba(29, 24, 20, .06) !important; }
.ens-drawer__ship { padding: 14px 22px; background: var(--c-mist); }
.ens-drawer__ship-text { margin: 0 0 9px; font-size: .82rem; color: var(--c-ink-2); }
.ens-drawer__ship-text strong { color: var(--c-ink); }
.ens-drawer__bar { height: 6px; border-radius: var(--r-pill); background: rgba(29, 24, 20, .1); overflow: hidden; }
.ens-drawer__bar span { display: block; height: 100%; width: 4%; border-radius: inherit; background: linear-gradient(90deg, #0d65d9, #4b9bff); transition: width .6s var(--ease); }
.ens-drawer__ship.is-done .ens-drawer__bar span { background: var(--c-pine); }
.ens-drawer__body { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 6px 22px; }
.ens-drawer__empty { display: grid; justify-items: center; gap: 16px; padding: 56px 0; text-align: center; color: var(--c-muted); }
.ens-drawer__empty p { margin: 0; font: 600 1.1rem/1.3 var(--f-sans); color: var(--c-ink); }
.ens-line { display: grid; grid-template-columns: 76px 1fr; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--c-line); }
.ens-line:last-child { border-bottom: 0; }
.ens-line__media img, .ens-line__media .ens-drawer__thumb { width: 76px; height: 76px; object-fit: cover; border-radius: 12px; box-shadow: 0 0 0 1px var(--c-line); display: block; }
.ens-line__info { display: grid; gap: 10px; min-width: 0; }
.ens-line__name { font: 500 .9rem/1.35 var(--f-sans); color: var(--c-ink) !important; text-decoration: none !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ens-line__row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ens-line__qty { display: inline-flex; align-items: center; height: 34px; border: 1px solid var(--c-line); border-radius: var(--r-pill); background: var(--c-surface); }
.ens-line__qty button { width: 34px; height: 32px; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--c-ink) !important; font: 500 1rem/1 var(--f-sans) !important; cursor: pointer; border-radius: var(--r-pill) !important; }
.ens-line__qty span { min-width: 22px; text-align: center; font: 600 .85rem/1 var(--f-sans); color: var(--c-ink); }
.ens-line__price { font: 600 .9rem/1 var(--f-sans); color: var(--c-ink); }
.ens-line__remove { justify-self: start; padding: 0 !important; border: 0 !important; background: none !important; font: 400 .76rem/1 var(--f-sans) !important; color: var(--c-muted) !important; text-decoration: underline; cursor: pointer; }
.ens-drawer__foot { padding: 16px 22px calc(18px + env(safe-area-inset-bottom)); border-top: 1px solid var(--c-line); background: var(--c-surface); display: grid; gap: 12px; }
.ens-drawer__foot[hidden] { display: none !important; }
.ens-drawer__foot .ens-protect { margin: 0 !important; padding: 10px 12px; }
.ens-drawer__foot .ens-protect__icon { width: 18px; height: 18px; }
.ens-drawer__rows:empty { display: none; }
.ens-drawer__row, .ens-drawer__sub { display: flex; justify-content: space-between; font-size: .875rem; color: var(--c-muted); }
.ens-drawer__sub { font: 600 1rem/1 var(--f-sans); color: var(--c-ink); }
.ens-drawer__note { margin: 0; text-align: center; font-size: .76rem; color: var(--c-muted); }
html.ens-drawer-open, html.ens-drawer-open body { overflow: hidden !important; }

/* Classic cart page is never the primary UI */
body.ens-cart-as-drawer .woocommerce-cart-form, body.ens-cart-as-drawer .cart-collaterals { opacity: .35; }

/* Legacy chrome we never want back */
.ds-pills, .ps-popup, .ct-footer-copyright, .added_to_cart.wc-forward, a.added_to_cart,
.electns-storefront .woocommerce-message .button.wc-forward { display: none !important; }
.electns-storefront .woocommerce-message, .electns-storefront .woocommerce-info { border-radius: var(--r-field); background: var(--c-surface) !important; border: 1px solid var(--c-line) !important; color: var(--c-ink-2) !important; }
.electns-storefront .woocommerce-message::before, .electns-storefront .woocommerce-info::before { color: var(--c-pine) !important; }
.electns-storefront.single-product .woocommerce-notices-wrapper .woocommerce-message { display: none !important; }
.electns-storefront input[type="text"], .electns-storefront input[type="email"], .electns-storefront input[type="tel"],
.electns-storefront input[type="search"], .electns-storefront select, .electns-storefront textarea { border-radius: var(--r-field) !important; }

@media (max-width: 640px) {
  .ens-bundles__hint { display: none; }
  .ens-trust { gap: 8px 16px; }
  .single-product .entry-summary .price ins .amount { font-size: 1.7rem !important; }
}

/* 1.3.0 live fit: square art, no title crop; compact thumbs strip */
.single-product .woocommerce-product-gallery .flexy-view .ct-media-container,
.single-product .woocommerce-product-gallery .flexy-view .ct-media-container img { aspect-ratio: 1 / 1 !important; height: auto !important; object-fit: cover !important; }
.single-product .woocommerce-product-gallery .flexy-pills ol {
  display: flex !important; flex-wrap: nowrap !important; gap: 10px !important; overflow-x: auto; scrollbar-width: none; padding: 2px !important; margin: 0 !important;
  grid-template-columns: none !important;
}
.single-product .woocommerce-product-gallery .flexy-pills ol::-webkit-scrollbar { display: none; }
.single-product .woocommerce-product-gallery .flexy-pills li { flex: 0 0 72px !important; width: 72px !important; max-width: 72px !important; margin: 0 !important; border: 0 !important; }
.single-product .woocommerce-product-gallery .flexy-pills li .ct-media-container img { aspect-ratio: 1 / 1 !important; object-fit: cover; }
@media (max-width: 689px) {
  .single-product .woocommerce-product-gallery .flexy-pills li { flex-basis: 58px !important; width: 58px !important; max-width: 58px !important; }
  .electns-storefront .ct-breadcrumbs .last-item, .electns-storefront .ct-breadcrumbs > span:last-child { display: none !important; }
  .electns-storefront .ct-breadcrumbs { text-transform: none; }
}


/* ==========================================================================
   Nativity SKU only — warm cream / gold skin (body.ens-nativity = product 3356)
   Does not affect homepage or other product pages.
   ========================================================================== */
body.ens-nativity {
  --c-canvas: #f7f2ea;
  --c-surface: #fffcf7;
  --c-mist: #efe8dc;
  --c-line: #e3d9c9;
  --c-line-strong: #cbbda6;
  --c-ink: #1d1814;
  --c-ink-2: #3a322a;
  --c-muted: #6f6457;
  --c-night: #16120e;
  --c-night-2: #221b15;
  --c-on-night: #f4ede1;
  --c-on-night-2: rgba(244, 237, 225, .72);
  --c-gold: #c99a3e;
  --c-gold-hi: #e4c27a;
  --c-gold-ink: #8a6420;
  --c-blush: #f3e2cf;
  --c-sienna: #6b2f17;
  --c-pine: #2f4a3a;
  --sh-art: 0 0 0 1px rgba(29, 24, 20, .05), 0 28px 56px -22px rgba(29, 24, 20, .28);
  background: var(--c-canvas) !important;
}
body.ens-nativity .ens-btn,
body.ens-nativity .single_add_to_cart_button,
body.ens-nativity .ens-btn--primary,
body.ens-nativity .ens-btn--gold {
  background: var(--c-ink) !important;
  color: var(--c-on-night) !important;
}
body.ens-nativity .ens-btn:hover,
body.ens-nativity .single_add_to_cart_button:hover,
body.ens-nativity .ens-btn--primary:hover {
  background: #2c241d !important;
  color: var(--c-on-night) !important;
  box-shadow: none;
}
body.ens-nativity .ens-bundle.is-active {
  border-color: var(--c-ink) !important;
  background: #fffaf1 !important;
  box-shadow: inset 0 0 0 1px var(--c-ink);
}
body.ens-nativity .ens-bundle.is-active .ens-bundle__radio {
  border-color: var(--c-ink);
  background: var(--c-ink);
}
body.ens-nativity .ens-bundle__tag { background: var(--c-gold); color: var(--c-night); }
body.ens-nativity .ens-save-chip { background: var(--c-blush); color: var(--c-sienna); }
body.ens-nativity .ens-switch:checked { background: var(--c-pine) !important; }
body.ens-nativity .ens-story__cta {
  background: var(--c-night);
  color: var(--c-on-night);
}
body.ens-nativity .ens-trust .ens-ico,
body.ens-nativity .ens-ship-note .ens-ico,
body.ens-nativity .ens-assure__line .ens-ico,
body.ens-nativity .ens-pdp__eyebrow { color: var(--c-gold-ink); }
body.ens-nativity .ens-sticky__inner { background: rgba(255, 252, 247, .94); }


/* ==========================================================================
   1.3.3 — Variation block swatches (hide native selects; hide pack-qty attrs)
   ========================================================================== */
.ens-pack-attr-hidden,
table.variations tr.ens-pack-attr-hidden { display: none !important; }
/* Packs are quantity — hide imported Quantity/1 set variation rows (JS also collapses) */
.single-product.ens-has-volume form.variations_form table.variations tr:has(select[name="attribute_quantity"]),
.single-product.ens-has-volume form.variations_form table.variations tr:has(select[data-attribute_name="attribute_quantity"]),
.single-product.ens-has-volume form.variations_form table.variations tr:has(#quantity) {
  display: none !important;
}

.single-product form.variations_form.ens-has-swatches table.variations {
  margin: 0 0 6px !important;
  border: 0 !important;
  width: 100%;
}
.single-product form.variations_form.ens-has-swatches table.variations th.label {
  display: block;
  padding: 0 0 8px !important;
  font: 600 .8125rem/1.2 var(--f-sans) !important;
  color: var(--c-ink) !important;
  letter-spacing: .01em;
  text-align: left !important;
}
.single-product form.variations_form.ens-has-swatches table.variations th.label label {
  margin: 0 !important;
  font: inherit !important;
  color: inherit !important;
}
.single-product form.variations_form.ens-has-swatches table.variations td.value {
  display: block;
  padding: 0 0 14px !important;
}
.single-product form.variations_form.ens-has-swatches table.variations tr {
  display: block;
  border: 0 !important;
}
/* Visually hide native selects but keep them for WooCommerce */
.single-product form.variations_form.ens-has-swatches select.ens-native-attr,
.single-product form.variations_form.ens-has-swatches select[name^="attribute_"] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.single-product form.variations_form .ens-reset-variations,
.single-product.ens-has-swatches a.reset_variations {
  display: none !important;
}
.ens-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.ens-swatch {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  min-width: 72px;
  padding: 9px 16px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  border: 1px solid var(--c-line) !important;
  background: var(--c-surface) !important;
  color: var(--c-ink) !important;
  font: 500 .8125rem/1.2 var(--f-sans) !important;
  letter-spacing: -.005em;
  text-transform: none !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.ens-swatch:hover {
  border-color: var(--c-line-strong) !important;
  background: var(--c-mist) !important;
  color: var(--c-ink) !important;
  transform: none !important;
}
.ens-swatch.is-active {
  border-color: var(--c-ink) !important;
  background: var(--c-surface) !important;
  box-shadow: inset 0 0 0 1px var(--c-ink) !important;
  color: var(--c-ink) !important;
}
.ens-swatch:focus-visible {
  outline: 2px solid var(--c-gold);
  outline-offset: 2px;
}
body.ens-nativity .ens-swatch.is-active {
  border-color: var(--c-ink) !important;
  background: #fffaf1 !important;
  box-shadow: 0 0 0 3px rgba(29, 24, 20, .08) !important;
}


/* Single source of truth for PDP headline price (pack unit) */
.single-product.ens-has-volume .woocommerce-variation-price,
.single-product.ens-has-volume .woocommerce-variation .price {
  display: none !important;
}

/* Main price follows pack unit — ensure our wrapper matches buy-box type */
.single-product .entry-summary .price.ens-price {
  flex: 0 0 auto !important;
  margin-bottom: 16px !important;
  display: flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}
.single-product .entry-summary .price.ens-price ins {
  text-decoration: none !important;
  background: transparent !important;
}

/* ==========================================================================
   1.3.3 craft pass — homepage + PDP rhythm + checkout
   ========================================================================== */
.ens-promise--quiet .ens-promise__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 36px 0 0;
  border-top: 1px solid var(--c-line);
}
.ens-promise--quiet .ens-promise__list li {
  display: grid;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
.ens-promise--quiet .ens-promise__list .ens-ico { display: none; }
.ens-promise--quiet .ens-promise__list strong {
  font: 600 .9375rem/1.3 var(--f-sans);
  color: var(--c-ink);
}
.ens-promise--quiet .ens-promise__list span,
.ens-promise--quiet .ens-promise__list a {
  font: 400 .8125rem/1.5 var(--f-sans);
  color: var(--c-muted);
}
@media (max-width: 720px) {
  .ens-promise--quiet .ens-promise__list { grid-template-columns: 1fr; gap: 20px; }
}
.ens-hero__facts { display: none !important; }
.ens-section__head .ens-eyebrow { display: none; }

.single-product .entry-summary-items > .ens-pdp__eyebrow { margin-bottom: 8px !important; }
.single-product .entry-summary-items > .product_title { margin-bottom: 10px !important; }
.single-product .entry-summary-items > .price,
.single-product .entry-summary-items > .price.ens-price { margin-bottom: 6px !important; }
.single-product .entry-summary-items > .ens-save-chip { margin-bottom: 18px !important; }
.single-product .entry-summary-items > .ens-pdp__lede { margin-bottom: 22px !important; }
.single-product .entry-summary-items > .ens-bundles { margin-bottom: 12px !important; }
.single-product .entry-summary-items > .ct-product-add-to-cart { margin-top: 4px !important; margin-bottom: 4px !important; }
.single-product .entry-summary .ct-product-add-to-cart,
.single-product .entry-summary form.cart {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.single-product .single_variation_wrap {
  margin-top: 0 !important;
}
.single-product .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  width: 100%;
}
.single-product .entry-summary-items > .ens-after-cart { margin-bottom: 8px !important; }
.single-product .entry-summary-items > .ens-pay-quiet { margin-bottom: 8px !important; }
.single-product .entry-summary-items > .ens-protect { margin-bottom: 4px !important; }
.single-product .entry-summary-items > .ens-assure-line { margin-bottom: 20px !important; }
.single-product .entry-summary-items > .ens-acc { margin-top: 8px !important; }

.ens-drawer__foot .ens-protect {
  border-top: 1px solid var(--c-line);
  border-radius: 0;
  padding: 12px 0;
  background: transparent;
}


/* Primary nav — one clean row (duplicates stripped in PHP) */
#header [data-id="menu"] .menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px 22px;
}
#header [data-id="menu"] .menu > .menu-item > a.ct-menu-link {
  font: 500 .875rem/1.2 var(--f-sans) !important;
  letter-spacing: -.005em;
  color: var(--c-ink) !important;
  padding: 8px 0 !important;
}
#header [data-id="menu"] .menu > .menu-item > a.ct-menu-link:hover {
  color: var(--c-accent, #1877F2) !important;
}


/* ==========================================================================
   1.3.5 — MADE4USA craft density (facts row, tighter buy-box, photo frame)
   ========================================================================== */
.ens-pdp__eyebrow {
  margin: 0 0 8px !important;
  font: 600 .72rem/1.2 var(--f-sans) !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
  color: var(--c-muted) !important;
}
.ens-facts-row {
  list-style: none;
  margin: 4px 0 16px !important;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
}
.ens-facts-row li {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0;
  padding: 0;
  font: 500 .8125rem/1.25 var(--f-sans);
  color: var(--c-ink-2);
  letter-spacing: -.01em;
}
.ens-facts-row .ens-ico {
  color: var(--c-pine);
  flex: none;
}
.single-product .entry-summary-items > .ens-facts-row { margin-bottom: 14px !important; }
.single-product .entry-summary-items > .ens-pdp__eyebrow { margin-bottom: 6px !important; }
.single-product .entry-summary-items > .product_title { margin-bottom: 8px !important; }
.single-product .entry-summary-items > .price,
.single-product .entry-summary-items > .price.ens-price { margin-bottom: 4px !important; }
.single-product .entry-summary-items > .ens-save-chip { margin-bottom: 12px !important; }
.single-product .entry-summary-items > .ens-pdp__lede { margin-bottom: 12px !important; font-size: .9375rem; line-height: 1.55; }

/* Packs + swatches lock into one composed column */
.ens-bundles { margin: 2px 0 12px !important; }
.ens-bundles__legend { margin: 0 0 8px; font: 600 .78rem/1.2 var(--f-sans); letter-spacing: .02em; text-transform: uppercase; color: var(--c-muted); }
.ens-bundles__list { gap: 8px; }
.ens-bundle {
  min-height: 58px;
  padding: 12px 14px !important;
  border-radius: var(--r-btn) !important;
}
.ens-swatch {
  min-height: 40px;
  border-radius: var(--r-btn) !important;
  font: 600 .8125rem/1.2 var(--f-sans) !important;
}
.single-product form.variations_form.ens-has-swatches table.variations th.label {
  font: 600 .78rem/1.2 var(--f-sans) !important;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--c-muted) !important;
  padding: 0 0 6px !important;
}
.single-product form.variations_form.ens-has-swatches table.variations td.value {
  padding: 0 0 12px !important;
}

/* Photo frame: square main, tight thumbs, less WP chrome */
.single-product .woocommerce-product-gallery {
  background: transparent;
}
.single-product .woocommerce-product-gallery .flexy-view {
  border: 1px solid var(--c-line);
  background: #fff;
}
.single-product .woocommerce-product-gallery .flexy-pills li {
  box-shadow: 0 0 0 1px var(--c-line);
  opacity: .7;
}
.single-product .woocommerce-product-gallery .flexy-pills li.active,
.single-product .woocommerce-product-gallery .flexy-pills li:hover {
  opacity: 1;
  box-shadow: 0 0 0 1.5px var(--c-ink);
}
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  width: 36px !important; height: 36px !important;
  border-radius: 8px !important;
  box-shadow: 0 0 0 1px var(--c-line);
}

/* Header: quieter, one row */
.ens-announce { font: 500 .7rem/1 var(--f-sans); letter-spacing: .04em; text-transform: uppercase; }
.ens-announce__inner { padding: 7px var(--gutter); }
.electns-storefront #header .site-title,
.electns-storefront #header .site-title a {
  font: 800 1.2rem/1 var(--f-sans) !important;
  letter-spacing: -.03em !important;
}
#header [data-id="menu"] .menu > .menu-item > a.ct-menu-link {
  font: 600 .8125rem/1.2 var(--f-sans) !important;
  letter-spacing: -.01em;
}
.ens-header-cart__count { background: var(--c-ink); }

/* Sticky ATC inherits solid ink */
.ens-sticky__btn {
  background: var(--c-ink) !important;
  border-radius: var(--r-btn) !important;
  font-weight: 700 !important;
  min-height: 44px !important;
  box-shadow: none !important;
}

/* Story rows — match Plus Jakarta hierarchy */
.ens-story h2, .ens-story .ens-h2 {
  font-family: var(--f-sans) !important;
  letter-spacing: -.025em;
}
.ens-story p { color: var(--c-ink-2); line-height: 1.65; }

/* Home chrome consistency */
.ens-hero .ens-display { font-family: var(--f-sans) !important; letter-spacing: -.03em !important; }
.ens-hero__ctas .ens-btn { border-radius: var(--r-btn) !important; font-weight: 700 !important; }

body.ens-nativity .ens-facts-row .ens-ico { color: var(--c-pine); }
body.ens-nativity .ens-protect__icon { color: var(--c-pine); }
body.ens-nativity .single_add_to_cart_button,
body.ens-nativity .ens-sticky__btn {
  background: var(--c-ink) !important;
  box-shadow: none !important;
}


/* ==========================================================================


/* ==========================================================================
   1.3.8 — Shopify-style checkout (craft clone of MADE4USA one-page checkout)
   Colors/radius from Shopify checkout tokens: canvas white / summary #F5F5F5,
   border #DEDEDE, accent #005BD1, radius 8/12. Electns branding only.
   ========================================================================== */
body.ens-checkout {
  --sh-bg: #ffffff;
  --sh-sum: #f5f5f5;
  --sh-sum-2: #ededed;
  --sh-line: #dedede;
  --sh-line-2: #d6d6d6;
  --sh-ink: #000000;
  --sh-muted: #707070;
  --sh-accent: #005bd1;
  --sh-accent-hover: #004eb3;
  --sh-r: 8px;
  --sh-r-lg: 12px;
  --sh-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  background: var(--sh-bg) !important;
  color: var(--sh-ink);
  font-family: var(--sh-font) !important;
}
body.ens-checkout #main,
body.ens-checkout .site-main,
body.ens-checkout .ct-container-full,
body.ens-checkout main .ct-container-full {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
}
body.ens-checkout .entry-content,
body.ens-checkout .woocommerce,
body.ens-checkout article {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}
body.ens-checkout .hero-section,
body.ens-checkout .page-title { display: none !important; }

/* Brand */
body.ens-checkout .ens-co-brand {
  padding: 20px 0 8px;
  margin: 0;
}
body.ens-checkout .ens-co-brand__logo {
  font: 700 1.75rem/1.1 var(--sh-font) !important;
  color: var(--sh-ink) !important;
  text-decoration: none !important;
  letter-spacing: -.02em;
}

/* Mobile order-summary disclosure (Shopify pattern) */
body.ens-checkout .ens-co-osumm {
  display: none;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  margin: 0 0 8px;
  border: 0;
  border-top: 1px solid var(--sh-line);
  border-bottom: 1px solid var(--sh-line);
  background: var(--sh-sum);
  color: var(--sh-accent);
  font: 500 .9375rem/1.3 var(--sh-font);
  cursor: pointer;
  text-align: left;
}
body.ens-checkout .ens-co-osumm__toggle { display: inline-flex; align-items: center; gap: 6px; }
body.ens-checkout .ens-co-osumm__chev { transition: transform .15s; }
body.ens-checkout .ens-co-osumm[aria-expanded="true"] .ens-co-osumm__chev { transform: rotate(180deg); }
body.ens-checkout .ens-co-osumm__total {
  color: var(--sh-ink);
  font-weight: 600;
  font-size: 1.125rem;
}
body.ens-checkout .ens-co-osumm__total .woocommerce-Price-amount { font-weight: 600; }

/* Two-column shell */
body.ens-checkout form.checkout.woocommerce-checkout {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0;
  max-width: 1040px;
  margin: 0 auto !important;
  padding: 0 20px 48px !important;
  align-items: start;
}
body.ens-checkout form.checkout > .ct-customer-details {
  grid-column: 1;
  width: 100%;
  max-width: 560px;
}
body.ens-checkout form.checkout > .ct-order-review {
  grid-column: 1;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.ens-checkout .ens-co-brand,
body.ens-checkout .ens-co-osumm,
body.ens-checkout .ens-co-footer,
body.ens-checkout .woocommerce-form-login-toggle,
body.ens-checkout form.woocommerce-form-login,
body.ens-checkout .woocommerce-notices-wrapper {
  max-width: 560px;
}

@media (min-width: 1000px) {
  body.ens-checkout {
    background: linear-gradient(90deg, var(--sh-bg) 50%, var(--sh-sum) 50%) !important;
  }
  body.ens-checkout form.checkout.woocommerce-checkout {
    grid-template-columns: minmax(0, 560px) minmax(0, 380px);
    column-gap: 64px;
    max-width: 1100px;
    padding: 0 40px 64px !important;
    justify-content: center;
  }
  body.ens-checkout form.checkout > .ct-customer-details {
    grid-column: 1;
    grid-row: 1;
    max-width: 560px;
  }
  body.ens-checkout .ens-co-brand { padding-top: 28px; }
  body.ens-checkout .ens-co-osumm { display: none !important; }
  body.ens-checkout form.checkout > .ct-order-review {
    grid-column: 2;
    grid-row: 1 / span 2;
    position: sticky;
    top: 0;
    align-self: start;
    padding: 28px 0 48px !important;
    background: transparent !important;
    max-width: 380px;
  }
  body.ens-checkout .ens-co-brand,
  body.ens-checkout .ens-co-footer,
  body.ens-checkout .woocommerce-form-login-toggle,
  body.ens-checkout form.woocommerce-form-login,
  body.ens-checkout .woocommerce-notices-wrapper { max-width: none; }
}

/* Login line */
body.ens-checkout .woocommerce-form-login-toggle .woocommerce-info {
  background: transparent !important;
  border: 0 !important;
  padding: 4px 0 16px !important;
  margin: 0 !important;
  color: var(--sh-muted) !important;
  font: 400 .875rem/1.4 var(--sh-font) !important;
  box-shadow: none !important;
}
body.ens-checkout .woocommerce-form-login-toggle .woocommerce-info::before { display: none !important; }
body.ens-checkout .woocommerce-form-login-toggle a {
  color: var(--sh-accent) !important;
  text-decoration: none !important;
}
body.ens-checkout form.woocommerce-form-login {
  border: 1px solid var(--sh-line);
  border-radius: var(--sh-r-lg);
  padding: 16px;
  margin-bottom: 16px;
}

/* Section titles — Shopify h2 weight */
body.ens-checkout .ens-co-section__title,
body.ens-checkout .woocommerce-billing-fields > h3,
body.ens-checkout #order_review_heading,
body.ens-checkout .woocommerce-additional-fields > h3 {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  font: 600 1.1875rem/1.3 var(--sh-font) !important;
  letter-spacing: -.01em !important;
  color: var(--sh-ink) !important;
  text-transform: none !important;
}
body.ens-checkout .woocommerce-billing-fields > h3 { margin-top: 8px !important; }
body.ens-checkout .ens-co-section { margin-top: 28px; }
body.ens-checkout .woocommerce-additional-fields { display: none !important; } /* hide order notes for cleaner Shopify look — wait, Shopify sometimes has it. Keep but quiet. */
body.ens-checkout .woocommerce-additional-fields { display: block !important; margin-top: 20px; }
body.ens-checkout .woocommerce-additional-fields > h3:empty { display: none; }

/* Delivery subheading via first-name field marker */
body.ens-checkout #billing_email_field { margin-bottom: 28px !important; }
body.ens-checkout .ens-co-delivery-start { margin-top: 36px !important; position: relative; }
body.ens-checkout .ens-co-delivery-start::before {
  content: "Delivery";
  position: absolute;
  left: 0;
  top: -32px;
  font: 600 1.1875rem/1.3 var(--sh-font);
  letter-spacing: -.01em;
  color: var(--sh-ink);
}
body.ens-checkout form.checkout:has(#ship-to-different-address-checkbox:checked) .ens-co-delivery-start::before {
  content: "Billing address";
}
body.ens-checkout #ship-to-different-address {
  margin: 16px 0 12px !important;
  font: 500 .9375rem/1.4 var(--sh-font) !important;
}
body.ens-checkout #customer_details,
body.ens-checkout #customer_details.col2-set { display: block !important; width: 100% !important; }
body.ens-checkout #customer_details .col-1,
body.ens-checkout #customer_details .col-2 {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Field grid */
body.ens-checkout .woocommerce-billing-fields__field-wrapper,
body.ens-checkout .woocommerce-shipping-fields__field-wrapper {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
body.ens-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
body.ens-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
  grid-column: 1 / -1;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.ens-checkout #billing_first_name_field,
body.ens-checkout #shipping_first_name_field,
body.ens-checkout #billing_city_field,
body.ens-checkout #shipping_city_field,
body.ens-checkout #billing_postcode_field,
body.ens-checkout #shipping_postcode_field { grid-column: 1 !important; }
body.ens-checkout #billing_last_name_field,
body.ens-checkout #shipping_last_name_field,
body.ens-checkout #billing_state_field,
body.ens-checkout #shipping_state_field,
body.ens-checkout #billing_phone_field,
body.ens-checkout #shipping_phone_field { grid-column: 2 !important; }
body.ens-checkout #billing_state_field[style*="none"] ~ #billing_phone_field,
body.ens-checkout #shipping_state_field[style*="none"] ~ #shipping_phone_field { grid-column: 1 / -1 !important; }

body.ens-checkout .form-row label {
  display: block;
  margin: 0 0 6px !important;
  font: 400 .8125rem/1.3 var(--sh-font) !important;
  color: var(--sh-muted) !important;
}
body.ens-checkout .form-row label .required { color: #d72c0d !important; }
body.ens-checkout .form-row label .optional { color: var(--sh-muted); font-weight: 400; }
body.ens-checkout .form-row label.checkbox,
body.ens-checkout .form-row .woocommerce-form__label-for-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--sh-ink) !important;
  font-size: .875rem !important;
}
body.ens-checkout .form-row .input-text,
body.ens-checkout .form-row select,
body.ens-checkout .form-row textarea,
body.ens-checkout .select2-container .select2-selection--single {
  width: 100% !important;
  min-height: 48px !important;
  border: 1px solid var(--sh-line) !important;
  border-radius: var(--sh-r) !important;
  background: #fff !important;
  color: var(--sh-ink) !important;
  font: 400 1rem/1.3 var(--sh-font) !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
  transition: border-color .12s, box-shadow .12s;
}
body.ens-checkout .form-row textarea { min-height: 72px !important; }
body.ens-checkout .form-row .input-text:focus,
body.ens-checkout .form-row select:focus,
body.ens-checkout .form-row textarea:focus,
body.ens-checkout .select2-container--open .select2-selection--single,
body.ens-checkout .select2-container--focus .select2-selection--single {
  border-color: var(--sh-accent) !important;
  box-shadow: 0 0 0 1px var(--sh-accent) !important;
  outline: none !important;
}
body.ens-checkout .select2-container .select2-selection--single {
  display: flex !important;
  align-items: center;
  padding: 0 14px !important;
}
body.ens-checkout .select2-container .select2-selection__rendered {
  padding: 0 !important;
  line-height: 46px !important;
  color: var(--sh-ink) !important;
}
body.ens-checkout .select2-container .select2-selection__arrow { height: 46px !important; right: 8px !important; }
body.ens-checkout .form-row.woocommerce-invalid .input-text,
body.ens-checkout .form-row.woocommerce-invalid .select2-selection {
  border-color: #d72c0d !important;
}

/* Shipping method — Shopify radio cards */
body.ens-checkout .ens-co-ship__placeholder {
  margin: 0;
  padding: 16px;
  border: 1px solid var(--sh-line);
  border-radius: var(--sh-r-lg);
  background: #fafafa;
  color: var(--sh-muted);
  font: 400 .875rem/1.45 var(--sh-font);
}
body.ens-checkout #shipping_method.ens-co-ship__methods,
body.ens-checkout .ens-co-ship__methods {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--sh-line);
  border-radius: var(--sh-r-lg);
  overflow: hidden;
  background: #fff;
}
body.ens-checkout .ens-co-ship__methods li {
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sh-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  display: flex;
  align-items: center;
  gap: 12px;
}
body.ens-checkout .ens-co-ship__methods li:last-child { border-bottom: 0 !important; }
body.ens-checkout .ens-co-ship__methods li:has(input:checked) { background: #f0f5ff !important; }
body.ens-checkout .ens-co-ship__methods label {
  flex: 1;
  font: 400 .9375rem/1.4 var(--sh-font) !important;
  color: var(--sh-ink) !important;
  cursor: pointer;
}

/* Payment — Shopify box */
body.ens-checkout .ens-co-pay__note {
  margin: -6px 0 12px;
  font: 400 .8125rem/1.4 var(--sh-font);
  color: var(--sh-muted);
}
body.ens-checkout #payment {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.ens-checkout #payment ul.payment_methods {
  list-style: none;
  margin: 0 0 16px !important;
  padding: 0 !important;
  border: 1px solid var(--sh-line) !important;
  border-radius: var(--sh-r-lg) !important;
  background: #fff !important;
  overflow: hidden;
}
body.ens-checkout #payment ul.payment_methods > li {
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--sh-line) !important;
  background: #fff !important;
  font: 500 .9375rem/1.4 var(--sh-font) !important;
}
body.ens-checkout #payment ul.payment_methods > li:last-child { border-bottom: 0 !important; }
body.ens-checkout #payment ul.payment_methods > li:has(> input:checked) { background: #f0f5ff !important; }
body.ens-checkout #payment div.payment_box {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  margin: 8px 0 0 !important;
  padding: 0 0 0 28px !important;
  color: var(--sh-muted) !important;
  font: 400 .8125rem/1.45 var(--sh-font) !important;
}
body.ens-checkout #payment div.payment_box::before { display: none !important; }
body.ens-checkout #payment div.payment_box p { margin: 0 !important; }
body.ens-checkout .woocommerce-privacy-policy-text,
body.ens-checkout .woocommerce-privacy-policy-text p {
  font: 400 .75rem/1.5 var(--sh-font) !important;
  color: var(--sh-muted) !important;
  margin: 0 0 14px !important;
}
body.ens-checkout #payment .place-order { margin: 0 !important; padding: 0 !important; float: none !important; width: 100% !important; }
body.ens-checkout #place_order {
  display: block !important;
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: var(--sh-r) !important;
  background: var(--sh-accent) !important;
  color: #fff !important;
  font: 600 1rem/1 var(--sh-font) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  box-shadow: none !important;
  cursor: pointer;
}
body.ens-checkout #place_order:hover,
body.ens-checkout #place_order:focus-visible { background: var(--sh-accent-hover) !important; }
body.ens-checkout .ens-checkout-trust { margin-top: 14px; }
body.ens-checkout .ens-pay-row { justify-content: flex-start; gap: 6px; }

/* Right: order summary */
body.ens-checkout .ens-co-summary,
body.ens-checkout #order_review {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body.ens-checkout #order_review_heading {
  margin-bottom: 18px !important;
}
body.ens-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  border: 0 !important;
  margin: 0 0 8px !important;
}
body.ens-checkout .woocommerce-checkout-review-order-table thead { display: none; }
body.ens-checkout .woocommerce-checkout-review-order-table th,
body.ens-checkout .woocommerce-checkout-review-order-table td {
  border: 0 !important;
  background: transparent !important;
  padding: 10px 0 !important;
  font: 400 .9375rem/1.4 var(--sh-font) !important;
  color: var(--sh-ink) !important;
  vertical-align: middle;
}
body.ens-checkout .woocommerce-checkout-review-order-table td.product-total,
body.ens-checkout .woocommerce-checkout-review-order-table tfoot td {
  text-align: right;
  white-space: nowrap;
  padding-left: 12px !important;
}
body.ens-checkout .woocommerce-checkout-review-order-table tbody tr.cart_item td {
  padding: 12px 0 !important;
  vertical-align: top;
}
body.ens-checkout .ens-co-line {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: center;
}
body.ens-checkout .ens-co-thumb {
  position: relative;
  width: 64px;
  height: 64px;
  border: 1px solid var(--sh-line);
  border-radius: var(--sh-r);
  background: #fff;
  overflow: visible;
}
body.ens-checkout .ens-co-thumb__img,
body.ens-checkout .ens-co-thumb img {
  width: 64px !important;
  height: 64px !important;
  object-fit: cover;
  border-radius: calc(var(--sh-r) - 1px);
  display: block;
}
body.ens-checkout .ens-co-thumb__qty {
  position: absolute;
  top: -8px;
  right: -8px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: #666;
  color: #fff;
  font: 600 .6875rem/20px var(--sh-font);
  text-align: center;
  box-shadow: 0 0 0 2px var(--sh-sum);
}
body.ens-checkout .ens-co-line__title {
  display: block;
  font: 500 .875rem/1.35 var(--sh-font);
  color: var(--sh-ink);
}
body.ens-checkout .ens-co-line__var {
  display: block;
  margin-top: 2px;
  font: 400 .8125rem/1.35 var(--sh-font);
  color: var(--sh-muted);
}
body.ens-checkout .woocommerce-checkout-review-order-table tfoot th {
  font-weight: 400 !important;
  color: var(--sh-ink) !important;
}
body.ens-checkout .woocommerce-checkout-review-order-table .cart-subtotal td,
body.ens-checkout .woocommerce-checkout-review-order-table .fee td {
  font-variant-numeric: tabular-nums;
}
/* Shipping row in summary: show cost only (radios moved left) */
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping th,
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping .ct-shipping-heading {
  font: 400 .9375rem/1.4 var(--sh-font) !important;
  color: var(--sh-ink) !important;
}
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping .ct-shipping-heading { font-size: 0 !important; }
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping .ct-shipping-heading::before {
  content: "Shipping";
  font: 400 .9375rem/1.4 var(--sh-font);
  color: var(--sh-ink);
}
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping td {
  text-align: right;
}
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping #shipping_method {
  /* leftover empty ul after move — hide */
  display: none !important;
}
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping td::after {
  /* filled by JS optionally; fallback empty */
  content: none;
}
body.ens-checkout .woocommerce-checkout-review-order-table .order-total th,
body.ens-checkout .woocommerce-checkout-review-order-table .order-total td {
  border-top: 1px solid var(--sh-line) !important;
  padding-top: 18px !important;
  font: 500 1rem/1.3 var(--sh-font) !important;
}
body.ens-checkout .woocommerce-checkout-review-order-table .order-total td,
body.ens-checkout .woocommerce-checkout-review-order-table .order-total td strong,
body.ens-checkout .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-amount {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  letter-spacing: -.02em;
}

/* Footer links */
body.ens-checkout .ens-co-footer {
  margin-top: 28px;
  padding-top: 16px;
  border-top: 1px solid var(--sh-line);
}
body.ens-checkout .ens-co-footer__list {
  list-style: none;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
body.ens-checkout .ens-co-footer__list a {
  font: 400 .75rem/1.4 var(--sh-font) !important;
  color: var(--sh-accent) !important;
  text-decoration: none !important;
}
body.ens-checkout .ens-co-footer__list a:hover { text-decoration: underline !important; }

/* Mobile: summary collapsed at top of form area */
@media (max-width: 999px) {
  body.ens-checkout {
    background: var(--sh-bg) !important;
  }
  body.ens-checkout .ens-co-osumm {
    display: flex;
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px);
    padding-left: 20px;
    padding-right: 20px;
  }
  body.ens-checkout form.checkout > .ct-order-review {
    display: none;
    order: -1;
    background: var(--sh-sum) !important;
    margin: 0 -20px 16px !important;
    padding: 12px 20px 20px !important;
    width: calc(100% + 40px) !important;
  }
  body.ens-checkout.ens-co-summary-open form.checkout > .ct-order-review { display: block; }
  body.ens-checkout #order_review_heading { display: none; }
  body.ens-checkout .ens-co-thumb__qty { box-shadow: 0 0 0 2px var(--sh-sum); }
}

@media (max-width: 560px) {
  body.ens-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
  body.ens-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {
    grid-column: 1 / -1 !important;
  }
  body.ens-checkout #billing_first_name_field,
  body.ens-checkout #shipping_first_name_field { grid-column: 1 !important; }
  body.ens-checkout #billing_last_name_field,
  body.ens-checkout #shipping_last_name_field { grid-column: 2 !important; }
}
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping > td {
  display: flex !important;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  width: 100%;
}
body.ens-checkout .ens-co-ship-amt {
  margin-left: auto;
  font: 400 .9375rem/1.4 var(--sh-font);
  color: var(--sh-ink);
  white-space: nowrap;
}
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping #shipping_method:empty,
body.ens-checkout .woocommerce-checkout-review-order-table tr.shipping .ens-co-ship__methods { display: none !important; }
/* Hide leftover Shoppe/1.3.7 artifacts if any cached markup */
body.ens-checkout .ens-why,
body.ens-checkout .ens-co-steps { display: none !important; }

/* safety: never hide body via leftover attribute selectors */
body.ens-checkout { display: block !important; }

/* 1.3.8 polish: hide leftover store chrome; tighten login line under brand */
body.ens-checkout .ens-announce,
body.ens-checkout footer.ens-foot,
body.ens-checkout #footer.ct-footer { display: none !important; }
body.ens-checkout .woocommerce-form-login-toggle {
  order: 0;
  margin: 0 0 8px !important;
  max-width: 560px;
}
body.ens-checkout .woocommerce > .woocommerce-form-login-toggle {
  /* sits above form; visually tuck under brand via negative margin once brand paints */
}
body.ens-checkout .ens-co-brand + .ens-co-osumm + *,
body.ens-checkout .ens-co-brand { position: relative; }
/* Login as Shopify "Sign in" on the Contact row */
body.ens-checkout .woocommerce-billing-fields > h3 {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

body.ens-checkout .woocommerce-form-login-toggle, body.ens-checkout form.woocommerce-form-login { display: none !important; }


/* ==========================================================================
   1.3.9 — Shopify checkout “灵动感”: floating labels + micro-motion
   Keeps 1.3.8 structure; interaction DNA only.
   ========================================================================== */

/* Section rhythm — more air + thin dividers like Shopify */
body.ens-checkout .ens-co-section { margin-top: 36px; padding-top: 28px; border-top: 1px solid var(--sh-line); }
body.ens-checkout .ens-co-section:first-of-type { border-top: 0; padding-top: 0; }
body.ens-checkout .woocommerce-billing-fields > h3 { margin: 4px 0 18px !important; }
body.ens-checkout .ens-co-delivery-start { margin-top: 40px !important; }
body.ens-checkout .ens-co-delivery-start::before { top: -36px; }
body.ens-checkout #billing_email_field { margin-bottom: 8px !important; }
body.ens-checkout .woocommerce-additional-fields { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--sh-line); }
body.ens-checkout .woocommerce-account-fields,
body.ens-checkout #ship-to-different-address { margin-top: 14px !important; }

/* Sticky summary (desktop) */
@media (min-width: 1000px) {
  body.ens-checkout form.checkout > .ct-order-review {
    position: sticky !important;
    top: 24px !important;
    align-self: start;
  }
}

/* ---------- Floating labels ---------- */
body.ens-checkout .form-row.ens-co-float {
  position: relative;
}
body.ens-checkout .form-row.ens-co-float > label {
  position: absolute !important;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  padding: 0 2px;
  font: 400 .9375rem/1.2 var(--sh-font) !important;
  color: var(--sh-muted) !important;
  pointer-events: none;
  z-index: 2;
  transition: top .15s ease, transform .15s ease, font-size .15s ease, color .15s ease;
  max-width: calc(100% - 28px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  background: transparent;
}
/* Textarea label starts top-ish */
body.ens-checkout .form-row.ens-co-float:has(textarea) > label {
  top: 18px;
  transform: none;
}
body.ens-checkout .form-row.ens-co-float.ens-co-filled > label,
body.ens-checkout .form-row.ens-co-float:focus-within > label {
  top: 7px !important;
  transform: none !important;
  font-size: .75rem !important;
  line-height: 1.2 !important;
  color: var(--sh-muted) !important;
}
body.ens-checkout .form-row.ens-co-float:focus-within > label { color: var(--sh-accent) !important; }

/* Hide Woo's red * in floating state — keep aria; show via label text if needed */
body.ens-checkout .form-row.ens-co-float > label .required {
  color: #d72c0d !important;
  font-size: inherit;
}
body.ens-checkout .form-row.ens-co-float > label .optional { display: none; }

body.ens-checkout .form-row.ens-co-float .input-text,
body.ens-checkout .form-row.ens-co-float select,
body.ens-checkout .form-row.ens-co-float textarea,
body.ens-checkout .form-row.ens-co-float .select2-container .select2-selection--single {
  min-height: 52px !important;
  padding: 22px 14px 8px !important;
  border: 1px solid var(--sh-line) !important;
  border-radius: var(--sh-r) !important;
  font: 400 1rem/1.3 var(--sh-font) !important;
  transition: border-color .15s ease, box-shadow .15s ease !important;
  box-shadow: none !important;
}
body.ens-checkout .form-row.ens-co-float textarea {
  min-height: 88px !important;
  padding-top: 26px !important;
}
body.ens-checkout .form-row.ens-co-float .select2-container .select2-selection--single {
  display: flex !important;
  align-items: flex-end;
  padding: 18px 14px 8px !important;
  min-height: 52px !important;
}
body.ens-checkout .form-row.ens-co-float .select2-container .select2-selection__rendered {
  line-height: 1.3 !important;
  padding: 0 !important;
}
body.ens-checkout .form-row.ens-co-float .select2-container .select2-selection__arrow {
  height: 50px !important;
  top: 0 !important;
}

/* Shopify-tight focus: 1px border + 1px outer ring */
body.ens-checkout .form-row.ens-co-float .input-text:focus,
body.ens-checkout .form-row.ens-co-float select:focus,
body.ens-checkout .form-row.ens-co-float textarea:focus,
body.ens-checkout .form-row.ens-co-float .select2-container--open .select2-selection--single,
body.ens-checkout .form-row.ens-co-float .select2-container--focus .select2-selection--single,
body.ens-checkout .form-row .input-text:focus,
body.ens-checkout .form-row select:focus,
body.ens-checkout .form-row textarea:focus {
  border-color: var(--sh-accent) !important;
  box-shadow: 0 0 0 1px var(--sh-accent) !important;
  outline: none !important;
}

/* Checkbox rows: not floating */
body.ens-checkout .form-row.create-account,
body.ens-checkout .form-row-wide.create-account,
body.ens-checkout #ship-to-different-address,
body.ens-checkout .form-row .woocommerce-form__label-for-checkbox {
  position: static;
}
body.ens-checkout .form-row.create-account > label,
body.ens-checkout #ship-to-different-address label {
  position: static !important;
  transform: none !important;
  pointer-events: auto !important;
  font-size: .875rem !important;
  color: var(--sh-ink) !important;
  top: auto !important;
}

/* ---------- Apartment reveal ---------- */
body.ens-checkout .form-row.ens-co-apt-closed {
  display: none !important;
}
body.ens-checkout .form-row.ens-co-apt-open {
  display: block !important;
  animation: ensCoAptIn .2s ease;
}
@keyframes ensCoAptIn {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: none; }
}
body.ens-checkout .ens-co-apt-toggle { margin: 2px 0 4px !important; padding: 0 !important; grid-column: 1 / -1; }
body.ens-checkout .ens-co-apt-btn {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 4px 0;
  margin: 0;
  font: 500 .875rem/1.4 var(--sh-font);
  color: var(--sh-accent);
  cursor: pointer;
  text-align: left;
}
body.ens-checkout .ens-co-apt-btn:hover { text-decoration: underline; }

/* Put apt toggle + apt field in the address grid */
body.ens-checkout .woocommerce-billing-fields__field-wrapper,
body.ens-checkout .woocommerce-shipping-fields__field-wrapper {
  row-gap: 12px;
}

/* ---------- Shipping / payment radios ---------- */
body.ens-checkout .ens-co-ship__methods li,
body.ens-checkout #payment ul.payment_methods > li {
  transition: background-color .15s ease, border-color .15s ease;
  cursor: pointer;
}
body.ens-checkout .ens-co-ship__methods li:hover,
body.ens-checkout #payment ul.payment_methods > li:hover {
  background: #fafafa !important;
}
body.ens-checkout .ens-co-ship__methods li:has(input:checked),
body.ens-checkout #payment ul.payment_methods > li:has(> input:checked) {
  background: #f0f5ff !important;
  box-shadow: inset 0 0 0 1px var(--sh-accent);
}
body.ens-checkout .ens-co-ship__methods input[type=radio],
body.ens-checkout #payment ul.payment_methods input[type=radio] {
  accent-color: var(--sh-accent);
  width: 18px;
  height: 18px;
  margin-right: 4px;
}

/* ---------- Place order ---------- */
body.ens-checkout #place_order {
  transition: background-color .15s ease, transform .1s ease !important;
}
body.ens-checkout #place_order:hover { background: var(--sh-accent-hover) !important; }
body.ens-checkout #place_order:active { transform: scale(0.99); }

/* ---------- Thumbs ---------- */
body.ens-checkout .ens-co-thumb {
  transition: transform .15s ease, box-shadow .15s ease;
}
body.ens-checkout .ens-co-line:hover .ens-co-thumb {
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0,0,0,.06);
}

/* ---------- Mobile accordion (slide, not display jump) ---------- */
@media (max-width: 999px) {
  body.ens-checkout form.checkout > .ct-order-review {
    display: block !important;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin: 0 -20px !important;
    padding: 0 20px !important;
    width: calc(100% + 40px) !important;
    background: var(--sh-sum) !important;
    transition: max-height .22s ease, opacity .2s ease, padding .2s ease, margin .2s ease;
    pointer-events: none;
  }
  body.ens-checkout.ens-co-summary-open form.checkout > .ct-order-review {
    max-height: 1200px;
    opacity: 1;
    padding: 8px 20px 18px !important;
    margin: 0 -20px 12px !important;
    pointer-events: auto;
  }
  body.ens-checkout .ens-co-osumm__chev { transition: transform .2s ease; }
  body.ens-checkout .ens-co-osumm[aria-expanded="true"] .ens-co-osumm__chev { transform: rotate(180deg); }
}

/* 1.3.9 fix: real Delivery heading (no ::before overlap) */
body.ens-checkout .ens-co-delivery-start::before { content: none !important; display: none !important; }
body.ens-checkout .ens-co-delivery-title {
  margin: 28px 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  font: 600 1.1875rem/1.3 var(--sh-font) !important;
  letter-spacing: -.01em !important;
  color: var(--sh-ink) !important;
  grid-column: 1 / -1;
}
body.ens-checkout #billing_email_field { margin-bottom: 4px !important; }
/* Floating label: ensure empty state is optically centered in 52px field */
body.ens-checkout .form-row.ens-co-float:not(.ens-co-filled):not(:focus-within) > label {
  top: 50%;
  transform: translateY(-50%);
  font-size: .9375rem !important;
  color: #737373 !important;
}
body.ens-checkout .form-row.ens-co-float.ens-co-filled > label,
body.ens-checkout .form-row.ens-co-float:focus-within > label {
  top: 6px !important;
  transform: none !important;
  font-size: .6875rem !important;
  letter-spacing: .01em;
}


/* ==========================================================================
   1.4.0 — AMACTNS brand: wordmark in header / footer / checkout
   ========================================================================== */
.ens-brand-logo { display: block; width: auto; max-width: 100%; }
/* Header: theme-bundled wordmark replaces the site-title text (text kept for a11y/SEO) */
#header .site-branding .site-title a,
.ct-header .site-branding .site-title a {
  display: block;
  width: 148px;
  height: 27px;
  background: url("../brand/amactns-logo.png") left center / contain no-repeat;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
  white-space: nowrap;
}
@media (max-width: 689px) {
  #header .site-branding .site-title a,
  .ct-header .site-branding .site-title a { width: 124px; height: 22px; }
}
/* If a media-library custom logo renders, don't show the title text too */
.site-branding:has(.site-logo-container img) .site-title-container { display: none !important; }
.site-branding .site-logo-container img { max-height: 28px !important; width: auto !important; }
/* Footer (dark): white version of the same PNG */
.ens-foot__logo { line-height: 0; }
.ens-foot__logo-img { height: 26px; width: auto; filter: brightness(0) invert(1); }
/* Checkout */
body.ens-checkout .ens-co-brand__logo { display: inline-block; line-height: 0; }
body.ens-checkout .ens-co-brand__img { height: 30px; width: auto; }
@media (max-width: 999px) { body.ens-checkout .ens-co-brand__img { height: 26px; } }
