/* V11 FIXES — Mobile Review Readability + Footer */

/* === REVIEW SECTION: force dark theme on mobile === */
.latoxica-testimonials-marquee {
    background: #1a1a1a !important;
    color: #ffffff !important;
}

.latoxica-testimonials-marquee__title {
    color: #ffffff !important;
}

.latoxica-testimonials-marquee__eyebrow {
    color: #EC2C91 !important;
}

/* Review quote text — MUST be white and readable */
.latoxica-testimonial-card__quote p {
    color: #ffffff !important;
    font-weight: 400 !important;
    opacity: 1 !important;
}

/* Author name visible */
.latoxica-testimonial-card__name {
    color: #ffffff !important;
    opacity: 0.85 !important;
}

.latoxica-testimonial-card__meta {
    color: #ffffff !important;
    opacity: 0.6 !important;
}

.latoxica-testimonial-card__highlight {
    color: #EC2C91 !important;
}

/* Card background dark */
.latoxica-testimonial-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* === FOOTER: uniformize & compact === */

/* Force all footer text consistently aligned */
footer.latoxica-bleed,
.latoxica-contact,
.latoxica-contact * {
    text-align: left !important;
}

/* BUT keep the logo/image section centered */
.latoxica-contact .flex.items-center.justify-center {
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
}

/* Compact footer: reduce padding */
@media (max-width: 768px) {
    footer.latoxica-bleed {
        padding: 1.5rem 1rem !important;
    }

    .latoxica-contact {
        font-size: 0.85rem !important;
        line-height: 1.4 !important;
    }

    /* Override Tailwind spacing */
    footer .mt-2em,
    footer [class*="mt-2"],
    footer [class*="my-2"] {
        margin-top: 0.5rem !important;
    }
    footer .lg\\:mt-6em,
    footer [class*="mt-6"] {
        margin-top: 0.5rem !important;
    }
    footer .lg\\:py-4em,
    footer [class*="py-4"] {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    footer [class*="h-32"] {
        height: auto !important;
        max-height: 80px !important;
    }
    footer .lg\\:h-48 {
        height: auto !important;
        max-height: 80px !important;
    }

    /* Grid to horizontal flex-wrap on mobile */
    .latoxica-contact__grid {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.75rem !important;
    }

    .latoxica-contact__column {
        flex: 1 1 140px !important;
        min-width: 140px !important;
    }

    /* Compact headings */
    .latoxica-contact h3 {
        font-size: 0.9rem !important;
        margin-bottom: 0.3rem !important;
        margin-top: 0 !important;
    }

    .latoxica-contact h2 {
        font-size: 1rem !important;
        margin: 0.75rem 0 0.25rem !important;
    }

    .latoxica-contact p {
        margin: 0.1rem 0 !important;
        font-size: 0.8rem !important;
    }

    .latoxica-contact a {
        font-size: 0.8rem !important;
    }

    /* Hide footer background image on mobile to save space */
    .latoxica-contact .bg-center.bg-cover {
        display: none !important;
    }

    /* Legal links inline */
    .latoxica-contact ul {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 0.75rem !important;
        padding: 0 !important;
        margin: 0.5rem 0 !important;
        list-style: none !important;
    }

    .latoxica-contact ul li {
        margin: 0 !important;
    }

    /* Copyright line - force left aligned */
    .latoxica-contact .text-center,
    footer .text-center {
        text-align: left !important;
    }

    /* Compact "À propos" paragraph on mobile */
    .latoxica-contact h2 + p,
    footer [class*="px-4"] p {
        font-size: 0.75rem !important;
        line-height: 1.35 !important;
        margin: 0.25rem 0 !important;
        max-height: none !important;
    }

    /* Hide or minimize large footer image */
    footer img[alt*="Toxica"],
    footer img[src*="latoxica-logo"] {
        max-height: 50px !important;
    }
}

/* ============================================
   P0-1: MOBILE HORIZONTAL OVERFLOW PREVENTION
   (MiroFish simulation flag - 2026-05-29)
   ============================================ */

/* Prevent any horizontal scroll from rogue elements */
html,
body {
    overflow-x: hidden;
}

/* Ensure all images respect container bounds on mobile */
@media (max-width: 768px) {
    img {
        max-width: 100%;
        height: auto;
    }

    /* Additional safety for any absolutely positioned elements */
    .latoxica-bleed,
    section {
        overflow-x: hidden;
    }
}

/* ═══════════════════════════════════════════════════════════
   V11 CONTRAST FIX (appended to v11-fixes.css)
   Fixes: menu page unreadable cream-on-cream text
          site-wide light containers with cream text
   ═══════════════════════════════════════════════════════════ */

/* MENU PAGE: DARK BACKGROUND FOR CONTENT CONTAINER */
.page-template-latoxica-menu section.container,
body:has(.latoxica-menu-section) section.container,
main:has(.latoxica-menu-section) section.container {
    background-color: var(--noir-azabache, #0A0707) !important;
}

/* MENU SECTION HEADINGS */
.latoxica-menu-section__title {
    color: var(--or-cierge, #e84a8c) !important;
}

/* MENU ITEM NAMES */
.latoxica-menu-item__name {
    color: var(--creme-tortilla, #F2EAD6) !important;
}

/* MENU ITEM PRICES */
.latoxica-menu-item__price {
    color: var(--or-cierge, #e84a8c) !important;
}

/* MENU FILTER CHIPS */
.latoxica-menu-filter__chip {
    color: var(--creme-tortilla, #F2EAD6) !important;
    border-color: var(--or-cierge-soft, rgba(236,44,145,0.18)) !important;
}
.latoxica-menu-filter__chip:hover,
.latoxica-menu-filter__chip:focus-visible,
.latoxica-menu-filter__chip.is-active {
    background: var(--or-cierge, #e84a8c) !important;
    color: var(--noir-azabache, #0A0707) !important;
}

/* MENU ANCHOR NAV */
.latoxica-menu-anchors a {
    color: var(--creme-tortilla, #F2EAD6) !important;
    border-color: var(--or-cierge-soft, rgba(236,44,145,0.18)) !important;
}
.latoxica-menu-anchors a:hover {
    background: var(--or-cierge, #e84a8c) !important;
    color: var(--noir-azabache, #0A0707) !important;
}

/* SECTION TITLE ITALIC */
.latoxica-menu-section__title em {
    color: var(--or-cierge, #e84a8c) !important;
}

/* CAVEAT */
.latoxica-menu-section__caveat {
    color: var(--or-cierge, #e84a8c) !important;
}

/* COOKIE CONSENT BANNER */
.cookie-consent-banner {
    background-color: var(--noir-azabache, #0A0707) !important;
    border-top: 1px solid var(--or-cierge-soft, rgba(236,44,145,0.18)) !important;
}
.cookie-consent-banner,
.cookie-consent-banner p,
.cookie-consent-banner span {
    color: var(--creme-tortilla, #F2EAD6) !important;
}

/* CONTAINER FALLBACK */
@supports (color: color-mix(in srgb, red, blue)) {
    section.container:has(.latoxica-menu-section),
    .container:has(.latoxica-menu-item) {
        background-color: var(--noir-azabache, #0A0707) !important;
    }
}

/* ═══════════════════════════════════════════════════════════
   V11 TRAITEUR SECTION FIX
   Collapses empty/broken media column in asymmetric grid
   ═══════════════════════════════════════════════════════════ */

/* When the traiteur image fails to load, collapse to single column */
.latoxica-section-asymmetric__grid:has(img[alt*="traiteur"]) {
    grid-template-columns: 1fr !important;
}
.latoxica-section-asymmetric__grid:has(img[alt*="traiteur"]) .latoxica-section-asymmetric__media {
    grid-column: 1 !important;
    grid-row: 2 !important;
    max-height: 400px !important;
    overflow: hidden !important;
}
.latoxica-section-asymmetric__grid:has(img[alt*="traiteur"]) .latoxica-section-asymmetric__copy {
    grid-column: 1 !important;
    grid-row: 1 !important;
}

/* Vegetarian reassurance badge in hero */
.latoxica-hero-a .latoxica-pill-veggie {
    display: inline-block;
    padding: 0.4rem 1rem;
    border: 1px solid var(--or-cierge-soft, rgba(236,44,145,0.18));
    border-radius: 999px;
    color: var(--or-cierge, #e84a8c);
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    margin-top: 0.5rem;
}

/* Cookie consent banner: force dark theme */
.cookie-consent-banner {
    background-color: #0A0707 !important;
    color: #F2EAD6 !important;
    border-top: 1px solid rgba(236,44,145,0.18) !important;
}
.cookie-consent-banner * {
    color: #F2EAD6 !important;
}

/* ═══════════════════════════════════════════════════════════
   V11 TRAITEUR FIX v2 — nth-child approach (more reliable than :has)
   Forces second asymmetric section (traiteur) to single column
   when the hero-carousel-4.jpg fails to load.
   ═══════════════════════════════════════════════════════════ */

/* Target the traiteur grid specifically — it is the 2nd asymmetric grid on the page */
.latoxica-section-asymmetric:nth-of-type(5) .latoxica-section-asymmetric__grid {
    grid-template-columns: 1fr !important;
}
.latoxica-section-asymmetric:nth-of-type(5) .latoxica-section-asymmetric__media {
    grid-row: 2 !important;
    grid-column: 1 !important;
    max-height: 400px !important;
    overflow: hidden !important;
}
.latoxica-section-asymmetric:nth-of-type(5) .latoxica-section-asymmetric__copy {
    grid-row: 1 !important;
    grid-column: 1 !important;
}

/* Hide broken traiteur image — hero-carousel-4.jpg is loading as 0x0 */
.latoxica-section-asymmetric:nth-of-type(5) .latoxica-section-asymmetric__media {
    display: none !important;
}
.latoxica-section-asymmetric:nth-of-type(5) .latoxica-section-asymmetric__grid {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
}

/* ═══════════════════════════════════════════════════════════
   V11 MIROFISH FIXES — Top findings from 12-batch audit
   Applied: 2026-05-29
   ═══════════════════════════════════════════════════════════ */

/* ── FOOD IMAGE BRIGHTNESS (Fix #5) ── */
/* Dark theme drowns food photography — boost brightness */
.latoxica-menu-section img,
.menu-item-card img,
.latoxica-section-asymmetric__media img {
    filter: brightness(1.12) contrast(1.08) !important;
}

/* ── MENU FILTER CHIPS MORE PROMINENT (Fix #12) ── */
.latoxica-menu-filter__chip {
    font-size: 0.85rem !important;
    padding: 0.55rem 1.1rem !important;
    font-weight: 500 !important;
}
/* Vegetarian filter gets a subtle green tint */
.latoxica-menu-filter__chip:nth-child(3) {
    border-color: rgba(72, 199, 142, 0.4) !important;
}

/* ── STICKY ORDER BUTTON ON MOBILE MENU (Fix #18) ── */
@media (max-width: 768px) {
    /* After the menu nav, add a sticky CTA bar */
    .latoxica-menu-bar-cta {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 50 !important;
        background: #0A0707 !important;
        border-top: 1px solid rgba(236,44,145,0.2) !important;
        padding: 0.75rem 1rem !important;
    }
    .latoxica-menu-bar-cta a {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 0.75rem !important;
        font-size: 1rem !important;
    }
}

/* ── DELIVERY APP BADGES VISIBILITY (Fix #4 partial) ── */
/* Make delivery platform logos more visible in footer */
footer img[alt*="uber" i],
footer img[alt*="doordash" i],
footer img[src*="uber"],
footer img[src*="doordash"] {
    filter: brightness(1.3) !important;
    min-width: 48px !important;
    min-height: 48px !important;
}

/* ═══════════════════════════════════════════════════════════
   V11 MIROFISH 100-PERSONA AUDIT CONSOLIDATED FIXES
   Applied: 2026-05-29
   Source: 81 batch JSON files, 436 unique issues identified
   ═══════════════════════════════════════════════════════════ */

/* ── SECTION: REVIEW STARS SIZE FIX (CRITICAL) ── */
/* Ensure stars are normal size, not gigantic */
/* OVERRIDE v11-reviews.css which sets stars to 2rem/2.5rem (way too big) */
.review-stars,
.google-reviews .stars,
.star-rating,
.stars,
.latoxica-testimonial-card .stars,
.latoxica-testimonials-marquee__aggregate-stars,
.latoxica-testimonial-card__rating,
.latoxica-testimonial-card__rating span {
    font-size: 1.25rem !important; /* Reasonable size - not gigantic, not tiny */
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.125rem !important;
    color: #f5c518 !important; /* Gold/yellow */
    letter-spacing: 0.05em !important;
}

.review-stars svg,
.star-rating svg,
.stars svg,
.latoxica-testimonial-card .stars svg {
    width: 1.25rem !important;
    height: 1.25rem !important;
    max-width: 1.25rem !important;
    max-height: 1.25rem !important;
}

/* ── SECTION: TRUST BAR STYLING ── */
.trust-bar,
.trust-badges {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 1rem !important;
    padding: 1rem !important;
    margin-top: 1rem !important;
}

.trust-bar span,
.trust-badge {
    background-color: rgba(232, 74, 140, 0.15) !important;
    color: #F5EFE0 !important;
    padding: 0.5rem 1rem !important;
    border-radius: 9999px !important;
    font-size: 0.875rem !important;
}

/* ── SECTION: MENU CARD ENHANCEMENTS ── */
.menu-card,
.menu-item-card,
.food-item,
.latoxica-menu-item {
    background-color: #1a1414 !important;
    border-radius: 0.75rem !important;
    overflow: hidden !important;
    transition: transform 0.2s ease !important;
}

.menu-card:hover,
.menu-item-card:hover,
.latoxica-menu-item:hover {
    transform: translateY(-4px) !important;
}

/* Price styling */
.menu-card .price,
.menu-item-card .price,
.food-item .price,
.item-price,
.latoxica-menu-item__price {
    color: #e84a8c !important;
    font-weight: 700 !important;
    font-size: 1.25rem !important;
}

/* Per-unit price helper */
.price-per-unit,
.unit-price {
    color: rgba(245, 239, 224, 0.6) !important;
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    margin-left: 0.5rem !important;
}

/* Quantity badge */
.quantity-badge,
.portion-badge {
    position: absolute !important;
    bottom: 0.5rem !important;
    right: 0.5rem !important;
    background-color: #e84a8c !important;
    color: #ffffff !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: 0.25rem !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
}

/* ── SECTION: VEGETARIAN FILTER PROMINENCE ── */
.filter-vegetarian,
.vegetarian-filter,
button[data-filter="vegetarian"],
a[href*="vegetarien"],
.latoxica-menu-filter__chip--vegetarian {
    background-color: #22c55e !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 0.5rem 1rem !important;
    border-radius: 9999px !important;
}

/* Dietary icons */
.dietary-icon,
.allergen-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 1.5rem !important;
    height: 1.5rem !important;
    border-radius: 50% !important;
    font-size: 0.75rem !important;
    margin-right: 0.25rem !important;
}

.dietary-icon.vegetarian {
    background-color: #22c55e !important;
    color: white !important;
}

/* ── SECTION: DELIVERY BUTTONS STYLING ── */
.delivery-buttons,
.order-platforms {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 0.75rem !important;
    margin-top: 1rem !important;
}

.delivery-btn,
.uber-eats-btn,
.doordash-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0.75rem 1.5rem !important;
    border-radius: 0.5rem !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    transition: transform 0.2s ease !important;
}

.uber-eats-btn {
    background-color: #000000 !important;
    color: #ffffff !important;
}

.doordash-btn {
    background-color: #ff3008 !important;
    color: #ffffff !important;
}

.delivery-btn:hover {
    transform: scale(1.05) !important;
}

/* ── SECTION: LOCATION & HOURS VISIBILITY ── */
.location-bar,
.locations {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 1.5rem !important;
    padding: 1rem !important;
    color: rgba(245, 239, 224, 0.8) !important;
    font-size: 0.875rem !important;
}

.hours-badge,
.open-hours {
    color: #22c55e !important;
    font-weight: 600 !important;
}

/* ── SECTION: MOBILE TOUCH TARGET FIXES ── */
@media (max-width: 768px) {
    /* Minimum touch target size - 44px (WCAG 2.5.5) */
    a.latoxica-button,
    button.latoxica-button,
    .latoxica-pill,
    .latoxica-menu-filter__chip,
    .latoxica-menu-anchors a {
        min-height: 44px !important;
        min-width: 44px !important;
    }

    /* Sticky order button on mobile */
    .sticky-order-btn,
    .mobile-order-btn {
        position: fixed !important;
        bottom: 1rem !important;
        left: 1rem !important;
        right: 1rem !important;
        background-color: #e84a8c !important;
        color: #ffffff !important;
        text-align: center !important;
        padding: 1rem !important;
        border-radius: 0.5rem !important;
        font-weight: 700 !important;
        font-size: 1.125rem !important;
        z-index: 1000 !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
    }

    /* Hero buttons stack nicely on mobile */
    .hero-buttons,
    .hero-cta-group,
    .latoxica-hero-a__ctas {
        flex-direction: column !important;
        gap: 1rem !important;
        width: 100% !important;
        padding: 0 1rem !important;
    }

    .hero-buttons a,
    .hero-buttons button,
    .latoxica-hero-a__ctas a {
        width: 100% !important;
        text-align: center !important;
    }
}

/* ── SECTION: TRAITEUR FULL-WIDTH TEXT ── */
.traiteur-section,
.catering-section,
.latoxica-section-asymmetric--traiteur {
    width: 100% !important;
    max-width: 100% !important;
    padding: 4rem 2rem !important;
}

.traiteur-content,
.catering-content {
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

.traiteur-text,
.catering-text {
    width: 100% !important;
    max-width: none !important;
}

/* ── SECTION: RESERVATION PAGE FIX ── */
/* Photo above, widget below - no overlap */
.reservation-page .hero-image,
.reservation-hero {
    width: 100% !important;
    height: auto !important;
    max-height: 40vh !important;
    object-fit: cover !important;
    margin-bottom: 2rem !important;
}

.reservation-widget,
.libro-reserve-widget,
.booking-widget {
    position: relative !important;
    z-index: 10 !important;
    background-color: #1a1414 !important;
    padding: 2rem !important;
    border-radius: 0.75rem !important;
    margin-top: 0 !important;
    transform: none !important;
}

/* ── SECTION: ACCESSIBILITY IMPROVEMENTS ── */
/* Focus indicators */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 2px solid #e84a8c !important;
    outline-offset: 2px !important;
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    body {
        color: #ffffff !important;
    }

    .btn-primary,
    .cta-primary,
    .latoxica-button--primary {
        background-color: #ff69b4 !important;
        border-color: #ff69b4 !important;
    }
}
