:root {
    --ink: #202821;
    --muted: #6f776f;
    --paper: #fffdf9;
    --canvas: #f3f0e9;
    --line: #e7e1d7;
    --green: #2f6b57;
    --green-soft: #e8f3ed;
    --orange: #f08a3c;
    --orange-soft: #fff0e4;
    --blue: #4d78c4;
    --blue-soft: #eaf1ff;
    --pink: #d86088;
    --pink-soft: #fcebf1;
    --yellow: #d59d27;
    --yellow-soft: #fff7dc;
    --violet: #7864b5;
    --violet-soft: #f0ecff;
    --whatsapp: #20b85a;
    --danger: #c74646;
    --radius-xl: 24px;
    --radius-lg: 19px;
    --radius-md: 14px;
    --shadow: 0 12px 30px rgba(43, 50, 44, .08);
    --shadow-float: 0 16px 36px rgba(30, 35, 31, .2);

    /* Alias conservados para estilos y mensajes existentes */
    --primary: var(--green);
    --primary-light: #4c806e;
    --urgent: var(--danger);
    --white: #ffffff;
    --bg: var(--canvas);
    --gray: var(--muted);
    --brand-primary: var(--pink);
    --brand-secondary: var(--blue);
    --brand-accent: var(--green);
    --radius: var(--radius-xl);
    --shadow-soft: var(--shadow);
    --shadow-strong: 0 20px 35px rgba(43, 50, 44, .14);
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Plus Jakarta Sans', 'Montserrat', sans-serif;
    -webkit-tap-highlight-color: transparent;
}

html { scroll-behavior: smooth; }

body {
    min-height: 100vh;
    overflow-x: hidden;
    padding: 10px 10px 104px;
    color: var(--ink);
    background:
        radial-gradient(circle at top left, rgba(240, 138, 60, .11), transparent 26rem),
        radial-gradient(circle at top right, rgba(77, 120, 196, .11), transparent 24rem),
        var(--canvas);
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
}

body.modal-open {
    position: fixed;
    width: 100%;
    overflow: hidden !important;
}

.app-container {
    position: relative;
    width: 100%;
    max-width: 560px;
    min-height: calc(100vh - 20px);
    margin: 0 auto;
    overflow: hidden;
    border: 1px solid rgba(126, 115, 98, .13);
    border-radius: 30px;
    background: rgba(255, 253, 249, .92);
    box-shadow: 0 24px 65px rgba(55, 50, 42, .1);
}

/* Encabezado interno compacto */
.main-header {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 56px;
    padding: 10px 18px;
    border-bottom: 1px solid var(--line);
    background: rgba(255, 253, 249, .94);
    backdrop-filter: blur(14px);
}

.brand-lockup {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.logo {
    width: auto;
    height: 30px;
    max-width: 126px;
    object-fit: contain;
}

.header-copy {
    min-width: 0;
    padding-left: 10px;
    border-left: 2px solid var(--orange);
}

.header-copy strong,
.header-copy span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.05;
}

.header-copy small {
    display: block;
    margin-top: 3px;
    color: var(--muted);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.app-main {
    padding: 5px 16px 22px;
}

/* Avisos superiores */
.help-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding: 12px 16px 7px;
}

.help-card {
    display: flex;
    min-height: 66px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 9px 5px;
    border: 1px solid transparent;
    border-radius: 16px;
    cursor: pointer;
    text-align: center;
    transition: transform .2s ease, box-shadow .2s ease;
}

.help-card:nth-child(1) { border-color: #f1d4c0; background: var(--orange-soft); }
.help-card:nth-child(2) { border-color: #d2dff5; background: var(--blue-soft); }
.help-card:nth-child(3) { border-color: #d3e7da; background: var(--green-soft); }
.help-card:active { transform: scale(.97); }
.help-card span:first-child { margin-bottom: 4px; font-size: 18px; }
.help-card span:last-child { color: var(--ink); font-size: 8px; font-weight: 800; line-height: 1.25; text-transform: uppercase; }

/* Sistema modular */
.step-box,
.map-box,
.tip-module {
    position: relative;
    margin: 12px 0;
    padding: 18px;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: var(--radius-xl);
    background: var(--paper);
    box-shadow: var(--shadow);
    transition: opacity .25s ease, transform .25s ease, box-shadow .25s ease;
}

.step-box::before,
.map-box::before,
.tip-module::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 7px;
    content: '';
    background: var(--module-color, var(--green));
}

.module-date { --module-color: var(--orange); background: linear-gradient(90deg, var(--orange-soft), var(--paper) 32%); }
.module-address { --module-color: var(--blue); background: linear-gradient(90deg, var(--blue-soft), var(--paper) 32%); }
.module-delivery { --module-color: var(--pink); background: linear-gradient(90deg, var(--pink-soft), var(--paper) 32%); }
.module-time { --module-color: var(--violet); background: linear-gradient(90deg, var(--violet-soft), var(--paper) 32%); }
.module-result { --module-color: var(--green); }
.map-box { --module-color: var(--yellow); padding: 7px; background: var(--yellow-soft); }
.tip-module { --module-color: var(--green); background: var(--green-soft); text-align: center; }

.step-label,
.module-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 12px;
    color: var(--ink);
    font-size: 14px;
    font-weight: 800;
    line-height: 1.25;
}

.step-label::first-letter { color: var(--module-color, var(--green)); }

.modern-input {
    display: block;
    width: 100%;
    min-height: 52px;
    padding: 14px 15px;
    border: 2px solid rgba(72, 83, 74, .12);
    border-radius: var(--radius-md);
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    background: rgba(255, 255, 255, .9);
    color: var(--ink);
    font-size: 14px;
    font-weight: 700;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.modern-input:focus {
    border-color: var(--module-color, var(--green));
    background: #fff;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--module-color, var(--green)) 14%, transparent);
}

.modern-input:disabled {
    cursor: not-allowed;
    background: rgba(238, 237, 233, .88);
    color: #969b96;
}

input[type="date"] { position: relative; }
input[type="date"]::-webkit-calendar-picker-indicator {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    cursor: pointer;
    background: transparent;
    color: transparent;
}

.input-wrapper { position: relative; }

#clear-btn {
    position: absolute;
    z-index: 5;
    top: 50%;
    right: 13px;
    display: none;
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 9px;
    cursor: pointer;
    background: #ece9e3;
    color: #666d67;
    font-size: 11px;
    font-weight: 800;
}

/* Opciones de entrega */
.cards-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.delivery-card {
    position: relative;
    min-width: 0;
    padding: 17px 11px 15px;
    border: 2px solid rgba(73, 76, 73, .1);
    border-radius: 18px;
    cursor: pointer;
    background: rgba(255, 255, 255, .88);
    text-align: left;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.delivery-card:nth-child(1) { background: #fff8f3; }
.delivery-card:nth-child(2) { background: #f2faf5; }
.delivery-card:active { transform: scale(.98); }
.delivery-card h4 { margin: 8px 0 4px; color: var(--ink); font-size: 13px; font-weight: 800; line-height: 1.2; }
.card-icon { display: block; font-size: 24px; }
.card-kms { display: block; margin-bottom: 7px; color: var(--muted); font-size: 10px; font-weight: 700; }
.card-price { color: var(--green); font-size: 19px; font-weight: 800; }
.card-note { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; font-weight: 700; line-height: 1.3; }

.card-check {
    position: absolute;
    top: 9px;
    right: 9px;
    display: none;
    width: 23px;
    height: 23px;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 8px;
    background: var(--green);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

.delivery-card.active {
    transform: translateY(-2px);
    border-color: var(--green);
    box-shadow: 0 10px 20px rgba(47, 107, 87, .13);
}
.delivery-card.active .card-check { display: flex; }
.delivery-card.disabled { pointer-events: none; cursor: not-allowed; opacity: .55; filter: grayscale(.8); }

/* Horarios */
.slots-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.slot-btn {
    min-height: 44px;
    padding: 10px;
    border: 1px solid #ded8eb;
    border-radius: 13px;
    cursor: pointer;
    background: rgba(255, 255, 255, .9);
    color: #514a61;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.slot-btn:active { transform: scale(.98); }
.slot-btn.active { border-color: var(--violet); background: var(--violet); color: #fff; }

/* Resultado */
.result-box {
    overflow: hidden;
    padding: 20px;
    border-radius: 21px;
    background: #243d34;
    color: #fff;
    box-shadow: 0 16px 28px rgba(36, 61, 52, .2);
}

.result-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}

#final-type-name { font-size: 14px; font-weight: 800; line-height: 1.25; }
#final-price { flex-shrink: 0; color: #bce6cb; font-size: 25px; font-weight: 800; }

.whatsapp-button,
.store-btn-animated {
    display: block;
    width: 100%;
    padding: 15px;
    border-radius: 14px;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    text-align: center;
    text-decoration: none;
    transition: transform .2s ease;
}

.whatsapp-button { background: var(--whatsapp); box-shadow: 0 9px 18px rgba(32, 184, 90, .25); }
.whatsapp-button:active,
.store-btn-animated:active { transform: scale(.98); }

.next-steps-box {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 17px;
    background: rgba(255, 255, 255, .07);
}

.next-steps-title { margin-bottom: 12px; font-size: 13px; font-weight: 800; text-align: center; }
.next-steps-list { margin: 0 0 14px; padding: 0; list-style: none; color: #e5eee9; font-size: 11px; font-weight: 600; }
.next-steps-list li { display: flex; align-items: center; gap: 9px; margin-bottom: 8px; }
.next-steps-list li span { display: grid; width: 22px; height: 22px; flex-shrink: 0; place-items: center; border-radius: 8px; background: var(--pink); color: #fff; font-size: 10px; font-weight: 800; }
.store-btn-animated { background: var(--pink); box-shadow: 0 9px 18px rgba(216, 96, 136, .22); }

/* Mapa y avisos */
.map-box { margin-top: 12px; }
.map-box #map { overflow: hidden; border-radius: 18px; }
.error-msg { margin-top: 10px; padding: 11px; border: 1px solid #efc4c4; border-radius: 12px; background: #fff1f1; color: var(--danger); font-size: 11px; font-weight: 800; text-align: center; }
.hidden { display: none !important; }

/* Modales */
.overlay {
    position: fixed;
    z-index: 9000;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: rgba(28, 32, 29, .65);
    backdrop-filter: blur(8px);
}
.overlay.active { display: flex !important; }

.drawer {
    position: relative;
    display: none;
    width: 100%;
    max-width: 400px;
    padding: 34px 24px 24px;
    transform: translateY(14px) scale(.98);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .8);
    border-radius: 25px;
    opacity: 0;
    background: var(--paper);
    box-shadow: 0 26px 60px rgba(20, 24, 21, .28);
    transition: .25s ease;
}
.drawer::before { position: absolute; inset: 0 0 auto; height: 7px; content: ''; background: linear-gradient(90deg, var(--orange), var(--pink), var(--blue), var(--green)); }
.drawer.active { display: block; transform: translateY(0) scale(1); opacity: 1; }

.close-btn {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    background: #eeeae3;
    color: #626962;
    font-size: 12px;
    font-weight: 800;
}

.loc-btn,
.primary-btn {
    min-height: 48px;
    padding: 13px 14px;
    border-radius: 14px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}
.loc-btn { border: 1px solid var(--line); background: #fff; color: var(--ink); }
.loc-btn.gray { background: #f4f2ed; color: var(--muted); }
.primary-btn { width: 100%; border: 0; background: var(--green); color: #fff; }

/* Menú único de regalos */
.gift-menu {
    position: fixed;
    z-index: 8000;
    bottom: max(14px, env(safe-area-inset-bottom));
    left: 50%;
    width: max-content;
    transform: translateX(-50%);
}

.gift-menu summary {
    display: flex;
    min-width: 132px;
    height: 43px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 17px;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 15px;
    cursor: pointer;
    list-style: none;
    background: rgba(32, 40, 33, .95);
    box-shadow: var(--shadow-float);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    backdrop-filter: blur(12px);
}

.gift-menu summary::-webkit-details-marker { display: none; }
.gift-menu summary::before { content: '🎁'; font-size: 14px; }
.gift-menu summary::after { content: '⌃'; margin-left: 2px; color: #c9d6cc; font-size: 11px; }
.gift-menu[open] summary::after { content: '⌄'; }

.gift-menu-panel {
    position: absolute;
    right: 50%;
    bottom: calc(100% + 10px);
    display: grid;
    width: min(350px, calc(100vw - 26px));
    gap: 8px;
    padding: 10px;
    transform: translateX(50%);
    border: 1px solid rgba(117, 112, 102, .17);
    border-radius: 20px;
    background: rgba(255, 253, 249, .97);
    box-shadow: var(--shadow-float);
    backdrop-filter: blur(18px);
    animation: menuUp .18s ease both;
}

.gift-menu-link {
    display: grid;
    grid-template-columns: 35px 1fr auto;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 9px 11px;
    border-radius: 14px;
    color: var(--ink);
    text-decoration: none;
}
.gift-menu-link:first-child { background: var(--orange-soft); }
.gift-menu-link:last-child { background: var(--pink-soft); }
.gift-menu-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 11px; background: #fff; font-size: 17px; }
.gift-menu-copy strong { display: block; font-size: 11px; font-weight: 800; }
.gift-menu-copy small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; font-weight: 700; }
.gift-menu-arrow { color: var(--muted); font-size: 15px; font-weight: 800; }

@keyframes menuUp {
    from { opacity: 0; transform: translateX(50%) translateY(8px) scale(.98); }
    to { opacity: 1; transform: translateX(50%) translateY(0) scale(1); }
}

@media (max-width: 440px) {
    body { padding: 0 0 96px; background: var(--paper); }
    .app-container { min-height: 100vh; border: 0; border-radius: 0; box-shadow: none; }
    .main-header { min-height: 52px; padding-inline: 14px; }
    .logo { height: 27px; max-width: 112px; }
    .header-copy strong,
    .header-copy span { font-size: 11px; }
    .help-grid { padding-inline: 12px; }
    .app-main { padding-inline: 12px; }
    .step-box { padding: 16px; border-radius: 21px; }
    .cards-grid { gap: 8px; }
    .delivery-card { padding-inline: 10px; }
    .map-box #map { height: 260px !important; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* 0.21.9 · tarifa PrestaShop unificada */
.module-subtotal{--module-color:var(--blue);background:#f4f8ff}
.subtotal-wrapper{display:flex;align-items:center;gap:8px;border:2px solid rgba(72,83,74,.10);border-radius:var(--radius-md);background:#fff;padding-left:15px}
.subtotal-wrapper:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px rgba(70,127,217,.10)}
.subtotal-prefix{font-size:22px;font-weight:900;color:var(--ink)}
.subtotal-wrapper .subtotal-input{border:0!important;box-shadow:none!important;background:transparent!important;padding-left:0}
.field-note{display:block;margin-top:8px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.35}
.service-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-card{font-family:inherit;width:100%;appearance:none;-webkit-appearance:none;color:inherit}
.service-card:nth-child(3n+1){background:#fff8f3}
.service-card:nth-child(3n+2){background:#f2faf5}
.service-card:nth-child(3n+3){background:#f6f5ff}
.service-card .card-note{min-height:26px}
.slot-empty{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;font-weight:800;text-align:center}
@media (max-width:380px){.service-cards-grid{grid-template-columns:1fr}.service-card .card-note{min-height:0}}

/* 0.21.9 · acabado público elegante /shop/envio/ubd/ */
body.ubd-page-envio{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    background:#f4f2ee;
    color:#17383b;
}
body.ubd-page-envio *{font-family:inherit}
body.ubd-page-envio .app-container{
    background:#fff;
    border-color:#e6e3dc;
    box-shadow:0 20px 60px rgba(35,55,49,.09);
}
body.ubd-page-envio .main-header{background:#fff;border-bottom-color:#ece9e2;backdrop-filter:none;-webkit-backdrop-filter:none}
body.ubd-page-envio .step-box,
body.ubd-page-envio .tip-module{box-shadow:none;border-color:#e8e7e2;background:#fff}
body.ubd-page-envio .module-date{background:#fffaf5}
body.ubd-page-envio .module-subtotal{background:#f7f9fc}
body.ubd-page-envio .module-address{background:#f7faf9}
body.ubd-page-envio .module-delivery{background:#fff}
body.ubd-page-envio .module-time{background:#faf9fd}
body.ubd-page-envio .module-result{background:#173f39;color:#fff;border-color:#173f39}
body.ubd-page-envio .step-box::before,
body.ubd-page-envio .map-box::before,
body.ubd-page-envio .tip-module::before{width:4px}
body.ubd-page-envio .help-card{box-shadow:none;border-color:#e8e7e2!important;background:#faf9f6!important}
body.ubd-page-envio .help-card:nth-child(1) span:first-child{color:#c7773d}
body.ubd-page-envio .help-card:nth-child(2) span:first-child{color:#5377b8}
body.ubd-page-envio .help-card:nth-child(3) span:first-child{color:#2f7659}
body.ubd-page-envio .modern-input{border:1px solid #dfe4e1;background:#fff;border-radius:15px;font-weight:650}
body.ubd-page-envio .modern-input:focus{border-color:#2f7659;box-shadow:0 0 0 4px rgba(47,118,89,.09)}
body.ubd-page-envio .subtotal-wrapper{border:1px solid #dfe4e1;border-radius:15px}
body.ubd-page-envio .subtotal-wrapper:focus-within{border-color:#2f7659;box-shadow:0 0 0 4px rgba(47,118,89,.09)}
body.ubd-page-envio .service-cards-grid{gap:10px}
body.ubd-page-envio .service-card,
body.ubd-page-envio .service-card:nth-child(n){background:#fff;border:1px solid #e1e6e3;border-radius:18px;box-shadow:none}
body.ubd-page-envio .service-card:hover{border-color:#a9c9bc;box-shadow:0 8px 24px rgba(32,71,59,.07)}
body.ubd-page-envio .service-card.active{border:2px solid #2f7659;background:#f4faf7;box-shadow:0 0 0 3px rgba(47,118,89,.08)}
body.ubd-page-envio .service-card .card-icon{background:#f4f6f5;border-radius:12px}
body.ubd-page-envio .service-card .card-price{color:#1e684f}
body.ubd-page-envio .slot-btn{border:1px solid #dfe4e1;background:#fff;box-shadow:none}
body.ubd-page-envio .slot-btn.active{background:#173f39;color:#fff;border-color:#173f39;box-shadow:none}
body.ubd-page-envio .map-box{background:#fff;border:1px solid #e8e7e2;box-shadow:none}
body.ubd-page-envio .tip-module{background:#f4faf7}
body.ubd-page-envio .drawer{border:1px solid #e4e6e2;box-shadow:0 28px 70px rgba(22,41,35,.20);background:#fff}
body.ubd-page-envio .drawer::before{height:5px;background:#2f7659}
body.ubd-page-envio .overlay{background:rgba(28,36,33,.48);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
body.ubd-page-envio .next-steps-box{background:rgba(255,255,255,.08)}
body.ubd-page-envio .store-btn-animated{background:#fff;color:#173f39;box-shadow:none}
body.ubd-page-envio .whatsapp-button{background:#20b85a;box-shadow:none}
@media(max-width:440px){body.ubd-page-envio{background:#fff}body.ubd-page-envio .app-main{padding-top:8px}body.ubd-page-envio .step-box{margin:10px 0;border-radius:20px}}

/* 0.21.10 · experiencia de cotización pública */
body.ubd-page-envio{background:linear-gradient(180deg,#f7fbf9 0,#fff 34%,#f9f7f1 100%)}
body.ubd-page-envio .app-container{max-width:780px;margin:0 auto}
body.ubd-page-envio .app-main{display:grid;gap:14px}
body.ubd-page-envio .step-box{border:1px solid rgba(19,60,52,.10);border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 14px 36px rgba(22,53,45,.07);padding:20px}
body.ubd-page-envio .step-label{font-size:clamp(18px,4vw,24px);line-height:1.06;letter-spacing:-.025em;color:#163b34}
body.ubd-page-envio .modern-input{min-height:58px;border-radius:17px;border:1px solid #dce7e2;background:#fbfdfc;font-size:16px;padding:0 17px}
body.ubd-page-envio .service-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.ubd-page-envio .delivery-card{min-height:196px;border-radius:22px;padding:18px 16px;text-align:left;box-shadow:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
body.ubd-page-envio .delivery-card:not(.disabled):active{transform:scale(.985)}
body.ubd-page-envio .delivery-card.active{border-color:#188567;box-shadow:0 0 0 3px rgba(24,133,103,.11),0 14px 28px rgba(17,81,66,.09)}
body.ubd-page-envio .delivery-card.disabled{opacity:.55;filter:saturate(.65)}
body.ubd-page-envio .card-icon{font-size:30px}
body.ubd-page-envio .delivery-card h4{font-size:19px;letter-spacing:-.02em;margin-top:8px}
body.ubd-page-envio .card-price{font-size:27px;font-weight:900;letter-spacing:-.04em;color:#11694f;margin:8px 0 5px}
body.ubd-page-envio .card-note{font-size:12px;line-height:1.35;color:#63736d}
body.ubd-page-envio .economy-card{background:#fffdf6;border-color:#eee1b4}
body.ubd-page-envio .featured-service{grid-column:1/-1;background:#f1faf6}
body.ubd-page-envio .season-card{grid-column:1/-1;background:#fff8ef}
.free-eligibility-card{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;margin-top:2px;padding:18px 20px;border:1px solid #b6decf;border-radius:22px;background:#edf9f4;color:#143c32;box-shadow:0 10px 30px rgba(22,92,71,.07)}
.free-eligibility-card.hidden{display:none}.free-eligibility-icon{width:50px;height:50px;border-radius:16px;background:#fff;display:grid;place-items:center;font-size:25px}.free-eligibility-card small{display:block;color:#1b8064;font-size:10px;font-weight:900;letter-spacing:.12em}.free-eligibility-card strong{display:block;margin-top:4px;font-size:17px;line-height:1.18}.free-eligibility-card span{display:block;margin-top:5px;color:#5d726a;font-size:12px;line-height:1.35}
.quote-loading{position:fixed;inset:0;z-index:100000;display:none;place-items:center;background:rgba(248,251,250,.76);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.quote-loading.active{display:grid}.quote-loading>div{min-width:210px;padding:24px;border-radius:25px;background:#fff;border:1px solid rgba(20,70,57,.1);box-shadow:0 24px 70px rgba(13,55,44,.18);text-align:center}.quote-loading i{display:block;width:38px;height:38px;margin:0 auto 12px;border-radius:50%;border:3px solid #d8e9e2;border-top-color:#178565;animation:quoteSpin .75s linear infinite}.quote-loading strong{display:block;color:#173f35;font-size:18px}.quote-loading span{display:block;margin-top:4px;color:#718079;font-size:12px;font-weight:800}@keyframes quoteSpin{to{transform:rotate(360deg)}}
@media(max-width:560px){body.ubd-page-envio .step-box{border-radius:20px;padding:17px 14px}body.ubd-page-envio .service-cards-grid{grid-template-columns:1fr 1fr}body.ubd-page-envio .delivery-card{min-height:184px;padding:15px 12px}body.ubd-page-envio .delivery-card h4{font-size:16px}body.ubd-page-envio .card-price{font-size:23px}.free-eligibility-card{grid-template-columns:1fr;padding:16px}.free-eligibility-icon{width:44px;height:44px}}
