html[lang="ar"] body{font-family:var(--brava-font-ar,"IBM Plex Sans Arabic"),Tahoma,Arial,sans-serif!important}
html[lang="en"] body{font-family:var(--brava-font-en,Inter),Arial,sans-serif!important}
.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.page-hero{position:relative;isolation:isolate;min-height:clamp(260px,34vw,440px);display:flex;align-items:flex-end;overflow:hidden;background:#07090c linear-gradient(135deg,#101820,#26333b);background-size:cover;background-position:center}
.page-hero::before{content:"";position:absolute;z-index:-2;inset:0;background-image:var(--brava-page-hero-image);background-size:cover;background-position:center;transform:scale(1.02);animation:bravaHeroDrift 16s ease-in-out infinite alternate}
.page-hero__overlay{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,rgba(7,9,12,.18),rgba(7,9,12,.86)),linear-gradient(90deg,rgba(0,81,119,.45),transparent 60%)}
.page-hero__content{padding-block:clamp(70px,9vw,120px) clamp(38px,6vw,72px);color:#fff}
.page-hero .breadcrumbs{margin-block-end:16px;color:rgba(255,255,255,.82)}
.page-hero .breadcrumbs a{color:#fff}
.page-hero__title{max-width:900px;margin:0;font-size:var(--font-2xl);font-weight:700;line-height:1.12;letter-spacing:-.03em}
.brava-motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.brava-motion-ready .reveal.is-visible{opacity:1;transform:none}
.product-card,.category-card,.process-grid li{transition:transform .28s ease,box-shadow .28s ease}
.product-card:hover,.category-card:hover,.process-grid li:hover{transform:translateY(-6px)}
@keyframes bravaHeroDrift{from{transform:scale(1.02)}to{transform:scale(1.08)}}
@media(max-width:1023px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.footer-grid{grid-template-columns:1fr}.page-hero{min-height:260px}.page-hero__title{font-size:clamp(2rem,9vw,3rem)}}
@media(prefers-reduced-motion:reduce){.page-hero::before{animation:none}.brava-motion-ready .reveal{opacity:1;transform:none;transition:none}}
:focus-visible{outline:3px solid var(--brava-focus,#e5007d);outline-offset:3px}
.brava-button,.search-form button{color:var(--brava-button-text,#fff)}
.hero{background:radial-gradient(circle at 75% 50%,var(--brava-primary-soft,#fce6f2) 0,transparent 38%),linear-gradient(180deg,var(--brava-surface,#fff),var(--brava-surface-soft,#f6f7f7))}
.page-hero__overlay{background:linear-gradient(180deg,rgba(17,22,23,.2),rgba(17,22,23,.9)),linear-gradient(90deg,rgba(229,0,125,.2),transparent 62%)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Brava Settings color bindings.
 * Keep this block after the base component styles so every Appearance setting
 * is reflected on the front end instead of being shadowed by legacy hard-coded colors.
 */
.topbar{
    background:var(--brava-topbar-bg,#111617);
    color:var(--brava-topbar-text,#fff);
}
.topbar button{
    color:var(--brava-topbar-text,#fff);
}
.site-footer{
    background:var(--brava-footer-bg,#111617);
    color:var(--brava-footer-text,#fff);
}
.site-footer a,
.site-footer .footer-bottom{
    color:var(--brava-footer-text,#fff);
}
.site-footer .footer-bottom{
    border-block-start-color:var(--brava-border,#d9dede);
}

.brava-button,
.search-form button,
.brava-button:hover,
.search-form button:hover,
.brava-button--secondary{
    background:transparent;
    border-color:var(--brava-button-bg,var(--brava-primary,#e5007d));
    color:var(--brava-button-bg,var(--brava-primary,#e5007d));
}
.brava-button--secondary:hover{
    background:var(--brava-button-bg,var(--brava-primary,#e5007d));
    border-color:var(--brava-button-bg,var(--brava-primary,#e5007d));
    color:var(--brava-button-text,#fff);
}
.brava-button--light{
    background:var(--brava-light-button-bg,#fff);
    border-color:var(--brava-light-button-bg,#fff);
    color:var(--brava-light-button-text,#111617);
}
.brava-button--light:hover{
    background:var(--brava-light-button-hover-bg,#fce6f2);
    border-color:var(--brava-light-button-hover-bg,#fce6f2);
    color:var(--brava-light-button-text,#111617);
}

/* Surface setting consistency for cards and form controls that previously used #fff. */
.product-card,
.form-panel,
.content-grid article{
    background:var(--brava-surface,#fff);
}
.catalog-filters select,
.brava-quote-form input,
.brava-quote-form select,
.brava-quote-form textarea,
.search-form input{
    background:var(--brava-surface,#fff);
    color:var(--brava-text,#111617);
}


/* Managed WordPress editor content inside custom page templates. */
.brava-editor-content,
.contact-editor-content,
.catalog-editor-content {
    line-height: 1.85;
}

.brava-editor-content > :first-child,
.contact-editor-content > :first-child,
.catalog-editor-content > :first-child {
    margin-top: 0;
}

.brava-editor-content > :last-child,
.contact-editor-content > :last-child,
.catalog-editor-content > :last-child {
    margin-bottom: 0;
}

.contact-editor-content,
.catalog-editor-content {
    margin-block: 1.25rem 2rem;
    color: var(--brava-text-muted);
}

.catalog-template-intro {
    margin-bottom: .75rem;
}

/* =========================================================
   Brava 2.4.7 — Expanded corporate footer
   ========================================================= */
.site-footer .footer-grid--expanded {
    grid-template-columns: minmax(170px, .72fr) minmax(210px, .9fr) minmax(480px, 2.05fr);
    gap: clamp(34px, 4.5vw, 72px);
    align-items: start;
}

.site-footer .footer-column {
    min-width: 0;
}

.site-footer .footer-heading {
    position: relative;
    margin: 0 0 22px;
    padding-bottom: 12px;
    color: var(--brava-primary, #e5007d);
    font-size: clamp(.95rem, 1vw, 1.08rem);
    font-weight: 800;
    letter-spacing: .02em;
}

.site-footer .footer-heading::after {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    bottom: 0;
    width: 38px;
    height: 2px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--brava-primary, #e5007d) 75%, white);
}

.site-footer .footer-menu {
    gap: 12px;
}

.site-footer .footer-menu a,
.site-footer .footer-email,
.site-footer .footer-map-link {
    opacity: .86;
    transition: opacity .2s ease, color .2s ease, transform .2s ease;
}

.site-footer .footer-menu a:hover,
.site-footer .footer-menu a:focus-visible,
.site-footer .footer-email:hover,
.site-footer .footer-email:focus-visible,
.site-footer .footer-map-link:hover,
.site-footer .footer-map-link:focus-visible {
    opacity: 1;
    color: #fff;
}

.site-footer .footer-contact-layout {
    display: grid;
    grid-template-columns: minmax(210px, .9fr) minmax(280px, 1.15fr);
    gap: clamp(22px, 3vw, 38px);
    align-items: start;
}

.site-footer .footer-contact-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.site-footer .footer-contact-copy p {
    margin: 0;
    color: color-mix(in srgb, var(--brava-footer-text, #fff) 76%, transparent);
    line-height: 1.75;
}

.site-footer .footer-company-name {
    color: var(--brava-footer-text, #fff) !important;
    font-weight: 750;
}

.site-footer .footer-address {
    font-size: .94rem;
}

.site-footer .footer-email {
    text-decoration: none;
}

.site-footer .footer-map-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    color: var(--brava-footer-text, #fff);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
}

.site-footer .footer-map {
    position: relative;
    min-height: 220px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    background: rgba(255, 255, 255, .04);
    box-shadow: 0 16px 34px rgba(0, 0, 0, .16);
}

.site-footer .footer-map iframe {
    display: block;
    width: 100%;
    height: 220px;
    border: 0;
    filter: saturate(.78) contrast(.96);
}

@media (max-width: 1180px) {
    .site-footer .footer-grid--expanded {
        grid-template-columns: minmax(160px, .7fr) minmax(190px, .85fr) minmax(380px, 1.65fr);
        gap: 32px;
    }

    .site-footer .footer-contact-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .site-footer .footer-grid--expanded {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-footer .footer-contact-column {
        grid-column: 1 / -1;
    }

    .site-footer .footer-contact-layout {
        grid-template-columns: minmax(0, .9fr) minmax(280px, 1.1fr);
    }
}

@media (max-width: 650px) {
    .site-footer .footer-grid--expanded,
    .site-footer .footer-contact-layout {
        grid-template-columns: 1fr;
    }

    .site-footer .footer-contact-column {
        grid-column: auto;
    }

    .site-footer .footer-map,
    .site-footer .footer-map iframe {
        min-height: 200px;
        height: 200px;
    }
}


/* =========================================================
   Brava 2.4.8 — History card readability + footer hierarchy
   ========================================================= */

/* History chapter copy lives over the image: keep it readable on dark artwork. */
.story-page--history .legacy-chapter__visual {
    min-height: clamp(420px, 44vw, 620px);
}

.story-page--history .legacy-chapter__visual .story-media {
    position: absolute;
    inset: 0;
    height: 100%;
    aspect-ratio: auto;
}

.story-page--history .legacy-chapter__visual::after {
    z-index: 1;
    inset: 0;
    height: auto;
    background:
        linear-gradient(to top, rgba(7, 10, 13, .94) 0%, rgba(7, 10, 13, .74) 30%, rgba(7, 10, 13, .16) 67%, rgba(7, 10, 13, .04) 100%);
}

.story-page--history .legacy-chapter__copy {
    position: absolute;
    z-index: 3;
    inset-inline: 0;
    bottom: 0;
    min-height: 0;
    padding: clamp(26px, 3.4vw, 42px);
}

.story-page--history .legacy-chapter__copy::before {
    top: auto;
    bottom: calc(100% - 2px);
}

.story-page--history .legacy-chapter__copy h3 {
    color: #fff;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .38);
}

.story-page--history .legacy-chapter__copy p {
    color: rgba(255, 255, 255, .84);
    text-shadow: 0 1px 12px rgba(0, 0, 0, .34);
}

.story-page--history .legacy-chapter__label {
    color: #ff4fa8;
    text-shadow: 0 1px 10px rgba(0, 0, 0, .35);
}

/* Footer: first column stacks navigation groups; contact receives the free width. */
.site-footer .footer-grid--expanded {
    grid-template-columns: minmax(190px, .62fr) minmax(0, 2.38fr);
    gap: clamp(46px, 6vw, 92px);
}

.site-footer .footer-nav-stack {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: clamp(34px, 4vw, 50px);
    min-width: 0;
}

.site-footer .footer-nav-stack .footer-column {
    width: 100%;
}

.site-footer .footer-contact-column {
    min-width: 0;
}

.site-footer .footer-contact-layout {
    grid-template-columns: minmax(240px, .72fr) minmax(360px, 1.28fr);
    gap: clamp(28px, 4vw, 56px);
}

.site-footer .footer-map,
.site-footer .footer-map iframe {
    min-height: 260px;
    height: 260px;
}

@media (max-width: 1023px) {
    .site-footer .footer-grid--expanded {
        grid-template-columns: minmax(180px, .7fr) minmax(0, 1.8fr);
        gap: 36px;
    }

    .site-footer .footer-contact-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 700px) {
    .site-footer .footer-grid--expanded {
        grid-template-columns: 1fr;
    }

    .site-footer .footer-nav-stack {
        gap: 30px;
    }

    .site-footer .footer-contact-layout {
        grid-template-columns: 1fr;
    }

    .site-footer .footer-map,
    .site-footer .footer-map iframe {
        min-height: 210px;
        height: 210px;
    }
}


/* =========================================================
   Brava 2.4.9 — Contact details, working hours & WhatsApp
   ========================================================= */
.site-footer .footer-company-description {
    margin-bottom: 4px !important;
}

.site-footer .footer-contact-details {
    display: grid;
    gap: 12px;
    width: 100%;
    margin-top: 8px;
}

.site-footer .footer-contact-item {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: start;
    gap: 11px;
    color: color-mix(in srgb, var(--brava-footer-text, #fff) 82%, transparent);
    font-size: .93rem;
    line-height: 1.65;
    text-decoration: none;
}

.site-footer a.footer-contact-item {
    transition: color .2s ease, transform .2s ease;
}

.site-footer a.footer-contact-item:hover,
.site-footer a.footer-contact-item:focus-visible {
    color: #fff;
    transform: translateX(calc(var(--brava-footer-contact-shift, 1) * 2px));
}

html[dir="rtl"] .site-footer a.footer-contact-item {
    --brava-footer-contact-shift: -1;
}

.site-footer .footer-contact-icon {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 9px;
    background: color-mix(in srgb, var(--brava-primary, #e5007d) 13%, transparent);
    color: color-mix(in srgb, var(--brava-primary, #e5007d) 82%, white);
}

.site-footer .footer-contact-icon svg,
.site-footer .footer-whatsapp__icon svg {
    width: 17px;
    height: 17px;
    fill: currentColor;
}

.site-footer .footer-contact-item--hours strong {
    display: block;
    margin-bottom: 2px;
    color: var(--brava-footer-text, #fff);
    font-size: .88rem;
}

.site-footer .footer-hours-value {
    display: block;
    white-space: normal;
}

.site-footer .footer-contact-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    margin-top: 10px;
}

.site-footer .footer-whatsapp {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 10px 17px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 999px;
    background: #25D366;
    color: #071a0e;
    font-size: .9rem;
    font-weight: 800;
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .16);
    transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.site-footer .footer-whatsapp:hover,
.site-footer .footer-whatsapp:focus-visible {
    color: #071a0e;
    transform: translateY(-2px);
    filter: brightness(1.03);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .22);
}

.site-footer .footer-whatsapp__icon {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
}

.site-footer .footer-whatsapp__icon svg {
    width: 23px;
    height: 23px;
}

@media (max-width: 700px) {
    .site-footer .footer-contact-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .site-footer .footer-whatsapp {
        width: 100%;
    }
}

/* Footer 2.6.0 — simplified navigation + expanded contact */
.site-footer .footer-grid--expanded{grid-template-columns:minmax(210px,.55fr) minmax(0,2.45fr);gap:clamp(44px,7vw,110px)}
.site-footer .footer-nav-stack{display:block}
.site-footer .footer-contact-column{min-width:0}
.site-footer .footer-contact-layout{grid-template-columns:minmax(260px,.9fr) minmax(360px,1.25fr);gap:clamp(28px,5vw,64px)}
.brava-form-guidance{padding:10px 12px;border-radius:10px;background:var(--brava-surface-soft);color:var(--brava-text-muted);font-size:.85rem}
@media(max-width:1023px){.site-footer .footer-grid--expanded{grid-template-columns:1fr}.site-footer .footer-contact-layout{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.site-footer .footer-contact-layout{grid-template-columns:1fr}}

/* Footer 3.13.3 — bilingual working-hours schedule */
.site-footer .footer-contact-item--hours{
    align-items:start;
}
.site-footer .footer-hours-panel{
    min-width:0;
}
.site-footer .footer-contact-item--hours .footer-hours-panel > strong{
    display:block;
    margin:1px 0 8px;
    color:var(--brava-footer-text,#fff);
    font-size:.88rem;
}
.site-footer .footer-hours-table{
    display:grid;
    width:min(100%,240px);
    max-width:100%;
    min-width:0;
    justify-self:start;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.11);
    border-radius:12px;
    background:rgba(255,255,255,.035);
}
.site-footer .footer-hours-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    min-height:34px;
    padding:6px 10px;
    border-bottom:1px solid rgba(255,255,255,.075);
}
.site-footer .footer-hours-row:last-child{
    border-bottom:0;
}
.site-footer .footer-hours-day{
    min-width:0;
    color:rgba(255,255,255,.72);
    font-size:.78rem;
    font-weight:650;
}
.site-footer .footer-hours-time{
    color:#fff;
    font-size:.79rem;
    font-weight:750;
    font-variant-numeric:tabular-nums;
    text-align:end;
    unicode-bidi:plaintext;
    white-space:nowrap;
}
.site-footer .footer-hours-row.is-closed .footer-hours-time{
    color:#f6a7d1;
}
@media(max-width:420px){
    .site-footer .footer-hours-table{min-width:0}
    .site-footer .footer-hours-row{gap:10px;padding-inline:9px}
}


/* =========================================================
   2.8.0 — BRAVA SETTINGS RELIABLE FRONT-END BINDINGS
   Every Appearance field below maps directly to its UI role.
   ========================================================= */
.topbar{
    background-color:var(--brava-topbar-bg,#0b1117)!important;
    color:var(--brava-topbar-text,#e8edf2)!important;
}
.topbar button{color:var(--brava-topbar-text,#e8edf2)!important}


.site-footer{
    background-color:var(--brava-footer-bg,#111617)!important;
    color:var(--brava-footer-text,#fff)!important;
}
.site-footer a,
.site-footer .footer-bottom{
    color:var(--brava-footer-text,#fff);
}

/* Primary buttons: background/hover/text settings now do exactly what labels say. */
.brava-button:not(.brava-button--secondary):not(.brava-button--light),
.search-form button{
    background:var(--brava-button-bg,var(--brava-primary,#e5007d))!important;
    border-color:var(--brava-button-bg,var(--brava-primary,#e5007d))!important;
    color:var(--brava-button-text,#fff)!important;
}
.brava-button:not(.brava-button--secondary):not(.brava-button--light):hover,
.brava-button:not(.brava-button--secondary):not(.brava-button--light):focus-visible,
.search-form button:hover,
.search-form button:focus-visible{
    background:var(--brava-button-hover-bg,var(--brava-primary-hover,#6e1715))!important;
    border-color:var(--brava-button-hover-bg,var(--brava-primary-hover,#6e1715))!important;
    color:var(--brava-button-text,#fff)!important;
}
.brava-button--secondary{
    background:transparent!important;
    border-color:var(--brava-button-bg,var(--brava-primary,#e5007d))!important;
    color:var(--brava-button-bg,var(--brava-primary,#e5007d))!important;
}
.brava-button--secondary:hover,
.brava-button--secondary:focus-visible{
    background:var(--brava-button-hover-bg,var(--brava-primary-hover,#6e1715))!important;
    border-color:var(--brava-button-hover-bg,var(--brava-primary-hover,#6e1715))!important;
    color:var(--brava-button-text,#fff)!important;
}
.brava-button--light{
    background:var(--brava-light-button-bg,#fff)!important;
    border-color:var(--brava-light-button-bg,#fff)!important;
    color:var(--brava-light-button-text,#111617)!important;
}
.brava-button--light:hover,
.brava-button--light:focus-visible{
    background:var(--brava-light-button-hover-bg,#fce6f2)!important;
    border-color:var(--brava-light-button-hover-bg,#fce6f2)!important;
    color:var(--brava-light-button-text,#111617)!important;
}


/* Brava 3.11.4 — contact sales information cards */
.contact-sales-title{margin:.35rem 0 .65rem;font-size:clamp(1.55rem,2.1vw,2.15rem);line-height:1.25}
.contact-sales-intro{max-width:42rem;margin:.65rem 0 1.35rem;color:var(--brava-text-muted,#68727d);line-height:1.9}
.contact-info-cards{display:grid;grid-template-columns:1fr;gap:10px;max-width:540px;margin-top:22px}
.contact-info-card{display:grid!important;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;min-height:72px;padding:12px 14px;border:1px solid var(--brava-border,#d8dce2);border-radius:14px;background:#fff;color:inherit!important;text-decoration:none!important;box-shadow:0 4px 16px rgba(15,24,33,.025);transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.contact-info-card[href]:hover{transform:translateY(-2px);border-color:rgba(229,0,125,.28);box-shadow:0 10px 28px rgba(15,24,33,.07)}
.contact-info-card__icon{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;flex:0 0 42px;border-radius:12px;background:rgba(229,0,125,.075);color:var(--brava-primary,#e5007d);overflow:hidden}
.contact-info-card__icon svg{display:block!important;width:21px!important;height:21px!important;max-width:21px!important;max-height:21px!important;fill:currentColor!important}
.contact-info-card>span:last-child{display:grid;gap:2px;min-width:0}
.contact-info-card small{display:block;color:var(--brava-text-muted,#68727d);font-size:.76rem;font-weight:700;line-height:1.45}
.contact-info-card strong{display:block;font-size:.94rem;line-height:1.6;font-weight:700;overflow-wrap:anywhere}
.contact-info-card--static{cursor:default}
@media(min-width:760px) and (max-width:1023px){.contact-info-cards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.contact-info-card--static{grid-column:1/-1}}
@media(max-width:759px){.contact-info-cards{max-width:none}.contact-info-card{grid-template-columns:38px minmax(0,1fr);min-height:66px;padding:11px 12px}.contact-info-card__icon{width:38px!important;height:38px!important;flex-basis:38px}.contact-info-card__icon svg{width:19px!important;height:19px!important}}


/* Brava 3.11.5 — contact layout: wide form, stable sales cards, responsive message editor */
.contact-grid.container{
    width:min(100% - 48px, 1480px);
}
.contact-grid{
    min-width:0;
}
.contact-grid > *{
    min-width:0;
}
.contact-intro{
    min-width:0;
}
.contact-info-cards{
    width:100%;
    max-width:none;
}
.contact-info-card{
    display:flex!important;
    align-items:flex-start;
    gap:12px;
    width:100%;
    min-width:0;
}
.contact-info-card__icon{
    flex:0 0 42px;
}
.contact-info-card > span:last-child{
    display:block;
    flex:1 1 auto;
    width:auto;
    min-width:0;
}
.contact-info-card small,
.contact-info-card strong{
    width:100%;
    max-width:none;
}
.contact-info-card strong{
    white-space:normal;
    word-break:normal;
    overflow-wrap:break-word;
}
.form-panel{
    min-width:0;
    width:100%;
}
.form-panel .brava-quote-form{
    width:100%;
    min-width:0;
}
.form-panel .brava-form-full,
.form-panel .brava-message-field,
.form-panel .brava-message-editor,
.form-panel .brava-message-editor__surface,
.form-panel #brava-request-subject,
.form-panel #brava-message{
    width:100%;
    max-width:none;
    min-width:0;
}
@media (min-width:1024px){
    .contact-grid{
        grid-template-columns:minmax(320px,.68fr) minmax(0,1.32fr);
        gap:clamp(34px,4.5vw,76px);
    }
    .form-panel{
        padding:clamp(28px,3vw,44px);
    }
    .contact-info-cards{
        gap:12px;
    }
}
@media (min-width:1360px){
    .contact-grid{
        grid-template-columns:minmax(340px,.64fr) minmax(0,1.36fr);
    }
}
@media (max-width:1023px){
    .contact-grid.container{
        width:min(100% - 40px, 980px);
    }
    .contact-info-cards{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .contact-info-card--static{
        grid-column:1/-1;
    }
}
@media (max-width:700px){
    .contact-grid.container{
        width:min(100% - 28px, 760px);
    }
    .contact-info-cards{
        grid-template-columns:1fr;
    }
    .contact-info-card--static{
        grid-column:auto;
    }
}


/* Brava 3.11.7 — contact-page mobile viewport and fixed UI stability */
html,body{
    max-width:100%;
    overflow-x:clip;
}
@media (max-width:1023px){
    .site-header{
        position:sticky!important;
        inset-block-start:0!important;
        top:0!important;
        width:100%!important;
        max-width:none!important;
        transform:none!important;
        z-index:1200!important;
    }
    .header-inner,
    .form-panel,
    .contact-grid,
    .contact-grid > *,
    .form-panel .brava-quote-form,
    .form-panel .brava-quote-form > *{
        min-width:0!important;
        max-width:100%;
    }
    .brava-float{
        position:fixed!important;
    }
    .contact-grid.container{
        overflow:visible;
    }
}
@supports not (overflow:clip){
    html{overflow-x:hidden}
    body{overflow-x:hidden}
}

/* ==========================================================
   BRAVA 3.11.25 — CONTACT / QUOTE REQUEST UX
   Customer-first form hierarchy without changing Brava Core field names.
========================================================== */
body.page-template-template-contact main.section {
    padding-block: clamp(52px, 6vw, 86px);
    background:
        radial-gradient(circle at 10% 12%, rgba(229,0,125,.045), transparent 28%),
        linear-gradient(180deg, #fff 0%, #f7f8fa 100%);
}
body.page-template-template-contact .contact-grid {
    align-items: start;
    gap: clamp(32px, 4.2vw, 66px);
}
.contact-form-panel {
    position: relative;
    overflow: hidden;
    padding: clamp(24px, 3.2vw, 42px) !important;
    border: 1px solid color-mix(in srgb, var(--brava-border) 88%, #fff) !important;
    border-radius: 28px !important;
    background: rgba(255,255,255,.96);
    box-shadow: 0 26px 72px rgba(17,24,32,.08) !important;
}
.contact-form-panel::before {
    content: "";
    position: absolute;
    inset-inline: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--brava-primary,#e5007d), #7b62ee 54%, #4b8ad8);
}
.contact-form-panel__header {
    display: grid;
    grid-template-columns: 44px minmax(0,1fr);
    gap: 16px;
    align-items: start;
    margin-bottom: 24px;
    padding-bottom: 22px;
    border-bottom: 1px solid var(--brava-border,#d8dce2);
}
.contact-form-panel__step {
    width: 44px;
    height: 44px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: var(--brava-primary-soft,#fce6f2);
    color: var(--brava-primary,#e5007d);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .08em;
}
.contact-form-panel__header .eyebrow {
    margin: 0 0 4px;
}
.contact-form-panel__header h2 {
    margin: 0;
    font-size: clamp(1.55rem, 2.2vw, 2.25rem);
    line-height: 1.18;
}
.contact-form-panel__header > div > p:last-child {
    max-width: 58rem;
    margin: 9px 0 0;
    color: var(--brava-text-muted,#68727d);
    font-size: .92rem;
    line-height: 1.75;
}
.contact-quote-guidance {
    display: grid;
    grid-template-columns: 38px minmax(0,1fr);
    gap: 12px;
    align-items: center;
    margin: 0 0 24px;
    padding: 14px 16px;
    border: 1px solid rgba(229,0,125,.16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(229,0,125,.07), rgba(123,98,238,.045));
}
.contact-quote-guidance__icon {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: var(--brava-primary,#e5007d);
    color: #fff;
    font-weight: 900;
}
.contact-quote-guidance strong,
.contact-quote-guidance span {
    display: block;
}
.contact-quote-guidance strong {
    font-size: .92rem;
    line-height: 1.4;
}
.contact-quote-guidance div > span {
    margin-top: 3px;
    color: var(--brava-text-muted,#68727d);
    font-size: .8rem;
    line-height: 1.55;
}

.form-panel .brava-quote-form--enhanced {
    display: block !important;
}
.brava-form-section {
    margin-top: 18px;
    padding: clamp(18px, 2.2vw, 26px);
    border: 1px solid var(--brava-border,#d8dce2);
    border-radius: 20px;
    background: #fbfcfd;
}
.brava-form-section + .brava-form-section {
    margin-top: 18px;
}
.brava-form-section__head {
    margin-bottom: 18px;
}
.brava-form-section__head h3 {
    margin: 0;
    font-size: clamp(1.04rem, 1.35vw, 1.22rem);
    line-height: 1.35;
}
.brava-form-section__head p {
    margin: 5px 0 0;
    color: var(--brava-text-muted,#68727d);
    font-size: .8rem;
    line-height: 1.6;
}
.brava-form-section__grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 17px 20px;
}
.brava-form-section__grid > * {
    min-width: 0;
    margin: 0 !important;
}
.brava-form-section__grid .brava-form-full,
.brava-form-section__grid .brava-message-field,
.brava-form-section__grid .brava-message-editor,
.brava-form-section__grid p:has(textarea),
.brava-form-section__grid p:has(#brava-request-subject),
.brava-form-section__grid p:has(#brava-message) {
    grid-column: 1 / -1;
}
.form-panel .brava-quote-form label {
    display: block;
    margin-bottom: 7px;
    color: #20262d;
    font-size: .82rem;
    font-weight: 750;
    line-height: 1.45;
}
.form-panel .brava-quote-form input:not([type="checkbox"]):not([type="radio"]),
.form-panel .brava-quote-form select,
.form-panel .brava-quote-form textarea {
    min-height: 54px;
    margin: 0 !important;
    padding: 12px 14px;
    border: 1px solid #d4d9df;
    border-radius: 13px;
    background: #fff;
    color: var(--brava-text,#111617);
    box-shadow: 0 1px 0 rgba(17,24,32,.02);
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.form-panel .brava-quote-form textarea {
    min-height: 148px;
    resize: vertical;
}
.form-panel .brava-quote-form input:not([type="checkbox"]):not([type="radio"]):hover,
.form-panel .brava-quote-form select:hover,
.form-panel .brava-quote-form textarea:hover {
    border-color: #b9c0c8;
}
.form-panel .brava-quote-form input:not([type="checkbox"]):not([type="radio"]):focus,
.form-panel .brava-quote-form select:focus,
.form-panel .brava-quote-form textarea:focus {
    outline: 0;
    border-color: var(--brava-primary,#e5007d);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(229,0,125,.09);
}
.form-panel .brava-quote-form input:invalid:not(:placeholder-shown),
.form-panel .brava-quote-form textarea:invalid:not(:placeholder-shown) {
    border-color: #d97878;
}
.form-panel .brava-form-submit-row,
.form-panel .brava-quote-form > p:has(button[type="submit"]),
.form-panel .brava-quote-form > p:has(input[type="submit"]) {
    margin-top: 22px !important;
}
.form-panel .brava-quote-form button[type="submit"],
.form-panel .brava-quote-form input[type="submit"] {
    min-height: 54px;
    padding-inline: 24px;
    border-radius: 13px;
    font-weight: 800;
}
.form-panel .brava-notice {
    margin: 0 0 18px;
    border-radius: 14px;
}

@media (max-width:1023px) {
    body.page-template-template-contact main.section { padding-block: 44px 64px; }
    .contact-form-panel { border-radius: 24px !important; }
}
@media (max-width:700px) {
    body.page-template-template-contact main.section { padding-block: 30px 50px; }
    .contact-form-panel { padding: 20px 16px !important; border-radius: 20px !important; }
    .contact-form-panel__header { grid-template-columns: 38px minmax(0,1fr); gap: 12px; margin-bottom: 18px; padding-bottom: 18px; }
    .contact-form-panel__step { width: 38px; height: 38px; border-radius: 12px; }
    .contact-form-panel__header h2 { font-size: 1.45rem; }
    .contact-form-panel__header > div > p:last-child { font-size: .84rem; }
    .contact-quote-guidance { grid-template-columns: 34px minmax(0,1fr); padding: 12px; }
    .contact-quote-guidance__icon { width: 34px; height: 34px; }
    .brava-form-section { padding: 16px 13px; border-radius: 17px; }
    .brava-form-section__grid { grid-template-columns: 1fr; gap: 14px; }
    .brava-form-section__grid > * { grid-column: 1 !important; }
    .form-panel .brava-quote-form input:not([type="checkbox"]):not([type="radio"]),
    .form-panel .brava-quote-form select { min-height: 52px; }
    .form-panel .brava-quote-form button[type="submit"],
    .form-panel .brava-quote-form input[type="submit"] { width: 100%; }
}

/* Brava Global 3.13.4 — clearer contact step marker */
.contact-form-panel__step{
    font-size:.84rem;
    letter-spacing:.045em;
}

/* Brava 3.13.8 — direct contact fallback when the public form is disabled */
.contact-direct-panel .contact-form-panel__step{font-size:1.05rem}
.contact-direct-list{display:grid;gap:12px}
.contact-direct-list .contact-info-card{max-width:none;margin:0}
.contact-direct-empty{margin:0;padding:18px;border:1px dashed var(--brava-border,#d8dce2);border-radius:14px;color:var(--brava-text-muted,#68727d);background:var(--brava-surface-soft,#f7f8fa)}
