:root { --ink:#1d2a27; --muted:#6d7874; --cream:#f7f4ee; --paper:#fff; --sage:#a8b9aa; --accent:#b86a4b; --line:#e6e1d8; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:'DM Sans',sans-serif; }
a { color:inherit; text-decoration:none; }
.container { width:min(1140px, calc(100% - 40px)); margin:auto; }
.site-header { position:fixed; top:0; left:0; right:0; z-index:20; background:var(--paper); border-bottom:1px solid var(--line); }
main { padding-top:76px; }
.nav-wrap { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; flex:none; align-items:center; background:#fff; }.brand img { display:block; width:104px; height:72px; object-fit:contain; background:#fff; }
nav { display:flex; align-items:center; gap:18px; font-size:14px; font-weight:500; white-space:nowrap; } nav a:hover { color:var(--accent); }
.header-search { display:flex; flex:1; max-width:470px; gap:6px; }
.header-search input,.header-search select { min-width:0; border:1px solid #d8d4cb; border-radius:4px; padding:10px 11px; font:13px 'DM Sans',sans-serif; background:#fff; }
.header-search > input { flex:1; }.header-search > button { border:0; border-radius:4px; padding:0 14px; background:var(--sage); color:var(--ink); font:700 13px 'DM Sans',sans-serif; cursor:pointer; }.header-search > button:hover,.filter-actions button:hover { background:var(--ink); color:#fff; }
.header-filter { position:relative; }.header-filter summary { list-style:none; border:1px solid #d8d4cb; border-radius:4px; padding:10px 12px; background:#fff; color:var(--ink); cursor:pointer; font-size:13px; white-space:nowrap; }.header-filter summary::-webkit-details-marker { display:none; }.filter-dot { display:inline-block; width:6px; height:6px; margin:0 0 2px 6px; border-radius:50%; background:var(--accent); }.filter-menu { position:absolute; z-index:5; right:0; top:calc(100% + 8px); width:260px; padding:16px; display:grid; gap:7px; background:var(--paper); border:1px solid var(--line); border-radius:6px; box-shadow:0 12px 30px rgba(29,42,39,.14); }.filter-menu label { color:var(--muted); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; }.filter-menu select,.filter-menu input { width:100%; }.filter-price { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.filter-price label { grid-row:1; }.filter-actions { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:5px; }.filter-actions a { color:var(--muted); font-size:12px; }.filter-actions button { border:0; border-radius:4px; padding:10px 12px; background:var(--sage); color:var(--ink); font:700 12px 'DM Sans',sans-serif; cursor:pointer; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.nav-button, .button { background:var(--ink); color:#fff; border:0; border-radius:4px; padding:11px 17px; cursor:pointer; font:500 14px 'DM Sans',sans-serif; display:inline-block; }.nav-button:hover,.button:hover { background:var(--accent); color:#fff; }
.shop-page { padding-top:24px; }
.hero { padding:72px 0 42px; background:linear-gradient(115deg,#e2ebe3,#f7f4ee 65%); overflow:hidden; }.hero-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }.hero-copy { position:relative; z-index:1; }.hero h1 { max-width:700px; margin:10px 0 14px; font:700 clamp(40px,6vw,72px)/1.02 'Playfair Display',serif; letter-spacing:-2px; }.hero p { color:var(--muted); max-width:540px; font-size:17px; line-height:1.6; margin:0; }.hero-actions { display:flex; align-items:center; gap:18px; margin-top:26px; }.hero-note { color:var(--muted); font-size:12px; }.hero-art { width:210px; height:210px; flex:none; display:grid; place-items:center; border-radius:50%; background:var(--accent); color:#fff; transform:rotate(8deg); box-shadow:18px 18px 0 rgba(168,185,170,.55); }.hero-art span { font:600 26px/1.05 'Playfair Display',serif; text-align:center; }.value-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:34px; background:var(--line); border:1px solid var(--line); }.value-strip div { display:flex; flex-direction:column; gap:5px; padding:19px 20px; background:var(--paper); }.value-strip strong { font:600 17px 'Playfair Display',serif; }.value-strip span { color:var(--muted); font-size:12px; line-height:1.4; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:64px 0 24px; }.section-heading h2 { margin:0; font:600 32px 'Playfair Display',serif; }.count { color:var(--muted); font-size:14px; }
.filters { background:var(--paper); border:1px solid var(--line); padding:18px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr auto; gap:10px; border-radius:6px; }.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.login-card input { width:100%; border:1px solid #d8d4cb; border-radius:4px; padding:12px; font:14px 'DM Sans',sans-serif; background:#fff; }.filters textarea,.form-grid textarea { resize:vertical; }.filters button { border:0; background:var(--sage); color:var(--ink); border-radius:4px; padding:0 18px; font-weight:700; cursor:pointer; }.filters button:hover { background:var(--ink); color:#fff; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-bottom:46px; }.product-card { background:var(--paper); border:1px solid var(--line); border-radius:6px; overflow:hidden; transition:transform .2s ease,box-shadow .2s ease; }.product-card:hover { transform:translateY(-4px); box-shadow:0 12px 24px rgba(29,42,39,.08); }.product-image { width:100%; height:270px; object-fit:cover; background:#e4e9e3; display:flex; align-items:center; justify-content:center; color:var(--muted); }.product-image.placeholder { font:600 42px 'Playfair Display',serif; color:#93a394; }.product-info { padding:18px; }.eyebrow { color:var(--accent); text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:1.2px; }.product-info h3 { margin:7px 0 4px; font:600 23px 'Playfair Display',serif; }.product-info p { color:var(--muted); font-size:14px; line-height:1.5; min-height:42px; margin:8px 0 14px; }.product-meta { display:flex; justify-content:space-between; font-weight:700; }.stock { color:var(--muted); font-size:12px; font-weight:500; }.size-pills { display:flex; flex-wrap:wrap; gap:6px; margin-top:13px; }.size-pills span { border:1px solid var(--line); border-radius:99px; color:var(--muted); font-size:11px; padding:4px 8px; }
.product-loader { padding:12px 0 42px; color:var(--muted); font-size:13px; text-align:center; }.product-loader.is-hidden { display:none; }
.product-visual { position:relative; }.product-gallery { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; }.product-gallery-item { flex:0 0 100%; scroll-snap-align:start; }.product-gallery-item .product-image { display:block; }.media-management { min-width:0; border:1px solid var(--line); border-radius:5px; padding:14px; }.media-management legend { padding:0 6px; font-weight:700; }.media-management-grid { display:flex; flex-wrap:wrap; gap:12px; }.media-management-item { width:min(150px, 100%); display:grid; gap:6px; color:var(--muted); font-size:12px; }.media-management-item img,.media-management-item video { width:100%; height:110px; object-fit:cover; background:#e4e9e3; }.media-management-item span { display:flex; align-items:center; gap:6px; }.media-management-item input { width:auto; }.sale-badge { display:inline-block; border-radius:99px; background:#c94f3d; color:#fff; font-size:11px; font-weight:700; padding:5px 9px; white-space:nowrap; }.product-sale { position:absolute; z-index:1; top:12px; left:12px; text-transform:uppercase; letter-spacing:.7px; box-shadow:0 3px 8px rgba(29,42,39,.15); }
.price-display { display:inline-flex; align-items:center; gap:8px; }.price-display del { color:var(--muted); font-size:13px; font-weight:500; }.price-display strong { color:#c94f3d; }
.price-slider { grid-column:1/-1; display:grid; gap:3px; padding:3px 0 6px; }.price-slider input { width:100%; height:4px; padding:0; accent-color:var(--accent); cursor:pointer; }
.sale-banner { display:flex; align-items:center; justify-content:center; gap:12px; margin:26px 0 -42px; padding:13px 18px; border:1px solid #e8b6a7; border-radius:5px; background:#fff0eb; color:#8f3429; }.sale-banner strong { font:600 18px 'Playfair Display',serif; }.sale-banner span { font-size:13px; }
.empty { grid-column:1/-1; text-align:center; color:var(--muted); padding:70px 0; }.flash-stack { padding-top:16px; }.flash { padding:12px 16px; border-radius:4px; margin-bottom:8px; font-size:14px; }.flash.success { background:#dcefe0; color:#275d34; }.flash.danger { background:#f7dfdc; color:#8a3027; }.flash.warning { background:#fff0c9; color:#795b00; }
.admin-main { padding:48px 0 80px; }.admin-toolbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }.admin-toolbar h1,.login-card h1 { font:600 38px 'Playfair Display',serif; margin:0; }.table-wrap { overflow-x:auto; background:var(--paper); border:1px solid var(--line); }.admin-table { width:100%; border-collapse:collapse; font-size:14px; }.admin-table th,.admin-table td { padding:14px 16px; text-align:left; border-bottom:1px solid var(--line); }.admin-table th { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:1px; }.table-thumb { width:52px; height:52px; object-fit:cover; background:var(--sage); }.actions { display:flex; gap:8px; }.small-button { border:1px solid var(--line); background:#fff; border-radius:3px; padding:7px 10px; cursor:pointer; font-size:12px; }.small-button.delete { color:#a53e35; }.small-button:hover { background:var(--cream); }
.form-card,.login-card { max-width:760px; background:var(--paper); border:1px solid var(--line); padding:30px; margin:48px auto 80px; }.form-card h1 { margin:8px 0 7px; font:600 36px 'Playfair Display',serif; }.form-intro { color:var(--muted); line-height:1.5; margin:0 0 26px; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.form-group { display:flex; flex-direction:column; gap:7px; }.form-group.full { grid-column:1/-1; }.form-group label,.size-options legend { font-size:13px; font-weight:700; }.size-options { border:0; padding:0; margin:0; min-width:0; }.size-choice-grid { display:flex; flex-wrap:wrap; gap:8px; }.size-choice-grid label { cursor:pointer; }.size-choice-grid input { position:absolute; opacity:0; }.size-choice-grid span { display:block; border:1px solid #d8d4cb; border-radius:99px; color:var(--muted); font-size:13px; padding:9px 13px; }.size-choice-grid input:checked + span { border-color:var(--ink); background:var(--ink); color:#fff; }.form-actions { display:flex; gap:12px; margin-top:24px; align-items:center; }.secondary { color:var(--muted); }.secondary:hover { color:var(--accent); }.login-page { min-height:65vh; display:flex; align-items:center; }.login-card { max-width:420px; width:100%; margin:48px auto; }.login-card h1 { margin-bottom:8px; }.login-card p { color:var(--muted); line-height:1.5; }.login-card form { display:grid; gap:15px; margin-top:24px; }.hint { background:var(--cream); padding:12px; font-size:12px; color:var(--muted); }
.offer-control { justify-content:center; padding:12px; border:1px solid var(--line); border-radius:4px; background:#fff8f5; }.offer-control label { cursor:pointer; }.offer-control input { accent-color:var(--accent); margin-right:7px; }
.field-error { display:none; color:#a53e35; font-size:12px; }.field-error.is-visible { display:block; }
.selected-upload-list { display:grid; gap:6px; margin:0; padding:0; list-style:none; }.selected-upload-list:empty { display:none; }.selected-upload-list li { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:7px 9px; border:1px solid var(--line); border-radius:4px; color:var(--muted); font-size:12px; }.selected-upload-list li button { flex:none; padding:4px 8px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--ink); cursor:pointer; }.selected-upload-list li button:hover { border-color:var(--accent); color:var(--accent); }
.upload-color-field { display:flex; align-items:center; gap:7px; font-size:11px; }.upload-color-field select { min-width:150px; border:1px solid #d8d4cb; border-radius:4px; padding:6px; background:#fff; font:12px 'DM Sans',sans-serif; }.upload-color-swatch { width:16px; height:16px; flex:none; border:1px solid rgba(0,0,0,.18); border-radius:50%; background:var(--swatch); }.upload-color-swatch[hidden] { display:none; }
.closing-banner { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:30px 34px; margin:0 0 70px; background:var(--ink); color:#fff; border-radius:6px; }.closing-banner h2 { margin:8px 0 6px; font:600 28px 'Playfair Display',serif; }.closing-banner p { color:#cbd5d0; margin:0; font-size:14px; }.closing-banner .eyebrow { color:#d9a087; }.closing-banner .secondary { color:#fff; white-space:nowrap; }
footer { padding:18px 0; border-top:1px solid var(--line); color:var(--muted); font-size:12px; text-align:center; }
footer .container { display:flex; flex-direction:column; align-items:center; gap:6px; }
.footer-credit a { color:var(--ink); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.footer-credit a:hover { color:var(--accent); }
@media (max-width:800px) { main { padding-top:170px; }.filters { grid-template-columns:1fr 1fr; }.filters input:first-child { grid-column:1/-1; }.filters button { min-height:42px; }.product-grid { grid-template-columns:repeat(2,1fr); }.nav-wrap { flex-wrap:wrap; padding:18px 0; }.header-search { order:3; flex-basis:100%; max-width:none; }.form-grid { grid-template-columns:1fr; }.form-group.full { grid-column:auto; }.hero-inner { align-items:flex-start; }.hero-art { width:150px; height:150px; }.hero-art span { font-size:20px; }.value-strip { grid-template-columns:1fr; }.closing-banner { align-items:flex-start; flex-direction:column; } }
@media (max-width:540px) { main { padding-top:190px; }.container { width:min(100% - 28px,1140px); }.shop-page { padding-top:14px; }.product-grid { grid-template-columns:1fr; }.hero { padding-top:46px; }.section-heading { align-items:start; flex-direction:column; margin-top:46px; } nav { gap:12px; flex-wrap:wrap; justify-content:center; }.header-filter { flex:1; }.header-filter summary { text-align:center; }.filter-menu { position:fixed; left:14px; right:14px; top:132px; width:auto; } }

/* Storefront spacing refinements */
.value-strip { margin-top:24px; }
.collection-container { width:min(1540px,calc(100% - 64px)); }
.product-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.product-image { height:260px; object-fit:contain; background:#f4f3ef; }
.product-info { padding:14px; }
.product-info h3 { font-size:19px; }
.product-info p.product-description { display:-webkit-box; min-height:42px; margin:8px 0 2px; overflow:hidden; line-height:1.5; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.product-see-more { display:inline-block; margin-bottom:10px; color:var(--accent); font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.product-modal { width:min(1080px,calc(100% - 32px)); height:min(760px,calc(100vh - 32px)); max-height:calc(100vh - 32px); overflow:hidden; overscroll-behavior:contain; }
.product-modal-content { box-sizing:border-box; height:100%; grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr); gap:24px; overflow:hidden; }
.product-modal-gallery { position:sticky; top:0; align-self:start; min-width:0; }
.product-modal-media-frame { aspect-ratio:1; }
.product-modal-image { cursor:zoom-in; }
.product-modal-info { box-sizing:border-box; display:grid; height:100%; min-height:0; grid-template-rows:minmax(0,1fr) auto; overflow:hidden; }
.product-modal-info-scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; touch-action:pan-y; }
.product-modal-cart-form { z-index:2; margin:0 -4px -10px; padding:14px 4px 10px; background:var(--paper); box-shadow:0 -12px 20px rgba(255,255,255,.94); }
.product-modal-image { cursor:zoom-in; }
.product-image-lightbox { position:fixed; box-sizing:border-box; width:min(96vw,1600px); height:min(94vh,1100px); max-width:none; max-height:none; padding:24px; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#171b19; color:#fff; }
.product-image-lightbox::backdrop { background:rgba(18,26,24,.88); }
.product-image-lightbox-photo { display:block; width:100%; height:100%; object-fit:contain; }
.product-image-lightbox-close { position:absolute; top:10px; right:12px; z-index:1; width:42px; height:42px; border:0; border-radius:50%; background:rgba(255,255,255,.94); color:var(--ink); font-size:30px; line-height:1; cursor:pointer; }
.product-modal-open { overflow:hidden; }
.product-image,.detail-main-media,.product-modal-image,.product-modal-video,.cart-item > img,.cart-item > video,.table-thumb,.media-management-item img,.media-management-item video { object-fit:contain; }
.detail-gallery-main > .detail-main-media,.product-modal-media-frame > .product-modal-image,.product-modal-media-frame > .product-modal-video { width:auto; height:auto; max-width:100%; max-height:100%; min-width:0; min-height:0; object-fit:contain; }
.table-thumb,.media-management-item img,.media-management-item video { background:#f4f3ef; }
.product-image-lightbox { overflow:auto; overscroll-behavior:contain; }
.product-image-lightbox-photo { cursor:zoom-in; }
.product-image-lightbox.is-zoomed .product-image-lightbox-photo { width:auto; height:auto; max-width:none; max-height:none; margin:auto; object-fit:initial; cursor:zoom-out; }
@media (max-width:1100px) { .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:800px) { .collection-container { width:min(100% - 40px,1140px); }.product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .product-modal { width:calc(100% - 24px); height:calc(100vh - 24px); max-height:calc(100vh - 24px); }.product-modal-content { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,42%) minmax(0,1fr); gap:10px; padding:18px; }.product-modal-gallery { display:flex; min-height:0; flex-direction:column; }.product-modal-media-frame { min-height:0; flex:1; aspect-ratio:auto; }.product-modal-info { padding:6px 2px 10px; } }
@media (max-width:540px) { .product-grid { grid-template-columns:1fr; }.product-image { height:300px; } }
.value-strip div { gap:3px; padding:12px 16px; }
.value-strip strong { font-size:15px; }
.value-strip span { font-size:11px; line-height:1.35; }
.section-heading { margin-top:82px; margin-bottom:28px; }
.section-heading h2 { font-size:34px; }
.collection-intro { max-width:520px; color:var(--muted); font-size:14px; line-height:1.5; margin:8px 0 0; }
.product-grid { gap:28px; padding-bottom:78px; }
footer { padding:10px 0; font-size:11px; }
@media (max-width:540px) {
	.section-heading { margin-top:54px; }
	.collection-intro { font-size:13px; }
}

.product-card-link { display:block; width:100%; height:100%; padding:0; border:0; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }.product-card-link:hover h3 { color:var(--accent); }
.product-detail-page { padding-top:30px; padding-bottom:70px; }.breadcrumb { display:flex; align-items:center; gap:9px; margin-bottom:24px; color:var(--muted); font-size:13px; }.breadcrumb a:hover { color:var(--accent); }
.product-detail { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); align-items:start; gap:48px; padding:26px; background:var(--paper); border:1px solid var(--line); border-radius:7px; }
.detail-gallery { min-width:0; }.detail-gallery-main { position:relative; width:100%; aspect-ratio:1; max-height:640px; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:5px; background:#f4f3ef; }.detail-main-media { display:block; width:100%; height:100%; object-fit:contain; background:#f4f3ef; }.detail-main-media[hidden] { display:none; }.detail-image-placeholder { position:absolute; inset:0; display:grid; place-items:center; color:#93a394; font:600 38px 'Playfair Display',serif; }.detail-gallery-arrow { position:absolute; top:50%; z-index:1; display:grid; place-items:center; width:42px; height:42px; padding:0; transform:translateY(-50%); border:1px solid rgba(29,42,39,.12); border-radius:50%; background:rgba(255,255,255,.9); color:var(--ink); font-size:25px; line-height:1; cursor:pointer; box-shadow:0 2px 8px rgba(29,42,39,.12); }.detail-gallery-arrow:hover { background:var(--ink); color:#fff; }.detail-gallery-previous { left:14px; }.detail-gallery-next { right:14px; }.detail-gallery-position { margin:10px 0 0; color:var(--muted); font-size:13px; text-align:center; }
.product-detail-info { padding:12px 2px; }.product-detail-info h1 { margin:10px 0; font:600 clamp(30px,4vw,42px)/1.12 'Playfair Display',serif; }.detail-rating-note { color:var(--muted); font-size:13px; padding:4px 0 16px; border-bottom:1px solid var(--line); }.detail-price { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:22px; font-size:26px; }.detail-price del { color:var(--muted); font-size:17px; }.detail-price strong { font-size:29px; }.detail-stock { color:var(--muted); font-size:13px; }.detail-sizes,.detail-description { margin-top:26px; }.detail-sizes h2,.detail-description h2 { margin:0 0 10px; font:600 19px 'Playfair Display',serif; }.detail-description p { color:var(--muted); font-size:14px; line-height:1.7; }.detail-back-link { display:inline-block; margin-top:22px; color:var(--ink); }
@media (max-width:800px) { .product-detail { grid-template-columns:1fr; gap:18px; padding:18px; } }
@media (max-width:540px) { .product-detail-page { padding-top:18px; }.product-detail { padding:12px; }.product-detail-info h1 { font-size:31px; } }

.product-modal { width:min(920px,calc(100% - 32px)); max-width:920px; max-height:calc(100% - 32px); padding:0; overflow:auto; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); box-shadow:0 24px 80px rgba(0,0,0,.28); }
.product-modal::backdrop { background:rgba(18,26,24,.65); }
.product-modal-content { position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:28px; padding:28px; }
.product-modal-close { position:absolute; top:10px; right:12px; z-index:2; width:40px; height:40px; border:0; border-radius:50%; background:rgba(255,255,255,.92); color:var(--ink); font-size:30px; line-height:1; cursor:pointer; }
.product-modal-media-frame { position:relative; width:100%; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border:1px solid var(--line); border-radius:5px; background:#f4f3ef; }
.product-modal-image,.product-modal-video { display:block; width:100%; height:100%; object-fit:contain; background:#f4f3ef; }
.product-modal-placeholder { position:absolute; inset:0; display:grid; place-items:center; color:#93a394; font:600 34px 'Playfair Display',serif; }
.product-modal-placeholder[hidden],.product-modal-image[hidden],.product-modal-video[hidden] { display:none; }
.product-modal-arrow { position:absolute; top:50%; z-index:1; display:grid; place-items:center; width:42px; height:42px; padding:0; transform:translateY(-50%); border:1px solid rgba(29,42,39,.12); border-radius:50%; background:rgba(255,255,255,.9); color:var(--ink); font-size:25px; cursor:pointer; box-shadow:0 2px 8px rgba(29,42,39,.12); }
.product-modal-arrow[hidden] { display:none; }.product-modal-arrow:hover { background:var(--ink); color:#fff; }.product-modal-previous { left:12px; }.product-modal-next { right:12px; }
.product-modal-position { margin:9px 0 0; color:var(--muted); font-size:13px; text-align:center; }.product-modal-info { padding:30px 4px 10px; }.product-modal-info h2 { margin:9px 0 16px; font:600 clamp(28px,4vw,40px)/1.12 'Playfair Display',serif; }.product-modal-status { min-height:18px; margin:0; color:var(--muted); font-size:13px; }.product-modal-prices { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:20px 0 12px; font-size:25px; }.product-modal-prices strong { font-size:29px; }.product-modal-prices del { color:var(--muted); font-size:17px; }.product-modal-stock { color:var(--muted); font-size:13px; }.product-modal-sizes,.product-modal-description { margin-top:24px; }.product-modal-sizes h3,.product-modal-description h3 { margin:0 0 9px; font:600 19px 'Playfair Display',serif; }.product-modal-description p { color:var(--muted); font-size:14px; line-height:1.7; white-space:pre-line; }
@media (max-width:700px) { .product-modal-content { grid-template-columns:1fr; gap:14px; padding:18px; }.product-modal-info { padding:6px 2px 10px; }.product-modal { width:min(540px,calc(100% - 24px)); max-height:calc(100% - 24px); } }
.cart-count { display:inline-grid; min-width:20px; height:20px; place-items:center; padding:0 5px; border-radius:99px; background:var(--sage); font-size:11px; font-weight:700; }
.product-modal-cart-form { display:grid; grid-template-columns:1fr auto; align-items:center; gap:9px 12px; margin-top:24px; }.product-modal-cart-form > label,.product-modal-colors label { font-size:13px; font-weight:700; }.product-modal-cart-form select,.product-modal-cart-form input { min-width:0; border:1px solid #d8d4cb; border-radius:4px; padding:10px; font:14px 'DM Sans',sans-serif; background:var(--paper); }.product-modal-cart-form select { grid-column:1/-1; }.product-modal-cart-form button { grid-column:1/-1; }.product-modal-cart-form button:disabled { opacity:.55; cursor:not-allowed; }.product-modal-colors { grid-column:1/-1; display:grid; gap:7px; }.product-modal-colors[hidden] { display:none; }
.product-modal-colors .selected-color-name { display:inline-flex; align-items:center; gap:7px; width:max-content; padding:5px 9px; border:1px solid var(--line); border-radius:99px; background:#f7f4ee; color:var(--ink); font-size:12px; font-weight:700; }.product-modal-colors .selected-color-name[hidden] { display:none; }.selected-color-indicator { width:15px; height:15px; flex:none; border:1px solid rgba(0,0,0,.2); border-radius:50%; background:var(--swatch); }
.product-modal-color-prompt { color:#a53e35; font-size:12px; font-weight:700; }.product-modal-color-prompt[hidden] { display:none; }
.cart-page { padding-top:35px; padding-bottom:70px; }.cart-page > h1 { margin:8px 0 25px; font:600 38px 'Playfair Display',serif; }.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 290px; align-items:start; gap:24px; }.cart-items { display:grid; gap:14px; }.cart-item { display:grid; grid-template-columns:130px minmax(0,1fr) auto; align-items:start; gap:18px; padding:16px; border:1px solid var(--line); border-radius:6px; background:var(--paper); }.cart-item > img,.cart-item > video,.cart-item-placeholder { width:130px; height:140px; object-fit:contain; background:#f4f3ef; }.cart-item-placeholder { display:grid; place-items:center; color:#93a394; font:600 20px 'Playfair Display',serif; }.cart-item-details h2 { margin:0 0 6px; font:600 20px 'Playfair Display',serif; }.cart-item-details p { margin:5px 0; color:var(--muted); font-size:13px; }.cart-quantity-form { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:12px 0 6px; }.cart-quantity-form label { font-size:12px; font-weight:700; }.cart-quantity-form input { width:76px; border:1px solid #d8d4cb; border-radius:4px; padding:7px; font:13px 'DM Sans',sans-serif; }.cart-remove { padding:4px 0; border:0; background:none; color:#a53e35; font:13px 'DM Sans',sans-serif; cursor:pointer; }.cart-line-total { white-space:nowrap; }.cart-summary { position:sticky; top:96px; padding:20px; border:1px solid var(--line); border-radius:6px; background:var(--paper); }.cart-summary h2 { margin:0 0 18px; font:600 21px 'Playfair Display',serif; }.cart-summary > p:first-of-type { display:flex; justify-content:space-between; gap:14px; padding-bottom:15px; border-bottom:1px solid var(--line); }.cart-summary .button { display:block; margin-top:16px; text-align:center; }.cart-empty { margin:20px 0 50px; padding:32px; background:var(--paper); border:1px solid var(--line); text-align:center; }.cart-empty h2 { font:600 26px 'Playfair Display',serif; }.cart-empty p { margin-bottom:22px; color:var(--muted); }
@media (max-width:700px) { .cart-layout { grid-template-columns:1fr; }.cart-summary { position:static; }.cart-item { grid-template-columns:90px minmax(0,1fr); gap:12px; padding:12px; }.cart-item > img,.cart-item > video,.cart-item-placeholder { width:90px; height:110px; }.cart-line-total { grid-column:2; } }
.nav-wrap { min-height:104px; }.brand img { width:136px; height:100px; }
main { padding-top:104px; }
.product-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),260px)); justify-content:center; gap:28px; }
@media (max-width:800px) { main { padding-top:200px; } }
@media (max-width:540px) { main { padding-top:224px; } }
.hero { position:relative; isolation:isolate; overflow:hidden; padding:38px 20px 34px; background:#1d2a27; color:#fff; text-align:center; }
.hero::before { position:absolute; z-index:1; inset:0; background:linear-gradient(105deg,rgba(17,26,24,.86),rgba(29,42,39,.72) 52%,rgba(29,42,39,.82)),radial-gradient(ellipse at 50% 0,rgba(184,106,75,.18),transparent 48%); content:""; pointer-events:none; }
.hero-background-image { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 42%; opacity:0; transition:opacity 1.2s ease; }
.hero-background-image.is-active { opacity:1; }
.hero-inner { position:relative; z-index:2; display:flex; min-height:0; flex-direction:column; align-items:center; gap:0; }
.hero-kicker { display:flex; align-items:center; gap:9px; color:#e1b08e; font-size:10px; font-weight:700; letter-spacing:2px; }
.hero-kicker i { color:#d9b083; font-size:13px; font-style:normal; }
.hero h1 { margin:12px 0 8px; font:600 clamp(38px,5vw,58px)/.98 'Playfair Display',serif; letter-spacing:-1.6px; }
.hero h1 em { color:#d68c6b; font-weight:600; }
.hero p { max-width:540px; margin:0; color:rgba(255,255,255,.76); font-size:14px; line-height:1.5; }
.hero-cta { display:inline-flex; align-items:center; gap:18px; margin-top:17px; padding:10px 16px; border:1px solid rgba(255,255,255,.28); border-radius:3px; background:#f7f4ee; color:var(--ink); font-size:12px; font-weight:700; transition:background .2s ease,transform .2s ease; }
.hero-cta:hover { transform:translateY(-2px); background:#e7c5a8; }
.hero-cta span { color:var(--accent); font-size:17px; }
.hero-promises { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; margin-top:18px; color:rgba(255,255,255,.58); font-size:9px; font-weight:600; letter-spacing:.7px; text-transform:uppercase; }
.hero-promises i { width:3px; height:3px; border-radius:50%; background:#d68c6b; }
@media (max-width:540px) { .hero { padding:28px 16px 26px; }.hero-kicker { gap:7px; font-size:8px; letter-spacing:1.3px; }.hero h1 { margin:10px 0 7px; font-size:clamp(34px,9vw,44px); letter-spacing:-1px; }.hero p { max-width:390px; font-size:13px; }.hero-cta { margin-top:14px; padding:9px 13px; }.hero-promises { gap:7px; margin-top:14px; font-size:8px; letter-spacing:.4px; } }
@media (prefers-reduced-motion:reduce) { .hero-background-image { transition:none; } }
.product-card { position:relative; padding-bottom:52px; }.product-card-add { position:absolute; right:14px; bottom:12px; left:14px; width:calc(100% - 28px); padding:10px 14px; border:0; border-radius:4px; background:var(--ink); color:#fff; font:600 13px 'DM Sans',sans-serif; cursor:pointer; }.product-card-add:hover { background:var(--accent); }.product-card-add:disabled { opacity:.55; cursor:not-allowed; }.storefront-notice { margin:0 0 18px; padding:12px 16px; border:1px solid var(--sage); border-radius:5px; background:#edf3ed; color:var(--ink); font-size:14px; }.storefront-notice[hidden] { display:none; }
.cart-summary .cart-checkout-button { background:var(--accent); }.cart-summary .cart-checkout-button:hover { background:var(--ink); }
.checkout-page { max-width:760px; padding-top:36px; padding-bottom:70px; }.checkout-page > h1,.checkout-success h1 { margin:8px 0 12px; font:600 38px 'Playfair Display',serif; }.checkout-intro { color:var(--muted); line-height:1.6; }.checkout-form,.checkout-success { display:grid; gap:18px; margin-top:24px; padding:24px; border:1px solid var(--line); border-radius:6px; background:var(--paper); }.checkout-form input,.checkout-form textarea { width:100%; border:1px solid #d8d4cb; border-radius:4px; padding:12px; font:14px 'DM Sans',sans-serif; }.checkout-form textarea { resize:vertical; }.checkout-form .button { justify-self:start; }.checkout-success > p { margin:0; color:var(--muted); line-height:1.6; }.checkout-success-summary { padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.checkout-success-summary > p { display:flex; justify-content:space-between; gap:16px; color:var(--muted); }.checkout-success-summary .checkout-total { padding-top:12px; border-top:1px solid var(--line); color:var(--ink); font-size:17px; }.checkout-note { margin:0; color:var(--muted); font-size:13px; }
.checkout-section-title { margin:4px 0 -4px; padding-top:12px; border-top:1px solid var(--line); font:600 19px 'Playfair Display',serif; }.checkout-fixed-location { margin:0; padding:12px; border:1px solid var(--line); border-radius:4px; background:var(--cream); font-size:14px; }
.checkout-order-summary { display:flex; justify-content:space-between; align-items:center; padding:16px 20px; border:1px solid var(--line); border-radius:6px; background:var(--paper); }.checkout-order-summary h2 { margin:0; font:600 20px 'Playfair Display',serif; }
.admin-toolbar-actions { display:flex; align-items:center; gap:10px; }.admin-toolbar-actions .secondary { display:inline-block; padding:10px 14px; border:1px solid var(--line); border-radius:4px; background:var(--paper); font-size:14px; }
.admin-orders { padding-top:30px; padding-bottom:70px; }.admin-orders > .admin-toolbar h1 { margin:8px 0 6px; font:600 38px 'Playfair Display',serif; }.admin-orders-intro { margin:0; color:var(--muted); }.order-filter { display:flex; align-items:center; gap:10px; margin:0 0 18px; padding:14px; border:1px solid var(--line); background:var(--paper); }.order-filter label { font-size:13px; font-weight:700; }.order-filter select,.order-table td > select,.order-table td > textarea { min-width:130px; border:1px solid #d8d4cb; border-radius:4px; padding:8px; background:#fff; font:13px 'DM Sans',sans-serif; }.order-filter > a { color:var(--muted); font-size:13px; }.order-table { min-width:1120px; }.order-table td { vertical-align:top; }.order-table time { display:inline-block; margin-top:5px; color:var(--muted); font-size:12px; }.order-address { display:inline-block; max-width:200px; margin-top:7px; color:var(--muted); font-size:12px; overflow-wrap:anywhere; }.order-table-items { display:grid; gap:6px; min-width:170px; margin:0; padding:0; list-style:none; }.order-table-items li { font-size:13px; }.order-table-items span { color:var(--muted); font-size:11px; }.order-status { display:inline-block; margin-bottom:8px; padding:5px 9px; border-radius:99px; background:#fff0c9; color:#795b00; font-size:11px; font-weight:700; white-space:nowrap; }.order-status-in_progress { background:#fff0c9; color:#795b00; }.order-status-completed { background:#dcefe0; color:#275d34; }.order-status-cancelled { background:#f7dfdc; color:#8a3027; }.order-table td > select,.order-table td > textarea { display:block; width:100%; min-width:150px; }.order-table td > textarea { resize:vertical; }.order-update-form { display:grid; min-width:110px; gap:7px; }.order-update-form button:disabled { opacity:.5; cursor:not-allowed; }.order-delete-form { margin-top:8px; }.admin-orders-empty { padding:36px 20px; border:1px solid var(--line); background:var(--paper); color:var(--muted); text-align:center; }.admin-order-pagination { display:flex; justify-content:center; align-items:center; gap:16px; margin-top:24px; }.admin-order-pagination a { padding:9px 14px; border:1px solid var(--line); border-radius:4px; background:var(--paper); }.admin-order-pagination span { color:var(--muted); font-size:13px; }
@media (max-width:700px) { .admin-toolbar-actions { flex-wrap:wrap; justify-content:flex-end; }.order-filter { flex-wrap:wrap; }.order-filter select { flex:1; }.order-table { min-width:980px; } }
.size-stock-option { display:grid; justify-items:start; gap:6px; }.size-choice-chip { position:relative; display:inline-flex; cursor:pointer; }.size-choice-chip input { position:absolute; opacity:0; }.size-choice-chip span { display:block; border:1px solid #d8d4cb; border-radius:99px; color:var(--muted); font-size:13px; padding:7px 12px; }.size-choice-chip input:checked + span { border-color:var(--ink); background:var(--ink); color:#fff; }.size-choice-chip input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }.size-stock-quantity { grid-template-columns:auto 70px; align-items:center; gap:5px; color:var(--muted); font-size:11px; }.size-stock-quantity[hidden] { display:none; }.size-stock-quantity input { position:static !important; width:70px; opacity:1 !important; border:1px solid #d8d4cb; border-radius:4px; padding:5px 7px; font:13px 'DM Sans',sans-serif; }
.color-stock-panel { min-width:0; margin:8px 0 0; padding:12px; border:1px solid var(--line); border-radius:4px; }.color-stock-panel legend { padding:0 5px; font-size:13px; font-weight:700; }.color-stock-panel .size-stock-quantity { display:grid; }.color-stock-panel .size-stock-quantity[hidden] { display:none; }
.size-color-panels { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:10px; padding:4px 2px 12px; }.size-color-panels .size-color-panel { position:relative; min-width:0; width:auto; margin:0; padding:8px; }.size-color-panels .size-color-panel:has(.color-picker-dropdown[open]) { z-index:10; }.size-panel-choice { display:flex; align-items:center; gap:6px; }.size-panel-choice input { margin:0; }.size-panel-choice span { font-size:13px; }.size-color-panel .legacy-size-quantity { grid-template-columns:1fr 54px; }.size-color-panel .size-stock-quantity input { width:54px; }.size-color-panel .color-picker-dropdown { width:100%; max-width:none; position:relative; }.size-color-panel .color-picker-dropdown summary { overflow:hidden; padding:6px 7px; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }.size-color-panel .color-search-label { padding:7px 8px 0; font-size:11px; }.size-color-panel .color-search-label input { min-width:0; width:100%; padding:6px; }.size-color-panel .color-picker-options { position:absolute; z-index:20; top:calc(100% + 4px); left:0; width:min(250px,80vw); max-height:250px; box-sizing:border-box; }.size-color-panel .color-picker-option { gap:6px; }.size-color-panel .color-picker-choice { gap:5px; font-size:12px; }.size-color-panel .color-picker-choice i { width:16px; height:16px; }.size-color-panel .color-picker-choice input { width:16px; height:16px; margin:0; cursor:pointer; }.size-color-panel .color-picker-option .size-stock-quantity { grid-template-columns:auto 54px; }.size-color-panel .color-picker-option .size-stock-quantity input { cursor:text; }
@media (max-width:700px) { .size-color-panels { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:480px) { .size-color-panels { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.size-color-panel .color-picker-options { padding:6px; }.size-color-panel .color-picker-option { display:flex; justify-content:flex-start; align-items:center; cursor:pointer; }.size-color-panel .color-picker-option input { flex:none; width:16px; height:16px; margin:0; accent-color:var(--ink); cursor:pointer; }.size-color-panel .color-picker-option i,.selected-color-name i { display:inline-block; flex:none; width:18px; height:18px; border:1px solid rgba(0,0,0,.2); border-radius:50%; background:var(--swatch); vertical-align:middle; }.size-color-panel .color-picker-option span { font-size:12px; }.selected-color-stock-list { display:grid; gap:6px; margin-top:8px; }.selected-color-stock[hidden] { display:none; }.selected-color-stock { display:flex; justify-content:space-between; align-items:center; gap:5px; padding:5px; border:1px solid var(--line); border-radius:4px; background:#fff; }.selected-color-name { display:inline-flex; align-items:center; gap:5px; color:var(--ink); font-size:11px; font-weight:500; }.selected-color-name i { width:15px; height:15px; }.selected-color-stock .size-stock-quantity { display:grid; grid-template-columns:auto 54px; }.size-total-stock { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:6px 5px 2px; color:var(--ink); font-size:12px; font-weight:700; }.size-total-stock[hidden] { display:none; }.size-total-quantity { min-width:28px; padding:3px 6px; border-radius:3px; background:var(--cream); text-align:center; }
.size-choice-row { flex-wrap:nowrap; overflow-x:auto; padding:2px 2px 8px; }.size-color-panel[hidden] { display:none; }.size-color-panel { display:grid; gap:10px; }.color-search-label { display:grid; gap:5px; max-width:340px; font-size:12px; color:var(--muted); }.color-search-label input,.color-picker-dropdown summary,.media-management-item select { border:1px solid #d8d4cb; border-radius:4px; padding:8px 10px; background:var(--paper); font:13px 'DM Sans',sans-serif; }.color-picker-dropdown { max-width:560px; }.color-picker-dropdown summary { cursor:pointer; color:var(--ink); }.color-picker-options { display:grid; gap:7px; max-height:280px; overflow:auto; margin-top:6px; padding:8px; border:1px solid var(--line); border-radius:4px; background:#fff; }.color-picker-option { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; padding:5px; }.color-picker-option[hidden] { display:none; }.color-picker-choice { display:flex; align-items:center; gap:8px; font-size:13px; }.color-picker-choice input { position:static !important; opacity:1 !important; }.color-picker-choice i,.product-color-swatch { display:inline-block; width:22px; height:22px; border:1px solid rgba(0,0,0,.2); border-radius:50%; background:var(--swatch); vertical-align:middle; }.size-stock-quantity { display:inline-grid; }.admin-color-swatches { display:flex; flex-wrap:wrap; gap:8px; }.admin-color-option { display:flex; align-items:center; gap:7px; padding:5px 8px; border:1px solid var(--line); border-radius:4px; font-size:12px; }.admin-color-option input[type="color"] { width:30px; height:28px; padding:2px; border:1px solid var(--line); border-radius:4px; background:#fff; cursor:pointer; }.selected-color-name { min-height:1.2em; color:var(--muted); font-size:13px; }.product-color-swatches { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:10px 0; }.product-color-swatch { width:24px; height:24px; padding:0; cursor:pointer; }.product-color-swatch.is-selected,.product-color-swatch[aria-pressed="true"] { outline:2px solid var(--ink); outline-offset:2px; }.detail-color-stock { margin-top:8px; }.detail-color-stock[hidden] { display:none; }.cart-color,.order-color-label { display:inline-flex; align-items:center; gap:6px; }.cart-color i,.order-color-label i { display:inline-block; width:15px; height:15px; border:1px solid rgba(0,0,0,.2); border-radius:50%; background:var(--swatch); }
