/* Der Kaufweg erweitert die Galerie: dieselbe Schrift, Papierfläche und Pfeilbewegung. */
.cart-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 0;font-size:15px;white-space:nowrap}
.cart-toggle[hidden],.cart-drawer [hidden],.shop-price[hidden]{display:none!important}
.cart-toggle svg{width:21px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.cart-toggle:hover svg{transform:translateY(-2px)}
[data-cart-count]{font-variant-numeric:tabular-nums;min-width:1ch}
.site-header nav{margin-left:auto}.site-header>.cart-toggle{margin-left:28px}
.gallery-tools{display:flex;align-items:center;gap:28px}
.gallery-tools .cart-toggle-label{display:none}
.shop-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:20px 0 0;font-size:14px!important}
.shop-price strong{font-size:24px;font-variant-numeric:tabular-nums}
.shop-format{display:flex;align-items:center;gap:10px;flex-basis:100%;margin-bottom:8px;font-size:13px;font-weight:600}
.shop-format select{max-width:100%;padding:8px 32px 8px 12px;border:1px solid currentColor;border-radius:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.shop-format select:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.shop-format-options{display:block;min-width:0;padding:0;border:0}
.shop-format-options legend{padding:0;margin-bottom:7px;font:inherit}
.shop-format-choices{display:flex;flex-wrap:wrap;gap:7px}
.shop-format-option{position:relative;display:flex;cursor:pointer}
.shop-format-option input{position:absolute;width:1px;height:1px;opacity:0}
.shop-format-option-text{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;min-height:44px;padding:8px 12px;border:1px solid currentColor;font-size:13px;line-height:1.25;text-align:center}
.shop-format-option input:checked+.shop-format-option-text{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.shop-format-option input:focus-visible+.shop-format-option-text{outline:2px solid var(--accent);outline-offset:3px}
.shop-format-option input:not(:disabled):not(:checked)+.shop-format-option-text:hover{background:var(--paper)}
.shop-format-option:has(input:disabled){cursor:default}
.shop-format-option input:disabled+.shop-format-option-text{color:var(--muted);border-color:var(--line)}
.shop-format-unavailable{font-size:11px;font-weight:400}
.shop-price small{font-size:12px;color:var(--muted);flex-basis:100%}
.shop-price:not([hidden])+.wall-actions{margin-top:14px}
.shop-price:not([hidden])+.detail-actions{margin-top:18px}
.wall-description:has(.shop-format) .gallery-format{display:none}
@media(min-width:701px) and (max-height:900px){
 .wall-story{top:104px;bottom:92px;transform:none;max-height:none;display:flex;align-items:safe center}
 .wall-description{width:100%;padding-bottom:8px}
 .wall-description h2{font-size:clamp(38px,6.2svh,54px);margin-bottom:12px}
 .gallery-category{margin-bottom:7px}
 .gallery-material,.gallery-format{font-size:16px;margin-bottom:8px}
 .gallery-note{font-size:16px;line-height:1.45;margin:16px 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
 .wall-story .shop-price{margin-top:14px}
 .wall-story .shop-format{margin-bottom:4px}
 .wall-actions{flex-direction:row;align-items:center;gap:12px 18px}
 .wall-actions .text-link{font-size:14px;gap:16px;min-height:44px}
 .wall-actions .is-primary{padding:12px 15px}
 .wall-actions svg{width:24px}
}
@media(max-width:700px){
 .wall-story .gallery-note{display:none}
 .wall-story .shop-format{flex-basis:auto;margin:0 12px 4px 0;gap:7px}
 .wall-story .shop-format select{padding:7px 25px 7px 9px;font-size:12px}
 .wall-story .shop-format-options{flex-basis:100%;margin-right:0}
 .wall-story .shop-format-options legend{margin-bottom:5px}
 .wall-story .shop-format-option-text{padding:7px 10px;font-size:12px}
}
[data-shop-work][aria-disabled=true]{opacity:.6;cursor:progress}
.cart-open{overflow:hidden;scrollbar-gutter:stable}
.cart-drawer{color:var(--ink);background:var(--paper);border:0;padding:0;margin:0 0 0 auto;width:min(580px,100vw);height:100dvh;max-width:100vw;max-height:100dvh;box-shadow:-16px 0 48px rgb(20 40 30 / .16)}
.cart-drawer[open]{display:flex;flex-direction:column;animation:cart-arrive .4s var(--ease)}
.cart-drawer::backdrop{background:rgb(20 40 30 / .48)}
.cart-drawer>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:30px 32px 24px;border-bottom:1px solid var(--line);flex:none}
.cart-drawer h2{font-size:44px;margin:0}
.cart-close{width:44px;height:44px;display:grid;place-items:center;flex:none}
.cart-close svg{height:23px;width:23px;fill:none;stroke:currentColor;stroke-width:1.5}
.cart-content{padding:0 32px;overflow:auto;overscroll-behavior:contain;flex:1;scrollbar-width:thin;scrollbar-color:var(--line) var(--paper)}
.cart-lines{list-style:none;padding:0;margin:0}
.cart-line{display:grid;grid-template-columns:132px minmax(0,1fr) auto;gap:18px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.cart-line img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.cart-work-title{font-weight:700;font-size:18px;line-height:1.25;display:inline-block}
.cart-work-title:hover{text-decoration:underline;text-underline-offset:4px}
.cart-line-copy p{font-size:13px;line-height:1.5;color:var(--muted);margin:8px 0 12px}
.cart-line-price{font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums}
.cart-line-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}
.cart-quantity{display:flex;align-items:center;border:1px solid var(--line);font-size:14px;font-variant-numeric:tabular-nums}
.cart-quantity button{width:34px;height:40px;font-size:19px}
.cart-quantity span{min-width:20px;text-align:center}
.cart-remove{font-size:13px;text-decoration:underline;text-underline-offset:4px;min-height:40px}
.cart-summary{padding:24px 32px 30px;border-top:1px solid var(--line);flex:none}
.cart-summary>p{display:flex;justify-content:space-between;margin:0 0 5px;font-size:19px;font-variant-numeric:tabular-nums}
.cart-summary small{font-size:13px;color:var(--muted)}
.cart-summary>.solid-link{width:100%;justify-content:space-between;margin:22px 0 13px}
.cart-summary>.text-link{font-size:14px}
.cart-status{font-size:14px;line-height:1.5;margin:20px 0;min-height:1.5em}
.cart-status:empty{min-height:0;margin:0}
.cart-status.is-error,.cart-line-copy .cart-unavailable{color:var(--accent)}
.cart-fallback{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:24px}
.cart-fallback .text-link{font-size:14px}
.cart-empty{padding:42px 0 28px}
.cart-empty>p:first-child{font-family:'Barlow Condensed',sans-serif;font-size:38px;font-weight:800;line-height:1.1;margin:0 0 18px}
.cart-empty>p{font-size:18px;max-width:32ch}
.cart-empty .text-link{margin-top:18px}
@keyframes cart-arrive{from{transform:translateX(32px);opacity:.7}to{transform:none;opacity:1}}
@media(max-width:1000px){.site-header>.cart-toggle{margin-left:0}.site-header .cart-toggle-label{display:none}.gallery-tools{gap:18px}.shop-price strong{font-size:21px}}
@media(max-width:700px){.site-header{gap:14px}.site-header>.brand{margin-right:auto}.site-header>.menu-toggle{order:3}.gallery-tools{gap:14px}.gallery-toolbar .room-filters{grid-column:1/-1}.cart-toggle{font-size:13px}.cart-toggle svg{width:19px}.shop-price{margin-top:10px;font-size:12px!important;gap:0 8px}.shop-price strong{font-size:20px}.shop-price small{flex-basis:auto;font-size:11px}.shop-price:not([hidden])+.wall-actions{margin-top:10px}.cart-drawer>header{padding:22px 22px 18px}.cart-drawer h2{font-size:38px}.cart-content{padding:0 22px}.cart-line{grid-template-columns:88px minmax(0,1fr);gap:12px 16px;padding:22px 0}.cart-line-price{grid-column:2;margin-top:-4px}.cart-work-title{font-size:18px}.cart-summary{padding:20px 22px 24px}.cart-summary>.solid-link{margin-top:18px}.cart-summary>p{font-size:18px}}
@media(prefers-reduced-motion:reduce){.cart-drawer[open]{animation:none}.cart-toggle:hover svg{transform:none}}

/* Eine gemeinsame Filterzeile, statt räumlich verteilter Formulargruppen. */
.overview-controls{display:grid;grid-template-columns:minmax(190px,320px) auto minmax(150px,170px) minmax(max-content,1fr);align-items:center;gap:28px;margin:0 0 40px}
.overview-controls .overview-search{display:block;min-width:0;margin:0}
.overview-controls input{width:100%;min-width:0;max-width:320px;min-height:46px;border:0;border-bottom:1px solid var(--ink);background:transparent;padding:10px 0;color:var(--ink);font:inherit;font-size:16px;caret-color:var(--accent)}
.overview-categories{display:flex;flex-wrap:nowrap;gap:22px;border:0;min-width:0;padding:0;margin:0;white-space:nowrap}
.overview-categories button{min-height:46px;padding:10px 0;border-bottom:2px solid transparent;font-size:15px}
.overview-categories button[aria-pressed=true]{color:var(--accent);border-bottom-color:currentColor;font-weight:700}
.overview-size{display:block;min-width:150px}
.overview-size select{width:100%;min-height:46px;border:1px solid var(--ink);border-radius:0;padding:10px 28px 10px 12px;background:transparent;color:var(--ink);font:inherit;font-size:14px}
.overview-size select:focus-visible,.overview-controls input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.overview-count{margin:0;font-size:14px;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}
@media(max-width:1100px){.overview-controls{gap:20px;grid-template-columns:minmax(160px,1fr) auto auto auto}.overview-categories{gap:16px}.overview-categories button{font-size:14px}.overview-size{min-width:140px}}
@media(max-width:1000px){.overview-controls{grid-template-columns:1fr auto;gap:14px 24px}.overview-controls .overview-search{grid-column:1;grid-row:1}.overview-count{grid-column:2;grid-row:1}.overview-categories{grid-column:1;grid-row:2}.overview-size{grid-column:2;grid-row:2}.overview-controls input{max-width:none}}
@media(max-width:650px){.overview-controls{gap:12px 16px;margin-bottom:28px}.overview-categories{grid-column:1/-1;gap:18px}.overview-size{grid-column:1/-1;grid-row:3;min-width:0}.overview-controls input{font-size:15px}.overview-categories button{font-size:14px}.overview-count{font-size:13px}}
