/* Alessandro Gherardeschi design system v1.0 */
:root{--ag-mint-50:#f5fbf9;--ag-mint-100:#eaf7f4;--ag-mint-500:#7fc8bf;--ag-mint-700:#397e75;--ag-ochre-500:#96850b;--ag-ochre-700:#665a08;--ag-ivory:#faf9f5;--ag-white:#fff;--ag-ink:#171714;--ag-text-secondary:#66665f;--ag-border:#dcdad1;--ag-success:#34725f;--ag-error:#b83a36;--ag-space-1:4px;--ag-space-2:8px;--ag-space-3:12px;--ag-space-4:16px;--ag-space-6:24px;--ag-space-8:32px;--ag-space-12:48px;--ag-space-16:64px;--ag-space-24:96px;--ag-radius-control:2px;--ag-radius-card:4px;--ag-radius-overlay:8px;--ag-shadow-low:0 4px 16px rgba(23,23,20,.06);--ag-shadow-high:0 20px 60px rgba(23,23,20,.12);--paper:var(--ag-ivory);--ink:var(--ag-ink);--line:var(--ag-border);--sage:var(--ag-mint-100);--green:var(--ag-ochre-700)}
html{scroll-behavior:smooth}body{background:var(--ag-ivory);color:var(--ag-ink);font-weight:400}body:not(.admin){min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}body:not(.admin)>main{flex:1 0 auto}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;transform:translateY(-150%);background:var(--ag-ink);color:#fff;padding:12px 16px}.skip-link:focus{transform:none}a,button,input,select,textarea{border-radius:var(--ag-radius-control)}:focus-visible{outline:2px solid var(--ag-mint-700);outline-offset:3px}
.site-head{height:88px;padding:0 clamp(20px,4vw,72px);background:rgba(250,249,245,.94);backdrop-filter:blur(16px);position:sticky;top:0;z-index:40;border-color:rgba(23,23,20,.14)}.site-head .logo,footer .logo{font-family:'DM Sans',Arial,sans-serif;color:var(--ag-ochre-500);font-size:clamp(18px,1.7vw,27px);font-weight:500;line-height:1;letter-spacing:-.065em;text-transform:none}.site-head nav{gap:clamp(16px,2vw,32px);font-size:11px;letter-spacing:.11em}.site-head nav a,.nav-logout button{min-height:44px;display:flex;align-items:center}.menu{font-size:0}.menu::after{content:'MENU';font-size:10px;letter-spacing:.12em}
.hero{min-height:calc(100vh - 88px);padding:clamp(32px,7vw,120px);align-items:center;background:linear-gradient(90deg,var(--ag-mint-500) 0 42%,rgba(127,200,191,.92) 42%,rgba(23,23,20,.06) 72%),url('/images/brand/campaign-ss27.webp') 72% center/cover;color:var(--ag-ochre-700)}.hero>div{max-width:min(40vw,620px)}.hero h1{font-size:clamp(58px,7vw,112px);line-height:.88;letter-spacing:-.055em;margin:20px 0 32px}.hero p:not(.eyebrow){font-family:'Gilda Display',Georgia,serif;font-size:clamp(17px,1.5vw,21px);line-height:1.55;max-width:470px}.eyebrow{font-size:10px;letter-spacing:.16em}.button,.admin-button{min-height:48px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:10px;letter-spacing:.11em;background:var(--ag-ochre-700);color:var(--ag-ivory)}.button.light{background:var(--ag-ochre-700);color:var(--ag-ivory)}
.section{padding:clamp(64px,8vw,128px) clamp(20px,4vw,72px)}main>.section:first-child{padding-top:clamp(28px,3vw,48px)}.section h2,.story-band h2{font-size:clamp(42px,4.8vw,74px);letter-spacing:-.04em}.section-head{align-items:flex-end;margin-bottom:42px}.grid{grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,30px)}.product-image{height:auto;aspect-ratio:4/5;background:var(--ag-mint-100)}.product-image b{background:var(--ag-ivory);font-size:9px;letter-spacing:.13em}.product-image span{background:var(--ag-ivory);box-shadow:var(--ag-shadow-low)}.product-meta{padding-top:14px}.product-meta h3{font-size:18px}.product-meta p{color:var(--ag-text-secondary)}.story-band{background:var(--ag-mint-100);min-height:720px}.story-photo{background-image:url('/images/brand/atelier-clothing-rack.webp');background-position:center;background-size:cover;aspect-ratio:1283/1226;min-height:0;align-self:center}.story-band h2{color:var(--ag-ochre-700)}.story-band .button{width:max-content}
.shop-head{padding:100px 20px 60px}.shop-head h1{font-size:clamp(56px,7vw,100px);letter-spacing:-.055em}.filters{margin:0 clamp(20px,4vw,72px);min-height:64px;align-items:center;text-transform:uppercase}.product-page{grid-template-columns:minmax(0,1.55fr) minmax(340px,.8fr);gap:5%;padding:32px clamp(20px,4vw,72px) 96px}.gallery{gap:3px}.gallery img{min-height:0;aspect-ratio:4/5}.buy{top:110px}.buy h1{font-size:42px;letter-spacing:-.035em}.lead{font-family:'Gilda Display',Georgia,serif;color:var(--ag-text-secondary)}.unique{background:var(--ag-mint-100);border:0}.sizes{grid-template-columns:repeat(3,1fr)}.sizes button,.size-option{min-height:48px}.size-option.selected{border-color:var(--ag-ink);background:var(--ag-ink);color:var(--ag-white)}.add{min-height:54px;background:var(--ag-ochre-700);font-size:11px}.delivery{color:var(--ag-text-secondary)}details{padding:20px 0}summary{min-height:28px}.cart{max-width:1100px;padding:clamp(60px,8vw,120px) 30px}.cart h1{font-size:clamp(48px,6vw,76px)}.cart-row{grid-template-columns:160px 1fr auto auto}.cart-row img{width:160px;height:200px}.cart-total{font-family:'Gilda Display',Georgia,serif;font-size:22px}footer{background:var(--ag-mint-500);color:var(--ag-ochre-700);padding:84px 5%;border:0}.notice{background:var(--ag-ochre-700)}
input,textarea,select{min-height:48px;border-color:var(--ag-border)!important;background:var(--ag-white)!important;font-family:inherit;font-size:16px;line-height:1.5}input:hover,textarea:hover,select:hover{border-color:var(--ag-text-secondary)!important}.error{background:#f8e9e7;color:#7b2926;border-left:3px solid var(--ag-error)}.flash{background:var(--ag-mint-100);color:#245548;border-left:3px solid var(--ag-success)}
.admin{background:#f6f6f1}.admin>aside{background:#20221e;color:#f6f4ea;width:232px}.admin-logo{color:var(--ag-mint-500)}.admin aside nav a{min-height:44px;border-radius:2px}.admin aside nav a.active{background:var(--ag-mint-500);color:var(--ag-ochre-700)}.admin-main{margin-left:232px;padding:44px clamp(24px,4vw,64px)}.admin-main header h1{font-size:40px;letter-spacing:-.035em}.avatar{background:var(--ag-ochre-700)}.stats{gap:12px}.stats article,.panel{border-color:var(--ag-border);box-shadow:none}.stats b{color:var(--ag-success)}.admin-button{background:var(--ag-ochre-700)}.products-table tr:hover td{background:var(--ag-mint-50)}.status{border-radius:999px}.status.paid,.status.delivered,.status.completed{background:var(--ag-mint-100);color:var(--ag-success)}.tabs b,.lang-tab.active{color:var(--ag-ochre-700)}.lang-tab.active{border-color:var(--ag-ochre-700)}.ai-call{background:var(--ag-ochre-700)}.camera{background:var(--ag-mint-100)}.media-card.is-main{border-color:var(--ag-mint-700);box-shadow:0 0 0 1px var(--ag-mint-700)}
@media(max-width:900px){.site-head{height:68px}.hero{min-height:auto;padding:72px 20px 0;background:var(--ag-mint-500)}.hero::after{content:'';display:block;height:66vh;margin:54px -20px 0;background:url('/images/brand/campaign-ss27.webp') 68% center/cover}.hero>div{max-width:none}.hero h1{font-size:clamp(52px,14vw,68px)}.grid{grid-template-columns:1fr 1fr}.product-page{grid-template-columns:1fr}.admin>aside{width:100%}.admin-main{margin-left:0}.story-band{min-height:620px}}
@media(max-width:560px){.site-head .logo{font-size:17px;white-space:nowrap}.site-head nav{overflow:visible}.site-head nav>a:not(.cart-icon-link){display:none}.grid{grid-template-columns:1fr}.product-image{height:auto}.shop-head{text-align:left;padding-inline:20px}.filters{overflow:auto;white-space:nowrap}.section-head{align-items:flex-start}.section-head>a{display:none}.cart-row{grid-template-columns:96px 1fr auto;gap:12px}.cart-row img{width:96px;height:120px}.cart-row>*:last-child{grid-column:2/4}.admin-main{padding:28px 15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* ===== UX audit fixes (2026-09) ===== */
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}
button.menu{background:transparent;border:0;margin:0;padding:10px 2px;color:inherit;font-family:inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.site-head.nav-open .logo{display:block}
.site-head.nav-open nav.site-nav a.cart-icon-link{display:flex;align-items:center;gap:8px;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;letter-spacing:1.5px;text-transform:uppercase}
.site-head.nav-open nav.site-nav a.cart-icon-link .cart-count{position:static}
.qty-form button{width:34px;height:34px}
.cart-remove{min-width:34px;min-height:34px;display:inline-flex;align-items:center;justify-content:center}
.source-remove{width:28px;height:28px;font-size:13px}
summary{cursor:pointer;pointer-events:auto}
.product-image-placeholder,.cart-thumb-placeholder,.thumb-placeholder{display:block;width:100%;height:100%;min-height:200px;background:repeating-linear-gradient(45deg,#eeece4,#eeece4 12px,#e6e3d8 12px,#e6e3d8 24px);border:1px solid var(--line)}
.thumb-placeholder{display:inline-block;width:46px;height:58px;min-height:0}
.product-image b.sold-out{background:#8a3b2e}
.error-summary{border:1px solid var(--ag-error);background:#fbf1f0;padding:14px 16px;margin:0 0 18px;font-size:14px;line-height:1.5}
.error-summary ul{margin:8px 0 0;padding-left:18px}
.field-error{color:var(--ag-error);font-size:12px;line-height:1.4;display:block;margin-top:4px}
.checkout-contact{display:block;margin:16px 0;font-size:14px;line-height:1.4}
.checkout-contact input{min-height:54px;padding:0 15px;font:16px/1.5 'DM Sans',Arial,sans-serif}
.shipping-note{font-size:13px;color:#66665f;margin:4px 0 16px}
.prompt-modal-box{max-height:88vh;overflow:auto}
.section .section-head h1{font:44px/1.1 'Gilda Display',serif;margin:12px 0}
.section .section-head h1,.shop-head h1,.editorial h1{font-weight:400}
.empty-collection{text-align:center;padding:40px 0;display:grid;gap:18px;justify-items:center}
.admin .error ul{margin:8px 0 0;padding-left:18px;font-weight:400}
.admin .error b{font-weight:600}
.size-editor-actions{padding:12px 0 0}
.size-editor .cell-hidden{padding:0;border:0}
.size-remove-check{white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.search-form select{min-height:38px;padding:0 8px;background:#fff;border:1px solid var(--line);font-family:inherit;font-size:16px}
.admin aside nav a{gap:10px}
@media(max-width:900px){.admin aside .aside-bottom{display:grid;padding:10px 4% 16px;border-top:1px solid #2c352b}}
@media(max-width:560px){
.section-head>a{display:inline-block}
.admin aside nav a{font-size:10px;letter-spacing:.02em;flex-direction:column;gap:4px}
.admin aside nav svg{width:18px;height:18px}
.admin aside nav{grid-template-columns:repeat(3,1fr);gap:10px 4px}
.section .section-head h1{font-size:32px}
}

/* ===== Account & orders (2026-09, Stripe iteration) ===== */
.account-grid{display:grid;grid-template-columns:minmax(280px,1fr) 2fr;gap:26px;align-items:start;text-align:left}
.account-panel{background:#fff;border:1px solid var(--ag-border);padding:26px}
.account-panel h2{font:28px/1.15 'Gilda Display',serif;font-weight:400;margin:0 0 16px}
.account-panel label{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:14px 0}
.account-panel input{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--ag-border);font:16px/1.5 'DM Sans',Arial,sans-serif}
.account-panel .add,.account-panel .button{margin-top:16px;width:100%;cursor:pointer}
.account-logout{margin-top:10px}
.account-orders{width:100%;border-collapse:collapse;font-size:14px}
.account-orders th{text-align:left;font-size:10px;letter-spacing:.14em;color:#66665f;border-bottom:1px solid var(--ag-border);padding:8px 10px 8px 0}
.account-orders td{padding:12px 10px 12px 0;border-bottom:1px solid var(--ag-border);vertical-align:top}
.account-orders small{display:block;color:#66665f;font-size:12px}
.order-admin-grid{display:grid;grid-template-columns:2fr 1fr;gap:26px;align-items:start;text-align:left}
.order-meta th{text-align:left;font-size:10px;letter-spacing:.14em;color:#66665f;padding:8px 10px 8px 0;vertical-align:top;white-space:nowrap}
.order-meta td{padding:8px 0;border-bottom:1px dashed var(--ag-border);font-size:14px}
@media(max-width:900px){.account-grid,.order-admin-grid{grid-template-columns:1fr}}

/* ===== Admin shortcut in the storefront header ===== */
.admin-panel-link{background:var(--ag-ink,#171714);color:#fff!important;padding:9px 16px!important;letter-spacing:.14em;border-radius:var(--ag-radius-control,2px);white-space:nowrap;transition:background .15s ease}
.admin-panel-link:hover{background:#3a4738}
.admin-panel-link:focus-visible{outline:2px solid var(--ag-mint-700);outline-offset:2px}
.site-head.nav-open nav.site-nav a.admin-panel-link{display:inline-block;margin:12px 0}

/* ===== Search buttons: inline magnifier icon ===== */
.search-form .ghost .search-icon{width:14px;height:14px;margin-right:7px;flex-shrink:0}

/* ===== Analytics chart rows: thumbnail + link ===== */
.chart-row{display:flex;align-items:center;gap:12px;padding:7px 0;text-decoration:none;color:inherit}
.chart-row:hover .chart-name{color:var(--ag-mint-700)}
.chart-thumb{width:42px;height:52px;object-fit:cover;flex-shrink:0;border:1px solid var(--ag-border)}
.chart-name{width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}
.chart-bar{flex:1;display:block}
.chart-bar i{display:block;height:10px;background:var(--ag-sage,#d8dfd1)}
.chart-row>b{min-width:3.5em;text-align:right}
