/*
Theme Name: Transilvania Imbiss
Description: Zweisprachiges Theme mit unbegrenzten Menü- und Galeriebildern.
Version: 6.12.0
*/
:root{--bg:#fff8f1;--surface:#fff;--text:#211d1a;--muted:#6d625a;--brand:#c94820;--brand-dark:#923014;--border:#eadbd0;--max:1120px;--shadow:0 18px 50px rgba(45,25,14,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,sans-serif;line-height:1.6}a{color:inherit}img{display:block;max-width:100%}.container{width:min(92%,var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:100;background:#fffffff2;border-bottom:1px solid var(--border);backdrop-filter:blur(14px)}.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-name,.main-nav a{font-weight:900;text-decoration:none}.header-right,.main-nav,.language-switcher,.hero-actions,.social-buttons{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.language-button{padding:8px 12px;border:1px solid var(--border);border-radius:999px;text-decoration:none;font-weight:900;background:#fff}.language-button.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.hero{min-height:82vh;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(#0009,#0008),var(--hero-image,linear-gradient(135deg,#5b2010,#d97c3d));background-size:cover;background-position:center}.hero-content{width:min(94%,920px);padding:88px 0 78px}.hero-logo{width:min(190px,48vw);margin:0 auto 22px}.hero h1{font-size:clamp(2.8rem,7vw,6rem);line-height:1.02;margin:0 0 16px}.hero-subtitle{max-width:760px;margin:0 auto 30px;font-size:clamp(1.08rem,2.2vw,1.42rem)}.hero-actions,.social-buttons{justify-content:center}.hero-actions{margin-bottom:18px}
.primary-button,.secondary-button,.social-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 21px;border-radius:999px;text-decoration:none;font-weight:900}.primary-button{background:var(--brand);color:#fff}.secondary-button{border:2px solid #ffffffe0;background:#ffffff1f;color:#fff}.social-button{min-width:138px;color:#fff}.social-facebook{background:#1877f2}.social-instagram{background:linear-gradient(45deg,#833ab4,#fd1d1d,#fcb045)}.social-tiktok{background:#111}.social-button.disabled{opacity:.55;pointer-events:none}
.quick-section{position:relative;z-index:10;margin-top:-45px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quick-card,.card{background:#fff;border:1px solid var(--border);border-radius:20px;padding:25px;box-shadow:var(--shadow);text-align:center}.section{padding:82px 0}.section.white{background:#fff}.section-heading{text-align:center;margin-bottom:42px}.section-heading h2{font-size:clamp(2rem,4vw,3.15rem);margin:0 0 9px}.section-heading p{color:var(--muted);margin:0}.about-card{max-width:840px;margin:auto}
.menu-gallery{display:grid;justify-items:center;gap:26px}.menu-image-link{display:block;width:min(100%,760px);margin:auto;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.menu-image-link img{width:100%;height:auto;margin:auto}.photo-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.gallery-item{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  line-height:0;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 8px 26px rgba(0,0,0,.12);
}
.gallery-item img{
  display:block;
  width:100% !important;
  height:100% !important;
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  object-fit:cover !important;
  object-position:center;
  transform:none;
  transition:transform .25s ease;
}
.gallery-item:hover img{
  transform:scale(1.03);
}
.location-grid,.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.map-frame iframe{width:100%;min-height:430px;border:0;border-radius:20px;box-shadow:var(--shadow)}.contact-links{display:flex;flex-direction:column;gap:12px}.site-footer{padding:34px 0;background:#1d1b1a;color:#fff;text-align:center}
.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;background:#000e}.lightbox.open{display:flex}.lightbox img{max-width:95vw;max-height:90vh;border-radius:12px}.lightbox-close{position:absolute;top:18px;right:22px;border:0;background:transparent;color:#fff;font-size:2.4rem;cursor:pointer}
@media(max-width:1000px){.photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:850px){.header-inner{align-items:flex-start;flex-direction:column;padding:13px 0}.header-right{width:100%;justify-content:space-between}.quick-section{margin-top:0;padding-top:22px}.quick-grid,.location-grid,.contact-grid{grid-template-columns:1fr}}@media(max-width:610px){.photo-gallery{grid-template-columns:1fr;}.main-nav{display:none}.hero-actions,.social-buttons{flex-direction:column}.primary-button,.secondary-button,.social-button{width:100%}.section{padding:60px 0}}


/* Embedded videos */
.video-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

.video-item {
  overflow: hidden;
  border-radius: 16px;
  background: #111;
  box-shadow: 0 8px 26px rgba(0,0,0,.12);
}

.video-item iframe,
.video-item video,
.video-item .wp-video,
.video-item blockquote {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.video-item iframe {
  min-height: 360px;
  border: 0;
}

.video-external-link {
  display: grid;
  min-height: 220px;
  place-items: center;
  padding: 24px;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

@media (max-width: 760px) {
  .video-gallery {
    grid-template-columns: 1fr;
  }

  .video-item iframe {
    min-height: 260px;
  }
}


/* Video thumbnail fallback */
.video-preview-card {
  position: relative;
  display: grid;
  min-height: 310px;
  place-items: center;
  overflow: hidden;
  border-radius: 16px;
  background: linear-gradient(135deg, #1b1b1b, #080808);
  background-position: center;
  background-size: cover;
  color: #fff;
  text-align: center;
  text-decoration: none;
}

.video-preview-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.58));
}

.video-play-button,
.video-preview-label {
  position: relative;
  z-index: 2;
}

.video-play-button {
  display: grid;
  width: 74px;
  height: 74px;
  place-items: center;
  padding-left: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: #111;
  font-size: 1.65rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.28);
  transition: transform .2s ease;
}

.video-preview-label {
  position: absolute;
  bottom: 22px;
  left: 20px;
  right: 20px;
  font-weight: 900;
}

.video-preview-card:hover .video-play-button {
  transform: scale(1.08);
}

@media (max-width: 760px) {
  .video-preview-card {
    min-height: 240px;
  }
}


/* Native Facebook video embed */
.facebook-video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 16px;
  background: #111;
}

.facebook-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}


/* Unified mobile-first video cards and fullscreen modal */
.video-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: start;
}

.video-item {
  overflow: hidden;
  border-radius: 16px;
  background: #111;
  box-shadow: 0 8px 26px rgba(0,0,0,.14);
}

.video-card {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 310px;
  place-items: center;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, #1b1b1b, #080808);
  background-position: center;
  background-size: cover;
  color: #fff;
  cursor: pointer;
}

.video-card .video-preview-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(rgba(0,0,0,.14), rgba(0,0,0,.62));
}

.video-card .video-play-button,
.video-provider-label {
  position: relative;
  z-index: 2;
}

.video-card .video-play-button {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  padding-left: 5px;
  border-radius: 50%;
  background: rgba(255,255,255,.94);
  color: #111;
  font-size: 1.7rem;
  box-shadow: 0 10px 30px rgba(0,0,0,.30);
  transition: transform .2s ease;
}

.video-provider-label {
  position: absolute;
  right: 18px;
  bottom: 16px;
  left: 18px;
  font-weight: 900;
  text-align: left;
}

.video-card:hover .video-play-button {
  transform: scale(1.08);
}

.video-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(0,0,0,.94);
}

.video-modal.open {
  display: flex;
}

.video-modal-shell {
  width: min(96vw, 1200px);
  max-height: 96vh;
  overflow: hidden;
  border-radius: 16px;
  background: #0b0b0b;
  box-shadow: 0 20px 80px rgba(0,0,0,.55);
}

.video-modal-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 10px;
  background: #151515;
}

.video-modal-action,
.video-modal-close {
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  background: transparent;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}

.video-modal-close {
  min-width: 42px;
  padding: 4px 12px;
  font-size: 1.8rem;
  line-height: 1;
}

.video-modal-player {
  width: 100%;
  background: #000;
}

.responsive-video-frame,
.facebook-video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
}

.responsive-video-frame iframe,
.responsive-video-frame video,
.facebook-video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}

.video-modal-fallback {
  display: grid;
  min-height: 360px;
  place-items: center;
  gap: 18px;
  padding: 36px;
  color: #fff;
  text-align: center;
}

@media (max-width: 760px) {
  .video-gallery {
    grid-template-columns: 1fr;
  }

  .video-card {
    min-height: 240px;
  }

  .video-modal {
    padding: 0;
  }

  .video-modal-shell {
    width: 100vw;
    max-height: 100vh;
    border-radius: 0;
  }

  .video-modal-toolbar {
    flex-wrap: wrap;
    justify-content: center;
  }

  .video-modal-action {
    flex: 1 1 auto;
    text-align: center;
  }

  .responsive-video-frame,
  .facebook-video-embed {
    aspect-ratio: 9 / 16;
    max-height: calc(100vh - 70px);
  }
}


/* Version 6.8: visible Facebook preview cards */
.video-card:not(.has-thumbnail) {
  background:
    radial-gradient(circle at 50% 35%, rgba(255,255,255,.14), transparent 32%),
    linear-gradient(135deg, #1877f2, #0b3f91) !important;
}

.video-card:not(.has-thumbnail)::before {
  content: "f";
  position: absolute;
  top: 24px;
  left: 28px;
  color: rgba(255,255,255,.20);
  font-family: Arial, sans-serif;
  font-size: 8rem;
  font-weight: 900;
  line-height: 1;
}

.video-card:not(.has-thumbnail) .video-preview-overlay {
  background: linear-gradient(rgba(0,0,0,.02), rgba(0,0,0,.28));
}


/* Catering & Party Service */
.catering-card{
  max-width:920px;
  margin:0 auto;
  line-height:1.75;
  text-align:left;
}
