
:root{--green:#68bd12;--green-dark:#4f9807;--black:#111;--muted:#6f746c;--light:#f4f6f1;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--black);background:#fff;line-height:1.55}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
header{position:sticky;top:0;z-index:20;background:#0b0b0b;border-bottom:1px solid #242424;box-shadow:0 6px 20px rgba(0,0,0,.18)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:92px}.logo{display:flex;align-items:center}.logo img{filter:none}
.logo img{width:min(430px,46vw);height:auto}.nav{display:flex;gap:24px;align-items:center;font-weight:700;font-size:15px}.nav a{text-decoration:none;color:#fff}.nav a:hover{color:var(--green)}.menu-btn{display:none;border:0;background:var(--black);color:white;padding:10px 14px;border-radius:8px;font-size:16px}
.hero{position:relative;min-height:610px;display:flex;align-items:center;background:url('../img/hero.jpg') center/cover no-repeat}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(270deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.56) 42%,rgba(0,0,0,.08) 72%)}.hero .wrap{position:relative;z-index:1;display:flex;justify-content:flex-end}.hero-card{max-width:650px;color:#fff;text-align:right}.hero-card .actions{justify-content:flex-end}.eyebrow{display:inline-block;background:var(--green);color:#102000;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(46px,6vw,82px);line-height:.98;margin:20px 0 18px;letter-spacing:-.04em}.hero p{font-size:21px;max-width:570px;color:#f2f4ef}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:8px;text-decoration:none;font-weight:800}.btn-green{background:var(--green);color:#102000}.btn-white{background:#fff;color:#111}.btn-dark{background:#111;color:#fff}
section{padding:88px 0}.section-head{max-width:760px;margin-bottom:38px}.section-head span{color:var(--green-dark);text-transform:uppercase;font-weight:800;letter-spacing:.09em;font-size:13px}.section-head h2{font-size:clamp(34px,4vw,52px);line-height:1.05;margin:10px 0 14px}.section-head p{color:var(--muted);font-size:18px;margin:0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid #e4e8df;border-radius:18px;padding:28px;background:#fff;box-shadow:0 12px 36px rgba(0,0,0,.05)}.card .icon{width:52px;height:52px;border-radius:14px;background:#eaf7da;display:grid;place-items:center;font-size:27px;margin-bottom:18px}.card h3{margin:0 0 8px;font-size:24px}.card p{margin:0;color:var(--muted)}
.opening{background:var(--black);color:#fff}.opening .section-head p{color:#c7ccc4}.hours-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:32px;align-items:center}.hours{display:grid;gap:12px}.hour-row{display:flex;justify-content:space-between;gap:24px;padding:17px 0;border-bottom:1px solid #30342f;font-size:18px}.hour-row strong{color:var(--green)}.pig{max-width:330px;margin:auto}
.prices{background:var(--light)}.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.price-card{background:#fff;border-radius:18px;padding:26px;border-top:6px solid var(--green);box-shadow:0 10px 30px rgba(0,0,0,.05)}.price-name{font-size:18px;font-weight:800}.price-value{font-size:30px;line-height:1.08;margin:12px 0 8px;font-weight:900}.price-note{color:var(--muted);font-size:14px}.price-status{font-size:13px;margin-top:14px;color:#70756d}.price-error{padding:18px;background:#fff2f2;border:1px solid #f0c9c9;border-radius:10px}.price-meta{margin-top:18px;color:#666}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.map-shell{min-height:410px;border-radius:20px;overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,.13);background:#eef2ea;border:1px solid #e0e6da;position:relative}.map-consent{min-height:410px;padding:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#f7faf4,#e7eee0)}.map-consent .map-pin{font-size:44px;margin-bottom:8px}.map-consent h3{font-size:28px;margin:0 0 12px}.map-consent p{max-width:480px;color:var(--muted);margin:0 0 22px}.map-consent small{display:block;max-width:470px;color:#777;margin-top:16px}.map-consent small a{font-weight:700}.map-shell iframe{display:block;width:100%;height:410px;border:0}.contact-list{display:grid;gap:16px;margin:26px 0}.contact-item{display:flex;gap:14px;align-items:flex-start}.contact-item b{display:block}.contact-item span{color:var(--muted)}
footer{background:#0b0b0b;color:#dfe2dc;padding:42px 0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:24px}.footer-grid h3{color:#fff;margin-top:0}.footer-grid a{color:#dfe2dc}.legal{padding:70px 0}.legal h1{font-size:48px;margin-bottom:30px}.legal h2{margin-top:34px}.legal p,.legal li{color:#333}.notice{background:#f5f7f2;border-left:4px solid var(--green);padding:16px 18px;border-radius:8px}
@media(max-width:900px){.nav{display:none;position:absolute;left:20px;right:20px;top:84px;background:#0b0b0b;padding:18px;border:1px solid #2d2d2d;border-radius:12px;flex-direction:column;align-items:flex-start;box-shadow:0 16px 40px rgba(0,0,0,.28)}.nav.open{display:flex}.menu-btn{display:block}.logo img{width:min(380px,68vw)}.hero{min-height:560px}.grid-3,.price-grid,.footer-grid{grid-template-columns:1fr}.hours-grid,.location-grid{grid-template-columns:1fr}.pig{max-width:240px}.hero h1{font-size:54px}}
@media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 28px))}.topbar{min-height:76px}.hero{min-height:520px}.hero:after{background:rgba(0,0,0,.6)}.hero .wrap{justify-content:flex-start}.hero-card{text-align:left}.hero-card .actions{justify-content:flex-start}.hero h1{font-size:44px}.hero p{font-size:18px}section{padding:64px 0}.hour-row{flex-direction:column;gap:3px}.legal h1{font-size:38px}}

.map-shell{min-height:390px;border-radius:28px;overflow:hidden;background:#111;box-shadow:0 18px 45px rgba(0,0,0,.12);display:flex;align-items:stretch}.map-consent{width:100%;min-height:390px;padding:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#111,#242424);color:#fff}.map-consent .map-icon{font-size:42px;margin-bottom:8px}.map-consent h3{font-size:30px;margin:0 0 12px}.map-consent p{max-width:480px;color:#ddd;line-height:1.6;margin:0 0 22px}.map-consent small{display:block;margin-top:18px;color:#aaa}.map-consent small a{color:#6bc600}.map-shell iframe{width:100%;min-height:390px;border:0;display:block}@media(max-width:800px){.map-shell,.map-consent,.map-shell iframe{min-height:330px}.map-consent{padding:28px 20px}}

/* Standort: Foto + Karte */
.location-media{display:grid;gap:18px;align-self:stretch}
.location-photo{display:block;width:100%;height:190px;object-fit:cover;border-radius:20px;box-shadow:0 14px 34px rgba(0,0,0,.12)}
.location-media .map-shell{min-height:350px}
.location-media .map-consent{min-height:350px}
.location-media .map-shell iframe{height:350px;min-height:350px}
@media(max-width:900px){.location-photo{height:220px}.location-media .map-shell,.location-media .map-consent,.location-media .map-shell iframe{min-height:330px;height:330px}}
/* Standortfoto: Original ist sehr klein; deshalb bewusst nicht mehr auf volle Kartenbreite verzerren. */
.location-photo-wrap{background:#f4f6f1;border-radius:20px;padding:14px;box-shadow:0 14px 34px rgba(0,0,0,.10);display:flex;justify-content:center;align-items:center}
.location-photo{display:block;width:auto;max-width:100%;height:auto;max-height:292px;object-fit:contain;border-radius:14px;box-shadow:none}
@media(min-width:901px){.location-photo{width:min(100%,660px)}}
@media(max-width:900px){.location-photo{width:100%;max-height:none}}

/* Foto im Anfahrtsbereich: sauber im hellen Rahmen, ohne Verzerrung */
.location-photo-wrap{
  background:#f4f6f1;
  border-radius:28px;
  padding:18px;
  box-shadow:0 14px 34px rgba(0,0,0,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.location-photo{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3 / 2;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  box-shadow:none;
}
@media(max-width:900px){
  .location-photo-wrap{padding:12px;border-radius:22px;}
  .location-photo{border-radius:14px;}
}

/* v12: Standortfoto – ohne doppelten Innenabstand und flacher wie in der Vorschau */
.location-photo-wrap{
  padding:0;
  border-radius:28px;
  overflow:hidden;
}
.location-photo{
  width:100%;
  max-width:none;
  height:280px;
  max-height:none;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center 55%;
  border-radius:28px;
}
@media(max-width:900px){
  .location-photo-wrap{padding:0;border-radius:22px;}
  .location-photo{height:220px;border-radius:22px;}
}

/* Hero typography refinement v14 */
@media (min-width:901px){
  .hero-card{max-width:610px;text-align:left}
  .hero-card .eyebrow{margin-left:0;display:inline-block}
  .hero h1{font-size:clamp(58px,5.25vw,76px);line-height:1.03;margin:24px 0 22px;letter-spacing:-.035em;text-align:left}
  .hero h1 .hero-line{display:block}
  .hero h1 .hero-dot{color:var(--green)}
  .hero p{font-size:20px;line-height:1.55;max-width:610px;margin:0;padding-top:22px;border-top:2px solid var(--green);text-align:left}
  .hero-card .actions{justify-content:flex-start;margin-top:28px}
}
