/* ============================================================
   Glow Tween – January Preorder / Prelaunch
   ============================================================ */
.glow-wrap,.glow-modal,.glow-pop,.glow-announce{
	--g-navy:#1e5a9c;--g-blue:#3d84cf;--g-sky:#7eb4e0;--g-soft:#eaf3fb;--g-ink:#2a3b4d;
	--g-cloud:#f6fafe;--g-line:#dde9f4;--g-radius:18px;
	font-family:inherit
}

/* Snowflake background helper */
.glow-snowbg{
	background-image:radial-gradient(circle at 12% 20%, rgba(125,180,224,.12) 0 6px, transparent 7px),
		radial-gradient(circle at 82% 30%, rgba(125,180,224,.10) 0 5px, transparent 6px),
		radial-gradient(circle at 30% 78%, rgba(125,180,224,.10) 0 4px, transparent 5px),
		radial-gradient(circle at 68% 82%, rgba(125,180,224,.12) 0 6px, transparent 7px)
}

/* ---------- Layout ---------- */
/* Force the prelaunch page content full-width & centered (kill Astra sidebar float/width) */
.glow-prelaunch-shop #primary,
.glow-prelaunch-shop #content .ast-container,
.glow-prelaunch-shop .site-content > .ast-container,
.glow-prelaunch-shop .content-area{width:100% !important;max-width:100% !important;flex:0 0 100% !important;float:none !important;margin:0 !important;padding:0 !important}
.glow-prelaunch-shop #secondary,
.glow-prelaunch-shop .widget-area{display:none !important}
.glow-prelaunch-shop #content .ast-container{display:block !important;max-width:100% !important}
/* Our <main> is the single flex child of Astra's .ast-container — make it fill the row */
.glow-shop-main{background:linear-gradient(180deg,#eaf3fb 0%,#ffffff 60%);flex:1 1 100% !important;width:100% !important;max-width:100% !important;margin:0 !important}
.glow-wrap{max-width:1180px;margin-left:auto !important;margin-right:auto !important;padding:48px 20px 60px}

/* ---------- Hero ---------- */
.glow-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;align-items:center;
	background:#fff;border:1px solid var(--g-line);border-radius:26px;padding:34px;
	box-shadow:0 24px 60px rgba(30,90,156,.12)}
@media(max-width:820px){.glow-hero{grid-template-columns:1fr;gap:26px;padding:22px}}
.glow-hero__media{position:relative;border-radius:20px;overflow:hidden;background:linear-gradient(160deg,#eaf3fb,#d5e6f6)}
.glow-hero__media img{width:100%;height:auto;display:block}
.glow-badge{position:absolute;top:16px;left:16px;z-index:2;background:linear-gradient(135deg,#1e5a9c,#3d84cf);color:#fff;
	font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border-radius:999px;
	box-shadow:0 8px 18px rgba(30,90,156,.35)}
.glow-eyebrow{margin:0 0 8px;color:var(--g-blue);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:13px}
.glow-h1{margin:0 0 14px;color:var(--g-navy);font-size:38px;line-height:1.12;font-weight:800}
@media(max-width:820px){.glow-h1{font-size:28px}}
.glow-lead{margin:0 0 22px;color:#4a5b6e;font-size:17px;line-height:1.6}
.glow-includes-title{margin:0 0 12px;font-weight:800;color:var(--g-navy);font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.glow-checklist{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
@media(max-width:520px){.glow-checklist{grid-template-columns:1fr}}
.glow-checklist li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--g-ink);line-height:1.4}
.glow-check{flex:none;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
	background:linear-gradient(135deg,#7eb4e0,#3d84cf);color:#fff;font-size:13px;font-weight:800;margin-top:1px}
.glow-members-only{margin:0 0 22px;color:var(--g-blue);font-weight:700;font-style:italic}
.glow-cta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.glow-cta-row--center{justify-content:center;margin-top:24px}
.glow-price-note{color:#6b7d90;font-weight:600;font-size:15px}

/* ---------- January section ---------- */
.glow-jan{margin-top:42px;background:linear-gradient(180deg,#1e5a9c,#2b6bb3);color:#eaf3fb;border-radius:26px;padding:44px;position:relative;overflow:hidden;text-align:center}
.glow-jan::before,.glow-jan::after{content:"❄";position:absolute;color:rgba(255,255,255,.14);font-size:120px;line-height:1}
.glow-jan::before{top:-18px;left:8px}
.glow-jan::after{bottom:-30px;right:14px;font-size:150px}
.glow-h2{margin:0 0 18px;color:#fff;font-size:30px;font-weight:800;position:relative}
@media(max-width:820px){.glow-jan{padding:26px}.glow-h2{font-size:24px}}
.glow-jan p{position:relative;max-width:760px;margin:0 auto 14px;font-size:16px;line-height:1.7;color:#dbe9f7}
.glow-jan__tag{font-weight:700;color:#fff !important}
.glow-jan__note{font-style:italic;color:#bcd6f0 !important}
.glow-jan__included{margin:16px auto 0;font-weight:600;font-size:15px;color:#dbe9f8 !important}
.glow-spark{color:#ffe27a}

/* ---------- Shop section (other products) ---------- */
.glow-shop{margin-top:52px}
.glow-h2--shop{text-align:center;color:var(--g-navy);margin:0 0 8px}
.glow-shop__grid{margin-top:26px}
.glow-shop .woocommerce.columns-3 ul.products,.glow-shop ul.products{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:26px !important;margin:0 !important;padding:0 !important;list-style:none}
@media(max-width:900px){.glow-shop .woocommerce.columns-3 ul.products,.glow-shop ul.products{grid-template-columns:repeat(2,1fr) !important}}
@media(max-width:560px){.glow-shop .woocommerce.columns-3 ul.products,.glow-shop ul.products{grid-template-columns:1fr !important}}
.glow-shop ul.products li.product{width:auto !important;margin:0 !important;float:none !important;background:#fff;border:1px solid var(--g-line);border-radius:16px;overflow:hidden;padding:16px !important;box-shadow:0 4px 14px rgba(30,90,156,.08);transition:transform .18s,box-shadow .18s;text-align:center}
.glow-shop ul.products li.product:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(30,90,156,.16)}
.glow-shop ul.products li.product img{border-radius:10px;margin-bottom:12px}
.glow-shop ul.products li.product .woocommerce-loop-product__title{font-size:16px;font-weight:700;color:var(--g-navy);padding:2px 0}
.glow-shop ul.products li.product .price{color:#4a5b6e;font-weight:700}
.glow-shop ul.products li.product .button,.glow-shop ul.products li.product a.add_to_cart_button{
	display:inline-block;margin-top:12px;background:linear-gradient(135deg,#3d84cf,#1e5a9c) !important;color:#fff !important;
	border:0 !important;border-radius:999px !important;padding:11px 22px !important;font-weight:700 !important;text-decoration:none !important}
.glow-shop ul.products li.product .button:hover{filter:brightness(1.08)}

/* ---------- Featured product highlight (any grid, site-wide) ---------- */
ul.products li.product.glow-featured{position:relative;border:2px solid #3d84cf !important;border-radius:16px !important;
	box-shadow:0 16px 38px rgba(30,90,156,.22) !important;background:linear-gradient(180deg,#f4f9ff,#ffffff) !important;
	transform:translateY(-4px);z-index:2}
ul.products li.product.glow-featured:hover{transform:translateY(-8px)}
ul.products li.product.glow-featured .glow-ribbon{position:absolute;top:14px;left:14px;z-index:5;
	background:linear-gradient(135deg,#ffce54,#ff9f43);color:#3a2a00;font-weight:800;font-size:11px;letter-spacing:.06em;
	text-transform:uppercase;padding:6px 12px;border-radius:999px;box-shadow:0 6px 14px rgba(255,159,67,.4)}
.glow-ribbon{display:none} /* only shown inside .glow-featured cards */
ul.products li.product.glow-featured .glow-ribbon{display:inline-block}

/* ---------- Solid header on WooCommerce pages (match regular pages; no transparent overlap) ---------- */
body.woocommerce-cart .elementor-location-header,
body.woocommerce-checkout .elementor-location-header,
body.single-product .elementor-location-header,
/* Our Story (670) — client asked for the same solid header as Membership etc. */
body.page-id-670 .elementor-location-header{
	background:#ffffff !important;
	box-shadow:0 3px 16px rgba(30,90,156,.10) !important;
	position:relative !important;z-index:99 !important
}
/* Hide the entire hero-banner section (title + "VISIT OUR SHOP" + parallax image) on cart/checkout.
   It's the first top-level Elementor container of the page content. */
body.woocommerce-cart .elementor-motion-effects-parent > .elementor-element:first-child,
body.woocommerce-checkout .elementor-motion-effects-parent > .elementor-element:first-child,
body.single-product .elementor-motion-effects-parent > .elementor-element:first-child,
body.woocommerce-cart .site-content .elementor-motion-effects-container,
body.woocommerce-checkout .site-content .elementor-motion-effects-container{display:none !important}

/* Fix footer widgets where Elementor's per-widget CSS doesn't load on single-product:
   (a) oversized icon-list icons (700px SVGs) and (b) stray default list bullets. */
.elementor-location-footer .elementor-widget-icon-list{--e-icon-list-icon-size:12px !important}
.elementor-location-footer .elementor-icon-list-icon{width:auto !important;min-width:0 !important}
.elementor-location-footer .elementor-icon-list-icon svg,
.elementor-location-footer .elementor-icon-list-icon img{width:12px !important;height:auto !important;max-width:14px !important;max-height:16px !important}
.elementor-location-footer ul,
.elementor-location-footer .elementor-icon-list-items{list-style:none !important;margin:0 !important;padding:0 !important}
.elementor-location-footer li,
.elementor-location-footer .elementor-icon-list-item{list-style:none !important;list-style-type:none !important}
.elementor-location-footer .elementor-icon-list-item::before,
.elementor-location-footer li::marker{content:none !important}

/* ---------- Modern Cart & Checkout ---------- */
/* Soft on-brand backdrop so the white panels read as elegant cards, not bare boxes. */
body.woocommerce-cart #content,body.woocommerce-checkout #content,
body.woocommerce-cart .site-content,body.woocommerce-checkout .site-content{
	background:radial-gradient(1200px 480px at 15% -8%,rgba(247,183,210,.30),transparent 60%),
		radial-gradient(1100px 520px at 100% 8%,rgba(126,180,224,.26),transparent 55%),
		linear-gradient(180deg,#fdf3f8 0%,#eef5fc 46%,#ffffff 100%) !important}
body.woocommerce-cart .ast-container,body.woocommerce-checkout .ast-container,
body.woocommerce-cart .entry-content,body.woocommerce-checkout .entry-content{padding-top:14px;padding-bottom:56px}
body.woocommerce-cart .entry-content,body.woocommerce-checkout .entry-content,
.woocommerce-cart .glow-woo-wrap,.woocommerce-checkout .glow-woo-wrap{max-width:1200px;margin:0 auto}
/* Page title / cart+checkout intro heading */
body.woocommerce-cart .entry-title,body.woocommerce-checkout .entry-title,
.woocommerce-cart .woocommerce > h1,.woocommerce-checkout .woocommerce > h1{
	text-align:center;color:#1e5a9c !important;font-weight:900 !important;letter-spacing:-.01em;margin-bottom:6px}

/* Layout gap between the item panel and the summary */
.woocommerce-cart .woocommerce{display:block}
.woocommerce .cart-collaterals{margin-top:6px}

/* Item / totals / form cards */
.woocommerce-cart table.cart,.woocommerce table.shop_table{position:relative;border:1px solid #eef1f7 !important;border-radius:20px !important;
	overflow:hidden;border-collapse:separate !important;border-spacing:0;background:#fff;box-shadow:0 18px 44px rgba(30,90,156,.10),0 2px 6px rgba(30,90,156,.05)}
.woocommerce table.shop_table thead th{background:linear-gradient(180deg,#fbf1f6,#f3f8ff) !important;color:#1e5a9c !important;font-weight:800 !important;
	text-transform:uppercase;letter-spacing:.05em;font-size:12px;padding:18px 20px !important;border:0 !important;border-bottom:1px solid #eef1f7 !important}
.woocommerce table.shop_table td{padding:18px 20px !important;border-top:1px solid #f1f4f9 !important;vertical-align:middle;font-size:15px}
.woocommerce table.shop_table tbody tr:first-child td{border-top:0 !important}
.woocommerce table.cart img{border-radius:12px;box-shadow:0 4px 12px rgba(30,90,156,.12);max-width:78px}
.woocommerce table.cart td.product-name a{color:#22364a;font-weight:700;text-decoration:none}
.woocommerce table.cart td.product-name a:hover{color:#1e5a9c}
.woocommerce a.remove{color:#dc2f5b !important;border:1px solid #f4cdda;background:#fff !important;font-weight:700;line-height:22px;
	width:24px;height:24px;border-radius:50%;transition:background .15s,color .15s}
.woocommerce a.remove:hover{background:#dc2f5b !important;color:#fff !important}
/* Quantity stepper */
.woocommerce .quantity input.qty{border:1px solid #d7e2ef !important;border-radius:10px !important;padding:9px 6px !important;
	background:#fff;font-weight:700;color:#22364a;box-shadow:inset 0 1px 3px rgba(30,90,156,.06)}
/* Coupon row */
.woocommerce .cart .coupon input#coupon_code{border:1px solid #d7e2ef !important;border-radius:12px !important;padding:12px 14px !important;
	background:linear-gradient(180deg,#fff,#f6faff);min-width:180px}

/* Summary card (cart totals / checkout order review) */
.woocommerce .cart_totals,.woocommerce-checkout #order_review,.woocommerce-checkout .woocommerce-checkout-review-order{
	background:#fff !important;border:1px solid #eef1f7 !important;border-radius:20px !important;padding:8px 26px 26px !important;
	box-shadow:0 18px 44px rgba(30,90,156,.10),0 2px 6px rgba(30,90,156,.05);overflow:hidden}
.woocommerce .cart_totals{position:relative}
.woocommerce .cart_totals::before,.woocommerce-checkout #order_review::before{content:"";display:block;height:6px;margin:0 -26px 20px;
	background:linear-gradient(90deg,#f7b7d2,#7eb4e0,#3d84cf)}
.woocommerce .cart_totals h2,.woocommerce-checkout #order_review_heading{color:#1e5a9c !important;font-weight:900 !important;
	font-size:20px !important;margin:0 0 4px !important;padding:0 !important;border:0 !important}
.woocommerce .cart_totals table,.woocommerce-checkout .shop_table{border:0 !important;box-shadow:none !important;border-radius:0 !important;background:transparent !important}
.woocommerce .cart_totals table th,.woocommerce .cart_totals table td,
.woocommerce-checkout .shop_table th,.woocommerce-checkout .shop_table td{border:0 !important;border-bottom:1px solid #f0f3f8 !important;padding:14px 4px !important;background:transparent !important}
.woocommerce .cart_totals tr.order-total th,.woocommerce .cart_totals tr.order-total td,
.woocommerce-checkout tr.order-total th,.woocommerce-checkout tr.order-total td{border-bottom:0 !important;padding-top:16px !important}
.woocommerce .cart_totals tr.order-total .amount,.woocommerce-checkout tr.order-total .amount{color:#1e5a9c;font-size:22px;font-weight:900}

/* Checkout billing / shipping cards */
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields{background:#fff;border:1px solid #eef1f7;border-radius:20px;padding:24px 26px;
	box-shadow:0 12px 30px rgba(30,90,156,.08)}
.woocommerce-checkout h3{color:#1e5a9c !important;font-weight:900 !important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce-checkout input.input-text,.woocommerce #order_comments{
	border:1px solid #d7e2ef !important;border-radius:12px !important;padding:14px 15px !important;
	background:linear-gradient(180deg,#fff,#f6faff) !important;box-shadow:inset 0 2px 4px rgba(30,90,156,.06) !important;font-size:15px}
.woocommerce form .form-row input.input-text:focus,.woocommerce-checkout input.input-text:focus,.woocommerce form .form-row textarea:focus{
	border-color:#3d84cf !important;box-shadow:0 0 0 4px rgba(61,132,207,.15) !important;outline:none}
.woocommerce #payment,.woocommerce-checkout #payment{background:linear-gradient(180deg,#fbf3f8,#f4f9ff) !important;border-radius:16px !important;border:1px solid #eef1f7}
.woocommerce #payment ul.payment_methods{border-bottom:1px dashed #dbe6f2 !important}
.woocommerce #payment div.payment_box{background:#fff !important;border-radius:12px !important;box-shadow:inset 0 1px 6px rgba(30,90,156,.06)}
.woocommerce #payment div.payment_box::before{border-bottom-color:#fff !important}

/* Buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #place_order,
.woocommerce .cart .button,.woocommerce a.checkout-button{
	background:linear-gradient(135deg,#3d84cf,#1e5a9c) !important;color:#fff !important;border:0 !important;
	border-radius:999px !important;padding:15px 30px !important;font-weight:800 !important;text-transform:none !important;font-size:15px !important;
	box-shadow:0 10px 22px rgba(30,90,156,.32) !important;transition:transform .12s,filter .15s,box-shadow .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce #place_order:hover,.woocommerce a.checkout-button:hover{transform:translateY(-2px);filter:brightness(1.06);box-shadow:0 14px 28px rgba(30,90,156,.4);color:#fff !important}
.woocommerce a.checkout-button,.woocommerce #place_order{width:100%;text-align:center;font-size:17px !important;padding:17px 30px !important;
	background:linear-gradient(135deg,#f48fc0,#3d84cf 62%,#1e5a9c) !important;box-shadow:0 14px 30px rgba(224,120,170,.32) !important}
/* Coupon apply = softer secondary look so the main CTA leads */
.woocommerce .cart .coupon button.button{background:linear-gradient(135deg,#f7b7d2,#ef86b6) !important;box-shadow:0 8px 18px rgba(224,120,170,.3) !important}
/* Empty-cart "Return to shop" panel */
.woocommerce .cart-empty,.woocommerce .return-to-shop{text-align:center}
.woocommerce .wc-empty-cart-message,.woocommerce .cart-empty{font-size:18px;color:#5a6b7e;margin-bottom:18px}

/* ---------- Buttons ---------- */
.glow-btn,button.glow-btn{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:0;
	font-weight:800;font-size:15px;letter-spacing:.03em;text-transform:none;padding:16px 30px;border-radius:999px;
	text-decoration:none !important;line-height:1.1;transition:transform .12s ease,box-shadow .2s ease,filter .15s ease}
.glow-btn--primary,button.glow-btn--primary{
	background:linear-gradient(135deg,#3d84cf 0%,#1e5a9c 100%) !important;color:#fff !important;
	box-shadow:0 12px 26px rgba(30,90,156,.4), inset 0 1px 0 rgba(255,255,255,.3)}
.glow-btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(30,90,156,.5);color:#fff !important}
.glow-btn--primary:active{transform:translateY(0)}
.glow-jan .glow-btn--primary{background:#fff !important;color:#1e5a9c !important;box-shadow:0 12px 26px rgba(0,0,0,.22)}

/* ---------- Enrollment gate (single product page) ----------
   Literal colours, not the --g-* tokens: those are scoped to .glow-wrap/.glow-modal
   /.glow-pop/.glow-announce and this block renders outside all of them. */
.glow-gate{margin:24px 0 0;padding:24px;border:1px solid #f0d3e2;border-radius:18px;
	background:linear-gradient(180deg,#fff 0%,#fdf3f8 100%)}
.glow-gate__text{margin:0 0 18px;color:#2a3b4d;font-size:15px;line-height:1.7}
.glow-gate__fine{margin:14px 0 0;color:#7b8a99;font-size:13px;font-style:italic}
/* Enrollment closed: hide the plan dropdown so the reserve notice is the only
   call to action. Purchase is already blocked server-side — this is just so the
   page reads as "not open yet" rather than "something is broken". */
body.glow-enrollment-closed form.variations_form,
body.glow-enrollment-closed .woocommerce-variation-add-to-cart{display:none !important}

/* ---------- Marketing consent checkbox (waitlist form) ---------- */
.glow-consent{display:flex;align-items:flex-start;gap:10px;margin:14px 0 0;cursor:pointer}
.glow-consent input{margin:2px 0 0;flex:none;width:16px;height:16px;accent-color:#1e5a9c;cursor:pointer}
.glow-consent span{font-size:13.5px;line-height:1.5;color:#5c6b7a}

/* ---------- Announcement bar ---------- */
.glow-announce{position:relative;z-index:100;background:linear-gradient(90deg,#1e5a9c,#3d84cf);color:#fff;display:flex;align-items:center;min-height:56px}
.glow-announce.is-hidden{display:none}
.glow-announce__inner{flex:1;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:nowrap;padding:8px 60px 8px 24px}
.glow-announce__text{font-weight:700;font-size:14.5px;line-height:1.35;margin:0}
.glow-announce__cta,button.glow-announce__cta{
	flex:none;background:#fff !important;color:#1e5a9c !important;border:0 !important;
	border-radius:999px !important;padding:9px 20px !important;margin:0 !important;
	font-weight:800 !important;font-size:12.5px !important;letter-spacing:.03em !important;line-height:1.1 !important;
	text-transform:uppercase !important;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.16) !important;
	min-height:0 !important;width:auto !important;cursor:pointer;transition:transform .12s}
.glow-announce__cta:hover{transform:translateY(-1px);color:#1e5a9c !important}
.glow-announce__x,button.glow-announce__x{
	position:absolute;right:16px;top:50%;transform:translateY(-50%);
	width:30px !important;height:30px !important;min-width:0 !important;min-height:0 !important;padding:0 !important;margin:0 !important;
	display:flex !important;align-items:center;justify-content:center;
	background:rgba(255,255,255,.18) !important;border:0 !important;border-radius:50% !important;
	color:#fff !important;font-size:18px !important;font-weight:400 !important;line-height:1 !important;
	text-transform:none !important;box-shadow:none !important;cursor:pointer;opacity:.9;transition:background .15s,opacity .15s}
.glow-announce__x:hover{opacity:1;background:rgba(255,255,255,.32) !important;color:#fff !important}
@media(max-width:640px){.glow-announce__inner{flex-wrap:wrap;gap:8px;padding:8px 48px}.glow-announce__text{font-size:13px;width:100%;text-align:center}}

/* ---------- Waitlist modal ---------- */
body.glow-modal-open{overflow:hidden}
.glow-modal,.glow-pop{position:fixed;inset:0;z-index:100000;display:none}
.glow-modal.is-open,.glow-pop.is-open{display:block}
.glow-modal__overlay,.glow-pop__overlay{position:absolute;inset:0;background:rgba(15,40,70,.66);backdrop-filter:blur(2px)}
.glow-modal__dialog{position:relative;max-width:560px;width:calc(100% - 32px);margin:6vh auto;background:#fff;border-radius:var(--g-radius);
	padding:38px 34px 30px;box-shadow:0 40px 90px rgba(0,0,0,.4);overflow:hidden}
.glow-modal__dialog::before{content:"";position:absolute;inset:0 0 auto 0;height:8px;background:linear-gradient(90deg,#7eb4e0,#1e5a9c)}
.glow-snow{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 90% 12%, rgba(125,180,224,.18) 0 7px, transparent 8px),radial-gradient(circle at 8% 88%, rgba(125,180,224,.16) 0 6px, transparent 7px)}
.glow-modal__close,.glow-pop__close{position:absolute;top:12px;right:12px;z-index:3;width:40px;height:40px;display:flex;align-items:center;justify-content:center;
	border:1px solid var(--g-line) !important;border-radius:50% !important;background:#f1f5fb !important;color:#5b6b82 !important;font-size:20px;cursor:pointer;padding:0 !important;transition:transform .2s,background .15s,color .15s}
.glow-modal__close:hover,.glow-pop__close:hover{background:#1e5a9c !important;color:#fff !important;transform:rotate(90deg)}
.glow-modal__title{margin:0 0 8px;color:var(--g-navy);font-size:26px;font-weight:800;position:relative}
.glow-modal__sub{margin:0 0 22px;color:#5a6b7e;font-size:15px;line-height:1.6;position:relative}
.glow-form{position:relative}
.glow-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:520px){.glow-form__row{grid-template-columns:1fr}}
.glow-fld{display:block;margin-bottom:16px}
.glow-fld>span{display:block;font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#5a6b7e;margin-bottom:7px}
.glow-fld input,.glow-fld select,.glow-fld input.glow-fld,.glow-fld select.glow-fld{width:100% !important;padding:14px 15px !important;border:1px solid #cfdcea !important;border-radius:12px !important;font-size:15px !important;color:#233b52 !important;
	background:linear-gradient(180deg,#fff,#f3f8fd);box-shadow:inset 0 2px 5px rgba(30,90,156,.08);transition:border-color .2s,box-shadow .2s,transform .1s;-webkit-appearance:none;appearance:none;outline:none}
/* Select: force readable value text + a custom chevron (native arrow is removed) */
.glow-fld select,.glow-fld select.glow-fld{
	color:#233b52 !important;height:auto !important;min-height:52px !important;line-height:1.4 !important;
	padding:14px 44px 14px 15px !important;text-transform:none !important;font-weight:600 !important;text-indent:0;
	background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231e5a9c' stroke-width='2.4'><path d='M6 9l6 6 6-6'/></svg>"),linear-gradient(180deg,#fff,#f3f8fd) !important;
	background-repeat:no-repeat,no-repeat !important;background-position:right 15px center,center !important;background-size:16px,auto !important}
.glow-fld select option{color:#233b52;background:#fff}
.glow-fld input:focus,.glow-fld select:focus{border-color:var(--g-blue) !important;background-color:#fff;transform:translateY(-1px);box-shadow:0 0 0 4px rgba(61,132,207,.16)}
.glow-fld input.glow-invalid{border-color:#e0517a;background:#fdf1f5}
.glow-form__submit{width:100%;margin-top:6px}
.glow-form__msg{min-height:1px;margin:2px 0 12px;font-size:14px}
.glow-form__msg.is-error{color:#dc2f5b}
.glow-form__msg.is-success{color:#1f9d57;font-weight:700}
.glow-form__fine{margin:12px 0 0;text-align:center;font-size:12.5px;color:#8a99a8}

/* ---------- Launch popup ---------- */
.glow-pop__dialog{position:relative;max-width:760px;width:calc(100% - 32px);margin:8vh auto;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.42)}
.glow-pop__grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
@media(max-width:640px){.glow-pop__grid{grid-template-columns:1fr}}
/* Show the WHOLE box image, centered on the soft-blue backdrop (no cropping) */
.glow-pop__media{position:relative;display:flex;align-items:center;justify-content:center;
	background:linear-gradient(160deg,#eaf3fb,#cfe2f5);padding:26px}
.glow-pop__media img{width:auto;height:auto;max-width:100%;max-height:360px;object-fit:contain;display:block;
	border-radius:14px;box-shadow:0 14px 30px rgba(30,90,156,.22)}
@media(max-width:640px){.glow-pop__media{padding:22px}.glow-pop__media img{max-height:240px}}
.glow-badge--pop{top:16px;left:16px}
.glow-pop__body{padding:34px 30px;text-align:left}
.glow-pop__body h2{margin:6px 0 12px;color:var(--g-navy);font-size:26px;font-weight:800;line-height:1.2}
.glow-pop__body p{margin:0 0 20px;color:#556879;font-size:15.5px;line-height:1.6}
.glow-pop__body .glow-btn{width:100%}
.glow-pop__later{display:block;width:100%;margin-top:12px;background:none;border:0;color:#8a99a8;font-size:13.5px;cursor:pointer;text-decoration:underline}

/* ---------- Header cart button alignment ----------
   The Elementor Menu-Cart toggle rendered as a large pink blob (icon 22px inside
   28px 44px padding = 78px tall) that overflowed the nav row and sat ~30px too low
   next to "JOIN NOW". Force a compact 46x46 circle, vertically centred with the nav. */
.elementor-location-header .elementor-widget-woocommerce-menu-cart{
	align-self:center !important;padding-top:0 !important;padding-bottom:0 !important;
	display:flex !important;align-items:center !important}
.elementor-location-header .elementor-widget-woocommerce-menu-cart > .elementor-widget-container,
.elementor-location-header .elementor-menu-cart__wrapper,
.elementor-location-header .elementor-menu-cart__toggle_wrapper,
.elementor-location-header .elementor-menu-cart__toggle{
	display:flex !important;align-items:center !important;height:auto !important;line-height:normal !important}
.elementor-location-header a#elementor-menu-cart__toggle_button.elementor-button,
.elementor-location-header a#elementor-menu-cart__toggle_button.elementor-button.elementor-size-sm{
	width:46px !important;height:46px !important;min-width:0 !important;min-height:0 !important;
	padding:0 !important;margin:0 !important;border-radius:50% !important;
	display:flex !important;align-items:center !important;justify-content:center !important;line-height:1 !important}
/* keep the icon crisp and the count badge tucked to the corner */
.elementor-location-header #elementor-menu-cart__toggle_button .elementor-button-icon{margin:0 !important}
.elementor-location-header #elementor-menu-cart__toggle_button .elementor-button-text{display:none !important}
/* The header's right group is a column-flex, so the cart lands ~9px below the
   "JOIN NOW" pill. Lift it to the same optical centre (desktop only — the tablet/
   mobile header is a separate template and must stay untouched). margin (not
   transform) so the mini-cart dropdown's positioning is unaffected. */
@media(min-width:1025px){
	.elementor-location-header .elementor-widget-woocommerce-menu-cart{margin-top:-9px !important}
}

/* ---------- Checkout refinements ---------- */
/* The order summary is short and the customer column is long, so the right side
   emptied out into a large void. Sticky keeps the total and the pay button in
   view the whole way down instead. */
/* ONLY the card sticks. Making the heading sticky too put "Your order" at 96px
   and the card at 132px — 36px apart, but the heading needs ~44px, so the
   heading sat on top of the card's PRODUCT/SUBTOTAL row. The heading scrolling
   away is fine; the card is what needs to stay in view. */
@media (min-width:1025px){
	.woocommerce-checkout #order_review{position:sticky;top:100px;z-index:2}
}
/* Coupon toggle: it was a bare full-width strip fighting the cards around it. */
.woocommerce-checkout .woocommerce-form-coupon-toggle{max-width:1200px;margin:0 auto 18px}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
	background:linear-gradient(180deg,#fff,#f7fbff) !important;border:1px dashed #d7e2ef !important;
	border-radius:14px !important;color:#5c6b7a !important;font-size:14px;padding:14px 18px !important;
	box-shadow:none !important;margin:0 !important}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{display:none !important}
.woocommerce-checkout .woocommerce-form-coupon-toggle a{color:#1e5a9c !important;font-weight:800}
.woocommerce-checkout form.checkout_coupon{border:1px solid #eef1f7 !important;border-radius:18px !important;
	background:#fff !important;padding:22px 24px !important;box-shadow:0 12px 30px rgba(30,90,156,.08)}

/* Card rhythm: consistent spacing between the stacked panels. */
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields{margin-bottom:22px}
.woocommerce-checkout #customer_details .woocommerce-additional-fields:last-child{margin-bottom:0}
/* Section headings get a small brand rule so they read as titles, not bold text. */
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading{position:relative;padding-bottom:12px !important;margin-bottom:20px !important;
	font-size:22px !important;letter-spacing:-.01em}
.woocommerce-checkout #customer_details h3::after,
.woocommerce-checkout #order_review_heading::after{content:"";position:absolute;left:0;bottom:0;width:44px;height:3px;
	border-radius:3px;background:linear-gradient(90deg,#f7b7d2,#3d84cf)}
/* "Ship to a different address?" was floating unanchored between two cards. */
.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address{padding-bottom:0 !important;margin-bottom:0 !important;font-size:16px !important}
.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address::after{display:none}
.woocommerce-checkout .woocommerce-shipping-fields h3 label{font-weight:700 !important;color:#3a4a5c !important;font-size:15px}
/* Required marks: red asterisks everywhere read as errors. */
.woocommerce-checkout .required{color:#c0819f !important;border:0 !important;text-decoration:none !important}
.woocommerce form .form-row label{font-weight:700;color:#3a4a5c;font-size:13px;margin-bottom:6px;display:block}

/* Payment block */
.woocommerce-checkout #payment{padding:6px 20px 20px !important;margin-top:8px}
.woocommerce-checkout #payment .wc_payment_methods{padding:0 !important;margin:0 !important}
.woocommerce-checkout #payment .place-order{padding:18px 0 0 !important;margin:0 !important}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text{font-size:12.5px;line-height:1.55;color:#7a8896}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin-bottom:4px}

/* Order summary line items: give the product row room to breathe. */
.woocommerce-checkout .shop_table .product-name{font-weight:700;color:#22364a;line-height:1.45}
.woocommerce-checkout .shop_table .product-name .variation{font-size:12.5px;color:#7a8896;margin:4px 0 0}
.woocommerce-checkout .shop_table tfoot th{color:#5c6b7a !important;font-weight:700 !important}

/* ---------- Order received (receipt below the welcome panel) ---------- */
.woocommerce-order .woocommerce-order-overview{list-style:none;display:flex;flex-wrap:wrap;gap:10px;
	margin:0 0 30px !important;padding:0 !important;border:0 !important}
.woocommerce-order .woocommerce-order-overview li{flex:1 1 150px;margin:0 !important;padding:15px 18px !important;
	border:1px solid #eef1f7 !important;border-radius:14px;background:#fff;
	box-shadow:0 6px 16px rgba(30,90,156,.06);text-transform:none !important;
	font-size:11px !important;font-weight:800;letter-spacing:.07em;color:#8a99a8 !important;
	display:flex;flex-direction:column;gap:5px}
.woocommerce-order .woocommerce-order-overview li strong{font-size:15px;font-weight:800;color:#22364a;letter-spacing:normal;text-transform:none}
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title{color:#1e5a9c !important;font-weight:900 !important;font-size:20px !important}
.woocommerce-order .woocommerce-customer-details .woocommerce-column{background:#fff;border:1px solid #eef1f7;
	border-radius:18px;padding:22px 24px;box-shadow:0 12px 30px rgba(30,90,156,.08)}
.woocommerce-order .woocommerce-customer-details address{border:0 !important;padding:0 !important;border-radius:0 !important;
	font-style:normal;line-height:1.7;color:#4f6070}

@media (max-width:992px){
	.woocommerce-checkout #customer_details h3,
	.woocommerce-checkout #order_review_heading{font-size:19px !important}
	.woocommerce-order .woocommerce-order-overview li{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:space-between}
}

/* ---------- Order received: heading corrections ---------- */
/* Astra draws a bordered block around these titles, which read as empty boxes
   sitting on top of the address cards. */
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title,
.woocommerce-order .woocommerce-columns--addresses .woocommerce-column__title{
	border:0 !important;background:transparent !important;padding:0 0 12px !important;margin:0 0 14px !important;
	position:relative}
.woocommerce-order .woocommerce-column__title::after{content:"";position:absolute;left:0;bottom:0;width:34px;height:3px;
	border-radius:3px;background:linear-gradient(90deg,#f7b7d2,#3d84cf)}
/* The details table sat in its own bordered wrapper on top of the styled table. */
.woocommerce-order .woocommerce-order-details{border:0 !important;background:transparent !important;padding:0 !important}
.woocommerce-order .woocommerce-customer-details{margin-top:26px}
/* Trim the dead space between the last card and the footer. */
.woocommerce-order-received .entry-content{padding-bottom:40px !important}

/* ---------- Checkout width & nested-card cleanup ---------- */
/* THE PAGE IS BUILT IN ELEMENTOR. Checkout (53) and Cart (52) render inside an
   Elementor boxed container which already declares --content-width:1400px and
   already handles its own responsive padding (30px ≤1024, 15px ≤767). Our old
   `.entry-content{max-width:1200px}` was overriding that and producing the
   narrow "boxed" look; overriding it again with a bigger number just fought
   Elementor from the other side and broke its responsive padding.
   So: take the cap OFF and let the Elementor container govern the width. */
body.woocommerce-cart .entry-content,body.woocommerce-checkout .entry-content,
.woocommerce-cart .glow-woo-wrap,.woocommerce-checkout .glow-woo-wrap{
	max-width:none !important;margin-left:auto;margin-right:auto}
/* Keep the coupon bar in line with the form it belongs to. */
.woocommerce-checkout .woocommerce-form-coupon-toggle{max-width:none !important;margin:0 auto 18px}

/* col-1 / col-2 were cards AND so were the field groups inside them, which
   produced a card inside a card and left an empty strip where the outer one
   ran on past its content. The field groups are the real cards. */
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2{
	background:transparent !important;border:0 !important;box-shadow:none !important;
	padding:0 !important;border-radius:0 !important}
/* "Ship to a different address?" now gets a card of its own instead of floating. */
.woocommerce-checkout #customer_details .woocommerce-shipping-fields{
	background:#fff;border:1px solid #eef1f7;border-radius:20px;padding:20px 26px;
	box-shadow:0 12px 30px rgba(30,90,156,.08)}
.woocommerce-checkout #customer_details .woocommerce-shipping-fields .shipping_address{padding-top:18px}
/* Give the customer column the greater share — it holds far more.
   1025px, NOT 993px: Elementor's own tablet breakpoint on this site is 1024px,
   so anything between 993 and 1024 was still being laid out in two columns
   while Elementor had already switched to its tablet padding. */
@media (min-width:1025px){
	.woocommerce-checkout form.checkout #customer_details{width:57% !important}
	.woocommerce-checkout form.checkout #order_review,
	.woocommerce-checkout form.checkout #order_review_heading{width:40% !important}
}

/* ---------- Cart / checkout / receipt: responsive ---------- */
/* Breakpoints below deliberately match ELEMENTOR's (1024 / 767), because the
   page is an Elementor layout. Using the theme's 992/600 left two dead bands
   where our rules and Elementor's disagreed about which mode the page was in. */
@media (max-width:1024px){
	.woocommerce-checkout form.checkout #customer_details,
	.woocommerce-checkout form.checkout #order_review,
	.woocommerce-checkout form.checkout #order_review_heading{width:100% !important;float:none !important;position:static !important}
	.woocommerce-checkout form.checkout #order_review_heading{margin-top:26px !important}
	.woocommerce-checkout #customer_details .woocommerce-billing-fields,
	.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
	.woocommerce-checkout #customer_details .woocommerce-additional-fields{padding:22px 20px}
	/* Address cards side by side is unreadable on a tablet. */
	.woocommerce-order .woocommerce-columns--addresses .col-1,
	.woocommerce-order .woocommerce-columns--addresses .col-2{width:100% !important;float:none !important;margin:0 0 16px !important}
}
@media (max-width:767px){
	.woocommerce-checkout #customer_details .woocommerce-billing-fields,
	.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
	.woocommerce-checkout #customer_details .woocommerce-additional-fields,
	.woocommerce .cart_totals,.woocommerce-checkout #order_review{border-radius:16px !important;padding:20px 16px !important}
	.woocommerce-checkout #order_review::before{margin:0 -16px 18px}
	/* First/last name etc. side by side leaves each field too narrow to read. */
	.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100% !important;float:none !important;margin-right:0 !important}
	.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,
	.woocommerce-checkout input.input-text{padding:13px 13px !important;font-size:16px !important} /* 16px stops iOS zooming on focus */
	.woocommerce-checkout #customer_details h3,
	.woocommerce-checkout #order_review_heading{font-size:18px !important;margin-bottom:16px !important}
	.woocommerce a.checkout-button,.woocommerce #place_order{font-size:16px !important;padding:16px 20px !important}
	.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:12px 10px !important;font-size:14px}
	.woocommerce-checkout .shop_table td,.woocommerce-checkout .shop_table th{padding:12px 2px !important}
	.woocommerce-order .woocommerce-customer-details .woocommerce-column{padding:18px 18px;border-radius:16px}
	.woocommerce-order .woocommerce-order-overview li{padding:12px 14px !important}
	.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{font-size:13.5px;padding:12px 14px !important}
}

/* ============================================================
   Cart & checkout — alignment + readability
   ============================================================ */

/* ---------- FIX: the order summary dropping below the form ----------
   Setting the columns to 57% + 40% left only 3% for Astra's own margins on
   the right-hand float. Over 100% total, so the right float dropped to the
   next line and landed under the billing column. Widths, floats AND margins
   are now all declared here so the theme's values can't push it over. */
@media (min-width:1025px){
	.woocommerce-checkout form.checkout{position:relative}
	.woocommerce-checkout form.checkout::after{content:"";display:table;clear:both}
	.woocommerce-checkout form.checkout #customer_details{
		float:left !important;width:56% !important;margin:0 !important;padding:0 !important;clear:left}
	.woocommerce-checkout form.checkout #order_review_heading{
		float:right !important;width:40% !important;margin:0 0 14px !important;padding:0 !important;clear:right}
	.woocommerce-checkout form.checkout #order_review{
		float:right !important;width:40% !important;margin:0 !important;clear:right}
}

/* ---------- READABILITY ----------
   Astra uppercases product titles and panel headings. "GLOW TWEEN GO BOTTLE —
   COLLAPSIBLE SPORT WATER BOTTLE" across three all-caps lines is the hardest
   thing on the page to read, and all-caps also kills word shape. */
.woocommerce table.cart td.product-name,
.woocommerce table.cart td.product-name a,
.woocommerce-checkout .shop_table td.product-name,
.woocommerce-checkout .shop_table .product-name a,
.woocommerce .cart_totals h2,
.woocommerce-checkout #order_review_heading,
.woocommerce .cart_totals .shipping-calculator-button,
.woocommerce-checkout .woocommerce-shipping-methods label,
.woocommerce form .form-row label,
.woocommerce input.input-text,.woocommerce textarea{
	text-transform:none !important;letter-spacing:normal !important}

/* Product names: readable size and generous leading. */
.woocommerce table.cart td.product-name,
.woocommerce table.cart td.product-name a{font-size:16.5px !important;line-height:1.5 !important;font-weight:700}
.woocommerce-checkout .shop_table td.product-name{font-size:15px !important;line-height:1.5 !important}

/* Column labels stay small-caps (they're labels, not prose) but need air. */
.woocommerce table.shop_table thead th{font-size:12.5px !important;letter-spacing:.08em !important}

/* Bigger thumbnail — 78px was a stamp next to three lines of title. */
.woocommerce table.cart img{max-width:104px !important;width:104px !important;border-radius:14px}
.woocommerce table.cart td.product-thumbnail{width:124px}

/* The remove control was collapsing to a sliver in its own column. */
.woocommerce table.cart td.product-remove{width:46px;text-align:center;padding-left:8px !important;padding-right:8px !important}
.woocommerce a.remove{display:inline-flex !important;align-items:center;justify-content:center;
	width:27px !important;height:27px !important;font-size:17px !important;line-height:1 !important;text-decoration:none !important}

/* Totals panel: readable body text and a clear hierarchy. */
.woocommerce .cart_totals h2,.woocommerce-checkout #order_review_heading{font-size:21px !important}
.woocommerce .cart_totals table th,.woocommerce .cart_totals table td,
.woocommerce-checkout .shop_table th,.woocommerce-checkout .shop_table td{font-size:15px !important;line-height:1.55 !important}
.woocommerce .cart_totals th{font-weight:700 !important;color:#4a5b6e !important}
/* "Change address" read like a heading sitting under the shipping line. */
.woocommerce .cart_totals .shipping-calculator-button{
	display:inline-block;margin-top:6px;font-size:13.5px !important;font-weight:700;
	color:#1e5a9c !important;text-decoration:underline}
.woocommerce .cart_totals .woocommerce-shipping-destination{font-size:13.5px;color:#6b7d90;line-height:1.5}
/* Payment section label. */
.woocommerce-checkout #payment .wc_payment_method label,
.woocommerce-checkout #payment > h3,.woocommerce-checkout #payment .payment_methods + h3{font-size:15px !important}

/* ---------- Checkout: label alignment tidy-ups ---------- */
/* Rendered as "☐Ship to a different address?" with the box jammed against the
   text, and Astra's h3 border left a rule across an otherwise empty card. */
.woocommerce-checkout #customer_details .woocommerce-shipping-fields{padding:18px 26px !important}
.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address{
	border:0 !important;padding:0 !important;margin:0 !important}
.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address label{
	display:inline-flex !important;align-items:center;gap:10px;margin:0 !important;cursor:pointer}
.woocommerce-checkout .woocommerce-shipping-fields h3#ship-to-different-address input[type=checkbox]{
	flex:none;width:17px;height:17px;margin:0 !important;accent-color:#1e5a9c}
.woocommerce-checkout .woocommerce-shipping-fields .shipping_address{padding-top:18px !important}

/* Same treatment for the gift checkbox so the two read consistently. */
.woocommerce-checkout .woocommerce-additional-fields label[for="is_gift"],
.woocommerce-checkout .woocommerce-additional-fields .form-row-wide > label{
	display:inline-flex;align-items:center;gap:10px}

/* ---------- Header account icon ---------- */
/* Sits beside the cart icon and deliberately mirrors it: same circle, same
   size, same lift on hover, so the pair reads as one control group. */
.glow-account{display:inline-flex;align-items:center;justify-content:center;
	width:46px;height:46px;margin-right:10px;border-radius:50%;flex:none;
	background:linear-gradient(135deg,#fbd3e4,#f7b7d2);color:#1e5a9c !important;
	box-shadow:0 6px 16px rgba(224,120,170,.32);text-decoration:none !important;
	transition:transform .12s ease,box-shadow .2s ease,filter .15s ease;vertical-align:middle}
.glow-account:hover{transform:translateY(-2px);filter:brightness(1.04);
	box-shadow:0 10px 22px rgba(224,120,170,.42);color:#1e5a9c !important}
.glow-account:focus-visible{outline:3px solid rgba(30,90,156,.45);outline-offset:2px}
.glow-account svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;
	stroke-linecap:round;stroke-linejoin:round}
/* Signed in gets the deeper brand blue so the state is visible at a glance. */
.glow-account.is-in{background:linear-gradient(135deg,#3d84cf,#1e5a9c);color:#fff !important;
	box-shadow:0 6px 16px rgba(30,90,156,.34)}
.glow-account.is-in:hover{color:#fff !important;box-shadow:0 10px 22px rgba(30,90,156,.44)}
@media (max-width:767px){
	.glow-account{width:40px;height:40px;margin-right:7px}
	.glow-account svg{width:19px;height:19px}
}

/* The account link lives inside the cart widget's own wrapper, so that wrapper
   has to lay out as a row — otherwise the two icons stack. */
.elementor-location-header .elementor-menu-cart__wrapper{
	display:flex !important;align-items:center;gap:0}
.elementor-location-header .elementor-menu-cart__toggle_wrapper{flex:none}

/* ---------- Modal & popup: make them scrollable on short screens ---------- */
/* Both overlays are position:fixed inset:0 with the body locked at
   overflow:hidden, but neither had overflow-y — so a dialog taller than the
   viewport was simply cut off with no way to reach the rest. On a phone the
   reserve form (title, sub, name, email, plan, child name, birth month, birth
   year, consent, fine print, button) is comfortably taller than an iPhone
   screen, which puts the SUBMIT BUTTON out of reach — on the only lead-capture
   route the site has before launch.
   Harmless where the dialog already fits: a scroll container with nothing to
   scroll behaves exactly as before. */
.glow-modal,.glow-pop{overflow-y:auto;-webkit-overflow-scrolling:touch}

@media (max-width:767px), (max-height:820px){
	/* Reclaim the vertical margin — 6vh/8vh top AND bottom is a lot of a phone. */
	.glow-modal__dialog,.glow-pop__dialog{margin:14px auto 24px}
}
@media (max-width:767px){
	.glow-modal__dialog{padding-left:20px;padding-right:20px}
	.glow-modal__title{font-size:21px}
	.glow-modal__sub{font-size:14px;margin-bottom:16px}
	.glow-pop__body{padding:22px 20px 26px}
	.glow-pop__body h2{font-size:21px}
	.glow-pop__body p{font-size:14.5px;margin-bottom:16px}
	/* The dialog clips its corners; allow the inner column to scroll instead. */
	.glow-pop__dialog{overflow:visible;border-radius:18px}
	.glow-pop__media img{max-height:180px}
	/* Keep the close control clear of the content it sits over. */
	.glow-modal__close,.glow-pop__close{top:8px;right:8px}
}
/* Very short screens (landscape phones): drop the decorative image entirely
   rather than let it push the button off-screen. */
@media (max-height:520px){
	.glow-pop__media{display:none}
	.glow-modal__dialog,.glow-pop__dialog{margin:8px auto 16px}
}

/* ---------- Invitation confirmation banner ---------- */
/* Shown after following an invitation link. Previously that redirect gave the
   visitor no feedback at all, so a working invitation looked broken. */
.glow-invite-note{display:flex;align-items:center;justify-content:center;gap:10px;
	padding:13px 22px;font-size:14.5px;font-weight:600;line-height:1.5;text-align:center;
	border-bottom:1px solid rgba(0,0,0,.06)}
.glow-invite-note--ready{background:linear-gradient(90deg,#e6f6ec,#f2fbf5);color:#1f7a45}
.glow-invite-note--saved{background:linear-gradient(90deg,#eaf3fb,#f4f9ff);color:#1e5a9c}
.glow-invite-note--expired{background:linear-gradient(90deg,#fdf1f5,#fff6f9);color:#b8324f}
@media (max-width:767px){.glow-invite-note{padding:11px 16px;font-size:13.5px;text-align:left}}

/* ---------- Captcha widget in the reservation form ---------- */
.glow-form__captcha{margin:4px 0 14px;display:flex;justify-content:center}
.glow-form__captcha:empty{display:none;margin:0}
