@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Inter:wght@400;500;600&display=swap";:root{--bg:#f5f0e8;--surface:#fff;--surface-2:#f7f8f6;--ink:#3a3028;--ink-2:#635a52;--muted:#6b5d52;--line:#dfd9d1;--line-strong:#c8c2ba;--primary-tint:#ebe8de;--primary-soft:#dfded2;--primary-line:#c1c6b5;--primary:#7a8b6e;--primary-strong:#6e7b61;--primary-ink:#677059;--on-primary:#3a3028;--accent-tint:#f1e6dd;--accent-soft:#ecdace;--accent-line:#e0beac;--accent:#c4785a;--accent-strong:#ab6b51;--accent-ink:#945f48;--on-accent:#3a3028;--success:#577359;--success-soft:#dfdfd5;--warning:#876841;--warning-soft:#f0e5d4;--error:#a55445;--error-soft:#ecdbd2;--font-heading:"Fraunces", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--font-wordmark:"DM Serif Display", Georgia, serif;--text-display:clamp(52px, 8vw, 104px);--text-title:clamp(28px, 3vw, 36px);--text-body:19px;--text-small:15px;--text-kicker:12px;--leading-display:1;--leading-body:1.6;--display-weight:700;--display-tracking:-.03em;--display-transform:none;--tracking-kicker:.08em;--measure:65ch;--space:8px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-section:clamp(56px, 9vw, 120px);--container:1240px;--control:44px;--radius:12px;--radius-sm:6px;--radius-pill:999px;--shadow:0 1px 2px #3a30280f, 0 16px 40px -20px #3a302847;--wash:radial-gradient(90% 70% at 12% 0%, #dadacd 0%, transparent 70%);--accent-wash:radial-gradient(60% 50% at 100% 100%, #edddd1 0%, transparent 70%);--icon:20px;--icon-stroke:1.75;--season-wash-spring:radial-gradient(60% 60% at 10% 20%, #b7ceac14 0%, transparent 60%);--season-wash-summer:radial-gradient(60% 60% at 10% 20%, #d4a05a14 0%, transparent 60%);--season-wash-autumn:radial-gradient(60% 60% at 10% 20%, #c4785a14 0%, transparent 60%);--season-wash-winter:radial-gradient(60% 60% at 10% 20%, #7a8b6e14 0%, transparent 60%);--band-spring-start:#a8c4a0;--band-spring-end:#7a8b6e;--band-summer-start:#d4a05a;--band-summer-end:#c49050;--band-autumn-start:#7a8b6e;--band-autumn-end:#6b5d52;--band-winter-start:#7a8b8e;--band-winter-end:#6b7d82}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}a{color:var(--accent-ink);text-underline-offset:2px;text-decoration:underline}a:hover{color:var(--accent-strong)}img{max-width:100%;display:block}.wordmark{font-family:var(--font-wordmark);letter-spacing:-.01em;border-bottom:.12em solid var(--accent);padding-bottom:.04em;font-weight:400;display:inline-block}.wordmark-display{font-size:calc(var(--text-display) * .5);line-height:1.1}.wordmark-section{font-size:var(--text-title);line-height:1.1}.wordmark-small{font-size:var(--text-body);line-height:1.2}.header{z-index:100;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{max-width:var(--container);padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-5);flex-wrap:wrap;margin:0 auto;display:flex}.header-brand{align-items:center;display:flex}.header-tagline{font-size:var(--text-small);color:var(--muted);display:none}@media (width>=900px){.header-tagline{display:block}}.header-nav{gap:var(--space-3);margin-left:auto;display:none}.header-nav[data-open=true]{background:var(--surface);padding:var(--space-5);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;display:flex;position:absolute;top:100%;left:0;right:0}@media (width>=900px){.header-nav{box-shadow:none;background:0 0;border:none;flex-direction:row;padding:0;display:flex;position:static}.header-nav[data-open=true]{box-shadow:none;background:0 0;border:none;flex-direction:row;padding:0;position:static}}.nav-link{font-size:var(--text-small);color:var(--muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-weight:500;transition:color .2s,background .2s}.nav-link:hover{color:var(--ink);background:var(--primary-tint)}.nav-link[aria-current=page]{color:var(--ink);background:var(--primary-soft)}.header-actions{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}@media (width>=900px){.header-actions{margin-left:0}}.cart-btn{width:var(--control);height:var(--control);background:var(--surface);border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.cart-btn:hover{border-color:var(--accent)}.cart-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cart-count{min-width:18px;height:18px;color:var(--on-accent);background:var(--accent);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:600;display:flex;position:absolute;top:-4px;right:-4px}.menu-toggle{width:var(--control);height:var(--control);justify-content:center;align-items:center;display:flex}@media (width>=900px){.menu-toggle{display:none}}.footer{background:var(--primary-tint);border-top:1px solid var(--line);padding:var(--space-7) var(--space-5);margin-top:var(--space-section)}.footer-inner{max-width:var(--container);text-align:center;margin:0 auto}.footer-note{font-size:var(--text-small);color:var(--muted);margin-top:var(--space-3)}.footer-copy{font-size:var(--text-small);color:var(--muted);margin-top:var(--space-2)}.main{min-height:60vh}.container{max-width:var(--container);padding:0 var(--space-5);margin:0 auto}.section{padding:var(--space-section) 0}.section-featured{background:var(--surface)}.section-artisans{background:var(--wash), var(--accent-wash), var(--bg)}.section-materials{background:var(--primary-tint)}.section-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.section-title{font-family:var(--font-heading);font-size:var(--text-title);letter-spacing:-.02em;font-weight:600;line-height:1.1}.band{background:var(--primary);color:var(--bg);padding:calc(var(--space) * 14) 0 calc(var(--space) * 20);position:relative;overflow:hidden}.band:before{content:"";pointer-events:none;background:radial-gradient(60% 60% at 10% 20%,#7a8b6e14 0%,#0000 60%);position:absolute;inset:0}.band-home{background:var(--accent);background-position:50%;background-size:cover;position:relative}.band-home:before{display:none}.band-scrim{pointer-events:none;background:linear-gradient(135deg,#3a302859 0%,#3a30282e 60%,#0000 100%);position:absolute;inset:0}.band-season{background-position:50%;background-size:cover;position:relative}.band-season:before{display:none}.band-season-overlay{pointer-events:none;position:absolute;inset:0}.band-season-overlay[data-season=spring]{background:linear-gradient(135deg,#a8c4a047 0%,#7a8b6e38 100%)}.band-season-overlay[data-season=summer]{background:linear-gradient(135deg,#d4a05a47 0%,#c4905038 100%)}.band-season-overlay[data-season=autumn]{background:linear-gradient(135deg,#7a8b6e47 0%,#6b5d5238 100%)}.band-season-overlay[data-season=winter]{background:linear-gradient(135deg,#7a8b8e47 0%,#6b7d8238 100%)}.band-artisans{background:var(--primary)}.band:not(.band-season)[data-season=spring]{background:linear-gradient(180deg, var(--band-spring-start) 0%, var(--band-spring-end) 100%)}.band:not(.band-season)[data-season=spring]:before{background:var(--season-wash-spring)}.band:not(.band-season)[data-season=summer]{background:linear-gradient(180deg, var(--band-summer-start) 0%, var(--band-summer-end) 100%)}.band:not(.band-season)[data-season=summer]:before{background:var(--season-wash-summer)}.band:not(.band-season)[data-season=autumn]{background:linear-gradient(180deg, var(--band-autumn-start) 0%, var(--band-autumn-end) 100%)}.band:not(.band-season)[data-season=autumn]:before{background:var(--season-wash-autumn)}.band:not(.band-season)[data-season=winter]{background:linear-gradient(180deg, var(--band-winter-start) 0%, var(--band-winter-end) 100%)}.band:not(.band-season)[data-season=winter]:before{background:var(--season-wash-winter)}.band-inner{max-width:var(--container);padding:0 var(--space-5);z-index:1;margin:0 auto;position:relative}.band-wordmark{margin-bottom:var(--space-5)}.band-wordmark .wordmark{color:var(--bg);border-color:var(--bg);opacity:.9}.band-kicker{font-size:var(--text-kicker);letter-spacing:var(--tracking-kicker);text-transform:uppercase;opacity:.8;font-weight:500}.band-headline{font-family:var(--font-heading);font-size:var(--text-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);line-height:var(--leading-display);max-width:12ch;margin:var(--space-3) 0}.band-lede{font-size:var(--text-body);line-height:var(--leading-body);opacity:.85;max-width:48ch}.band-actions{margin-top:var(--space-6)}.band-season-initial{top:var(--space-5);right:var(--space-5);font-family:var(--font-heading);color:#0000;-webkit-text-stroke:2px currentColor;opacity:.04;pointer-events:none;font-size:clamp(120px,20vw,280px);font-weight:700;line-height:1;position:absolute}.panel{max-width:var(--container);margin:calc(var(--space) * -10) auto 0;padding:0 var(--space-5);z-index:10;position:relative}.filter-chips{background:var(--surface);padding:var(--space-5);border-radius:var(--radius);box-shadow:var(--shadow)}.filter-label{align-items:center;gap:var(--space-2);font-size:var(--text-kicker);letter-spacing:var(--tracking-kicker);text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-3);font-weight:500;display:flex}.chips-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-4);font-size:var(--text-small);color:var(--ink);background:var(--primary-tint);border:1px solid var(--primary-line);border-radius:var(--radius-pill);font-weight:500;transition:all .2s ease-out;display:inline-flex;position:relative}.chip:hover{background:var(--primary-soft);border-color:var(--primary)}.chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip:active{transform:scale(.98)}.chip-active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink);box-shadow:inset 0 1px 2px #3a30281f,0 1px 3px #c4785a26}.chip-active:before{content:"";border-radius:var(--radius-pill);pointer-events:none;background:linear-gradient(135deg,#ffffff26 0%,#0000 50%);position:absolute;inset:0}.chip-active:hover{background:var(--accent-tint);box-shadow:inset 0 2px 4px #3a302826,0 2px 6px #c4785a33}.chip-count{font-size:var(--text-kicker);color:var(--muted);background:var(--bg);border-radius:var(--radius-sm);padding:2px 6px;font-weight:600}.chip-active .chip-count{background:var(--accent);color:var(--on-accent)}.chip-clear{border-color:var(--line);color:var(--muted);background:0 0}.chip-clear:hover{background:var(--error-soft);border-color:var(--error);color:var(--error)}.product-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}@media (prefers-reduced-motion:no-preference){.product-grid-item{animation:.3s ease-out backwards fadeInUp;animation-delay:calc(var(--stagger,0) * 50ms)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.product-card{background:var(--surface);border-radius:var(--radius);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 4px 12px #3a30280f}.product-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.product-card-image{aspect-ratio:4/3;background:var(--primary-tint);position:relative;overflow:hidden}.product-card-placeholder{background:linear-gradient(135deg, var(--primary-tint) 0%, var(--primary-soft) 100%);width:100%;height:100%}.badge{top:var(--space-3);left:var(--space-3);font-size:var(--text-kicker);letter-spacing:.02em;text-transform:uppercase;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-weight:600;position:absolute}.badge-featured{background:var(--accent);color:var(--on-accent)}.badge-example{top:auto;bottom:var(--space-3);left:var(--space-3);background:var(--surface);color:var(--muted);border:1px solid var(--line);font-size:10px}.product-card-body{padding:var(--space-4);flex:1}.product-card-material{font-size:var(--text-kicker);letter-spacing:var(--tracking-kicker);text-transform:uppercase;color:var(--primary-ink);background:var(--primary-tint);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);margin-bottom:var(--space-2);font-weight:500;display:inline-block}.product-card-title{font-family:var(--font-heading);font-size:var(--text-body);letter-spacing:-.01em;margin-bottom:var(--space-2);font-weight:600;line-height:1.2}.product-card-artisan{font-size:var(--text-small);color:var(--muted);text-underline-offset:2px;text-decoration:underline}.product-card-artisan:hover{color:var(--accent-ink)}.product-card-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4) var(--space-4);display:flex}.product-card-price{font-family:var(--font-heading);font-size:var(--text-body);font-variant-numeric:tabular-nums;color:var(--accent-ink);font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control);padding:var(--space-3) var(--space-5);font-size:var(--text-small);border-radius:var(--radius-sm);white-space:nowrap;font-weight:500;transition:all .2s ease-out;display:inline-flex}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-sm);box-shadow:0 2px 4px #3a302814}.btn-primary:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 4px 8px #3a30281f}.btn-secondary{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.btn-secondary:hover:not(:disabled){background:var(--primary-tint);border-color:var(--primary-line)}.btn-sm{min-height:36px;padding:0 var(--space-4);font-size:var(--text-small)}.btn-lg{min-height:52px;padding:0 var(--space-6);font-size:var(--text-body)}.btn-full{width:100%}.artisan-row{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.artisan-card{gap:var(--space-4);padding:var(--space-5);background:var(--surface);border-radius:var(--radius);text-align:left;transition:transform .2s,box-shadow .2s;display:flex}.artisan-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.artisan-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.artisan-card-avatar{background:linear-gradient(135deg, var(--primary-soft) 0%, var(--accent-soft) 100%);border-radius:50%;flex-shrink:0;width:64px;height:64px}.artisan-card-body{flex:1;min-width:0}.artisan-card-name{font-family:var(--font-heading);font-size:var(--text-body);margin-bottom:var(--space-1);font-weight:600}.artisan-card-location{align-items:center;gap:var(--space-1);font-size:var(--text-small);color:var(--muted);margin-bottom:var(--space-2);display:flex}.artisan-card-techniques{font-size:var(--text-small);color:var(--ink-2)}.material-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.material-card{align-items:center;gap:var(--space-3);padding:var(--space-6);background:var(--surface);border-radius:var(--radius);text-align:center;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex}.material-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.material-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.material-card-icon{background:var(--primary-tint);border-radius:50%;width:48px;height:48px;position:relative}.material-card-icon:before{content:"";background:var(--primary);opacity:.6;border-radius:4px;position:absolute;inset:12px}.material-card-icon[data-material=dried-flowers]:before{border-radius:50%}.material-card-icon[data-material=stone]:before{border-radius:50% 50% 50% 0}.material-card-icon[data-material=natural-fibers]:before{border-radius:2px;transform:rotate(45deg)}.material-card-name{font-family:var(--font-heading);font-size:var(--text-body);font-weight:600}.material-card-count{font-size:var(--text-small);color:var(--muted);font-variant-numeric:tabular-nums}.empty-state{text-align:center;padding:var(--space-8) var(--space-5);color:var(--muted)}.empty-state svg{margin:0 auto var(--space-4);opacity:.5}.empty-state h1{font-family:var(--font-heading);font-size:var(--text-title);color:var(--ink);margin-bottom:var(--space-2);font-weight:600}.empty-state p{margin-bottom:var(--space-5)}.back-link{align-items:center;gap:var(--space-2);font-size:var(--text-small);color:var(--muted);margin-bottom:var(--space-6);font-weight:500;display:inline-flex}.back-link:hover{color:var(--ink)}.back-link-light{color:#ffffffb3}.back-link-light:hover{color:#fff}.artisan-list{gap:var(--space-4);flex-direction:column;display:flex}.artisan-list-item{gap:var(--space-5);padding:var(--space-5);background:var(--surface);border-radius:var(--radius);text-align:left;grid-template-columns:80px minmax(0,1fr) auto;align-items:start;transition:transform .2s,box-shadow .2s;display:grid}@media (width<=640px){.artisan-list-item{grid-template-columns:60px minmax(0,1fr)}.artisan-list-meta{grid-column:2}}.artisan-list-item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.artisan-list-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.artisan-list-avatar{background:linear-gradient(135deg, var(--primary-soft) 0%, var(--accent-soft) 100%);border-radius:50%;width:80px;height:80px}@media (width<=640px){.artisan-list-avatar{width:60px;height:60px}}.artisan-list-body{min-width:0}.artisan-list-name{font-family:var(--font-heading);font-size:var(--text-title);letter-spacing:-.01em;margin-bottom:var(--space-1);font-weight:600}.artisan-list-location{align-items:center;gap:var(--space-1);font-size:var(--text-small);color:var(--muted);margin-bottom:var(--space-2);display:flex}.artisan-list-bio{font-size:var(--text-small);color:var(--ink-2);margin-bottom:var(--space-3)}.artisan-list-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.tag{font-size:var(--text-kicker);letter-spacing:.02em;color:var(--primary-ink);background:var(--primary-tint);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-weight:500;display:inline-block}.tag-sm{font-size:var(--text-kicker);padding:2px 6px}.artisan-list-meta{align-items:flex-end;gap:var(--space-2);color:var(--muted);flex-direction:column;display:flex}.artisan-list-count{font-size:var(--text-small);font-variant-numeric:tabular-nums}.artisan-profile{gap:var(--space-7);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=768px){.artisan-profile{grid-template-columns:280px minmax(0,2fr)}}.artisan-profile-sidebar{text-align:center}@media (width>=768px){.artisan-profile-sidebar{text-align:left;top:calc(var(--control) + var(--space-8));align-self:start;position:sticky}}.artisan-profile-avatar{background:linear-gradient(135deg, var(--primary-soft) 0%, var(--accent-soft) 100%);width:160px;height:160px;margin:0 auto var(--space-5);border-radius:50%}@media (width>=768px){.artisan-profile-avatar{margin:0 0 var(--space-5)}}.artisan-profile-name{font-family:var(--font-heading);font-size:var(--text-title);letter-spacing:-.02em;margin-bottom:var(--space-2);font-weight:600}.artisan-profile-location{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-body);color:var(--muted);margin-bottom:var(--space-4);display:flex}@media (width>=768px){.artisan-profile-location{justify-content:flex-start}}.artisan-profile-tags{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width>=768px){.artisan-profile-tags{justify-content:flex-start}}.artisan-profile-main{min-width:0}.artisan-profile-bio{font-size:var(--text-body);line-height:var(--leading-body);color:var(--ink);margin-bottom:var(--space-6)}.artisan-profile-story{padding:var(--space-5);background:var(--primary-tint);border-radius:var(--radius);margin-bottom:var(--space-6)}.artisan-profile-story-title{font-family:var(--font-heading);font-size:var(--text-body);margin-bottom:var(--space-3);font-weight:600}.artisan-profile-story p{color:var(--ink-2)}.artisan-profile-materials h3{font-size:var(--text-kicker);letter-spacing:var(--tracking-kicker);text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-2);font-weight:500}.artisan-profile-materials p{color:var(--ink-2)}.material-list{gap:var(--space-4);flex-direction:column;display:flex}.material-list-item{gap:var(--space-5);padding:var(--space-5);background:var(--surface);border-radius:var(--radius);text-align:left;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;transition:transform .2s,box-shadow .2s;display:grid}.material-list-item:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.material-list-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.material-list-icon{background:var(--primary-tint);border-radius:50%;width:64px;height:64px;position:relative}.material-list-icon:before{content:"";background:var(--primary);opacity:.6;border-radius:4px;position:absolute;inset:16px}.material-list-body{min-width:0}.material-list-name{font-family:var(--font-heading);font-size:var(--text-title);letter-spacing:-.01em;margin-bottom:var(--space-1);font-weight:600}.material-list-desc{font-size:var(--text-small);color:var(--muted)}.material-list-meta{align-items:center;gap:var(--space-3);color:var(--muted);display:flex}.material-list-count{font-size:var(--text-small);font-variant-numeric:tabular-nums}.material-season-group{margin-bottom:var(--space-8)}.material-season-group:last-child{margin-bottom:0}.material-season-title{align-items:center;gap:var(--space-3);font-family:var(--font-heading);font-size:var(--text-title);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);font-weight:600;display:flex}.material-season-count{font-family:var(--font-body);font-size:var(--text-small);color:var(--muted);background:var(--primary-tint);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-weight:500}.page-title{font-family:var(--font-heading);font-size:var(--text-title);letter-spacing:-.02em;margin-bottom:var(--space-6);font-weight:600}.reserve-layout{gap:var(--space-7);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=900px){.reserve-layout{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}}.reserve-items{gap:var(--space-4);flex-direction:column;display:flex}.reserve-item{gap:var(--space-4);padding:var(--space-4);background:var(--surface);border-radius:var(--radius);grid-template-columns:80px minmax(0,1fr) auto auto;align-items:center;display:grid}@media (width<=640px){.reserve-item{gap:var(--space-3);grid-template-columns:60px minmax(0,1fr)}.reserve-item-qty{grid-column:2}.reserve-item-remove{top:var(--space-2);right:var(--space-2);position:absolute}}.reserve-item-image{border-radius:var(--radius);background:linear-gradient(135deg, var(--primary-tint) 0%, var(--primary-soft) 100%);width:80px;height:80px;position:relative}.reserve-example-badge{bottom:var(--space-1);left:var(--space-1);letter-spacing:.02em;text-transform:uppercase;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:2px 4px;font-size:9px;font-weight:500;position:absolute}@media (width<=640px){.reserve-item-image{width:60px;height:60px}}.reserve-item-body{min-width:0}.reserve-item-name{font-family:var(--font-heading);font-size:var(--text-body);margin-bottom:var(--space-1);font-weight:600}.reserve-item-artisan{font-size:var(--text-small);color:var(--muted);margin-bottom:var(--space-1)}.reserve-item-price{font-variant-numeric:tabular-nums;color:var(--accent-ink);font-weight:600}.reserve-item-qty{align-items:center;gap:var(--space-2);display:flex}.qty-btn{background:var(--primary-tint);border:1px solid var(--primary-line);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.qty-btn:hover{background:var(--primary-soft);border-color:var(--primary)}.qty-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qty-value{text-align:center;font-variant-numeric:tabular-nums;min-width:24px;font-weight:600}.reserve-item-remove{width:36px;height:36px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.reserve-item-remove:hover{color:var(--error);background:var(--error-soft)}.reserve-form-container{top:calc(var(--control) + var(--space-6));align-self:start;position:sticky}.reserve-summary{background:var(--surface);padding:var(--space-5);border-radius:var(--radius);margin-bottom:var(--space-4)}.reserve-summary-row{font-size:var(--text-small);color:var(--muted);padding:var(--space-2) 0;justify-content:space-between;display:flex}.reserve-summary-total{font-size:var(--text-body);color:var(--ink);border-top:1px solid var(--line);margin-top:var(--space-2);padding-top:var(--space-3);font-weight:600}.reserve-summary-total span:last-child{font-family:var(--font-heading);font-size:var(--text-title);color:var(--accent-ink)}.reserve-form{background:var(--surface);padding:var(--space-5);border-radius:var(--radius)}.form-field{margin-bottom:var(--space-4)}.form-label{align-items:center;gap:var(--space-2);font-size:var(--text-kicker);letter-spacing:var(--tracking-kicker);text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-2);font-weight:500;display:flex}.form-input{width:100%;min-width:0;min-height:var(--control);padding:0 var(--space-4);font:inherit;font-size:var(--text-body);color:var(--ink);background:var(--bg);border:1px solid var(--primary-line);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:var(--muted)}.form-input:focus{border-color:var(--accent);box-shadow:none;outline:none}.form-input-error{border-color:var(--error)}.form-input-error:focus{box-shadow:0 0 0 3px var(--error-soft)}.form-error{font-size:var(--text-small);color:var(--error);margin-top:var(--space-2)}.reserve-form-note{font-size:var(--text-small);color:var(--muted);margin-bottom:var(--space-5);line-height:1.5}.reserve-form-note a{color:var(--accent-ink)}.reserve-success{text-align:center;padding:var(--space-8) var(--space-5);max-width:480px;margin:0 auto}.reserve-success-icon{width:64px;height:64px;margin:0 auto var(--space-5);background:var(--success-soft);color:var(--success);border-radius:50%;justify-content:center;align-items:center;display:flex}.reserve-success-title{font-family:var(--font-heading);font-size:var(--text-title);margin-bottom:var(--space-3);font-weight:600}.reserve-success-text{color:var(--ink-2);margin-bottom:var(--space-5)}.reserve-success-preview{font-size:var(--text-small);color:var(--warning);background:var(--warning-soft);padding:var(--space-3) var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-5)}.toast{top:calc(var(--control) + var(--space-6));right:var(--space-5);align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--surface);color:var(--ink);border:1px solid var(--primary-line);border-radius:var(--radius);box-shadow:var(--shadow);z-index:1000;animation:.3s ease-out toastIn;display:flex;position:fixed}@keyframes toastIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.toast svg{color:var(--success)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
