/* ════════════════════════════════════════════════════════════════
   Makarska Gastro – restoran.php · Variante B
   Mobile + Desktop. Nur Optik.
   ════════════════════════════════════════════════════════════════ */

.restaurant-header,.restaurant-tab-navigation{
  --accent:#851B2F;--star:#BE9440;--mg-cream:#F6EFE3;
  --mg-gold:#BE9440;--mg-sand:#E8DCC0;
}

/* ───────── BASIS ───────── */
body .restaurant-hero{
  background:#fff;overflow:visible;height:auto;
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
}
body .restaurant-hero > *{order:3}
body .reviews-badges-compact,
body .compact-external-reviews,
body .price-indicator-container{display:contents}

body .season-badge-header,body .no-menu-badge{
  position:static;order:0;flex:0 0 100%;
  background:none;padding:0;border-radius:0;
  color:var(--price);font-size:.64rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
}
body .season-badge-header.seasonal{color:#8B6914}
body .season-badge-header.closed,body .no-menu-badge{color:var(--accent)}
body .no-menu-badge .icon{color:currentColor}

body .restaurant-name-overlay{
  position:static;order:1;flex:0 0 100%;
  padding:0;margin-bottom:2px;background:none;pointer-events:auto;
}
body .restaurant-name-overlay h1{
  color:var(--ink);font-size:1.4rem;font-weight:700;
  line-height:1.2;letter-spacing:-.01em;word-break:break-word;
}

body .compact-my-reviews,body .compact-review-badge,body .price-badge-main{order:2}
body .compact-my-reviews,body .compact-review-badge{
  background:var(--mg-cream);border:1px solid var(--mg-sand);
  border-radius:999px;padding:5px 11px;font-size:.72rem;
}
body .compact-my-reviews{gap:6px}
body .compact-stars .icon{width:12px;height:12px}
body .compact-rating-value{font-size:.8rem}
body .compact-rating-label{display:none}
body .compact-external-reviews{gap:8px}
body .price-badge-main{
  margin:0;border-radius:999px;background:#EEF5F0;
  border:1px solid #CFE0D5;padding:5px 12px;gap:7px;
}
body .price-badge-main.medium{background:#FBF4E4;border-color:#E8D8AE}
body .price-badge-main.premium{background:#F8E9EC;border-color:#E6C4CB}
body .price-level-text{font-size:.62rem}
body .price-avg{font-size:.8rem}
body .price-range-detail{display:none}

body .restaurant-info-top{
  order:2;flex:0 0 100%;display:flex;flex-wrap:wrap;
  align-items:center;gap:6px 8px;margin-top:2px;
}
body .restaurant-info-top .restaurant-address-container{
  flex:0 0 100%;padding:0;border:0;gap:7px;
  font-size:.84rem;line-height:1.35;
}
body .restaurant-info-top .restaurant-address-container .icon{width:15px;height:15px}
body .restaurant-info-top .restaurant-address-text{font-weight:500;color:var(--ink)}
body .restaurant-info-top .restaurant-contact-info{
  flex:1 1 auto;display:flex;flex-wrap:wrap;gap:6px;padding:0;border:0;
}
body .restaurant-info-top .contact-item{
  gap:6px;padding:5px 11px;border:1px solid var(--mg-sand);
  border-radius:999px;background:#fff;font-size:.74rem;
}
body .restaurant-info-top .contact-item a{color:var(--ink);font-weight:600}
body .restaurant-info-top .social-share-widget{flex:0 0 auto;padding:0;border:0;gap:6px}
body .restaurant-info-top .share-label,body .restaurant-info-top .share-preview{display:none}
body .restaurant-info-top .social-share-widget .share-btn{width:32px;height:32px}

body .restaurant-hero .hero-slider{
  order:3;flex:0 0 100%;position:relative;inset:auto;
  height:210px;display:flex;gap:8px;
  overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;background:none;
}
body .restaurant-hero .hero-slider::-webkit-scrollbar{display:none}
body .restaurant-hero .hero-slide{
  position:relative;inset:auto;opacity:1;pointer-events:auto;
  flex:0 0 74%;height:100%;scroll-snap-align:start;
  border-radius:16px;overflow:hidden;background:var(--paper-deep);
}
body .restaurant-hero .hero-slide:only-child{flex-basis:100%}
body .restaurant-hero .hero-nav,
body .restaurant-hero .hero-dots,
body .restaurant-hero .hero-counter{display:none}

body .price-index-badge,body .happy-hour-badge{
  order:4;margin-top:0;border-radius:999px;padding:5px 11px;
  font-size:.62rem;white-space:normal;
}
body .price-index-badge.cheap{background:#EEF5F0;color:var(--price);border:1px solid #CFE0D5}
body .price-index-badge.expensive{background:#F8E9EC;color:var(--accent);border:1px solid #E6C4CB}
body .price-index-badge.average{background:var(--mg-cream);color:var(--ink-mid);border:1px solid var(--mg-sand)}
body .happy-hour-badge{background:#FBF4E4;color:#7A5A12;border:1px solid #E8D8AE}
body .happy-hour-badge .hh-discount{background:var(--mg-gold);color:#fff;border-radius:999px;padding:1px 7px}
body .busy-badge{
  order:5;display:flex;flex-wrap:wrap;column-gap:6px;row-gap:2px;
  flex:1 0 100%;border:1px solid var(--mg-sand);border-left-width:3px;
  border-radius:10px;background:#fff;padding:7px 11px;
  font-size:.7rem;white-space:normal;
}
body .busy-label,body .busy-wait,body .busy-ago{white-space:nowrap}
body .busy-ago{display:inline;font-size:.62rem}

body .last-updated-badge{
  margin:12px 0 0;border-radius:999px;padding:4px 11px;
  font-size:.6rem;background:#EEF5F0;color:var(--price);
  border:1px solid #CFE0D5;
}
body .last-updated-badge .icon{color:var(--price)}

body .social-like-section{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  margin:14px 0 0;padding:0 0 14px;
}
body .social-like-section .like-btn,
body .social-like-section .comment-toggle-btn,
body .social-like-section .share-btn{
  justify-content:center;padding:10px 6px;border-radius:12px;
  font-size:.66rem;letter-spacing:.04em;
  border-color:var(--mg-sand);background:#fff;color:var(--ink);
}
body .social-like-section .like-btn.liked{
  background:#F8E9EC;border-color:var(--accent);color:var(--accent);
}
body .social-like-section .social-login-hint{
  grid-column:1/-1;text-align:center;font-size:.72rem;
}

body .restaurant-tab-btn{font-weight:600;color:var(--ink-mid)}
body .restaurant-tab-btn.active{color:var(--accent);border-bottom-color:var(--mg-gold)}

/* ════════════════════════════════════════════════════════════════
   LOCAL-RECO + SIMILAR — EINE horizontale Linie (alle Breiten)
   ════════════════════════════════════════════════════════════════ */
body .local-reco-block{overflow:hidden}
body .local-reco-list,
body .similar-grid{
  display:flex;flex-direction:row;flex-wrap:nowrap;
  gap:10px;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;padding:2px 2px 10px;margin:0;
}
body .local-reco-list::-webkit-scrollbar,
body .similar-grid::-webkit-scrollbar{display:none}
body .local-reco-card{
  flex:0 0 260px;width:260px;min-width:260px;max-width:260px;
  scroll-snap-align:start;
}
body .similar-card{
  flex:0 0 240px;width:240px;min-width:240px;max-width:240px;
  scroll-snap-align:start;
}

/* Popup */
.mgr-photo-lightbox{
  position:fixed;inset:0;z-index:100000;
  background:rgba(0,0,0,.86);
  display:none;align-items:center;justify-content:center;padding:24px;
}
.mgr-photo-lightbox.open{display:flex}
.mgr-photo-lightbox img{
  max-width:min(92vw,1100px);max-height:88vh;
  width:auto;height:auto;border-radius:14px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  background:#111;object-fit:contain;display:block;
}
.mgr-photo-lightbox-close{
  position:absolute;top:16px;right:16px;
  width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.92);color:#111;
  border:0;cursor:pointer;font-size:22px;line-height:1;
  display:flex;align-items:center;justify-content:center;
}
.mgr-photo-lightbox-caption{
  position:absolute;left:0;right:0;bottom:16px;
  text-align:center;color:#fff;font-size:.85rem;
  text-shadow:0 2px 8px rgba(0,0,0,.6);
  padding:0 20px;pointer-events:none;
}

/* ════════════════════════════════════════════════════════════════
   MOBILE ≤768px
   ════════════════════════════════════════════════════════════════ */
@media (max-width:768px){
  body .restaurant-header{padding:0 16px}
  body .restaurant-hero{margin:0;padding:14px 0 0}
  body .restaurant-hero .hero-slider{
    flex:0 0 calc(100% + 32px);
    margin:6px -16px 2px;padding:0 16px;scroll-padding-left:16px;
  }
  body .restaurant-hero .hero-slide:last-child{margin-right:8px}
  body .restaurant-tab-navigation{
    padding:0;background:#fff;border-bottom:1px solid var(--mg-sand);
  }
  body .restaurant-tab-buttons{padding:0 8px}
  body .restaurant-tab-btn{padding:13px 14px;font-size:.74rem}

  body .local-reco-card{
    flex:0 0 80vw;width:80vw;min-width:80vw;max-width:80vw;
  }
  body .similar-card{
    flex:0 0 70vw;width:70vw;min-width:70vw;max-width:70vw;
  }
}

/* ════════════════════════════════════════════════════════════════
   DESKTOP ≥769px — Header KOMPAKT oben links
   ════════════════════════════════════════════════════════════════ */
@media (min-width:769px){
  body .restaurant-header{padding:16px 24px 0}

  body .restaurant-hero{
    position:relative;min-height:440px;margin:0 0 8px;
    padding:8px 56% 8px 0;
    align-content:flex-start;align-items:flex-start;gap:4px;
    flex-direction:row;flex-wrap:wrap;
  }

  /* FIX BUG 1+2: alle linken Kinder bleiben oben, kein Loch */
  body .restaurant-hero > *,
  body .restaurant-hero > * > *,
  body .reviews-badges-compact > *,
  body .compact-external-reviews > *,
  body .price-indicator-container > *{align-self:flex-start}

  /* Reihenfolge: Kicker → Name → Bewertung/Preis → Info → Badges → Letzte → Social */
  body .season-badge-header,
  body .no-menu-badge{order:0;font-size:.7rem}
  body .restaurant-name-overlay{order:1;margin:0}
  body .restaurant-name-overlay h1{font-size:2rem;line-height:1.1;margin:0}

  body .compact-my-reviews,
  body .compact-review-badge{order:2;font-size:.8rem;padding:6px 13px}
  body .price-badge-main{order:2}

  body .restaurant-info-top{order:3;margin:2px 0 0 0;gap:4px 8px}
  body .restaurant-info-top .restaurant-address-container{font-size:.9rem;line-height:1.25;padding:0;gap:6px}
  body .restaurant-info-top .contact-item{font-size:.78rem;padding:4px 10px}
  body .restaurant-info-top .social-share-widget{gap:6px}
  body .restaurant-info-top .social-share-widget .share-btn{width:32px;height:32px}

  body .price-index-badge,
  body .happy-hour-badge{order:4;margin-top:2px}
  body .busy-badge{order:4;margin-top:2px;flex:0 1 auto}
  body .last-updated-badge{order:5;margin:4px 0 0 0}

  body .social-like-section{
    order:6;margin-top:6px;padding-bottom:0;max-width:560px;
  }
  body .social-like-section .like-btn,
  body .social-like-section .comment-toggle-btn,
  body .social-like-section .share-btn{font-size:.72rem;padding:10px 14px}

  body .reviews-badges-compact{margin:0;gap:6px}
  body .price-indicator-container{margin:0;gap:6px}

  /* Bild rechts — 440px hoch, unverändert */
  body .restaurant-hero .hero-slider{
    position:absolute;top:0;right:0;bottom:0;left:auto;
    width:54%;height:auto;display:block;overflow:hidden;
    border-radius:20px;background:var(--paper-deep);
    flex:none;padding:0;margin:0;
  }
  body .restaurant-hero .hero-slide{
    position:absolute;inset:0;flex:none;
    opacity:0;pointer-events:none;border-radius:0;
    transition:opacity .6s ease;
  }
  body .restaurant-hero .hero-slide.active{opacity:1;pointer-events:auto}
  body .restaurant-hero .hero-nav,
  body .restaurant-hero .hero-dots,
  body .restaurant-hero .hero-counter{display:flex}
  body .restaurant-hero .hero-nav{left:auto;right:0;width:54%;top:50%}
  body .restaurant-hero .hero-prev,
  body .restaurant-hero .hero-next{border-radius:50%}
  body .restaurant-hero .hero-dots{
    left:auto;right:27%;transform:translateX(50%);bottom:16px;
  }
  body .restaurant-hero .hero-counter{
    top:16px;left:auto;right:16px;border-radius:999px;
    padding:3px 11px;background:rgba(42,32,36,.62);
  }
  body .restaurant-hero > *:not(.hero-slider):not(.hero-nav):not(.hero-dots):not(.hero-counter){
    position:relative;z-index:2;top:auto;left:auto;right:auto;bottom:auto;
  }

  /* FIX: Local-Reco + Alles unter dem Hero darf NICHT ins Bild ragen */
  body .restaurant-header > *:not(.restaurant-hero){
    position:relative;z-index:3;background:#fff;
  }

  body .restaurant-tab-navigation{border-bottom:1px solid var(--mg-sand)}
}

@media (max-width:480px){
  .mgr-photo-lightbox{padding:12px}
  .mgr-photo-lightbox-close{top:10px;right:10px;width:38px;height:38px;font-size:19px}
}

/* ════════════════════════════════════════════════════════════════
   ADD-ON: „Anmelden zum Liken" unter die Adresse verschieben (Desktop)
   ════════════════════════════════════════════════════════════════ */
@media (min-width:769px){
  body .social-like-section .social-login-hint{
    order:-1;
    grid-column:1 / -1;
    margin:0 0 8px 0;
    padding:6px 12px;
    background:#FBF4E4;
    border:1px solid #E8D8AE;
    border-radius:999px;
    font-size:.72rem;
    text-align:center;
  }
  body .social-like-section{
    display:flex;
    flex-wrap:wrap;
  }
  body .social-like-section .like-btn,
  body .social-like-section .comment-toggle-btn,
  body .social-like-section .share-btn{
    flex:1 1 0;
  }
}

.cafe-price-profile-wrap {
    max-width: 1224px;
    margin: 16px auto 8px;
    padding: 0 20px;
}

.cafe-price-profile {
    padding: 14px 18px;
    background: #FBF7EF;
    border: 1px solid rgba(190, 148, 64, 0.35);
    border-left: 4px solid #BE9440;
    border-radius: 12px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 6px 20px;
}

.cafe-price-profile-title {
    grid-column: 1 / -1;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #851B2F;
    margin-bottom: 4px;
}

.cafe-price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 0;
    border-bottom: 1px dashed rgba(190, 148, 64, 0.25);
    font-size: .84rem;
}

.cafe-price-label { color: #6B6B6B; font-weight: 500; }
.cafe-price-value { color: #1A1A1A; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }

.cafe-price-total {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 2px solid rgba(133, 27, 47, 0.15);
    font-size: .9rem;
}

.cafe-price-total-label { color: #851B2F; font-weight: 700; }
.cafe-price-total-value { color: #851B2F; font-weight: 800; font-size: 1.1rem; }

@media (max-width: 600px) {
    .cafe-price-profile-wrap { padding: 0 12px; margin: 12px auto 6px; }
    .cafe-price-profile { padding: 12px 14px; }
    .cafe-price-row { font-size: .8rem; }
    .cafe-price-total-value { font-size: 1rem; }
}

/* ═══════════════════════════════════════════════════════════════════
   PREIS-PROFIL + VIDEO (Final: Kompakt auf Mobile)
   ═══════════════════════════════════════════════════════════════════ */

/* 1. Container */
.preis-video-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 1000px !important;
    margin: 16px auto 16px !important;
    padding: 0 16px !important;
    box-sizing: border-box;
}

/* 2. Spalten */
.preis-video-col {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

/* 3. Preis-Spalte */
.preis-video-col--price {
    flex: 1 1 auto !important; 
}

/* 4. Video-Spalte (Desktop) */
.preis-video-col--video {
    flex: 0 0 300px !important; 
    background: #fff;
    border: 2px solid #BE9440;
    border-radius: 12px;
    padding: 10px;
    box-shadow: 0 4px 12px rgba(155, 35, 53, 0.15);
    justify-content: space-between;
    box-sizing: border-box;
}

/* 5. Das Preis-Profil selbst (Desktop) */
.preis-video-col--price .cafe-price-profile {
    margin: 0 !important;
    max-width: none !important;
    width: 100% !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    border: 2px solid #E8D8AE !important;
    border-left: 2px solid #E8D8AE !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
    background: #FBF7EF !important;
    box-sizing: border-box;
}

/* ==========================================
   MOBILE ANPASSUNGEN (Bildschirme < 850px)
   ========================================== */
@media screen and (max-width: 850px) {
    /* Video-Spalte (deine vorherige Version) */
    .preis-video-col--video {
        flex: 0 0 130px !important;
        padding: 6px;
    }
    .preis-video-col--video .video-spotlight-head {
        display: none !important;
    }
    .preis-video-col--video .video-spotlight-cta {
        padding: 4px 8px !important;
        font-size: 0.6rem !important;
    }
    .preis-video-col--video .video-spotlight-strip {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    /* Das Preis-Profil auf Mobile ganz kompakt machen, damit es nicht so lang wird */
    .preis-video-col--price .cafe-price-profile {
        padding: 6px 8px !important; /* Weniger Innenabstand */
    }
    .preis-video-col--price .cafe-price-profile-title {
        font-size: 0.6rem !important; /* Sehr klein */
        margin-bottom: 2px !important;
    }
    .preis-video-col--price .cafe-price-row {
        padding: 1px 0 !important; /* Weniger Abstand zwischen den Zeilen */
        gap: 0 !important;
    }
    .preis-video-col--price .cafe-price-label {
        font-size: 0.65rem !important;
        line-height: 1.1 !important;
    }
    .preis-video-col--price .cafe-price-value {
        font-size: 0.7rem !important;
        line-height: 1.1 !important;
    }
    .preis-video-col--price .cafe-price-total {
        padding-top: 4px !important;
        margin-top: 4px !important;
    }
    .preis-video-col--price .cafe-price-total-label {
        font-size: 0.6rem !important;
    }
    .preis-video-col--price .cafe-price-total-value {
        font-size: 0.75rem !important;
    }
    .preis-video-col--price button {
        padding: 6px !important;
        font-size: 0.7rem !important;
        margin-top: 6px !important;
    }
}