:root{--bg:#fff;--surface:#fff;--text:#202922;--muted:#667168;--accent:#2e6c50;--accent-hover:#21523c;--line:#dfe4dc;--soft:#edf3ec;--warning:#83591c;--radius:12px;--shadow:0 6px 24px #243b2810;color-scheme:light dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg);font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:3px}button,input,select{font:inherit}button,.button{min-height:44px;border:1px solid transparent;background:var(--accent);color:white;padding:10px 18px;border-radius:var(--radius);font-weight:650;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:8px}button:hover,.button:hover{background:var(--accent-hover)}button:disabled{cursor:default;opacity:.55}.secondary{color:var(--accent);background:var(--soft);border-color:var(--line)}.secondary:hover{background:var(--line)}input,select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text);padding:10px 12px}label{display:block;font-size:.85rem;font-weight:650}label input,label select{margin-top:6px}h1,h2,h3,p{margin:0 0 16px}h1{font-size:clamp(2rem,4.4vw,3.35rem);letter-spacing:-.045em;line-height:1.12;font-weight:750}h2{font-size:1.4rem;letter-spacing:-.025em}h3{font-size:1.1rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-header{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line)}.header-inner,.page,.site-footer{max-width:1280px;margin:auto;padding-left:24px;padding-right:24px}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px}.wordmark{color:var(--text);text-decoration:none;font-size:1.35rem;font-weight:800;letter-spacing:-.04em}.wordmark span{display:block;font-size:.75rem;font-weight:450;letter-spacing:0;color:var(--muted)}.cart-link{min-height:44px;display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:650}.count{background:var(--soft);border-radius:50%;min-width:28px;text-align:center;padding:3px}.page{padding-top:40px;padding-bottom:64px;min-height:70vh}.intro{padding:8px 0 24px;max-width:780px}.intro>p:not(.eyebrow){color:var(--muted)}.eyebrow{font-size:.7rem;font-weight:750;letter-spacing:.13em;color:var(--accent);margin-bottom:12px}.subtle{font-size:.875rem;color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.filters{padding:20px}.search-field input{max-width:100%}.filter-row{display:flex;gap:12px;align-items:end;margin-top:16px;flex-wrap:wrap}.filter-row>label{flex:1;min-width:130px}.results-bar{display:flex;justify-content:space-between;align-items:center;padding:24px 0 16px;font-size:.875rem}.results-bar p{margin:0}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px}.product-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);display:flex;flex-direction:column}.product-link{text-decoration:none;color:var(--text);flex:1;display:block}.product-photo{aspect-ratio:1;background:var(--soft);position:relative;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.product-link:hover img{transform:scale(1.035)}.product-copy{padding:14px 16px 10px}.product-meta{display:flex;align-items:center;justify-content:space-between;gap:4px;color:var(--muted);font-size:.72rem;margin-bottom:9px}.size-chip{border-radius:6px;background:var(--soft);padding:2px 7px;color:var(--text)}.product-copy h2{font-size:.95rem;line-height:1.4;font-weight:600;min-height:2.8em;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.price{font-size:1.1rem;font-variant-numeric:tabular-nums}.card-add{margin:0 12px 12px;font-size:.8rem;padding:8px}.badge{background:var(--soft);border-radius:7px;padding:5px 10px;font-size:.75rem;font-weight:700;display:inline-block}.reservation{position:absolute;top:12px;left:12px;background:var(--surface);color:var(--muted)}.unavailable .product-photo img{opacity:.55;filter:grayscale(.4)}.empty-state{text-align:center;padding:64px 16px;color:var(--muted)}.empty-state h2{color:var(--text)}[hidden]{display:none!important}.site-footer{border-top:1px solid var(--line);padding-top:24px;padding-bottom:32px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:var(--muted);font-size:.8rem}.site-footer nav{display:flex;gap:24px}.site-footer a{display:inline-flex;align-items:center;min-height:44px}.skip-link{position:fixed;left:16px;top:-70px;z-index:50;background:var(--surface);padding:12px}.skip-link:focus{top:8px}.back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:20px}.detail{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;border-radius:var(--radius);background:var(--soft)}.gallery img{display:block;min-width:100%;width:100%;height:auto;aspect-ratio:1;object-fit:contain;scroll-snap-align:start}.detail h1{font-size:2rem}.detail-price{font-size:2rem;letter-spacing:-.035em;font-weight:750;font-variant-numeric:tabular-nums}.facts{display:flex;flex-wrap:wrap;gap:24px;padding:16px 0;border-block:1px solid var(--line);margin:20px 0}.facts dt{font-size:.75rem;color:var(--muted)}.facts dd{margin:0;font-weight:600}.description{white-space:pre-line}.detail-copy>button{width:100%;margin:8px 0 16px}.notice{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.warning,.danger{color:var(--warning)}.image-placeholder{min-height:200px;display:flex;align-items:center;justify-content:center;color:var(--muted)}.page-heading{max-width:680px;margin-bottom:32px}.cart-row{display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:20px 0}.cart-row img{width:80px;height:80px;object-fit:cover;border-radius:8px}.cart-row .cart-item-copy{flex:1;min-width:0}.cart-row p{margin:4px 0 0}.cart-summary{max-width:640px;margin-top:32px;margin-left:auto}.cart-summary>div{display:flex;align-items:center;justify-content:space-between}.cart-summary>button{width:100%}.cart-summary .subtle{margin:12px 0 0}.receipt{max-width:760px;margin:0 auto 40px}.receipt-message{font-size:1.25rem}.receipt-message strong{display:block;margin-top:8px}.total-line{text-align:right;font-size:1.2rem;margin:24px 0}.login-panel{max-width:440px;margin:40px auto}.login-panel button{width:100%;margin-top:24px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px}.admin-heading h1,.admin-heading h2{margin:0}.inquiry-list{display:grid;gap:20px;margin-bottom:48px}.inquiry-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.inquiry-heading h3{margin:0}.inquiry .subtle{margin:8px 0}.check-row{display:flex;align-items:center;gap:12px;font-weight:400;min-height:44px}.check-row input{width:20px;min-height:20px;accent-color:var(--accent);margin:0}.inquiry-items{padding:8px 0 16px}.admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.admin-search{max-width:480px;margin-bottom:20px}.admin-products{display:grid;gap:12px}.admin-product{display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-product form{display:flex;align-items:end;gap:12px}.admin-product label{max-width:170px}.prose{max-width:740px}.prose h2{margin-top:32px}.toast{position:fixed;z-index:40;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;background:var(--text);color:var(--surface);padding:14px 24px;border-radius:var(--radius);box-shadow:var(--shadow)}dialog{border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--text);max-width:1100px;width:calc(100% - 32px);max-height:90vh;padding:24px}dialog::backdrop{background:#15271c99}.dialog-close{display:flex;margin-left:auto;margin-bottom:16px}body.dialog-open{overflow:hidden}@media(min-width:1400px){.product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:900px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.detail{gap:24px}.admin-product{display:block}.admin-product form{flex-wrap:wrap}}@media(max-width:600px){.header-inner,.page,.site-footer{padding-left:16px;padding-right:16px}.header-inner{height:76px}.wordmark{font-size:1.1rem}.wordmark span{font-size:.65rem}.cart-link{font-size:.8rem;gap:6px}.page{padding-top:28px}.intro{padding-top:0}.intro h1{max-width:340px}.intro p{font-size:.9rem}.filters{padding:16px}.filter-row{gap:10px}.filter-row>label{min-width:calc(50% - 10px)}.filter-row>button{width:100%}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px}.product-copy{padding:12px 10px 8px}.product-copy h2{font-size:.85rem}.product-meta{font-size:.65rem}.card-add{padding:6px;margin:0 8px 8px;font-size:.7rem}.detail{grid-template-columns:1fr}.detail h1{font-size:1.75rem}.detail-copy>button{position:sticky;bottom:12px}.panel{padding:20px}.cart-row{gap:12px;flex-wrap:wrap}.cart-row img{width:64px;height:64px}.cart-row .secondary{font-size:.75rem;padding:8px}.admin-heading{align-items:start}.admin-actions>form,.admin-actions button{width:100%}.admin-product form label{flex:1;max-width:none;min-width:100px}.admin-product form button{width:100%}.inquiry-heading{align-items:start}.receipt-message{font-size:1.1rem}dialog{padding:16px;width:calc(100% - 16px);max-height:96vh}.site-footer{gap:8px}}@media(prefers-color-scheme:dark){:root{--bg:#161d19;--surface:#202a23;--text:#e9eee9;--muted:#adb9ae;--accent:#9bd2ad;--accent-hover:#b7e2c5;--line:#3b493e;--soft:#29392e;--warning:#e9be7a;--shadow:0 6px 24px #0002}button,.button{color:#16251b}.secondary{color:var(--accent)}.toast{color:var(--bg)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.gallery-frame{min-width:0}.gallery-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px}.gallery-controls span{font-size:.85rem;color:var(--muted)}.gallery-controls button{font-size:1.25rem;min-width:48px}.message-box{border:2px solid var(--accent);background:var(--soft);border-radius:var(--radius);padding:20px;margin:24px 0}.message-box h2{margin-bottom:12px}.receipt-message{user-select:text;white-space:pre-wrap;overflow-wrap:anywhere}.removed-items{margin-top:20px}
.receipt-thumbnail{display:flex;flex-shrink:0}
.catalog-heading{font-size:1.35rem;line-height:1.25;letter-spacing:-.02em;font-weight:650;margin:0 0 20px}
.shop-nav{display:flex;align-items:center;gap:18px}
.recent-link{min-height:44px;display:inline-flex;align-items:center;font-weight:650;text-decoration:none}
.recent-inquiries{margin-bottom:24px}
.recent-inquiries h2{margin-bottom:10px}
.recent-inquiry-link{display:inline-flex;min-height:44px;align-items:center;margin-right:20px;font-weight:650}
.recent-inquiries .subtle{margin:6px 0 0}
@media(max-width:600px){.shop-nav{gap:10px}.recent-link{font-size:.78rem}.recent-inquiry-link{display:flex;margin-right:0}}

.message-box{padding:18px}
.message-box h2{font-size:1.15rem}
.message-box>p:not(.receipt-message){font-size:.9rem;color:var(--muted);margin-bottom:12px}
.receipt-message{font-size:1rem;font-weight:700;margin-bottom:14px}
.message-box textarea{display:block;width:100%;min-height:74px;margin:6px 0 14px;padding:10px 12px;resize:vertical;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:9px}
.message-box textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* Stein ohne Linien ist die einzige öffentliche Palette. */
:root{--bg:#f1f0eb;--surface:#fbfbf8;--text:#2d3433;--muted:#5e6b67;--accent:#315b59;--accent-hover:#234341;--line:#d4dbd6;--soft:#e5ece7;--warning:#805719;--radius:6px;--shadow:0 8px 28px #26393518;color-scheme:light;font-size:15px}
button,.button{color:#fff}
.secondary{color:var(--accent)}
.product-card,.panel,.message-box,.notice{border:0;box-shadow:var(--shadow)}
.site-header,.site-footer,.cart-row,.facts{border:0}
.secondary,input,select,.message-box textarea,dialog{border:0}
input,select,.message-box textarea{background:var(--soft);border-radius:6px}
.filters input,.filters select{background:#f5f5f1;border:1px solid transparent;border-radius:5px;padding:9px 12px;font-size:1rem;font-weight:400}
.filters input:focus,.filters select:focus{outline:none;border-color:#9cafaa;box-shadow:0 0 0 2px #315b5926}
dialog{border-radius:8px}
.size-chip,.badge,.cart-row img{border-radius:4px}
.cart-summary>[data-clear-cart]{margin-top:10px}
@media(min-width:901px){
  :root{font-size:14px}
  .header-inner,.page,.site-footer{max-width:1260px;padding-left:32px;padding-right:32px}
  .header-inner{height:64px}
  .page{padding-top:22px}
  h1{font-size:clamp(2rem,3vw,2.75rem)}
  .catalog-heading{margin-bottom:14px}
  .filters{padding:16px}
  .filter-row{margin-top:12px}
  .results-bar{padding:16px 0 12px}
  .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .product-copy{padding:10px 12px 8px}
  .product-copy h2{font-size:.93rem}
  .detail{gap:32px;max-width:1060px}
}
@media(min-width:1100px){.product-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:1250px){.product-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:600px){:root{font-size:16px}}

.gallery-frame{position:relative}
.gallery img{cursor:zoom-in}
#image-zoom-dialog{width:calc(100vw - 32px);max-width:none;height:calc(100vh - 32px);max-height:none;padding:16px;text-align:center}
.image-zoom-close{display:flex;margin:0 0 12px auto}
.image-zoom-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;height:calc(100% - 88px)}
.image-zoom-stage img{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
.image-zoom-stage button{padding:0;width:44px;height:44px;font-size:1.4rem}
#image-zoom-dialog [data-zoom-position]{margin:8px 0 0;color:var(--muted)}
@media(max-width:600px){#image-zoom-dialog{width:calc(100vw - 12px);height:calc(100dvh - 12px);padding:10px}.image-zoom-stage{grid-template-columns:40px minmax(0,1fr) 40px;gap:4px}.image-zoom-stage button{width:40px;height:44px}}

@media(max-width:600px){
  #product-dialog{width:calc(100vw - 12px);max-width:none;max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px);padding:10px;overscroll-behavior:contain}
  #product-dialog .dialog-close{margin:-2px 0 10px auto}
  #product-dialog .dialog-close:focus-visible{outline:1px solid #9cafaa;outline-offset:1px}
  #product-dialog .detail-copy>button{position:sticky;bottom:8px;z-index:2;box-shadow:0 4px 18px #26393530}
}

.admin-product{display:grid;grid-template-columns:80px minmax(220px,1fr) auto auto;align-items:center;gap:16px}
.admin-product-image{width:80px;height:80px;border-radius:6px;overflow:hidden;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.72rem;text-align:center}
.admin-product-image img{width:100%;height:100%;object-fit:cover;display:block}
.admin-product-details{min-width:0}
.admin-product-details p{margin:6px 0 0}
.admin-product>form{display:flex;align-items:end;gap:10px;margin:0}
.admin-product>form label{min-width:140px}
@media(max-width:900px){.admin-product{grid-template-columns:80px minmax(0,1fr);align-items:start}.admin-product>form{grid-column:2;align-items:end}.admin-product>form label{flex:1}}
@media(max-width:600px){.admin-product{grid-template-columns:64px minmax(0,1fr);gap:12px;padding:14px}.admin-product-image{width:64px;height:64px}.admin-product>form{grid-column:1 / -1;flex-wrap:wrap}.admin-product>form label{min-width:0;flex:1}.admin-product>form button{width:auto}}

