
    #customizedQuote{--gold:#00a676;--gold-light:#3dbd97;--dark:#243444;--gray:#5d6b76;--light-bg:#f4f8fa;--border:#dce5e9;--error:#bf3434;--success:#008a49;}
    #customizedQuote, #customizedQuote *{box-sizing:border-box;}
    .quote-page{background:#f4f8fa;padding:36px 0 64px;}
#customizedQuote{font-family:inherit;color:var(--dark);line-height:1.6;}
    #customizedQuote.quote-shell{max-width:900px;margin:0 auto;padding:0 20px;}

    #customizedQuote .header{
        text-align:center;
        background:linear-gradient(135deg,#09a4e5,#0182db);
        color:#fff;
        padding:45px 30px;
        border-radius:12px 12px 0 0;
    }
    #customizedQuote .header h1{font-size:1.9em;margin-bottom:8px;}
    #customizedQuote .header p{color:#eef7ff;font-size:0.95em;}
    #customizedQuote .header .badge{
        display:inline-block;
        margin-top:14px;
        padding:6px 16px;
        border:1px solid rgba(255,255,255,.7);
        color:#fff;
        border-radius:20px;
        font-size:0.85em;
    }

    #customizedQuote form{
        background:#fff;
        padding:35px 40px 40px;
        border-radius:0 0 12px 12px;
        box-shadow:0 4px 20px rgba(0,0,0,0.06);
    }

    #customizedQuote .quote-progress{
        display:flex;
        justify-content:space-between;
        margin-bottom:30px;
        position:relative;
    }
    #customizedQuote .quote-progress::before{
        content:'';
        position:absolute;
        top:14px;left:8%;right:8%;
        height:2px;background:var(--border);
        z-index:0;
    }
    #customizedQuote .step-indicator{
        position:relative;z-index:1;
        text-align:center;flex:1;
    }
    #customizedQuote .step-indicator .circle{
        width:30px;height:30px;margin:0 auto 6px;
        border-radius:50%;background:#fff;
        border:2px solid var(--border);
        display:flex;align-items:center;justify-content:center;
        font-size:0.85em;color:var(--gray);font-weight:bold;
        transition:all .3s;
    }
    #customizedQuote .step-indicator.active .circle{
        background:var(--gold);border-color:var(--gold);color:#fff;
    }
    #customizedQuote .step-indicator .label{font-size:0.72em;color:var(--gray);}
    #customizedQuote .step-indicator.active .label{color:var(--dark);font-weight:600;}

    #customizedQuote .step{display:none;animation:quoteFade .4s;}
    #customizedQuote .step.active{display:block;}
    @keyframes quoteFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

    #customizedQuote h2.section-title{
        font-size:1.2em;color:var(--gold);
        border-bottom:1px solid var(--border);
        padding-bottom:10px;margin-bottom:22px;
    }

    #customizedQuote .grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
    #customizedQuote .full{grid-column:1/-1;}

    #customizedQuote label{display:block;font-size:0.88em;font-weight:600;margin-bottom:6px;color:var(--dark);}
    #customizedQuote label .req{color:var(--error);}
    #customizedQuote .hint{font-size:0.78em;color:var(--gray);font-weight:400;margin-left:4px;}

    #customizedQuote input,#customizedQuote select,#customizedQuote textarea{
        width:100%;padding:11px 13px;
        border:1px solid var(--border);border-radius:8px;
        font-size:0.95em;font-family:inherit;
        transition:border .2s;
        background:#fff;
    }
    #customizedQuote input:focus,#customizedQuote select:focus,#customizedQuote textarea:focus{
        outline:none;border-color:var(--gold);
        box-shadow:0 0 0 3px rgba(0,166,118,0.12);
    }
    #customizedQuote textarea{resize:vertical;min-height:90px;}

    #customizedQuote .radio-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
    #customizedQuote .radio-card{
        flex:1;min-width:120px;
        border:1px solid var(--border);border-radius:8px;
        padding:12px 14px;cursor:pointer;
        display:flex;align-items:center;gap:8px;
        transition:all .2s;
    }
    #customizedQuote .radio-card:hover{border-color:var(--gold-light);}
    #customizedQuote .radio-card input{width:auto;margin:0;}
    #customizedQuote .radio-card.selected{
        border-color:var(--gold);
        background:rgba(0,166,118,0.06);
    }

    #customizedQuote .btn-row{display:flex;justify-content:space-between;margin-top:28px;}
    #customizedQuote .btn{
        padding:12px 28px;border:none;border-radius:8px;
        font-size:0.95em;font-weight:600;cursor:pointer;
        transition:all .2s;font-family:inherit;
    }
    #customizedQuote .btn-prev{background:#fff;color:var(--gray);border:1px solid var(--border);}
    #customizedQuote .btn-prev:hover{background:var(--light-bg);}
    #customizedQuote .btn-next{background:var(--gold);color:#fff;}
    #customizedQuote .btn-next:hover{background:#008a65;}
    #customizedQuote .btn-submit{background:var(--success);color:#fff;}
    #customizedQuote .btn-submit:hover{background:#1e8449;}

    #customizedQuote .error-msg{color:var(--error);font-size:0.8em;margin-top:5px;display:none;}

    #customizedQuote .summary{
        background:var(--light-bg);border-radius:8px;
        padding:20px;margin-top:10px;
    }
    #customizedQuote .summary h3{font-size:1em;margin-bottom:12px;color:var(--dark);}
    #customizedQuote .summary-item{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--border);font-size:0.9em;}
    #customizedQuote .summary-item:last-child{border:none;}
    #customizedQuote .summary-item .k{color:var(--gray);}

    #customizedQuote .success-box{
        display:none;text-align:center;padding:50px 30px;
    }
    #customizedQuote .success-box .check{
        width:64px;height:64px;margin:0 auto 20px;
        background:var(--success);color:#fff;
        border-radius:50%;display:flex;align-items:center;justify-content:center;
        font-size:2em;
    }
    #customizedQuote .success-box h2{color:var(--success);margin-bottom:12px;}
    #customizedQuote .success-box p{color:var(--gray);}

    /* ---- Cuadrícula de destinos: 4 columnas ---- */
    #customizedQuote .destinos-grid{
        display:grid;
        grid-template-columns:repeat(4,1fr);
        gap:10px;
    }
    #customizedQuote .destino-card{
        position:relative;
        display:flex;flex-direction:column;
        align-items:center;justify-content:center;
        gap:6px;
        min-height:78px;
        padding:12px 10px 12px 22px;
        border:1px solid var(--border);
        border-radius:8px;
        cursor:pointer;
        font-weight:400;
        font-size:0.86em;
        text-align:center;
        transition:all .2s;
        user-select:none;
        margin:0;
    }
    #customizedQuote .destino-card:hover{
        border-color:var(--gold-light);
        background:rgba(0,166,118,0.04);
    }
    #customizedQuote .destino-num{
        position:absolute;
        top:5px;left:7px;
        font-size:0.68em;
        color:var(--gold);
        font-weight:700;
    }
    #customizedQuote .destino-nombre{
        line-height:1.25;
    }
    #customizedQuote .destino-check{
        display:flex;align-items:center;justify-content:center;
    }
    #customizedQuote .destino-check input{width:auto;margin:0;accent-color:var(--gold);}
    #customizedQuote .destino-card:has(input:checked){
        border-color:var(--gold);
        background:rgba(0,166,118,0.08);
        box-shadow:0 0 0 2px rgba(0,166,118,0.15);
    }
    #customizedQuote .destino-otro{
        grid-column:1/-1;
        flex-direction:row;
        justify-content:flex-start;
        gap:8px;
        min-height:auto;
        padding:10px 12px;
        font-size:0.88em;
    }
    #customizedQuote .destino-otro input{width:auto;margin:0;accent-color:var(--gold);}
    #customizedQuote .destino-group-title{
        grid-column:1/-1;
        font-size:0.75em;
        color:var(--gold);
        font-weight:700;
        letter-spacing:.03em;
        text-transform:uppercase;
        padding:16px 4px 6px;
        border-bottom:1px solid var(--border);
        margin-top:4px;
    }
    #customizedQuote .destino-group-title:first-of-type{ margin-top:0; padding-top:0; }

    @media(max-width:900px){
        #customizedQuote .destinos-grid{grid-template-columns:repeat(2,1fr);}
    }
    @media(max-width:600px){
        #customizedQuote .destinos-grid{grid-template-columns:1fr;}
        #customizedQuote form{padding:25px 20px;}
        #customizedQuote .header h1{font-size:1.5em;}
        #customizedQuote .quote-progress .label{font-size:0.65em;}
    }

#customizedQuote h1,#customizedQuote h2,#customizedQuote h3,#customizedQuote p{line-height:1.5;margin-top:0;}
#customizedQuote .header h1{color:#fff;font-weight:700;}
#customizedQuote .header p{margin-bottom:0;}
#customizedQuote .quote-progress{height:auto;background:transparent;box-shadow:none;overflow:visible;}
#customizedQuote .step-indicator .label{display:block;background:transparent;padding:0;white-space:normal;line-height:1.4;}
#customizedQuote .radio-card{margin-bottom:0;font-weight:400;}
#customizedQuote .radio-card input{accent-color:var(--gold);}
#customizedQuote .btn{line-height:1.4;height:auto;white-space:normal;}
#customizedQuote .error-msg[style*="block"]{display:block;}
#customizedQuote [aria-invalid="true"]{border-color:var(--error);}
#customizedQuote .summary-item{gap:18px;align-items:flex-start;}
#customizedQuote .summary-item .k{flex:0 0 36%;}
#customizedQuote .summary-item .value{text-align:right;overflow-wrap:anywhere;white-space:pre-wrap;}
#customizedQuote .quote-error{background:#fff2f2;border:1px solid #f2c5c5;color:var(--error);border-radius:8px;padding:12px;margin-bottom:20px;}
#customizedQuote [hidden]{display:none!important;}
#customizedQuote .quote-captcha{margin-top:22px;}
#customizedQuote .quote-captcha-row{display:flex;align-items:center;gap:12px;}
#customizedQuote .quote-captcha-row input{max-width:200px;}
#customizedQuote #refreshCaptcha{border:1px solid var(--border);background:white;padding:0;cursor:pointer;border-radius:6px;overflow:hidden;}
#customizedQuote #quoteCaptchaImage{display:block;width:150px;height:50px;}
#customizedQuote .success-box{background:white;border-radius:0 0 12px 12px;}
#customizedQuote .btn:disabled{opacity:.65;cursor:wait;}
#customizedQuote .travelers-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
#customizedQuote input,#customizedQuote select,#customizedQuote textarea{min-width:0;}
@media(max-width:600px){
 .quote-page{padding:20px 0 36px;}
 #customizedQuote.quote-shell{padding:0 12px;}
 #customizedQuote .header{padding:28px 20px;}
 #customizedQuote .grid{grid-template-columns:minmax(0,1fr);}
 #customizedQuote .travelers-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px!important;}
 #customizedQuote .destinos-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 #customizedQuote .btn{padding:12px 16px;}
 #customizedQuote .quote-captcha-row{gap:8px;}
 #customizedQuote .quote-captcha-row input{width:calc(100% - 158px);}
}

#customizedQuote .destino-card.selected{border-color:var(--gold);background:rgba(0,166,118,.08);box-shadow:0 0 0 2px rgba(0,166,118,.15);}
#customizedQuote .badge{background:transparent;height:auto;line-height:1.6;white-space:normal;}
@media(max-width:374px){
    .customized-quote-page .head_logo{max-width:100%;height:auto;}
    .customized-quote-page .head_logo img{max-width:100%;height:auto;}
    .customized-quote-page .footer_icon_list{display:flex;flex-wrap:wrap;}
}

/* Scenic background and route preview from the updated quote reference. */
.quote-page{position:relative;isolation:isolate;background:#1b3c54;padding-top:0;}
.quote-background{position:sticky;top:0;height:100vh;margin-bottom:-100vh;overflow:hidden;z-index:0;}
.quote-background .slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.6s ease;}
.quote-background .slide.active{opacity:1;}
.quote-background::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(20,45,65,.62),rgba(15,35,55,.75));}
#customizedQuote{position:relative;z-index:1;}
#customizedQuote .header{background:transparent;padding:50px 30px 36px;}
#customizedQuote .header h1{font-size:2.05em;letter-spacing:.5px;text-shadow:0 2px 18px rgba(0,0,0,.55);}
#customizedQuote .header p{color:rgba(255,255,255,.92);max-width:560px;margin:0 auto;text-shadow:0 1px 10px rgba(0,0,0,.5);}
#customizedQuote .header .badge{background:rgba(0,65,100,.3);border-color:#83dfcb;color:#e4fff8;margin-top:18px;padding:7px 18px;}
#customizedQuote .quote-pause{display:block;margin:12px auto 0;padding:5px 12px;background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.45);border-radius:16px;color:#fff;font-size:12px;cursor:pointer;}
#customizedQuote .quote-pause:focus-visible{outline:2px solid #fff;outline-offset:3px;}
#customizedQuote form{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.28);}
#customizedQuote .mapa-box{background:#fff;margin-top:28px;padding:28px 30px 30px;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.12);border-top:4px solid #00a676;}
#customizedQuote .mapa-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:6px;}
#customizedQuote .mapa-head h2{font-size:1.2em;color:#008a65;display:flex;align-items:center;gap:8px;margin-bottom:0;}
#customizedQuote .mapa-head .num{width:26px;height:26px;border-radius:50%;background:#00a676;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.75em;}
#customizedQuote .mapa-sub{font-size:.86em;color:var(--gray);margin:12px 0 18px;}
#customizedQuote .mapa-leyenda{display:flex;gap:14px;flex-wrap:wrap;font-size:.78em;color:var(--gray);}
#customizedQuote .mapa-leyenda span{display:inline-flex;align-items:center;gap:5px;}
#customizedQuote .dot-ej{width:10px;height:10px;border-radius:50%;display:inline-block;}
#customizedQuote .dot-ej.sel{background:#0182db;}
#customizedQuote .dot-ej.nosel{background:#cfcfca;border:1px solid #bdbdb8;}
#customizedQuote .dot-ej.inic{background:#008a49;}
#customizedQuote .dot-ej.fin{background:#bf3434;}
#customizedQuote .mapa-wrap{position:relative;border:1px solid var(--border);border-radius:10px;overflow:auto;background:#eef5fc;}
#customizedQuote .mapa-wrap svg{display:block;width:100%;height:auto;}
#customizedQuote .mapa-wrap:focus-visible{outline:2px solid #0182db;outline-offset:2px;}
#customizedQuote .ciudad-label{font-size:12px;fill:#2c3e50;pointer-events:none;font-weight:600;paint-order:stroke;stroke:rgba(255,255,255,.92);stroke-width:3.2px;stroke-linejoin:round;letter-spacing:.2px;}
#customizedQuote .ciudad-label.sel{font-weight:700;}
#customizedQuote .ciudad-label.hl-label{fill:#0182db;font-weight:800;font-size:14px;}
#customizedQuote .ciudad-label.hl-red-label{fill:#c01919;font-weight:800;font-size:14px;}
#customizedQuote .halo-red,#customizedQuote .halo-hl{animation:quoteMapPulse 2.4s ease-in-out infinite;}
@keyframes quoteMapPulse{0%,100%{opacity:.8;}50%{opacity:.35;}}
#customizedQuote .ruta-line{fill:none;stroke:#0182db;stroke-width:2.4;stroke-linecap:round;stroke-dasharray:3000;stroke-dashoffset:3000;animation:quoteRouteDraw 1.1s ease forwards;opacity:.85;}
@keyframes quoteRouteDraw{to{stroke-dashoffset:0;}}
#customizedQuote .hint-flot{position:absolute;top:10px;left:12px;background:rgba(255,255,255,.95);border:1px solid var(--border);padding:5px 10px;border-radius:20px;font-size:.78em;color:var(--gray);max-width:calc(100% - 24px);}
#customizedQuote .orden-lista{margin-top:16px;padding:14px 16px;background:var(--light-bg);border-radius:8px;font-size:.9em;min-height:48px;}
#customizedQuote .orden-lista .vacio{color:var(--gray);font-style:italic;}
#customizedQuote .orden-lista ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;}
#customizedQuote .orden-lista li{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border);padding:5px 11px;border-radius:20px;max-width:100%;overflow-wrap:anywhere;}
#customizedQuote .orden-lista .idx{width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:#0182db;color:#fff;font-size:.72em;display:inline-flex;align-items:center;justify-content:center;font-weight:bold;}
#customizedQuote .orden-lista li.inic{box-shadow:0 0 0 2px rgba(0,138,73,.4);}
#customizedQuote .orden-lista li.fin{box-shadow:0 0 0 2px rgba(191,52,52,.35);}
#customizedQuote .mapa-mobile-hint{display:none;font-size:12px;color:var(--gray);margin-top:10px;}
#customizedQuote .quote-credit{color:rgba(255,255,255,.75);font-size:11px;text-align:center;margin:16px 0 0;}
#customizedQuote .success-box{border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.2);}
@media(max-width:600px){
 .quote-page{padding-top:0;}
 #customizedQuote .header{padding:32px 20px 28px;}
 #customizedQuote .header h1{font-size:1.5em;}
 #customizedQuote .mapa-box{padding:20px 16px;}
 #customizedQuote .mapa-wrap svg{min-width:750px;}
 #customizedQuote .mapa-mobile-hint{display:block;}
}
@media(prefers-reduced-motion:reduce){
 .quote-background .slide{transition:none;}
 #customizedQuote .halo-red,#customizedQuote .halo-hl{animation:none;}
 #customizedQuote .ruta-line{animation:none;stroke-dashoffset:0;}
 #customizedQuote .step{animation:none;}
}
