/*
Theme Name: ElfSOS Rescue Shop
Theme URI: https://elfsos.shop/
Author: BuzzBox
Description: ElfSOS branded WooCommerce-ready shop, annual refill catalogue and member printables.
Version: 1.6.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: elfsos
*/

:root{--red:#b92c3b;--dark:#183d36;--mint:#e9f3eb;--cream:#fff9ed;--gold:#f3c96d;--ink:#26352f}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}header{position:sticky;top:0;z-index:10;background:#fffdf8;border-bottom:1px solid #e9e2d5}.nav{max-width:1200px;margin:auto;display:flex;align-items:center;gap:24px;padding:13px 22px}.logo{font-weight:1000;font-size:30px;color:var(--red);letter-spacing:-2px}.logo span{color:var(--dark)}nav{display:flex;gap:17px;flex:1;flex-wrap:wrap}nav a{font-size:14px;font-weight:700}.actions{display:flex;gap:9px;align-items:center}.btn{border:0;border-radius:12px;padding:12px 18px;font-weight:800;background:var(--red);color:white;display:inline-block}.btn.alt{background:var(--dark)}.btn.light{background:white;color:var(--dark);border:1px solid #d8e1d9}.btn.small{padding:8px 12px;font-size:13px}.wrap{max-width:1200px;margin:auto;padding:32px 22px}.hero{background:var(--dark);color:white;overflow:hidden}.hero-inner{max-width:1200px;margin:auto;padding:78px 22px;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:900;color:var(--red)}.hero .eyebrow{color:var(--gold)}h1{font-size:clamp(42px,6vw,78px);line-height:1.03;letter-spacing:-3px;margin:14px 0 22px}h2{font-size:clamp(28px,4vw,42px);line-height:1.12;letter-spacing:-1px;margin:10px 0 20px}h3{font-size:23px;line-height:1.2;margin:12px 0}p{margin:10px 0 18px}.hero p{font-size:20px;color:#e0eae3;max-width:540px}.hero-art{border-radius:28px;background:radial-gradient(circle at 70% 30%,#e9a85a,#bd3a48 45%,#7e2432);min-height:390px;display:flex;align-items:center;justify-content:center;position:relative}.box-art{background:#fff7e8;color:var(--dark);border:9px solid #e7bd66;border-radius:18px;transform:rotate(-8deg);width:280px;min-height:230px;box-shadow:22px 25px 0 #7d2730;padding:28px;text-align:center}.box-art b{font-size:48px;letter-spacing:-3px;display:block}.box-art small{font-weight:800}.star{position:absolute;font-size:50px}.s1{top:20px;left:30px}.s2{bottom:20px;right:30px}.strip{background:var(--gold);text-align:center;padding:13px;font-weight:800}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid.four{grid-template-columns:repeat(4,1fr)}.card{background:white;border:1px solid #e8e2d8;border-radius:20px;overflow:hidden;box-shadow:0 8px 22px #243c2c09}.card-body{padding:23px}.product-art{height:190px;background:#f4e6df;display:flex;justify-content:center;align-items:center;font-size:75px}.card:nth-child(2) .product-art{background:#e3f0e8}.card:nth-child(3) .product-art{background:#f7edcb}.card:nth-child(4) .product-art{background:#e8e5f2}.price{font-size:26px;font-weight:900;color:var(--red)}.tag{font-size:12px;font-weight:900;letter-spacing:.5px;background:#eaf4ed;color:var(--dark);border-radius:99px;padding:5px 10px;display:inline-block}.section{padding:45px 0}.center{text-align:center}.muted{color:#68756f}.panel{background:var(--mint);border-radius:25px;padding:34px}.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.feature{padding:20px;border-radius:15px;background:#fff;border:1px solid #e6e6dd}.feature strong{display:block;font-size:20px}.page{display:none}.page.active{display:block}.hero-small{background:var(--dark);color:white;padding:45px 0}.hero-small p{color:#d5e5dc}.list{padding-left:22px}.list li{margin:9px 0}.dashboard{display:grid;grid-template-columns:230px 1fr;gap:25px}.sidebar{background:var(--dark);border-radius:20px;padding:20px;color:white}.sidebar button{display:block;background:transparent;color:white;border:0;padding:12px;text-align:left;width:100%;border-radius:9px}.sidebar button:hover{background:#ffffff22}.dashcard{background:white;padding:25px;border-radius:20px;border:1px solid #e8e2d8}.printable{border:1px dashed #c5bbaa;background:white;border-radius:14px;padding:20px;text-align:center}.printable .icon{font-size:45px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.input{border:1px solid #cbd5ce;padding:12px;border-radius:10px;width:100%;background:white}label{display:block;font-weight:700;font-size:14px;margin:10px 0 5px}.notice{background:#fff2d8;border:1px solid #efcf8d;padding:15px;border-radius:12px;margin:18px 0}.hide{display:none!important}footer{background:#12352f;color:#e5f0e9;margin-top:55px;padding:40px 0}footer a{text-decoration:underline}details{padding:17px 0;border-bottom:1px solid #ddd5c8}summary{cursor:pointer;font-weight:800}.basket-line{display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding:12px 0}.pill{display:inline-block;background:#fff3e3;color:#7c3d2a;padding:7px 12px;border-radius:50px;font-weight:800;font-size:13px}.step{font-size:36px;font-weight:1000;color:var(--red)}@media(max-width:800px){.hero-inner,.split,.dashboard{grid-template-columns:1fr}.grid,.grid.four{grid-template-columns:repeat(2,1fr)}.hero-art{min-height:290px}.nav{flex-wrap:wrap;gap:8px}nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap;gap:14px}nav a{white-space:nowrap}.actions{margin-left:auto}.hero-inner{padding:45px 22px}h1{letter-spacing:-2px}}@media(max-width:520px){.grid,.grid.four{grid-template-columns:1fr}.wrap{padding:22px 17px}.box-art{width:235px}.hero-art{min-height:270px}.logo{font-size:26px}.btn{padding:11px 13px}}

.brand-logo{display:block;width:180px;max-height:82px;object-fit:contain}.footer-logo{width:225px;max-width:100%;height:auto}.hero-brand-image{width:min(100%,500px);height:auto;filter:drop-shadow(0 15px 20px rgba(0,0,0,.18))}.hero-art.branded{background:radial-gradient(circle at center,#fffdf1 0%,#f8e6bd 75%,#e8bb6d 100%);padding:22px}.product-brand-image{width:min(100%,360px);height:auto}.nav .logo{line-height:1}@media(max-width:520px){.brand-logo{width:130px;max-height:65px}.footer-logo{width:190px}}

/* ElfSOS approved visual direction — V3 */
:root{--red:#d70c19;--dark:#063b2e;--cream:#fff9ee;--ink:#083a2f;--gold:#f5c660}
body{background:#fffdf9;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
header{background:#003e31;border:0;box-shadow:0 3px 12px #00271c33}
.nav{max-width:1500px;min-height:86px;padding:8px 30px;gap:28px}
.nav nav{align-items:center;justify-content:center;gap:24px}.nav nav a{color:white;font-size:14px}.nav nav a:hover{color:#ffd58a}
.brand-logo{width:210px;max-height:76px;object-fit:contain}
.actions .btn.light{background:transparent;border:1px solid #ffffff77;color:white}.actions .btn{background:#d8091c}
.hero{background:linear-gradient(90deg,#f7faf9 0%,#f8faf9 38%,#d4e7ec 100%);color:#003b2c}
.hero-inner{max-width:1500px;min-height:420px;padding:30px 40px;grid-template-columns:1fr 1.12fr;gap:18px}
.hero h1{font-size:clamp(42px,4.8vw,76px);letter-spacing:-3px;color:#003b2c;line-height:1.06;margin:8px 0 18px}
.hero h1 em{color:#d7091b;font-style:italic;text-decoration:underline;text-decoration-thickness:5px;text-underline-offset:12px}
.hero p{color:#17372f;font-size:19px;max-width:540px}.hero .eyebrow{color:#a50d1d}
.hero-art.branded{background-image:url('assets/hero-elf-clean.jpg');background-position:center;background-size:cover;border-radius:20px;min-height:340px;justify-content:flex-end;padding:22px}
.hero-brand-image{width:clamp(100px,25%,155px);height:auto;position:absolute;top:14px;right:14px;filter:drop-shadow(0 8px 12px #1235)}
.btn{background:#d5091b;border-radius:30px}.btn.alt{background:#063b2e}.btn.light{background:#fffdf2;border:2px solid #003b2c;color:#003b2c}
.strip.benefits{background:#fff5df;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:20px 24px;color:#083b2f}
.benefits span{font-size:24px;text-align:center;border-right:1px solid #d7c9ad}.benefits span:last-child{border:0}.benefits b{display:inline-block;font-size:14px}.benefits small{display:block;font-size:12px;font-weight:400}
.wrap{max-width:1400px}.section{padding:42px 0}.section .center h2{color:#063b2e}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{background:#fff7e9;border-radius:24px}.card-body{padding:16px 18px 20px}.card h3{font-size:19px}.card p{font-size:14px}.card .price{font-size:23px}
.product-art{height:175px;background:#fff3e5;overflow:hidden}.product-art img{width:100%;height:100%;object-fit:cover}
.footer-logo{width:225px;height:auto;object-fit:contain;filter:drop-shadow(0 3px 5px #0004)}
footer .split{align-items:center}
@media(max-width:950px){.nav{flex-wrap:wrap}.nav nav{order:3;flex-basis:100%;justify-content:center}.grid.four{grid-template-columns:repeat(2,1fr)}.strip.benefits{grid-template-columns:repeat(3,1fr)}.hero-inner{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(36px,5vw,55px)}}
@media(max-width:650px){.nav{padding:10px 14px;gap:12px}.brand-logo{width:140px}.nav nav{gap:10px;justify-content:flex-start}.nav nav a{font-size:12px}.actions{margin-left:auto}.actions .btn{font-size:11px;padding:7px}.hero-inner{grid-template-columns:1fr;padding:30px 18px}.hero h1{font-size:46px}.hero-art.branded{min-height:255px;background-position:center}.hero-brand-image{max-width:110px;top:10px;right:10px}.strip.benefits{grid-template-columns:repeat(2,1fr);padding:12px}.benefits span{border:0;font-size:18px}.benefits b{font-size:12px}.benefits small{font-size:10px}.grid.four{grid-template-columns:1fr 1fr;gap:10px}.card-body{padding:12px}.card h3{font-size:16px}.card p{font-size:12px}.product-art{height:120px}.card .price{font-size:18px}.card .btn{padding:8px;font-size:11px}}

body{background:#fffaf1}.page{display:block!important}.nav a{color:#fff}.nav{max-width:1400px}.brand-logo{width:155px}.site-header{background:#003c2f}.site-header .nav{background:#003c2f}.site-header nav a,.site-header .actions a{color:#fff}.site-header .actions .btn{color:#003c2f}.site-header .actions .btn:not(.light){color:#fff}.hero-art.branded{background-image:url('assets/hero-elf-clean.jpg');background-size:cover;background-position:center}.hero-brand-image{position:absolute;right:4%;top:12%;width:25%;max-width:180px}.hero-art{position:relative}.woocommerce ul.products li.product{background:#fff;border-radius:16px;padding:14px}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:#cf0922;color:#fff;border-radius:30px}.woocommerce div.product{max-width:1150px;margin:40px auto}.content-wrap{max-width:1150px;margin:36px auto;padding:0 20px}.member-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.member-card{background:#fff;padding:22px;border:1px solid #eadfce;border-radius:16px}.member-card h3{margin-top:0}.print-preview{background:#fff9e8;border:5px double #b92c3b;text-align:center;padding:28px;min-height:250px}.elf-form{display:grid;gap:12px;max-width:440px}.elf-form input,.elf-form select{padding:10px;border:1px solid #bbb;border-radius:8px}.site-footer{background:#073d31;color:#fff;padding:35px 15px}.site-footer .footer-logo{max-width:190px}.notice-elf{background:#fff2d5;padding:16px;border-radius:10px;margin:15px 0}.member-locked{padding:40px;text-align:center;background:#fff9ed;border-radius:14px}@media(max-width:750px){.site-header .nav{display:block;text-align:center}.site-header nav{justify-content:center;padding:10px}.site-header .actions{justify-content:center;padding-bottom:10px}.hero-inner{grid-template-columns:1fr}.hero-art.branded{min-height:300px}.member-grid{grid-template-columns:1fr}}

/* ElfSOS editorial content pass */
.editorial h1{font-size:clamp(36px,4.4vw,60px);line-height:1.1;letter-spacing:-1.8px;margin:8px 0 18px;color:#063b2e}.editorial .lead{font-size:19px;line-height:1.7;max-width:900px;color:#36564b;margin-bottom:30px}.editorial .copy-section{padding:34px 0;border-top:1px solid #e9e0d2;margin-top:30px}.editorial .copy-section h2{font-size:clamp(25px,3vw,35px)}.editorial .member-card p{line-height:1.65}.editorial .member-card{box-shadow:0 6px 20px #003b2b08}.editorial details{background:#fff;padding:20px 24px;border:1px solid #eee2d2;border-radius:12px;margin:10px 0}.editorial details p{margin:12px 0 0}.editorial .steps{padding-left:25px;line-height:1.8}.editorial .steps li{margin-bottom:15px}.editorial .print-emoji{font-size:44px}.editorial .member-grid{margin:22px 0}.editorial .tag{margin-bottom:8px}.editorial a:not(.btn){text-decoration:underline;text-underline-offset:3px}.editorial .member-locked{background:#fff3df}.editorial .notice-elf{background:#fff1d8}.editorial select{padding:10px;border:1px solid #ddd;border-radius:8px;width:100%;max-width:280px}.editorial .price{margin:14px 0}.editorial .btn.light{margin-left:8px}@media(max-width:650px){.editorial .lead{font-size:17px}.editorial .copy-section{padding:24px 0}.editorial .btn.light{margin-left:0;margin-top:8px}}

/* v1.3: hero photo only; no circular logo overlay */
.hero-art.branded .hero-brand-image{display:none!important}

/* Premium footer branding */
.site-footer .footer-logo{width:330px;max-width:100%;height:auto;object-fit:contain;filter:none;display:block}
@media(max-width:520px){.site-footer .footer-logo{width:280px}}

/* V1.5: Align member dashboard actions along the bottom of each card. */
.member-grid { align-items: stretch; }
.member-grid > .member-card { display: flex; flex-direction: column; min-width: 0; }
.member-grid > .member-card > a.btn { align-self: flex-start; margin-top: auto; }
.member-grid > .member-card:first-child > label[for="elf-time"] { margin-top: auto; }
.member-grid > .member-card:first-child > select#elf-time { flex: 0 0 auto; }
.member-grid > .member-card:first-child > p:has(> #elf-rescue) { margin-top: 10px; margin-bottom: 0; }
.member-grid > .member-card:first-child > #elf-result:empty { display: none; }
@media (max-width: 750px) { .member-grid > .member-card { min-height: 230px; } }

/* V1.6 — desktop/mobile UX consolidation */
html{scroll-behavior:smooth;scroll-padding-top:108px}body{overflow-x:hidden}img{max-width:100%;height:auto}a,button,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #f2ad36;outline-offset:3px}button,.btn{transition:filter .15s ease,transform .15s ease}button:hover,.btn:hover{filter:brightness(.94)}button:active,.btn:active{transform:translateY(1px)}.skip-link{position:absolute;top:-100px;left:12px;z-index:999;background:#fff;color:#003c2f;padding:12px 16px;border-radius:8px}.skip-link:focus{top:8px}.menu-toggle{display:none}.site-header .nav{display:flex;align-items:center;gap:22px;max-width:1440px;min-height:84px}.site-header .nav nav{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:clamp(9px,1.3vw,22px);flex-wrap:wrap}.site-header .nav nav a{line-height:1.4}.site-header .nav .actions{display:flex;flex-shrink:0;gap:8px}.hero-inner>div:first-child{min-width:0}.hero-art.branded{background-position:center center}.hero .row{gap:10px}.hero .btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center}.strip.benefits span{padding:0 10px;min-width:0}.strip.benefits b{line-height:1.4}.card,.member-card,.feature{min-width:0}.grid.four>.card{display:flex;flex-direction:column}.grid.four>.card>.card-body{display:flex;flex-direction:column;flex:1}.grid.four>.card .btn{margin-top:auto;align-self:flex-start}.member-grid>.member-card{display:flex;flex-direction:column}.member-grid>.member-card>a.btn{margin-top:auto;align-self:flex-start}.member-grid>.member-card:first-child>label[for="elf-time"]{margin-top:auto}.member-grid>.member-card:first-child>p:has(>#elf-rescue){margin-top:10px}.member-card .btn{max-width:100%;text-align:center}.editorial{overflow-wrap:break-word}.editorial .member-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))}.editorial h1{overflow-wrap:normal}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{padding:12px;border:1px solid #a9b6af;border-radius:8px}.woocommerce .button,.woocommerce button.button{min-height:44px}.site-footer .split{align-items:center}.site-footer p,.site-footer small{line-height:1.7}.site-footer a:focus-visible{outline-color:#fff}
@media(max-width:1100px){.site-header .nav{gap:12px;padding:10px 18px}.brand-logo{width:145px}.site-header .nav nav{gap:10px}.site-header .nav nav a{font-size:12px}.site-header .nav .actions .btn{padding:9px 11px}}
@media(max-width:800px){.site-header{position:sticky;top:0}.site-header .nav{display:grid;grid-template-columns:1fr auto auto;gap:10px;min-height:72px;text-align:left;padding:8px 16px}.site-header .nav>a{grid-column:1;grid-row:1}.brand-logo{width:140px;max-height:58px}.menu-toggle{display:inline-flex;grid-column:2;grid-row:1;align-items:center;justify-content:center;gap:6px;background:transparent;color:#fff;border:1px solid #ffffff80;border-radius:12px;padding:9px 12px;font-weight:700;min-height:44px}.site-header .nav .actions{grid-column:3;grid-row:1;display:flex;gap:6px;padding:0}.site-header .nav .actions .btn{padding:9px;font-size:12px;min-height:44px;display:inline-flex;align-items:center}.site-header .nav nav{display:none;grid-column:1/-1;grid-row:2;width:100%;padding:8px 0 12px;flex-direction:column;align-items:stretch;gap:0;overflow:visible;flex-basis:auto;order:initial}.site-header .nav nav.is-open{display:flex}.site-header .nav nav a{display:block;font-size:15px;padding:12px 10px;border-top:1px solid #ffffff24;white-space:normal}.hero-inner{grid-template-columns:1fr 1fr;gap:20px;padding:28px 20px}.hero h1{font-size:clamp(36px,5vw,54px)}.hero p{font-size:17px}.strip.benefits{grid-template-columns:repeat(3,1fr)}.benefits span{border:0}.site-footer .split{grid-template-columns:1fr;gap:18px}.site-footer .footer-logo{width:min(100%,320px)}}
@media(max-width:650px){.site-header .nav{grid-template-columns:1fr auto;gap:8px}.site-header .nav>a{grid-column:1}.menu-toggle{grid-column:2}.site-header .nav .actions{grid-column:1/-1;grid-row:2;justify-content:flex-start;padding:0 0 4px}.site-header .nav nav{grid-row:3}.site-header .nav .actions .btn{padding:8px 12px}.hero-inner{grid-template-columns:1fr;padding:28px 18px;gap:22px}.hero h1{font-size:clamp(38px,10vw,54px);letter-spacing:-2px}.hero p{font-size:17px}.hero-art.branded{min-height:230px;aspect-ratio:1.75;max-height:340px}.hero .row{display:flex;align-items:stretch;gap:10px}.hero .row .btn{flex:1;padding:11px 12px;font-size:13px;text-align:center}.strip.benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:15px}.strip.benefits span{padding:4px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-art{height:clamp(115px,32vw,175px)}.card-body{padding:14px}.card .btn{font-size:12px;padding:10px 12px;min-height:44px}.editorial .member-grid,.member-grid{grid-template-columns:1fr}.member-grid>.member-card{min-height:0;padding:20px}.member-grid>.member-card:first-child>label[for="elf-time"]{margin-top:10px}.member-grid>.member-card>a.btn{margin-top:12px}.content-wrap{margin:22px auto;padding:0 17px}.editorial h1{font-size:clamp(34px,9vw,48px)}.editorial .btn.light{margin-left:0}.site-footer{margin-top:35px}}
@media(max-width:390px){.brand-logo{width:116px}.menu-toggle{font-size:12px;padding:8px}.hero .row{flex-direction:column}.grid.four{grid-template-columns:1fr}.product-art{height:190px}.strip.benefits{grid-template-columns:1fr 1fr}.site-header .nav .actions .btn{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
