/* Public navigation and progressively enhanced app layout; no admin styles. */
:root{--app-safe:env(safe-area-inset-bottom,0px);--app-bottom:calc(70px + var(--app-safe))}
html{scroll-padding-top:90px}
html:has(dialog[open]){overflow:hidden}
.app-bottom,.app-home,.header-cart,.mobile-view-link,.calc-stepper,.calc-next,.calc-back,.calc-edit{display:none}
.app-more,.app-install{border:0;border-radius:24px;padding:0;color:var(--ink);background:#fff;box-shadow:0 28px 80px #102d2560}
.app-more:not([open]),.app-install:not([open]){display:none}
.app-more::backdrop,.app-install::backdrop{background:#0c201d99;backdrop-filter:blur(4px)}
.app-more{width:min(480px,calc(100% - 20px));max-height:85dvh;margin:auto auto 12px}
.app-more-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:22px;background:white;border-bottom:1px solid var(--line)}
.app-more-head small{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--green)}
.app-more-head h2{font-size:21px;letter-spacing:-.6px;margin:6px 0 0}
.app-icon-button{display:grid;place-items:center;background:var(--bg-soft);border:1px solid var(--line);border-radius:50%;width:44px;height:44px;cursor:pointer;color:var(--ink)}
.app-icon-button svg,.header-cart svg{width:22px;height:22px}
.app-more-body{padding:16px 22px calc(22px + var(--app-safe))}
.app-quote{width:100%;justify-content:space-between;margin-bottom:14px}.app-quote svg{height:20px;width:20px}
.app-more-group{border-bottom:1px solid var(--line)}
.app-more-group summary{padding:16px 0;font-size:15px;font-weight:650;cursor:pointer;list-style:revert}
.app-more-group a{display:flex;justify-content:space-between;gap:12px;padding:13px 8px;border-radius:10px;font-size:14px;color:var(--ink-soft);min-height:44px}
.app-more-group a:hover{color:var(--green);background:var(--green-050)}
.app-more-group .app-sub-link{padding-left:24px;font-size:12px}
.app-utilities{display:grid;gap:8px;margin-top:20px}.app-utilities button{background:var(--bg-soft);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:left;font:600 14px var(--sans);color:var(--ink);cursor:pointer;min-height:48px}
.app-utilities svg{width:18px;height:18px;vertical-align:middle;margin-right:6px}
.app-support{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;margin-top:20px;color:var(--green)}
.app-install{width:min(420px,calc(100% - 30px));padding:32px;margin:auto}.app-install h2{font-size:25px;margin:20px 0 10px}.app-install p{font-size:14px;color:var(--ink-soft);margin:12px 0;line-height:1.6}.app-install .small{font-size:12px}.install-close{position:absolute;top:12px;right:12px}.app-install-mark{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:var(--green-050);color:var(--green)}.app-install-mark svg{width:30px;height:30px}
.drop-panel{max-height:min(650px,calc(100dvh - 110px));overflow-y:auto}.drop-panel:before{display:none}
@media(min-width:1101px){
 .menu .drop:after{content:"";position:absolute;top:100%;left:0;right:0;height:18px}
 .menu .drop-panel{top:100%;margin-top:0;border-top:14px solid transparent;background-clip:padding-box}
}
.menu a.btn-green{white-space:nowrap}.menu .drop-panel{min-width:250px}.menu .drop:nth-last-of-type(-n+2) .drop-panel{left:auto;right:0;transform:translateY(-6px)}
.menu .drop:nth-last-of-type(-n+2):hover .drop-panel,.menu .drop:nth-last-of-type(-n+2):focus-within .drop-panel,.menu .drop.open:nth-last-of-type(-n+2) .drop-panel{transform:translateY(0)}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #68b98b;outline-offset:3px}
@media(min-width:1101px){html.js .drop:not(.open) .drop-panel{opacity:0;visibility:hidden;pointer-events:none}html.js .drop.open .drop-panel{pointer-events:auto}}
@media(max-width:1100px){
 .nav-inner{gap:10px;height:68px}.burger{display:block;margin-left:0;order:4}.logo{margin-right:auto}.header-cart{display:flex;position:relative;align-items:center;justify-content:center;width:44px;height:44px;color:var(--ink);border:1px solid var(--line);border-radius:13px}.header-cart b{position:absolute;top:-4px;right:-3px;border-radius:12px;background:var(--green);color:#fff;min-width:18px;font-size:10px;text-align:center;padding:2px}
 .menu{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;background:white;padding:14px 22px;max-height:calc(100dvh - 68px);overflow-y:auto;border-bottom:1px solid var(--line);gap:2px}.menu.open{display:flex}.menu .cart-link{display:none}.menu .drop-btn{width:100%;justify-content:space-between}.menu a,.menu .drop-btn{padding:13px;font-size:14px}.menu .drop-panel{position:static;transform:none!important;min-width:0;display:none;opacity:1;visibility:visible;border:0;box-shadow:none;background:var(--bg-soft);margin:0}.menu .drop.open .drop-panel{display:block}.menu .btn{justify-content:center;margin:10px 0}.mobile-view-link{display:block;min-height:44px;padding:12px;border:0;border-radius:10px;text-align:left;color:var(--green);font:600 14px var(--sans);background:var(--green-050);cursor:pointer}
}
html[data-view="app"] body{padding-bottom:var(--app-bottom);background:#f5f8f6}
html[data-view="app"] .nav{position:sticky;top:0;border-bottom:1px solid #e3ece6;background:#ffffffed;backdrop-filter:blur(16px)}
html[data-view="app"] .nav-inner{height:66px;gap:12px}
html[data-view="app"] .nav .logo{margin-right:auto;font-size:16px;gap:9px}
html[data-view="app"] .nav .logo .mark-img{max-height:40px;max-width:55px}
html[data-view="app"] .menu{display:none!important}
html[data-view="app"] .burger{display:block;margin-left:0;order:4}
html[data-view="app"] .header-cart{display:flex}
html[data-view="app"] .app-bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:80;padding:8px 8px calc(6px + var(--app-safe));height:var(--app-bottom);background:#fffffff5;border-top:1px solid #dce7df;backdrop-filter:blur(16px);box-shadow:0 -5px 25px #13351e07}
.app-bottom a,.app-bottom button{border:0;background:transparent;color:#69786f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-radius:14px;font:550 10px var(--sans);min-height:48px;cursor:pointer}
.app-bottom svg{width:22px;height:22px}.app-bottom [aria-current],.app-bottom .is-current{color:var(--green);background:#e8f4ec}.app-bottom [data-more-open][aria-expanded="true"]{color:var(--green);background:#e8f4ec}
html[data-view="app"] .wa{width:48px;height:48px;right:16px;bottom:calc(var(--app-bottom) + 14px);box-shadow:0 6px 20px #15622b33}
html[data-view="app"] .consent{bottom:calc(var(--app-bottom) + 12px);z-index:91}
html[data-view="app"] section{padding:34px 0}
html[data-view="app"] .wrap{width:100%;max-width:var(--wrap);padding-inline:16px}
html[data-view="app"] .app-home{display:block;padding:22px 0 12px;background:linear-gradient(150deg,#e6f4eb,#f5f8f6 65%)}
.app-home-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.app-home .eyebrow{font-size:10px;margin-bottom:8px}.app-home h1{font-size:27px;line-height:1.22;letter-spacing:-1px;max-width:260px}.app-home-top>a{display:flex;gap:5px;align-items:center;font-size:12px;color:var(--green);white-space:nowrap;padding-top:8px}.app-home-top svg{width:15px;height:15px}
.app-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.app-service-grid>a{display:flex;flex-direction:column;gap:7px;min-height:132px;background:white;border:1px solid #dfebe2;padding:16px;border-radius:18px;box-shadow:0 4px 14px #1c533c04}.app-service-grid svg{width:26px;height:26px;color:var(--green);margin-bottom:3px}.app-service-grid>a:nth-child(2n) svg{color:var(--blue)}.app-service-grid b{font-size:14px;line-height:1.3}.app-service-grid small{font-size:11px;color:var(--ink-soft)}
html[data-view="app"] .hslide{padding:30px 0 54px}html[data-view="app"] .hero-grid{grid-template-columns:1fr;gap:22px}html[data-view="app"] .hero h1,html[data-view="app"] .hero .as-h1{font-size:28px;line-height:1.2}html[data-view="app"] .hero p.lead{font-size:14px;margin:12px 0 18px}html[data-view="app"] .hero-visual{min-height:220px;padding:18px}html[data-view="app"] .hero-cta{gap:8px}html[data-view="app"] .hero-cta .btn{font-size:12px;padding:11px 13px}html[data-view="app"] .hero-badges{display:none}
html[data-view="app"] .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
html[data-view="app"] .product{border-radius:17px;min-width:0}html[data-view="app"] .prod-img{height:150px}html[data-view="app"] .prod-body{padding:13px}html[data-view="app"] .prod-body h3{font-size:13px;line-height:1.5}html[data-view="app"] .prod-body .btn{min-height:44px;font-size:11px;padding:10px 8px}
html[data-view="app"] .shop-side{position:static}html[data-view="app"] .shop-layout{grid-template-columns:1fr;gap:18px}
html[data-view="app"] .gal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}html[data-view="app"] .gal-item.wide{grid-column:span 2}html[data-view="app"] .gal-item figcaption{padding:35px 10px 10px}html[data-view="app"] .gal-item figcaption b{font-size:12px}html[data-view="app"] .gal-filter{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding:3px 0 10px;gap:8px}html[data-view="app"] .gal-filter button{white-space:nowrap;padding:10px 14px}
html[data-view="app"] .page-hero{padding:28px 0}html[data-view="app"] .page-hero h1{font-size:30px}html[data-view="app"] footer{margin-top:20px}
html[data-view="app"] input,html[data-view="app"] select,html[data-view="app"] textarea{font-size:16px;max-width:100%}
html[data-view="app"] .calc-tabs{grid-template-columns:1fr 1fr}.calc-stepper ol{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:0;gap:6px}.calc-stepper li{font-size:10px;color:var(--ink-faint);text-align:center;padding:12px 2px;border-bottom:3px solid var(--line)}.calc-stepper li[aria-current]{color:var(--green);border-color:var(--green);font-weight:700}.calc-stepper b{display:block;margin-bottom:4px;font-size:14px}
html[data-view="app"] .calc-stepper{display:block;padding:4px 12px 12px}html[data-view="app"] .calc-next,html[data-view="app"] .calc-back,html[data-view="app"] .calc-edit{display:inline-flex;margin:12px 16px 20px}html[data-view="app"] .calc-next{width:calc(100% - 32px);justify-content:center}
html[data-view="app"] .calc-form[data-calc-stage="1"] [data-calc-step="2"],html[data-view="app"] .calc-form[data-calc-stage="2"] [data-calc-step="1"]{display:none}
html.js[data-view="app"] body[data-calc-results="true"]:not(.calc-editing) #calc-form{display:none}
.calc-step-error{padding:14px;margin:12px;color:#a42c24;background:#fff0ed;border:1px solid #f1ccc5;border-radius:10px}.calc-step-error[hidden]{display:none}
@media(max-width:360px){html[data-view="app"] .product-grid{grid-template-columns:1fr}.app-home h1{font-size:24px}.app-home-top>a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.app-more::backdrop,.app-install::backdrop{backdrop-filter:none}}

.app-shop-filters>summary{display:none}
html[data-view="app"] .app-shop-filters>summary{display:block;list-style:revert;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:white;font-weight:650;font-size:14px;cursor:pointer}
html[data-view="app"] .side-help{display:none}
html[data-view="app"] .product .shot{height:145px}
html[data-view="app"] .product .body{padding:12px}
html[data-view="app"] .product h3{font-size:13px;line-height:1.4}
html[data-view="app"] .product .blurb{display:none}
html[data-view="app"] .product .amt{font-size:16px;margin-bottom:10px}
html[data-view="app"] .product .cat{font-size:9px;letter-spacing:.03em}
html[data-view="app"] .product .add-row{flex-wrap:wrap;gap:6px}
html[data-view="app"] .product .add-row .btn{font-size:11px;padding:10px 7px;min-height:44px}
html[data-view="app"] .product .add-row input{width:44px}
html[data-view="app"] .foot-grid{grid-template-columns:1fr;gap:20px}
html[data-view="app"] .foot-grid>div:not(:first-child):not(:last-child){display:none}
html[data-view="app"] .foot-desc{font-size:13px}
html[data-view="app"] .foot-bottom{font-size:11px}

.app-step-number{display:none}html[data-view="app"] .app-step-number{display:inline}
html[data-view="app"] .scenario-grid{display:flex;flex-direction:column;gap:20px}
html[data-view="app"] .scenario.s-c{order:-1}
