/*
Theme Name: Rebe Genusswelt
Author: Rebe Genusswelt
Description: Modernes, warmes WordPress-Theme für Event-Catering, Feiern und Genuss in der Steiermark.
Version: 1.0.4
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: rebe-genusswelt
*/
:root{--ink:#17382f;--ink-2:#254b40;--wine:#7f2d38;--cream:#f7f2e9;--paper:#fffdf8;--sand:#dfcdb5;--gold:#c49a5a;--muted:#665f55;--line:rgba(23,56,47,.16);--serif:'Playfair Display',Georgia,serif;--sans:'Inter',Arial,sans-serif;--shell:min(1180px,calc(100vw - 48px));--radius:3px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}body.menu-open{overflow:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.shell{width:var(--shell);margin-inline:auto}.skip-link{position:fixed;left:16px;top:-100px;z-index:999;background:#fff;padding:12px}.skip-link:focus{top:16px}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,248,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.header-inner{min-height:88px;display:flex;align-items:center;gap:36px}.brand{width:152px;display:grid;grid-template-columns:auto 1fr;align-items:end;line-height:1}.brand-script{grid-row:1/3;font:italic 42px/.8 var(--serif);color:var(--wine);margin-right:7px}.brand-main{text-transform:uppercase;font-weight:600;letter-spacing:.11em;font-size:14px}.brand-sub{text-transform:uppercase;font-size:8px;letter-spacing:.23em;margin-top:4px}.site-nav{margin-left:auto}.menu{display:flex;align-items:center;gap:27px;list-style:none;margin:0;padding:0}.menu a{font-size:13px;font-weight:600;letter-spacing:.04em}.menu a:hover,.menu .current-menu-item>a{color:var(--wine)}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;border:0;background:var(--wine);color:#fff;padding:16px 22px;font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:.25s}.button:hover{background:var(--ink);transform:translateY(-2px)}.button-small{padding:12px 16px}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span:not(.screen-reader-text){display:block;width:25px;height:2px;background:var(--ink);margin:5px}
.hero{overflow:hidden;background:linear-gradient(110deg,var(--cream) 0 64%,#e6d6c1 64%)}.hero-grid{min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:76px;padding-block:72px}.eyebrow{text-transform:uppercase;color:var(--wine);letter-spacing:.22em;font-weight:700;font-size:12px;margin:0 0 20px}.eyebrow.light{color:#e7c99f}.hero h1,.page-hero h1,.cta h2{font:600 clamp(54px,7vw,92px)/.98 var(--serif);letter-spacing:-.04em;margin:0}.hero h1 em,.cta h2 em,.story h2 em{font-weight:400;color:var(--wine)}.intro{max-width:620px;font-size:19px;color:var(--muted);margin:28px 0 34px}.actions{display:flex;align-items:center;gap:28px}.text-link{font-weight:700;font-size:14px;border-bottom:1px solid;padding-bottom:3px}.hero-facts{list-style:none;padding:34px 0 0;margin:45px 0 0;border-top:1px solid var(--line);display:flex;gap:36px}.hero-facts li{display:grid}.hero-facts strong{font-family:var(--serif);font-size:20px}.hero-facts span{font-size:11px;color:var(--muted)}.hero-visual{position:relative}.hero-visual:before{content:'';position:absolute;inset:-20px 25px 35px -20px;border:1px solid rgba(127,45,56,.35)}.hero-visual img{position:relative;width:100%;height:570px;object-fit:cover}.floating-note{position:absolute;right:-34px;bottom:35px;background:var(--ink);color:#fff;padding:20px 26px;display:grid}.floating-note span{font:italic 17px var(--serif);color:#e7c99f}.floating-note strong{text-transform:uppercase;font-size:11px;letter-spacing:.15em}.marquee{overflow:hidden;background:var(--ink);color:#f5eadb;padding:16px 0;white-space:nowrap;text-transform:uppercase;letter-spacing:.16em;font-size:12px}.marquee div{width:max-content;animation:drift 24s linear infinite}.marquee i{color:var(--gold);padding:0 40px}@keyframes drift{to{transform:translateX(-25%)}}
.section{padding:120px 0}.section-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end;margin-bottom:55px}.section-heading h2,.story h2,.location h2,.contact-aside h2{font:600 clamp(42px,5vw,68px)/1.05 var(--serif);letter-spacing:-.03em;margin:0}.section-heading>p{color:var(--muted);font-size:18px;max-width:470px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.service-card{position:relative;background:var(--cream);padding:16px 16px 28px;transition:.3s}.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(23,56,47,.12)}.service-card.featured{margin-top:-22px;background:var(--ink);color:#fff}.service-card>span{position:absolute;z-index:2;right:27px;top:28px;background:rgba(255,253,248,.92);color:var(--wine);width:36px;height:36px;display:grid;place-items:center;font:600 14px var(--serif)}.service-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-card h3{font:600 29px/1.1 var(--serif);margin:25px 8px 10px}.service-card p{margin:0 8px 18px;color:var(--muted)}.service-card.featured p{color:#d9d4c9}.service-card b{margin:0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--wine)}.featured b{color:#e7c99f}
.story{background:var(--ink);color:#fff}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:center}.story-image{position:relative}.story-image img{width:100%;height:620px;object-fit:cover;filter:saturate(.8)}.story-image span{position:absolute;left:-35px;bottom:35px;background:var(--wine);padding:19px 24px;font:italic 21px/1.2 var(--serif)}.story-copy p{color:#d6d5ce;font-size:18px}.story-copy blockquote{margin:36px 0;padding:24px 0;border-block:1px solid rgba(255,255,255,.2);font:italic 22px/1.5 var(--serif);color:#fff}.button-light{background:#f4e8d8;color:var(--ink)}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:center}.location-grid>div>p:not(.eyebrow){font-size:18px;color:var(--muted);margin:25px 0}.location-grid img{width:100%;height:510px;object-fit:cover}.cta{background:var(--wine);color:#fff;text-align:center;padding:110px 0}.cta .eyebrow{color:#f0d7b5}.cta .button{margin-top:40px}.cta h2 em{color:#f0d7b5}
.page-hero{background:var(--cream);padding:110px 0 80px}.page-hero h1{max-width:900px}.page-content{padding-block:85px 120px}.prose{max-width:900px}.prose h2{font:600 40px/1.2 var(--serif);margin:60px 0 16px}.prose h2:first-child{margin-top:0}.prose h3{font:600 25px var(--serif)}.prose p{color:var(--muted);font-size:18px}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.editor-grid>div{background:var(--cream);padding:26px}.notice{background:#fff1ca;border-left:4px solid #b46f12;padding:18px 20px;margin-bottom:40px;color:#5a3a0b}.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:80px}.contact-form{display:grid;gap:22px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:grid;gap:8px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:var(--cream);padding:15px;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(127,45,56,.1)}.contact-form .button{justify-self:start}.form-note{font-size:12px;color:var(--muted)}.form-message{padding:15px;background:#fde3df;color:#681d1d}.form-message.success{background:#e0efe4;color:#174c2a}.honeypot{position:absolute;left:-10000px}.contact-aside{background:var(--ink);color:#fff;padding:40px;align-self:start}.contact-aside h2{font-size:40px}.contact-aside>a{display:block;color:#e7c99f;margin-top:12px}.contact-aside hr{border:0;border-top:1px solid rgba(255,255,255,.18);margin:34px 0}.not-found{padding:130px 0;min-height:65vh}.not-found h1{font:600 clamp(50px,8vw,96px)/1 var(--serif)}.not-found p{font-size:18px;color:var(--muted);margin-bottom:32px}
.site-footer{background:#112b24;color:#f5eadb;padding:75px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:55px}.brand-footer{margin-bottom:25px;color:#fff}.footer-grid p{color:#c5c4bb;max-width:320px}.footer-grid h2{font:600 17px var(--serif);color:#e7c99f}.footer-grid>div>a:not(.brand){display:block;margin:8px 0;color:#d8d7cf;font-size:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:55px;padding-top:18px;display:flex;justify-content:space-between;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#aaa}.reveal{opacity:0;transform:translateY(24px);transition:.8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){:root{--shell:min(100% - 32px,760px)}.header-cta{display:none}.nav-toggle{display:block;margin-left:auto}.site-nav{display:none;position:fixed;inset:88px 0 0;background:var(--paper);padding:40px}.site-nav.is-open{display:block}.menu{display:grid;gap:0}.menu a{display:block;padding:17px 0;border-bottom:1px solid var(--line);font:600 25px var(--serif)}.hero{background:var(--cream)}.hero-grid,.story-grid,.location-grid,.contact-grid{grid-template-columns:1fr}.hero-grid{padding-top:55px}.hero-visual img{height:520px}.cards{grid-template-columns:1fr}.service-card.featured{margin-top:0}.section-heading{grid-template-columns:1fr}.story-grid,.location-grid{gap:55px}.footer-grid{grid-template-columns:1fr 1fr}.field-row{grid-template-columns:1fr}}
@media(max-width:600px){:root{--shell:calc(100% - 30px)}.header-inner{min-height:76px}.brand{width:138px}.brand-script{font-size:36px}.site-nav{inset:76px 0 0}.hero-grid{min-height:auto;gap:45px;padding-block:45px 65px}.hero h1,.page-hero h1,.cta h2{font-size:48px}.hero-facts{gap:18px;display:grid;grid-template-columns:1fr 1fr}.hero-visual img{height:430px}.floating-note{right:-5px}.section{padding:80px 0}.section-heading h2,.story h2,.location h2{font-size:44px}.story-image img,.location-grid img{height:420px}.story-image span{left:-5px}.editor-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:grid;gap:7px}.actions{align-items:flex-start;flex-direction:column}.page-hero{padding:75px 0 55px}.page-content{padding-block:60px 85px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ============================================================
   Original-Logo (aus Kundenmaterial freigestellt, Bild_07)
   Ersetzt den früheren Text-Schriftzug im Header und Footer.
   ============================================================ */
.brand{display:block;width:88px;line-height:0}
.brand img{display:block;width:100%;height:auto}
.brand-footer{width:114px;margin-bottom:22px}
.brand-footer img{width:100%;height:auto}
@media(max-width:980px){.brand{width:80px}.brand-footer{width:104px}}
@media(max-width:600px){.brand{width:76px}.brand-footer{width:96px}}

/* ============================================================
   Key Visual: Weinberge mit Logo (Kundenmaterial)
   Vollbreites Band zwischen Location-Sektion und CTA.
   object-position hält den zentrierten Logo-Schriftzug im Bild.
   ============================================================ */
.keyvisual{position:relative;overflow:hidden;background:var(--ink);line-height:0}
.keyvisual img{display:block;width:100%;height:clamp(260px,38vw,500px);object-fit:cover;object-position:center 45%}
.keyvisual::after{content:'';position:absolute;inset:auto 0 0 0;height:34%;
  background:linear-gradient(to bottom,rgba(17,43,36,0),rgba(17,43,36,.22));pointer-events:none}
@media(max-width:600px){.keyvisual img{height:clamp(200px,58vw,300px)}}
