/* AFYTOS — gemeinsames Stylesheet (Stand 2026-08-28) */

  :root{
    --paper:#FBF4E9; --green:#1C4220; --orange:#E95E0F; --orange-dark:#C44E0B; --olive:#4C5737;
    --ink:#2C2820; --dim:#6B5F4D; --line:rgba(28,66,32,.16);
    --serif:'Fraunces',Georgia,'Times New Roman',serif;
    --sans:'Poppins',system-ui,-apple-system,sans-serif;
    --bar:64px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;padding-bottom:var(--bar)}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  .wrap{width:90%;max-width:1140px;margin:0 auto}
  section[id]{scroll-margin-top:88px}
  .eyebrow{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--olive)}
  .dot{display:inline-block;width:.4em;height:.4em;border-radius:50%;background:var(--orange);margin-left:.55em;vertical-align:.06em}
  .btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:600;font-size:.9rem;padding:12px 24px;border-radius:999px;background:var(--orange);color:#fff;border:1.5px solid var(--orange);transition:background .2s,transform .15s,color .2s,border-color .2s;cursor:pointer}
  .btn:hover{background:var(--orange-dark);border-color:var(--orange-dark);transform:translateY(-1px)}
  .btn.ghost{background:transparent;color:var(--green);border-color:var(--line)}
  .btn.ghost:hover{background:var(--green);color:var(--paper);border-color:var(--green);transform:none}

  /* HEADER (transparent über dem Bild) */
  header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .3s,box-shadow .3s}
  header::before{content:'';position:absolute;inset:0;background:none;transition:opacity .3s;pointer-events:none}
  header.scrolled{background:rgba(251,244,233,.93);backdrop-filter:blur(10px);box-shadow:0 6px 24px rgba(28,66,32,.07)}
  header.scrolled::before{opacity:0}
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:18px}
  .brand img{height:34px;width:auto;transition:opacity .3s}
  header:not(.scrolled) .brand{opacity:0;visibility:hidden}
  .menu{display:flex;align-items:center;gap:28px}
  .menu nav{display:flex;gap:18px}
  .menu nav a{font-size:.92rem;color:var(--green);position:relative;padding:2px 0;transition:color .3s;white-space:nowrap}
  header.scrolled .menu nav a{color:var(--green)}
  .menu nav a::after{content:'';position:absolute;left:0;bottom:-3px;width:0;height:1.5px;background:var(--orange);transition:width .25s}
  .menu nav a:hover::after{width:100%}
  .socials{display:inline-flex;align-items:center;gap:15px}
  .socials a{display:inline-flex;color:var(--green);transition:color .25s;padding:4px;border-radius:8px}
  header.scrolled .socials a{color:var(--green)}
  .socials a:hover{color:var(--orange)!important}
  .socials svg{width:27px;height:27px;pointer-events:none}
  .burger{display:none;background:none;border:0;cursor:pointer;padding:8px}
  .burger span{display:block;width:26px;height:2px;background:var(--green);margin:5px 0;border-radius:2px;transition:.3s}
  header.scrolled .burger span{background:var(--green)}

  /* HERO Vollbild */
  .hero{height:100svh;min-height:560px;position:relative;overflow:hidden;background:var(--paper);padding:0}
  .hero-grid{height:100%}
  .hero-copy{display:none}
  .hero .bg{position:absolute;top:74px;left:0;right:0;bottom:0;width:100%;height:calc(100% - 74px);object-fit:cover;object-position:center}
  .scrolldown{position:absolute;left:50%;bottom:calc(var(--bar) + 26px);transform:translateX(-50%);z-index:3;color:#fff;opacity:.9;animation:bob 1.8s ease-in-out infinite;cursor:pointer}
  .scrolldown svg{width:30px;height:30px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
  @keyframes bob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

  /* FIXE AKTIONSLEISTE unten */
  .actionbar{position:fixed;left:0;right:0;bottom:0;z-index:56;background:rgba(251,244,233,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:11px 0}
  .actionbar .wrap{display:flex;gap:12px;justify-content:center;align-items:center}
  .actionbar .btn{padding:11px 26px}

  /* SECTION base */
  section{padding:clamp(60px,10vh,120px) 0}
  .rule{height:1px;background:var(--line);width:100%;max-width:1140px;margin:0 auto}
  .sec-head{max-width:54ch}
  .sec-head h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.15;color:var(--green);margin:14px 0 0}

  /* INTRO / Statement */
  .intro h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.6vw,3.6rem);line-height:1.12;letter-spacing:-.01em;color:var(--green);margin:18px 0 0;max-width:20ch}
  .intro h1 em{font-style:italic;color:var(--orange)}
  .intro .lede{margin-top:22px;color:var(--dim);font-size:1.08rem;max-width:48ch}

  /* KÜCHE */
  .menu-list{margin-top:clamp(34px,5vw,56px);display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(40px,6vw,90px)}
  .dish{padding:26px 0;border-top:1px solid var(--line);display:flex;gap:18px;align-items:baseline}
  .dish .num{font-family:var(--serif);font-size:.95rem;color:var(--orange);min-width:1.6em}
  .dish h3{font-family:var(--serif);font-weight:500;font-size:1.5rem;color:var(--green);line-height:1.2}
  .dish p{margin-top:7px;color:var(--dim);font-size:.98rem}

  /* FEIERN */
  .feiern{background:var(--green);color:var(--paper)}
  .feiern .eyebrow{color:#cdbfa3}
  .feiern h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.9rem,4vw,3rem);line-height:1.18;margin:14px 0 0;max-width:18ch}
  .feiern p{margin-top:20px;color:#e7ddca;max-width:46ch;font-size:1.06rem}
  .feiern .cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px}
  .feiern .btn.ghost{color:var(--paper);border-color:rgba(251,244,233,.4)}
  .feiern .btn.ghost:hover{background:var(--paper);color:var(--green);border-color:var(--paper)}

  /* BESUCH */
  .visit .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start;margin-top:clamp(30px,4vw,50px)}
  .info-block{margin-bottom:30px}
  .info-block strong{display:block;font-family:var(--sans);font-weight:600;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);margin-bottom:8px}
  .info-block p,.info-block a{font-family:var(--serif);font-size:1.32rem;color:var(--green);line-height:1.35}
  .info-block a.link{font-size:1rem;font-family:var(--sans);color:var(--orange);border-bottom:1px solid transparent;transition:border-color .2s}
  .info-block a.link:hover{border-bottom-color:var(--orange)}
  .map{border-radius:14px;overflow:hidden;border:1px solid var(--line)}
  .map iframe{width:100%;height:100%;min-height:340px;border:0;display:block;filter:saturate(.9)}

  /* FOOTER */
  footer{background:var(--paper);border-top:1px solid var(--line);padding:60px 0 36px}
  .foot{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
  .foot img{height:30px;width:auto;margin-bottom:14px}
  .foot p.small{color:var(--dim);font-size:.92rem;max-width:30ch}
  .foot h4{font-family:var(--sans);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);margin-bottom:14px}
  .foot ul{list-style:none}.foot ul li{margin-bottom:9px}
  .foot ul a{color:var(--green);font-size:.95rem}.foot ul a:hover{color:var(--orange)}
  .foot .fsoc{display:flex;gap:12px;margin-top:6px}
  .foot .fsoc a{color:var(--green)}.foot .fsoc a:hover{color:var(--orange)}
  .foot .fsoc svg{width:20px;height:20px}
  .copy{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:var(--dim);font-size:.85rem}

  .reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
  .reveal.in{opacity:1;transform:none}

  @media(max-width:1180px){.menu nav{gap:13px}.menu nav a{font-size:.84rem}.menu{gap:18px}}
  @media(max-width:860px){
    .menu nav{display:none}.burger{display:block}
    .menu-list{grid-template-columns:1fr}
    .visit .grid{grid-template-columns:1fr}
    .foot{grid-template-columns:1fr 1fr}.foot .brandcol{grid-column:1/-1}
  }
  @media(max-width:520px){ .foot{grid-template-columns:1fr} .actionbar .btn{flex:1} }
  @media(prefers-reduced-motion:reduce){ .reveal{opacity:1;transform:none;transition:none} .scrolldown{animation:none} html{scroll-behavior:auto} }

  .mobnav{position:fixed;inset:0;z-index:60;background:var(--green);color:var(--paper);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;transform:translateY(-100%);transition:transform .4s;opacity:0}
  .mobnav.open{transform:translateY(0);opacity:1}
  .mobnav a{font-family:var(--serif);font-size:1.8rem}
  .mobnav .close{position:absolute;top:22px;right:24px;font-size:2rem;background:none;border:0;color:var(--paper);cursor:pointer}
  .lang{display:inline-flex;align-items:center;gap:4px;font-size:.85rem;font-weight:600;margin-right:2px}
  .lang a{color:var(--dim);transition:color .2s}
  .lang a.active{color:var(--green)}
  .lang a:hover{color:var(--orange)}

  .menu nav a:hover::after,.menu nav a.active::after{width:100%}
  .toc{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
  .toc a{font-family:var(--sans);font-size:.82rem;font-weight:500;color:var(--green);border:1px solid var(--line);border-radius:999px;padding:7px 16px;transition:background .2s,color .2s,border-color .2s}
  .toc a:hover{background:var(--green);color:var(--paper);border-color:var(--green)}
  .sec-note{margin-top:14px;color:var(--dim);font-size:.98rem;max-width:60ch}
  .mi-grid{margin-top:clamp(26px,4vw,42px);display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(40px,6vw,90px)}
  .mi{padding:20px 0;border-top:1px solid var(--line)}
  .mi .row{display:flex;align-items:baseline;gap:12px}
  .mi h3{font-family:var(--serif);font-weight:500;font-size:1.28rem;color:var(--green);line-height:1.25}
  .mi .fill{flex:1;border-bottom:1px dotted var(--line);transform:translateY(-5px);min-width:16px}
  .mi .price{font-family:var(--sans);font-weight:600;font-size:.98rem;color:var(--green);white-space:nowrap}
  .mi p{margin-top:6px;color:var(--dim);font-size:.95rem;max-width:46ch}
  .mi .origin{margin-top:4px;font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--olive)}
  .mi .size{font-family:var(--sans);font-size:.85rem;color:var(--dim);font-weight:400}
  .grp-grid{margin-top:clamp(26px,4vw,42px);display:grid;grid-template-columns:repeat(3,1fr);gap:36px clamp(32px,4vw,64px)}
  .grp h4{font-family:var(--sans);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--olive);margin-bottom:6px;padding-bottom:10px;border-bottom:1px solid var(--line)}
  .grp .mi{padding:14px 0;border-top:0;border-bottom:1px dotted var(--line)}
  .grp .mi:last-child{border-bottom:0}
  .grp .mi h3{font-size:1.08rem}
  .cta-band{background:var(--green);color:var(--paper);text-align:center}
  .cta-band h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.2}
  .cta-band p{margin-top:14px;color:#e7ddca;font-size:1.02rem}
  .cta-band .cta{margin-top:26px;display:flex;justify-content:center;flex-wrap:wrap;gap:14px}
  .cta-band .btn.ghost{color:var(--paper);border-color:rgba(251,244,233,.4)}
  .cta-band .btn.ghost:hover{background:var(--paper);color:var(--green);border-color:var(--paper)}
  .legal{padding:34px 0 10px;color:var(--dim);font-size:.88rem;text-align:center}
  .legal p{max-width:78ch;margin:0 auto 6px}
  @media(max-width:1000px){.grp-grid{grid-template-columns:1fr 1fr}}
  @media(max-width:600px){.grp-grid{grid-template-columns:1fr}}

  /* ===== Unterseiten / Ergänzungen (2026-08) ===== */
  body.sub{padding-top:74px}
  body.sub header{background:rgba(251,244,233,.93);backdrop-filter:blur(10px);box-shadow:0 6px 24px rgba(28,66,32,.07)}
  body.sub header .brand{opacity:1!important;visibility:visible!important}
  .menu nav a.active::after{width:100%}
  .page-hero{padding:clamp(44px,8vh,90px) 0 clamp(24px,4vh,40px)}
  .page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.6vw,3.4rem);line-height:1.12;letter-spacing:-.01em;color:var(--green);margin:18px 0 0;max-width:22ch}
  .page-hero h1 em{font-style:italic;color:var(--orange)}
  .page-hero .lede{margin-top:20px;color:var(--dim);font-size:1.08rem;max-width:56ch}
  .page-hero .cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:14px}
  .prose{max-width:66ch}
  .prose p{margin-top:16px;color:var(--ink)}
  .prose p:first-child{margin-top:0}
  .prose h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.18;color:var(--green);margin:44px 0 10px}
  .prose h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;color:var(--green);margin:28px 0 6px}
  .prose ul{margin:14px 0 0 1.2em;color:var(--ink)}
  .prose li{margin-bottom:6px}
  .prose a{color:var(--orange);border-bottom:1px solid transparent}
  .prose a:hover{border-bottom-color:var(--orange)}
  .cards{margin-top:clamp(26px,4vw,42px);display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .card{border:1px solid var(--line);border-radius:16px;padding:26px 24px;background:rgba(255,255,255,.35)}
  .card .num{font-family:var(--serif);color:var(--orange);font-size:1.1rem}
  .card h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;color:var(--green);margin-top:8px;line-height:1.25}
  .card p{margin-top:10px;color:var(--dim);font-size:.96rem}
  .card a.link{display:inline-block;margin-top:14px;color:var(--orange);font-weight:500;font-size:.92rem}
  .facts{margin-top:clamp(26px,4vw,42px);display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .fact strong{display:block;font-family:var(--serif);font-weight:400;font-size:2.2rem;color:var(--green);line-height:1}
  .fact span{display:block;margin-top:8px;font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--olive)}
  .faq{margin-top:clamp(22px,3vw,36px);max-width:76ch}
  .faq details{border-top:1px solid var(--line);padding:16px 0}
  .faq details:last-child{border-bottom:1px solid var(--line)}
  .faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-family:var(--serif);font-size:1.18rem;color:var(--green)}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:'+';color:var(--orange);font-size:1.4rem;line-height:1}
  .faq details[open] summary::after{content:'–'}
  .faq details p{margin-top:10px;color:var(--dim);max-width:66ch}
  .split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:start;margin-top:clamp(30px,4vw,50px)}
  /* Formular */
  .form{border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,34px);background:rgba(255,255,255,.4)}
  .form h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;color:var(--green)}
  .form p.hint{color:var(--dim);font-size:.92rem;margin-top:6px}
  .form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .form label{display:block;margin-top:14px;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--olive)}
  .form input,.form select,.form textarea{width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:var(--sans);font-size:1rem;color:var(--ink)}
  .form input:focus,.form select:focus,.form textarea:focus{outline:2px solid var(--orange);outline-offset:1px;border-color:var(--orange)}
  .form textarea{min-height:120px;resize:vertical}
  .form .consent{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.88rem;color:var(--dim)}
  .form .consent input{width:auto;margin:5px 0 0}
  .form .btn{margin-top:20px;width:100%}
  .form .ok{display:none;margin-top:16px;padding:14px;border-radius:10px;background:#e6f0e6;color:var(--green);font-weight:500}
  .hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
  /* Karte mit Consent */
  .map{position:relative;background:#eee8dc;min-height:340px}
  .map .placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px}
  .map .placeholder p{color:var(--dim);font-size:.9rem;max-width:36ch}
  /* Cookie-Banner */
  .cc{position:fixed;left:16px;right:16px;bottom:calc(var(--bar) + 12px);z-index:90;max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(28,66,32,.18);padding:22px 22px 18px;display:none}
  .cc.show{display:block}
  .cc h3{font-family:var(--serif);font-weight:500;font-size:1.2rem;color:var(--green)}
  .cc p{margin-top:8px;font-size:.9rem;color:var(--dim)}
  .cc p a{color:var(--orange)}
  .cc .opts{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:.88rem}
  .cc .opts label{display:flex;gap:6px;align-items:center}
  .cc .acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
  .cc .acts .btn{padding:10px 18px;font-size:.85rem;flex:1}
  .cc-open{background:none;border:0;color:var(--dim);font-size:.85rem;cursor:pointer;text-decoration:underline;font-family:inherit}
  .pill{display:inline-block;background:var(--orange);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
  .steps{margin-top:clamp(26px,4vw,42px);display:grid;grid-template-columns:repeat(3,1fr);gap:22px;counter-reset:s}
  .step{position:relative;padding:0 0 0 56px}
  .step::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:40px;height:40px;border-radius:50%;background:var(--green);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.2rem}
  .step h3{font-family:var(--serif);font-weight:500;font-size:1.25rem;color:var(--green)}
  .step p{margin-top:6px;color:var(--dim);font-size:.95rem}
  .breadcrumb{font-size:.82rem;color:var(--dim);margin-bottom:6px}
  .breadcrumb a{color:var(--olive)}
  .breadcrumb span{margin:0 6px}
  .cards.two,.facts.two{grid-template-columns:1fr 1fr;margin-top:0}
  @media(max-width:900px){.cards,.steps{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr 1fr}.split{grid-template-columns:1fr}}
  @media(max-width:600px){.cards,.steps,.cards.two{grid-template-columns:1fr}.form .row2{grid-template-columns:1fr}.cc{left:8px;right:8px}}

  /* Mobile-Feinschliff */
  .mobnav .lang{margin-top:10px;font-size:1rem}
  .mobnav .lang a{color:rgba(251,244,233,.6)}
  .mobnav .lang a.active{color:var(--paper);text-decoration:underline}
  @media(max-width:860px){ .hero .bg{object-position:72% top} }
  @media(max-width:520px){
    .actionbar .btn{padding:11px 12px;font-size:.84rem;white-space:nowrap}
    .cc{padding:16px 16px 14px;border-radius:14px}
    .cc h3{font-size:1.05rem}
    .cc p{font-size:.8rem;margin-top:6px;line-height:1.5}
    .cc .opts{gap:10px;margin-top:8px;font-size:.8rem}
    .cc .acts{margin-top:10px;gap:8px}
    .cc .acts .btn{padding:9px 10px;font-size:.8rem}
  }

  /* Hero Desktop: Text links, Bild rechts */
  @media(min-width:861px){
    .hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:1fr;gap:clamp(24px,4vw,64px);align-items:center;height:100%;padding:82px 0 calc(var(--bar) + 8px)}
    .hero-copy{display:block;align-self:center}
    .hero-logo{height:auto;width:min(300px,70%);margin-bottom:22px}
    .hero-line{margin-top:12px;font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.9rem);line-height:1.25;color:var(--green);max-width:22ch}
    .hero-copy .cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:14px}
    .hero-pic{display:block;height:100%;min-height:0;align-self:stretch}
    .hero .bg{position:static;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:16px}
    .hero .scrolldown{display:none}
    header:not(.scrolled) .brand{opacity:0;visibility:hidden}
  }
