/* ═══════════════════════════════════════════════════════════════════
   Flavor — Frontend Stylesheet
   Language switcher, Arabic typography enhancements, and RTL polish.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Floating Language Switcher ── */
.flavor-floating-switcher {
    position: fixed;
    bottom: 20px;
    right: 20px;
    left: auto;
    z-index: 99999;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 4px;
    background: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(15, 23, 42, 0.10);
    border-radius: 999px;
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.16);
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* Mobile section balance: the cloned Elementor pages keep their authored
   desktop structure, but these specific shared widgets need an explicit
   phone composition so translated copy cannot stretch one narrow column. */
@media (max-width: 767px) {
    /* About page: compact the source card and keep the bottle from consuming
       half of the viewport before the useful copy starts. */
    .elementor-element.elementor-element-3935fff9 {
        border-radius: 26px !important;
        overflow: hidden !important;
    }

    .elementor-element.elementor-element-3935fff9 > .elementor-container {
        min-height: 0 !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-element-4ad92eef {
        height: 190px !important;
        min-height: 190px !important;
        flex: 0 0 190px !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-element-794451fe {
        width: 145px !important;
        max-width: 145px !important;
        margin: -18px auto -8px !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-element-794451fe img {
        width: 145px !important;
        max-height: 215px !important;
        object-fit: contain !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-element-6162e1d1 {
        height: auto !important;
        min-height: 0 !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-element-6162e1d1 > .elementor-widget-wrap {
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 8px 24px 28px !important;
        align-content: flex-start !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-element-13423d44 {
        margin: 0 0 14px !important;
        text-align: center !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-element-13423d44 .elementor-heading-title {
        font-size: 23px !important;
        line-height: 1.2 !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-element-ea1a628 {
        margin: 0 !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-icon-list-item {
        min-height: 0 !important;
        margin-bottom: 10px !important;
        align-items: flex-start !important;
    }

    .elementor-element.elementor-element-3935fff9 .elementor-icon-list-text {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    /* About page: use a real two-column grid. The old 50% widths plus a gap
       exceeded the row width and silently wrapped every item to its own line. */
    .elementor-element.elementor-element-670f3ca {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px 10px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .elementor-element.elementor-element-670f3ca > .e-con,
    .elementor-element.elementor-element-670f3ca > [class*="elementor-element-"] {
        width: auto !important;
        min-width: 0 !important;
        min-height: 122px !important;
        margin: 0 !important;
        padding: 8px 4px !important;
        gap: 6px !important;
    }

    .elementor-element.elementor-element-670f3ca .elementor-widget-image-box {
        width: 100% !important;
        margin: 0 !important;
    }

    .elementor-element.elementor-element-670f3ca .elementor-image-box-img {
        width: 72px !important;
        margin: 0 auto 8px !important;
    }

    .elementor-element.elementor-element-670f3ca .elementor-image-box-title {
        font-size: 13px !important;
        line-height: 1.25 !important;
        margin: 0 !important;
        text-align: center !important;
    }

    /* Shared footer: retain every link but stop stacking three desktop-width
       columns. Brand information stays full-width; navigation becomes a
       balanced two-column grid and contact spans the row. */
    .elementor-element.elementor-element-a976df0 > .e-con-inner {
        display: flex !important;
        flex-direction: column !important;
        gap: 24px !important;
        padding: 32px 18px 26px !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-element-1857b8ff {
        width: 100% !important;
        gap: 14px !important;
        padding: 0 !important;
        align-items: center !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-element-4088e9c3 {
        width: 180px !important;
        max-width: 180px !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-element-22d458e1 {
        width: 100% !important;
        max-width: 330px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-element-22d458e1 .elementor-heading-title {
        font-size: 13px !important;
        line-height: 1.55 !important;
        letter-spacing: .5px !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-element-3c965404 {
        margin: 0 !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-element-1523045 {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 22px 12px !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-element-1523045 > .e-con {
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        gap: 10px !important;
        padding: 0 4px !important;
        margin: 0 !important;
        align-items: center !important;
        text-align: center !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-element-43f10cb0 {
        grid-column: 1 / -1 !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-element-1523045 h4 {
        font-size: 16px !important;
        line-height: 1.3 !important;
        margin-bottom: 4px !important;
    }

    .elementor-element.elementor-element-a976df0 .elementor-icon-list-item {
        min-height: 28px !important;
        font-size: 13px !important;
        justify-content: center !important;
    }

    /* Contact page: convert the right-heavy icon boxes into compact rows.
       Logical alignment preserves the icon/text order in RTL automatically. */
    .elementor-element.elementor-element-ad53066 .elementor-element-7538403a > .elementor-widget-wrap {
        padding: 24px 0 10px !important;
    }

    .elementor-element.elementor-element-ad53066 .elementor-element-3d6784a0,
    .elementor-element.elementor-element-ad53066 .elementor-element-f978d1b,
    .elementor-element.elementor-element-ad53066 .elementor-element-58f738bb {
        margin: 0 0 10px !important;
        padding: 12px 14px !important;
        border: 1px solid #dcebe7 !important;
        border-radius: 16px !important;
        background: #f8fcfb !important;
    }

    .elementor-element.elementor-element-ad53066 .elementor-icon-box-wrapper {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 14px !important;
        text-align: start !important;
    }

    .elementor-element.elementor-element-ad53066 .elementor-icon-box-icon {
        width: 44px !important;
        margin: 0 !important;
        text-align: center !important;
        grid-row: 1 !important;
        grid-column: 1 !important;
    }

    .elementor-element.elementor-element-ad53066 .elementor-icon-box-content {
        grid-row: 1 !important;
        grid-column: 2 !important;
        text-align: start !important;
    }

    .elementor-element.elementor-element-ad53066 .elementor-icon-box-title {
        font-size: 16px !important;
        line-height: 1.25 !important;
        margin: 0 0 3px !important;
    }

    .elementor-element.elementor-element-ad53066 .elementor-icon-box-description {
        font-size: 13px !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        overflow-wrap: anywhere !important;
    }

    /* Products page FAQ: Elementor marked the only accordion as
       `elementor-hidden-mobile`, leaving just the heading and decorative
       bottle on phones. Restore the useful content and keep the artwork as a
       compact visual accent instead of letting it occupy an entire screen. */
    .elementor-element.elementor-element-3940e23 > .elementor-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 4px 22px 42px !important;
    }

    .elementor-element.elementor-element-1c5bbf7 > .e-con-inner {
        width: 100% !important;
        padding-inline: 22px !important;
    }

    .elementor-element.elementor-element-1c5bbf7 .elementor-element-5745e7f {
        width: 100% !important;
        margin: 0 !important;
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        text-align: center !important;
    }

    .elementor-element.elementor-element-1c5bbf7 .elementor-element-5745e7f .elementor-heading-title {
        font-size: clamp(28px, 8vw, 34px) !important;
        line-height: 1.08 !important;
        overflow-wrap: anywhere !important;
    }

    .elementor-element.elementor-element-3940e23 .elementor-element-01e876b,
    .elementor-element.elementor-element-3940e23 .elementor-element-62020dd {
        width: 100% !important;
        min-height: 0 !important;
    }

    .elementor-element.elementor-element-3940e23 .elementor-element-01e876b > .elementor-widget-wrap {
        display: flex !important;
        justify-content: center !important;
        min-height: 0 !important;
        padding: 0 !important;
    }

    .elementor-element.elementor-element-3940e23 .elementor-element-3096573 {
        width: 230px !important;
        max-width: 230px !important;
        margin: 0 auto 12px !important;
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    .elementor-element.elementor-element-3940e23 .elementor-element-3096573 img {
        width: 230px !important;
        max-height: 330px !important;
        object-fit: contain !important;
    }

    .elementor-element.elementor-element-3940e23 .elementor-element-62020dd > .elementor-widget-wrap {
        padding: 0 !important;
    }

    .elementor-element.elementor-element-3940e23 .elementor-element-bdc0f35.elementor-hidden-mobile {
        display: block !important;
        width: 100% !important;
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    .elementor-element.elementor-element-3940e23 .bdt-ep-accordion-item {
        margin-bottom: 10px !important;
        overflow: hidden !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 30px !important;
        box-shadow: none !important;
    }

    .elementor-element.elementor-element-3940e23 .bdt-ep-accordion-title {
        min-height: 54px !important;
        padding: 16px 20px !important;
        color: #102a3b !important;
        background: #2bafe0 !important;
        border-radius: 30px !important;
        box-shadow: none !important;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }

    .elementor-element.elementor-element-3940e23 .bdt-ep-accordion-item.bdt-open .bdt-ep-accordion-title {
        color: #102a3b !important;
        background: #2bafe0 !important;
        border-radius: 30px 30px 0 0 !important;
        box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.28) !important;
    }

    .elementor-element.elementor-element-3940e23 .bdt-ep-accordion-content {
        padding: 14px 20px 18px !important;
        color: #203644 !important;
        background: #eaf6fb !important;
        border-radius: 0 0 30px 30px !important;
        box-shadow: 0 10px 24px -12px rgba(15, 23, 42, 0.28) !important;
        font-size: 13px !important;
        line-height: 1.55 !important;
    }
}

/* Keep the control in one predictable location in every language. */
html[dir="rtl"] .flavor-floating-switcher {
    left: auto;
    right: 20px;
}

.flavor-switcher-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 7px 11px;
    background: transparent;
    border: 0;
    border-radius: 999px;
    text-decoration: none;
    color: #1e293b;
    font-size: 14px;
    font-weight: 600;
    box-shadow: none;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    cursor: pointer;
}

/* Theme link colors load after this stylesheet on some Astra combinations.
   Keep switcher labels readable regardless of the surrounding page palette. */
.flavor-floating-switcher .flavor-switcher-btn {
    color: #1e293b !important;
}

.flavor-switcher-btn:hover {
    transform: translateY(-1px);
    box-shadow: none;
    background: rgba(14, 165, 233, 0.11);
    color: #1e293b;
    text-decoration: none;
}

.flavor-switcher-btn:active {
    transform: translateY(0);
}

.flavor-switcher-flag {
    font-size: 16px;
    line-height: 1;
}

.flavor-switcher-label {
    font-size: 13px;
    line-height: 1;
}

/* Only the Arabic option needs an Arabic-script font. Keep English, French,
   and other Latin labels in the switcher's normal UI font. */
.flavor-switcher-btn[hreflang="ar"] .flavor-switcher-label,
.flavor-switcher-link[hreflang="ar"] .flavor-switcher-label {
    font-family: 'Cairo', 'Noto Sans Arabic', sans-serif;
}

/* ── Inline Switcher (Shortcode / Widget) ── */
.flavor-switcher {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Inter', -apple-system, sans-serif;
}

/* Pill style */
.flavor-switcher--pill {
    background: rgba(0, 0, 0, 0.04);
    border-radius: 50px;
    padding: 4px;
}

.flavor-switcher--pill .flavor-switcher-current,
.flavor-switcher--pill .flavor-switcher-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.flavor-switcher--pill .flavor-switcher-current {
    background: #fff;
    color: #1e293b;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.flavor-switcher--pill .flavor-switcher-link {
    color: #64748b;
}

.flavor-switcher--pill .flavor-switcher-link:hover {
    color: #1e293b;
    background: rgba(255, 255, 255, 0.6);
}

/* Minimal style */
.flavor-switcher--minimal .flavor-switcher-current,
.flavor-switcher--minimal .flavor-switcher-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    text-decoration: none;
    color: inherit;
}

.flavor-switcher--minimal .flavor-switcher-link {
    opacity: 0.6;
    transition: opacity 0.2s;
}

.flavor-switcher--minimal .flavor-switcher-link:hover {
    opacity: 1;
}

/* Flags-only style */
.flavor-switcher--flags .flavor-switcher-label {
    display: none;
}

.flavor-switcher--flags .flavor-switcher-flag {
    font-size: 24px;
}

/* ── Smart Header Dropdown (Elementor widget / shortcode) ── */
.flavor-language-dropdown {
    --flavor-dropdown-accent: var(--e-global-color-primary, #2563eb);
    position: relative;
    z-index: 1001;
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    text-align: left;
}

.flavor-auto-header-switcher {
    position: fixed;
    right: 18px;
    bottom: 18px;
    left: auto;
    z-index: 99999;
    display: inline-flex;
}

.flavor-auto-header-switcher.is-mounted {
    position: relative;
    inset: auto;
    z-index: 1001;
    flex: 0 0 auto;
}

.flavor-header-switcher-host {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-content: center !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px;
}

.flavor-header-switcher-host > .elementor-widget-button,
.flavor-header-switcher-host > .flavor-auto-header-switcher {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
}

.flavor-header-switcher-host .elementor-button-text {
    white-space: nowrap;
}

/* The translated label can make the action group much wider than the source
   CTA column. Let that column size itself to the real controls and give the
   remaining room to navigation instead of overflowing the viewport. */
@media (min-width: 768px) {
    .flavor-header-adaptive-layout {
        display: flex !important;
        flex-wrap: nowrap !important;
    }

    .flavor-header-adaptive-layout > .flavor-header-actions-column {
        flex: 0 0 auto !important;
        width: max-content !important;
        min-width: max-content !important;
    }

    .flavor-header-adaptive-layout > .flavor-header-nav-column {
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
    }
}

.flavor-language-dropdown__trigger {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-width: 142px;
    min-height: 44px;
    margin: 0 !important;
    padding: 9px 14px !important;
    color: #172033 !important;
    background: #fff !important;
    border: 1px solid #dbe3ee !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 650 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    -webkit-appearance: none;
    appearance: none;
}

.flavor-language-dropdown__trigger:hover,
.flavor-language-dropdown__trigger:focus-visible,
.flavor-language-dropdown.is-open .flavor-language-dropdown__trigger {
    color: #172033 !important;
    background: #fff !important;
    border-color: color-mix(in srgb, var(--flavor-dropdown-accent) 46%, #dbe3ee) !important;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--flavor-dropdown-accent) 12%, transparent) !important;
    outline: 0;
}

.flavor-language-dropdown__trigger:active {
    transform: translateY(1px);
}

.flavor-language-dropdown__globe,
.flavor-language-dropdown__chevron,
.flavor-language-dropdown__check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    line-height: 1;
}

.flavor-language-dropdown__globe {
    color: var(--flavor-dropdown-accent);
    font-size: 17px;
}

.flavor-language-dropdown__current,
.flavor-language-dropdown__label {
    min-width: 0;
    unicode-bidi: plaintext;
}

.flavor-language-dropdown__current {
    flex: 1 1 auto;
    text-align: start;
    white-space: nowrap;
}

.flavor-language-dropdown__chevron {
    color: #748094;
    font-size: 12px;
    transition: transform 180ms ease;
}

.flavor-language-dropdown.is-open .flavor-language-dropdown__chevron {
    transform: rotate(180deg);
}

.flavor-language-dropdown__menu {
    position: absolute;
    inset-block-start: calc(100% + 9px);
    inset-inline-end: 0;
    z-index: 1002;
    width: max-content;
    min-width: 196px;
    padding: 6px;
    overflow: hidden;
    color: #172033;
    background: #fff;
    border: 1px solid #e4e9f1;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16), 0 3px 10px rgba(15, 23, 42, 0.06);
    opacity: 0;
    transform: translateY(-5px) scale(0.985);
    transform-origin: top right;
    transition: opacity 150ms ease, transform 150ms ease;
}

/* The automatic fallback sits against the bottom edge on mobile (and on
   desktop themes where no usable header mount exists), so its menu must open
   upward to remain inside the viewport. */
.flavor-auto-header-switcher:not(.is-mounted) .flavor-language-dropdown__menu {
    top: auto;
    bottom: calc(100% + 9px);
    transform: translateY(5px) scale(0.985);
    transform-origin: bottom right;
}

.flavor-language-dropdown__menu[hidden] {
    display: none !important;
}

.flavor-language-dropdown.is-open .flavor-language-dropdown__menu {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.flavor-language-dropdown__option {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    min-height: 40px;
    padding: 9px 11px !important;
    color: #243047 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
    font: inherit !important;
    font-size: 14px !important;
    font-weight: 560 !important;
    line-height: 1.35 !important;
    text-align: left;
    text-decoration: none !important;
    cursor: pointer;
    transition: color 140ms ease, background-color 140ms ease;
}

.flavor-language-dropdown__option:hover,
.flavor-language-dropdown__option:focus-visible {
    color: #172033 !important;
    background: #f4f7fb !important;
    outline: 0;
}

.flavor-language-dropdown__option.is-current {
    color: color-mix(in srgb, var(--flavor-dropdown-accent) 82%, #172033) !important;
    background: color-mix(in srgb, var(--flavor-dropdown-accent) 10%, #fff) !important;
    cursor: default;
}

.flavor-language-dropdown__check {
    color: var(--flavor-dropdown-accent);
    font-size: 14px;
}

.flavor-language-dropdown__option[hreflang="ar"] .flavor-language-dropdown__label {
    font-family: 'Cairo', 'Noto Sans Arabic', sans-serif;
}

@media (prefers-reduced-motion: reduce) {
    .flavor-language-dropdown__trigger,
    .flavor-language-dropdown__chevron,
    .flavor-language-dropdown__menu {
        transition: none;
    }
}

/* Language-aware page menu */
.flavor-language-combo {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.flavor-language-menu {
    font-family: inherit;
}

.flavor-language-menu-list {
    display: flex;
    align-items: center;
    gap: 18px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.flavor-language-menu--vertical .flavor-language-menu-list {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
}

.flavor-language-menu--rtl .flavor-language-menu-list {
    direction: rtl;
}

.flavor-language-menu-item {
    margin: 0;
    padding: 0;
}

.flavor-language-menu-item a {
    color: inherit;
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.flavor-language-menu-item a:hover,
.flavor-language-menu-item.is-current a {
    color: #6366f1;
}

/* ── Arabic-Specific Typography Enhancements ── */

/* Ensure Arabic text has proper bidi handling in mixed content */
body.flavor-arabic .elementor-widget-text-editor p,
body.flavor-arabic .elementor-widget-text-editor li,
body.flavor-arabic .elementor-widget-text-editor span {
    unicode-bidi: plaintext; /* Let the browser auto-detect direction per paragraph */
}

/* Arabic blockquotes — border on the right */
body.flavor-arabic:not(.flavor-preserve-layout) blockquote {
    border-left: none;
    border-right: 4px solid #e2e8f0;
    padding-left: 0;
    padding-right: 1.5em;
}

/* Arabic ordered/unordered lists — markers on the right */
body.flavor-arabic:not(.flavor-preserve-layout) ul,
body.flavor-arabic:not(.flavor-preserve-layout) ol {
    padding-left: 0;
    padding-right: 2em;
}

/* Tables — align header text right for Arabic */
body.flavor-arabic:not(.flavor-preserve-layout) table th,
body.flavor-arabic:not(.flavor-preserve-layout) table td {
    text-align: right;
}

/* ── Smart visual adaptation for translated LTR pages ──
   Applied only to cloned pages after the agent has inspected the hero. The
   source page and its original media are never mutated. */
body.flavor-ltr .flavor-agent-hero {
    position: relative;
}

body.flavor-ltr .flavor-agent-hero > .elementor-container,
body.flavor-ltr .flavor-agent-hero > .e-con-inner,
body.flavor-ltr .flavor-agent-hero > .e-con {
    position: relative;
    z-index: 1;
}

body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right > .elementor-container,
body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right > .e-con-inner,
body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right > .e-con {
    flex-direction: row-reverse;
}

body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right .elementor-widget-heading,
body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right .elementor-heading-title,
body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right .elementor-widget-text-editor,
body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right .elementor-widget-text-editor p,
body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right .elementor-widget-button {
    direction: ltr;
    text-align: left !important;
}

/* Two-column copy/media sections receive a real reading edge in LTR.
   The class is added only when live DOM inspection finds one text-heavy
   column and one media-heavy column. */
body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column,
body.flavor-ltr .flavor-agent-content-start {
    direction: ltr;
}

/* Custom HTML widgets often carry a literal dir="rtl" on their own root.
   Preserve that root's layout/scroll mechanics, but give its translated text
   an LTR bidi context. This prevents labels such as "180 ml cup" from being
   painted as "ml cup 180" without breaking RTL-authored carousels. */
body.flavor-ltr .elementor [dir="rtl"]:not([lang^="ar"]) :where(h1, h2, h3, h4, h5, h6, p, li, a, button, label, figcaption) {
    direction: ltr !important;
    unicode-bidi: isolate;
}

body.flavor-ltr .salsa-spot-card,
body.flavor-ltr .salsa-spot-title,
body.flavor-ltr .salsa-spot-note,
body.flavor-ltr .salsa-spot-badge {
    direction: ltr !important;
    unicode-bidi: isolate;
}

/* Astra normally prints these Elementor bridge variables in its generated
   inline CSS. A per-page LTR locale switch can prevent that inline block from
   being emitted on an otherwise RTL site. Prefer the site's own Astra
   variables and use Astra's current defaults only as a final fallback. */
body.flavor-ltr {
    --e-global-color-astglobalcolor0: var(--ast-global-color-0, #046bd2);
    --e-global-color-astglobalcolor1: var(--ast-global-color-1, #045cb4);
    --e-global-color-astglobalcolor2: var(--ast-global-color-2, #1e293b);
    --e-global-color-astglobalcolor3: var(--ast-global-color-3, #334155);
    --e-global-color-astglobalcolor4: var(--ast-global-color-4, #ffffff);
    --e-global-color-astglobalcolor5: var(--ast-global-color-5, #f0f5fa);
    --e-global-color-astglobalcolor6: var(--ast-global-color-6, #111111);
    --e-global-color-astglobalcolor7: var(--ast-global-color-7, #d1d5db);
    --e-global-color-astglobalcolor8: var(--ast-global-color-8, #111111);
    overflow-x: clip;
}

html.flavor-document-ltr {
    max-width: 100%;
    overflow-x: clip !important;
}

body.flavor-ltr #page {
    overflow-x: clip;
}

/* Astra's scroll-to-top rules can be omitted when its RTL source stylesheet is
   replaced for an LTR translation. Without these dimensions the control turns
   into a full-width, 24px-tall row after #page and looks like blank footer
   space. Recreate the source button as a fixed control outside document flow. */
body.flavor-ltr #ast-scroll-top.ast-scroll-top-icon {
    position: fixed !important;
    right: auto !important;
    bottom: 84px !important;
    left: 30px !important;
    z-index: 99 !important;
    width: 31.5px !important;
    height: 31.5px !important;
    padding: 0 !important;
    border-radius: 2px !important;
    background: #29acea !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 31.5px !important;
    text-align: center !important;
    cursor: pointer;
}

/* Astra's source RTL sheet rotates this downward chevron into the intended
   scroll-to-top arrow. Reapply the exact orientation on translated LTR pages. */
body.flavor-ltr #ast-scroll-top .ast-arrow-svg {
    fill: #fff !important;
    transform: translateY(-1.8px) rotate(180deg) !important;
    transform-origin: center;
}

@supports not (overflow: clip) {
    html.flavor-document-ltr,
    body.flavor-ltr,
    body.flavor-ltr #page {
        overflow-x: hidden;
    }
}

/* Astra keeps a 20px inline gutter on LTR page-builder documents even when
   the RTL source page is full-bleed. Match the source canvas exactly. */
body.flavor-ltr.ast-page-builder-template .site-content > .ast-container {
    max-width: none !important;
    padding-inline: 0 !important;
}

/* Footer templates are cloned from the source so their structure, media, and
   responsive breakpoints stay intact. Adapt only the reading alignment and
   let longer Latin copy use the available brand column instead of wrapping in
   the source's narrow Arabic width. */
@media (min-width: 768px) {
    body.flavor-ltr .elementor-location-footer .elementor-widget-image,
    body.flavor-ltr .elementor-location-footer .elementor-heading-title,
    body.flavor-ltr .elementor-location-footer .elementor-widget-heading,
    body.flavor-ltr .elementor-location-footer .elementor-widget-icon-list,
    body.flavor-ltr .elementor-location-footer .elementor-icon-list-items {
        direction: ltr;
        text-align: left !important;
    }

    body.flavor-ltr .elementor-location-footer .elementor-widget-heading.elementor-widget__width-initial {
        width: 100% !important;
        max-width: 360px;
    }

    body.flavor-ltr .elementor-location-footer h6.elementor-heading-title {
        letter-spacing: 0.35px !important;
        line-height: 1.55 !important;
        overflow-wrap: anywhere;
    }

    body.flavor-ltr .elementor-location-footer .elementor-social-icons-wrapper {
        justify-content: flex-start !important;
    }

    body.flavor-ltr .elementor-location-footer .elementor-icon-list-item {
        direction: ltr;
        justify-content: flex-start;
    }
}

body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column .elementor-widget-heading,
body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column .elementor-heading-title,
body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column .elementor-widget-text-editor,
body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column .elementor-widget-text-editor p,
body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column .elementor-widget-icon-list,
body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column .elementor-widget-button,
body.flavor-ltr .flavor-agent-content-start .elementor-widget-heading,
body.flavor-ltr .flavor-agent-content-start .elementor-heading-title,
body.flavor-ltr .flavor-agent-content-start .elementor-widget-text-editor,
body.flavor-ltr .flavor-agent-content-start .elementor-widget-text-editor p,
body.flavor-ltr .flavor-agent-content-start .elementor-widget-icon-list,
body.flavor-ltr .flavor-agent-content-start .elementor-widget-button {
    text-align: left !important;
}

body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column ul,
body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column ol,
body.flavor-ltr .flavor-agent-content-start ul,
body.flavor-ltr .flavor-agent-content-start ol {
    direction: ltr;
    text-align: left !important;
    list-style-position: outside;
    padding-inline-start: 1.35em;
}

body.flavor-ltr .flavor-agent-split .flavor-agent-copy-column .elementor-icon-list-items,
body.flavor-ltr .flavor-agent-content-start .elementor-icon-list-items {
    align-items: flex-start;
}

body.flavor-ltr .salsa-card-title {
    direction: ltr !important;
    unicode-bidi: isolate;
    font-size: clamp(1.7rem, 2.15vw, 2rem) !important;
    line-height: 1.12 !important;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

body.flavor-ltr .salsa-card,
body.flavor-ltr .salsa-card-badge,
body.flavor-ltr .salsa-card-desc {
    direction: ltr;
    unicode-bidi: isolate;
}

body.flavor-ltr .salsa-counter {
    direction: ltr !important;
    unicode-bidi: isolate;
}

@media (min-width: 768px) {
    body.flavor-ltr .flavor-agent-split-container.flavor-agent-split-swap,
    body.flavor-ltr .flavor-agent-order-reverse > .elementor-container,
    body.flavor-ltr .flavor-agent-order-reverse > .e-con-inner,
    body.flavor-ltr .flavor-agent-order-reverse.e-con {
        flex-direction: row-reverse !important;
    }
}

@media (max-width: 767px) {
    body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right > .elementor-container,
    body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right > .e-con-inner,
    body.flavor-ltr .flavor-agent-hero.flavor-agent-shift-right > .e-con {
        flex-direction: column;
    }
}

body.flavor-ltr .flavor-agent-contrast::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(0, 32, 64, 0.26), rgba(0, 32, 64, 0.06) 58%, rgba(0, 32, 64, 0.16));
}

body.flavor-ltr .flavor-agent-contrast .elementor-heading-title,
body.flavor-ltr .flavor-agent-contrast .elementor-widget-text-editor,
body.flavor-ltr .flavor-agent-contrast .elementor-widget-text-editor p,
body.flavor-ltr .flavor-agent-contrast .elementor-widget-text-editor *,
body.flavor-ltr .flavor-agent-contrast p,
body.flavor-ltr .flavor-agent-contrast li,
body.flavor-ltr .flavor-agent-contrast .elementor-button-text {
    color: #fff !important;
    text-shadow: 0 2px 14px rgba(0, 20, 40, 0.46);
}

body.flavor-ltr .flavor-agent-mirror-image {
    transform: scaleX(-1);
}

/* Inner-page banners use a separate Elementor slideshow layer, so mirror the
   photograph without mirroring headings, navigation, overlays, or dividers. */
body.flavor-ltr .flavor-agent-inner-hero-mirror .elementor-background-slideshow__slide__image {
    transform: scaleX(-1) !important;
    transform-origin: center;
}

body.flavor-ltr .flavor-agent-mirror-background {
    background-image: none !important;
    overflow: hidden;
}

body.flavor-ltr .flavor-agent-mirror-background::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--flavor-agent-background-image);
    background-position: var(--flavor-agent-background-position, center);
    background-size: var(--flavor-agent-background-size, cover);
    background-repeat: var(--flavor-agent-background-repeat, no-repeat);
    transform: scaleX(-1);
}

/* Elementor paints the hero gradient on a sibling overlay rather than inside
   the background image. Mirror that visual-only layer with the photograph so
   its blue reading field follows the LTR copy. */
body.flavor-ltr .flavor-agent-hero.flavor-agent-mirror-background > .elementor-background-overlay {
    transform: scaleX(-1) !important;
    transform-origin: center;
}

/* The source hero is authored for Arabic and its widgets retain end-aligned
   typography after the visual columns are adapted. Give Latin translations a
   true left reading edge while keeping the mirrored media layer independent. */
body.flavor-ltr .flavor-agent-hero.flavor-agent-mirror-background .elementor-widget-heading,
body.flavor-ltr .flavor-agent-hero.flavor-agent-mirror-background .elementor-heading-title,
body.flavor-ltr .flavor-agent-hero.flavor-agent-mirror-background .elementor-widget-text-editor,
body.flavor-ltr .flavor-agent-hero.flavor-agent-mirror-background .elementor-widget-text-editor p,
body.flavor-ltr .flavor-agent-hero.flavor-agent-mirror-background .elementor-widget-button {
    direction: ltr;
    text-align: left !important;
}

/* ── Balanced quality / certificate story ──────────────────────────
   This section combines long localized copy, one laboratory image, and two
   trust certificates. Keep the copy on the language's reading edge, give it
   enough width to avoid staircase headings, and pin both certificates to the
   same visual baseline. */
.flavor-agent-trust-section {
    padding-block: clamp(72px, 6vw, 104px) !important;
    padding-inline: clamp(24px, 4vw, 64px) !important;
}

.flavor-agent-trust-section > .flavor-agent-trust-container {
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    align-items: stretch !important;
    gap: clamp(40px, 4.5vw, 64px) !important;
}

.flavor-agent-trust-copy,
.flavor-agent-trust-media {
    min-width: 0;
}

.flavor-agent-trust-copy > .elementor-widget-wrap,
.flavor-agent-trust-media > .elementor-widget-wrap,
.flavor-agent-trust-copy > .e-con-inner,
.flavor-agent-trust-media > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-content: stretch !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 100%;
    margin: 0 !important;
}

.flavor-agent-trust-copy > .elementor-widget-wrap {
    padding: 0 !important;
}

.flavor-agent-trust-media > .elementor-widget-wrap {
    padding: 0 !important;
}

.flavor-agent-trust-section .flavor-agent-trust-kicker {
    width: 100% !important;
    margin: 0 0 18px !important;
    padding: 0 !important;
}

.flavor-agent-trust-section .flavor-agent-trust-kicker .elementor-heading-title {
    max-width: 680px;
    margin-inline: 0;
    font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
    line-height: 1.35 !important;
    letter-spacing: 0.01em;
    text-align: start !important;
    text-wrap: balance;
}

.flavor-agent-trust-section .flavor-agent-trust-title {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
}

.flavor-agent-trust-section .flavor-agent-trust-title .elementor-heading-title {
    font-size: clamp(2.25rem, 3.35vw, 3.35rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.025em;
    text-align: start !important;
    text-wrap: balance;
    overflow-wrap: normal;
}

.flavor-agent-trust-section .flavor-agent-trust-body {
    width: 100% !important;
    max-width: 680px !important;
    margin: 0 !important;
    font-size: clamp(1rem, 1.15vw, 1.08rem) !important;
    line-height: 1.62 !important;
    text-align: start !important;
}

.flavor-agent-trust-section .flavor-agent-trust-body p {
    margin-block: 0 13px !important;
    text-align: start !important;
}

.flavor-agent-trust-section .flavor-agent-trust-body ul,
.flavor-agent-trust-section .flavor-agent-trust-body ol {
    margin: 12px 0 4px !important;
    padding-inline-start: 1.4em !important;
    padding-inline-end: 0 !important;
    text-align: start !important;
    list-style-position: outside !important;
}

.flavor-agent-trust-section .flavor-agent-trust-body li {
    margin-block: 0 7px;
    padding-inline-start: 0.2em;
    line-height: 1.48;
    text-align: start !important;
}

.flavor-agent-trust-section .flavor-agent-trust-cta {
    width: 100% !important;
    margin: 24px 0 30px !important;
}

.flavor-agent-trust-section .flavor-agent-trust-cta .elementor-button-wrapper {
    text-align: start !important;
}

.flavor-agent-trust-section .flavor-agent-trust-image {
    width: 100% !important;
    max-width: 520px;
    margin: 0 auto 30px !important;
}

.flavor-agent-trust-section .flavor-agent-trust-image img {
    display: block;
    width: 100% !important;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    border-radius: 28px !important;
}

.flavor-agent-trust-section .flavor-agent-trust-card {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 134px;
    margin: auto 0 0 !important;
    padding: 22px 24px !important;
    border: 1px solid rgba(10, 70, 102, 0.12);
    border-radius: 22px !important;
    background: #fff;
    box-shadow: 0 14px 34px rgba(24, 174, 229, 0.13) !important;
}

.flavor-agent-trust-section .flavor-agent-trust-card .elementor-image-box-wrapper {
    display: grid !important;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    height: 100%;
    text-align: start !important;
}

.flavor-agent-trust-section .flavor-agent-trust-card .elementor-image-box-img {
    width: 82px !important;
    margin: 0 !important;
}

.flavor-agent-trust-section .flavor-agent-trust-card .elementor-image-box-img img {
    display: block;
    width: 82px !important;
    height: auto !important;
    margin: 0;
    object-fit: contain;
}

.flavor-agent-trust-section .flavor-agent-trust-card .elementor-image-box-content,
.flavor-agent-trust-section .flavor-agent-trust-card .elementor-image-box-title {
    min-width: 0;
    margin: 0 !important;
    text-align: start !important;
}

.flavor-agent-trust-section .flavor-agent-trust-card .elementor-image-box-title {
    color: #0c3c58;
    font-size: clamp(1rem, 1.4vw, 1.18rem) !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
}

@media (min-width: 1024px) {
    .flavor-agent-trust-section > .flavor-agent-trust-container {
        display: flex !important;
        flex-direction: row-reverse !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-copy {
        width: auto !important;
        flex: 0 1 calc(57% - 32px) !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-media {
        width: auto !important;
        flex: 0 1 calc(43% - 32px) !important;
    }
}

@media (max-width: 1023px) {
    .flavor-agent-trust-section {
        padding-block: 56px !important;
        padding-inline: clamp(20px, 5vw, 44px) !important;
    }

    .flavor-agent-trust-section > .flavor-agent-trust-container {
        display: flex !important;
        flex-direction: column !important;
        gap: 36px !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-copy,
    .flavor-agent-trust-section .flavor-agent-trust-media {
        width: 100% !important;
        flex: 0 0 auto !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-copy {
        order: 1;
    }

    .flavor-agent-trust-section .flavor-agent-trust-media {
        order: 2;
    }

    .flavor-agent-trust-section .flavor-agent-trust-card {
        margin: 20px 0 0 !important;
    }
}

/* The Elementor desktop header becomes active at 768px, but its authored
   column percentages leave too little room for longer translated labels on
   tablets. Rebalance only that narrow desktop interval; phones keep the
   hamburger layout and full desktop widths remain untouched. */
@media (min-width: 768px) and (max-width: 1023px) {
    .flavor-header-adaptive-layout > .elementor-column:not(.flavor-header-nav-column):not(.flavor-header-actions-column),
    .flavor-header-adaptive-layout > .e-con:not(.flavor-header-nav-column):not(.flavor-header-actions-column) {
        flex: 0 0 96px !important;
        width: 96px !important;
        min-width: 80px !important;
    }

    .flavor-header-adaptive-layout > .flavor-header-nav-column {
        flex: 1 1 360px !important;
    }

    .flavor-header-adaptive-layout > .flavor-header-actions-column {
        flex: 0 0 auto !important;
        min-width: 0 !important;
    }

    .flavor-header-switcher-host {
        gap: 6px !important;
    }

    .flavor-header-adaptive-layout .elementor-nav-menu--main .elementor-nav-menu {
        display: flex !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        column-gap: 0 !important;
    }

    .flavor-header-adaptive-layout .elementor-nav-menu--main .elementor-item,
    .flavor-header-adaptive-layout .ekit-menu-nav-link {
        padding-inline: 4px !important;
        font-size: 12.5px !important;
        white-space: nowrap;
    }

    .flavor-header-switcher-host .elementor-button {
        min-height: 44px;
        padding: 10px 10px !important;
        font-size: 12.5px !important;
    }

    .flavor-header-switcher-host .flavor-language-dropdown__trigger {
        min-width: 112px;
        padding-inline: 8px !important;
    }

    /* Contact cards use a negative desktop overlap. At tablet widths, long
       translated banner copy can sit behind that card, so release the overlap
       while preserving the same card and section styling. */
    .elementor-top-section:has(.wpforms-container),
    .e-con.e-parent:has(.wpforms-container) {
        margin-block-start: 0 !important;
    }
}

@media (max-width: 767px) {
    .flavor-agent-trust-section {
        padding-block: 44px !important;
        padding-inline: 18px !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-title .elementor-heading-title {
        font-size: clamp(2rem, 9vw, 2.7rem) !important;
        line-height: 1.14 !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-image {
        max-width: none;
        margin-block: 6px 24px !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-image img {
        aspect-ratio: 5 / 4;
        border-radius: 22px !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-cta {
        margin-block: 18px 20px !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-card {
        min-height: 112px;
        padding: 16px 18px !important;
        border-radius: 18px !important;
    }

    .flavor-agent-trust-section .flavor-agent-trust-card .elementor-image-box-wrapper {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 14px;
    }

    .flavor-agent-trust-section .flavor-agent-trust-card .elementor-image-box-img,
    .flavor-agent-trust-section .flavor-agent-trust-card .elementor-image-box-img img {
        width: 64px !important;
    }
}

/* ── Smooth Language Switch Transition ── */
.flavor-page-transition {
    animation: flavor-fade-in 0.4s ease-out;
}

@keyframes flavor-fade-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ── Dark Theme Support for Switcher ── */
@media (prefers-color-scheme: dark) {
    .flavor-floating-switcher {
        background: rgba(255, 255, 255, 0.96);
        border-color: rgba(15, 23, 42, 0.12);
    }

    .flavor-floating-switcher .flavor-switcher-btn {
        background: transparent;
        color: #1e293b !important;
        border-color: transparent;
    }

    .flavor-floating-switcher .flavor-switcher-btn:hover {
        background: rgba(14, 165, 233, 0.11);
        color: #1e293b !important;
    }

    .flavor-switcher--pill {
        background: rgba(255, 255, 255, 0.08);
    }

    .flavor-switcher--pill .flavor-switcher-current {
        background: rgba(255, 255, 255, 0.12);
        color: #f1f5f9;
    }

    .flavor-switcher--pill .flavor-switcher-link {
        color: #94a3b8;
    }
}

/* ── Mobile Responsive ── */
@media (max-width: 767px) {
    .flavor-auto-header-switcher {
        right: 12px;
        bottom: 12px;
    }

    /* Keep the language control with the mobile navigation. A header control
       stays discoverable without covering hero copy, forms, or carousel cards. */
    .flavor-mobile-switcher-host {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 8px !important;
        overflow: visible !important;
    }

    .flavor-mobile-switcher-host > .flavor-auto-header-switcher.is-mobile-mounted {
        position: relative;
        inset: auto;
        z-index: 1003;
        order: 1;
        flex: 0 0 auto;
    }

    .flavor-mobile-switcher-host > .elementor-menu-toggle,
    .flavor-mobile-switcher-host > .ekit-menu-nav-link,
    .flavor-mobile-switcher-host > .menu-toggle {
        order: 2;
        flex: 0 0 auto;
        margin: 0 !important;
    }

    /* Elementor calculates its stretched dropdown before Flavor adds the
       adjacent language control. Re-anchor that panel to the viewport so the
       hamburger menu still spans the full mobile canvas. */
    .flavor-mobile-switcher-host > .elementor-nav-menu--dropdown {
        right: auto !important;
        left: var(--flavor-mobile-menu-left, 0) !important;
        width: var(--flavor-mobile-menu-width, 100vw) !important;
        max-width: none !important;
    }

    .flavor-auto-header-switcher.is-mobile-mounted .flavor-language-dropdown__trigger {
        min-width: 118px;
        min-height: 44px;
        padding: 8px 11px !important;
    }

    .flavor-auto-header-switcher.is-mobile-mounted .flavor-language-dropdown__menu {
        inset-block-start: calc(100% + 8px);
        inset-block-end: auto;
        inset-inline-end: 0;
        width: max-content;
        min-width: 184px;
        max-width: calc(100vw - 24px);
        transform: translateY(-5px) scale(0.985);
        transform-origin: top right;
    }

    .flavor-auto-header-switcher.is-mobile-mounted .flavor-language-dropdown.is-open .flavor-language-dropdown__menu {
        transform: translateY(0) scale(1);
    }

    .flavor-language-dropdown__trigger {
        min-width: 132px;
        min-height: 40px;
        padding: 8px 12px !important;
        font-size: 13px !important;
    }

    .flavor-language-dropdown__menu {
        min-width: 184px;
    }

    .flavor-floating-switcher {
        right: 12px;
        bottom: 12px;
        left: auto;
        padding: 3px;
    }

    html[dir="rtl"] .flavor-floating-switcher {
        left: auto;
        right: 12px;
    }

    .flavor-switcher-btn {
        min-height: 32px;
        padding: 6px 9px;
        font-size: 12px;
    }

    .flavor-switcher-flag {
        font-size: 15px;
    }

    body.flavor-ltr .elementor-location-footer .elementor-widget-image,
    body.flavor-ltr .elementor-location-footer .elementor-heading-title,
    body.flavor-ltr .elementor-location-footer .elementor-widget-heading,
    body.flavor-ltr .elementor-location-footer .elementor-widget-icon-list,
    body.flavor-ltr .elementor-location-footer .elementor-icon-list-items {
        direction: ltr;
        text-align: center !important;
    }

    body.flavor-ltr .elementor-location-footer .elementor-social-icons-wrapper {
        justify-content: center !important;
    }
}

/* ── Responsive composition polish ─────────────────────────────────
   Keep Elementor's authored design intact while removing breakpoint-only
   whitespace, transient animation collisions, undersized controls, and
   narrow translated copy rails on phones and tablets. */
@media (max-width: 1023px) {
    .flavor-responsive-empty-column {
        display: none !important;
        width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .flavor-agent-split > .elementor-container,
    .flavor-agent-split > .e-con-inner,
    .flavor-agent-split.e-con {
        align-items: stretch !important;
    }

    .flavor-agent-split .flavor-agent-copy-column,
    .flavor-agent-split .flavor-agent-media-column {
        min-width: 0;
        max-width: 100%;
    }

    .flavor-agent-split .elementor-widget__width-initial,
    .flavor-agent-content-start.elementor-widget__width-initial {
        width: 100% !important;
        max-width: 100% !important;
    }

    .flavor-agent-split .elementor-heading-title,
    .flavor-agent-content-start .elementor-heading-title {
        max-width: 100%;
        overflow-wrap: anywhere;
        text-wrap: balance;
    }
}

@media (max-width: 767px) {
    /* Translating longer copy makes slide/fade entrance transforms cross the
       following widget before settling. Mobile gets the stable final layout;
       desktop keeps the original Elementor animation treatment. */
    body:not(.elementor-editor-active) .elementor-element.animated {
        animation-name: none !important;
        animation-duration: 0s !important;
        transform: none !important;
    }

    body:not(.elementor-editor-active) .elementor-element.elementor-invisible {
        visibility: visible !important;
        opacity: 1 !important;
    }

    .flavor-agent-split > .elementor-container,
    .flavor-agent-split > .e-con-inner,
    .flavor-agent-split.e-con {
        flex-direction: column !important;
    }

    .flavor-agent-split .flavor-agent-copy-column,
    .flavor-agent-split .flavor-agent-media-column {
        width: 100% !important;
        flex: 0 0 auto !important;
    }

    .flavor-agent-split .elementor-widget-text-editor,
    .flavor-agent-content-start .elementor-widget-text-editor {
        font-size: clamp(15px, 3.9vw, 16px) !important;
        line-height: 1.62 !important;
    }

    .flavor-agent-split .elementor-widget-text-editor p,
    .flavor-agent-content-start .elementor-widget-text-editor p {
        line-height: inherit !important;
    }

    .flavor-agent-split :where(ul, ol),
    .flavor-agent-content-start :where(ul, ol) {
        margin-block: 10px 16px;
        padding-inline-start: 1.35rem !important;
        padding-inline-end: 0 !important;
    }

    .elementor-widget-button .elementor-button,
    .elementor-form button,
    .wpforms-container button,
    .wpforms-container input[type="submit"] {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .elementor-form :where(input:not([type="checkbox"]):not([type="radio"]), select),
    .wpforms-container :where(input:not([type="checkbox"]):not([type="radio"]), select) {
        min-height: 48px !important;
    }

    .elementor-form textarea,
    .wpforms-container textarea {
        min-height: 128px !important;
    }

    .salsa-spot-arrow,
    .salsa-arrow,
    .salsa-nav-button {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px;
        min-height: 44px;
    }

    .flavor-mobile-switcher-host > .elementor-menu-toggle,
    .flavor-mobile-switcher-host > .ekit-menu-nav-link,
    .flavor-mobile-switcher-host > .menu-toggle {
        min-width: 44px;
        min-height: 44px;
    }

    .elementor-location-header .elementor-widget-image a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
    }

    body.flavor-ltr .elementor-location-footer .elementor-icon-list-item,
    body.flavor-arabic .elementor-location-footer .elementor-icon-list-item {
        min-height: 36px;
        align-items: center;
    }

    body.flavor-ltr .elementor-location-footer .elementor-social-icon,
    body.flavor-arabic .elementor-location-footer .elementor-social-icon {
        min-width: 40px;
        min-height: 40px;
    }

    /* The dedicated phone hero inherited a desktop-sized title gap and a
       vertical CTA stack. Keep the artwork, but give the copy a compact,
       predictable rail above the bottles in every language. */
    .elementor-element.elementor-element-3a87e04 > .elementor-container {
        min-height: max(680px, calc(100svh - 72px)) !important;
        align-items: flex-start !important;
        padding-top: clamp(58px, 9svh, 76px) !important;
    }

    .elementor-element.elementor-element-3a87e04 .elementor-element-c912b13 {
        width: 100% !important;
    }

    .elementor-element.elementor-element-3a87e04 .elementor-element-507fad4 {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 0 14px !important;
        margin: 0 !important;
    }

    .elementor-element.elementor-element-3a87e04 .elementor-element-507fad4 .elementor-heading-title {
        max-width: 100% !important;
        font-size: clamp(36px, 10.5vw, 41px) !important;
        line-height: 1.14 !important;
        letter-spacing: -1px !important;
        text-wrap: balance;
        overflow-wrap: normal;
    }

    .elementor-element.elementor-element-3a87e04 .elementor-element-1213111 {
        width: 100% !important;
        max-width: 320px !important;
        margin: 0 0 16px !important;
        font-size: 13px !important;
        line-height: 1.55 !important;
    }

    body.flavor-ltr .elementor-element.elementor-element-3a87e04 .elementor-element-1213111 {
        text-align: left !important;
    }

    body.flavor-arabic .elementor-element.elementor-element-3a87e04 .elementor-element-1213111 {
        margin-inline-start: auto !important;
        text-align: right !important;
    }

    .elementor-element.elementor-element-3a87e04 .elementor-element-9db6a3b {
        width: 100% !important;
        max-width: 336px !important;
        margin: 0 !important;
        --flex-direction: row !important;
        --flex-wrap: nowrap !important;
    }

    .elementor-element.elementor-element-3a87e04 .elementor-element-9db6a3b > .e-con-inner {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 8px !important;
    }

    .elementor-element.elementor-element-3a87e04 .elementor-element-9db6a3b .elementor-widget-button {
        width: auto !important;
        min-width: 0 !important;
        flex: 1 1 0 !important;
        margin: 0 !important;
    }

    .elementor-element.elementor-element-3a87e04 .elementor-element-9db6a3b .elementor-button {
        width: 100% !important;
        min-height: 44px !important;
        padding: 10px 7px !important;
        font-size: clamp(11px, 3.05vw, 12.5px) !important;
        line-height: 1.2 !important;
        white-space: nowrap;
    }

    body.flavor-arabic .elementor-element.elementor-element-3a87e04 .elementor-element-9db6a3b {
        margin-inline-start: auto !important;
    }

    /* This column only contains desktop-only certificate artwork. Elementor
       kept its desktop margin on phones, producing a large blank block. */
    .elementor-element.elementor-element-07b5bb5 .elementor-element-c8c9801 {
        display: none !important;
        width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .elementor-element.elementor-element-07b5bb5 {
        padding-top: 28px !important;
    }

    .elementor-element.elementor-element-07b5bb5 .elementor-element-d23b31e .elementor-heading-title {
        font-size: clamp(16px, 4.7vw, 18px) !important;
        line-height: 1.35 !important;
    }

    /* Astra's fixed square repeatedly covered headings, lists and carousel
       controls in the 390 px layout. Native mobile scrolling is sufficient. */
    body #ast-scroll-top.ast-scroll-top-icon,
    body.flavor-ltr #ast-scroll-top.ast-scroll-top-icon,
    body.flavor-arabic #ast-scroll-top.ast-scroll-top-icon {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}
