
/* Offers section — brand-aligned static implementation */
.offers-section { background: var(--cream, #FFF0D8); overflow: hidden; }
.offers-heading { align-items: end; margin-bottom: 24px; }
.offers-heading .section-title { margin-bottom: 0; }
.offers-intro { max-width: 390px; color: #786b63; font-size: 13px; line-height: 2; }
.offers-kicker { color: var(--burgundy, #891736); }
.offers-panel { position: relative; padding: clamp(16px, 3vw, 30px); border: 1px solid rgba(137,23,54,.14); background: #fffaf1; box-shadow: 0 18px 45px rgba(65,27,32,.06); }
.offers-panel-head { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom:18px; }
.offers-panel-title { display:flex; align-items:center; gap:12px; color: var(--burgundy, #891736); font-weight:800; }
.offers-brand-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:#fff; background:#1877F2; flex:0 0 42px; }
.offers-brand-icon svg { width:20px; height:20px; fill:currentColor; }
.offers-panel-title small { display:block; margin-top:3px; color:#887c72; font-size:10px; font-weight:500; }
.offers-facebook-link { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 16px; color:#fff; background:#1877F2; border:1px solid #1877F2; font-size:12px; font-weight:800; transition:transform .2s ease, background .2s ease; }
.offers-facebook-link:hover { background:#1265cf; transform:translateY(-2px); }
.offers-facebook-link svg { width:16px; height:16px; fill:currentColor; }
.facebook-embed-shell { width:100%; max-width:500px; min-height:260px; margin-inline:auto; overflow:hidden; border:1px solid rgba(137,23,54,.12); background:#fff; }
.facebook-embed-shell iframe { display:block; width:100%; max-width:500px; min-height:650px; border:0; }
.offers-status { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:230px; padding:25px; text-align:center; color:#766b63; background:linear-gradient(135deg, #fffaf1, #f7ead8); }
.offers-status strong { color:var(--burgundy, #891736); font-size:16px; }
.offers-status p { max-width:520px; margin:0; font-size:12px; line-height:2; }
.offers-status code { direction:ltr; display:inline-block; padding:5px 8px; color:#6e2940; background:#f3e4df; font-size:11px; overflow-wrap:anywhere; }
.offers-status-icon { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; color:#fff; background:#1877F2; }
.offers-status-icon svg { width:23px; height:23px; fill:currentColor; }
.offers-disclaimer { margin:14px 0 0; color:#8b7e73; font-size:10px; line-height:1.9; text-align:center; }
/* Curated offers cards */
.featured-offers-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.featured-offer-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid rgba(137,23,54,.13); background:#fffaf1; transition:transform .25s ease, box-shadow .25s ease; }
.featured-offer-card:hover { transform:translateY(-4px); box-shadow:0 16px 34px rgba(65,27,32,.10); }
.featured-offer-image { position:relative; aspect-ratio: 4 / 3; overflow:hidden; background:#eadac8; }
.featured-offer-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.featured-offer-card:hover .featured-offer-image img { transform:scale(1.035); }
.featured-offer-image-placeholder { display:grid; place-items:center; width:100%; height:100%; color:#891736; background:linear-gradient(135deg,#fff0d8,#ead9c3); font-size:13px; }
.featured-offer-badge { position:absolute; top:12px; right:12px; padding:6px 11px; color:#fff; background:#891736; font-size:10px; font-weight:800; }
.featured-offer-body { display:flex; flex:1; flex-direction:column; align-items:flex-start; padding:17px; }
.featured-offer-body h3 { margin:0 0 8px; color:#891736; font-size:17px; }
.featured-offer-body p { margin:0 0 15px; color:#766b63; font-size:12px; line-height:1.9; }
.featured-offer-meta { margin-top:auto; display:flex; width:100%; align-items:center; justify-content:space-between; gap:10px; color:#9a8879; font-size:10px; }
.featured-offer-link { display:inline-flex; align-items:center; gap:7px; color:#1877F2; font-weight:800; font-size:11px; }
.featured-offer-link svg { width:14px; height:14px; fill:currentColor; }
.featured-offers-empty { padding:40px 20px; text-align:center; border:1px dashed rgba(137,23,54,.28); background:rgba(255,250,241,.7); }
.featured-offers-empty strong { display:block; margin-bottom:8px; color:#891736; font-size:17px; }
.featured-offers-empty p { margin:0 auto 16px; max-width:480px; color:#766b63; font-size:12px; line-height:2; }
@media (max-width: 850px) { .featured-offers-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
  .offers-heading { align-items:flex-start; }
  .offers-intro { max-width:none; margin-top:10px; }
  .offers-panel-head { align-items:flex-start; flex-direction:column; }
  .offers-facebook-link { width:100%; }
  .facebook-embed-shell iframe { min-height:600px; }
  .featured-offers-grid { grid-template-columns:1fr; gap:13px; }
  .featured-offer-image { aspect-ratio:16 / 10; }
}

/* Rotating visual offers / featured dishes carousel */
.promo-slider {
  margin: 0 0 28px;
  padding: clamp(15px, 2.7vw, 27px);
  border: 1px solid rgba(137,23,54,.15);
  background: #fffaf1;
  box-shadow: 0 15px 42px rgba(65,27,32,.065);
}
.promo-slider[hidden] { display: none !important; }
.promo-slider-head { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.promo-slider-kicker { display:block; margin-bottom:4px; color:#c08e47; font:800 9px/1.4 Arial,sans-serif; letter-spacing:2.2px; }
.promo-slider-head h3 { margin:0; color:#891736; font-size:clamp(19px,2.4vw,25px); }
.promo-slider-head p { margin:5px 0 0; color:#887b70; font-size:11px; line-height:1.8; }
.promo-counter { color:#9b7d55; font:800 11px/1 Arial,sans-serif; direction:ltr; white-space:nowrap; }
.promo-slider-window { position:relative; min-height:300px; overflow:hidden; border-radius:4px; background:#4b1024; }
.promo-slide {
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  min-height:300px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .55s ease, transform .55s ease, visibility .55s ease;
}
.promo-slide.is-active { position:relative; opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
.promo-slide-image { position:relative; min-height:300px; overflow:hidden; background:#dbc5a7; }
.promo-slide-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,transparent 60%,rgba(49,8,24,.24)); pointer-events:none; }
.promo-slide-image img { display:block; width:100%; height:100%; min-height:300px; object-fit:cover; }
.promo-slide-content {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  padding:clamp(22px,4vw,48px);
  color:#fff0d8;
  background:radial-gradient(circle at 90% 15%,rgba(207,156,81,.15),transparent 40%),linear-gradient(145deg,#64142e,#370b1d);
}
.promo-slide-badge { display:inline-flex; align-items:center; margin-bottom:14px; padding:6px 11px; border:1px solid rgba(207,156,81,.55); color:#f1cf91; font-size:10px; font-weight:800; }
.promo-slide-kicker { color:rgba(255,240,216,.55); font:800 8px/1.4 Arial,sans-serif; letter-spacing:2px; direction:ltr; }
.promo-slide-content h3 { margin:9px 0 7px; color:#fff8eb; font-size:clamp(23px,3.2vw,37px); line-height:1.4; }
.promo-slide-content p { max-width:370px; margin:0; color:rgba(255,240,216,.72); font-size:12px; line-height:2; }
.promo-slide-prices { display:flex; align-items:center; gap:12px; margin-top:14px; }
.promo-slide-prices strong { color:#f0c77f; font-size:18px; }
.promo-slide-prices del { color:rgba(255,240,216,.5); font-size:12px; }
.promo-slide-button { display:inline-flex; align-items:center; gap:10px; margin-top:20px; padding:11px 16px; border:1px solid rgba(207,156,81,.8); color:#fff0d8; font-size:11px; font-weight:800; transition:background .2s ease,transform .2s ease; }
.promo-slide-button:hover { background:rgba(207,156,81,.18); transform:translateY(-2px); }
.promo-slider-controls { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:15px; }
.promo-arrow { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(137,23,54,.22); border-radius:50%; color:#891736; background:#fff; font:24px/1 Arial,sans-serif; cursor:pointer; transition:background .2s ease,color .2s ease,border-color .2s ease; }
.promo-arrow:hover:not(:disabled) { color:#fff; border-color:#891736; background:#891736; }
.promo-arrow:disabled { opacity:.35; cursor:not-allowed; }
.promo-dots { display:flex; align-items:center; justify-content:center; gap:7px; }
.promo-dot { width:8px; height:8px; padding:0; border:0; border-radius:50%; background:rgba(137,23,54,.22); cursor:pointer; transition:width .2s ease,background .2s ease; }
.promo-dot.is-active { width:23px; border-radius:10px; background:#c08e47; }
.promo-slider-note { margin:12px 0 0; color:#998a7d; font-size:9px; line-height:1.8; text-align:center; }
@media (max-width:700px) {
  .promo-slider-head { align-items:flex-start; }
  .promo-slider-window,.promo-slide { min-height:0; }
  .promo-slide { grid-template-columns:1fr; }
  .promo-slide-image { min-height:0; height:220px; }
  .promo-slide-image img { min-height:0; height:220px; }
  .promo-slide-content { min-height:210px; padding:22px; }
  .promo-slide-content h3 { font-size:25px; }
}
@media (prefers-reduced-motion: reduce) {
  .promo-slide,.promo-slide-image img,.promo-slide-button,.promo-arrow,.promo-dot { transition:none !important; }
}

/* Targeted offer-card refinement: all offer details live in the image. */
.promo-slider-head { align-items:center; margin-bottom:11px; }
.promo-slider-head .promo-slider-kicker { margin:0; color:#891736; font-family:var(--font-ar, Tahoma, sans-serif); font-size:11px; letter-spacing:0; }
.promo-slide { display:block; min-height:360px; }
.promo-slide-image { position:relative; width:100%; height:clamp(300px, 42vw, 470px); min-height:0; background:#eadac8; }
.promo-slide-image::after { background:linear-gradient(180deg,rgba(30,5,15,0) 48%,rgba(30,5,15,.28) 100%); }
.promo-slide-image img { width:100%; height:100%; min-height:0; object-fit:cover; }
.promo-slide-button { position:absolute; z-index:2; right:24px; bottom:22px; margin:0; padding:12px 22px; border:1px solid #e7c38d; color:#fff0d8; background:#891736; box-shadow:0 7px 20px rgba(30,5,15,.22); font-family:var(--font-ar, Tahoma, sans-serif); font-size:13px; }
.promo-slide-button:hover { background:#641027; }
@media (max-width:700px) {
  .promo-slider-head { align-items:center; }
  .promo-slide { min-height:0; }
  .promo-slide-image { height:clamp(220px, 62vw, 320px); }
  .promo-slide-image img { height:100%; min-height:0; }
  .promo-slide-button { right:13px; bottom:13px; padding:10px 16px; font-size:12px; }
}

/* =========================================
   PROMOTIONS — SHOW FULL IMAGE WITHOUT CROP
   ========================================= */

/* Let the slider take the natural image height */
#promotions-carousel .promo-slider-window {
    height: auto !important;
    min-height: 0 !important;
}

/* Remove fixed slide height */
#promotions-carousel .promo-slide {
    min-height: 0 !important;
}

/* Make image container fit the original image */
#promotions-carousel .promo-slide-image {
    display: flex;
    flex-direction: column;
    align-items: stretch;

    width: 100%;
    height: auto !important;
    min-height: 0 !important;

    overflow: hidden;
    background: #fff0d8;
}


/* =========================================
   PROMOTIONS — COMPACT CENTERED FULL IMAGES
   ========================================= */

/* Reduce the entire promotions section width */
#promotions-carousel {
    width: 100% !important;
    max-width: 850px !important;
    box-sizing: border-box;
    margin: 0 auto 28px !important;
}

/* Fit the slider to the image */
#promotions-carousel .promo-slider-window {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
}

/* Remove unnecessary slide height */
#promotions-carousel .promo-slide {
    min-height: 0 !important;
    height: auto !important;
}

#promotions-carousel .promo-slide.is-active {
    position: relative;
}

/* Full image without cropping */
#promotions-carousel .promo-slide-image {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
}

#promotions-carousel .promo-slide-image img {
    display: block;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: fill !important;
}

/* Remove image overlay */
#promotions-carousel .promo-slide-image::after {
    display: none !important;
}

/* Keep order button over the image */
#promotions-carousel .promo-slide-button {
    position: absolute !important;
    right: 18px !important;
    bottom: 18px !important;
    margin: 0 !important;
}

@media (max-width: 700px) {
    #promotions-carousel {
        max-width: 100% !important;
    }

    #promotions-carousel .promo-slide-button {
        right: 12px !important;
        bottom: 12px !important;
    }
}


/*  */


/* Facebook Page Plugin — prevent content clipping */

/* .facebook-embed-shell {
    display: block;
    width: 100%;
    max-width: 500px;
    height: 1000px;
    min-height: 1000px;
    margin-inline: auto;
    overflow: hidden;
} */



/* .facebook-embed-shell iframe {
    display: block;
    width: 100%;
    max-width: 500px;
    height: 1000px !important;
    min-height: 1000px !important;
    border: 0;
} */

.facebook-embed-shell {
    box-sizing: border-box;
    width: 100%;
    max-width: 500px;
    min-width: 0;
    min-height: 260px;
    margin-inline: auto;
    overflow: hidden;
}

.facebook-embed-shell iframe {
    display: block;
    max-width: 100%;
    min-height: 650px;
    border: 0;
}

@media (max-width: 600px) {
    .facebook-embed-shell {
        width: 100%;
        height: 1000px;
        min-height: 1000px;
    }

    .facebook-embed-shell iframe {
        width: 100%;
        height: 1000px !important;
        min-height: 1000px !important;
    }
}



/* Fix unnecessary empty space below Facebook iframe */

.offers-panel #facebook-auto-feed {
    height: 700px !important;
    min-height: 0 !important;
    max-height: 700px !important;
    padding: 0 !important;
    margin: 0 auto !important;
    overflow: hidden;
}

/* Match iframe height with its container */
.offers-panel #facebook-auto-feed > iframe {
    display: block;
    width: 100% !important;
    height: 700px !important;
    min-height: 0 !important;
    max-height: 700px !important;
    border: 0;
}

/* Support the dynamically created iframe wrapper */
.offers-panel #facebook-auto-feed .facebook-frame-wrap {
    height: 700px;
    min-height: 0;
    overflow: hidden;
}

.offers-panel #facebook-auto-feed .facebook-frame-wrap iframe {
    height: 700px !important;
    min-height: 0 !important;
}

/* Keep the disclaimer close to Facebook */
.offers-panel .offers-disclaimer {
    margin-top: 10px;
    margin-bottom: 0;
}


/* The rotating offer CTA now opens the shared order dialog instead of navigating away. */
button.promo-slide-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; appearance:none; -webkit-appearance:none; border-radius:0; background:transparent; font:800 13px/1.5 var(--font-ar, Tahoma, sans-serif); cursor:pointer; }
button.promo-slide-button:focus-visible { outline:3px solid #e7c38d; outline-offset:3px; }


/* Make the offer CTA unmistakable over all advertisement images. */
#promotions-carousel button.promo-slide-button {
  display:inline-flex !important; align-items:center; justify-content:center; gap:10px;
  min-height:46px; padding:11px 22px !important;
  color:#fff !important; background:#891736 !important;
  border:2px solid #fff0d8 !important; outline:2px solid rgba(207,156,81,.95);
  box-shadow:0 5px 0 rgba(48,7,20,.45), 0 9px 26px rgba(0,0,0,.36) !important;
  font-size:14px !important; font-weight:900 !important; opacity:1 !important; visibility:visible !important;
  text-shadow:0 1px 2px rgba(0,0,0,.25); cursor:pointer;
}
#promotions-carousel button.promo-slide-button:hover {
  color:#4b1024 !important; background:#e7c38d !important; border-color:#fff !important;
  transform:translateY(-2px);
}
#promotions-carousel button.promo-slide-button:focus-visible { outline:3px solid #fff0d8 !important; outline-offset:4px; }

/* Gallery navigation is below the image, never over the photograph. */
.gallery-visual { display:flex; flex-direction:column; min-width:0; gap:10px; }
.gallery-slider-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; border:1px solid rgba(137,23,54,.14); background:#fff8ed; }
.gallery-slide-control { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:104px; min-height:39px; padding:7px 13px; border:1px solid #891736; color:#fff0d8; background:#891736; font:700 11px/1.4 var(--font-ar, Tahoma, sans-serif); cursor:pointer; transition:background .2s ease, transform .2s ease, opacity .2s ease; }
.gallery-slide-control:hover:not(:disabled) { background:#641027; transform:translateY(-1px); }
.gallery-slide-control:focus-visible { outline:3px solid rgba(207,156,81,.65); outline-offset:3px; }
.gallery-slide-control span[aria-hidden="true"] { color:#e7c38d; font:700 18px/1 Arial,sans-serif; }
.gallery-slide-control:disabled { opacity:.4; cursor:not-allowed; }
.gallery-slider-counter { color:#8b6e52; font:800 11px/1 Arial,sans-serif; direction:ltr; white-space:nowrap; }
@media (max-width:600px) {
  .gallery-slider-controls { gap:7px; padding:8px; }
  .gallery-slide-control { min-width:90px; min-height:38px; padding:7px 9px; font-size:10px; }
  #promotions-carousel button.promo-slide-button { min-height:43px; padding:9px 17px !important; font-size:12px !important; }
}
