:root{--paper:#fefdf9;--ink:#171613;--muted:#6f6b61;--line:#e7e2d8;--gold:#8a672c;--gold-light:#ab8240;--surface:#f6f3ed;--white:#fff;--radius:4px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{border:0;background:none}img{max-width:100%;display:block}svg.icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;fill:none;flex-shrink:0}[hidden]{display:none!important}.preview-strip{min-height:32px;background:#27251f;color:#e8ddc5;padding:8px 4%;display:flex;justify-content:space-between;gap:12px;font-size:.75rem;letter-spacing:.08em;line-height:1.4}.preview-strip>span:first-child{white-space:nowrap}.preview-strip>span:last-child{letter-spacing:.025em}.brand-header{height:143px;padding:20px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:block;width:300px;flex-shrink:0}.brand img{width:100%;height:auto;max-height:104px;object-fit:contain}.header-note{font-size:.8rem;color:var(--gold);letter-spacing:.22em}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;position:relative;background:transparent;flex-shrink:0}.icon-button:hover{background:var(--surface)}.desktop-bag{border:1px solid var(--line);width:48px;height:48px}.desktop-bag .bag-count{position:absolute;right:-5px;top:-4px;background:var(--ink);color:white;font-size:.75rem;width:21px;height:21px;border-radius:50%;display:grid;place-items:center}.app-layout{display:grid;grid-template-columns:210px minmax(0,1fr);max-width:1550px;margin:auto}.app-nav{padding:43px 18px 20px 28px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:9px;position:sticky;top:0;height:calc(100dvh - 50px);max-height:760px}.nav-item{min-height:50px;display:flex;align-items:center;gap:13px;text-align:left;padding:12px;color:var(--muted);font-size:.875rem;border-radius:4px}.nav-item.active{background:#ede7dc;color:#74521e}.nav-item:hover{background:#f2ede4}.nav-item small{font-size:.75rem;margin-left:auto}.nav-footer{margin-top:auto;border-top:1px solid var(--line);padding:30px 12px}.nav-footer p{font-family:Georgia,serif;font-style:italic;font-size:.95rem;line-height:1.7;color:var(--muted)}main{padding:42px 4.4% 64px;min-width:0;outline:none}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.eyebrow{font-size:.75rem;letter-spacing:.18em;color:var(--gold);margin:0 0 12px;line-height:1.6}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.15;margin:0}h1{font-size:clamp(2rem,3.3vw,3.15rem);letter-spacing:-.04em}h2{font-size:2.1rem;letter-spacing:-.025em}h3{font-size:1.6rem}.collection-count{font-size:.75rem;color:var(--muted);letter-spacing:.1em;padding-bottom:7px;white-space:nowrap}.intro{color:var(--muted);font-size:1rem;line-height:1.6;margin:16px 0 30px}.catalogue-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding:22px 0 26px}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.filter-tabs button{font-size:.875rem;padding:11px 16px;border:1px solid transparent;border-radius:30px;white-space:nowrap}.filter-tabs button.selected{background:var(--ink);color:white}.filter-tabs button:hover:not(.selected){border-color:var(--line)}.search{display:flex;align-items:center;gap:10px;border-bottom:1px solid #c9c1b2;min-width:155px;max-width:210px;padding:10px 0;color:var(--muted)}.search input{min-width:0;width:100%;border:0;background:transparent;color:var(--ink);font-size:.875rem;outline:0;padding:0}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{min-width:0}.product-image{position:relative;background:#f7f5f0;border:1px solid #eeeae2;overflow:hidden;border-radius:var(--radius)}.product-open{display:block;width:100%;padding:0;text-align:left}.product-open img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;transition:transform .5s ease}.product-open:hover img{transform:scale(1.04)}.sample-badge{position:absolute;top:16px;left:16px;font-size:.75rem;background:#ffffffdb;padding:6px 9px;color:#696257;letter-spacing:.035em;pointer-events:none}.save-button{position:absolute;top:9px;right:9px;background:#ffffffdf}.save-button[aria-pressed=true] svg{fill:#ab8240;stroke:#8a672c}.product-meta{display:flex;justify-content:space-between;align-items:center;margin-top:17px;color:var(--gold);font-size:.75rem;letter-spacing:.06em;gap:8px}.design-code{color:var(--muted);font-size:.75rem;letter-spacing:.025em}.product-title{font-size:1.45rem;font-family:Georgia,serif;text-align:left;padding:0;margin:10px 0;line-height:1.3}.product-finish{font-size:.875rem;color:var(--muted);line-height:1.5;margin:0 0 16px}.select-button{display:flex;align-items:center;justify-content:space-between;width:100%;border-top:1px solid var(--line);padding:15px 0 12px;font-size:.875rem;color:#5e4926;gap:8px}.select-button:hover{color:var(--ink)}.select-button svg{width:19px}.catalogue-note{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;display:flex;gap:12px;color:var(--muted)}.catalogue-note p{font-size:.8rem;line-height:1.6;margin:0;max-width:720px}.catalogue-note svg{width:18px;height:18px;margin-top:1px}.empty-state{grid-column:1/-1;border:1px solid var(--line);padding:54px 25px;text-align:center;max-width:750px;margin:14px auto;width:100%}.empty-state>.icon{width:32px;height:32px;color:var(--gold);margin-bottom:22px}.empty-state p{font-size:1rem;line-height:1.7;color:var(--muted);margin:15px auto 25px;max-width:420px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:14px 22px;border-radius:var(--radius);font-size:.9375rem;font-weight:500;line-height:1.4}.primary{background:var(--ink);color:white}.primary:hover{background:#403827}.secondary{border:1px solid #c5baaa;background:transparent}.secondary:hover{background:var(--surface)}.text-button{font-size:.875rem;color:var(--gold);text-decoration:underline;text-underline-offset:4px;padding:10px 4px}dialog{border:0;padding:0;background:var(--paper);color:var(--ink);max-width:880px;width:calc(100% - 40px);max-height:90dvh;border-radius:7px;box-shadow:0 20px 100px #0004;overflow:auto}dialog::backdrop{background:#1816108c;backdrop-filter:blur(4px)}body:has(dialog[open]){overflow:hidden}.detail-layout{display:grid;grid-template-columns:1fr 1fr;position:relative}.detail-image{height:100%;background:#f8f6f1}.detail-image img{width:100%;height:100%;min-height:480px;object-fit:cover}.detail-info{padding:45px 32px 28px}.dialog-close{position:absolute;top:12px;right:12px;background:#ffffffde;z-index:1}.detail-info h2{margin:10px 0 15px}.muted{color:var(--muted);font-size:1rem;line-height:1.65}.detail-info .muted{margin-bottom:25px}.spec-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;font-size:.875rem;gap:12px}.spec-row dt{color:var(--muted)}.spec-row dd{margin:0;text-align:right}.field-label{font-size:.875rem;display:block;margin-bottom:10px}.size-options{display:flex;gap:8px;margin:10px 0 8px}.size-options label{position:relative;flex:1}.size-options input{position:absolute;opacity:0;width:1px;height:1px}.size-options span{display:block;text-align:center;padding:12px 6px;border:1px solid #cfc7b8;border-radius:3px;font-size:.9375rem;cursor:pointer}.size-options input:checked+span{background:#eae0d0;border-color:var(--gold);color:#5f441c}.size-options input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}.micro{font-size:.75rem;line-height:1.6;color:var(--muted)}.quantity-row{display:flex;align-items:center;justify-content:space-between;margin:22px 0;gap:12px}.stepper{display:flex;align-items:center;border:1px solid #cfc7b8;border-radius:3px}.stepper button{width:38px;height:40px;display:grid;place-items:center}.stepper svg{width:16px;height:16px}.stepper input{width:36px;text-align:center;background:transparent;border:0;-moz-appearance:textfield;padding:6px 0}.stepper input::-webkit-inner-spin-button{display:none}.full-width{width:100%}.detail-info .secondary{margin-top:10px}.bag-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:32px}.bag-item{display:grid;grid-template-columns:95px minmax(0,1fr);gap:18px;padding:22px 0;border-top:1px solid var(--line)}.bag-item img{width:95px;height:110px;object-fit:cover;border:1px solid var(--line);border-radius:3px}.bag-item h3{font-size:1.3rem;margin:5px 0 8px}.bag-item p{margin:5px 0;font-size:.875rem;color:var(--muted)}.bag-item-controls{display:flex;align-items:center;gap:12px;margin-top:14px;flex-wrap:wrap}.bag-item-controls select{border:1px solid #cfc7b8;padding:10px 7px;background:var(--paper);border-radius:3px;font-size:.875rem;max-width:115px}.bag-item .icon-button{color:var(--muted);margin-left:auto}.enquiry-form{padding:25px;background:var(--surface);border:1px solid var(--line);align-self:start}.enquiry-form h3{margin-bottom:20px}.form-field{display:block;margin-bottom:18px}.form-field>span{display:block;margin-bottom:8px;font-size:.875rem}.form-field input,.form-field textarea{display:block;width:100%;padding:12px;border:1px solid #cfc7b8;background:var(--paper);border-radius:3px;min-height:46px;color:var(--ink);font-size:1rem}.form-field textarea{min-height:90px;resize:vertical}.enquiry-form .micro{margin-top:15px;margin-bottom:0}.draft-card{border:1px solid var(--line);padding:25px;display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.draft-card h3{font-size:1.35rem;margin:10px 0}.draft-card p{font-size:.875rem;color:var(--muted);margin:8px 0}.draft-status{font-size:.75rem;color:#765723;background:#eee4d3;padding:5px 8px;display:inline-block;letter-spacing:.045em}.enquiry-modal{position:relative;padding:40px;max-width:640px;margin:auto}#enquiry-dialog{max-width:640px}.enquiry-modal h2{margin:6px 0 15px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:Arial,Helvetica,sans-serif;font-size:.875rem;line-height:1.65;background:var(--surface);border:1px solid var(--line);padding:20px;max-height:40dvh;overflow:auto}.share-actions{display:flex;gap:12px;flex-wrap:wrap}.share-actions button{flex:1;white-space:nowrap}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:#28241d;color:white;padding:14px 22px;border-radius:5px;font-size:.875rem;line-height:1.5;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100% - 32px);width:max-content;z-index:20;box-shadow:0 5px 25px #0002}#toast.visible{opacity:1;transform:translate(-50%,0)}.view{animation:enter .22s ease}@keyframes enter{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1450px){main{padding-left:60px;padding-right:60px}.product-grid{gap:30px}}@media(max-width:1100px){.app-layout{grid-template-columns:170px minmax(0,1fr)}.app-nav{padding-left:12px;padding-right:12px}.nav-item{gap:8px}.catalogue-controls{align-items:stretch;flex-direction:column;gap:12px}.search{max-width:100%;width:100%}.product-grid{gap:16px}.section-heading{align-items:flex-start;flex-direction:column;gap:8px}.collection-count{padding:0}.bag-layout{grid-template-columns:1fr}.enquiry-form{max-width:650px}}
@media(max-width:700px){.preview-strip{justify-content:center;padding:7px 12px;font-size:.75rem;letter-spacing:0}.preview-strip>span:first-child{display:none}.brand-header{height:123px;justify-content:center;padding:17px 24px;gap:0}.brand{width:260px}.brand img{max-height:95px}.header-note,.desktop-bag{display:none}.app-layout{display:block}.app-nav{position:fixed;bottom:0;top:auto;left:0;right:0;height:auto;max-height:none;z-index:5;background:#fefdf9f5;backdrop-filter:blur(14px);border:0;border-top:1px solid #ddd5c5;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:7px 6px calc(7px + env(safe-area-inset-bottom))}.nav-item{flex-direction:column;justify-content:center;gap:5px;padding:7px 1px;position:relative;border-radius:5px;min-height:54px;font-size:.75rem;text-align:center;line-height:1.4;min-width:0}.nav-item.active{background:#f0e8dc}.nav-item small{position:absolute;top:4px;right:20%;background:var(--ink);color:white;border-radius:20px;min-width:16px;padding:1px 4px;font-size:.75rem;line-height:1.2}.nav-item small:empty{display:none}.nav-footer{display:none}main{padding:26px 20px calc(115px + env(safe-area-inset-bottom))}.eyebrow{margin-bottom:7px;font-size:.75rem}h1{font-size:2.05rem}.section-heading{gap:10px}.collection-count{font-size:.75rem}.intro{font-size:.9375rem;margin:14px 0 23px}.catalogue-controls{padding:16px 0 20px}.filter-tabs{flex-wrap:nowrap;gap:0;justify-content:space-between}.filter-tabs button{padding:10px 11px;font-size:.875rem}.search{padding:11px 0}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.product-grid .product-card:first-child:last-child{max-width:380px;width:100%;grid-column:1/-1}.product-open img{aspect-ratio:1/1}.sample-badge{top:10px;left:9px;padding:5px 6px;font-size:.75rem}.save-button{width:36px;height:36px;right:4px;top:5px}.save-button svg{width:19px;height:19px}.product-meta{margin-top:13px;flex-wrap:wrap;gap:5px}.product-title{font-size:1.28rem;margin:8px 0}.product-finish{font-size:.875rem;margin-bottom:10px}.select-button{font-size:.875rem;padding:12px 0;gap:4px}.catalogue-note{margin-top:28px}.detail-layout{display:block}.detail-image img{min-height:0;height:290px;object-fit:contain}.detail-info{padding:24px}.detail-info h2{font-size:1.9rem}.detail-info .muted{font-size:.9375rem}.detail-info dl{margin-bottom:23px}.detail-info .eyebrow{margin-bottom:7px}dialog{width:calc(100% - 20px);max-height:90dvh;border-radius:8px}.empty-state{padding:38px 18px}.empty-state h2{font-size:1.75rem}.empty-state p{font-size:.9375rem}.bag-layout{gap:22px}.bag-item{grid-template-columns:85px minmax(0,1fr);gap:14px}.bag-item img{width:85px;height:105px}.bag-item h3{font-size:1.25rem}.bag-item-controls{gap:9px}.enquiry-form{padding:21px}.draft-card{padding:20px;align-items:flex-start;flex-direction:column}.draft-card>.secondary{width:100%}.enquiry-modal{padding:32px 22px}.enquiry-modal h2{font-size:1.9rem}.enquiry-modal .muted{font-size:.9375rem}#toast{bottom:calc(93px + env(safe-area-inset-bottom))}.share-actions{flex-direction:column}.share-actions button{width:100%}.micro{font-size:.8rem}.catalogue-note p{font-size:.8rem}}
@media(max-width:360px){main{padding-left:14px;padding-right:14px}.filter-tabs button{padding:10px 8px}.product-grid{gap:22px 12px}.product-title{font-size:1.18rem}.select-button{font-size:.8125rem}.nav-item{font-size:.75rem}.brand{width:245px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Square photographs and a blank, label-first order form. */
.product-open img{object-fit:contain}.order-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding:13px 16px;min-height:46px;background:var(--ink);color:white;font-size:.9375rem;border-radius:0 0 4px 4px}.order-bar:hover{background:#403827}.product-image{border-radius:4px 4px 0 0}.detail-image{height:auto;align-self:start}.detail-image img{width:100%;height:auto;min-height:0;aspect-ratio:1/1;object-fit:contain}.detail-info{padding-top:35px}.product-order-form{margin-top:26px}.order-field{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:15px;font-size:.9375rem}.order-field>span{line-height:1.4}.order-field input,.order-field textarea{display:block;width:100%;min-width:0;border:1px solid #cfc7b8;background:var(--paper);padding:11px 10px;min-height:46px;border-radius:3px;font-size:1rem;color:var(--ink);font-family:inherit}.order-field textarea{resize:vertical;min-height:70px}.weight-input{position:relative}.weight-input input{padding-right:28px}.weight-input>span{position:absolute;right:11px;top:14px;color:var(--muted);font-size:.875rem}.product-order-form>.primary{margin-top:12px}.bag-order-details{font-size:.875rem;line-height:1.5;margin:16px 0 4px}.bag-order-details>div{display:grid;grid-template-columns:108px minmax(0,1fr);gap:8px;margin:7px 0}.bag-order-details dt{color:var(--muted)}.bag-order-details dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.bag-item img{height:auto;aspect-ratio:1/1;object-fit:contain}.bag-item>.product-open{align-self:start}
@media(max-width:700px){.detail-image img{height:auto;aspect-ratio:1/1}.detail-info{padding:24px}.order-field{grid-template-columns:106px minmax(0,1fr);gap:10px}.order-bar{font-size:.875rem;padding:12px}.bag-order-details>div{grid-template-columns:95px minmax(0,1fr);gap:5px}}

/* The frame, button and image must share one square. Intrinsic HTML height must not stretch a card. */
.product-grid{align-items:start}
.product-image{width:100%;height:auto;min-height:0;aspect-ratio:1 / 1;background:#fff}
.product-image>.product-open{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;margin:0;padding:0}
.product-image>.product-open>img{display:block;width:100%;height:100%;min-height:0;max-height:100%;aspect-ratio:1 / 1;object-fit:contain}
.detail-image{width:100%;height:auto;min-height:0;aspect-ratio:1 / 1;overflow:hidden;background:#fff}
.detail-image>img{display:block;width:100%;height:100%;min-height:0;aspect-ratio:1 / 1;object-fit:contain}
.bag-item>.product-open{width:100%;height:auto;aspect-ratio:1 / 1;overflow:hidden}
.bag-item>.product-open>img{width:100%;height:auto;min-height:0;aspect-ratio:1 / 1;object-fit:contain}

.custom-entry{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.custom-entry .intro{margin:0}.custom-entry button{white-space:nowrap}.custom-upload{padding:14px;border:1px solid var(--line,#ddd);border-radius:8px;margin-bottom:18px}.custom-upload label{display:block;font-weight:600;margin-bottom:10px}.custom-upload input{width:100%;font:inherit}.custom-upload .micro{overflow-wrap:anywhere;margin-bottom:0}.detail-info .eyebrow{overflow-wrap:anywhere}.photo-attachment{display:flex;align-items:center;gap:14px;margin:16px 0;color:inherit;font-size:13px;overflow-wrap:anywhere}.photo-attachment img{width:88px;height:88px;aspect-ratio:1;object-fit:contain;background:white}.bag-item .design-code{overflow-wrap:anywhere}@media(max-width:600px){.custom-entry{align-items:flex-start;flex-direction:column;gap:12px}.custom-entry button{width:100%}}

.order-error{padding:12px;border:1px solid #ad3f32;background:#fff2ef;color:#8c241d;border-radius:4px;font-size:15px;line-height:1.5}

.order-share-preview{display:block;margin:18px auto;color:var(--gold);font-size:14px;text-align:center;max-width:420px}.order-share-preview img{width:100%;height:auto;border:1px solid var(--line);margin-bottom:10px}.order-share-preview span{display:block;padding:10px}#share-status{min-height:2em}
/* Customer access */
[hidden]{display:none!important}
.customer-login{min-height:100svh;display:grid;place-items:center;padding:32px 20px;background:#f6f3ed}
.login-card{width:100%;max-width:420px;background:#fffefa;border:1px solid #e7dfd2;border-radius:16px;padding:36px;box-shadow:0 18px 55px #38250e0a}
.login-logo{display:block;width:min(100%,280px);height:auto;margin:0 auto 28px}
.login-card .eyebrow{margin-bottom:10px}.login-card h1{font-size:32px;margin:0}.login-intro{color:#79756c;margin:10px 0 28px}
#customer-login-form label{display:block;font-size:14px;margin:18px 0 8px}#customer-login-form input{width:100%;min-height:48px;border:1px solid #d8d2c6;border-radius:6px;padding:12px;background:#fff;font:inherit;font-size:16px}
.password-field{position:relative}.password-field input{padding-right:68px!important}.password-field button{position:absolute;right:4px;top:4px;height:40px;min-width:56px;background:transparent;border:0;color:#795c2e;cursor:pointer}
#login-status{font-size:14px;line-height:1.5;min-height:21px;color:#8b431e;margin:14px 0}#customer-login-form>.primary{width:100%;justify-content:center;min-height:48px}.login-help{font-size:13px;color:#79756c;line-height:1.65;margin:24px 0 14px}.admin-login-link{font-size:13px;color:#795c2e;text-underline-offset:4px}
.customer-account{margin-left:auto;display:flex;align-items:center;gap:16px}.customer-account>span{font-size:14px;max-width:180px;overflow:hidden;text-overflow:ellipsis}.customer-account .secondary{min-height:44px;white-space:nowrap}.brand-header .desktop-bag{margin-left:18px}
@media(max-width:700px){.brand-header{justify-content:space-between;padding:12px 20px;min-height:100px;height:auto}.brand-header .brand img{width:190px;max-width:48vw;height:auto}.customer-account{gap:6px;flex-direction:column;align-items:flex-end}.customer-account>span{font-size:11px;max-width:130px}.customer-account .secondary{padding:8px 14px}.login-card{padding:28px 24px}}

@media(max-width:700px){.brand-header .brand{width:min(190px,48vw);flex-shrink:1}}
.catalogue-controls .filter-tabs{display:flex;gap:14px;overflow:visible;flex-wrap:wrap}.filter-tabs label{font-size:14px;min-width:140px;flex:1}.filter-tabs select{display:block;width:100%;max-width:100%;font:inherit;font-size:16px;padding:12px;margin-top:6px;border:1px solid #d5cec1;border-radius:4px;background:#fff;color:#211d17}.catalogue-controls{flex-wrap:wrap}
