/*
Theme Name:   Growing Minds Academy
Theme URI:    https://thegrowingmindsacademy.com
Description:  Child theme of Hello Elementor for Growing Minds Academy by Runa Roy. Carries the full design system: navy + warm paper palette, rainbow subject colour-coding, Outfit / Instrument Sans / IBM Plex Mono type scale, and the WooCommerce worksheet card components.
Author:       11 Minds
Template:     hello-elementor
Version:      1.0.0
Text Domain:  growing-minds
*/

/* ==========================================================
   Design system. Do not edit these tokens by hand — they are
   what keeps every page consistent. Add page-specific rules
   at the bottom of the file instead.
   ========================================================== */

/* ==========================================================
   GROWING MINDS ACADEMY — DESIGN SYSTEM v1
   Anchor: deep navy from the logotype + warm paper ground.
   The logo's rainbow is used ONLY as functional subject coding,
   never as decoration. That is what keeps it from reading cheap.
   ========================================================== */
:root{
  --navy:#16305F; --navy-2:#24467F; --navy-deep:#0D1E40; --navy-soft:#4E5F80;
  --muted:#6E7891; --ink:#1B2338;

  --orange:#F0761A; --orange-2:#D45F09; --orange-tint:#FDEDE0;
  --green:#3FA535; --green-tint:#E6F4E4;
  --blue:#1878D4; --magenta:#E5157F; --purple:#7B2D8E;
  --gold:#E8A80C; --red:#E32119;

  --paper:#FBF9F5; --white:#FFFFFF; --tint:#F2F0EA; --line:#E6E1D6; --line-2:#D6D0C2;

  --f-d:"Outfit",-apple-system,"Segoe UI",sans-serif;
  --f-b:"Instrument Sans",-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-m:"IBM Plex Mono",ui-monospace,Menlo,monospace;

  --r:8px; --r-lg:14px; --r-xl:20px;
  --sh:0 1px 2px rgba(13,30,64,.05),0 10px 28px rgba(13,30,64,.07);
  --sh-2:0 2px 6px rgba(13,30,64,.07),0 22px 50px rgba(13,30,64,.14);
  --wrap:1220px; --gut:clamp(18px,4vw,44px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-b);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--f-d);font-weight:700;line-height:1.12;margin:0;letter-spacing:-.02em;color:var(--navy)}
h1{font-size:clamp(33px,5.2vw,56px)}
h2{font-size:clamp(26px,3.5vw,40px)}
h3{font-size:clamp(18px,2vw,22px)}
p{margin:0}
.lede{font-size:clamp(16px,1.5vw,18.5px);color:var(--navy-soft);line-height:1.65}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.section{padding:clamp(54px,7vw,94px) 0}
.tinted{background:var(--tint)}
.navy-bg{background:var(--navy);color:#fff}
.eyebrow{font-family:var(--f-m);font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:500;color:var(--orange-2)}
.eyebrow.on-dark{color:#F6B77A}
.sec-head{margin-bottom:clamp(26px,4vw,44px);max-width:64ch}
.sec-head h2{margin-top:12px}
.sec-head p{margin-top:12px}
.center{text-align:center;margin-inline:auto}

/* rainbow hairline — the logo, abstracted */
.rainbow{height:5px;border-radius:99px;background:linear-gradient(90deg,var(--red),var(--orange),var(--gold),var(--green),var(--blue),var(--purple),var(--magenta));width:78px}
.rainbow.full{width:100%;height:4px;border-radius:0}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 26px;border-radius:99px;font-weight:600;font-size:15px;transition:transform .16s,box-shadow .16s,background .16s;font-family:var(--f-b)}
.btn-p{background:var(--orange);color:#fff;box-shadow:0 3px 0 var(--orange-2)}
.btn-p:hover{background:#F5852D;transform:translateY(-2px);box-shadow:0 5px 0 var(--orange-2)}
.btn-n{background:var(--navy);color:#fff}
.btn-n:hover{background:var(--navy-2);transform:translateY(-2px)}
.btn-g{border:1.6px solid var(--line-2);color:var(--navy);background:var(--white)}
.btn-g:hover{border-color:var(--navy);background:var(--tint)}
.btn-g.on-dark{background:transparent;border-color:rgba(255,255,255,.3);color:#fff}
.btn-g.on-dark:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-lg{padding:17px 34px;font-size:16.5px}
.btn-sm{padding:9px 17px;font-size:13.5px}
.btn-b{width:100%}

/* ---------- header ---------- */
.proto{position:sticky;top:0;z-index:300;background:var(--navy-deep);color:#fff;display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:8px var(--gut)}
.proto b{font-family:var(--f-m);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#8CA0C4;margin-right:8px}
.proto a{font-family:var(--f-m);font-size:11px;padding:5px 12px;border-radius:99px;color:#B9C7E0;border:1px solid rgba(255,255,255,.16)}
.proto a:hover{color:#fff;border-color:#fff}
.proto a.on{background:var(--orange);color:#fff;border-color:var(--orange)}

.annc{background:var(--navy);color:#C7D4EA;font-family:var(--f-m);font-size:12px;letter-spacing:.03em;padding:8px 0}
.annc .wrap{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;text-align:center}
.annc i{width:5px;height:5px;border-radius:50%;background:var(--orange);display:inline-block;margin-right:7px;vertical-align:middle}

.hdr{position:sticky;top:37px;z-index:200;background:rgba(251,249,245,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;gap:16px;height:78px}
.logo{display:flex;align-items:center;gap:11px;margin-right:auto}
.logo-img{width:52px;height:43px;background-size:contain;background-repeat:no-repeat;background-position:center;flex:none}
.logo-t b{font-family:var(--f-d);font-size:18px;font-weight:700;display:block;line-height:1.1;color:var(--navy);letter-spacing:-.02em}
.logo-t small{font-family:var(--f-m);font-size:8.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block;margin-top:2px}
.logo-full-img{background-size:contain;background-repeat:no-repeat;background-position:center}
.logo-chip{background:#fff;border-radius:16px;padding:18px 22px;display:inline-block}
.logo-chip .logo-full-img{width:170px;height:196px}
.nav{display:flex;gap:24px;font-size:15px;font-weight:500}
.nav a{padding:26px 0;border-bottom:3px solid transparent;color:var(--navy-soft);transition:.16s}
.nav a:hover,.nav a.on{color:var(--navy);border-color:var(--orange)}
.hact{display:flex;gap:9px;align-items:center}
.ib{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--white);display:grid;place-items:center;position:relative;transition:.16s;font-size:17px}
.ib:hover{border-color:var(--navy);background:var(--tint)}
.bdg{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--orange);color:#fff;font-size:11px;font-weight:700;display:grid;place-items:center;font-family:var(--f-m)}
.burger{display:none}

/* ---------- worksheet card ---------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(15px,2vw,24px)}
.ws{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.ws:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--line-2)}
.ws-pre{aspect-ratio:1/1.16;background:var(--tint);padding:14px;position:relative}
.sheet{background:#fff;height:100%;border-radius:4px;box-shadow:0 2px 10px rgba(13,30,64,.12);padding:9px 10px;display:flex;flex-direction:column;gap:6px;overflow:hidden;position:relative}
.sheet-hd{height:20px;border-radius:3px;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--f-m);font-size:7px;letter-spacing:.11em;text-transform:uppercase;flex:none}
.ln{height:3px;background:#E9E6DE;border-radius:2px}
.ln.s{width:58%}.ln.m{width:80%}.ln.q{background:#D8D3C7;height:4px;width:70%;margin-top:4px}
.wm{position:absolute;inset:0;display:grid;place-items:center;transform:rotate(-24deg);font-family:var(--f-d);font-size:9px;font-weight:600;color:rgba(22,48,95,.09);letter-spacing:.04em;pointer-events:none;text-align:center}
.key-b{position:absolute;bottom:20px;right:20px;background:var(--green);color:#fff;font-family:var(--f-m);font-size:8.5px;letter-spacing:.09em;padding:5px 9px;border-radius:99px;text-transform:uppercase;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.cls-b{position:absolute;top:22px;left:22px;background:var(--navy);color:#fff;font-family:var(--f-m);font-size:8.5px;letter-spacing:.1em;padding:5px 9px;border-radius:99px;text-transform:uppercase}
.ws-body{padding:15px 16px 16px;display:flex;flex-direction:column;flex:1}
.subj{font-family:var(--f-m);font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:500;display:flex;align-items:center;gap:6px}
.subj i{width:8px;height:8px;border-radius:50%;flex:none}
.ws-body h3{font-size:16.5px;line-height:1.3;margin:8px 0 9px;font-weight:600}
.ws-meta{font-size:13px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap;margin-bottom:13px}
.ws-buy{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:auto;padding-top:13px;border-top:1px dashed var(--line)}
.price{font-family:var(--f-d);font-size:21px;font-weight:700;color:var(--navy);line-height:1}
.price s{font-family:var(--f-b);font-size:13px;color:var(--muted);font-weight:400;margin-left:6px}

/* ---------- footer ---------- */
.foot{background:var(--navy);color:#AFC0DC;padding-top:clamp(46px,6vw,72px)}
.foot h4{font-family:var(--f-m);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#7E93B8;font-weight:500;margin-bottom:15px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14.5px}
.foot a:hover{color:#fff}
.foot .logo-t b{color:#fff}.foot .logo-t small{color:#7E93B8}
.fg{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:clamp(22px,3vw,42px);padding-bottom:42px}
.fg p{font-size:14.5px;margin-top:15px;max-width:36ch;line-height:1.6}
.pay{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.pay span{font-family:var(--f-m);font-size:10px;padding:6px 10px;border:1px solid rgba(255,255,255,.17);border-radius:5px;color:#C7D4EA}
.fbtm{border-top:1px solid rgba(255,255,255,.13);padding:20px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-family:var(--f-m);font-size:11.5px;color:#7E93B8}

/* ---------- shared bits ---------- */
.pagehead{background:var(--white);border-bottom:1px solid var(--line);padding:clamp(28px,4vw,48px) 0}
.crumb{font-family:var(--f-m);font-size:11.5px;letter-spacing:.06em;color:var(--muted);margin-bottom:13px}
.crumb a:hover{color:var(--orange-2)}
.tag{font-size:12px;padding:4px 11px;border-radius:99px;background:var(--tint);color:var(--navy-soft);border:1px solid var(--line)}
.tick{width:22px;height:22px;border-radius:50%;background:var(--green-tint);color:var(--green);display:grid;place-items:center;flex:none;margin-top:2px;font-size:12px;font-weight:800}
.faq{max-width:830px;border-top:1px solid var(--line-2)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;padding:20px 46px 20px 0;position:relative;font-family:var(--f-d);font-size:17.5px;font-weight:600;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--f-m);font-size:22px;color:var(--orange)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 46px 22px 0;color:var(--navy-soft);font-size:15.5px}

@media(max-width:1080px){.grid{grid-template-columns:repeat(3,1fr)}.fg{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.nav{display:none}.burger{display:grid}.annc{display:none}.hdr{top:37px}}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,1fr)}.fg{grid-template-columns:1fr}.ws-body h3{font-size:14.5px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ==========================================================
   CART DRAWER — demonstrates the multi-item buy flow
   ========================================================== */
.scrim{position:fixed;inset:0;background:rgba(13,30,64,.5);backdrop-filter:blur(3px);z-index:400;opacity:0;pointer-events:none;transition:opacity .22s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--paper);z-index:401;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:-10px 0 40px rgba(13,30,64,.2)}
.drawer.on{transform:none}
.dr-hd{padding:20px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;background:var(--white)}
.dr-hd h3{font-size:19px;margin-right:auto}
.dr-hd button{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);display:grid;place-items:center;font-size:16px;background:var(--white)}
.dr-hd button:hover{border-color:var(--navy)}
.dr-body{flex:1;overflow-y:auto;padding:18px 22px}
.ci{display:flex;gap:13px;padding:14px 0;border-bottom:1px dashed var(--line)}
.ci-th{width:52px;height:64px;border-radius:5px;background:#fff;border:1px solid var(--line);flex:none;padding:5px;display:flex;flex-direction:column;gap:3px;overflow:hidden}
.ci-th .b{height:8px;border-radius:2px;flex:none}
.ci-th .l{height:2.5px;background:#EDEAE2;border-radius:2px}
.ci-i{flex:1;min-width:0}
.ci-i .s{font-family:var(--f-m);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;font-weight:500}
.ci-i b{display:block;font-family:var(--f-d);font-size:14.5px;color:var(--navy);margin:4px 0 3px;line-height:1.3}
.ci-i small{font-size:12.5px;color:var(--muted)}
.ci-r{text-align:right;flex:none}
.ci-r .p{font-family:var(--f-d);font-weight:700;color:var(--navy);font-size:15px}
.ci-r button{font-size:12px;color:var(--red);margin-top:7px}
.dr-empty{text-align:center;padding:52px 20px;color:var(--muted)}
.dr-empty b{display:block;font-family:var(--f-d);font-size:18px;color:var(--navy);margin-bottom:8px}
.dr-ft{border-top:1px solid var(--line);padding:18px 22px 22px;background:var(--white)}
.dr-tot{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}
.dr-tot span{font-family:var(--f-m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dr-tot b{font-family:var(--f-d);font-size:26px;color:var(--navy)}
.dr-note{background:var(--green-tint);border:1px solid #B7E0B1;border-radius:10px;padding:11px 13px;font-size:13px;color:#256A1E;margin:14px 0;display:flex;gap:9px;align-items:flex-start;line-height:1.5}
.dr-save{font-size:13px;color:var(--orange-2);font-weight:600;margin-bottom:12px}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,24px);background:var(--navy);color:#fff;padding:13px 22px;border-radius:99px;font-size:14.5px;font-weight:500;z-index:500;opacity:0;pointer-events:none;transition:.24s;box-shadow:var(--sh-2);display:flex;gap:10px;align-items:center}
.toast.on{opacity:1;transform:translate(-50%,0)}
.btn-add{background:var(--white);border:1.5px solid var(--navy);color:var(--navy);border-radius:99px;padding:8px 15px;font-size:13.5px;font-weight:600;transition:.16s;display:inline-flex;align-items:center;gap:6px}
.btn-add:hover{background:var(--navy);color:#fff}
.btn-add.added{background:var(--green);border-color:var(--green);color:#fff}


/* ==========================================================
   WOOCOMMERCE OVERRIDES
   Maps the design system onto Woo's default markup so the
   shop, product and account pages inherit it automatically.
   ========================================================== */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(15px,2vw,24px);margin:0;padding:0}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:100%!important;margin:0!important;float:none!important;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:.2s}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--sh-2);border-color:var(--line-2)}
.woocommerce ul.products li.product a img{margin:0;border-radius:0}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:var(--f-d);font-size:16.5px;font-weight:600;color:var(--navy);line-height:1.3;padding:14px 16px 0}
.woocommerce ul.products li.product .price{font-family:var(--f-d);font-size:20px;font-weight:700;color:var(--navy);padding:0 16px}
.woocommerce ul.products li.product .price del{font-family:var(--f-b);font-size:13px;color:var(--muted);font-weight:400}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .button{margin:auto 16px 16px;border-radius:99px;background:var(--white);border:1.5px solid var(--navy);color:var(--navy);font-weight:600;font-size:13.5px;padding:9px 17px}
.woocommerce ul.products li.product .button:hover{background:var(--navy);color:#fff}
.woocommerce ul.products li.product .added_to_cart{display:none}
.woocommerce span.onsale{background:var(--orange);color:#fff;font-family:var(--f-m);font-size:10px;letter-spacing:.09em;text-transform:uppercase;border-radius:99px;padding:6px 12px;min-height:0;min-width:0;line-height:1;top:14px;left:14px;right:auto;margin:0}

/* single product */
.woocommerce div.product .product_title{font-family:var(--f-d);color:var(--navy)}
.woocommerce div.product p.price{font-family:var(--f-d);font-size:34px;font-weight:700;color:var(--navy)}
.woocommerce div.product p.price del{font-family:var(--f-b);font-size:16px;color:var(--muted)}
.woocommerce div.product form.cart div.quantity{display:none} /* digital: one copy per buyer */
.woocommerce div.product form.cart .button{background:var(--orange);color:#fff;border-radius:99px;padding:15px 30px;font-weight:600;font-size:15.5px;box-shadow:0 3px 0 var(--orange-2)}
.woocommerce div.product form.cart .button:hover{background:#F5852D}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0;border-bottom:1px solid var(--line-2)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:none;border:0;border-radius:0;border-bottom:3px solid transparent;margin:0 2px 0 0;padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-family:var(--f-d);font-weight:600;font-size:14.5px;color:var(--muted);padding:16px 22px;display:block}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom-color:var(--orange)}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--navy)}

/* cart, checkout, account */
.woocommerce table.shop_table{border-radius:var(--r-xl);border-color:var(--line);background:var(--white)}
.woocommerce table.shop_table th{font-family:var(--f-m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.woocommerce .cart_item .product-quantity{display:none}
.woocommerce .cart-collaterals .cart_totals>h2,
.woocommerce-checkout #order_review_heading{font-family:var(--f-d);color:var(--navy);font-size:19px}
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,
.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce #place_order{background:var(--orange);color:#fff;border-radius:99px;font-weight:600;box-shadow:0 3px 0 var(--orange-2)}
.woocommerce #respond input#submit.alt:hover,.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,.woocommerce #place_order:hover{background:#F5852D}
.woocommerce-checkout .shipping,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-cart .shipping{display:none!important} /* nothing ships */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{border:1.5px solid var(--line-2);border-radius:10px;padding:13px 15px;font-family:var(--f-b);font-size:15px;background:var(--paper)}
.woocommerce form .form-row input.input-text:focus{border-color:var(--navy);background:#fff;outline:none;box-shadow:0 0 0 3px rgba(22,48,95,.1)}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;background:var(--white);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden}
.woocommerce-MyAccount-navigation ul li a{display:block;padding:13px 20px;font-size:14.5px;color:var(--navy-soft);border-left:3px solid transparent}
.woocommerce-MyAccount-navigation ul li.is-active a{background:var(--tint);color:var(--navy);border-left-color:var(--orange);font-weight:600}
.woocommerce-message,.woocommerce-info{border-top-color:var(--green);background:var(--green-tint);border-radius:10px}
.woocommerce-error{border-top-color:var(--red);border-radius:10px}

/* subject colour, driven by the pa_subject term on <body> and on cards */
.subj-english{--subject:var(--blue)}
.subj-mathematics{--subject:var(--magenta)}
.subj-science{--subject:var(--green)}
.subj-history{--subject:var(--orange)}
.subj-geography{--subject:var(--purple)}
.subj-general-knowledge{--subject:var(--gold)}
.gm-subject-bar{height:5px;background:var(--subject,var(--navy));border-radius:99px}
.gm-subject-dot{width:9px;height:9px;border-radius:50%;background:var(--subject,var(--navy));display:inline-block;margin-right:7px}

@media(max-width:1080px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}

/* ==========================================================
   GM — theme-builder support (added by build)
   ========================================================== */
.gm-rainbow,
footer.elementor-location-footer::before{
  content:'';display:block;height:4px;width:100%;
  background:linear-gradient(90deg,#E32119,#F0761A,#E8A80C,#3FA535,#1878D4,#7B2D8E,#E5157F);
}
footer.elementor-location-footer{position:relative}
.gm-pay span,.gm-pay{display:inline-block}
p .gm-pay{
  font-family:var(--f-m);font-size:10px;letter-spacing:.07em;
  padding:6px 10px;margin:0 5px 6px 0;border:1px solid rgba(255,255,255,.17);
  border-radius:5px;color:#C7D4EA;line-height:1;
}

/* sticky header */
header.elementor-location-header{position:sticky;top:0;z-index:200}
header.elementor-location-header .e-con:nth-child(2){backdrop-filter:blur(12px)}
body.admin-bar header.elementor-location-header{top:32px}
@media(max-width:782px){body.admin-bar header.elementor-location-header{top:46px}}

/* announcement bar: keep it one calm line */
.gm-rainbow + *{margin-top:0}
header.elementor-location-header .elementor-widget-text-editor p{margin:0}

/* nav: never let it wrap to two lines on desktop */
.elementor-nav-menu--main .elementor-nav-menu>li>a{white-space:nowrap}

/* cart bubble sits on the icon, not beside it */
.elementor-menu-cart__toggle .elementor-button-icon{position:relative}

/* footer icon-list: drop the empty icon slot */
.elementor-location-footer .elementor-icon-list-icon{display:none!important}
.elementor-location-footer .elementor-icon-list-item>a,
.elementor-location-footer .elementor-icon-list-text{padding-left:0!important}

/* Hello Elementor page padding reset — Elementor owns the layout now */
.site-main,.page-content{margin:0;padding:0;max-width:none}
.site-header,.site-footer{display:none}