/* =====================================================================
   REIFEN BARTELHEIM — "Classic" (im Stil der bestehenden Seite)
   Weiß/Rot, glänzende Buttons, zentriertes Layout
   ===================================================================== */

*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  font-family:Arial, Helvetica, sans-serif;
  background:#dcdcdc;
  color:#232323;
  line-height:1.6;
  font-size:16px;
}
img{max-width:100%;display:block}
a{color:#c00000}
ul{list-style:none}

/* ---------- Rahmen / Content-Box ---------- */
.wrap{
  max-width:1000px;
  margin:20px auto;
  background:#fff;
  border:1px solid #b9b9b9;
  box-shadow:0 3px 14px rgba(0,0,0,.25);
}

/* ---------- Banner ---------- */
.banner{display:block;width:100%;border-bottom:4px solid #c00000}
.banner img{width:100%;height:auto}

/* ---------- Navigation (glänzende rote Buttons) ---------- */
.nav{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;
  background:#f2f2f2;
  padding:12px 14px;
  border-bottom:1px solid #ccc;
}
.navbtn{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 18px;border-radius:20px;
  background:linear-gradient(180deg,#ef4b4b 0%,#cc0000 50%,#a30000 51%,#c30000 100%);
  color:#fff;font-weight:bold;font-size:14.5px;text-decoration:none;
  border:1px solid #7a0000;
  text-shadow:0 -1px 1px rgba(0,0,0,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 2px 3px rgba(0,0,0,.35);
  white-space:nowrap;transition:filter .15s;
}
.navbtn:hover{filter:brightness(1.12)}
.navbtn.active{
  background:linear-gradient(180deg,#9e0000,#7a0000);
  box-shadow:inset 0 2px 4px rgba(0,0,0,.45);
}
.navbtn .ext{font-size:11px;opacity:.85}

/* mobile burger */
.burger{display:none}

/* ---------- Content ---------- */
.content{padding:26px 30px 30px}
.content h1{
  color:#b00000;font-size:26px;
  border-bottom:3px solid #c00000;padding-bottom:8px;margin-bottom:18px;
}
.content h2{color:#b00000;font-size:20px;margin:26px 0 10px}
.content h3{color:#333;font-size:17px;margin:16px 0 6px}
.content p{margin-bottom:12px}
.content ul.dots{list-style:disc;margin:0 0 14px 22px}
.content ul.dots li{margin-bottom:6px}
.lead{font-size:17px;color:#111;margin-bottom:16px}
.crumb{font-size:12px;color:#888;margin-bottom:14px}
.crumb a{color:#888;text-decoration:none}
.crumb a:hover{color:#c00000;text-decoration:underline}

/* Info-Kasten */
.hint{background:#fff5f5;border-left:4px solid #c00000;padding:14px 18px;margin:18px 0;font-size:15px}
.hint strong{color:#b00000}

/* Willkommens-Intro */
.intro{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}
.intro .txt{flex:1;min-width:280px}
.intro .pic{flex:0 0 300px;max-width:100%}
.intro .pic img{border:1px solid #ccc;width:100%}

/* Service-Kacheln */
.tiles3{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:18px 0}
.tile{border:1px solid #ddd;border-top:4px solid #c00000;background:#fafafa;padding:18px}
.tile h3{color:#b00000;margin:0 0 8px;font-size:17px}
.tile p{font-size:14px;color:#444;margin:0}

/* Öffnungszeiten / Kontakt-Tabellen */
table.tbl{border-collapse:collapse;width:100%;margin:10px 0 4px;font-size:15px}
table.tbl td{padding:8px 6px;border-bottom:1px solid #eee}
table.tbl td:last-child{text-align:right;font-weight:bold;color:#222}
table.tbl tr.today td{color:#c00000}

.status{display:inline-block;padding:5px 12px;border-radius:14px;font-size:13px;font-weight:bold;background:#e7f6e7;color:#1a7a1a;border:1px solid #b6e0b6}
.status.closed{background:#fdecec;color:#c00000;border-color:#f0b6b6}

.twocol{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.map-embed{border:1px solid #ccc;min-height:300px}
.map-embed iframe{width:100%;height:100%;min-height:300px;border:0;display:block}

/* Buttons im Text */
.btn-red{
  display:inline-block;margin-top:6px;padding:11px 22px;border-radius:20px;
  background:linear-gradient(180deg,#ef4b4b 0%,#cc0000 50%,#a30000 51%,#c30000 100%);
  color:#fff;font-weight:bold;text-decoration:none;border:1px solid #7a0000;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 2px 3px rgba(0,0,0,.3);
}
.btn-red:hover{filter:brightness(1.1)}

/* ---------- Galerie ---------- */
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0}
.gal figure{border:1px solid #ccc;background:#f4f4f4;cursor:pointer}
.gal img{width:100%;height:150px;object-fit:cover}
.gal figcaption{font-size:12px;color:#555;padding:6px 8px;text-align:center}

/* ---------- Presse ---------- */
.press{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin:16px 0}
.pcard{border:1px solid #ddd;background:#fafafa}
.pcard .pimg{background:#fff;border-bottom:1px solid #ddd;cursor:pointer}
.pcard .pimg img{width:100%;height:180px;object-fit:cover;object-position:top}
.pcard .pbody{padding:14px}
.pcard .src{color:#c00000;font-size:12px;font-weight:bold;text-transform:uppercase}
.pcard h3{color:#222;font-size:15px;margin:4px 0 6px}
.pcard p{font-size:13px;color:#555;margin:0 0 8px}
.pcard a.more{font-size:13px;color:#c00000;font-weight:bold;text-decoration:none}
.pcard a.more:hover{text-decoration:underline}

/* Bewertungen */
.revs{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:14px 0}
.rev{border:1px solid #ddd;background:#fafafa;padding:16px}
.rev .st{color:#f5a623;letter-spacing:2px;margin-bottom:8px}
.rev p{font-size:14px;color:#333;font-style:italic;margin:0 0 8px}
.rev span{font-size:12px;color:#888;font-weight:bold}

/* ---------- Lightbox ---------- */
.lb{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;padding:24px}
.lb.open{display:flex}
.lb img{max-width:94vw;max-height:88vh;border:3px solid #fff}
.lb-close{position:absolute;top:16px;right:22px;color:#fff;font-size:34px;cursor:pointer;line-height:1;font-family:Arial}

/* ---------- Footer ---------- */
.foot{background:#7a0000;color:#f4d6d6;padding:18px 30px;font-size:13px;text-align:center}
.foot a{color:#fff}
.foot .big{color:#fff;font-size:15px;font-weight:bold;margin-bottom:4px}

/* ---------- Responsive ---------- */
@media(max-width:720px){
  .wrap{margin:0}
  .content{padding:20px 16px}
  .twocol{grid-template-columns:1fr}
  .nav{gap:6px;padding:10px}
  .navbtn{font-size:13px;padding:8px 13px}
  .intro .pic{flex-basis:100%}
}
