/* ============================================================================
 * V19 FIXES — evidence-based corrections, 2026-08-09 audit round.
 * Loads at enqueue priority 144 (after la-toxica-v19-buttons at 140).
 * Sealed-sheet discipline: v5–v18 sheets are untouched; every correction here
 * overrides a verified defect with the exact root cause noted inline.
 * ========================================================================== */

/* [F1] v11-qa-mobile-fixes.css (≤600px) sets overflow:visible on all pills to
 * stop label truncation, which un-clips the v19 sheen sweep pseudo-element →
 * hard grey rectangle bleeding past the pill edge on every mobile primary CTA.
 * The sheen must stay clipped; v19 pills wrap labels, so truncation no longer
 * needs overflow:visible. */
/* Round-2 finding: legacy component sheets (e.g. .latoxica-contact__cta) leave
 * overflow:visible at tablet widths too, so the clip must be unconditional —
 * every animated v19 pill (::before slide / ::after sheen) must always clip. */
.latoxica-button,
.latoxica-pill,
.v11-btn-primary,
.btn-primary,
.latoxica-storefront-cta {
    overflow: hidden !important;
}

/* [F2] v17-components.css "legacy a11y lifts" bundles the sticky-bar links
 * with dark-surface phone-link colors → the primary RESERVE label rendered
 * near-brand-pink on brand-pink (ratio ~1.1:1). White clears AA on rose. */
.latoxica-mobile-sticky-cta a,
.latoxica-mobile-sticky-cta a.latoxica-button--primary {
    color: #ffffff !important;
}

/* [F3] The fixed mobile sticky bar renders 73px tall but the body reserve was
 * 64px (v7-mobile-sitewide.css:43), so the bar covered the last lines of hero
 * copy at rest. Reserve real height + give full-height heroes clearance. */
@media (max-width: 768px) {
    body.latoxica-mobile-sticky-cta-enabled {
        padding-bottom: 88px !important;
    }
    body.latoxica-mobile-sticky-cta-enabled .latoxica-hero-a .latoxica-hero-a__inner {
        padding-bottom: 96px;
    }
}

/* [F4] v11-reservation-fix.css (FR page 16 only) clamped the LibroReserve
 * iframe to 650px !important while EN keeps the intended 750px → FR widget
 * clipped its lower steps. Normalize FR to the same 750 desktop / 600 mobile. */
body.page-id-16 .latoxica-reservation-card__media-stack > .latoxica-reservation-card__widget iframe {
    height: 750px !important;
    max-height: none !important;
}
@media (max-width: 768px) {
    body.page-id-16 .latoxica-reservation-card__media-stack > .latoxica-reservation-card__widget iframe {
        height: 600px !important;
        min-height: 550px !important;
    }
}

/* [F5] Menu prices: rose #EC2C91 measured 4.62:1 only thanks to a bespoke
 * darker card background — against the system charcoal token it fails AA.
 * Use the lighter legibility pink the v11 contrast sheets already intended
 * (their fix lost the specificity war). ~5.4:1 on #1a1a1a. */
.latoxica-menu-item__price {
    color: #e84a8c !important;
}

/* [F6] Foodtruck "CHOISI PAR" trust strip: items stack color
 * rgba(242,234,214,.55) with opacity:.85 → ~3.8:1. Lift to AA while keeping
 * the muted, greyscaled treatment. */
.latoxica-references-strip__item {
    color: rgba(242, 234, 214, 0.82) !important;
    opacity: 1 !important;
}

/* [F7] v11-fixes.css:339 hides .latoxica-section-asymmetric:nth-of-type(5)
 * media to mask a long-gone broken image; the positional selector now hides a
 * VALID photo (gallery-4.jpg, HTTP 200) on /fr/bar-mexicain-montreal/ and
 * /fr/traiteur-mexicain-montreal/bar-a-tacos/ (+ EN twins). Restore it; the
 * stack-layout rules above it (grid 1fr, max-height 400) remain in force. */
.latoxica-section-asymmetric:nth-of-type(5) .latoxica-section-asymmetric__media {
    display: block !important;
}

/* [F8] Mobile hamburger tap target measured ~39×40px (<44 minimum). */
header button[data-id="nav-button"] {
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* [F9] Hero-variant preview switcher (renders only with ?hero=N since the
 * V19 PHP gate): never on small screens, where it overlapped the hamburger. */
@media (max-width: 1023px) {
    .ltx-hero-switcher {
        display: none !important;
    }
}

/* [F12] Venue pages (2019–2022): the LibroReserve widget's internal content is
 * ~380px wide but its card container spans ~950px, pinning the booking UI to
 * the left with a dead white void beside it. Cap + centre the widget so the
 * embed reads as an intentional booking module. Reservation pages (16/186)
 * keep their own full-width stack layout. */
body.page-id-2019 .latoxica-reservation-card__widget,
body.page-id-2020 .latoxica-reservation-card__widget,
body.page-id-2021 .latoxica-reservation-card__widget,
body.page-id-2022 .latoxica-reservation-card__widget {
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

/* [F10] Footer utility links wrapped MID-anchor at 375px (container exactly at
 * capacity) — keep each link whole so rows break between links, not inside. */
footer ul.flex.flex-wrap li a {
    white-space: nowrap;
}

/* [F11] Hero eyebrow ("TWO ADDRESSES · ONE SPIRIT") wraps to two lines at
 * 375px with its decorative side-rule glued to the orphan word. Let it wrap
 * cleanly centred without the rules on small screens. */
@media (max-width: 480px) {
    .latoxica-eyebrow {
        white-space: normal;
        line-height: 1.6;
    }
    .latoxica-eyebrow::before,
    .latoxica-eyebrow::after {
        display: none;
    }
}
