/* =============================================================
   BOX EXPRESS — ORÇAMENTO V3.4
   Design independente, carregado depois de css/style.css e quote-map.css.
   Não altera a lógica do formulário nem o calendário.
   ============================================================= */

body.quote-page-v3 {
    --quote-blue: #1b3563;
    --quote-navy: #10294d;
    --quote-yellow: #f3cc1f;
    --quote-soft: #f3f7fc;
    --quote-border: #dbe5f1;
    color: #233d63;
}

body.quote-page-v3 [hidden] { display: none !important; }

/* 1 — Cabeçalho institucional V3.4: mesma linguagem visual de Serviços V3 */
body.quote-page-v3 .quote-v3-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(120deg, #142c50 3%, #1b3563 52%, #284e7c 100%);
    border-bottom: 0;
    padding: 0;
}
body.quote-page-v3 .quote-v3-hero::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background: radial-gradient(circle at 77% 38%, rgba(243,204,31,.12), transparent 32%),
                radial-gradient(circle at 10% 100%, rgba(120,178,224,.10), transparent 40%);
    pointer-events: none;
}
body.quote-page-v3 .quote-v3-hero::after {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    opacity: .26;
    background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
                      linear-gradient(90deg,rgba(255,255,255,.045) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to right, transparent, #000);
    pointer-events: none;
}
body.quote-page-v3 .quote-v3-hero__grid {
    display: grid;
    grid-template-columns: minmax(0,1.16fr) minmax(0,.84fr);
    align-items: center;
    gap: 4%;
    min-height: 485px;
    padding-top: 76px;
    padding-bottom: 70px;
}
body.quote-page-v3 .quote-v3-hero__copy {
    position: relative;
    z-index: 2;
    max-width: 700px;
}
body.quote-page-v3 .quote-v3-hero__eyebrow {
    display: inline-block;
    color: var(--quote-yellow);
    font: 800 .78rem/1.5 'Open Sans',sans-serif;
    text-transform: uppercase;
    letter-spacing: .13em;
}
body.quote-page-v3 .quote-v3-hero h1 {
    margin: 13px 0 19px;
    color: #fff;
    font: 700 clamp(2.15rem,4.1vw,3.7rem)/1.13 'Quicksand',sans-serif;
    letter-spacing: -.035em;
}
body.quote-page-v3 .quote-v3-hero__copy > p {
    max-width: 600px;
    margin: 0 0 27px;
    color: #e2ecf8;
    font: 400 clamp(1rem,1.45vw,1.12rem)/1.77 'Open Sans',sans-serif;
}
body.quote-page-v3 .quote-v3-hero__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 50px;
    padding: 12px 22px;
    border-radius: 10px;
    color: #142e53;
    background: var(--quote-yellow);
    text-decoration: none;
    font: 800 .92rem/1.4 'Quicksand',sans-serif;
    box-shadow: 0 8px 23px rgba(0,0,0,.16);
    transition: background .2s ease, transform .2s ease;
}
body.quote-page-v3 .quote-v3-hero__button:hover {
    color: #142e53;
    background: #ffe16a;
    transform: translateY(-2px);
}
body.quote-page-v3 .quote-v3-hero__button:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}
body.quote-page-v3 .quote-v3-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 11px;
    margin-top: 34px;
    color: #dae7f6;
    font-size: .84rem;
}
body.quote-page-v3 .quote-v3-breadcrumb a { color: #fff; text-decoration: none; }
body.quote-page-v3 .quote-v3-breadcrumb a:hover { text-decoration: underline; }
body.quote-page-v3 .quote-v3-breadcrumb i { font-size: .65rem; color: var(--quote-yellow); }

/* Círculos e ícones próprios do pedido de orçamento */
body.quote-page-v3 .quote-v3-hero__art {
    position: relative;
    width: min(100%,400px);
    aspect-ratio: 1;
    margin-inline: auto;
}
body.quote-page-v3 .quote-v3-hero__ring {
    position: absolute;
    border: 1px solid rgba(225,237,255,.22);
    border-radius: 50%;
}
body.quote-page-v3 .quote-v3-hero__ring--outer { inset: 2%; }
body.quote-page-v3 .quote-v3-hero__ring--inner {
    inset: 16%;
    border-style: dashed;
    border-color: rgba(243,204,31,.48);
}
body.quote-page-v3 .quote-v3-hero__route {
    position: absolute;
    width: 67%;
    left: 17%;
    bottom: 26%;
    border-top: 2px dashed rgba(243,204,31,.55);
    transform: rotate(-33deg);
    transform-origin: left center;
}
body.quote-page-v3 .quote-v3-hero__center {
    position: absolute;
    inset: 27%;
    display: grid;
    place-items: center;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.24);
    background: radial-gradient(circle at 30% 20%, #43709d, #19365e 74%);
    box-shadow: inset 0 0 25px rgba(255,255,255,.04), 0 10px 45px rgba(5,20,40,.35);
}
body.quote-page-v3 .quote-v3-hero__center i {
    color: #edf5fc;
    font-size: clamp(3.5rem,7vw,5.6rem);
}
body.quote-page-v3 .quote-v3-hero__point {
    position: absolute;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 59px;
    height: 59px;
    border-radius: 16px;
    background: #fff;
    color: #1b3563;
    font-size: 1.45rem;
    box-shadow: 0 12px 28px rgba(0,10,25,.25);
}
body.quote-page-v3 .quote-v3-hero__point--one { left: 10%; top: 12%; transform: rotate(-7deg); }
body.quote-page-v3 .quote-v3-hero__point--two { right: 2%; top: 47%; background: var(--quote-yellow); transform: rotate(8deg); }
body.quote-page-v3 .quote-v3-hero__point--three { left: 22%; bottom: 8%; width: 50px; height: 50px; font-size: 1.2rem; }

@media (max-width: 991.98px) {
    body.quote-page-v3 .quote-v3-hero__grid { min-height: 400px; padding-top: 62px; padding-bottom: 62px; }
    body.quote-page-v3 .quote-v3-hero__art { width: min(100%,310px); }
}
@media (max-width: 767.98px) {
    body.quote-page-v3 .quote-v3-hero__grid {
        grid-template-columns: 1fr;
        min-height: auto;
        gap: 24px;
        padding-top: 62px;
        padding-bottom: 45px;
    }
    body.quote-page-v3 .quote-v3-hero__art { width: min(75%,230px); }
    body.quote-page-v3 .quote-v3-hero__point { width: 42px; height: 42px; font-size: 1.04rem; border-radius: 12px; }
    body.quote-page-v3 .quote-v3-hero__point--three { width: 37px; height: 37px; }
    body.quote-page-v3 .quote-v3-hero__center i { font-size: 3.5rem; }
}
@media (max-width: 575.98px) {
    body.quote-page-v3 .quote-v3-hero__grid { padding-top: 48px; padding-bottom: 35px; }
    body.quote-page-v3 .quote-v3-hero h1 { font-size: clamp(2.15rem,9vw,2.7rem); }
    body.quote-page-v3 .quote-v3-hero__button { min-height: 48px; }
    body.quote-page-v3 .quote-v3-hero__art { width: min(63%,185px); }
    body.quote-page-v3 .quote-v3-breadcrumb { margin-top: 27px; }
}

/* 2 — Zona principal e informação de apoio */
body.quote-page-v3 .quote-v3-main {
    position: relative;
    padding-top: clamp(42px,5vw,74px) !important;
    padding-bottom: clamp(30px,4vw,55px) !important;
    background: linear-gradient(175deg,#f7faff 0%,#fff 56%);
    scroll-margin-top: 110px;
}
body.quote-page-v3 .quote-v3-main > .container { max-width: 1260px; }
body.quote-page-v3 .quote-v3-main .row { min-width: 0; }
body.quote-page-v3 .quote-v3-form { min-width: 0; }
body.quote-page-v3 .quote-v3-form > .text-secondary {
    color: #9a7500 !important;
    font-size: .78rem;
    letter-spacing: .14em;
    font-weight: 800;
}
body.quote-page-v3 .quote-v3-form > h2 {
    color: var(--quote-blue);
    font: 700 clamp(1.85rem,3.2vw,2.55rem)/1.25 'Quicksand',sans-serif;
}
body.quote-page-v3 .quote-v3-form > p { color: #536985; line-height: 1.75; }
body.quote-page-v3 .quote-v3-form-surface {
    padding: clamp(18px,2.6vw,30px) !important;
    border: 1px solid #e5ebf4;
    border-radius: 21px !important;
    background: #fff !important;
    box-shadow: 0 18px 52px rgba(27,53,99,.075);
}
body.quote-page-v3 .quote-v3-steps {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 23px;
    color: #627590;
    font: 700 .76rem/1.4 'Open Sans',sans-serif;
}
body.quote-page-v3 .quote-v3-steps__first { color: var(--quote-blue); }
body.quote-page-v3 .quote-v3-steps__divider { flex: 1 1 auto; max-width: 60px; height: 1px; background: #cad8e8; }
body.quote-page-v3 .contact-chooser-title { color: var(--quote-blue); font-family: 'Quicksand',sans-serif; font-weight: 700; }
body.quote-page-v3 .contact-chooser-description { color: #64758c; }
body.quote-page-v3 .contact-choice-card {
    width: 100%;
    min-height: 185px;
    border: 1px solid #d8e3ef;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(27,53,99,.045);
    transition: border-color .2s, box-shadow .2s,transform .2s;
}
body.quote-page-v3 .contact-choice-card:hover,
body.quote-page-v3 .contact-choice-card:focus-visible {
    border-color: var(--quote-yellow);
    box-shadow: 0 12px 30px rgba(27,53,99,.12);
    transform: translateY(-2px);
}
body.quote-page-v3 .contact-choice-card:focus-visible { outline: 3px solid var(--quote-yellow); outline-offset: 2px; }
body.quote-page-v3 .contact-choice-title { color: var(--quote-blue); }
body.quote-page-v3 .contact-choice-text { color: #64748b; }

/* 3 — Formulário e aviso de recolha do mapa */
body.quote-page-v3 #quoteFormWrapper > button { color: var(--quote-blue) !important; font-weight: 700; }
body.quote-page-v3 #quoteForm .form-control,
body.quote-page-v3 #quoteForm .form-select {
    border-color: #d5e1ed;
    background-color: #fbfcfe;
    border-radius: 10px;
    color: #253e62;
}
body.quote-page-v3 #quoteForm .form-control:focus,
body.quote-page-v3 #quoteForm .form-select:focus {
    border-color: #8ba6cd;
    box-shadow: 0 0 0 3px rgba(27,53,99,.09);
}
body.quote-page-v3 #quoteForm textarea { min-height: 155px; }
body.quote-page-v3 #quoteForm .btn-box-primary { border-radius: 10px; }
body.quote-page-v3 .quote-map-intro { border-radius: 13px; }
body.quote-page-v3 .quote-map-card { box-shadow: 0 10px 26px rgba(27,53,99,.055); }
body.quote-page-v3 .quote-map-calendar__open {
    border: 1px solid #aebfd7;
    background: #f8fbff;
}
body.quote-page-v3 .quote-map-calendar__open:hover { border-color: #728fb7; }
body.quote-page-v3 .quote-map-calendar__dialog { z-index: 60; }
body.quote-page-v3 .quote-map-calendar__dialog[hidden] { display: none !important; }
body.quote-page-v3 .quote-v3-visual-col { min-width: 0; }
body.quote-page-v3 .quote-v3-visual-col .contact-image-wrapper {
    position: sticky;
    top: 105px;
    overflow: hidden;
    border-radius: 22px;
    background: #eaf1fa;
    box-shadow: 0 24px 55px rgba(27,53,99,.10);
}
body.quote-page-v3 .quote-v3-visual-col .contact-image {
    display: block;
    width: 100%;
    height: clamp(440px,48vw,680px);
    object-fit: cover;
    object-position: center;
}

/* 4 — CTA final: continuar para Contactos */
body.quote-page-v3 .quote-contact-cta { padding: clamp(34px,5vw,65px) 12px clamp(65px,7vw,100px); }
body.quote-page-v3 .quote-contact-cta .container { max-width: 1200px; }
body.quote-page-v3 .quote-contact-cta__card {
    display: grid;
    grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr);
    overflow: hidden;
    border-radius: 22px;
    background: white;
    border: 1px solid #e0e8f2;
    box-shadow: 0 22px 56px rgba(27,53,99,.095);
}
body.quote-page-v3 .quote-contact-cta__body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: clamp(32px,4.5vw,64px);
}
body.quote-page-v3 .quote-contact-cta__eyebrow { color: #916f00; font: 800 .74rem/1.45 'Open Sans',sans-serif; letter-spacing: .13em; }
body.quote-page-v3 .quote-contact-cta__body h2 { margin: 14px 0 15px; color: var(--quote-blue); font: 700 clamp(1.6rem,3vw,2.4rem)/1.25 'Quicksand',sans-serif; }
body.quote-page-v3 .quote-contact-cta__body > p { color: #56687e; line-height: 1.75; margin-bottom: 24px; }
body.quote-page-v3 .quote-contact-cta__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 49px;
    padding: 12px 22px;
    border-radius: 10px;
    border: 1px solid #e2bb16;
    background: var(--quote-yellow);
    color: var(--quote-blue);
    text-decoration: none;
    font: 800 .92rem/1.4 'Quicksand',sans-serif;
    transition: transform .2s,background .2s;
}
body.quote-page-v3 .quote-contact-cta__button:hover { background: #ffdd46; color: var(--quote-blue); transform: translateY(-2px); }
body.quote-page-v3 .quote-contact-cta__button:focus-visible { outline: 3px solid var(--quote-blue); outline-offset: 3px; }
body.quote-page-v3 .quote-contact-cta__note { font: 600 .75rem/1.6 'Open Sans',sans-serif; color: #61738b; margin: 18px 0 0 !important; }
body.quote-page-v3 .quote-contact-cta__note i { margin-right: 8px; color: #27855b; }
body.quote-page-v3 .quote-contact-cta__visual {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 330px;
    padding: 35px;
    overflow: hidden;
    background: linear-gradient(140deg,#294b80,#12294e);
    color: white;
}
body.quote-page-v3 .quote-contact-cta__visual::before {
    content: '';
    position: absolute;
    width: 380px;
    height: 380px;
    right: -140px;
    top: -135px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.11);
    box-shadow: 0 0 0 65px rgba(255,255,255,.035);
    pointer-events: none;
}
body.quote-page-v3 .quote-contact-cta__visual-inner { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 320px; text-align: center; }
body.quote-page-v3 .quote-contact-cta__icon { display: grid; place-items: center; width: 75px; height: 75px; border-radius: 18px; background: rgba(243,204,31,.12); color: var(--quote-yellow); font-size: 32px; }
body.quote-page-v3 .quote-contact-cta__visual-inner strong { color: #fff; font: 700 1.35rem/1.35 'Quicksand',sans-serif; }
body.quote-page-v3 .quote-contact-cta__visual-inner > span:not(.quote-contact-cta__icon) { color: #d9e5f5; font-size: .92rem; }
body.quote-page-v3 .quote-contact-cta__icons { display: flex; align-items: center; gap: 21px; margin-top: 15px; color: var(--quote-yellow); font-size: 22px; }
body.quote-page-v3 .quote-contact-cta__icons .fa-long-arrow-alt-right { color: white; font-size: 14px; }

@media (max-width: 991.98px) {
    body.quote-page-v3 .quote-v3-visual-col .contact-image-wrapper { position: relative; top: auto; }
    body.quote-page-v3 .quote-v3-visual-col .contact-image { height: 430px; }
    body.quote-page-v3 .quote-v3-main .row.g-5 { --bs-gutter-y: 2.1rem; }
}
@media (max-width: 767.98px) {
    body.quote-page-v3 .quote-v3-main { padding-top: 40px !important; }
    body.quote-page-v3 .quote-v3-visual-col .contact-image { height: clamp(230px,55vw,370px); }
    body.quote-page-v3 .quote-contact-cta__card { grid-template-columns: 1fr; }
    body.quote-page-v3 .quote-contact-cta__visual { min-height: 255px; }
}
@media (max-width: 575.98px) {
    body.quote-page-v3 .quote-v3-form-surface { padding: 18px 14px !important; }
    body.quote-page-v3 .quote-v3-steps { font-size: .7rem; gap: 8px; }
    body.quote-page-v3 .quote-contact-cta { padding-inline: 4px; }
    body.quote-page-v3 .quote-contact-cta__body { padding: 35px 24px; }
    body.quote-page-v3 .quote-contact-cta__button { width: 100%; font-size: .86rem; }
    body.quote-page-v3 .quote-contact-cta__visual { padding: 29px 20px; }
    body.quote-page-v3 .quote-map-calendar__dialog { max-width: calc(100vw - 65px); }
}
@media (prefers-reduced-motion: reduce) {
    body.quote-page-v3 .quote-v3-hero__button,
    body.quote-page-v3 .quote-contact-cta__button,
    body.quote-page-v3 .contact-choice-card { transition: none; }
    body.quote-page-v3 .quote-v3-hero__button:hover,
    body.quote-page-v3 .quote-contact-cta__button:hover,
    body.quote-page-v3 .contact-choice-card:hover { transform: none; }
}


/* ============================================================
   BOX EXPRESS — ORÇAMENTO V3.2 | UX E ACESSIBILIDADE
   Refinação exclusivamente local à página quote.php.
   ============================================================ */

body.quote-page-v3 .quote-v3-steps {
    border-radius: 12px;
    padding: 12px 15px;
    background: #f4f7fc;
    border: 1px solid #e1e9f3;
    font-size: .78rem;
}
body.quote-page-v3 .quote-v3-steps [data-quote-step] {
    color: #647690;
    transition: color .18s ease;
}
body.quote-page-v3 .quote-v3-steps [aria-current="step"] {
    color: #1b3563;
    font-weight: 800;
}
body.quote-page-v3 .quote-v3-steps[data-stage="2"] .quote-v3-steps__divider {
    background: #d7b11d;
}
body.quote-page-v3 .quote-v3-section-heading {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    margin: 4px 0 22px;
    border: 1px solid #e1e9f3;
    border-radius: 12px;
    background: #f5f8fc;
}
body.quote-page-v3 .quote-v3-section-heading--inline {
    margin: 13px 0 2px;
}
body.quote-page-v3 .quote-v3-section-heading__icon {
    display: grid;
    flex: 0 0 39px;
    width: 39px;
    height: 39px;
    place-items: center;
    background: #ffefaf;
    border-radius: 10px;
    color: #1b3563;
    font-size: 17px;
}
body.quote-page-v3 .quote-v3-section-heading h3 {
    margin: 0 0 3px;
    color: #1b3563;
    font: 700 1rem/1.3 'Quicksand',sans-serif;
}
body.quote-page-v3 .quote-v3-section-heading p {
    margin: 0;
    color: #667990;
    font: 400 .78rem/1.55 'Open Sans',sans-serif;
}
body.quote-page-v3 .quote-v3-form-error {
    padding: 13px 15px;
    border: 1px solid #f1b4ad;
    border-left: 4px solid #be3426;
    border-radius: 10px;
    background: #fff6f5;
    color: #922d23;
    font: 700 .86rem/1.6 'Open Sans',sans-serif;
}
body.quote-page-v3 .quote-v3-form-error[hidden] { display: none !important; }
body.quote-page-v3 #quoteForm .was-validated .form-control:invalid,
body.quote-page-v3 #quoteForm.was-validated .form-control:invalid,
body.quote-page-v3 #quoteForm.was-validated .form-select:invalid {
    border-color: #c4483a;
}
body.quote-page-v3 #quoteForm .form-control:focus-visible,
body.quote-page-v3 #quoteForm .form-select:focus-visible {
    outline: 2px solid rgba(27,53,99,.5);
    outline-offset: 1px;
}
body.quote-page-v3 #quoteForm .row > * { min-width: 0; }
body.quote-page-v3 #quoteForm .iti { display: block; width: 100%; }
body.quote-page-v3 #quoteForm .iti__country-list {
    max-width: min(360px, calc(100vw - 48px));
    max-height: 300px;
    overflow-x: hidden;
}
body.quote-page-v3 #quoteForm .form-floating-custom .form-control {
    min-width: 0;
    width: 100%;
}
body.quote-page-v3 .quote-v3-form .quote-map-calendar__dialog {
    box-sizing: border-box;
}

@media (max-width: 575.98px) {
    body.quote-page-v3 .quote-v3-section-heading {
        padding: 12px;
        gap: 10px;
    }
    body.quote-page-v3 .quote-v3-section-heading h3 { font-size: .95rem; }
    body.quote-page-v3 .quote-v3-section-heading p { font-size: .75rem; }
    body.quote-page-v3 .quote-v3-steps {
        padding: 10px 12px;
        align-items: center;
        gap: 7px;
    }
    /* Calendário no fluxo em mobile, em vez de sair para fora do cartão. */
    body.quote-page-v3 .quote-v3-form .quote-map-calendar__dialog {
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        max-width: 100%;
        margin-top: 10px;
        padding: 12px;
        z-index: 2;
        box-shadow: 0 8px 24px rgba(18,43,76,.1);
    }
    body.quote-page-v3 .quote-v3-form .quote-map-calendar__day {
        min-width: 0;
        min-height: 35px;
        aspect-ratio: 1;
    }
}
@media (prefers-reduced-motion: reduce) {
    body.quote-page-v3 .quote-v3-steps [data-quote-step] { transition: none; }
}


/* ============================================================
   BOX EXPRESS — ORÇAMENTO V3.3 | OTIMIZAÇÃO FINAL
   Ajustes confinados ao formulário e ao CTA; sem CSS global.
   ============================================================ */
body.quote-page-v3 .quote-v3-hero { scroll-margin-top: 90px; }
body.quote-page-v3 .quote-v3-form-surface,
body.quote-page-v3 .quote-v3-form,
body.quote-page-v3 #quoteForm { min-width: 0; }
body.quote-page-v3 #quoteForm .form-control,
body.quote-page-v3 #quoteForm .form-select {
    max-width: 100%;
    font-size: 1rem;
}
body.quote-page-v3 #quoteForm textarea.form-control {
    min-height: 130px;
    resize: vertical;
    line-height: 1.6;
}
body.quote-page-v3 #quoteForm button[type="submit"] {
    min-height: 51px;
    touch-action: manipulation;
}
body.quote-page-v3 #quoteForm button[type="submit"]:disabled {
    cursor: progress;
    opacity: .75;
}
body.quote-page-v3 .quote-v3-form-surface :is(input, select, textarea, button, a):focus-visible,
body.quote-page-v3 .quote-contact-cta :is(a, button):focus-visible {
    outline: 3px solid #d7ae16;
    outline-offset: 2px;
}
body.quote-page-v3 #quoteForm .quote-map-calendar__day:disabled {
    cursor: not-allowed;
}
@media (max-width: 575.98px) {
    body.quote-page-v3 .quote-v3-hero__button {
        min-height: 48px;
    }
    body.quote-page-v3 .quote-v3-form-surface {
        border-radius: 16px !important;
    }
    body.quote-page-v3 .quote-v3-form .quote-map-calendar__days {
        gap: 3px;
    }
    body.quote-page-v3 .quote-v3-form .quote-map-calendar__day {
        min-height: 37px;
        font-size: .85rem;
    }
    body.quote-page-v3 .quote-v3-visual-col .contact-image-wrapper {
        border-radius: 16px;
    }
}
@media (max-width: 359.98px) {
    body.quote-page-v3 .quote-v3-steps { flex-wrap: wrap; }
    body.quote-page-v3 .quote-v3-steps__divider { max-width: 20px; }
    body.quote-page-v3 .quote-v3-form-surface { padding: 16px 11px !important; }
    body.quote-page-v3 .quote-v3-form .quote-map-calendar__dialog { padding: 9px; }
    body.quote-page-v3 .quote-v3-form .quote-map-calendar__weekday { font-size: .65rem; }
    body.quote-page-v3 .quote-v3-form .quote-map-calendar__day { min-height: 34px; }
}
