/* Visual settings extend the original storefront; the admin keeps its own neutral palette. */
.storefront h1,.storefront h2{font-family:var(--heading-font,Georgia,serif)}
.storefront .button{background:var(--green);border-color:var(--green)}
.storefront .button.secondary{background:transparent;color:var(--green);border-color:#cfd9ce}
.storefront .hero .eyebrow,.storefront .hero-note span,.storefront .trust span{color:var(--gold)}
.storefront .site-logo{width:var(--logo-width,180px);height:auto;max-height:100px;object-fit:contain;flex-shrink:1}
.storefront .brand{min-width:0}.storefront .header>.brand{max-width:48%;flex-shrink:0}
.storefront .brand>span:not(.brand-icon){white-space:normal;font-size:clamp(22px,3vw,38px)}
.storefront footer .brand{align-items:center}.storefront footer .site-logo{max-height:85px;max-width:220px}
.storefront .hero-art>img.fit-cover{object-fit:cover;transform:none;width:100%;height:100%;max-height:none;position:absolute;inset:0}
.storefront .hero-art>img.fit-contain{object-fit:contain}
.storefront.layout-banner .hero{grid-template-columns:minmax(0,42%) minmax(0,58%);min-height:530px}
.storefront.layout-banner .hero-copy{padding:55px 25px 45px 42px;background:var(--cream)}
.storefront.layout-banner .hero-art{min-height:530px}
.storefront.layout-banner .hero-art>img{transform:none}
.storefront.layout-center .hero{display:flex;flex-direction:column;text-align:center;align-items:center}
.storefront.layout-center .hero-copy{padding:45px 30px 0;max-width:800px}
.storefront.layout-center .hero-copy>p:not(.eyebrow){max-width:600px;margin-left:auto;margin-right:auto}
.storefront.layout-center .hero h1{font-size:clamp(42px,5vw,68px)}
.storefront.layout-center .hero-note{justify-content:center}
.storefront.layout-center .hero-art{width:100%;height:400px;justify-content:center}
.storefront.layout-center .hero-art>img{height:100%;width:100%;transform:none;max-height:400px;object-fit:contain}
.storefront.cards-3 .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.storefront.density-compact .section{padding-top:28px;padding-bottom:28px}
.storefront.density-compact .trust{padding-top:20px;padding-bottom:20px}
.storefront.density-compact .story{padding-top:35px;padding-bottom:35px}
.storefront .story-image{width:42%;max-height:370px;object-fit:cover;border-radius:8px;margin-left:35px;aspect-ratio:5/4}
.campaign-top{background:var(--campaign,#9a3655);color:white}
.campaign-top a{color:white;display:block}.campaign-top span{padding-left:20px;font-weight:600}
.campaign-banner{margin:32px 0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);background:var(--campaign,#9a3655);color:white;border-radius:12px;overflow:hidden;position:relative;min-height:300px}
.campaign-copy{padding:38px 45px;position:relative;z-index:1}
.campaign-banner h2{font-size:clamp(32px,4vw,52px);color:white;margin-bottom:20px}
.campaign-label{font-size:10px;letter-spacing:2.4px;color:white;opacity:.85}
.campaign-banner p:not(.campaign-label){font-size:14px;max-width:500px;color:white;opacity:.9}
.campaign-banner .campaign-button{background:#fff;color:var(--campaign,#9a3655);border-color:white;margin-top:13px}
.campaign-banner .campaign-button:hover{background:#f5efe9;color:#333}
.campaign-banner>img{width:100%;height:100%;max-height:450px;object-fit:cover;align-self:center}
.campaign-clock{display:inline-block;font-size:12px;border:1px solid #ffffff60;padding:8px 13px;border-radius:6px;margin:0 15px 5px 0;line-height:1.6;font-variant-numeric:tabular-nums}
.campaign-decoration{font:230px/1 Georgia;color:#ffffff30;display:flex;align-items:center;justify-content:center;position:relative;transform:rotate(15deg);user-select:none}
.campaign-decoration span{font:100px Georgia;position:absolute;right:30px;bottom:20px;color:#ffffff50}
.design-intro{display:flex;align-items:center;gap:25px;justify-content:space-between;margin-bottom:26px}
.design-intro p{font-size:13px;max-width:620px;color:#71806d;margin:10px 0 0}
.design-intro .button{white-space:nowrap}
.design-editor{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px);gap:24px;align-items:start}
.design-editor>div{min-width:0}
.theme-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
.theme-choice{display:grid;grid-template-columns:20px 1fr;gap:8px 12px;border:1px solid #dce5d5;padding:16px;border-radius:10px;cursor:pointer;margin:0}
.theme-choice:has(input:checked){border-color:#285344;box-shadow:0 0 0 1px #285344;background:#f6f9f2}
.theme-choice input{width:17px;margin:0;accent-color:#285344}
.theme-swatches{display:flex;gap:5px;align-items:center}.theme-swatches i{width:25px;height:25px;border-radius:50%;border:1px solid #00000012}
.theme-choice b{grid-column:2;font-size:11px;font-weight:550}
.design-uploads{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.design-upload{padding:20px;background:#fafbf7;border:1px dashed #d7e1cc;border-radius:9px;margin:15px 0 22px;min-width:0}
.design-upload h3{font-size:14px}.design-upload small{font-size:10px;display:block}
.design-upload-preview{height:160px;width:100%;object-fit:contain;background:repeating-conic-gradient(#edf0e8 0% 25%,#fff 0% 50%) 50% / 18px 18px;border:1px solid #e3e7dc;border-radius:6px;margin-bottom:18px}
.design-upload-preview[hidden]{display:none}.design-upload input[type=file]{font-size:11px;padding:8px;overflow:hidden}
.design-editor input[type=color]{height:46px;padding:5px;cursor:pointer}
.design-editor h3{margin-top:25px}.design-editor h3:first-child{margin-top:0}
.design-preview{position:sticky;top:20px;padding:23px}
.design-preview>.eyebrow{font-size:9px;letter-spacing:1.5px}.design-preview>small{font-size:10px;display:block;line-height:1.7}
.mini-store{border:1px solid #dce4d6;border-radius:9px;overflow:hidden;margin-top:18px;background:#fff;font-size:10px}
.mini-top{text-align:center;color:white;background:var(--preview-primary);font-size:8px;padding:6px}
.mini-brand{padding:14px;font:24px Georgia;color:var(--preview-primary)}
.mini-hero{background:var(--preview-bg);padding:16px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5px;min-height:185px}
.mini-hero small{font-size:6px;letter-spacing:1px;color:var(--preview-primary)}
.mini-hero h3{font:22px/1.2 Georgia;margin:9px 0 12px;color:var(--preview-primary);white-space:pre-line}
.mini-hero img{object-fit:contain;max-height:180px;width:100%}
.mini-button{display:inline-block;padding:8px 10px;background:var(--preview-primary,#285344);color:white;font-size:8px;border-radius:3px}
.mini-store>p{font:17px Georgia;padding:15px 14px 4px;margin:0}
.mini-cards{display:flex;gap:8px;padding:12px}.mini-cards i{height:70px;flex:1;background:var(--preview-bg);border:1px solid #dfe4d8;border-radius:4px}
.section-sort-row{display:flex;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid #e2e8dc}
.section-sort-row .checkbox{flex:1;align-items:center;margin:0;font-size:11px}
.sort-number{margin:0;font-size:9px;width:60px}.sort-number input{padding:7px 9px;margin-top:3px}
.section-sort-row>div{display:flex;gap:4px}.section-sort-row button{border:1px solid #d3ddcb;border-radius:4px;background:#f9fcf5;padding:8px;color:#285344;min-width:30px}
.section-sort-row button:disabled{opacity:.3;cursor:default}
.design-save{position:sticky;bottom:12px;z-index:3;display:flex;align-items:center;gap:25px;background:#fffffff5;border:1px solid #dce5d4;border-radius:10px;padding:16px 20px;box-shadow:0 4px 25px #20392312;backdrop-filter:blur(5px)}
.campaign-mini{position:relative;overflow:hidden;padding:28px 22px;background:var(--campaign,#9a3655);border-radius:8px;color:white;margin:20px 0}
.campaign-mini h2{font:32px/1.15 Georgia;color:white;margin:18px 0}.campaign-mini p{font-size:12px;white-space:pre-line;position:relative;z-index:1}
.campaign-mini small{font-size:8px;letter-spacing:2px;color:white}.campaign-mini .mini-button{background:white;color:var(--campaign)}
.mini-flower{position:absolute;right:-20px;bottom:-10px;font:150px Georgia;opacity:.15;pointer-events:none}
@media(max-width:1200px){.design-editor{grid-template-columns:minmax(0,1fr) 270px}.design-editor .form-grid{grid-template-columns:1fr}.design-uploads{grid-template-columns:1fr}.theme-picker{grid-template-columns:1fr 1fr}.theme-choice{padding:12px;gap:7px}.theme-swatches i{width:20px;height:20px}.design-preview{padding:17px}}
@media(max-width:980px){.design-editor{grid-template-columns:1fr}.design-preview{position:static;order:-1}.mini-store{max-width:450px;margin:15px auto}.design-editor .form-grid{grid-template-columns:1fr 1fr}.design-uploads{grid-template-columns:1fr 1fr}.design-preview .campaign-mini{max-width:450px;margin:18px auto}.design-intro{align-items:flex-start}.design-intro .button{font-size:11px;padding:10px 14px;gap:10px}}
@media(max-width:760px){.storefront .site-logo{max-width:145px;max-height:65px}.storefront .header>.brand{max-width:60%;gap:6px}.storefront .brand>span:not(.brand-icon){font-size:25px}.storefront .brand:has(.site-logo)>span{display:none}.storefront.layout-banner .hero{grid-template-columns:1fr;min-height:0}.storefront.layout-banner .hero-copy{padding:28px 25px}.storefront.layout-banner .hero-art{min-height:300px;height:300px}.storefront.layout-banner .hero-art>img{max-height:none;position:absolute;inset:0;width:100%;height:100%}.storefront.layout-center .hero-copy{padding:28px 22px 0}.storefront.layout-center .hero-art{height:300px}.storefront.cards-3 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.storefront .story:has(.story-image){flex-direction:column;align-items:stretch;gap:25px}.storefront .story-image{width:100%;margin:0;max-height:300px}.campaign-banner{grid-template-columns:1fr;margin:24px 0}.campaign-copy{padding:28px}.campaign-banner h2{font-size:36px}.campaign-banner>img{max-height:300px;aspect-ratio:5/3}.campaign-banner p:not(.campaign-label){font-size:12px}.campaign-label{font-size:9px}.campaign-decoration{display:none}.campaign-clock{font-size:10px}.campaign-top{font-size:10px;letter-spacing:0}.campaign-top span{padding-left:10px;white-space:nowrap}.design-intro{display:block}.design-intro .button{margin-top:15px}.design-editor .form-grid,.design-uploads{grid-template-columns:1fr}.theme-picker{grid-template-columns:1fr 1fr}.design-save{flex-wrap:wrap;gap:10px;padding:12px}.design-save .button{flex:1}.design-save .text-link{font-size:10px}.section-sort-row{gap:9px}.section-sort-row .checkbox{font-size:10px}.section-sort-row button{padding:6px;min-width:27px}.design-preview{padding:20px}}
@media(prefers-reduced-motion:reduce){.campaign-banner *,.product-image img{transition:none!important;animation:none!important}}

.storefront .section-heading .catalog-title{font-size:clamp(30px,3.5vw,44px);margin:0}.admin-main details{margin:16px 0}.admin-main details p{white-space:normal}
