/**
 * Aladdin's staging — 11/5 meeting notes visual fixes
 * Loaded from child theme. Safe to delete; rollback restores prior files.
 */

/* ---------- (1) Desktop logo ~15–20% smaller ---------- */
/* Cap only — do NOT force width:auto (that undoes Elementor tablet/desktop
   responsive widths and made the logo LARGER at 1024, overlapping nav). */
@media (min-width: 1200px) {
  .elementor-location-header .elementor-widget-image img,
  .elementor-location-header .elementor-widget-theme-site-logo img {
    max-width: 270px !important;
    height: auto !important;
  }
}

/* ---------- (2) Desktop nav left-aligned after logo ---------- */
/* Primary header 6247 uses fd714e2 + 92b98e2; Catering header 35382 uses effee4d */
@media (min-width: 901px) {
  .elementor-location-header .elementor-element-fd714e2,
  .elementor-location-header .elementor-element-effee4d {
    justify-content: flex-start !important;
  }
  .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu,
  .elementor-location-header .elementor-element-92b98e2 .elementor-nav-menu {
    justify-content: flex-start !important;
    margin-left: 0 !important;
  }
  .elementor-location-header .elementor-widget-nav-menu,
  .elementor-location-header .elementor-element-92b98e2 {
    margin-left: 0 !important;
    align-self: center !important;
  }
}

/* ---------- (3) Mobile: more side padding for logo + hamburger ---------- */
/* Shared row id 4452f89 on Primary (6247) and Catering (35382) headers */
@media (max-width: 900px) {
  .elementor-location-header .elementor-element-4452f89 {
    --padding-left: 36px !important;
    --padding-right: 36px !important;
    padding-left: 36px !important;
    padding-right: 36px !important;
  }
}
@media (max-width: 600px) {
  .elementor-location-header .elementor-element-4452f89 {
    --padding-left: 32px !important;
    --padding-right: 32px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
}

/* ---------- (4) Hamburger: return to green when closed; don't stick yellow on focus ---------- */
/* Closed default = olive. Gold only while .elementor-active (open) or :hover while closed. */
.elementor-location-header .elementor-menu-toggle,
.elementor-location-header .elementor-menu-toggle:focus,
.elementor-location-header .elementor-menu-toggle:focus-visible,
.elementor-location-header .elementor-menu-toggle:not(.elementor-active),
.elementor-location-header .elementor-menu-toggle:not(.elementor-active):focus,
.elementor-location-header .elementor-menu-toggle:not(.elementor-active):focus-visible {
  background-color: #4E4933 !important;
  color: #fff !important;
  outline: none !important;
  box-shadow: none !important;
}
.elementor-location-header .elementor-menu-toggle svg,
.elementor-location-header .elementor-menu-toggle i,
.elementor-location-header .elementor-menu-toggle .elementor-menu-toggle__icon {
  fill: #fff !important;
  color: #fff !important;
}
.elementor-location-header .elementor-menu-toggle.elementor-active,
.elementor-location-header .elementor-menu-toggle.elementor-active:focus,
.elementor-location-header .elementor-menu-toggle.elementor-active:focus-visible,
.elementor-location-header .elementor-menu-toggle:not(.elementor-active):hover {
  background-color: #B59460 !important;
}

/* ---------- (5) About Us / More dropdown font size = top-level ---------- */
.elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
.elementor-location-header .elementor-nav-menu--dropdown a {
  font-size: 20px !important;
  line-height: 1.2 !important;
}
@media (max-width: 1024px) {
  .elementor-location-header .elementor-nav-menu--dropdown .elementor-item,
  .elementor-location-header .elementor-nav-menu--dropdown a {
    font-size: 18px !important;
  }
}

/* ---------- (6) Beige pattern → solid base beige ---------- */
/* Pattern PNGs are also replaced with solid files; this covers inline/Elementor CSS. */
:root {
  --aladdins-beige-solid: #F5EFE3;
}
body .elementor-section[style*="beige-pattern"],
body .elementor-section[style*="bg-pattern"],
body .e-con[style*="beige-pattern"],
body .e-con[style*="bg-pattern"],
body .elementor-column[style*="beige-pattern"],
body .elementor-column[style*="bg-pattern"] {
  background-image: none !important;
  background-color: var(--aladdins-beige-solid) !important;
}

/* ---------- (7) Sticky category bar: vertical center + underline closer ---------- */
.mlp-cats__link {
  display: flex !important;
  align-items: center !important;
  padding-top: 14px !important;
  padding-bottom: 8px !important;
  border-bottom-width: 2px !important;
}
.mlp-bar__arrow,
.mlp button.mlp-bar__all {
  padding-bottom: 8px !important;
}
.mlp-cats {
  padding-bottom: 4px !important;
  --mlp-cats-scrollbar-gap: 4px;
}
.mlp-cats__link.is-active {
  border-bottom-color: var(--mlp-ink, #4E4933) !important;
}

/* ---------- (8) More space between category sections ---------- */
.mlp-section {
  padding-top: 64px !important;
  padding-bottom: 16px !important;
}
.mlp-section + .mlp-section {
  margin-top: 12px !important;
  border-top: 1px solid rgba(181, 148, 96, 0.35);
  padding-top: 56px !important;
}

/* ---------- (9) Mobile: back-to-top vs Order button — no overlap ---------- */
/* Astra scroll-top left conflicts with sticky Order (bottom-left). Move scroll-top up/right on mobile. */
@media (max-width: 900px) {
  #ast-scroll-top,
  #ast-scroll-top.ast-scroll-to-top-left,
  .ast-scroll-to-top-left {
    left: auto !important;
    right: 16px !important;
    bottom: 88px !important; /* clear sticky Order */
  }
  /* If Order is bottom-left floating */
  .elementor-location-popup .dialog-widget-content,
  a.aladdins-sticky-order,
  .aladdins-floating-order,
  .elementor-element[class*="order"][class*="sticky"] {
    /* no-op placeholder; actual Order widget repositioned below if needed */
  }
}

/* ---------- (11) Search placeholder is set in Elementor/PHP; input styling OK ---------- */

/* ---------- (12) Standardize red buttons ---------- */
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-lg,
.elementor-button,
a.elementor-button,
.mlp a.mlp-head__cta,
.mlp button.mlp-showall,
.btn-order,
a.btn-order {
  font-size: 24px !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  letter-spacing: 0.02em !important;
  font-family: "Interstate Condensed Bold", "Interstate Condensed", sans-serif !important;
}
.elementor-button,
a.elementor-button {
  padding: 12px 28px !important;
}
/* Consistent vertical padding around common CTA rows (not header) */
.elementor-widget-button {
  margin-top: 8px;
  margin-bottom: 8px;
}
.elementor-location-header .elementor-widget-button {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Header CTA (Order Online / Order Catering): keep Elementor/header sizing so
   the mobile bar stays one row and tablet/desktop header is not oversized.
   Page/body red CTAs still get the 24px standard above. */
.elementor-location-header .elementor-button,
.elementor-location-header a.elementor-button {
  font-size: 18px !important;
  padding: 12px 16px !important;
  letter-spacing: normal !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}
@media (min-width: 1025px) {
  .elementor-location-header .elementor-button,
  .elementor-location-header a.elementor-button {
    font-size: 20px !important;
    padding: 12px 20px !important;
  }
}

/* ---------- Mobile/tablet header: single row with edge padding ---------- */
@media (max-width: 900px) {
  .elementor-location-header .elementor-element-4452f89 {
    flex-wrap: nowrap !important;
    align-items: center !important;
  }
  /* Primary: fd714e2 holds Order Online + hamburger; Catering: effee4d holds Order Catering + hamburger */
  .elementor-location-header .elementor-element-fd714e2,
  .elementor-location-header .elementor-element-effee4d {
    flex-wrap: nowrap !important;
    flex: 0 1 auto !important;
    width: auto !important;
    max-width: none !important;
    align-items: center !important;
    gap: 8px !important;
  }
  .elementor-location-header .elementor-element-a89c79d {
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }
}

/* ---------- (13) Heading letter-spacing = Explore our menu (0 / normal) ---------- */
.mlp-hero__title {
  letter-spacing: 0 !important;
}
.mlp-cats__link,
.mlp button.mlp-bar__all,
.mlp-section__title,
.mlp-allcats__link {
  letter-spacing: 0 !important;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.entry-title,
.elementor-widget-heading .elementor-heading-title {
  letter-spacing: 0 !important;
}

/* ---------- Homepage SPREAD JOY cards: mobile horizontal swipe ---------- */
@media (max-width: 767px) {
  .aladdins-spread-row {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 16px !important;
    padding-bottom: 12px !important;
  }
  .aladdins-spread-card {
    flex: 0 0 78% !important;
    max-width: 78% !important;
    width: 78% !important;
    scroll-snap-align: start;
  }
}
@media (min-width: 768px) {
  .aladdins-spread-row {
    flex-wrap: nowrap !important;
  }
  .aladdins-spread-card {
    flex: 1 1 0 !important;
    max-width: none !important;
  }
}