/* EC Halloween Promo 1.2.0: offer-first popup (15% OFF hero, free gift line, coupon ticket), cart bars, gift row, perk lines,
   account-rule prompts. Palette: ink, paper, gold only (plus transparencies of those and white/black). */

/* ---------- Popup ---------- */
.ec-hp{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:24px;font-family:var(--ec-font-body,'Inter',system-ui,-apple-system,sans-serif);-webkit-font-smoothing:antialiased}
.ec-hp[hidden]{display:none !important}
.ec-hp__backdrop{position:absolute;inset:0;background:rgba(10,10,10,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .22s ease}
.ec-hp.is-open .ec-hp__backdrop{opacity:1}
.ec-hp__panel{position:relative;isolation:isolate;width:100%;max-width:560px;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;background:#0A0A0A;color:#FAFAF8;border-radius:22px;padding:0 36px 22px;text-align:center;outline:none;
  box-shadow:0 0 0 1px rgba(201,169,97,.45),0 30px 80px rgba(0,0,0,.55),0 0 70px rgba(201,169,97,.22);
  opacity:0;transform:translateY(14px) scale(.985);transition:opacity .24s ease,transform .24s ease}
.ec-hp.is-open .ec-hp__panel{opacity:1;transform:none}
.ec-hp__close{position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#FAFAF8;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;opacity:.75;transition:opacity .15s,background .15s}
.ec-hp__close:hover,.ec-hp__close:focus-visible{opacity:1;background:rgba(250,250,248,.08);outline:none}
.ec-hp__close:focus-visible{box-shadow:0 0 0 2px #C9A961}
.ec-hp__close svg{width:18px;height:18px}

/* 1. Art band: cobweb in the real top-left corner, moon and bats across the top, about 60% of the old height */
.ec-hp__art{color:#C9A961;margin:0 -36px 4px;filter:drop-shadow(0 0 10px rgba(201,169,97,.35))}
.ec-hp__art svg{display:block;width:100%;height:auto}

/* 2. Eyebrow pill */
.ec-hp__eyebrow{margin:0 0 14px}
.ec-hp__pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 6px;border:1px solid #C9A961;border-radius:999px;font-family:var(--ec-font-body,'Inter',sans-serif);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;line-height:1.2;color:#C9A961;white-space:nowrap}
.ec-hp__pill-dot{opacity:.7}

/* 3. Hero offer: the biggest thing on the page, with a soft gold glow behind it and a one-time shimmer sweep.
   The glow spans exactly the panel width (panel padding on each side) so the scrolling panel never gains a sideways scroll. */
.ec-hp__hero{position:relative;z-index:0;margin:0 0 16px;padding:0;font-family:var(--ec-font-display,'Plus Jakarta Sans','Inter',sans-serif);font-size:92px;font-weight:800;line-height:.92;letter-spacing:-.045em;color:#FAFAF8}
.ec-hp__hero::before{content:"";position:absolute;left:-36px;right:-36px;top:50%;height:290%;transform:translateY(-50%);border-radius:50%;pointer-events:none;z-index:-1;
  background:radial-gradient(closest-side,rgba(201,169,97,.17),rgba(201,169,97,.07) 50%,rgba(201,169,97,0) 100%)}
.ec-hp__hero-main{display:block;white-space:nowrap}
.ec-hp__hero-num,.ec-hp__hero-off{display:inline-block;padding:.08em .03em;margin:-.08em -.03em;background-repeat:no-repeat;background-size:260% 100%,100% 100%;background-position:200% 0,0 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ec-hp__hero-num{color:#FAFAF8;background-image:linear-gradient(105deg,rgba(201,169,97,0) 0%,rgba(201,169,97,0) 45%,rgba(201,169,97,.95) 50%,rgba(201,169,97,0) 55%,rgba(201,169,97,0) 100%),linear-gradient(#FAFAF8,#FAFAF8)}
.ec-hp__hero-off{color:#C9A961;background-image:linear-gradient(105deg,rgba(250,250,248,0) 0%,rgba(250,250,248,0) 45%,rgba(250,250,248,.9) 50%,rgba(250,250,248,0) 55%,rgba(250,250,248,0) 100%),linear-gradient(#C9A961,#C9A961)}
.ec-hp.is-open .ec-hp__hero-num{animation:ec-hp-shimmer .75s cubic-bezier(.4,0,.2,1) .45s 1 both}
.ec-hp.is-open .ec-hp__hero-off{animation:ec-hp-shimmer .75s cubic-bezier(.4,0,.2,1) .8s 1 both}
@keyframes ec-hp-shimmer{from{background-position:200% 0,0 0}to{background-position:-100% 0,0 0}}
.ec-hp__hero-sub{display:block;margin-top:8px;font-family:var(--ec-font-body,'Inter',sans-serif);font-size:20px;font-weight:500;line-height:1.3;letter-spacing:-.01em;color:#FAFAF8}

/* 4. Plus line: circled plus between two short gold rules, then the free gift and its "worth" chip */
.ec-hp__plus{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 12px;color:#C9A961}
.ec-hp__plus-rule{width:64px;height:1px;background:rgba(201,169,97,.6)}
.ec-hp__plus-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #C9A961;border-radius:50%;box-sizing:border-box;color:#C9A961}
.ec-hp__plus-icon svg{width:14px;height:14px;display:block}
.ec-hp__perk{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;margin:0 0 6px;font-family:var(--ec-font-display,'Plus Jakarta Sans','Inter',sans-serif);font-size:22px;font-weight:600;line-height:1.25;letter-spacing:-.015em;color:#FAFAF8}
.ec-hp__chip{display:inline-flex;align-items:center;padding:4px 9px 3px;border-radius:999px;background:#C9A961;color:#0A0A0A;font-family:var(--ec-font-body,'Inter',sans-serif);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.2;white-space:nowrap}
.ec-hp__perk-sub{margin:0 0 18px;font-size:14px;line-height:1.4;color:rgba(250,250,248,.6)}

/* 5. Coupon ticket: the whole thing is one button (click, Enter or Space copies the code) */
.ec-hp__ticket{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin:0 0 10px;padding:12px 14px 12px 18px;box-sizing:border-box;border:2px dashed #C9A961;border-radius:14px;background:rgba(250,250,248,.04);color:#FAFAF8;text-align:left;cursor:pointer;font:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;-webkit-appearance:none;appearance:none;transition:background .15s,box-shadow .15s}
.ec-hp__ticket:hover{background:rgba(250,250,248,.07)}
.ec-hp__ticket:focus-visible{outline:none;box-shadow:0 0 0 2px #0A0A0A,0 0 0 4px #C9A961}
.ec-hp__ticket.is-copied{background:rgba(201,169,97,.1)}
.ec-hp__ticket-main{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
.ec-hp__ticket-label{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;line-height:1.2;color:rgba(250,250,248,.55)}
.ec-hp__ticket-code{font-family:var(--ec-font-display,'Plus Jakarta Sans','Inter',sans-serif);font-size:28px;font-weight:700;letter-spacing:.12em;line-height:1.1;color:#C9A961;white-space:nowrap}
.ec-hp__ticket-copy{display:inline-flex;align-items:center;gap:6px;flex:none;padding:8px 12px;border:1px solid rgba(201,169,97,.5);border-radius:999px;color:#C9A961;font-family:var(--ec-font-body,'Inter',sans-serif);font-size:13px;font-weight:700;letter-spacing:.02em;line-height:1;transition:background .15s,border-color .15s}
.ec-hp__ticket:hover .ec-hp__ticket-copy{background:rgba(201,169,97,.14);border-color:#C9A961}
.ec-hp__ticket.is-copied .ec-hp__ticket-copy{background:#C9A961;border-color:#C9A961;color:#0A0A0A}
.ec-hp__ticket-copy svg{width:16px;height:16px;flex:none;display:block}
.ec-hp__ticket-copy .ec-hp__ico-check{display:none}
.ec-hp__ticket.is-copied .ec-hp__ico-copy{display:none}
.ec-hp__ticket.is-copied .ec-hp__ico-check{display:block}
.ec-hp__note{margin:0 0 16px;font-size:13px;line-height:1.45;color:rgba(250,250,248,.6)}
.ec-hp__note[hidden],.ec-hp__signin[hidden]{display:none !important}
.ec-hp__code{color:#C9A961;font-weight:700;letter-spacing:.06em}

/* 6. CTAs */
.ec-hp__btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;padding:0 22px;box-sizing:border-box;border-radius:999px;font-family:var(--ec-font-display,'Plus Jakarta Sans','Inter',sans-serif);font-size:16px;font-weight:700;letter-spacing:-.01em;line-height:1;text-decoration:none;cursor:pointer;border:1.5px solid transparent;transition:transform .15s,box-shadow .15s,background .15s}
/* Scoped under .ec-hp: the theme's body.ec-v6 a{color:inherit} would otherwise win over a single class */
.ec-hp .ec-hp__btn--gold{background:#C9A961;color:#0A0A0A;border-color:#C9A961;box-shadow:0 10px 32px rgba(201,169,97,.3)}
.ec-hp .ec-hp__btn--gold:hover,.ec-hp .ec-hp__btn--gold:focus-visible{background:#C9A961;color:#0A0A0A;transform:translateY(-1px);box-shadow:0 14px 36px rgba(201,169,97,.35);outline:none;text-decoration:none}
.ec-hp .ec-hp__btn:focus-visible{box-shadow:0 0 0 2px #0A0A0A,0 0 0 4px #C9A961,0 10px 32px rgba(201,169,97,.3)}
.ec-hp__btn svg{width:18px;height:18px;flex:none;transition:transform .15s}
.ec-hp__btn:hover svg{transform:translateX(2px)}
.ec-hp__signin{margin:12px 0 0;font-size:14px;line-height:1.4;color:rgba(250,250,248,.8)}
.ec-hp .ec-hp__signin a{color:#C9A961;font-weight:600;text-decoration:underline;text-underline-offset:3px;border-radius:4px}
.ec-hp .ec-hp__signin a:hover,.ec-hp .ec-hp__signin a:focus-visible{color:#FAFAF8;outline:none}
.ec-hp .ec-hp__signin a:focus-visible{box-shadow:0 0 0 2px #C9A961}
.ec-hp__dismiss{display:inline-block;background:none;border:0;padding:6px 10px;margin:6px 0 0;color:rgba(250,250,248,.6);font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;border-radius:6px;letter-spacing:normal;text-transform:none;box-shadow:none}
.ec-hp__dismiss:hover,.ec-hp__dismiss:focus-visible{color:#FAFAF8;outline:none;background:none}
.ec-hp__dismiss:focus-visible{box-shadow:0 0 0 2px #C9A961}
.ec-hp__foot{margin:8px 0 0;font-size:11px;letter-spacing:.04em;color:rgba(250,250,248,.45)}
.ec-hp__live,.ec-hp__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.ec-hp-open,html.ec-hp-open body{overflow:hidden}

/* Short desktop viewports: trim the art and the hero so the panel never needs to scroll */
@media (min-width:640px) and (max-height:780px){
  .ec-hp__art{margin-bottom:0}
  .ec-hp__art svg{height:80px}
  .ec-hp__hero{font-size:84px}
  .ec-hp__hero-sub{margin-top:6px}
  .ec-hp__perk-sub{margin-bottom:14px}
  .ec-hp__note{margin-bottom:14px}
}
@media (min-width:640px) and (max-height:700px){
  .ec-hp__art svg{height:64px}
  .ec-hp__hero{font-size:72px}
  .ec-hp__hero-sub{font-size:18px}
  .ec-hp__eyebrow{margin-bottom:10px}
  .ec-hp__btn{height:52px}
}

/* Mobile: bottom sheet, 16px gutters, everything scaled so a 375x812 phone shows it without scrolling */
@media (max-width:639px){
  .ec-hp{align-items:flex-end;padding:0 16px 16px}
  .ec-hp__panel{max-width:none;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);border-radius:20px;padding:0 20px 16px}
  .ec-hp__art{margin:0 -20px 2px}
  .ec-hp__close{top:10px;right:10px}
  .ec-hp__eyebrow{margin-bottom:12px}
  .ec-hp__hero{font-size:64px;margin-bottom:14px}
  .ec-hp__hero::before{left:-20px;right:-20px}
  .ec-hp__hero-sub{margin-top:6px}
  .ec-hp__plus{margin-bottom:10px}
  .ec-hp__plus-rule{width:48px}
  .ec-hp__perk{font-size:19px;gap:4px 8px}
  .ec-hp__perk-sub{margin-bottom:14px}
  .ec-hp__ticket{padding:11px 12px 11px 16px;gap:10px}
  .ec-hp__ticket-code{font-size:24px}
  .ec-hp__ticket-copy{padding:8px 11px}
  .ec-hp__note{margin-bottom:14px}
  .ec-hp__signin{margin-top:10px}
  .ec-hp__dismiss{margin-top:2px}
  .ec-hp__foot{margin-top:6px}
  .ec-hp.is-open .ec-hp__panel{transform:none}
}
/* Very short phones (for example 375x667): shrink the art and the hero a notch more */
@media (max-width:639px) and (max-height:700px){
  .ec-hp__art svg{height:44px}
  .ec-hp__hero{font-size:56px;margin-bottom:10px}
  .ec-hp__hero-sub{font-size:18px;margin-top:4px}
  .ec-hp__perk{font-size:18px}
  .ec-hp__perk-sub{margin-bottom:10px}
  .ec-hp__note{margin-bottom:10px}
  .ec-hp__btn{height:52px}
}
@media (prefers-reduced-motion:reduce){
  .ec-hp__backdrop,.ec-hp__panel,.ec-hp__btn,.ec-hp__btn svg,.ec-hp__close,.ec-hp__ticket,.ec-hp__ticket-copy{transition:none !important}
  .ec-hp__panel{transform:none}
  .ec-hp.is-open .ec-hp__hero-num,.ec-hp.is-open .ec-hp__hero-off{animation:none !important}
}

/* ---------- Gold bar (side cart, checkout, cart block) ---------- */
.ec-hp-bar{display:flex;gap:10px;align-items:flex-start;background:#C9A961;color:#0A0A0A;border-radius:12px;padding:10px 14px;margin:0 0 12px;font-family:var(--ec-font-body,'Inter',sans-serif);font-size:13px;line-height:1.45;box-sizing:border-box}
.ec-hp-bar__icon{flex:none;width:18px;height:18px;margin-top:1px;color:#0A0A0A}
.ec-hp-bar__text{flex:1;min-width:0}
.ec-hp-bar strong{font-weight:700;color:#0A0A0A}
.ec-hp-bar a{color:#0A0A0A;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.ec-hp-bar a:hover{color:#0A0A0A;text-decoration:none}
html body.ec-v6 .xoo-wsc-modal .ec-hp-bar{margin:0 0 14px !important;color:#0A0A0A !important;background:#C9A961 !important;font-size:13px !important}
html body.ec-v6 .xoo-wsc-modal .ec-hp-bar a{color:#0A0A0A !important}
.ec-hp-bar--cartblock{margin:0 0 18px}

/* ---------- Gift row (side cart): no delete, no stepper ---------- */
.xoo-wsc-product:has(.ec-hp-gift-flag) .xoo-wsc-smr-del,
.xoo-wsc-product:has(.ec-hp-gift-flag) .xoo-wsc-qty-box,
html body.ec-v6 .xoo-wsc-modal .xoo-wsc-product:has(.ec-hp-gift-flag) .xoo-wsc-smr-del,
html body.ec-v6 .xoo-wsc-modal .xoo-wsc-product:has(.ec-hp-gift-flag) .xoo-wsc-qty-box,
html body.ec-v6 .xoo-wsc-modal .xoo-wsc-product:has(.ec-hp-gift-flag) .xoo-wsc-psavings{display:none !important}
html body.ec-v6 .xoo-wsc-modal .ec-hp-badge{display:inline-block !important;background:#0A0A0A !important;color:#C9A961 !important;padding:2px 8px !important;border-radius:999px !important;font-size:10px !important;font-weight:700 !important;letter-spacing:.08em !important;text-transform:uppercase !important;margin-left:6px !important;vertical-align:middle !important;line-height:1.6 !important;white-space:nowrap !important}
html body.ec-v6 .xoo-wsc-modal .ec-hp-free{color:#C9A961 !important;font-weight:700 !important}

/* ---------- WooCommerce notice link ---------- */
.ec-hp-notice-link{display:inline-block;margin-left:8px;padding:6px 14px;border-radius:999px;background:#0A0A0A;color:#C9A961 !important;font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:none !important;vertical-align:middle;line-height:1.4}
.ec-hp-notice-link:hover{color:#FAFAF8 !important}

/* ---------- Checkout perks card line ---------- */
body.ec-v6 .v6-co-form .v6-co-acct__perks li.ec-hp-perk span strong{color:#0A0A0A}
body.ec-v6 .v6-co-form .v6-co-acct__perks li.ec-hp-perk .ec-hp-perk__tag{display:inline-block;margin-right:6px;padding:2px 7px;border-radius:999px;background:#0A0A0A;color:#C9A961;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;line-height:1.5}

/* ---------- Sign-in modal perk line ---------- */
.ec-hp-ecam-perk{margin:10px 0 0;padding:9px 12px;border:1px solid rgba(201,169,97,.55);border-radius:10px;background:#F7F5F0;color:#0A0A0A;font-family:var(--ec-font-body,'Inter',sans-serif);font-size:12.5px;line-height:1.45;text-align:left}
.ec-hp-ecam-perk strong{color:#0A0A0A;font-weight:700}
.ec-hp-ecam-perk .ec-hp-perk__tag{display:inline-block;margin-right:6px;padding:2px 7px;border-radius:999px;background:#0A0A0A;color:#C9A961;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;line-height:1.5}

/* ---------- Account rule: guest rejection and checkout note in the gold-bar style ---------- */
/* Cart block: the Store API notice banner carries the plain text; promo.js adds the class and the pill */
.wc-block-components-notice-banner.ec-hp-guest-notice{background:#C9A961 !important;color:#0A0A0A !important;border:0 !important;border-radius:12px !important;box-shadow:none !important;padding:12px 14px !important}
.wc-block-components-notice-banner.ec-hp-guest-notice > svg{fill:#0A0A0A !important;background:transparent !important}
.wc-block-components-notice-banner.ec-hp-guest-notice .wc-block-components-notice-banner__content{color:#0A0A0A !important;font-size:13.5px !important;line-height:1.5 !important}
.wc-block-components-notice-banner.ec-hp-guest-notice .wc-block-components-notice-banner__dismiss{color:#0A0A0A !important}
.wc-block-components-notice-banner.ec-hp-guest-notice .ec-hp-notice-link{display:inline-block;margin:8px 8px 0 0}
/* Checkout discount row: the theme's proxy message (text only); promo.js adds the class and the pill */
body.ec-v6 .v6-co-coupon__msg.ec-hp-guest-notice{display:block;margin:10px 0 0;padding:10px 14px;border-radius:12px;background:#C9A961;color:#0A0A0A;font-weight:500;font-size:13px;line-height:1.5;text-align:left}
body.ec-v6 .v6-co-coupon__msg.ec-hp-guest-notice .ec-hp-notice-link{display:inline-block;margin:8px 0 0}
/* Classic notices (checkout top, side cart refresh): the pill is already in the markup, add the gold accent */
body.ec-v6.woocommerce-checkout .woocommerce-error:has(.ec-hp-guest){border-left-color:#C9A961}
body.ec-v6.woocommerce-checkout .woocommerce-error li.ec-hp-guest-notice{color:#0A0A0A}
.xoo-wsc-notices li.ec-hp-guest-notice,.xoo-wsc-notices li:has(.ec-hp-guest){background:#C9A961 !important;color:#0A0A0A !important;border-color:#C9A961 !important}
.xoo-wsc-notices li.ec-hp-guest-notice .ec-hp-notice-link{display:inline-block;margin:6px 0 0}
/* Note under the checkout account card (tick: code on; untick: code and gift off) */
body.ec-v6 .v6-co-form .ec-hp-co-note{margin:12px 0 0}
/* Cart block: the rejected code is an inline validation error under the field (WooCommerce 11) */
.wc-block-components-validation-error.ec-hp-guest-notice{margin:10px 0 4px;padding:10px 14px;border-radius:12px;background:#C9A961;color:#0A0A0A}
.wc-block-components-validation-error.ec-hp-guest-notice p{color:#0A0A0A !important;font-size:13px;line-height:1.5;display:block}
.wc-block-components-validation-error.ec-hp-guest-notice p > svg{fill:#0A0A0A !important;float:left;margin:0 8px 0 0}
.wc-block-components-validation-error.ec-hp-guest-notice .ec-hp-notice-link{display:inline-block;margin:8px 0 0}
