/*
Theme Name: Alla Galerie
Theme URI: https://allagalerie.com
Author: bellthestudio
Description: Custom WooCommerce theme for Alla Galerie, Botanical Soul palette
Version: 14.8.0
Text Domain: allagalerie
*/

/* Botanical Soul palette + gold */
/* Botanical Soul palette + gold */
:root{
  --ivory:#F0E0D0; --paper:#F8F1E9; --mushroom:#C0B2A1; --sage:#6D695B;
  --bordeaux:#4E292B; --bordeaux-2:#3E2022; --espresso:#2D231C; --espresso-2:#211913; --wood:#170F0B;
  --ink:#2D231C; --muted:#6E6257; --line:#E4D6C7;
  --gold:#B8903E; --gold-l:#E7CE94; --gold-d:#8A6A2C; --gold-dp:#7A5E28;
  --serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;
  --sans:"Jost","Futura","Avenir Next","Century Gothic",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16.5px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
body.lock{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--bordeaux);outline-offset:3px}
.dark :focus-visible{outline-color:var(--ivory)}
.wrap{max-width:1280px;margin:0 auto;padding:0 36px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;margin:0;letter-spacing:0}
.view{display:none}
.view.is-active{display:block}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 28px;border:1px solid var(--bordeaux);background:transparent;color:var(--bordeaux);font-size:15px;font-weight:500;letter-spacing:.02em;transition:background .15s,color .15s,border-color .15s}
.btn-solid{background:var(--bordeaux);color:var(--ivory)}
.btn-solid:hover{background:var(--bordeaux-2);border-color:var(--bordeaux-2)}
.btn-line:hover{background:var(--ivory)}
.dark .btn-solid{background:var(--ivory);color:var(--espresso);border-color:var(--ivory)}
.dark .btn-solid:hover{background:#fff;border-color:#fff}
.dark .btn-line{color:var(--ivory);border-color:rgba(240,224,208,.55)}
.dark .btn-line:hover{background:rgba(240,224,208,.08);border-color:var(--ivory)}
.link{color:var(--bordeaux);border-bottom:1px solid currentColor;padding-bottom:1px;font-size:15px;white-space:nowrap;background:none;border-top:0;border-left:0;border-right:0;padding-left:0;padding-right:0}

/* ---------- Utility + header ---------- */
.util{background:var(--espresso-2);color:var(--mushroom);font-size:13.5px}
.util .wrap{display:flex;justify-content:space-between;gap:24px;padding-top:8px;padding-bottom:8px}
.util-l,.util-r{display:flex;gap:28px;align-items:center}
.util a:hover{color:var(--ivory)}
.lang{display:flex;gap:8px}
.lang button{background:none;border:0;padding:0;color:#8F8173}
.lang button[aria-pressed="true"]{color:var(--ivory)}

.head{position:sticky;top:0;z-index:30;background:rgba(248,241,233,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
/* a leaf of real gold along the very top edge, not a colour swap */
.head::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;z-index:1;
  background:linear-gradient(90deg,transparent,var(--gold) 15%,var(--gold-l) 50%,var(--gold) 85%,transparent)}
.head-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-top:20px;padding-bottom:16px;transition:padding .25s}
.logo{text-align:center;display:block;line-height:1}
.logo-name{display:block;white-space:nowrap;font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:.14em;text-transform:uppercase;transition:font-size .25s}
.logo-flourish{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:8px;transition:opacity .2s,height .25s,margin .25s}
.logo-flourish i{width:30px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.logo-flourish i.r{background:linear-gradient(90deg,var(--gold),transparent)}
.logo-flourish em{width:5px;height:5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFF3D6,var(--gold) 60%,var(--gold-dp));font-style:normal;box-shadow:0 0 6px rgba(184,144,62,.55)}
.logo-sub{display:block;font-size:12.5px;color:var(--muted);margin-top:2px;letter-spacing:.04em}
.head.compact .head-top{padding-top:10px;padding-bottom:8px}
.head.compact .logo-name{font-size:26px}
.head.compact .logo-flourish,.head.compact .logo-sub{opacity:0;height:0;margin-top:0;overflow:hidden}

/* Header-Suche per #search statt .search: WordPress setzt auf Suchergebnisseiten die Klasse */
/* "search" auf <body> — .search{max-width:320px} presste dort die ganze Seite in eine schmale Spalte. */
#search{position:relative;max-width:320px}
.search-box{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--mushroom);padding:6px 0;color:var(--muted)}
.search-box:focus-within{border-color:var(--espresso)}
#search svg{width:18px;height:18px;flex:none}
.search-box form{flex:1;min-width:0;display:flex}
#search input{border:0;background:none;font-size:15px;width:100%;outline:none;color:var(--ink)}
#search input::placeholder{color:#968879}
.suggest{position:absolute;top:calc(100% + 8px);left:0;width:380px;background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:0 24px 40px -24px rgba(33,25,19,.45);z-index:40;display:none;padding:6px}
.suggest.open{display:block}
.suggest button{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:8px;font-size:14.5px}
.suggest a{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:8px;font-size:14.5px;box-sizing:border-box}
.suggest a.plain{grid-template-columns:1fr auto}
.suggest button:hover,.suggest button:focus-visible,.suggest a:hover,.suggest a:focus-visible,.suggest a[aria-selected="true"]{background:var(--ivory)}
.suggest .grp{padding:8px 8px 2px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dp)}
.suggest .th{width:52px;height:52px;background:var(--ivory);display:flex;align-items:center;justify-content:center;padding:4px;position:relative}
.suggest .th img{mix-blend-mode:multiply;max-height:100%;width:auto}
.suggest .nm{font-family:var(--serif);font-size:18px;font-weight:500;line-height:1.2}
.suggest .mk{display:block;font-family:var(--sans);font-size:12.5px;color:var(--muted);font-weight:400}
.suggest .pr{color:var(--gold-dp);font-weight:500}
.suggest .empty{padding:14px;font-size:14.5px;color:var(--muted)}

.icons{display:flex;justify-content:flex-end;gap:2px;position:relative;z-index:2}
.icon-btn{cursor:pointer;text-decoration:none;color:inherit}
.icon-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:8px 10px;font-size:14px;position:relative}
.icon-btn svg{width:21px;height:21px}
.icon-btn:hover{color:var(--bordeaux)}
.badge{position:absolute;top:1px;left:23px;background:var(--bordeaux);color:var(--ivory);font-size:11px;line-height:17px;min-width:17px;padding:0 4px;border-radius:9px;text-align:center}
.badge[data-n="0"]{display:none}

nav.main{position:relative}
.nav{display:flex;justify-content:center;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.nav>li>a{display:flex;align-items:center;gap:6px;padding:12px 16px 14px;font-size:15px;font-weight:500;letter-spacing:.02em;position:relative}
.nav>li>a::after{content:"";position:absolute;left:16px;right:16px;bottom:9px;height:1.5px;background:linear-gradient(90deg,var(--gold),var(--gold-l));transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav>li:hover>a::after,.nav>li:focus-within>a::after,.nav>li>a[aria-current="page"]::after{transform:scaleX(1)}
.nav>li>a[aria-current="page"]{color:var(--bordeaux)}
.cur-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFF3D6,var(--gold) 65%,var(--gold-dp))}
/* the gift-finder tab reads as a task, not a taxonomy entry */
.nav .gift>a{font-style:italic;font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:0;color:var(--bordeaux)}
.nav .gift svg{width:15px;height:15px}
/* a jewel-toned tab: bordeaux ground, gold border, a foil sheen sweeping across */
.nav .sale{margin-left:14px}
.nav .sale>a{position:relative;overflow:hidden;padding:8px 18px;background:var(--bordeaux);border:1px solid var(--gold);color:var(--gold-l);font-size:13px;border-radius:1px}
.nav .sale>a::before{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,transparent 20%,rgba(231,206,148,.55) 45%,rgba(255,243,214,.75) 50%,rgba(231,206,148,.55) 55%,transparent 80%);
  background-size:220% 100%;animation:foil 5s ease-in-out infinite}
.nav .sale>a::after{display:none}
.nav .sale>a:hover{color:var(--ivory);border-color:var(--gold-l)}
@keyframes foil{0%,100%{background-position:0% 0}50%{background-position:100% 0}}
@media (prefers-reduced-motion:reduce){.nav .sale>a::before{animation:none}}

.mega{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--gold-l);border-bottom:1px solid var(--line);box-shadow:0 30px 40px -30px rgba(33,25,19,.5)}
.nav>li:hover>.mega,.nav>li:focus-within>.mega{display:block}
.mega .wrap{display:grid;grid-template-columns:repeat(3,1fr) 1.1fr;gap:40px;padding-top:30px;padding-bottom:34px}
.mega h4{font-size:19px;margin:0 0 6px}
.mega .rule{width:24px;height:1px;background:var(--gold);margin-bottom:12px}
.mega ul{list-style:none;margin:0;padding:0}
.mega li a{display:block;padding:4px 0;color:var(--muted);font-size:15px}
.mega li a:hover{color:var(--bordeaux)}
.mega li a .cnt{color:var(--mushroom);font-size:12px}
.mega li.view-all{margin-top:8px;padding-top:8px;border-top:1px solid var(--line)}
.mega li.view-all a{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--bordeaux)}
.mega li.view-all a:hover{color:var(--bordeaux-2)}
.mega li.view-all .cnt{color:var(--muted)}
.mega .variants{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0 12px}
.mega .variants a{display:inline-flex;align-items:center;padding:5px 11px;font-size:12px;color:var(--gold-dp);
  border:1px solid rgba(184,144,62,.45);border-radius:2px;background:rgba(227,198,137,.1)}
.mega .variants a:hover{background:var(--gold);color:var(--espresso);border-color:var(--gold)}
.mega .group-label{font-size:15px;color:var(--muted);padding:4px 0 2px;display:block}
.mega-pic{margin:0;background:linear-gradient(160deg,var(--ivory),#E9D9C8);padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;position:relative}
.mega-pic::before{content:"";position:absolute;inset:13px;border:1px solid rgba(184,144,62,.3);pointer-events:none}
.mega-pic .frame{--mat:14px;width:150px}
.mega-pic figcaption{font-size:15px;font-family:var(--serif);color:var(--espresso);text-align:center}
.mega-pic figcaption small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.mega-pic figcaption em{display:block;font-style:normal;font-family:var(--sans);font-size:11px;letter-spacing:.04em;color:var(--gold-dp);margin-top:6px}

/* gift-finder panel: task-based, budget/occasion, not a product taxonomy */
.giftpanel .wrap{grid-template-columns:1fr 1fr 1fr;max-width:1000px}
.giftbox{padding:0 4px}
.giftbox .tag{position:static;left:auto;top:auto;z-index:auto;background:none;padding:0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dp);margin-bottom:6px;display:block}
.giftbox ul{margin-top:6px}

/* mobile off-canvas drawer */
.mscrim{position:fixed;inset:0;background:rgba(23,15,11,.45);z-index:59;opacity:0;pointer-events:none;transition:opacity .3s}
.mnav{position:fixed;top:0;right:0;height:100%;width:min(360px,88vw);background:var(--paper);z-index:60;
  transform:translateX(100%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s;display:flex;flex-direction:column;overflow:hidden}
body.menu-open .mscrim{opacity:1;pointer-events:auto}
body.menu-open .mnav{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s}
body.menu-open{overflow:hidden}
.mnav-head{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line);background:var(--paper)}
.mnav-body{flex:1;overflow:auto}
.mnav .row{border-bottom:1px solid var(--line)}
.mnav .row>button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 18px;font-size:15.5px;font-weight:500;text-align:left;font-family:inherit;color:var(--ink)}
.mnav .row>button svg{width:16px;height:16px;color:var(--sage);transition:transform .25s}
.mnav .row.open>button svg{transform:rotate(180deg)}
.mnav .row.open>button{color:var(--bordeaux)}
.mnav .panel{background:var(--ivory)}
.mnav .panel[hidden]{display:none}
.mnav .panel-in{padding:6px 18px 16px}
.mnav .grp{margin-bottom:12px}
.mnav .grp b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dp);margin-bottom:6px}
.mnav .grp a{display:block;padding:6px 0;font-size:14.5px;border-bottom:1px solid rgba(228,214,199,.6);color:var(--ink)}
.mnav .variants{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.mnav .variants a{border:1px solid rgba(184,144,62,.45);border-radius:2px;padding:5px 10px;font-size:12px;color:var(--gold-dp)}
.mnav .sale-row{background:var(--bordeaux)}
.mnav .sale-row>a{display:block;padding:16px 18px;font-weight:500;color:var(--gold-l)}
.mnav .gift-row>button{font-family:var(--serif);font-style:italic;font-size:17px}
.mnav-close{background:none;border:0;padding:4px 12px;font-size:30px;line-height:1;color:var(--ink);cursor:pointer}
/* Die Spalten des Desktop-Mega-Menüs (dieselben Einträge) im Drawer: Überschrift, Links, Chips, Alle ansehen */
.mnav .panel-in h4{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dp);margin:14px 0 2px}
.mnav .panel-in .rule{display:none}
.mnav .panel-in ul{list-style:none;margin:0;padding:0}
.mnav .panel-in li a{display:block;padding:11px 0;font-size:14.5px;color:var(--ink);border-bottom:1px solid rgba(228,214,199,.6)}
.mnav .panel-in li a .cnt{color:var(--mushroom);font-size:12px}
.mnav .panel-in .group-label{display:block;font-size:13px;color:var(--muted);padding:8px 0 2px}
.mnav .panel-in .variants a{display:inline-flex;align-items:center;padding:8px 12px;font-size:12px;color:var(--gold-dp);border:1px solid rgba(184,144,62,.45);border-radius:2px}
.mnav .panel-in li.view-all a{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--bordeaux);border-bottom:0}
.mnav .giftbox .tag{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dp);margin-top:12px}
.mnav .giftbox h4{font-family:var(--serif);font-size:18px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--ink);margin:2px 0 2px}
.burger{display:none;background:none;border:0;padding:8px;color:var(--espresso)}
.burger svg{width:22px;height:22px}

/* ---------- Gallery frame system ---------- */
.frame{position:relative;z-index:1;background:var(--ivory);padding:var(--mat,26px);box-shadow:0 0 0 var(--wood-w,6px) var(--wood),0 30px 44px -20px rgba(12,7,4,.65);transition:filter 1.4s ease}
.frame::before{content:"";position:absolute;inset:calc(var(--mat,26px) * .55);border:1px solid rgba(45,35,28,.13);pointer-events:none}
.art{position:relative;aspect-ratio:var(--ar,1/1);display:flex;align-items:center;justify-content:center}
.art img{mix-blend-mode:multiply;width:auto;height:auto;max-width:100%;max-height:100%}
/* WordPress hängt an <img> feste width/height-Attribute (Intrinsic-Size-Hint);
   bei "auto" gewinnt dann das Attribut statt der Frame-Größe — im
   Mega-Menü-Bild wirkte das Foto dadurch winzig. Hier erzwungen. */
.mega-pic .art img{width:100% !important;height:100% !important;object-fit:contain}
.lit{position:relative}
.lit::before{content:"";position:absolute;left:-45%;right:-45%;top:-80px;bottom:-60px;background:radial-gradient(ellipse 22% 14% at 50% 15%,rgba(255,238,214,.30),transparent 100%),radial-gradient(ellipse 50% 56% at 50% 44%,rgba(255,238,214,.14),transparent 76%);pointer-events:none;transition:opacity 1.4s ease}
.lit::after{content:"";position:absolute;z-index:2;top:-26px;left:50%;transform:translateX(-50%);width:34%;height:6px;border-radius:3px;background:linear-gradient(#6A5646,#2A1F18);box-shadow:0 1px 0 rgba(255,230,200,.25) inset}
.plaque{display:inline-block;background:var(--paper);color:var(--ink);padding:10px 14px 11px;margin-top:30px;box-shadow:0 8px 16px -10px rgba(12,7,4,.5);max-width:100%}
.plaque b{display:block;font-family:var(--serif);font-weight:600;font-size:17.5px;line-height:1.2}
.plaque span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.plaque em{display:block;font-style:normal;font-size:13.5px;font-weight:500;margin-top:4px}
.missing img{display:none}
.missing::after{content:"Bild nicht gefunden";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12.5px;color:var(--muted);text-align:center}

/* ---------- Hero: the gallery wall ---------- */
.hero{background:radial-gradient(900px 520px at 72% 18%,#3B2E25 0%,transparent 70%),linear-gradient(180deg,#2D231C,#261D17);color:var(--ivory);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1fr 1.12fr;gap:72px;align-items:center;padding-top:96px;padding-bottom:104px}
.hero h1{font-weight:300;font-size:clamp(46px,5.4vw,82px);line-height:1.02;letter-spacing:-.005em}
.hero-text p{color:var(--mushroom);font-size:18px;line-height:1.7;max-width:31em;margin:30px 0 38px}
.hero .btns{display:flex;flex-wrap:wrap;gap:14px}
.hero-text{transition:opacity 1.2s ease .2s}
.salon{display:grid;grid-template-columns:1.25fr 1fr;gap:78px 52px;align-items:end}
.piece{display:block;min-width:0}
.piece.p1{grid-row:1/3}
.piece.p1 .frame{--mat:34px;--ar:3/4}
.piece.p2 .frame,.piece.p3 .frame{--mat:20px}
.piece.p2 .lit,.piece.p3 .lit{width:88%}
.intro .piece:not(.on) .lit::before{opacity:0}
.intro .piece:not(.on) .frame{filter:brightness(.32) saturate(.5)}
.intro .piece:not(.on) .plaque{opacity:.25}
.plaque{transition:opacity 1.2s ease}

/* ---------- Facts ---------- */
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.fact{display:flex;gap:14px;padding:26px 24px 24px;align-items:flex-start}
.fact+.fact{border-left:1px solid var(--line)}
.fact svg{width:26px;height:26px;flex:none;color:var(--sage);margin-top:1px}
.fact b{display:block;font-weight:500;font-size:15px}
.fact span{font-size:14px;color:var(--muted)}

/* ---------- Sections ---------- */
.sec{padding-top:96px}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:34px}
.sec-head h2{font-size:clamp(36px,3.8vw,54px);line-height:1.05;font-weight:400}
.sec-head p{margin:10px 0 0;color:var(--muted);max-width:36em}

/* Rooms: each category is a gallery room painted in one palette colour */
.rooms{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:370px 340px;gap:14px}
.room{position:relative;display:flex;align-items:center;justify-content:center;padding:56px 28px 110px;overflow:hidden;text-align:left}
.room .lit{width:var(--fw,150px)}
.room .plaque{position:absolute;left:24px;bottom:24px;margin:0;min-width:200px}
.room .plaque em{color:var(--bordeaux)}
.room:hover .plaque b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.w-mush{background:var(--mushroom)}
.w-sage{background:var(--sage)}
.w-bord{background:var(--bordeaux)}
.w-esp{background:var(--espresso)}
.r1{grid-column:1/3;grid-row:1/3;--fw:min(52%,340px)}
.r1 .frame{--mat:34px;--ar:3/4}
.r2{grid-column:3/5;--fw:168px}
.r3,.r4{--fw:128px}
.r3 .frame,.r4 .frame{--mat:16px}

/* Product cards */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:transparent;border:1px solid var(--mushroom);border-radius:999px;padding:7px 16px;font-size:14.5px;text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;gap:4px}
.chip:hover{border-color:var(--espresso)}
.chip[aria-pressed="true"],.chip[aria-current="true"]{background:var(--espresso);border-color:var(--espresso);color:var(--ivory)}
.chip .cnt{color:var(--mushroom);font-size:12px}
.chip[aria-current="true"] .cnt{color:rgba(240,224,208,.7)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px 24px}
.grid.g3{grid-template-columns:repeat(3,1fr)}
.card{min-width:0}
.card .pic{position:relative;aspect-ratio:4/5;background:var(--ivory)}
.card .pic>a{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px}
/* Auf der Kategorieseite (3 statt 4 Spalten, mehr Platz pro Karte) etwas */
/* weniger Weißraum um das Foto, damit es größer wirkt, ohne das Layout zu ändern. */
.grid.g3 .card .pic>a{padding:18px}
.card .pic img{mix-blend-mode:multiply;width:auto;height:auto;max-width:100%;max-height:100%;transition:opacity .25s}
.wish{position:absolute;top:10px;right:10px;z-index:1;width:38px;height:38px;border-radius:50%;background:var(--paper);border:0;display:flex;align-items:center;justify-content:center}
.wish svg{width:18px;height:18px}
.wish::after{content:"";position:absolute;inset:-3px;border-radius:50%}
.wish[aria-pressed="true"] svg{fill:var(--bordeaux);color:var(--bordeaux)}
.tag{position:absolute;left:12px;top:12px;z-index:1;font-size:12px;background:var(--sage);color:var(--ivory);padding:3px 9px}
.card .maker{display:block;margin-top:16px;font-size:13px;color:var(--muted);min-height:1.5em}
.card h3{font-size:21px;line-height:1.2;font-weight:500;margin:1px 0 12px}
.card h3 a:hover{color:var(--bordeaux)}
.card .row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.price{font-weight:500;font-size:17px;line-height:1.2;color:var(--gold-dp)}
.tax{display:block;font-size:12px;color:var(--muted)}
.add{width:44px;height:44px;flex:none;border:1px solid var(--bordeaux);background:transparent;color:var(--bordeaux);display:flex;align-items:center;justify-content:center}
.add svg{width:19px;height:19px}
.add:hover{background:var(--bordeaux);color:var(--ivory)}

/* Banner section */
.aktuell{background:var(--mushroom);margin-top:104px}
.aktuell .wrap{display:grid;grid-template-columns:.8fr 1.4fr;gap:72px;align-items:center;padding-top:88px;padding-bottom:92px}
.aktuell h2{font-size:clamp(36px,3.8vw,54px);font-weight:400;line-height:1.05}
.aktuell p{color:#4B4038;font-size:17px;max-width:26em;margin:18px 0 0}
.aktuell .frame{--mat:18px;--wood-w:8px}
.slides{display:grid;min-height:160px;align-items:center}
.slides img{grid-area:1/1;width:100%;height:auto;opacity:0;transition:opacity 1s ease;mix-blend-mode:normal}
.slides img.on{opacity:1}
.dots{display:flex;gap:6px;justify-content:center;margin-top:26px}
.dots button{background:none;border:0;padding:9px 2px}
.dots button::before{content:"";display:block;width:30px;height:2px;background:rgba(45,35,28,.3)}
.dots button[aria-current="true"]::before{background:var(--espresso)}

/* De Rosa */
.derosa{background:var(--bordeaux);color:var(--ivory)}
.derosa .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:100px;padding-bottom:100px}
.derosa .stagewall{display:flex;flex-direction:column;align-items:center}
.derosa .lit{width:min(100%,400px)}
.derosa .frame{--mat:40px}
.minis{display:flex;gap:14px;margin-top:40px}
.mini{width:78px;height:78px;background:var(--ivory);padding:6px;position:relative;display:flex;align-items:center;justify-content:center}
.mini img{mix-blend-mode:multiply;max-height:100%;width:auto}
.derosa h2{font-size:clamp(40px,4.2vw,60px);font-weight:400;line-height:1.02}
.derosa p{color:#E2CDBF;font-size:18px;max-width:30em;line-height:1.7;margin:22px 0 0}
.series{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 38px;padding:0;list-style:none}
.series a{display:block;padding:6px 14px;border:1px solid rgba(240,224,208,.35);border-radius:999px;font-size:14px}
.series a:hover{border-color:var(--ivory);background:rgba(240,224,208,.07)}
.btns{display:flex;flex-wrap:wrap;gap:14px}

/* Service */
.service{background:var(--sage);color:var(--ivory)}
.service .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;padding-top:96px;padding-bottom:96px}
.service h2{font-size:clamp(38px,4vw,56px);font-weight:400;line-height:1.05}
.service .lead{font-family:var(--serif);font-size:26px;line-height:1.4;margin:20px 0 0;max-width:22em}
.contact{background:var(--ivory);color:var(--ink);padding:38px 42px;border:1px solid var(--gold-l);border-top:3px solid var(--gold);box-shadow:0 26px 50px -30px rgba(20,14,9,.5)}
.contact .tel{display:block;font-family:var(--serif);font-size:40px;font-weight:500;line-height:1.1;color:var(--bordeaux)}
.contact dl{display:grid;grid-template-columns:auto 1fr;gap:10px 26px;margin:22px 0 0;font-size:15.5px}
.contact dt{color:var(--muted)}
.contact dd{margin:0}
.contact a:hover{color:var(--bordeaux)}

/* Footer */
.foot{position:relative;background:var(--espresso-2);color:var(--mushroom);font-size:15px}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-l) 50%,var(--gold) 80%,transparent)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-top:64px;padding-bottom:44px}
.foot .logo-name{font-size:26px;color:var(--ivory);margin-bottom:16px}
.foot h4{font-size:21px;color:var(--ivory);margin:0 0 12px;font-weight:400}
.foot p{margin:0;line-height:1.75}
.foot ul{list-style:none;margin:0;padding:0}
.foot li a{display:block;padding:3px 0}
.foot a:hover{color:var(--ivory)}
.hb{margin-top:20px;display:inline-flex}
.hb img{height:46px;width:46px;object-fit:cover;border-radius:50%;box-shadow:0 0 0 2px rgba(227,198,148,.35),0 10px 22px -10px rgba(0,0,0,.6)}
.foot-bottom{border-top:1px solid rgba(192,178,161,.2);padding-top:18px;padding-bottom:96px;font-size:13.5px;display:flex;justify-content:space-between;gap:16px;color:#8F8173}

/* ---------- Category page ---------- */
.crumbs{font-size:14px;color:var(--muted);padding-top:28px}
.crumbs a:hover{color:var(--bordeaux)}
.crumbs .sep{margin:0 9px;color:var(--mushroom)}
.cat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;padding:18px 0 30px;border-bottom:1px solid var(--line)}
.cat-head h1{font-size:clamp(44px,4.8vw,68px);font-weight:400;line-height:1}
.cat-head p{margin:12px 0 0;color:var(--muted);max-width:34em}
.cat{display:grid;grid-template-columns:250px 1fr;gap:56px;padding-top:32px;padding-bottom:104px}
.filters{background:var(--paper);border:1px solid var(--line);padding:30px 26px 8px;position:sticky;top:100px}
.filters fieldset{border:0;margin:0 0 22px;padding:0 0 22px;border-bottom:1px solid var(--line)}
.filters fieldset:last-of-type{border-bottom:0;margin-bottom:6px}
.filters legend{font-family:var(--serif);font-size:20px;font-weight:500;padding:0;margin-bottom:4px;width:100%}
.filters legend .ftitle{display:inline-flex;align-items:center;gap:10px}
.filters legend svg{width:19px;height:19px;color:var(--gold-d);flex:none}
.filters legend::after{content:"";display:block;width:24px;height:1px;background:var(--gold);margin-top:8px;margin-bottom:10px}
.filters label{display:flex;gap:12px;align-items:center;padding:8px 8px;margin:0 -8px;font-size:15px;cursor:pointer;border-radius:3px;transition:background .15s}
.filters label:hover{background:rgba(184,144,62,.1)}
.filters input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;flex:none;
  border:1.5px solid var(--mushroom);border-radius:3px;background:var(--ivory);position:relative;cursor:pointer;transition:border-color .15s,background .15s,transform .12s}
.filters input:hover{border-color:var(--gold)}
.filters input:checked{background:var(--bordeaux);border-color:var(--bordeaux)}
.filters input:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid var(--gold-l);border-width:0 2px 2px 0;transform:rotate(45deg)}
.filters label:has(input:checked){color:var(--bordeaux);font-weight:500}
.filters .n{margin-left:auto;color:var(--muted);font-size:11.5px;background:var(--ivory);border-radius:999px;padding:2px 9px;font-variant-numeric:tabular-nums;transition:background .15s,color .15s}
.filters label:has(input:checked) .n{color:var(--ivory);background:var(--gold-d)}
.filters-toggle{display:none}
.filters-toggle[aria-expanded="true"]{background:var(--ivory)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.toolbar .count{color:var(--muted);font-size:15px}
.active{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.active .chip{display:inline-flex;gap:8px;align-items:center;background:var(--ivory);border-color:var(--ivory)}
.active .chip::after{content:"\00D7";font-size:17px;line-height:1}
.sort{display:flex;gap:10px;align-items:center;font-size:14.5px;color:var(--muted)}
.sort select{border:1px solid var(--mushroom);background:var(--paper);padding:9px 12px;color:var(--ink)}
.empty-state{grid-column:1/-1;background:var(--ivory);padding:56px 40px;text-align:center}
.empty-state h3{font-size:32px;font-weight:400}
.empty-state p{color:var(--muted);margin:10px auto 24px;max-width:30em}

/* ---------- Product page ---------- */
.pdp{display:grid;grid-template-columns:1.15fr 1fr;gap:72px;padding-top:24px;padding-bottom:40px;align-items:start}
.pdp-wall{background:var(--mushroom);padding:84px 48px 40px;display:flex;flex-direction:column;align-items:center}
.pdp-wall .lit{width:min(100%,430px)}
.pdp-wall .lit::before{background:radial-gradient(ellipse 24% 16% at 50% 15%,rgba(255,244,222,.65),transparent 100%),radial-gradient(ellipse 52% 58% at 50% 45%,rgba(255,244,222,.32),transparent 78%)}
.pdp-wall .frame{display:block;width:100%;font:inherit;text-align:inherit;--mat:38px;--ar:4/5;cursor:zoom-in}
.pdp-thumbs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:56px}
.pdp-thumbs button{width:76px;height:76px;background:var(--ivory);border:1px solid transparent;padding:6px;position:relative;display:flex;align-items:center;justify-content:center}
.pdp-thumbs button[aria-current="true"]{border-color:var(--espresso)}
.pdp-thumbs img{mix-blend-mode:multiply;max-height:100%;width:auto}
.zoom-hint{font-size:13px;color:#4B4038;margin-top:18px}
.buy{position:sticky;top:130px}
.buy .maker{color:var(--muted);font-size:15px}
.buy .maker a{color:var(--bordeaux)}
.buy h1{font-size:clamp(38px,3.8vw,54px);font-weight:400;line-height:1.05;margin:8px 0 22px}
.buy .price{font-size:26px}
.stock{display:flex;align-items:center;gap:10px;font-size:15px;margin:20px 0 26px}
.stock::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sage)}
.qty-row{display:flex;gap:12px}
.qty{display:flex;border:1px solid var(--mushroom)}
.qty button{width:44px;background:none;border:0;font-size:20px}
.qty output{width:30px;display:flex;align-items:center;justify-content:center}
.qty-row .btn{flex:1}
.btn-pp{width:100%;margin-top:12px;border-color:var(--espresso);color:var(--espresso)}
.btn-pp:hover{background:var(--ivory)}
.btn-pp b{font-weight:600;font-style:italic}
.trust-badge{display:flex;align-items:center;justify-content:center;gap:11px;margin-top:12px;padding:10px 4px;font-size:14.5px;color:var(--ink);font-weight:500}
.trust-badge img{height:28px;width:auto;filter:saturate(.85)}
.sub-actions{display:flex;flex-wrap:wrap;gap:24px;margin-top:18px;font-size:15px}
.sub-actions button{background:none;border:0;padding:0;color:var(--bordeaux);display:inline-flex;gap:8px;align-items:center}
.sub-actions button[aria-pressed="true"] svg{fill:var(--bordeaux)}
.sub-actions svg{width:17px;height:17px}
.specs{margin:34px 0 0;border-top:1px solid var(--line)}
.specs div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.specs dt{color:var(--muted)}
.specs dd{margin:0}
.note{margin-top:24px;background:var(--ivory);padding:16px 20px;font-size:15px}
.note b{font-weight:500}
details{border-bottom:1px solid var(--line)}
summary{padding:16px 0;cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:21px;line-height:1;color:var(--muted)}
details[open] summary::after{content:"\2013"}
details p{margin:0 0 18px;color:var(--muted);font-size:15px;line-height:1.65}

/* ---------- Cart drawer, lightbox, toast, switcher ---------- */
.scrim{position:fixed;inset:0;z-index:70;background:rgba(33,25,19,.5);opacity:0;pointer-events:none;transition:opacity .25s}
.drawer{position:fixed;top:0;right:0;z-index:71;height:100%;width:min(430px,100%);background:var(--paper);transform:translateX(100%);visibility:hidden;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s linear .32s;display:flex;flex-direction:column}
.cart-open .scrim{opacity:1;pointer-events:auto}
.cart-open .drawer{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.2,.7,.2,1),visibility 0s}
.drawer header{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line)}
.drawer h2{font-size:30px;font-weight:400}
.x{background:none;border:0;width:40px;height:40px;font-size:26px;line-height:1}
.items{flex:1;overflow:auto;padding:4px 26px}
.item{display:grid;grid-template-columns:76px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.item .th{width:76px;height:76px;background:var(--ivory);padding:6px;position:relative;display:flex;align-items:center;justify-content:center}
.item .th img{mix-blend-mode:multiply;max-height:100%;width:auto}
.item h3{font-size:19px;line-height:1.2}
.item .mk{font-size:13px;color:var(--muted)}
.item .qty{margin-top:10px;display:inline-flex}
.item .qty button{width:34px;height:32px;font-size:17px}
.item .rm{display:block;background:none;border:0;padding:0;margin-top:10px;font-size:13px;color:var(--muted);text-decoration:underline}
.item .lp{font-weight:500;white-space:nowrap}
.drawer footer{padding:22px 26px 26px;border-top:1px solid var(--line)}
.sum{display:flex;justify-content:space-between;align-items:baseline;font-size:18px;font-weight:500}
.sum small{display:block;font-size:12.5px;font-weight:400;color:var(--muted)}
.drawer footer .btn{width:100%;margin-top:14px}
.cart-empty{text-align:center;padding:64px 10px}
.cart-empty h3{font-size:28px;font-weight:400}
.cart-empty p{color:var(--muted);margin:8px 0 22px}

.lb{position:fixed;inset:0;z-index:80;background:rgba(23,15,11,.92);display:none;align-items:center;justify-content:center;padding:40px}
.lb.open{display:flex}
.lb .frame{--mat:30px;width:min(88vw,82vh,720px);cursor:zoom-out}
.lb .x{position:absolute;top:18px;right:22px;color:var(--ivory)}

.toast{position:fixed;left:50%;top:22px;z-index:90;background:var(--espresso);color:var(--ivory);padding:12px 22px;font-size:14.5px;transform:translate(-50%,-14px);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
.toast.show{opacity:1;transform:translate(-50%,0)}

.switch{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:60;display:flex;background:var(--espresso);border-radius:999px;padding:4px;box-shadow:0 12px 30px rgba(23,15,11,.35)}
.switch button{background:none;border:0;color:var(--mushroom);padding:9px 18px;border-radius:999px;font-size:14px;white-space:nowrap}
.switch button[aria-pressed="true"]{background:var(--ivory);color:var(--espresso)}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .hero .wrap{grid-template-columns:1fr;gap:88px;padding-top:64px}
  .salon{max-width:640px}
  .facts{grid-template-columns:repeat(2,1fr)}
  .fact:nth-child(odd){border-left:0}
  .fact:nth-child(n+3){border-top:1px solid var(--line)}
  .rooms{grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:320px}
  .r1{grid-column:1/3;grid-row:span 2;--fw:min(46%,300px)}
  .r2{grid-column:1/3}
  .grid{grid-template-columns:repeat(3,1fr)}
  .grid.g3{grid-template-columns:repeat(2,1fr)}
  .aktuell .wrap,.derosa .wrap,.service .wrap,.pdp{grid-template-columns:1fr;gap:56px}
  .buy{position:static}
  .cat{grid-template-columns:1fr;gap:0}
  .filters{display:none;padding-bottom:12px;position:static}
  .filters.open{display:block}
  .filters-toggle{display:inline-flex}
  .foot-grid{grid-template-columns:1fr 1fr}
  .mega{display:none !important}
  nav.main{display:none}
  .burger{display:inline-flex}
}
@media (max-width:720px){
  .wrap{padding:0 18px}
  .util .ship,.util .hours{display:none}
  .logo-name{letter-spacing:.1em}
  .head-top{grid-template-columns:1fr auto;padding-top:14px}
  .logo{text-align:left;order:-1}
  .logo-name{font-size:24px}
  .head.compact .logo-name{font-size:21px}
  #search{grid-column:1/-1;max-width:none;order:3}
  .suggest{width:100%}
  .icon-btn .lbl{display:none}
  .nav{justify-content:flex-start;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
  .salon{gap:64px 22px}
  .piece.p1{grid-column:1/3;grid-row:auto}
  .piece.p1 .frame{--mat:24px}
  .piece.p1 .lit{width:84%}
  .logo-sub{display:none}
  .piece.p2 .frame,.piece.p3 .frame{--mat:12px}
  .facts{grid-template-columns:1fr}
  .fact+.fact{border-left:0;border-top:1px solid var(--line)}
  .rooms{grid-template-columns:1fr;grid-auto-rows:340px}
  .r1,.r2{grid-column:auto;grid-row:auto}
  .r1{--fw:200px}
  .grid,.grid.g3{grid-template-columns:repeat(2,1fr);gap:32px 14px}
  .card h3{font-size:18px}
  .sec-head{flex-direction:column;align-items:flex-start}
  .pdp-wall{padding:64px 24px 28px}
  .contact{padding:28px 24px}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important;scroll-behavior:auto !important}}

/* ---------- Additional mobile refinements (added for production) ---------- */
@media (max-width:720px){
  /* comfortable tap targets on touch screens */
  .icon-btn{padding:10px 12px}
  .burger{padding:12px}
  .qty button{min-width:40px;min-height:40px}
  .mnav .row>button{padding:18px}
  /* cart drawer takes the full screen on phones instead of a narrow column */
  .drawer{width:100vw}
  .lb{padding:18px}
  /* sticky bottom bar hides the view-switcher on real devices (dev-only control) */
  .switch{display:none}
  /* product gallery thumbs scroll horizontally instead of wrapping awkwardly */
  .pdp-thumbs{display:flex;overflow-x:auto;gap:10px;-webkit-overflow-scrolling:touch}
  /* keep the sticky header from eating too much vertical space on short phones */
  .head.compact .logo-flourish,.head.compact .logo-sub{display:none}
}
@media (max-width:480px){
  .hero h1{font-size:clamp(34px,9vw,46px)}
  .sec{padding-top:64px}
  .grid,.grid.g3{grid-template-columns:1fr 1fr;gap:20px 12px}
}

/* ---------- Seitennummerierung (Kategorie) — es gibt dafür keine Vorlage im Prototyp ---------- */
/* (die Demo hatte nie genug Artikel für Pagination); Optik an .btn-line/.toolbar angelehnt, */
/* statt der blauen WooCommerce-Standardbuttons. */
.woocommerce-pagination{margin-top:56px;display:flex;justify-content:center}
.woocommerce-pagination ul.page-numbers,.woocommerce-pagination ul.page-numbers.page-numbers{list-style:none !important;display:flex !important;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0 !important;padding:0 !important;border:0 !important;overflow:visible !important;font-family:var(--sans);font-size:15px;font-weight:500}
.woocommerce-pagination .page-numbers li{margin:0 !important;padding:0 !important;border:0 !important;list-style:none !important;display:block;float:none !important}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination .page-numbers span{display:flex !important;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 10px;margin:0 !important;color:var(--ink) !important;background:none !important;border:1px solid var(--line) !important;border-radius:0 !important;line-height:1;box-sizing:border-box;text-decoration:none !important;outline:none;letter-spacing:.02em;transition:background .15s,border-color .15s,color .15s}
.woocommerce-pagination .page-numbers a:hover,.woocommerce-pagination .page-numbers a:focus{border-color:var(--gold) !important;background:var(--ivory) !important;color:var(--bordeaux) !important}
.woocommerce-pagination .page-numbers a:visited{color:var(--ink) !important}
.woocommerce-pagination .page-numbers .current{color:var(--ivory) !important;background:var(--bordeaux) !important;border-color:var(--bordeaux) !important}
.woocommerce-pagination .page-numbers .dots{border-color:transparent !important;color:var(--muted) !important}
.woocommerce-pagination .page-numbers .next,.woocommerce-pagination .page-numbers .prev{font-size:0}
.woocommerce-pagination .page-numbers .next::after,.woocommerce-pagination .page-numbers .prev::after{font-size:15px;font-family:var(--sans)}
.woocommerce-pagination .page-numbers .next::after{content:"→"}
.woocommerce-pagination .page-numbers .prev::after{content:"←"}

/* ---------- Fix: Deckenlicht-Glow auch auf hellen Raum-Hintergründen sichtbar ---------- */
/* (w-mush/w-sage), nicht nur im dunklen Hero/Derosa-Kontext. Bewusster Fix */
/* auf konkreten Kundenreport hin (Glow auf Mushroom/Sage unsichtbar) — */
/* SELBE warme, WEISSE Lichtfarbe wie im Original (rgba(255,238,214,…)), */
/* nur kräftiger, damit sie auf hellem Grund auch wirklich zu sehen ist. */
.room.w-mush .lit::before,
.room.w-sage .lit::before {
  background:
    radial-gradient(ellipse 22% 14% at 50% 15%, rgba(255,238,214,.85), transparent 100%),
    radial-gradient(ellipse 50% 56% at 50% 44%, rgba(255,238,214,.45), transparent 76%);
}

/* ---------- WooCommerce-Standardformular (Menge + In den Warenkorb) optisch ---------- */
/* an .qty-row/.qty/.btn.btn-solid angeglichen statt WooCommerce-Lila. */
/* !important gezielt hier: WooCommerce liefert selbst eine Stylesheet-Datei */
/* mit eigener Spezifität für .single_add_to_cart_button/.quantity aus — */
/* ohne !important gewinnt je nach Ladereihenfolge mal die, mal unsere Regel. */
.qty-row{display:flex;gap:12px;align-items:stretch}
/* WooCommerce gibt <form class="cart"> aus — DAS Formular ist das einzige Flex-Kind von .qty-row, */
/* deshalb muss die 30/70-Aufteilung im Formular selbst passieren (Menge ≈30 %, Button ≈70 %). */
.qty-row form.cart{display:flex !important;flex:1 1 100%;gap:12px;align-items:stretch;margin:0 !important;padding:0 !important;width:100%}
.qty-row .quantity{display:flex !important;align-items:stretch;flex:0 0 30%;max-width:30%;border:1px solid var(--mushroom) !important;margin:0 !important;padding:0 !important;background:none !important;box-sizing:border-box;position:relative}
.qty-row .quantity label,.qty-row .quantity .screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.qty-row .quantity .qty-btn{flex:0 0 44px;width:44px;min-width:0;background:none !important;border:0 !important;padding:0 !important;font-size:20px;line-height:1;cursor:pointer;color:var(--ink) !important}
.qty-row .quantity .qty-btn:hover{background:var(--ivory) !important}
.qty-row input.qty{flex:1 1 0 !important;display:block !important;width:auto !important;min-width:28px !important;height:48px !important;border:0 !important;border-radius:0 !important;padding:0 !important;margin:0 !important;text-align:center;font:inherit !important;font-size:16px !important;color:var(--ink) !important;-webkit-text-fill-color:var(--ink);background:none !important;-moz-appearance:textfield;appearance:textfield;box-shadow:none !important;box-sizing:border-box !important}
.qty-row input.qty::-webkit-inner-spin-button,.qty-row input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qty-row a.single_add_to_cart_button,.qty-row button.single_add_to_cart_button{display:inline-flex !important;align-items:center;justify-content:center;gap:10px;min-height:50px !important;height:auto !important;padding:0 28px !important;border:1px solid var(--bordeaux) !important;border-radius:0 !important;background:var(--bordeaux) !important;color:var(--ivory) !important;font-size:15px !important;font-weight:500;letter-spacing:.02em;flex:1 1 70%;cursor:pointer;transition:background .15s,border-color .15s;text-transform:none;box-shadow:none !important;text-decoration:none !important}
.qty-row a.single_add_to_cart_button:hover,.qty-row button.single_add_to_cart_button:hover{background:var(--bordeaux-2) !important;border-color:var(--bordeaux-2) !important;color:var(--ivory) !important}
.qty-row .single_add_to_cart_button.loading{opacity:.6}
/* Kompakte Zeile wie im Prototyp: feste Höhe 50 px, Mengenbox ≈30 % (118–150 px), Button füllt den Rest. */
.qty-row form.cart{height:50px;min-height:50px;align-items:stretch}
.qty-row .quantity{flex:0 0 30%;min-width:118px;max-width:150px;height:50px}
.qty-row .quantity .qty-btn{height:100%;flex:0 0 40px;width:40px;font-size:20px}
.qty-row input.qty{height:100% !important;line-height:1 !important;font-size:16px !important;padding:0 !important}
.qty-row a.single_add_to_cart_button,.qty-row button.single_add_to_cart_button{flex:1 1 0 !important;height:50px !important;min-height:50px !important;max-height:50px;padding:0 20px !important;line-height:1 !important;margin:0 !important}
.card .added_to_cart{display:none !important}
.stock-limit-note{margin:8px 0 0;padding:10px 14px;background:var(--ivory);color:var(--bordeaux);font-size:13.5px;line-height:1.5}
.stock-limit-note[hidden]{display:none}
@media (max-width:480px){
  .qty-row .quantity{flex-basis:40%;max-width:40%}
  .qty-row .quantity .qty-btn{flex-basis:34px;width:34px}
}

/* ---------- Beschreibung/Pflege/Hersteller: eigener, ruhiger Akkordeon-Stil ---------- */
/* statt des Standard-Dreiecks (das je nach Browser/System eingefärbt wird — */
/* daher der gemeldete "rote Text"). Eigenes +/- in Bordeaux, Text in --ink. */
.buy details{border-top:1px solid var(--line)}
.buy details:last-of-type{border-bottom:1px solid var(--line)}
.buy details summary{color:var(--ink) !important;list-style:none;cursor:pointer;font-size:15px;padding:16px 0}
.buy details summary::-webkit-details-marker{display:none}
.buy details summary::marker{content:""}
.buy details summary::after{content:"+";color:var(--bordeaux) !important;font-size:18px;font-weight:400}
.buy details[open] summary::after{content:"−"}
/* Alte Artikelbeschreibungen aus dem alten Shop enthalten teils Inline-Farben
   (<font color="red">, style="color:red" für "!!! Neuware !!!" o. Ä.) —
   die wurden mitmigriert und sind der Grund für den gemeldeten roten Text.
   Wird hier bewusst und vollständig überschrieben, damit alles einheitlich
   in der Website-Typografie erscheint, unabhängig vom Inline-Markup. */
.product-description{color:var(--muted);font-size:18px;line-height:1.7;padding-bottom:18px}
.product-description *{color:inherit !important;background:none !important;font-family:var(--sans) !important}
.product-description p{margin:0 0 18px}
/* Alt-HTML aus der Migration (<p align="center">, <font size=..>): linksbündig und in Textgröße statt zentriert/vergrößert. Nur Darstellung, der Text bleibt unverändert. */
.product-description p{text-align:left !important}
.product-description font,.product-description span,.product-description p,.product-description li,.product-description div{font-size:inherit !important}
.product-description b,.product-description strong{color:var(--ink) !important;font-weight:500}
.product-description h1,.product-description h2,.product-description h3,.product-description h4,.product-description h5,.product-description h6{color:var(--ink) !important;font-weight:600}
/* Inline-Fettdruck aus dem alten Shop (z. B. <span style="font-weight:bold">): auf normales Gewicht, nur Tags strong/b und Ueberschriften bleiben kraeftig. */
.product-description [style*="font-weight"]:not(strong):not(b):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-weight:400 !important}
/* Alt-HTML aus dem alten Shop (inline font-size/line-height): nur im Beschreibungs-Container vereinheitlicht, Text und Daten bleiben unveraendert. */
.product-description [style*="font-size"]{font-size:inherit !important}
.product-description [style*="line-height"]{line-height:1.7 !important}

/* ---------- Foto-Lightbox (Klick zum Vergrößern) ---------- */
.frame{cursor:zoom-in}
.pdp-thumbs .thumb{cursor:pointer}
.pdp-thumbs .thumb.is-active{outline:2px solid var(--bordeaux);outline-offset:-2px}
.lightbox{position:fixed;inset:0;z-index:999;background:rgba(30,22,16,.92);display:none;align-items:center;justify-content:center;padding:40px}
.lightbox.is-open{display:flex}
.lightbox img{max-width:100%;max-height:100%;object-fit:contain;background:var(--ivory)}
.lightbox-close{position:absolute;top:20px;right:24px;width:44px;height:44px;border:1px solid rgba(240,224,208,.55);background:none;color:var(--ivory);font-size:28px;line-height:1;cursor:pointer}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid rgba(240,224,208,.55);background:rgba(30,22,16,.4);color:var(--ivory);font-size:30px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lightbox-nav:hover{background:rgba(240,224,208,.15)}
.lightbox-prev{left:20px}
.lightbox-next{right:20px}
@media (max-width:640px){.lightbox-nav{width:42px;height:42px;font-size:24px}.lightbox-prev{left:8px}.lightbox-next{right:8px}}



/* ---------- Homepage: Motiv-Chips blenden Karten vor Ort ein/aus ---------- */
.card[hidden]{display:none !important}
a.chip{text-decoration:none;cursor:pointer}

/* ---------- Merkzettel-Übersicht (Klick auf "Merkzettel") ---------- */
.wish-panel{position:fixed;top:96px;right:24px;width:min(400px,calc(100vw - 32px));max-height:72vh;overflow:auto;background:var(--paper);border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:0 24px 40px -24px rgba(33,25,19,.45);z-index:70;padding:14px 16px}
.wish-panel[hidden]{display:none}
.wish-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-family:var(--serif);font-size:22px}
.wish-close{background:none;border:0;font-size:26px;line-height:1;color:var(--ink)}
.wish-empty{margin:10px 0;color:var(--muted);font-size:15px}
.wish-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:8px 0}
.wish-item{display:grid;grid-template-columns:52px 1fr;gap:12px;align-items:center;flex:1;min-width:0}
.wish-item .th{width:52px;height:52px;background:var(--ivory);display:flex;align-items:center;justify-content:center;padding:4px}
.wish-item .th img{mix-blend-mode:multiply;max-height:100%;width:auto}
.wish-item .nm{font-family:var(--serif);font-size:17px;line-height:1.2}
.wish-item .mk{display:block;font-family:var(--sans);font-size:13px;color:var(--gold-dp)}
.wish-remove{background:none;border:0;border-bottom:1px solid currentColor;color:var(--bordeaux);font-size:13px;padding:0}

/* ---------- Seiten (Warenkorb / Kasse / Mein Konto) im Alla-Design ---------- */
/* Footer sitzt auch bei kurzem/ladendem Inhalt (z. B. Warenkorb) unter dem Inhalt statt hochzuspringen. */
main{min-height:62vh}
.page-wrap{padding-bottom:96px}
.page-wrap>h1{font-size:clamp(34px,3.6vw,48px);font-weight:400;margin:0 0 28px}
.page-wrap .woocommerce a:not(.button):not(.checkout-button):not(.wc-block-components-button){color:var(--bordeaux)}
.page-wrap .woocommerce a.button,.page-wrap .woocommerce button.button,.page-wrap .woocommerce input.button,.page-wrap .woocommerce a.checkout-button,
.page-wrap .wc-proceed-to-checkout a.checkout-button,.page-wrap .wc-block-cart__submit-button,.page-wrap .wc-block-components-checkout-place-order-button{
  display:inline-flex !important;align-items:center;justify-content:center;min-height:50px;padding:0 28px !important;border:1px solid var(--bordeaux) !important;border-radius:0 !important;
  background:var(--bordeaux) !important;color:var(--ivory) !important;font:500 15px/1 var(--sans) !important;letter-spacing:.02em;text-decoration:none !important;text-transform:none;box-shadow:none !important;cursor:pointer;transition:background .15s,border-color .15s}
.page-wrap .woocommerce a.button:hover,.page-wrap .woocommerce button.button:hover,.page-wrap .woocommerce input.button:hover,.page-wrap .woocommerce a.checkout-button:hover,
.page-wrap .wc-proceed-to-checkout a.checkout-button:hover,.page-wrap .wc-block-cart__submit-button:hover,.page-wrap .wc-block-components-checkout-place-order-button:hover{background:var(--bordeaux-2) !important;border-color:var(--bordeaux-2) !important;color:var(--ivory) !important}
.page-wrap .wc-proceed-to-checkout a.checkout-button,.page-wrap .wc-block-cart__submit-button{width:100%;margin:0}
.page-wrap .woocommerce-message,.page-wrap .woocommerce-info,.page-wrap .woocommerce-error{list-style:none;margin:0 0 24px;padding:14px 18px;background:var(--ivory);color:var(--ink);border:0;border-top:2px solid var(--gold);border-radius:0}
.page-wrap .woocommerce-message::before,.page-wrap .woocommerce-info::before,.page-wrap .woocommerce-error::before{display:none}
.page-wrap table.shop_table{width:100%;border:1px solid var(--line);border-collapse:collapse;border-radius:0;background:none}
.page-wrap table.shop_table th,.page-wrap table.shop_table td{padding:14px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:middle}
.page-wrap table.shop_table th{font-family:var(--serif);font-size:18px;font-weight:500;background:var(--ivory)}
.page-wrap .cart_totals,.page-wrap .woocommerce-checkout-review-order{background:none}
.page-wrap .woocommerce form .form-row input.input-text,.page-wrap .woocommerce form .form-row textarea,.page-wrap .woocommerce form .form-row select,.page-wrap .woocommerce .input-text{
  width:100%;box-sizing:border-box;min-height:46px;padding:10px 14px;border:1px solid var(--mushroom);border-radius:0;background:#fff;color:var(--ink);font:400 16px var(--sans);box-shadow:none}
.page-wrap .woocommerce form .form-row label{display:block;margin:0 0 6px;font-size:14.5px;color:var(--ink)}
.page-wrap .woocommerce form .form-row{margin:0 0 16px;padding:0}
/* Anmelden / Registrieren */
.page-wrap .woocommerce .u-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
.page-wrap .woocommerce .u-columns::before,.page-wrap .woocommerce .u-columns::after{display:none}
.page-wrap .woocommerce .u-columns .u-column1,.page-wrap .woocommerce .u-columns .u-column2{float:none;width:auto}
.page-wrap .woocommerce h2{font-size:30px;font-weight:400;margin:0 0 16px}
.page-wrap .woocommerce form.login,.page-wrap .woocommerce form.register,.page-wrap .woocommerce form.lost_reset_password{margin:0 0 24px;padding:28px;border:1px solid var(--line);border-radius:0;background:none}
.page-wrap .woocommerce-form-login .woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:8px;margin:0 16px 0 0}
.page-wrap .woocommerce-form-login__submit{margin:0 16px 0 0}
/* Mein Konto (eingeloggt) */
.page-wrap .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--line)}
.page-wrap .woocommerce-MyAccount-navigation li{margin:0;border-top:1px solid var(--line)}
.page-wrap .woocommerce-MyAccount-navigation li:first-child{border-top:0}
.page-wrap .woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;color:var(--ink);text-decoration:none}
.page-wrap .woocommerce-MyAccount-navigation li.is-active a,.page-wrap .woocommerce-MyAccount-navigation li a:hover{background:var(--ivory);color:var(--bordeaux)}
@media (max-width:760px){
  .page-wrap .woocommerce .u-columns{grid-template-columns:1fr}
  .page-wrap .woocommerce-MyAccount-navigation,.page-wrap .woocommerce-MyAccount-content{float:none;width:100%}
}

/* ---------- Produktseite: Lagerhinweis ("6 vorrätig") mittig zur Mengen-/Warenkorb-Zeile ---------- */
.qty-row{align-items:center}
.qty-row>.stock{display:flex;align-items:center;gap:8px;flex:0 0 auto;align-self:center;margin:0 !important;white-space:nowrap;font-size:14.5px;line-height:1.2;color:var(--muted)}
.qty-row>form.cart{flex:1 1 0 !important;width:auto !important;min-width:0}
@media (max-width:560px){
  .qty-row{flex-wrap:wrap}
  .qty-row>.stock{flex:1 1 100%;margin:0 0 10px !important}
  .qty-row>form.cart{flex:1 1 100% !important}
}

/* ---------- Suchfeld: Unterstrich und "X" in der Alla-Palette statt Browser-Blau ---------- */
#search input[type="search"]{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:0;box-shadow:none;outline:none;caret-color:var(--bordeaux);accent-color:var(--bordeaux)}
#search input:focus,#search input:focus-visible,#search form:focus-within{outline:none;box-shadow:none}
#search input::-webkit-search-decoration,#search input::-webkit-search-results-button,#search input::-webkit-search-results-decoration{display:none}
#search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-left:8px;cursor:pointer;opacity:.8;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236E6257' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/contain no-repeat}
#search input::-webkit-search-cancel-button:hover{opacity:1}
#search input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px var(--paper) inset;-webkit-text-fill-color:var(--ink)}
#search .search-box{border-bottom:1px solid var(--mushroom) !important}
#search .search-box:focus-within{border-bottom-color:var(--espresso) !important}


/* ==========================================================================
   Verfeinerung: ruhige Micro-Interactions (nur Übergänge — Struktur, Maße und Farben
   bleiben, außer dem Hover-Gold im Mega-Menü). Kein Framework, keine Layout-Animation.
   ========================================================================== */
:root{--gold-antique:#B5A06C;--gold-antique-l:#EADFC4;--gold-antique-d:#5B4720;--ease:cubic-bezier(.22,.61,.36,1)}

/* Suchvorschläge: weich einblenden (Klasse bleibt beim Neuaufbau der Liste gesetzt → kein Flackern) */
@keyframes suggestIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.suggest.open{animation:suggestIn .2s var(--ease) both}
.suggest a,.suggest button{transition:background-color .16s var(--ease)}

/* Mega-Menü: sanftes Ein-/Ausblenden statt display-Sprung. Das Ausblenden ist leicht verzögert
   (Hover-Toleranz): fährt die Maus schräg von der Kategorie in das Untermenü, bleibt es offen.
   Zusätzlich überbrückt ein unsichtbarer Streifen über dem Menü jeden Spalt zur Kategorie. */
.mega{display:block;visibility:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;z-index:1;
  transition:opacity .24s var(--ease) .12s,transform .24s var(--ease) .12s,visibility 0s linear .36s}
.nav>li:hover>.mega,.nav>li:focus-within>.mega{visibility:visible;opacity:1;transform:none;pointer-events:auto;z-index:2;
  transition-delay:0s,0s,0s}
.mega::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}

/* Mega-Menü: Hover in gedecktem Antik-/Champagnergold statt kräftigem Senfgelb */
.nav>li>a::after{background:var(--gold-antique);transition:transform .26s var(--ease)}
.mega .variants a{border-color:rgba(181,160,108,.55);background:rgba(181,160,108,.10);transition:background-color .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease)}
.mega .variants a:hover,.mega .variants a:focus-visible{background:var(--gold-antique-l);border-color:var(--gold-antique);color:var(--gold-antique-d)}
.mega li a{transition:color .2s var(--ease)}

/* Produktkarten: sehr leise Reaktion (nur Geräte mit Maus) */
.card .pic{transition:box-shadow .24s var(--ease)}
.card .pic img{transition:opacity .25s,transform .26s var(--ease)}
@media (hover:hover) and (pointer:fine){
  .card:hover .pic img{transform:scale(1.025)}
  .card:hover .pic{box-shadow:0 16px 30px -22px rgba(33,25,19,.5)}
}

/* Buttons: ruhige Farb-/Schatten-Übergänge, keine Bewegung oder Größenänderung */
.btn,.chip,.add,.filters-toggle,.icon-btn,.wish,.link{transition-property:background-color,color,border-color,box-shadow,opacity;transition-duration:.18s;transition-timing-function:var(--ease)}
.qty-row a.single_add_to_cart_button,.qty-row button.single_add_to_cart_button{transition:background-color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease) !important}
@media (hover:hover) and (pointer:fine){
  .btn-solid:hover,.add:hover{box-shadow:0 8px 18px -12px rgba(78,41,43,.55)}
  .btn-line:hover,.chip:hover{box-shadow:0 6px 14px -12px rgba(33,25,19,.45)}
  .qty-row a.single_add_to_cart_button:hover,.qty-row button.single_add_to_cart_button:hover{box-shadow:0 10px 20px -14px rgba(62,32,34,.6) !important}
}

/* Merkzettel-Herz: sanfter Farbwechsel und kleine Antwort beim Klick */
.wish svg{transition:fill .22s var(--ease),color .22s var(--ease),transform .2s var(--ease)}
.wish:active svg{transform:scale(.92)}
@keyframes wishPulse{0%{transform:scale(1)}45%{transform:scale(1.14)}100%{transform:scale(1)}}
.js-wish.wish-pulse svg{animation:wishPulse .26s var(--ease)}

/* Warenkorb: kurze, ruhige Bestätigung (Karten-Button + Zähler) */
.card .add.loading{opacity:.55}
.card .add.just-added{background:var(--bordeaux);color:var(--ivory)}
@keyframes badgeBump{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
.badge.bump{animation:badgeBump .32s var(--ease)}

/* Seiteninhalt: winziger Einblend-Effekt beim Laden (nur Deckkraft/2px, blockiert nichts) */
@keyframes pageIn{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){
  main{animation:pageIn .26s var(--ease) backwards}
}

/* Reduzierte Bewegung: Übergänge sind oben global abgeschaltet — hier die Animationen */
@media (prefers-reduced-motion:reduce){
  .mega{transform:none}
  .suggest.open,.js-wish.wish-pulse svg,.badge.bump,main{animation:none}
  .card:hover .pic img{transform:none}
}

/* ==========================================================================
   v14: Widerruf, Label, Versand, Sortierung, Kleinigkeiten
   ========================================================================== */
/* Widerruf-Streifen im Footer (auf jeder Seite, kontrastreich, mobil volle Breite) */
.foot-widerruf{background:var(--bordeaux);border-bottom:1px solid rgba(231,206,148,.35)}
.foot-widerruf .wrap{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px}
.foot-widerruf-text{color:var(--ivory);font-size:15.5px}
.btn-widerruf{min-height:48px;font-weight:600}
@media (max-width:560px){.foot-widerruf .wrap{flex-direction:column;gap:12px;text-align:center}.btn-widerruf{width:100%}}

/* Widerruf-Formular */
.ag-widerruf{max-width:640px;margin:0 auto;padding-bottom:64px}
.ag-widerruf h2{font-size:34px;font-weight:400;margin:0 0 14px}
.ag-widerruf .form-row{margin:0 0 16px;display:block}
.ag-widerruf label{display:block;margin:0 0 6px;font-size:14.5px}
.ag-widerruf input[type=text],.ag-widerruf input[type=email],.ag-widerruf input[type=date],.ag-widerruf textarea{width:100%;box-sizing:border-box;min-height:46px;padding:10px 14px;border:1px solid var(--mushroom);border-radius:0;background:#fff;color:var(--ink);font:400 16px var(--sans)}
.ag-widerruf-actions{display:flex;gap:12px;flex-wrap:wrap}
.ag-hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Gewaehrleistungslabel */
.ag-label{margin:0 0 18px}
.ag-label img{display:block;width:100%;max-width:340px;height:auto}
.ag-label--cart,.ag-label--checkout{margin:0 0 18px}
.ag-label--cart img,.ag-label--checkout img{max-width:360px}

/* Produktfoto: Bildunterschrift */
.pdp-caption{font-size:13px;line-height:1.4;color:#4B4038;margin:14px 0 0;text-align:center;max-width:430px}
.pdp-caption[hidden]{display:none}

/* Homepage-Banner: Hinweis "KI-generiert" */
.ag-ai-badge{position:absolute;left:calc(var(--mat,18px) + 10px);bottom:calc(var(--mat,18px) + 10px);z-index:3;background:rgba(33,25,19,.72);color:var(--ivory);font-size:11.5px;letter-spacing:.04em;padding:3px 9px;pointer-events:none}
.ag-ai-badge[hidden]{display:none}

/* Startseite: Fakten-Leiste mit 3 Punkten, wenn PayPal nicht aktiv ist */
@media (min-width:1081px){.facts.facts-3{grid-template-columns:repeat(3,1fr)}}

/* Anmelden: Hinweis fuer fruehere Kunden */
.ag-login-hint{margin:0 0 24px;padding:14px 18px;background:var(--ivory);border-top:2px solid var(--gold);color:var(--ink)}
.ag-login-hint p{margin:0}

/* Mein Konto: Versandinfo */
.ag-versand-info{margin:24px 0}

/* Sortiermodus */
.cat-head .ag-sort-enter{min-height:42px;padding:0 18px;font-size:14px;margin-left:auto}
.ag-sort{padding-top:28px;padding-bottom:80px}
.ag-sort h1{font-size:clamp(34px,3.6vw,48px);font-weight:400;margin:0 0 12px}
.ag-sort-warn{background:var(--ivory);border-top:2px solid var(--gold);padding:10px 14px}
.ag-sort-bar{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}
.ag-sort-msg{margin:0 0 16px;padding:10px 14px;background:var(--ivory);border-top:2px solid var(--sage);color:var(--ink)}
.ag-sort-msg.is-error{border-top-color:var(--bordeaux);color:var(--bordeaux)}
.ag-sort-msg[hidden]{display:none}
.ag-sort-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.ag-sort-item{background:var(--ivory);padding:10px;cursor:grab;display:flex;flex-direction:column;gap:4px;touch-action:none;border:1px solid var(--line)}
.ag-sort-item.ui-sortable-helper{box-shadow:0 12px 24px -12px rgba(33,25,19,.5)}
.ag-sort-thumb{display:block;aspect-ratio:1/1;background:#fff;overflow:hidden}
.ag-sort-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.ag-sort-name{font-size:13.5px;line-height:1.25;font-weight:500}
.ag-sort-sku{font-size:12px;color:var(--muted)}
.ag-sort-top{margin-top:auto;background:none;border:1px solid var(--mushroom);color:var(--bordeaux);font-size:12px;padding:6px 8px;cursor:pointer}
.ag-sort-top:hover{background:#fff}

/* Lieferumfang auf der Produktseite (nur sichtbar, wenn eingetragen) */
.ag-delivery{margin:0 0 22px;padding:14px 18px;background:var(--ivory);border-left:3px solid var(--gold)}
.ag-delivery-title{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dp);margin-bottom:4px;font-weight:500}
.ag-delivery p{margin:0;font-size:17px;line-height:1.5;color:var(--ink)}
.ag-delivery p+p{margin-top:8px}

/* ==========================================================================
   v14.3.1: sichtbare Links (nur rechtliche Seiten, Kasse-Zustimmung, rechtliche Footer-Links)
   ========================================================================== */
/* Rechtliche Seiten und Widerruf: Links im Inhalt in Akzentfarbe, immer unterstrichen (nicht Knoepfe) */
body.ag-legal-page .page-wrap a:not(.btn):not(.button):not(.wp-block-button__link){color:var(--bordeaux);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
body.ag-legal-page .page-wrap a:not(.btn):not(.button):not(.wp-block-button__link):hover,
body.ag-legal-page .page-wrap a:not(.btn):not(.button):not(.wp-block-button__link):focus-visible{color:var(--bordeaux-2);text-decoration-thickness:2px}

/* Kasse: Text der Zustimmung (Block und klassisch) */
.wc-block-checkout__terms a,
.wc-block-components-checkbox__label a,
.woocommerce-terms-and-conditions-wrapper a,
.woocommerce-privacy-policy-text a{color:var(--bordeaux) !important;text-decoration:underline !important;text-decoration-thickness:1px;text-underline-offset:3px}
.wc-block-checkout__terms a:hover,
.woocommerce-terms-and-conditions-wrapper a:hover,
.woocommerce-privacy-policy-text a:hover{color:var(--bordeaux-2) !important}

/* Footer: Links zu den rechtlichen Seiten (heller Akzent auf dunklem Grund, unterstrichen) */
.foot a[href*="/agb/"],.foot a[href*="/datenschutz/"],.foot a[href*="/impressum/"],.foot a[href*="/widerrufsrecht/"]{color:var(--gold-l);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.foot a[href*="/agb/"]:hover,.foot a[href*="/datenschutz/"]:hover,.foot a[href*="/impressum/"]:hover,.foot a[href*="/widerrufsrecht/"]:hover{color:var(--ivory)}

/* Hinweis unter dem Produktfoto (Lieferumfang) */
.pdp-caption+.pdp-scope-note,.pdp-caption[hidden]+.pdp-scope-note{margin-top:8px}
/* v14.4.0 Kontaktformular [ag_kontakt] - Design wie Widerruf-Formular (.ag-widerruf) */
.ag-kontakt .ag-kontakt-consent label{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.5}
.ag-kontakt .ag-kontakt-consent input[type=checkbox]{flex:0 0 auto;width:20px;height:20px;min-height:0;margin:2px 0 0;accent-color:var(--bordeaux)}
.ag-kontakt .ag-kontakt-consent a,.ag-kontakt .ag-kontakt-info a{color:var(--bordeaux);text-decoration:underline;text-underline-offset:2px}
.ag-kontakt .required{color:var(--bordeaux)}
.ag-kontakt-info{margin-top:40px;padding-top:24px;border-top:1px solid var(--mushroom)}
.ag-kontakt-info h3{font-size:24px;font-weight:400;margin:0 0 12px}
.ag-kontakt-info p{margin:0 0 12px}
@media (max-width:560px){.ag-kontakt .btn{width:100%}}
/* v14.6.0 Startseite: Raum-Kacheln auf dem Handy (bis 640px). Das Bild (Rahmen) und die Namenskarte stehen untereinander,
   die Karte liegt nicht mehr ueber dem Rahmen; der Name darf umbrechen. Desktop und breitere Ansichten bleiben unveraendert. */
@media (max-width:640px){
  .rooms{grid-auto-rows:auto}
  .room{flex-direction:column;justify-content:flex-start;align-items:center;padding:52px 20px 20px}
  .room .plaque{position:static;align-self:stretch;margin:34px 0 0;min-width:0;max-width:none;box-sizing:border-box}
  .room .plaque b{overflow-wrap:anywhere;hyphens:auto}
}
/* v14.6.1 Preis: Betrag und Euro-Zeichen bleiben immer in einer Zeile (Karten, Startseite, Suche, Merkzettel, Produktseite).
   Auf den einzelnen Betrag begrenzt, damit bei Angebotspreisen (alt/neu) weiterhin zwischen den Preisen umgebrochen werden darf. */
.price .woocommerce-Price-amount,.price bdi,.price .woocommerce-Price-currencySymbol,
.plaque em .woocommerce-Price-amount,.plaque em bdi,.plaque em .woocommerce-Price-currencySymbol,
.suggest .pr,.wish-item .mk{white-space:nowrap}
/* Ursache auf der Startseite: .plaque span {display:block} traf auch die Preis-Spans (Betrag, Euro-Zeichen) in .plaque em. */
.plaque em span{display:inline;font-size:inherit;color:inherit;margin:0}

/* v14.6.1 Startseite: Galeriewand (3 Bilder) auf dem Handy bis 640px - eine saubere Spalte, alle Rahmen gleich breit und mittig,
   Namenskarte direkt unter dem Rahmen, kein versetztes Raster. Desktop und breitere Ansichten bleiben unveraendert. */
@media (max-width:640px){
  .hero .salon{grid-template-columns:1fr;gap:56px;align-items:start;justify-items:center}
  .hero .salon .piece,.hero .salon .piece.p1{grid-column:1;grid-row:auto;width:min(78%,300px)}
  .hero .salon .piece .lit,.hero .salon .piece.p2 .lit,.hero .salon .piece.p3 .lit,.hero .salon .piece.p1 .lit{width:100%;margin:0 auto}
  .hero .salon .piece .frame,.hero .salon .piece.p1 .frame,.hero .salon .piece.p2 .frame,.hero .salon .piece.p3 .frame{--mat:20px}
  .hero .salon .piece .plaque{display:block;margin:26px 0 0;box-sizing:border-box;width:100%}
}
/* v14.8.0 Produktbeschreibung: EINE Textfarbe fuer alle Elemente (p, li, span, strong, em, a, h2-h4, td, font ...).
   Farbe: --muted (#6E6257, dunkles Braun der Palette; Kontrast 5,3:1 auf --paper, WCAG AA). Das helle Braun --mushroom (#C0B2A1)
   hat nur 1,9:1 und ist fuer Text nicht lesbar. Schriftgewicht darf variieren. Zusaetzlich entfernt inc/product-text.php die Inline-Farben. */
html body .product-description,
html body .product-description *,
html body .woocommerce-product-details__short-description,
html body .woocommerce-product-details__short-description *{color:var(--muted) !important;background:none !important;background-color:transparent !important}
html body .product-description a,
html body .woocommerce-product-details__short-description a{text-decoration:underline;text-underline-offset:2px}