/* Shared finishing layer. Site content and colours still come from the admin. */
:root{--focus-ring:0 0 0 3px rgba(233,129,52,.34)}
[hidden]{display:none!important}
:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
::selection{background:#f9d8b9;color:#173b31}

body:not(.admin-page){--shadow:0 24px 70px rgba(20,48,38,.12);background:#fcfbf7}
body:not(.admin-page) .container{width:min(1220px,calc(100% - 48px))}
.empty-state__actions{justify-content:center}
.intro-photo{position:relative;align-self:center;width:100%;aspect-ratio:1;margin:0;overflow:hidden;border-radius:47% 47% 43% 43%;background:#e5ede3;box-shadow:12px 15px 0 #e8e4d6}
.intro-photo img{width:100%;height:100%;object-fit:cover}
.intro-photo figcaption{position:absolute;inset:auto 0 0;padding:65px 48px 38px;color:#174b3f;font-size:.73rem;font-weight:800;line-height:1.4;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.intro-photo.has-image figcaption{color:#fff;background:linear-gradient(transparent,rgba(9,37,26,.85))}
.catalog-pagination{text-align:center;margin-top:28px}.catalog-pagination p{color:#66796d;font-size:.83rem}
.product-reference-note{padding:12px 15px;border-left:3px solid #c79956;background:#f5f1e6;color:#526454;font-size:.85rem}
body:not(.admin-page) .product-card__image img{height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:720px){.intro-photo{max-width:380px;justify-self:center;margin-bottom:24px}}
body:not(.admin-page) .site-header{border-bottom:1px solid rgba(23,75,63,.08);background:rgba(252,251,247,.94)}
body:not(.admin-page) .nav-wrap{height:76px}
body:not(.admin-page) .main-nav a{color:#365449;font-size:.82rem}
body:not(.admin-page) .button{border-radius:8px;letter-spacing:.01em}
body:not(.admin-page) .button--primary{box-shadow:0 8px 20px rgba(23,75,63,.16)}
body:not(.admin-page) .button--ghost{background:transparent;border-color:#a9c0b0;color:#174b3f}
body:not(.admin-page) .hero{min-height:0;padding:clamp(72px,9vw,128px) 0;background:radial-gradient(circle at 5% 2%,#fff 0,transparent 37%),#f4f1e7}
body:not(.admin-page) .hero-grid{gap:clamp(30px,5vw,80px)}
body:not(.admin-page) .hero h1{max-width:780px;margin:22px 0 25px;font-size:clamp(3.1rem,5.7vw,6rem);line-height:.99;text-wrap:balance}
body:not(.admin-page) .hero-copy>p{max-width:580px;line-height:1.7}
body:not(.admin-page) .hero-copy .hero-lead{max-width:560px;font-size:clamp(1.1rem,1.6vw,1.32rem)}
body:not(.admin-page) .hero-showcase{min-height:clamp(400px,43vw,590px);border-radius:16px;padding:clamp(25px,4vw,46px);box-shadow:20px 20px 0 #e5ddc9;background-position:center}
body:not(.admin-page) .hero-showcase.has-image,body:not(.admin-page) .hero-showcase.has-builder-image{background-size:cover;background-position:center}
body:not(.admin-page) .hero-showcase strong{max-width:470px;font-size:clamp(3rem,5.2vw,5.5rem);text-shadow:0 2px 25px rgba(0,0,0,.24)}
body:not(.admin-page) .section{padding-block:clamp(68px,8vw,112px)}
body:not(.admin-page) .section-heading h2,body:not(.admin-page) .intro h2,body:not(.admin-page) .about-grid h2{max-width:850px;text-wrap:balance}
body:not(.admin-page) .section-heading>p{font-size:.96rem;line-height:1.75}
body:not(.admin-page) .collection-card{position:relative;min-height:390px;border-radius:14px;padding:30px;box-shadow:0 2px 7px rgba(20,48,38,.025)}
body:not(.admin-page) .collection-card:hover{box-shadow:0 22px 48px rgba(20,48,38,.11)}
body:not(.admin-page) .collection-card h3{margin-top:32px;font-size:clamp(1.8rem,2vw,2.2rem)}
body:not(.admin-page) .collection-card a{display:inline-flex;min-height:38px;align-items:center;border-bottom:2px solid var(--accent)}
body:not(.admin-page) .use-grid article,body:not(.admin-page) .process-card{border-radius:12px}
body:not(.admin-page) .use-grid article{transition:transform .2s,box-shadow .2s}
body:not(.admin-page) .use-grid article:hover{transform:translateY(-3px);box-shadow:0 15px 35px rgba(20,48,38,.07)}
body:not(.admin-page) .faq-list details{padding-block:21px}
body:not(.admin-page) .faq-list summary{font-size:1rem}
body:not(.admin-page) .contact-form{border-radius:18px;box-shadow:0 25px 60px rgba(0,0,0,.12)}
body:not(.admin-page) .site-footer{border-top:1px solid rgba(255,255,255,.12)}
body:not(.admin-page) .public-content-block{padding-block:clamp(70px,8vw,112px)}
body:not(.admin-page) .public-content-block:nth-child(even){background:#f2f4ec}
body:not(.admin-page) .public-content-block__inner{width:min(1220px,calc(100% - 48px))}
body:not(.admin-page) .public-content-block__code{color:#a35125;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
body:not(.admin-page) .public-content-block__title{font-size:clamp(2.2rem,3.5vw,3.8rem);letter-spacing:-.045em;text-wrap:balance}
body:not(.admin-page) .public-content-block__body{font-size:1.02rem}
body:not(.admin-page) .public-content-block__gallery{gap:18px;margin-top:30px}
body:not(.admin-page) .public-content-block figure{border-radius:12px;background:#e1e8df}
body:not(.admin-page) .public-content-block figure img{max-height:620px}
body:not(.admin-page) .public-content-block__caption{padding:13px 16px;font-size:.78rem}
body.generated-page .generated-page__hero{min-height:360px;display:flex;align-items:center;background-color:#174b3f}
body.generated-page .generated-page__hero.has-image{min-height:440px;background-size:cover;background-position:center}
body.generated-page .generated-page__hero h1{max-width:850px;letter-spacing:-.05em;text-wrap:balance}

.admin-page{--brand:#174b3f;--brand-dark:#10382f;--brand-light:#e8f1e9;--ink:#1c3028;--muted:#617268;--line:#dce6de;--canvas:#f4f7f2;--shadow-sm:0 8px 24px rgba(14,46,34,.07);background:#f5f7f4}
.admin-page .admin-sidebar{background:#102f28;border-right:1px solid rgba(255,255,255,.08)}
.admin-page .admin-nav{gap:5px}
.admin-page .admin-nav__item{border-radius:9px;font-size:.84rem}
.admin-page .admin-nav__item:hover{background:rgba(255,255,255,.09);color:#fff}
.admin-page .sidebar-footer{border-top-color:rgba(255,255,255,.14)}
.admin-page .admin-user .avatar{background:#dceee1;color:#174b3f}
.admin-page .admin-user small,.admin-page .sidebar-action{color:#b7d0bf}
.admin-page .admin-main{background:#f5f7f4}
.admin-page .welcome-card{border-radius:16px;background:linear-gradient(120deg,#133e32,#286a51);box-shadow:0 16px 40px rgba(18,70,48,.16)}
.admin-page .welcome-card p{color:#d5e6da}
.admin-page .admin-card,.admin-page .metric-card{border-color:#e0e8e1;border-radius:14px;box-shadow:0 5px 22px rgba(16,48,38,.035)}
.admin-page .panel-toolbar{align-items:center;margin-bottom:22px}
.admin-page .panel-toolbar h2{font-size:clamp(1.55rem,2vw,2rem);letter-spacing:-.04em}
.admin-page .panel-toolbar p{font-size:.82rem}
.admin-page .metric-grid{gap:14px}
.admin-page .metric-card{min-height:112px}
.admin-page .metric-card strong{font-size:2rem}
.admin-page .card-heading{padding:22px 24px}
.admin-page .card-heading h3{font-size:1rem}
.admin-page .editor-section{padding:26px}
.admin-page .field span,.admin-page .field>span{font-weight:700}
.admin-page input:not([type=checkbox]):not([type=color]):not([type=file]),.admin-page select,.admin-page textarea{border-radius:8px}
.admin-page .button{border-radius:8px}
.admin-page .admin-dialog{border-radius:16px;box-shadow:0 35px 100px rgba(4,28,20,.24)}
.admin-page .admin-dialog::backdrop{background:rgba(8,28,22,.58);backdrop-filter:blur(3px)}
.admin-page .builder-workspace{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:20px}
.admin-page .builder-preview{top:20px;padding:18px;border-radius:14px}
.admin-page .builder-preview iframe{border-radius:8px}
.admin-page .builder-block{padding:18px;border-radius:12px;background:#fcfdfa}
.admin-page .builder-block>header{margin-bottom:17px}
.admin-page .builder-block>header strong{font-size:.9rem}
.admin-page .builder-block-actions button,.admin-page .builder-preview-toolbar button{border-radius:6px;font-size:.72rem}
.admin-page .builder-block .form-grid{gap:14px}
.admin-page .builder-image-list{display:grid;gap:10px;margin:8px 0 14px}
.admin-page .builder-image-item{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}
.admin-page .builder-image-item img{width:88px;height:88px;object-fit:cover;border-radius:6px;background:#e9efea}
.admin-page .builder-image-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:0}
.admin-page .builder-image-fields input{width:100%;min-width:0}
.admin-page .builder-image-item__head{display:flex;grid-column:1/-1;justify-content:space-between;gap:8px}
.admin-page .builder-image-item__head small{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}
.admin-page .builder-image-controls{display:flex;gap:4px;flex:0 0 auto}
.admin-page .builder-image-item__head button{min-width:28px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--brand);font-weight:700;cursor:pointer}
.admin-page .builder-image-item__head button:last-child{color:#9e4334}
.admin-page .builder-image-item__head button:disabled{opacity:.35;cursor:default}
.admin-page .builder-media-grid button{border-radius:9px;transition:border-color .2s,transform .2s}
.admin-page .builder-media-grid button:hover{border-color:var(--brand);transform:translateY(-2px)}
.admin-page .builder-media-grid span{font-size:.73rem}
.admin-page .media-folder,.admin-page .media-item{border-radius:10px}
.admin-page .media-bulk-toolbar{top:12px;border-radius:8px;background:#fff}
.admin-page .media-item__actions button{border-radius:6px}

@media(max-width:1100px){.admin-page .builder-workspace{grid-template-columns:1fr}.admin-page .builder-preview{position:static}}
@media(max-width:900px){body:not(.admin-page) .nav-wrap{height:70px}body:not(.admin-page) .hero-grid{grid-template-columns:1fr}body:not(.admin-page) .hero-showcase{min-height:460px}body:not(.admin-page) .hero{padding-block:66px}.collection-nav.is-open{display:grid}}
@media(max-width:720px){body:not(.admin-page) .container,body:not(.admin-page) .public-content-block__inner{width:min(1220px,calc(100% - 36px))}body:not(.admin-page) .hero h1{font-size:clamp(2.7rem,11vw,4.4rem)}body:not(.admin-page) .hero-showcase{min-height:370px;box-shadow:10px 10px 0 #e5ddc9}body:not(.admin-page) .section-heading{gap:18px}body:not(.admin-page) .public-content-block__gallery{gap:12px}body:not(.admin-page) .collection-nav{display:grid}.admin-page .builder-image-item{grid-template-columns:68px minmax(0,1fr)}.admin-page .builder-image-item img{width:68px;height:68px}.admin-page .builder-image-fields{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
