.shop-shell{max-width:1120px;margin:48px auto;padding:0 24px}.shop-shell h1{font-family:var(--font-serif);color:var(--brand-color);font-size:clamp(2.2rem,5vw,3.6rem);font-weight:400;margin:0 0 24px}.shop-shell h2{font-family:var(--font-serif);color:var(--brand-color);font-size:1.8rem;margin:20px 0 12px}.shop-shell p{margin:12px 0}.shop-shell a{text-decoration:underline}.shop-tabs{display:flex;gap:20px;flex-wrap:wrap;margin:24px 0}.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;margin-top:32px}.shop-grid img{width:100%;aspect-ratio:1;object-fit:contain;background:#f8f6f7}.product-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px}.product-gallery img{width:100%;margin-bottom:20px}.shop-shell article{border-bottom:1px solid #ddd;padding:20px 0}.shop-shell label{display:block;margin:18px 0}.shop-shell input,.shop-shell select,.shop-shell textarea{display:block;width:100%;max-width:650px;border:1px solid #777;padding:12px;font:inherit;color:#222;background:#fff;border-radius:2px}.shop-shell input[type=checkbox]{width:auto;display:inline;margin-right:12px}.shop-shell input[type=number]{max-width:200px}.shop-shell button,.shop-button{background:var(--brand-color);color:white;border:1px solid var(--brand-color);padding:12px 20px;min-height:44px;font:inherit;cursor:pointer;margin:8px 8px 8px 0;display:inline-block}.shop-shell .price{font-size:1.5rem}.notice{background:#f5f0f4;padding:20px;margin:20px 0;border-left:3px solid var(--brand-color)}.cart-line{display:flex;justify-content:space-between;gap:24px;align-items:center}.totals{display:grid;grid-template-columns:1fr auto;gap:12px;border-top:1px solid #ddd;padding-top:24px;margin:24px 0;max-width:600px}.checkout-form{max-width:720px}.shop-shell :focus-visible,nav a:focus-visible,a:focus-visible{outline:3px solid #7a376d;outline-offset:4px}.skip-link{position:absolute;left:12px;top:-100px;background:white;color:#330c2f;padding:12px;z-index:2000}.skip-link:focus{top:8px}nav ul{flex-wrap:wrap;justify-content:center;gap:14px}nav a{color:#555;font-size:.75rem}.footer-links{display:flex;gap:12px;flex-wrap:wrap}@media(max-width:768px){.shop-shell{margin-top:30px;padding:0 20px}.product-layout{grid-template-columns:1fr;gap:20px}.cart-line{display:block}.shop-shell button{width:100%;margin-right:0}.shop-tabs{gap:16px}nav a{letter-spacing:.08em}header{position:relative}.footer-content{flex-direction:column;gap:16px}.cookie-content{align-items:stretch}.shop-grid{grid-template-columns:1fr}}@media print{header,footer,.cookie-notice,form,button,.skip-link{display:none!important}.shop-shell{margin:0}.print-area{page-break-inside:avoid}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.preline{white-space:pre-line}
.admin-thumb{max-width:160px;max-height:160px;object-fit:contain}

/* Mobile QA: order identifiers and long confirmed product names must reflow. */
.shop-shell{overflow-wrap:anywhere}
.shop-shell select,.cookie-content button{min-height:44px}
.shop-shell .check{min-height:44px;padding:8px 0}
.menu-toggle{border:1px solid var(--brand-color);background:#fff;color:var(--brand-color);padding:10px 20px;min-height:44px;font:inherit;cursor:pointer}
[hidden]{display:none!important}
@media(max-width:768px){nav a{display:inline-block;min-height:44px;padding:10px 4px}.shop-tabs a{display:inline-block;min-height:44px;padding:10px 0}}
/* Safari's native menu style ignores height until appearance is reset. */
.shop-shell select{-webkit-appearance:none;appearance:none;height:48px;min-height:48px;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,#330c2f 50%),linear-gradient(135deg,#330c2f 50%,transparent 50%);background-position:calc(100% - 20px) center,calc(100% - 15px) center;background-size:5px 5px;background-repeat:no-repeat}

@media(max-width:768px){.footer-content{color:#666;font-size:.75rem}.footer-links a{display:inline-block;min-height:44px;padding:10px 0}.shop-shell article>a{display:inline-block;min-height:44px;padding:8px 0}}
.order-id{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}

.warranty-notice{padding:1.25rem;border:2px solid #003399;margin:1.5rem 0}.warranty-notice figure{margin:0}.warranty-notice img{display:block;width:100%;max-width:560px;height:auto;object-fit:contain;filter:none}.warranty-notice a{display:inline-block;min-height:44px}.warranty-text{max-width:70ch}

.warranty-notice figure>a{display:block;width:100%;max-width:560px}
/* Daria's catalogue review: proportional, compact gallery and distinct actions. */
.product-layout{grid-template-columns:minmax(240px,420px) minmax(0,1fr);align-items:start}.product-gallery figure{margin:0;background:#faf8f9;text-align:center;padding:12px}.product-gallery .product-main-image{display:block;width:auto;max-width:100%;height:auto;max-height:410px;margin:0 auto;object-fit:contain}.product-gallery figcaption{font-size:.85rem;padding-top:12px;color:#555}.gallery-thumbnails{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.shop-shell .gallery-thumbnails button{width:80px;height:84px;margin:0;padding:4px;background:white;border:1px solid #bbb}.gallery-thumbnails img{width:100%;height:100%;object-fit:contain;margin:0}.shop-shell .gallery-thumbnails button[aria-pressed=true]{border:3px solid var(--brand-color)}.product-specs{display:grid;grid-template-columns:minmax(90px,auto) 1fr;gap:10px 16px;margin:24px 0}.product-specs dt{font-weight:500}.product-specs dd{margin:0}.price-block{padding:14px 0;border-top:1px solid #e1dce0;border-bottom:1px solid #e1dce0;margin:12px 0}.price-block .price{font-size:1.55rem;font-weight:500;margin:0 0 8px}.price-block .price-note{font-size:.82rem;color:#555;line-height:1.5;margin:4px 0}.product-format{font-weight:500}.shop-shell button:disabled{cursor:not-allowed;background:#f0edf0;border-color:#cdc6cb;color:#6d606b}.shop-shell .secondary-button{background:white;color:var(--brand-color)}.shop-shell .remove-button{background:transparent;color:#8a3838;border-color:transparent;text-decoration:underline}.preview-cart-line{display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px}.cart-product-image{width:110px;height:145px;object-fit:contain;background:#faf8f9}.cart-item-info h2{font-size:1.5rem;margin-top:0}.cart-item-info .cart-position-total{font-weight:500}.cart-item-info label{margin:12px 0}.cart-item-info input{max-width:130px}.cart-item-actions{display:flex;flex-wrap:wrap;gap:8px}.shop-grid article{display:flex;flex-direction:column}.shop-grid .price-block{margin-top:auto}.stock-status{font-weight:500}@media(max-width:768px){.product-layout{grid-template-columns:1fr}.product-gallery .product-main-image{max-height:320px}.shop-shell .gallery-thumbnails button{width:72px;height:78px}.product-specs{grid-template-columns:1fr;gap:6px}.product-specs dd{margin-bottom:12px}.preview-cart-line{grid-template-columns:80px minmax(0,1fr);gap:14px}.cart-product-image{width:80px;height:112px}.cart-item-actions{display:block}.cart-item-info .remove-button{width:auto}}

/* Four clear main entries; native disclosures also work without JavaScript. */
#main-navigation>ul{align-items:center;gap:24px;flex-wrap:nowrap}
#main-navigation a,#main-navigation summary{font-family:var(--font-sans);font-size:.75rem;color:#555;text-transform:uppercase;letter-spacing:.12em;min-height:44px;padding:12px 4px;display:block}
#main-navigation summary{list-style:none;cursor:pointer;white-space:nowrap}
#main-navigation summary::-webkit-details-marker{display:none}
#main-navigation summary::after{content:'⌄';display:inline-block;margin-left:8px;transition:transform .15s}
#main-navigation details[open]>summary::after{transform:rotate(180deg)}
#main-navigation details{position:relative}
#main-navigation .navigation-submenu{position:absolute;top:100%;left:-16px;display:flex;flex-direction:column;gap:0;min-width:230px;padding:8px 16px;background:#fff;border:1px solid #e1dce0;box-shadow:0 8px 20px #330c2f12;z-index:1001}
#main-navigation .navigation-submenu a{text-transform:none;letter-spacing:.03em;font-size:.875rem;white-space:nowrap}
#main-navigation a:hover,#main-navigation summary:hover,#main-navigation [aria-current=page],#main-navigation .current-section>summary{color:var(--brand-color)}
#main-navigation [aria-current=page]{text-decoration:underline;text-underline-offset:5px}
#main-navigation summary:focus-visible,.menu-toggle:focus-visible{outline:3px solid #7a376d;outline-offset:4px}
#main-navigation .navigation-cart{border-left:1px solid #e1dce0;padding-left:24px}
@media(max-width:768px){
header{flex-direction:row;flex-wrap:wrap;gap:12px;padding:16px 20px}
#main-navigation{width:100%;border-top:1px solid #e1dce0;padding-top:8px}
#main-navigation>ul{align-items:stretch;flex-direction:column;gap:0}
#main-navigation summary{display:flex;justify-content:space-between}
#main-navigation a,#main-navigation summary{padding:12px 4px;min-height:48px}
#main-navigation .navigation-submenu{position:static;min-width:0;box-shadow:none;border:0;border-left:2px solid #e1dce0;margin:0 0 8px 4px;padding:0 0 0 18px}
#main-navigation .navigation-submenu a{white-space:normal}
#main-navigation .navigation-cart{border-left:0;border-top:1px solid #e1dce0;padding-left:4px}
}

.shop-tabs a[aria-current=page]{color:var(--brand-color);font-weight:500;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px}.catalog-count{color:#555;font-size:.875rem}

/* Daria's approved mobile storefront, 14 October. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mobile-shop-link,.shop-header-actions{display:none}
.shop-header{flex-wrap:wrap;gap:8px 24px}
.shop-header-toolbar{order:3;width:100%;display:flex;align-items:center;gap:12px}
.shop-search{display:flex;align-items:center;max-width:320px;width:100%;margin-left:auto;border-bottom:1px solid #b9adb6}
.shop-search input{width:100%;min-width:0;padding:10px 4px;border:0;background:transparent;font:inherit;font-size:.85rem;border-radius:0;min-height:44px;color:#330c2f}
.shop-search button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0;background:transparent;color:#330c2f;cursor:pointer}
.shop-search svg,.shop-header-actions svg,.shop-header .menu-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.shop-teaser{background:#f7f4f5 url('/static/images/platzhalter-hero.png') center/cover no-repeat;min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;padding:28px 20px}
.shop-teaser-title{font:400 clamp(2rem,5vw,3.4rem)/1.25 var(--font-serif);text-transform:uppercase;color:var(--brand-color);margin:0 0 20px}
.shop-teaser-title span{background:white;padding:4px 10px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.shop-teaser-link{display:inline-block;background:var(--brand-color);color:white;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;padding:14px 22px;min-height:44px}
.public-shop-page .shop-shell{margin-top:24px}
.public-shop-page .shop-shell h1{text-transform:uppercase;font-size:clamp(1.7rem,4vw,2.6rem);line-height:1.2;margin-bottom:14px}
.public-shop-page .shop-shell>.notice{font-size:.78rem;line-height:1.5;padding:10px 12px;margin:10px 0}
.public-shop-page .shop-shell>.lead{margin:10px 0;font-size:.85rem}
.public-shop-page .shop-tabs{gap:18px;justify-content:flex-start;margin:10px 0 6px}
.public-shop-page .shop-tabs a{font-size:.72rem;letter-spacing:.04em;padding:10px 0}
.public-shop-page .catalog-count{margin:4px 0 8px}
.public-shop-page .shop-grid{gap:24px;margin-top:12px;grid-template-columns:repeat(3,minmax(0,1fr))}
.public-shop-page .shop-grid article{padding:0 0 16px;min-width:0}
.catalog-image{position:relative}
.public-shop-page .shop-grid h2{font:400 .9rem/1.35 var(--font-sans);text-transform:uppercase;margin:8px 0 4px;letter-spacing:.025em}
.public-shop-page .shop-grid a{text-decoration:none}
.public-shop-page .shop-grid .product-format{font-size:.75rem;line-height:1.4;margin:2px 0 6px;font-weight:400}
.public-shop-page .price-block{padding:8px 0;margin:4px 0 6px;border-top:0;border-bottom:0}
.price-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.price-tax{font-size:.72rem;color:#555;white-space:nowrap}
.public-shop-page .price-block .price{font-size:1.2rem;line-height:1.4;margin:0}
.public-shop-page .price-block .price-note{font-size:.72rem;line-height:1.45;margin:3px 0}
.public-shop-page .price-block .price-note a{text-decoration:underline}
.sold-out-badge{position:absolute;top:8px;right:8px;background:#330c2f;color:#fff;padding:4px 7px;font:400 .67rem/1.4 var(--font-sans);text-transform:uppercase;letter-spacing:.02em;z-index:1}
.public-shop-page .shop-grid .stock-status{display:none}
.public-shop-page .shop-grid button{font-size:.75rem;padding:10px 6px;margin:4px 0 0;width:100%;min-height:44px}
.product-gallery figure{position:relative}
.public-shop-page .shop-grid h2{margin-bottom:0}
.public-shop-page .shop-grid .product-format{margin-top:0}
.preview-cart-line{position:relative;padding-right:44px!important}
.cart-item-info h2{font:400 1rem/1.4 var(--font-sans);text-transform:uppercase;margin:0!important}
.cart-item-info .cart-item-format{font-size:.85rem;margin:0 0 8px}
.shop-shell .cart-quantity{display:inline-flex;align-items:center;gap:10px;min-height:44px}
.shop-shell .cart-quantity button{width:44px;min-width:44px;height:44px;padding:0;margin:0;background:white;color:var(--brand-color);border:1px solid #d5ced2}
.cart-quantity span{min-width:24px;text-align:center}
.shop-shell .cart-remove{position:absolute;right:0;top:16px;width:44px;height:44px;padding:0;margin:0;background:white;color:var(--brand-color);border:0;text-decoration:none;font-size:1.5rem}
.cart-summary{background:#f3f3f3;padding:18px;margin:24px 0}
.cart-grand-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:12px;border-top:1px solid #ddd}
.cart-grand-total strong:last-child{white-space:nowrap;text-align:right}
.cart-checkout-actions{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.cart-checkout-actions .shop-button{flex:1 1 170px;text-align:center;text-decoration:none;margin:0;border-radius:0;min-width:0}
.shop-shell .cart-checkout-actions .secondary-button{background:white;color:var(--brand-color);border:1px solid var(--brand-color)}
@media(max-width:768px){
 .shop-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px 16px}
 .shop-header .logo img{width:auto;height:auto;max-width:100%;max-height:24px}
 .shop-header-actions{display:flex;align-items:center;gap:4px}
 .shop-header-actions a{display:flex;align-items:center;justify-content:center;color:#330c2f;width:40px;min-height:44px}
 .shop-header-toolbar{grid-column:1/-1;order:initial;gap:12px}
 .shop-header .menu-toggle{display:flex;align-items:center;justify-content:center;padding:10px;min-width:44px;border:0}
 .shop-search{margin:0;max-width:none}
 .shop-header #main-navigation{grid-column:1/-1}
 .shop-header #main-navigation .mobile-shop-link{display:block}
 .shop-header #main-navigation .shop-navigation-item,.shop-header #main-navigation .navigation-cart{display:none}
 .shop-header #main-navigation .portfolio-navigation-item{margin-top:12px;padding-top:8px;border-top:1px solid #e1dce0}
 .shop-header #main-navigation>ul{align-items:stretch}
 .shop-teaser{min-height:230px;padding:24px 16px}
 .shop-teaser-title{font-size:2rem;margin-bottom:16px;text-transform:none}
 .public-shop-page .shop-shell{padding:0 16px;margin-top:18px}
 .public-shop-page .shop-shell h1{font-size:1.7rem;margin-bottom:10px}
 .public-shop-page .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px;margin-top:8px}
 .public-shop-page .shop-grid h2{font-size:.78rem;line-height:1.4;margin-top:6px}
 .public-shop-page .shop-grid .product-format{font-size:.7rem}
 .public-shop-page .shop-grid .price{font-size:1rem}
 .public-shop-page .shop-grid .price-tax{font-size:.65rem}
 .public-shop-page .shop-grid .price-line{gap:3px}
 .public-shop-page .shop-grid .price-note{font-size:.68rem}
 .public-shop-page .shop-grid img{aspect-ratio:3/4}
 .public-shop-page .shop-tabs{gap:14px}
 .sold-out-badge{font-size:.6rem;top:6px;right:6px;padding:4px 5px}
}
/* Confirmed feedback: ordinary shop headings, teaser typography stays distinct. */
.public-shop-page .shop-shell h1,.public-shop-page .shop-shell h2{font-family:var(--font-sans);font-weight:700}
.cart-summary{border-radius:12px;color:#222}
.cart-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:baseline;margin:8px 0;line-height:1.5}
.cart-summary-row span:last-child{text-align:right}
.cart-shipping-row span:last-child{font-size:.85rem}
.cart-grand-total{border-top:0;padding-top:18px;align-items:baseline;gap:10px}
.cart-total-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;min-width:0}
.cart-total-label strong{font-size:1rem;text-align:left}
.cart-total-label span{font-size:.78rem;font-weight:400}
.cart-total-amount{font-size:1.125rem;font-weight:700}
.shop-shell .cart-summary-note,.shop-shell .cart-tax-note{font-size:.78rem;line-height:1.45;color:#555;margin:10px 0 0}
/* Reserve exactly the existing contained image size before its bytes arrive. */
.product-gallery .product-main-image{--product-image-limit:410px}
.product-gallery .product-main-image[width][height]{width:min(var(--product-image-width),100%,calc(var(--product-image-limit) * var(--product-image-ratio)));aspect-ratio:var(--product-image-ratio)}
@media(max-width:768px){.product-gallery .product-main-image{--product-image-limit:320px}}
.product-navigation{margin:0 0 24px;min-width:0}
.product-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:4px 10px;list-style:none;margin:0 0 16px;padding:0;font-size:.9rem;line-height:1.6}
.product-breadcrumbs li{display:flex;gap:10px;min-width:0;overflow-wrap:anywhere}
.product-breadcrumbs li+li::before{content:'/';color:#696169}
.product-breadcrumbs a{text-decoration:underline;text-underline-offset:3px}
.product-breadcrumbs [aria-current=page]{color:#494149;overflow-wrap:anywhere}
.shop-shell .product-back-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;box-sizing:border-box;padding:12px 18px;border:1px solid var(--brand-color);margin:0;text-decoration:none;white-space:normal}
.product-breadcrumbs a:focus-visible,.product-back-link:focus-visible{outline:3px solid #7a376d;outline-offset:4px}
.product-back-link:hover{text-decoration:underline}
