/*
Theme Name: Merfelds Backstube
Theme URI: https://www.merfeldsbackstube.de/
Author: Merfelds Backstube
Description: Schlankes Theme im Corporate Design von Merfelds Backstube. Standorte und Öffnungszeiten werden unter "Standorte" im Dashboard gepflegt. Ohne Page-Builder, ohne externe Dienste.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: merfelds
*/

  :root{
    /* Farben aus dem Corporate-Design-Guide */
    --indiviolett:#412a80;
    --indiviolett-dark:#33215f;
    --aehrenbeige:#c8ad8f;
    --grau:#9b9b9b;
    --paper:#FFFFFF;
    --bg:#FAF9F7;
    --ink:#1c1a22;
    --line: rgba(65,42,128,.14);
    --radius: 2px;

    /* Schriften aus dem Corporate-Design-Guide:
       Qlassik  = Basis für den Logo-Schriftzug (nur Wortmarke, muss als Webfont-Kit selbst gehostet werden)
       Helvetica Neue Bold    = Headlines
       Helvetica Neue Regular = Fließtext
       Hinweis: Helvetica Neue ist kein freier Webfont. Ohne eigene Lizenz/Webfont-Kit
       greift der Browser automatisch auf die Systemschrift zurück (Fallback unten). */
    --font-logo: 'Qlassik', Georgia, serif;
    --font-display: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --font-body: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  }

  @media (prefers-reduced-motion: no-preference){
    .card{ transition: transform .25s ease, box-shadow .25s ease; }
    .stamp{ transition: transform .3s ease; }
  }

  *{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.55;
  }

  a{ color:inherit; }
  a:focus-visible, button:focus-visible{
    outline:3px solid var(--indiviolett-dark);
    outline-offset:3px;
  }

  .skip-link{
    position:absolute; left:-999px; top:auto;
    background:var(--indiviolett); color:var(--bg);
    padding:.8em 1.2em; z-index:100;
  }
  .skip-link:focus{ left:1rem; top:1rem; }

  .wrap{
    max-width:1080px;
    margin:0 auto;
    padding:0 1.5rem;
  }

  /* ---------- Breadcrumb ---------- */
  .breadcrumb{
    font-family:var(--font-display);
    font-size:.78rem;
    letter-spacing:.02em;
    color:var(--grau);
    padding:1.4rem 0 .4rem;
  }
  .breadcrumb a{ text-decoration:underline; text-underline-offset:3px; }
  .breadcrumb span[aria-current]{ color:var(--indiviolett); }

  /* ---------- Hero ---------- */
  .hero{ padding:1.2rem 0 3rem; }
  .hero h1{
    font-family:var(--font-display);
    font-weight:700;
    color:var(--indiviolett);
    font-size:clamp(2.1rem, 5vw, 3.4rem);
    line-height:1.05;
    margin:0 0 .9rem;
    max-width:16ch;
  }
  .hero p{
    max-width:56ch;
    font-size:1.08rem;
    color:#4a4750;
    margin:0;
  }
  .hero .kicker{
    display:inline-block;
    font-family:var(--font-display);
    font-size:.75rem;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--indiviolett-dark);
    margin-bottom:.8rem;
  }

  /* ---------- Card grid ---------- */
  .grid{
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:1.5rem;
    padding-bottom:1rem;
  }
  @media (max-width:720px){
    .grid{ grid-template-columns:1fr; }
  }

  .card{
    position:relative;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:1.9rem 1.7rem 1.6rem;
    box-shadow:0 1px 0 var(--line);
  }
  .card:hover{ transform:translateY(-3px); box-shadow:0 10px 24px rgba(65,42,128,.12); }
  .card:hover .stamp{ transform:rotate(-8deg) scale(1.03); }

  .stamp{
    position:absolute;
    top:-.8rem; right:1.4rem;
    transform:rotate(-6deg);
    border:2px solid var(--indiviolett-dark);
    color:var(--indiviolett-dark);
    border-radius:50%;
    width:88px; height:88px;
    display:flex; align-items:center; justify-content:center;
    text-align:center;
    font-family:var(--font-display);
    font-size:.62rem;
    letter-spacing:.03em;
    line-height:1.15;
    text-transform:uppercase;
    background:var(--paper);
    padding:.4rem;
  }
  .stamp.is-main{ border-color:var(--aehrenbeige); color:#6b5138; background:#fbf7f2; }

  .card h2{
    font-family:var(--font-display);
    font-size:1.5rem;
    font-weight:700;
    color:var(--indiviolett);
    margin:0 0 .2rem;
    padding-right:70px;
  }
  .card .role{
    font-family:var(--font-display);
    font-size:.72rem;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--grau);
    margin:0 0 1rem;
  }

  address{
    font-style:normal;
    font-family:var(--font-body);
    font-size:.92rem;
    color:var(--ink);
    border-left:2px solid var(--aehrenbeige);
    padding-left:.8rem;
    margin:0 0 1rem;
  }

  .tel{
    display:inline-flex; align-items:center; gap:.5rem;
    font-family:var(--font-display);
    font-size:.95rem;
    text-decoration:none;
    border-bottom:1px solid var(--indiviolett);
    padding-bottom:1px;
    margin-bottom:1.1rem;
  }
  .tel:hover{ color:var(--indiviolett-dark); border-color:var(--indiviolett-dark); }

  .hours{
    width:100%;
    border-collapse:collapse;
    font-size:.88rem;
    margin:0 0 1.2rem;
  }
  .hours th{
    text-align:left;
    font-weight:600;
    color:var(--grau);
    width:40%;
    padding:.25rem 0;
    font-family:var(--font-display);
    font-weight:400;
  }
  .hours td{ padding:.25rem 0; }
  .hours .placeholder{
    background:linear-gradient(transparent 60%, rgba(200,173,143,.55) 60%);
    padding:.1rem .2rem;
  }

  .actions{ display:flex; gap:.7rem; flex-wrap:wrap; }
  .btn{
    display:inline-block;
    font-family:var(--font-display);
    font-size:.82rem;
    letter-spacing:.02em;
    text-decoration:none;
    padding:.6rem 1rem;
    border:1px solid var(--indiviolett);
    border-radius:var(--radius);
  }
  .btn:hover{ background:var(--indiviolett); color:var(--bg); }
  .btn.primary{ background:var(--indiviolett); color:var(--bg); }
  .btn.primary:hover{ background:var(--indiviolett-dark); border-color:var(--indiviolett-dark); }

  /* ---------- Note box ---------- */
  .fillnote{
    margin:2rem 0 3rem;
    border:1px dashed var(--indiviolett-dark);
    padding:1rem 1.2rem;
    font-size:.9rem;
    color:var(--ink);
    background:rgba(65,42,128,.05);
  }
  .fillnote strong{ color:var(--indiviolett-dark); }

  /* ---------- FAQ ---------- */
  .faq{ padding:1rem 0 3.5rem; }
  .faq h2{
    font-family:var(--font-display);
    font-weight:700;
    color:var(--indiviolett);
    font-size:1.7rem;
    margin:0 0 1.2rem;
  }
  details{
    border-top:1px solid var(--line);
    padding:1rem 0;
  }
  details:last-of-type{ border-bottom:1px solid var(--line); }
  summary{
    cursor:pointer;
    font-weight:600;
    list-style:none;
    display:flex;
    justify-content:space-between;
    gap:1rem;
  }
  summary::-webkit-details-marker{ display:none; }
  summary::after{
    content:"+";
    font-family:var(--font-display);
    color:var(--indiviolett-dark);
    flex:none;
  }
  details[open] summary::after{ content:"–"; }
  details p{ margin:.8rem 0 0; max-width:60ch; color:#3a2c22; }

  /* ---------- Footer ---------- */
  footer{
    background:var(--indiviolett);
    color:var(--bg);
    padding:2.6rem 0 2rem;
    font-size:.85rem;
  }
  footer .wrap{ display:flex; flex-wrap:wrap; gap:2rem; justify-content:space-between; }
  footer h3{
    font-family:var(--font-display);
    font-size:.72rem;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--aehrenbeige);
    margin:0 0 .8rem;
  }
  footer address{
    border:none; padding:0; margin:0;
    font-family:var(--font-body);
    color:var(--bg);
    opacity:.9;
  }
  footer ul{ list-style:none; margin:0; padding:0; }
  footer li{ margin-bottom:.4rem; }
  footer a{ text-decoration:underline; text-underline-offset:3px; color:var(--bg); }
  footer a:hover{ color:var(--aehrenbeige); }
  .legalbar{
    max-width:1080px; margin:2rem auto 0; padding:1.2rem 1.5rem 0;
    border-top:1px solid rgba(246,239,220,.2);
    display:flex; flex-wrap:wrap; gap:1.2rem;
    font-size:.78rem; opacity:.85;
  }

  /* ---------- Markenkopf ---------- */
  .brandhead{
    background:var(--paper);
    border-bottom:1px solid var(--line);
    padding:1.1rem 0;
  }
  .brandhead .wrap{ display:flex; align-items:center; justify-content:space-between; }
  .wordmark{
    font-family:var(--font-logo);
    font-weight:700;
    font-size:1.5rem;
    color:var(--indiviolett);
    text-decoration:none;
    letter-spacing:.01em;
  }
  .brandnav{ display:flex; gap:1.6rem; font-size:.92rem; }
  .brandnav a{ text-decoration:none; color:var(--ink); }
  .brandnav a:hover{ color:var(--indiviolett); }
  @media (max-width:640px){ .brandnav{ display:none; } }

  /* Dreifarb-Leiste – nimmt die Farbflächen-Darstellung des Design-Guides
     als wiederkehrendes, eigenständiges Erkennungsmerkmal auf. */
  .brandstripe{
    display:flex; height:10px;
  }
  .brandstripe span:nth-child(1){ background:var(--indiviolett); flex:60; }
  .brandstripe span:nth-child(2){ background:var(--aehrenbeige); flex:25; }
  .brandstripe span:nth-child(3){ background:var(--grau); flex:15; }

  .hero{ display:grid; grid-template-columns:1.1fr 1fr; gap:2.5rem; align-items:center; }
  .herophoto{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block; border-bottom:6px solid var(--aehrenbeige); }
  @media (max-width:820px){ .hero{ grid-template-columns:1fr; gap:1.5rem; } }
  .card{ padding:0; overflow:visible; }
  .card .shot{ width:100%; height:190px; object-fit:cover; display:block; }
  .card .cbody{ padding:1.9rem 1.7rem 1.6rem; }
  .stamp{ top:150px; z-index:2; width:96px; height:96px; font-size:.58rem; }
  .stamp.is-main{ font-size:.54rem; }
  .card h2{ margin-top:0; }
  .contact{ padding:1rem 0 3.5rem; }
  .contact h2{ font-family:var(--font-display); font-weight:700; color:var(--indiviolett); font-size:1.7rem; margin:0 0 1.2rem; }
  .contactgrid{ display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; }
  @media (max-width:820px){ .contactgrid{ grid-template-columns:1fr; } }
  .small{ font-size:.8rem; color:var(--grau); }
  .cform{ display:grid; gap:.9rem; }
  .cform label{ display:grid; gap:.3rem; font-size:.85rem; color:#4a4750; }
  .cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform textarea{ font:inherit; padding:.65rem .7rem; border:1px solid var(--grau); border-radius:var(--radius); background:var(--paper); }
  .cform input:focus,.cform textarea:focus{ outline:3px solid var(--indiviolett); outline-offset:1px; }
  .cform .check{ display:flex; gap:.6rem; align-items:flex-start; font-size:.8rem; }
  .cform button{ justify-self:start; font-size:.9rem; cursor:pointer; }
  .hero .kicker, .card .role, footer h3{ text-transform:none; letter-spacing:.02em; }

/* ---------- Schriften ----------
   Lizenzierte Schriften (Qlassik, Helvetica Neue) als woff2 in assets/fonts/ ablegen
   und die Kommentare unten entfernen. Ohne Dateien greift die Systemschrift. */
/*
@font-face{font-family:'Qlassik';src:url('assets/fonts/qlassik-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Helvetica Neue';src:url('assets/fonts/helveticaneue-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Helvetica Neue';src:url('assets/fonts/helveticaneue-bold.woff2') format('woff2');font-weight:700;font-display:swap}
*/

/* ---------- Ergänzungen für WordPress ---------- */
.screen-reader-text{position:absolute;left:-9999px}
.brandnav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem}
.brandnav a[aria-current="page"]{color:var(--indiviolett);border-bottom:2px solid var(--aehrenbeige)}
.navtoggle{display:none}
@media (max-width:640px){
  .navtoggle{display:block;background:none;border:1px solid var(--indiviolett);color:var(--indiviolett);padding:.45rem .8rem;font:inherit;cursor:pointer}
  .brandnav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem 1.5rem}
  .brandnav.open{display:block}
  .brandnav ul{flex-direction:column;gap:.8rem}
  .brandhead{position:relative;z-index:100}
  .brandnav.open{box-shadow:0 12px 24px rgba(0,0,0,.12)}
  .brandnav a{display:block;padding:.35rem 0;font-size:1.05rem}
}
.brandhead{position:relative;z-index:100}
.entry{padding:1.2rem 0 3.5rem;max-width:760px}
.entry h1{font-family:var(--font-display);font-weight:700;color:var(--indiviolett);font-size:clamp(2rem,4.5vw,3rem);line-height:1.1;margin:0 0 1.2rem}
.entry h2{font-family:var(--font-display);color:var(--indiviolett);margin:2rem 0 .6rem}
.entry p,.entry li{max-width:68ch}
.entry a{color:var(--indiviolett)}
.notice{padding:.9rem 1.1rem;margin:0 0 1.5rem;border:1px solid var(--aehrenbeige);background:#fbf7f2}
.notice.err{border-color:#a33;background:#fdf1f1}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.hero .herotxt .btn{margin-top:1.4rem}
.kontakt-h1{font-family:var(--font-display);font-weight:700;color:var(--indiviolett);font-size:clamp(2rem,4.5vw,3rem);margin:0 0 1.2rem}
.screen-reader-text{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hero .kicker,.card .role{font-size:.85rem}

.gallery-intro{max-width:60ch;margin:0 0 1.6rem}
.gal{list-style:none;margin:0 0 3rem;padding:0;columns:3 220px;column-gap:.8rem}
.gal li{break-inside:avoid;margin:0 0 .8rem}
.gal a{display:block;border-bottom:4px solid var(--aehrenbeige)}
.gal img{display:block;width:100%;height:auto}
.gal a:focus-visible{outline:3px solid var(--indiviolett);outline-offset:2px}
#lb{border:0;padding:0;background:transparent;max-width:96vw;max-height:96vh;overflow:visible}
#lb::backdrop{background:rgba(20,12,40,.88)}
#lb img{display:block;max-width:92vw;max-height:88vh;width:auto;height:auto;margin:0 auto}
#lb button{position:fixed;background:#fff;color:var(--indiviolett);border:0;width:2.8rem;height:2.8rem;font-size:1.8rem;line-height:1;cursor:pointer}
#lb .lb-x{top:1rem;right:1rem}#lb .lb-p{left:.6rem;top:50%;transform:translateY(-50%)}#lb .lb-n{right:.6rem;top:50%;transform:translateY(-50%)}

.wordmark{display:block;line-height:0}
.wordmark img{display:block;height:52px;width:auto}
.footlogo{display:block;height:48px;width:auto;margin:0 0 1rem}
@media (max-width:640px){.wordmark img{height:42px}}

/* =====================================================================
   Version 2: großflächige Bilder, Typografie, Karten
   ===================================================================== */
:root{--maxw:1180px;--ease:cubic-bezier(.2,.7,.2,1)}
.wrap{max-width:var(--maxw)}
em{font-style:normal}
.eyebrow{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--indiviolett);font-weight:700;margin:0 0 .6rem}
.eyebrow::before{content:"";display:inline-block;width:2.2rem;height:2px;background:var(--aehrenbeige);vertical-align:middle;margin-right:.7rem}
h2{font-family:var(--font-display);color:var(--indiviolett);font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.06;letter-spacing:-.02em;margin:0 0 1.2rem;font-weight:700}
h2 em,h1 em{color:var(--aehrenbeige)}
.band h2 em,.split h2 em,.gallery h1 em{color:var(--indiviolett);box-shadow:inset 0 -.32em 0 rgba(200,173,143,.55)}

/* Buttons */
.btn.gold{background:var(--aehrenbeige);color:#1c1a22;border:2px solid var(--aehrenbeige);font-weight:700}
.btn.gold:hover{background:#fff;border-color:#fff}
.btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.85)}
.btn.ghost:hover{background:#fff;color:var(--indiviolett)}
.btn.gold,.btn.ghost{display:inline-block;text-decoration:none;padding:.95rem 1.5rem;font-size:1rem}

/* Bilder mit Beschriftung */
.ph{margin:0}
.ph img{display:block;width:100%;height:auto}
.ph figcaption{font-size:.85rem;color:#5b566a;padding:.6rem 0 0;line-height:1.4;border-top:3px solid var(--aehrenbeige);margin-top:-3px;padding-top:.7rem}

/* Hero über die volle Breite */
.hero-full,.pagehero{position:relative;color:#fff;background:var(--indiviolett);overflow:hidden;isolation:isolate}
.hero-full{min-height:min(82vh,780px);display:flex;align-items:flex-end}
.pagehero{min-height:min(60vh,520px);display:flex;align-items:flex-end}
.hero-full .hero-bg,.pagehero .hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:62% 30%}
.hero-full::after,.pagehero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(40,25,85,.93) 0%,rgba(55,35,110,.78) 38%,rgba(65,42,128,.25) 72%,rgba(65,42,128,0) 100%),linear-gradient(0deg,rgba(30,18,65,.6),rgba(30,18,65,0) 45%)}
.hero-in{width:100%;padding-top:5rem;padding-bottom:5.5rem}
.hero-in .kicker{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--aehrenbeige);margin:0 0 1rem}
.hero-in h1{font-family:var(--font-display);font-weight:700;font-size:clamp(2.5rem,7vw,5.6rem);line-height:1;letter-spacing:-.03em;margin:0 0 1.4rem;max-width:14ch;color:#fff;text-wrap:balance}
.pagehero .hero-in h1{font-size:clamp(2.2rem,5.6vw,4.4rem);max-width:18ch}
.hero-in .lead{font-size:clamp(1.05rem,1.6vw,1.3rem);max-width:44ch;margin:0 0 1.8rem;color:rgba(255,255,255,.95)}
.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem}
@media (max-width:700px){
  .hero-full{min-height:88vh}
  .hero-full::after,.pagehero::after{background:linear-gradient(0deg,rgba(40,25,85,.95) 0%,rgba(55,35,110,.8) 45%,rgba(65,42,128,.2) 100%)}
  .hero-in{padding-top:12rem;padding-bottom:4.5rem}
}

/* Heute-geöffnet-Leiste */
.openstrip{margin-top:-3.2rem;position:relative;z-index:2}
.strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;box-shadow:0 18px 40px -18px rgba(40,25,85,.45);border-bottom:5px solid var(--aehrenbeige)}
.strip li{border-right:1px solid var(--line)}
.strip li:last-child{border-right:0}
.strip a{display:grid;grid-template-columns:1fr auto;gap:.15rem .6rem;padding:1.15rem 1.3rem;text-decoration:none;color:var(--ink);height:100%}
.strip a:hover{background:#f6f2fb}
.strip strong{font-size:1.05rem;color:var(--indiviolett)}
.strip .go{grid-row:1/3;grid-column:2;align-self:center;font-size:1.3rem;color:var(--indiviolett)}
.st{font-size:.88rem;color:#5b566a;margin:0}
.st.is-open{color:#1d6b3a;font-weight:700}
.st.is-open::before,.st.is-closed::before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;margin-right:.4rem;background:#9b9b9b}
.st.is-open::before{background:#2e9e57}
.st.is-closed{color:#6b6577}
.strip-note{font-size:.78rem;color:#6b6577;margin:.7rem 0 0}
@media (max-width:900px){.strip{grid-template-columns:1fr 1fr}.strip li:nth-child(2){border-right:0}.strip li{border-bottom:1px solid var(--line)}}
@media (max-width:520px){.strip{grid-template-columns:1fr}.strip li{border-right:0}}

/* Zweispaltig: Text + Bild */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center;padding-top:5.5rem;padding-bottom:5.5rem}
.split-img img{aspect-ratio:4/5;object-fit:cover}
.reasons{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.6rem}
.reasons li{display:grid;grid-template-columns:3.2rem 1fr;gap:1rem}
.reasons span{font-size:1.5rem;font-weight:700;color:var(--aehrenbeige);line-height:1.2}
.reasons h3{font-size:1.15rem;margin:0 0 .25rem;color:var(--ink)}
.reasons p{margin:0;color:#4a4655;max-width:46ch}
@media (max-width:860px){.split{grid-template-columns:1fr;padding-top:3.5rem;padding-bottom:3.5rem}.split-img{order:-1}.split-img img{aspect-ratio:4/3}}

/* Bildband */
.band{background:#f3eee8;padding:5rem 0 4rem}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.5rem}
.trio .a{grid-column:span 2}.trio .d{grid-column:span 2}
.trio .ph img{aspect-ratio:4/3;object-fit:cover}
.trio .a img,.trio .d img{aspect-ratio:16/10}
.more{margin:2rem auto 0;font-weight:700}
.more a{color:var(--indiviolett)}
@media (max-width:760px){.trio{grid-template-columns:1fr}.trio .a,.trio .d{grid-column:auto}}

/* Team */
.team{background:var(--indiviolett);color:#fff;padding:5rem 0}
.team h2{color:#fff}.team h2 em{color:var(--aehrenbeige)}
.team .eyebrow{color:var(--aehrenbeige)}
.team-in{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,6vw,4.5rem);align-items:center}
.team .ph figcaption{color:rgba(255,255,255,.85);border-top-color:var(--aehrenbeige)}
.team-txt p{max-width:42ch;font-size:1.1rem;margin:0 0 1.6rem}
@media (max-width:860px){.team-in{grid-template-columns:1fr}.team{padding:3.5rem 0}}

/* Unterseiten */
.pg-h1{font-family:var(--font-display);font-size:clamp(2.2rem,5.4vw,4.2rem);line-height:1.04;letter-spacing:-.03em;color:var(--indiviolett);margin:0 0 1rem}
.jobs{padding-top:3.5rem}.jobs .entry{max-width:720px}
.jobs-img{padding-top:1rem;padding-bottom:5rem}
.card .shot{aspect-ratio:3/2;object-fit:cover}

/* Galerie */
.gallery{padding-bottom:4rem}
.gallery-intro{max-width:56ch;margin:0 0 2rem;font-size:1.1rem}
.gal{list-style:none;margin:0 0 3rem;padding:0;columns:3 280px;column-gap:1.1rem}
.gal li{break-inside:avoid;margin:0 0 1.4rem}
.gal a{display:block;text-decoration:none;color:var(--ink);border:0}
.gal img{display:block;width:100%;height:auto;transition:transform .5s var(--ease)}
.gal a{overflow:hidden}
.gal a:hover img{transform:scale(1.03)}
.gal .cap{display:block;font-size:.85rem;line-height:1.4;color:#4a4655;padding:.6rem 0 0;border-top:3px solid var(--aehrenbeige);margin-top:.5rem}
#lb figure{margin:0}
#lb figcaption{color:#fff;text-align:center;padding:.8rem 3.5rem 0;font-size:.95rem}
@media (prefers-reduced-motion:reduce){.gal img{transition:none}}

/* Sortiment */
.range-item{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center;padding-top:4.5rem;padding-bottom:4.5rem}
.range-item.flip .range-txt{order:2}
.range-item.flip .range-pair{order:1}
.range-txt p{max-width:46ch;font-size:1.08rem}
.range-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.range-pair .ph img{aspect-ratio:2/3;object-fit:cover}
.range-img img{aspect-ratio:3/2;object-fit:cover}
.quad{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.5rem}
.quad .ph img{aspect-ratio:4/5;object-fit:cover}
.sortteaser{padding-top:4.5rem;padding-bottom:1rem}
.btn.ghost-dark{background:transparent;color:var(--indiviolett);border:2px solid var(--indiviolett);display:inline-block;text-decoration:none;padding:.95rem 1.5rem}
.btn.ghost-dark:hover{background:var(--indiviolett);color:#fff}
@media (max-width:860px){.range-item{grid-template-columns:1fr;padding-top:3rem;padding-bottom:3rem}.range-item.flip .range-txt,.range-item.flip .range-pair{order:0}.quad{grid-template-columns:1fr 1fr}}

/* Genießerkarte */
.perks{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.6rem}
.perks li{padding:.7rem 1rem;border-left:4px solid #c8ad8f;background:#f6f1ea}
.perks strong{color:#412a80}
.perk-offer{font-weight:700;color:#412a80}

/* Kontrast: Akzent in Überschriften auf hellem Grund (WCAG), auf Violett bleibt Beige */
h2 em{color:var(--indiviolett);box-shadow:inset 0 -.32em 0 rgba(200,173,143,.55)}
.team h2 em{color:var(--aehrenbeige);box-shadow:none}

/* Über uns */
.about-head{padding-top:1.5rem}
.lead-dark{max-width:62ch;font-size:1.15rem;color:#333}
.pg-h2{font-family:var(--font-display);color:var(--indiviolett);font-size:clamp(1.6rem,3.5vw,2.3rem);line-height:1.15;margin:0 0 1rem}
.pg-h2 em{color:var(--indiviolett);font-style:italic;box-shadow:inset 0 -.32em 0 rgba(200,173,143,.55)}
.about-hist,.about-team{padding-top:3rem;padding-bottom:3rem}
.hist-txt{max-width:62ch}
.hist-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.5rem;align-items:start}
.hist-grid figure,.team-img{margin:0}
.hist-grid img,.team-img img{width:100%;height:auto;display:block;border-radius:4px}
.hist-grid figcaption,.team-img figcaption{font-size:.9rem;color:#555;margin-top:.5rem}
.team-img{max-width:900px;margin:1.2rem 0}
@media (max-width:760px){.hist-grid{grid-template-columns:1fr}}
.timeline{list-style:none;margin:1.2rem 0 0;padding:0 0 0 1.2rem;border-left:3px solid var(--aehrenbeige);max-width:62ch}
.timeline li{margin:0 0 .8rem;padding-left:.4rem}
.timeline strong{color:var(--indiviolett);display:inline-block;min-width:4.2rem}
.src{font-size:.85rem;color:#555;margin-top:1rem}
.pg-h3{font-family:var(--font-display);color:var(--indiviolett);font-size:1.25rem;margin:1.2rem 0 .5rem}
