/* Veera Weaves v2. Server-rendered boutique; three local font files, no shop JS. */
@font-face{font-family:Marcellus;src:url(/fonts/marcellus-400-latin.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Mukta;src:url(/fonts/mukta-400-latin.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Mukta;src:url(/fonts/mukta-700-latin.woff2) format('woff2');font-weight:700;font-display:swap}
:root{--maroon:#58111a;--maroon-dark:#3f0b13;--maroon-light:#7a1926;--teal:#0b3e48;--gold:#c59a27;--gold-light:#e5c365;--gold-dark:#806016;--gold-soft:#f5eddb;--ivory:#fcfaf6;--ivory-warm:#f5efe6;--white:#fff;--indigo:#241a1b;--ink:#241a1b;--muted:#5c5051;--line:#e8dccb;--field:#b4a28b;--error:#a32424;--error-bg:#fff0ee;--ok-bg:#edf5ef;--r:4px;--heading:Marcellus,Georgia,serif;--body:Mukta,system-ui,sans-serif;--shadow:0 2px 8px rgba(63,11,19,.04);--shadow-md:0 8px 24px rgba(63,11,19,.08);--madder:var(--maroon);--zari:var(--gold);--paper:var(--ivory);--serif:var(--heading);--sans:var(--body)}
*{box-sizing:border-box}html{scroll-padding-top:120px;-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--ivory);color:var(--ink);font:400 1rem/1.6 var(--body)}main{flex:1;padding:28px 0 56px}main.full{padding:0}img{display:block;max-width:100%}a{color:var(--maroon);text-underline-offset:4px}a:hover{color:var(--teal)}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{font-family:var(--heading);font-weight:400;line-height:1.25;color:var(--maroon-dark);overflow-wrap:anywhere}h1{font-size:clamp(1.9rem,5vw,2.75rem);margin:0 0 16px}h2{font-size:1.65rem;margin:1.5em 0 .6em}h3{font-size:1.15rem;margin:0 0 12px}p,ul,ol{margin:0 0 16px}form,figure{margin:0}.wrap{max-width:1232px;margin:auto;padding-inline:16px}:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.sr-only:focus{position:fixed;top:8px;left:8px;z-index:100;width:auto;height:auto;clip:auto;padding:12px;background:var(--white)}.icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.note,.tax,.price-note,.gallery-note{font-size:1rem;color:var(--muted)}
.announce{padding:8px 16px;background:var(--maroon-dark);color:var(--ivory);text-align:center;font-size:1rem;line-height:1.4}header.site{position:sticky;top:0;z-index:50;background:var(--white);box-shadow:var(--shadow)}header.site>.wrap{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;flex-direction:column;justify-content:center;min-height:44px;font:400 1.35rem/1.2 var(--heading);color:var(--maroon);text-decoration:none}.brand-tag{font:400 1rem/1.4 var(--body);color:var(--muted)}nav.top{display:flex;align-items:center;gap:8px}nav.top>a{position:relative;display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 16px 8px 8px;text-decoration:none}.cart-label{display:none}.count{position:absolute;top:0;right:0;min-width:18px;height:18px;border-radius:50%;background:var(--maroon);color:var(--white);font:700 .75rem/18px var(--body);text-align:center}.desktop-nav{display:none}.desktop-nav a{display:inline-flex;min-height:44px;align-items:center;text-decoration:none}.desktop-nav a[aria-current]{border-bottom:2px solid var(--gold)}.mobile-menu summary{display:flex;align-items:center;min-height:44px;padding:8px;cursor:pointer;color:var(--maroon)}.mobile-menu summary::after{content:'⌄';margin-left:6px}.mobile-menu[open]>summary{background:var(--ivory-warm)}.mobile-menu nav{position:absolute;top:78px;left:0;right:0;display:grid;padding:16px;background:var(--white);border-bottom:2px solid var(--gold);box-shadow:var(--shadow-md)}.mobile-menu nav a{min-height:44px;padding:8px 12px;text-decoration:none}
.woven,.border-band{height:18px;background:linear-gradient(to bottom,var(--maroon) 0 3px,var(--gold) 3px 5px,transparent 5px 13px,var(--gold) 13px 15px,var(--teal) 15px 18px),conic-gradient(from 135deg at 50% 0%,var(--maroon) 90deg,var(--gold-light) 0 180deg,var(--maroon) 0);background-size:auto,16px 13px}.cats{overflow-x:auto;background:var(--ivory-warm);border-bottom:1px solid var(--line)}.cats ul{display:flex;gap:8px;list-style:none;max-width:1232px;margin:auto;padding:8px 16px;white-space:nowrap}.cats a,.pill{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:24px;background:var(--white);text-decoration:none}.cats a[aria-current],.pill[aria-current],.cats a:hover{background:var(--maroon);border-color:var(--maroon);color:var(--white)}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 24px;border:1px solid var(--maroon);border-radius:var(--r);background:var(--maroon);color:var(--white);font-weight:700;text-decoration:none;line-height:1.4;text-align:center}.btn:hover{background:var(--maroon-light);color:var(--white)}.btn.alt{background:transparent;color:var(--maroon)}.btn.alt:hover{background:var(--ivory-warm)}.btn.full{width:100%}.btn.big{min-height:52px;font-size:1.1rem}.btn.gold{background:var(--gold-light);color:var(--maroon-dark);border-color:var(--gold)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.reset{display:inline-flex;min-height:44px;align-items:center}
.hero{background:var(--maroon-dark);color:var(--ivory);border-bottom:1px solid var(--gold)}.hero-layout{display:grid;gap:32px;padding-top:36px;padding-bottom:36px;align-items:center}.hero-card{padding:0 8px}.hero-label{color:var(--gold-light);margin-bottom:16px}.hero h1{color:var(--ivory);font-size:clamp(2.3rem,5vw,4rem);line-height:1.15;max-width:11ch}.hero-card>p:not(.hero-label){max-width:36rem}.hero .btn{background:var(--gold-light);color:var(--maroon-dark);border-color:var(--gold-light)}.hero .btn:hover{background:var(--gold-soft)}.hero-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ivory)}.hero-link:hover{color:var(--gold-light)}.hero-note{margin:24px 0 0;padding-top:20px;border-top:1px solid var(--gold-dark);color:var(--gold-soft)}.hero-photo{width:100%;max-width:440px;margin:auto;padding:8px;border:1px solid var(--gold);background:var(--ivory)}.hero-photo a{text-decoration:none}.hero-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.hero-photo figcaption{display:grid;grid-template-columns:1fr auto;gap:6px 16px;padding:14px 8px 8px;color:var(--maroon)}.hero-photo figcaption span,.hero-photo figcaption strong{grid-column:1}.hero-photo figcaption .icon{grid-column:2;grid-row:1/3;align-self:center}.hero-weave{display:grid;place-items:center;width:100%;max-width:400px;aspect-ratio:3/4;margin:auto;background:var(--teal);border:1px solid var(--gold);color:var(--gold-light);font:400 3rem/1.3 var(--heading);text-align:center}
.section{padding:40px 0}.section-head{text-align:center;margin-bottom:28px}.section-head h2{font-size:clamp(1.7rem,4vw,2.25rem);margin:0 0 10px}.section-head::after{content:'◇';display:block;color:var(--gold-dark);margin:14px auto 0;width:180px;line-height:1;background:linear-gradient(var(--gold),var(--gold)) left center/64px 1px no-repeat,linear-gradient(var(--gold),var(--gold)) right center/64px 1px no-repeat}.section-head p{color:var(--muted);margin:0}.section-label{color:var(--teal);margin:0 0 8px}.center{text-align:center;margin:28px 0 0}.colour-section{background:var(--ivory-warm)}.colour-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.colour-tiles a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:12px 20px;border:1px solid var(--gold);background:var(--white);text-decoration:none}.colour-tiles a:hover{background:var(--maroon);color:var(--white)}.grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:var(--r);background:var(--white);overflow:hidden}.card>a{display:flex;flex-direction:column;flex:1;text-decoration:none;color:var(--ink)}.card img,.card .noimg{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-bottom:1px solid var(--line)}.card .body{display:flex;flex:1;flex-direction:column;padding:12px;gap:8px}.card-colour{color:var(--teal)}.card .t{font-family:var(--heading);font-size:1rem;line-height:1.4;overflow-wrap:anywhere}.card .pr{margin-top:auto;color:var(--maroon);font-weight:700;font-size:1.2rem}.tax{display:block;font-weight:400}.card-buy{padding:0 12px 12px}.card-buy button{width:100%;min-height:44px;border:1px solid var(--maroon);border-radius:var(--r);background:var(--white);color:var(--maroon);font-weight:700}.card-buy button:hover{background:var(--maroon);color:var(--white)}.noimg{display:block;background:var(--ivory-warm) repeating-linear-gradient(45deg,transparent 0 16px,var(--line) 16px 17px)}.card:hover{border-color:var(--gold);box-shadow:var(--shadow-md)}.tiles{display:grid;gap:16px}.tile{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:110px;padding:24px;border:1px solid var(--gold);border-radius:var(--r);background:var(--white);text-decoration:none}.tile strong{display:block;font:400 1.5rem/1.3 var(--heading);margin-bottom:8px}.tile small{font-size:1rem;color:var(--muted)}.tile:hover{background:var(--ivory-warm)}.trust{background:var(--ivory-warm);padding:32px 0;border-block:1px solid var(--line)}.trust ul{list-style:none;padding:0;margin:0;display:grid;gap:24px}.trust li,.points li{display:flex;gap:12px}.trust p,.points p{margin:0;color:var(--muted)}.trust strong,.points strong{display:block;color:var(--ink);line-height:1.4;margin-bottom:6px}.ib{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid var(--gold);border-radius:50%;background:var(--white);color:var(--teal)}.story-layout{display:grid;gap:28px;align-items:center}.story h2{margin:0 0 20px;font-size:2rem}.story-mark{display:grid;place-content:center;min-height:230px;border:1px solid var(--gold);background:var(--maroon-dark);color:var(--gold-light);text-align:center;font:400 3rem/1.4 var(--heading);outline:1px solid var(--gold);outline-offset:-12px}
.page-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}.page-head h1{margin:0}.n,.shop-intro{color:var(--muted)}.shop-filters{margin:24px 0;border:1px solid var(--line);background:var(--white)}.shop-filters>summary{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:12px 16px;cursor:pointer;color:var(--maroon);font-weight:700}.filter-form{display:grid;gap:16px;padding:16px;border-top:1px solid var(--line)}.filter-form label,.form label{display:grid;gap:6px;color:var(--ink);font-weight:700}.filter-form input,.filter-form select,.form input,.form textarea{width:100%;min-height:48px;min-width:0;padding:10px 12px;border:1px solid var(--field);border-radius:var(--r);background:var(--white);color:var(--ink);font:400 1rem/1.4 var(--body)}.crumbs{margin-bottom:24px;color:var(--muted);overflow-wrap:anywhere}.crumbs a{color:var(--muted)}
.product{display:grid;gap:28px;padding-bottom:100px}.product>*{min-width:0}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;border:1px solid var(--gold);background:var(--white)}.gallery img,.gallery .noimg{flex:0 0 100%;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;scroll-snap-align:start}.gallery-note{margin:8px 0;text-align:center}.price{margin:0;color:var(--maroon);font-weight:700;font-size:2rem}.price-note{margin:0 0 24px}.buy{position:fixed;inset:auto 0 0;z-index:55;display:flex;gap:16px;align-items:center;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--gold);background:var(--white);box-shadow:var(--shadow-md)}.buy-price{font-size:1.3rem;font-weight:700;color:var(--maroon);flex:none}.buy form,.buy>a{flex:1;min-width:0}.buy .btn{padding-inline:12px;font-size:1rem}.buy:has(>p){position:static;display:block;margin-bottom:24px;border:1px solid var(--line);box-shadow:none}.buy:has(>p) .buy-price{display:none}.box,.summary,.doc,.status-card,.empty{padding:20px;border:1px solid var(--line);border-radius:var(--r);background:var(--white);box-shadow:var(--shadow)}.box{margin-bottom:24px}.box h2{margin:0 0 12px;font-size:1.25rem}.box p:last-child{margin:0}.specs{width:100%;border-collapse:collapse;border:1px solid var(--line);margin-bottom:24px;background:var(--white)}.specs th,.specs td{padding:12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere}.specs th{width:35%;font-weight:400;background:var(--ivory-warm)}.points{list-style:none;display:grid;gap:20px;margin:0;padding:20px 0;border-top:1px solid var(--line)}.related{margin-top:40px}.related>.woven{margin-bottom:32px}
.cart-layout,.order-layout{display:grid;align-items:start;gap:24px}.cart-layout>*{min-width:0}.items{list-style:none;padding:0}.item{display:flex;gap:16px;padding:16px;margin-bottom:16px;background:var(--white);border:1px solid var(--line)}.item img,.item .noimg{width:80px;height:auto;aspect-ratio:3/4;object-fit:cover;flex:none;align-self:flex-start}.item .d{display:flex;flex:1;min-width:0;flex-direction:column}.item .t{font-family:var(--heading);text-decoration:none;overflow-wrap:anywhere}.item .pr{font-weight:700;margin-top:8px;color:var(--maroon)}.remove{border:0;background:none;color:var(--error);text-decoration:underline;min-height:44px;padding:8px 0}.summary h2{font-size:1.35rem;margin:0 0 20px;padding-bottom:14px;border-bottom:1px solid var(--line)}.summary h3{margin-top:24px}.summary>.btn{margin-top:24px}.summary>.note{margin:16px 0 0}.rows{display:grid;grid-template-columns:1fr auto;gap:0 16px;margin:0}.rows dt,.rows dd{margin:0;padding:8px 0}.rows dt{color:var(--muted)}.rows dd{text-align:right;font-weight:700}.rows .total{margin-top:12px;padding-top:16px;border-top:1px solid var(--gold);color:var(--maroon);font-size:1.3rem;font-weight:700}.mini{list-style:none;padding:0}.mini li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}.mini li span:first-child{min-width:0;overflow-wrap:anywhere}.mini li span:last-child{flex:none;font-weight:700}.form{display:grid;gap:20px}.form h2{font-size:1.35rem;margin:12px 0 0}.form-row{display:grid;gap:16px}.form textarea{resize:vertical}.empty{text-align:center;padding:40px 20px}.empty h2{margin-top:12px}.empty .ib{margin:auto}.alert,.ok,.notice,.hold,.testbox{padding:16px;margin-bottom:20px;border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--gold-soft);border-radius:var(--r)}.alert{background:var(--error-bg);border-left-color:var(--error)}.ok{background:var(--ok-bg);border-left-color:var(--teal)}.notice{background:var(--ivory-warm)}.notice.teal{border-left-color:var(--teal)}.hold{display:flex;gap:12px;align-items:center}.testbox{border-style:dashed}.tag{display:inline-block;padding:4px 8px;background:var(--gold-soft);border:1px solid var(--gold);color:var(--maroon);font-size:1rem}.tag.big{font-size:1.1rem}.status-card{text-align:center;margin-bottom:24px;padding:32px 20px}.status-card.paid{background:var(--ok-bg)}.status-card.expired{background:var(--error-bg)}.status-card.pending{background:var(--gold-soft)}.meta{color:var(--muted)}.steps{list-style:none;padding:0;margin:0;counter-reset:step}.steps li{position:relative;padding:0 0 24px 48px;counter-increment:step}.steps li:last-child{padding-bottom:0}.steps li::before{content:counter(step);position:absolute;left:0;top:0;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--teal);color:var(--white)}.steps strong,.steps span{display:block}.steps span{color:var(--muted)}
.policy-nav{display:flex;overflow-x:auto;gap:8px;padding:0 0 16px;margin-bottom:12px}.doc{max-width:52rem;margin:0 auto}.doc h2{font-size:1.4rem}.doc li{margin-bottom:8px}.nf{text-align:center;padding:48px 0}.nf .actions{justify-content:center}footer.site{margin-top:auto;background:var(--maroon-dark);color:var(--ivory)}footer.site .cols{display:grid;gap:32px;padding-top:40px;padding-bottom:40px}footer.site h2{color:var(--gold-light);margin:0 0 12px;font-size:1.75rem}footer.site h3{color:var(--gold-light)}footer.site a{color:var(--ivory)}footer.site a:hover{color:var(--gold-light)}footer.site ul{list-style:none;margin:0;padding:0}footer.site li a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}footer.site p{overflow-wrap:anywhere}.foot-bottom{margin:0;padding:20px 16px;border-top:1px solid var(--gold-dark);text-align:center;color:var(--ivory-warm)}.lines{list-style:none;padding:0}.line{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}button.link{border:0;background:none;color:var(--maroon);text-decoration:underline;min-height:44px}
@media(min-width:600px){.wrap{padding-inline:24px}.brand{font-size:1.6rem}.cart-label{display:inline}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.trust ul{grid-template-columns:1fr 1fr}.form-row.two{grid-template-columns:1fr 1fr}.form-row.three{grid-template-columns:1fr 1fr 1fr}.filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}footer.site .cols{grid-template-columns:1fr 1fr}.doc{padding:32px}}
@media(min-width:860px){.hero-layout{grid-template-columns:1.05fr 1fr;gap:48px;padding-block:48px}.hero-card{padding-right:24px}.hero-photo{max-width:400px}.section{padding:64px 0}.product{grid-template-columns:1.05fr 1fr;gap:40px;padding-bottom:0}.buy{position:static;padding:0;margin-bottom:24px;border:0;box-shadow:none}.buy-price{display:none}.cart-layout{grid-template-columns:1.6fr 1fr;gap:32px}.order-layout{grid-template-columns:1.3fr 1fr;gap:32px}.cart-layout>.summary:not(form){position:sticky;top:120px}.story-layout{grid-template-columns:.9fr 1.1fr;gap:48px}.story-mark{min-height:330px}.filter-form{grid-template-columns:2fr 1fr 1fr 1fr}.filter-form .btn{grid-column:1}.summary{padding:28px}}
@media(min-width:1100px){.desktop-nav{display:flex;gap:24px}.mobile-menu{display:none}.grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.trust ul{grid-template-columns:repeat(4,minmax(0,1fr))}.trust li{display:block}.trust .ib{margin-bottom:16px}footer.site .cols{grid-template-columns:1.6fr 1fr 1fr 1.2fr}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.btn,.card,.tile{transition:background-color .15s,border-color .15s,box-shadow .15s}}
@media(prefers-reduced-motion:reduce){.gallery{scroll-snap-type:none}}

/* Admin (phone first) */
.admin .brand small { font: 600 .8rem var(--sans); color: var(--madder); text-transform: uppercase; letter-spacing: .08em; }
.admin nav.top { align-items: center; }
.admin nav.top a, .admin nav.top button.link { padding: 10px 0; font-size: .95rem; }
form.inline { display: inline; }
.titlebar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.titlebar h1 { margin: 0; }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; font: .95rem var(--sans); margin: 0 0 16px; }
.tabs a { padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; color: var(--muted); background: #fff; min-height: 40px; }
.tabs a[aria-current="page"] { background: var(--indigo); border-color: var(--indigo); color: #fff; }
.alist { list-style: none; padding: 0; margin: 0; max-width: none; border-top: 2px solid var(--indigo); }
.alist li { margin: 0; border-bottom: 1px solid var(--line); }
.alist a { display: flex; gap: 12px; align-items: center; padding: 10px 0; text-decoration: none; color: var(--ink); font: 1rem/1.4 var(--sans); }
.alist img, .alist .noimg { width: 64px; height: 85px; object-fit: cover; flex: none; border: 1px solid var(--line); background: var(--line); }
.alist .pr { font-weight: 700; color: var(--indigo); }
.badge { display: inline-block; font: 600 .78rem/1.4 var(--sans); padding: 1px 8px; border-radius: 3px; background: var(--line); color: var(--ink); white-space: nowrap; }
.badge.available, .badge.reserved, .badge.o-paid, .badge.o-delivered { background: #d8eeeb; color: var(--teal); }
.badge.draft, .badge.o-expired, .badge.o-cancelled { background: #ececf2; color: var(--muted); }
.badge.sold, .badge.held, .badge.o-pending_payment { background: #f6e4ea; color: var(--madder); }
.admin .actions { gap: 10px; margin: 8px 0 16px; }
.admin .actions .note { margin: 0; }
.admin .form textarea { font: 1rem/1.5 var(--sans); padding: 12px; border: 1px solid #8a8fa8; border-radius: 4px; background: #fff; color: var(--ink); width: 100%; }
.form input[type="file"] { padding: 10px; }
.claimbox { border: 2px solid var(--zari); background: #fdf7e8; padding: 12px 14px; font: .95rem/1.5 var(--sans); }
.claimbox p { margin: 0 0 .6em; }
.claimbox .words { color: var(--madder); font-weight: 700; }
.form label.check { display: flex; gap: 10px; align-items: center; color: var(--ink); font-weight: 600; }
.check input { width: 24px; height: 24px; min-height: 0; flex: none; }
.photos { list-style: none; padding: 0; margin: 0 0 16px; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 12px; max-width: none; }
.photos li { margin: 0; display: grid; gap: 2px; font-family: var(--sans); }
.photos img { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; border: 1px solid var(--line); background: var(--line); }
.photos form { margin: 0; }
button.link { min-height: 36px; }
button.link.danger { color: var(--madder); }
.log { font: .9rem/1.5 var(--sans); padding-left: 18px; }
.admin .brand small { display: block; }
.admin .form { max-width: 34rem; }
.admin .lines .line a { font-weight: 700; }

/* Admin workspace: comfortable on a phone, with no changes to storefront navigation. */
.admin{background:var(--ivory-warm)}
.admin header.site>.wrap{flex-wrap:wrap;padding-block:12px;gap:12px;align-items:center}
.admin .brand small{font:400 1rem/1.4 var(--body);letter-spacing:0;text-transform:none;color:var(--teal)}
.admin nav.top{flex-wrap:wrap;gap:6px 16px}
.admin nav.top a{min-height:44px;padding:8px!important}
.admin nav.top a[aria-current]{background:var(--gold-soft);border-radius:var(--r)}
.admin main>.wrap{max-width:1160px}
.admin .titlebar{margin:8px 0 28px}
.admin .titlebar h1{margin:0}
.admin .titlebar .section-label{margin-bottom:8px}
.admin-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}
.admin-metrics a{display:flex;flex-direction:column;gap:8px;min-height:128px;padding:24px;border:1px solid var(--line);border-top:3px solid var(--teal);background:var(--white);border-radius:8px;text-decoration:none}
.admin-metrics a strong{font:400 2.5rem/1.2 var(--heading);color:var(--maroon)}
.admin-metrics a span{color:var(--muted)}
.admin-guide,.admin-panel{padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--white);margin-bottom:24px}
.admin-guide h2,.admin-panel h2{margin-top:0}
.admin-guide ol{display:grid;gap:20px;padding-left:24px}
.admin-guide li strong,.admin-guide li span{display:block}
.admin-guide li span{color:var(--muted)}
.admin-search{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0}
.admin-search>input:not([type=hidden]){flex:1;min-width:180px;min-height:48px;padding:12px;border:1px solid var(--field);border-radius:var(--r);background:var(--white)}
.admin .tabs{gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}
.admin .tabs a{min-height:44px;white-space:nowrap;font-size:1rem}
.admin .alist{border:0;display:grid;gap:12px}
.admin .alist li{border:1px solid var(--line);border-radius:8px;background:var(--white);overflow:hidden}
.admin .alist a{padding:16px;gap:16px;min-width:0}
.admin .alist .t{display:grid;gap:6px;flex:1;min-width:0;overflow-wrap:anywhere}
.admin .alist img,.admin .alist .noimg{width:72px;height:96px;object-fit:cover;border-radius:4px}
.admin-edit{display:none;color:var(--maroon);flex:none}
.admin-jumps{display:flex;gap:12px;overflow-x:auto;white-space:nowrap;margin:24px 0}
.admin-jumps a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);background:var(--white);border-radius:24px;text-decoration:none}
.admin-panel .actions{gap:12px;flex-wrap:wrap}
.admin .admin-product-form{max-width:720px;gap:20px}
.admin .form input,.admin .form textarea,.photo-alt input{border-color:var(--field);border-radius:5px;min-height:48px}
.admin .form textarea{line-height:1.6;resize:vertical}
.admin .form .note{margin:0}
.admin-writing-help{padding:14px 16px;border:1px solid var(--line);background:var(--ivory)}
.admin-writing-help summary{cursor:pointer;min-height:28px;color:var(--teal)}
.admin-writing-help p{margin:12px 0 0}
.admin-save{position:sticky;bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:6px;z-index:5}
.admin-save span{color:var(--muted)}
.admin .photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.admin .photos li{padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--ivory);gap:8px;min-width:0}
.admin .photos li>strong{font-size:1rem;color:var(--teal)}
.photo-controls{display:flex;flex-wrap:wrap;gap:8px}
.photo-alt{border-top:1px solid var(--line);padding-top:12px}
.photo-alt label{display:grid;gap:6px;font-size:1rem}
.photo-alt input,.photo-alt textarea{width:100%;min-width:0;padding:8px;border:1px solid var(--field);font:inherit;background:var(--white);resize:vertical}
.admin .photos button.link{min-height:44px;font-size:1rem;text-align:left}
.admin #upload{max-width:none;padding:20px;border:1px dashed var(--gold);border-radius:6px;background:var(--ivory)}
.upload-zone{padding:12px;border:1px solid var(--line);background:var(--white);border-radius:5px}
.upload-zone span{font-weight:400;color:var(--muted)}
.upload-previews{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.upload-previews li{display:grid;gap:8px;padding:8px;background:var(--white);border:1px solid var(--line);overflow-wrap:anywhere;min-width:0}
.upload-previews img{width:100%;aspect-ratio:3/4;object-fit:contain;background:var(--ivory-warm)}
.admin progress{width:100%;height:14px;accent-color:var(--teal)}
.admin [hidden]{display:none!important}
.admin-login{max-width:480px;margin:32px auto;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:8px}
.admin-login .form{max-width:none}
.admin .password-toggle{justify-self:start;text-align:left}
.admin .claimbox{border-radius:5px}
.product .box p{white-space:pre-line}
.quantity-label{display:grid;gap:2px;flex:none;font-size:1rem}
/* Category navigation: clean swipe row on phones, fully visible links on desktop. */
.cats{scrollbar-width:none;-ms-overflow-style:none;scroll-padding-inline:16px}
.cats::-webkit-scrollbar{display:none;width:0;height:0}
@media(min-width:1100px){.cats ul{flex-wrap:wrap;row-gap:8px}}
.quantity-input{width:64px;min-height:44px;border:1px solid var(--field);border-radius:var(--r);padding:6px;background:var(--white);color:var(--ink);font:inherit}
.buy form{display:flex;align-items:end;gap:8px}.buy form .btn{flex:1;width:auto}
.cart-quantity{display:flex;align-items:end;gap:12px;margin-top:12px}
.cart-quantity label{display:grid;gap:4px}.cart-quantity button.link{border:0;background:none;color:var(--maroon);text-decoration:underline;min-height:44px}
.admin-metrics>div{display:flex;flex-direction:column;gap:8px;min-height:128px;padding:24px;border:1px solid var(--line);border-top:3px solid var(--teal);background:var(--white);border-radius:8px}
.admin-metrics>div strong{font:400 2rem/1.2 var(--heading);color:var(--maroon);overflow-wrap:anywhere}
.admin-metrics>div span{color:var(--muted)}
.admin .btn + .admin-metrics{margin-top:24px}
.customer-signin{max-width:480px;margin:16px auto;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:8px}.customer-signin h1{font-size:2.1rem}.customer-signin .google-signin{width:100%;background:var(--white);color:var(--ink);border-color:var(--field)}.signin-divider{text-align:center;color:var(--muted);margin:24px 0}.customer-signin>.note{margin-top:24px}
.account-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.account-nav>a,.account-nav button{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:24px;background:var(--white);color:var(--maroon);text-decoration:none;font:inherit}.account-heading{margin-bottom:24px}.account-card{min-width:0;padding:24px;border:1px solid var(--line);border-radius:8px;background:var(--white);margin-bottom:24px}.account-card h2{margin-top:0}.account-grid{display:grid;gap:20px}.account-form{max-width:600px}.account-orders{list-style:none;padding:0;margin:0;display:grid;gap:12px}.account-orders li{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px;border:1px solid var(--line);border-radius:5px;background:var(--ivory)}.account-orders li>div{display:grid;gap:6px}.account-orders li>div:last-child{text-align:right}.account-orders .badge{white-space:normal}.saved-address-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.account-card input,.account-card textarea{max-width:100%}
@media(min-width:860px){.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.customer-signin{padding:20px}.account-card{padding:20px}.account-nav{gap:6px}.account-nav>a,.account-nav button{padding-inline:12px}}
.stock-numbers{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0 24px}.stock-numbers>span{display:grid;gap:8px;min-width:90px;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--ivory)}.stock-numbers strong{font-size:1.5rem;color:var(--teal)}
.stock-form,.report-filters{display:grid;gap:16px;margin:20px 0;align-items:end}
.stock-form label,.report-filters label{display:grid;gap:6px;font-weight:700}
.stock-form input,.stock-form select,.report-filters input,.report-filters select{width:100%;min-width:0;min-height:48px;padding:10px;border:1px solid var(--field);border-radius:5px;font:inherit;background:var(--white);color:var(--ink)}
.table-scroll{overflow-x:auto;max-width:100%;margin:20px 0}.report-table{width:100%;border-collapse:collapse;background:var(--white);text-align:left}.report-table th,.report-table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.report-table th{background:var(--ivory-warm);font-weight:700}.report-table td:first-child{min-width:170px}.report-table td:not(:first-child){white-space:nowrap}
.sales-bars{list-style:none;padding:0;display:grid;gap:16px}.sales-bars li{display:grid;gap:8px}.sales-bars meter{width:100%;height:22px;accent-color:var(--teal)}
@media(min-width:860px){.stock-form{grid-template-columns:1.3fr .5fr 2fr auto}.report-filters{grid-template-columns:1fr 1fr 1.4fr auto}.sales-bars li{grid-template-columns:110px 1fr 120px 100px;align-items:center}}
@media(max-width:859px){.product{padding-bottom:140px}.buy{padding-block:8px}.buy-price{font-size:1.1rem}.buy .quantity-input{width:52px}}
@media(min-width:700px){.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-panel,.admin-guide{padding:28px}.admin .photos{grid-template-columns:repeat(3,minmax(0,1fr))}.upload-previews{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-edit{display:block}}
@media(max-width:599px){.admin header.site>.wrap{align-items:flex-start;flex-direction:column}.admin nav.top{width:100%;justify-content:space-between;gap:2px}.admin nav.top a{padding-inline:4px!important}.admin main{padding-top:20px}.admin .titlebar h1{font-size:1.8rem}.admin-metrics a{padding:18px}.admin-save .btn{width:100%}.admin-login{padding:20px;margin-top:12px}}

.customer-signin .signin-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px}.signin-icon{width:20px;height:20px;flex:0 0 20px}.customer-signin .signin-button:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none}

.saved-address-picker{padding:20px;margin:16px 0;border:1px solid var(--line);border-radius:8px;background:var(--white)}.saved-address-picker select{width:100%;min-width:0;min-height:48px;padding:10px;font:inherit;border:1px solid var(--field);border-radius:4px;background:var(--white);color:var(--ink)}.save-checkout-address{display:flex;align-items:center;gap:12px;min-height:48px}.save-checkout-address input[type=checkbox]{width:22px;height:22px;flex:0 0 22px}

.whatsapp-message{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;padding:16px;background:var(--ivory)}
