
:root{
    /* Tema claro */
    --bg:#ffffff; --bg-2:#f8fafc;
    --card:#ffffff; --border:#e5e7eb;
    --text:#0b1220; --muted:#667085;
    --brand:#b1124d; --brand-2:#ff6b98;
    --ok:#16a34a; --danger:#ef4444;
    --radius:16px; --radius-sm:12px;
    --shadow:0 8px 24px rgba(16,24,40,.08);
    --max:1200px;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;margin:0;padding:0px}
.price{display:flex;align-items:baseline;gap:12px;margin:8px 0 14px}
.now{font-size:30px;font-weight:800;color:#b1124d}
.old{color:#667085;text-decoration:line-through;font-size:22px}
.pill{background:#fff0f3;color:#b91c1c;padding:6px 10px;border-radius:999px;font-size:12px}
.stepper{display:flex;align-items:center;border:1px solid #ddd;border-radius:12px;overflow:hidden;width:max-content}
.btn-step{width:36px;height:36px;border:0;background:#fff;cursor:pointer;font-weight:800}
.stepper input{width:70px;text-align:center;border:0;border-left:1px solid #ddd;border-right:1px solid #ddd;font-weight:800;padding:8px}


a{color:var(--brand);text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:var(--max);margin-inline:auto;padding:28px 18px}

/* Header */
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.header .in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;max-width:var(--max);margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.brand .logo{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:var(--shadow)}
.nav a{color:var(--muted);margin-left:16px;font-weight:600}

/* Grid */
.grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px}
@media (max-width:990px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.pad{padding:22px}

/* Gallery */
.gallery{
    display:grid;
    grid-template-columns:.18fr 1fr; /* desktop: thumbs a la izquierda */
    gap:14px;
}
.gallery > *{min-width:0}

/* Celular*/
@media (max-width:900px){
    /* móvil: hero arriba, thumbs abajo (horizontal) */
    .gallery{
        grid-template-columns:1fr;
        grid-template-areas:
      "hero"
      "thumbs";
        gap:12px;
    }

    .container{max-width:var(--max);margin-inline:auto;padding:5px 6px}
    .title{font-size: 29px !important; font-weight: 700 !important; margin: 0; line-height: 30px !important;}
}

.thumbs{
    display:grid;
    gap:10px;
    max-height:560px;
    overflow:auto;
    padding-right:6px;
}
@media (max-width:900px){
    .thumbs{
        grid-auto-flow:column;
        grid-auto-columns:22%;
        overflow-x:auto; overflow-y:hidden;
        padding:8px 4px 4px;
        scroll-snap-type:x mandatory;
    }
    .thumbs::-webkit-scrollbar{display:none}



}

.thumb{
    all:unset;
    display:block;
    width:100%;
    aspect-ratio:1/1;
    border:1px solid var(--border);
    border-radius:12px;
    overflow:hidden;
    cursor:pointer;
    background:var(--bg-2);
    opacity:.95;
    transition:.15s;
    scroll-snap-align:center;
}
.thumb:hover{opacity:1;transform:translateY(-1px)}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.thumb.is-active{outline:3px solid var(--brand);outline-offset:0;opacity:1}

.hero{
    position:relative;
    border:1px solid var(--border);
    border-radius:var(--radius);
    aspect-ratio:1/1;
    display:grid; place-items:center;
    background:var(--bg-2);
}
.hero img{width:100%;height:100%;object-fit:cover;border-radius:22px}
.hero .arrow{
    position:absolute; top:50%; transform:translateY(-50%);
    width:40px; height:40px; border-radius:999px;
    display:grid; place-items:center;
    border:1px solid var(--border);
    background:#fff; color:#111; font-weight:800;
    box-shadow:var(--shadow); cursor:pointer; opacity:.9;
}
.hero .arrow:hover{opacity:1}
.hero .prev{left:10px}
.hero .next{right:10px}


/* Info */
.title{font-size:clamp(22px,2.4vw,34px);font-weight:800;margin:0;line-height: 39px;}
.sub{color:var(--muted);margin-top:6px}
.rating{display:flex;align-items:center;gap:8px;margin:10px 0 14px}
.stars{--s:18px;display:inline-grid;grid-auto-flow:column;gap:4px}
.star{width:var(--s);height:var(--s);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:linear-gradient(180deg,#ffd86b,#ffa938)}
.price{display:flex;align-items:baseline;gap:12px;margin:8px 0 14px}
.now{font-size:30px;font-weight:800}
.old{color:var(--muted);text-decoration:line-through;    font-size: 22px;}
.pill{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border:1px dashed #fda4af;border-radius:999px;background:#fff0f3;color:#b91c1c;font-size:12px}
.pill2 {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    padding: 1px 5px;
    /* border: 1px dashed #fda4af; */
    border-radius: 999px;
    background: #ff4b4b;
    color: #ffffff;
    font-size: 11px;
}
.opts{display:grid;gap:16px;margin:16px 0}

/* Contenedor de opciones SIEMPRE en 2 columnas */
.opt {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px;
}

/* Cada chip ocupa el ancho de su celda */
.opt .chip {
    width: 100% !important;
}
/* Forzar 2 columnas en la sección de presentación */
.seg[role="radiogroup"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px;
}

/* Que cada opción ocupe el 100% de su celda */
.seg[role="radiogroup"] label {
    width: 100% !important;
    margin: 0;
}


.chip input{display:none}
.chip label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:12px;padding:8px 12px;background:#ffffff;color:var(--text);cursor:pointer;font-weight:600;transition:.15s}
.chip input:checked+label{border-color:var(--brand);box-shadow:0 0 0 4px rgba(177,18,77,.15)}
.qty{display:flex;align-items:center;gap:10px}
.qty input{width:72px;background:#fff;border:1px solid var(--border);border-radius:10px;color:var(--text);padding:8px;font-weight:700;text-align:center}
.actions{display:grid;gap:10px;margin-top:14px}

.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;border:0;cursor:pointer;font-weight:800;font-size:15px;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:var(--shadow)}

.btn.sec{background:#ffffff;color:var(--text);border:1px solid var(--border)}
.safe{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.safe .i{font-size:12px;color:var(--muted)}

/* Sections */
.section{margin-top:28px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media (max-width:900px){.kpis{grid-template-columns:repeat(2,1fr)}}
.kpi{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;text-align:center}
.kpi b{font-size:20px;display:block}
.list{display:grid;gap:10px;margin:10px 0}
.list .li{display:flex;gap:10px}
.list .li::before{content:"✔";color:var(--brand)}

.accordion{border:1px solid var(--border);border-radius:14px;overflow:hidden;background:#fff}
.acc-i{border-bottom:1px solid var(--border)}
.acc-h{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;cursor:pointer;background:#f9fafb}
.acc-b{display:none;padding:16px 18px;background:#ffffff;color:var(--muted)}
.acc-i.open .acc-b{display:block}

/* Related / Reviews */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:900px){.grid3{grid-template-columns:1fr}}
.rev{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}
.badge-row{display:flex;gap:10px;flex-wrap:wrap}
.pay{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pay .b{background:#fff;border:1px solid var(--border);border-radius:10px;padding:8px 10px;color:#475569;font-size:12px}

/* Sticky CTA */
.sticky{position:sticky;bottom:0;z-index:40;padding:12px;border-top:1px solid var(--border);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);display:none}
@media (max-width:990px){.sticky{display:block}}
.sticky .in{display:flex;gap:12px;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto}
.mini{display:flex;align-items:center;gap:12px}
.mini .thumbx{
    width:42px;
    height:42px;
    border:1px solid var(--border);
    border-radius:10px;background:#f1f5f9;
    background-image: url('../img/producto3.png');
    background-size: cover;
    background-position: center;
}
.mini .p{line-height:1.2}
.mini .p b{display:block}


.footer {
    background: #581b2f; /* mismo tono morado que la imagen */
    color: #fff;
    padding: 40px 20px;
    font-size: 14px;
}

.footer-in {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-col h3 {
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 700;
}

.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-col ul li {
    margin-bottom: 6px;
}

.footer-col ul li a {
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
}

.footer-col ul li a:hover {
    opacity: 1;
}

.brand-footer .logo {
    font-size: 28px;
    font-weight: 700;
    margin: 0;
}

.brand-footer small {
    font-size: 12px;
    opacity: 0.9;
}

.footer-social {
    text-align: right;
}

.footer-social p {
    margin-bottom: 12px;
    font-weight: 600;
}

.footer-social .social a {
    margin-left: 10px;
    font-size: 18px;
    color: #fff;
    text-decoration: none;
}

.footer-social .social a:hover {
    opacity: 0.8;
}

/* Responsive */
@media(max-width: 900px) {
    .footer-in {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }
    .footer-social {
        text-align: left;
    }
}

@media(max-width: 600px) {
    .footer-in {
        grid-template-columns: 1fr;
    }
}


/* Utility */
.tag{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;color:#0b1220;font-size:12px}
.note{font-size:12px;color:#667085}


 :root{
     --altura: 44px;
     --speed: 40s;
     --bg: #000;
     --fg: #fff;
 }
body{margin:0;background:#c8bdcf;font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif}
.ticker{
    position:relative; overflow:hidden;
    background:#8b1d41; color:var(--fg); height:var(--altura);
    border-bottom:1px solid rgba(255,255,255,.08);
}
.ticker .track{
    position:absolute; inset:0 auto 0 0;
    display:flex; width:max-content; gap:48px;
    align-items:center; white-space:nowrap;
    animation: scroll var(--speed) linear infinite;
}
.ticker:hover .track{ animation-play-state: paused; }

.group{display:flex; align-items:center; gap:48px; padding-inline:16px;}
.item{font-weight:700; letter-spacing:.2px}
/* Eliminado el pseudo-elemento que añadía "|" */
/* .item + .item::before{content:" | ";} */

.ticker::before, .ticker::after{
    content:""; position:absolute; top:0; bottom:0; width:70px; pointer-events:none;
    background:linear-gradient(to right, var(--bg), rgba(0,0,0,0));
}
.ticker::after{ right:0; transform:scaleX(-1); }
.ticker::before{ left:0; }

@keyframes scroll{
    from{ transform: translateX(0); }
    to  { transform: translateX(-50%); }
}


     /* Iconos para KPIs */
 .kpi .ico{
     width:28px; height:28px;
     display:block; margin:0 auto 6px;
     color: var(--brand); /* usa tu color de marca */
 }
.kpi .ico *{ vector-effect: non-scaling-stroke; }

.kpi .ico.pin .y{ fill:#facc15 } /* Amarillo */
.kpi .ico.pin .b{ fill:#2563eb } /* Azul */
.kpi .ico.pin .r{ fill:#dc2626 } /* Rojo */

/* --- Pay logos --- */
.pay-logos{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.pay-i{
    display:inline-flex;align-items:center;gap:8px;
    padding:8px 12px;border:1px solid var(--border);border-radius:12px;
    background:#fff;color:#475569;font-size:12px;font-weight:600;
    box-shadow:0 1px 0 rgba(16,24,40,.04);
}
.pay-i svg{height:18px;width:auto;display:block}
.pay-i .label{line-height:1}

/* Ajustes de color por marca */
.pay-i .visa{fill:#1a1f71}
.pay-i .amex-bg{fill:#2e77bc}
.pay-i .pse-bg{fill:#0a2e6f}
.pay-i .pse-t{fill:#ffd23f}
.pay-i .nequi-g1{stop-color:#6f2dbd}
.pay-i .nequi-g2{stop-color:#f72585}
.pay-i .davi{fill:#e11d48}

/* ===== Opciones UX ===== */
.opts.ux{
    display:grid; gap:18px;
    padding:18px; border:1px solid var(--border);
    border-radius:16px; background:linear-gradient(180deg,#fff,#f9fafb);
    box-shadow:var(--shadow);
}
.opt-box{display:grid; gap:10px}
.opt-head{display:flex; align-items:center; gap:10px}
.opt-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;
    background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:800}
.opt-head b{font-size:14px}
.opt-head small{display:block;color:var(--muted);font-size:12px;margin-top:2px}

/* Segmentos (radios bonitos) */
.seg{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.seg.small{grid-template-columns:repeat(2,max-content)}
.seg input{position:absolute; opacity:0; pointer-events:none}
.seg label{
    position:relative; display:flex; justify-content:space-between; align-items:center; gap:10px;
    padding:12px 14px; border:1px solid var(--border); border-radius:12px; cursor:pointer;
    background:#fff; transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
    box-shadow:0 1px 0 rgba(16,24,40,.04);
}
.seg label .t{font-weight:800}
.seg label .s{font-size:12px;color:var(--muted)}
.seg label .ck{width:20px;height:20px;border-radius:999px;border:1.5px solid #cbd5e1;
    display:grid;place-items:center;font-size:12px;color:transparent}
.seg label:hover{transform:translateY(-1px)}
.seg input:checked + label{
    border-color:var(--brand); box-shadow:0 0 0 4px rgba(177,18,77,.12)
}
.seg input:checked + label .ck{
    background:linear-gradient(135deg,var(--brand),var(--brand-2)); border-color:transparent; color:#fff
}

/* Stepper cantidad */
.qty-box{display:flex; flex-wrap:wrap; align-items:center; gap:12px}
.stepper{display:flex; align-items:center; border:1px solid var(--border); border-radius:12px; overflow:hidden}
.btn-step{width:36px;height:36px;border:0;background:#fff;cursor:pointer;font-weight:800}
.stepper input{
    width:70px; text-align:center; border:0; border-left:1px solid var(--border); border-right:1px solid var(--border);
    font-weight:800; padding:8px; background:#fff; color:var(--text)
}

/* Responsive */
@media (max-width:720px){
    .seg{grid-template-columns:1fr}
    .seg.small{grid-template-columns:1fr 1fr}
}


     /* ---------- Layout y tipografía ---------- */
 #beneficios-carrusel .benefits-head{
     display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:10px;
     flex-wrap:wrap;
 }
#beneficios-carrusel h2{ margin:0 }

/* ---------- Carrusel ---------- */
.benefits-carousel{ position:relative; }
.benefits-viewport{
    overflow:hidden; border-radius:var(--radius); border:1px solid var(--border); background:#fff;
}
.benefits-track{
    display:flex; margin:0; padding:0; list-style:none;
    transition:transform .45s ease; will-change:transform;
}
.benefit-slide{
    min-width:100%;
    display:grid; grid-template-columns: 1.05fr 1fr; gap:0;
}
@media (max-width:900px){
    .benefit-slide{ grid-template-columns:1fr; }
}

/* ---------- Imagen ---------- */
.benefit-media{
    position:relative; background:var(--bg-2); border-right:1px solid var(--border);
}
.benefit-media img{
    width:100%; height:100%; object-fit:cover; display:block;
    aspect-ratio: 16/10;
}
@media (max-width:900px){
    .benefit-media{ border-right:0; border-bottom:1px solid var(--border); }
}

/* ---------- Copia ---------- */
.benefit-copy{
    padding:22px;
    display:grid; align-content:center; gap:8px;
}
.benefit-copy h3{ margin:0; font-size:clamp(18px,2.2vw,22px) }
.benefit-copy p{ margin:0; color:var(--muted) }
.benefit-check{ color:var(--brand); margin-right:6px; font-weight:800 }

/* ---------- Flechas ---------- */
.benefits-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    background:#fff; border:1px solid var(--border); color:var(--text);
    width:38px; height:38px; border-radius:999px; cursor:pointer;
    display:grid; place-items:center; box-shadow:var(--shadow);
    z-index: 1000;
}
.benefits-nav:hover{ background:#f8fafc }
.benefits-nav.prev{ left:10px }
.benefits-nav.next{ right:10px }

/* ---------- Dots ---------- */
.benefits-dots{
    display:flex; justify-content:center; gap:8px; margin-top:12px;
}
.benefits-dot{
    width:8px; height:8px; border-radius:999px; background:#e2e8f0; border:0; cursor:pointer;
}
.benefits-dot[aria-selected="true"]{ background:var(--brand) }

/* ---------- Chips ya están con .tag del sitio ---------- */
#beneficios-carrusel .chips{ display:flex; gap:8px; flex-wrap:wrap }


/* ======= Carrusel Reels ======= */
.reels-carousel {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
}

.reels-viewport {
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid var(--border);
    background: #000;
}

.reels-track {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    transition: transform 0.45s ease;
    will-change: transform;
}

/* Cada slide (reel) */
.reel-slide {
    flex: 0 0 100%; /* Por defecto móvil: 1 video */
    padding: 8px;
    display: flex;
    justify-content: center;
}

.reel-slide video {
    width: 100%;
    aspect-ratio: 9 / 16; /* formato vertical tipo reels */
    max-height: 500px;
    object-fit: cover;
    border-radius: 12px;
    background: #000;
}

/* En escritorio mostrar 3 videos */
@media (min-width: 768px) {
    .reel-slide {
        flex: 0 0 25%; /* 4 videos lado a lado */
    }
}

/* Flechas */
.reels-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #fff;
    border: 1px solid var(--border);
    color: var(--text);
    width: 40px;
    height: 40px;
    border-radius: 999px;
    cursor: pointer;
    display: grid;
    place-items: center;
    box-shadow: var(--shadow);
    z-index: 10;
}
.reels-nav:hover { background: #f8fafc; }
.reels-nav.prev { left: 10px; }
.reels-nav.next { right: 10px; }

/* Dots */
.reels-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}
.reels-dot {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #e2e8f0;
    border: 0;
    cursor: pointer;
}
.reels-dot[aria-selected="true"] { background: var(--brand); }


/* Modal */
/* Ocultar modal por defecto */
.modal {
    display: none;
    position: fixed;
    z-index: 1000;  /* 🔥 más alto */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.6);
    justify-content: center;
    align-items: center;
}





/* Cuando lo actives */
.modal.show {
    display: flex;          /* 👈 aparece centrado solo al activarse */
}

.modal-content {
    position: relative;
    z-index: 2000; /* contenido aún más arriba */
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    max-width: 400px;
    width: 95%;
}

.close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    cursor: pointer;
    color: #b91c1c;
    font-weight: bold;
    z-index: 10;
    border-radius: 20px;
    padding: 0px 0px 1px 6px;
    height: 30px;
    width: 30px;
}
.close:hover {
    color: #7a00ff; /* morado al pasar */
}
.planes {
    display: grid;
    gap: 10px;
    margin-bottom: 20px;
}
.plan {
    border: 1px solid #ddd;
    padding: 12px;
    border-radius: 8px;
    background: #fafafa;
}
.form input, .form button {
    width: 100%;
    margin: 6px 0;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 8px;
}



/** OTROS */

.card {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    border: none;
}
.ribbon-box {
    position: relative;
}
/*.bg-white {*/
/*    --bs-bg-opacity: 1;*/
/*    background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;*/
/*}*/

.mb-2 {
    margin-bottom: .75rem !important;
}
.border {
    border: 1px solid #464f5b !important;
}

.rounded {
    border-radius: .25rem !important;
}

.align-items-center {
    -webkit-box-align: center !important;
    -ms-flex-align: center!important;
    align-items: center !important;
}

.justify-content-between {
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify!important;
    justify-content: space-between !important;
}
.d-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}

.tit_princ {
    width: 100%;
    padding-left: 1px;
    margin-top: -20px;
}

.tit-compra {
    font-weight: 700;
    font-size: 17px;
    line-height: 1.2;
    color: #000;
    text-align: left;
    padding-top: 4px;
    padding-left: 0px;
}

.fw-bold {
    font-weight: 700 !important;
}
.m-0 {
    margin: 0 !important;
}
.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
}

.text-white {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
}
.badge {
    display: inline-block;
    padding: .25em .4em;
    font-size: .75em;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem;
}

.text-end {
    text-align: right !important;
}

.p-2 {
    padding: .75rem !important;
}

.ribbon-box .ribbon-two {
    position: absolute;
    left: -5px;
    top: -5px;
    z-index: 1;
    overflow: hidden;
    width: 75px;
    height: 75px;
    text-align: right;
}

.image-container {
    width: 75px !important;
    height: 75px !important;
    display: flex !important
;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 11px !important;
    /*background-color: #fff !important;*/
}

.card img {
    height: auto;

}

.modal-body img {
    max-height: 90vh;
}
.responsive-img {
    max-width: 100% !important;
    max-height: 100% !important;
}

/* === Contenedor general === */
.form {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-family: "Arial", sans-serif;
}

/* === Métodos de envío === */
.shipping {
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.shipping label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    /*padding: 6px 8px;*/
    border-radius: 4px;
}
.shipping label:hover {
    background: #f8f8f8;
}
.shipping input[type="radio"] {
    margin-right: 8px;
}
.shipping span {
    flex: 1;
    font-size: 14px;
}
.shipping small {
    display: block;
    font-size: 12px;
    color: #777;
}
.shipping b {
    font-size: 14px;
    white-space: nowrap;
}

/* === Título del formulario === */
.form h3 {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin: 10px 0;
}

/* === Campos de texto === */
.field {
    position: relative;
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #f9f9f9;
    overflow: hidden;
}
.field input,
.field select {
    flex: 1;
    padding: 10px;
    border: none;
    outline: none;
    background: transparent;
    font-size: 14px;
}
.field::before {
    content: " ";
    width: 40px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eee;
    color: #555;
    font-size: 16px;
}
.field:nth-child(4)::before { content: "👤"; }
.field:nth-child(5)::before { content: "👤"; }
.field:nth-child(6)::before {
    content: "";
    display: inline-block;
    width: 20px;   /* ajusta tamaño */
    height: 20px;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><circle cx='16' cy='16' r='16' fill='%2305d34e'/><path fill='%23ffffff' d='M24.3 17.5c-.4-.2-2.3-1.1-2.6-1.3-.4-.1-.6-.2-.9.2-.3.4-1.1 1.3-1.3 1.6-.2.2-.5.3-.9.1-.4-.2-1.5-.5-2.9-1.8-1-1-1.8-2.3-2-2.7-.2-.4 0-.6.1-.8.2-.2.4-.5.6-.7.2-.2.3-.4.5-.6.2-.2.3-.4.4-.7.1-.2 0-.5 0-.7 0-.2-.9-2.2-1.3-3-.3-.7-.7-.6-.9-.6h-.8c-.2 0-.7.1-1.1.5s-1.4 1.4-1.4 3.4 1.4 3.9 1.6 4.2c.2.3 2.8 4.3 6.8 6 .9.4 1.6.6 2.2.8.9.3 1.6.2 2.2.1.7-.1 2.3-.9 2.6-1.8.3-.9.3-1.7.2-1.8-.2-.1-.4-.2-.8-.4z'/></svg>");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 5px;
    margin-left: 10px;
}


.field:nth-child(7)::before { content: "✉️"; }
.field:nth-child(8)::before {
    content: " ";
    display: inline-block;
    width: 24px;
    height: 32px;
    background-image: url(../img/co.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-right: 5px;
    height: 41px;
    width: 42px;
    margin-left: 4px;
}

.field:nth-child(9)::before { content: "📍"; }
.field:nth-child(10)::before { content: "#"; }







/* === Checkboxes === */
.check {
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #444;
}
.check a {
    color: #4a00e0;
    text-decoration: underline;
}

/* === Botón de confirmación === */
.btn-confirmar {
    background: #7a00ff;
    color: white;
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 6px;
    padding: 14px;
    text-align: center;
    cursor: pointer;
    transition: background 0.3s ease;
}
.btn-confirmar small {
    display: block;
    font-size: 12px;
    font-weight: normal;
}
.btn-confirmar:hover {
    background: #5b00c7;
}

/* === Métodos de envío (fix diseño) === */
.shipping {
    border: 1px solid #ddd;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 6px;
    background: #fff;
}

.shipping label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border: 0px solid #ddd;
    border-radius: 6px;
    padding: 1px 2px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.shipping label:hover {
    background: #f9f9f9;
}

.shipping input[type="radio"] {
    margin-right: 10px;
    accent-color: #7a00ff; /* radios en morado */
    transform: scale(1.2);
    width: 17px;
}

.shipping span {
    flex: 1;
    font-size: 14px;
    color: #333;
}

.shipping small {
    display: block;
    font-size: 12px;
    color: #777;
}

.shipping b {
    font-size: 14px;
    font-weight: bold;
    white-space: nowrap;
    color: #111;
}

.check_form{
    width: 18px !important;
}

/* Caja resumen */
.summary-box {
    background: #f5f5f5;
    border-radius: 6px;
    padding: 12px 15px;
    font-size: 14px;
    color: #333;
}

.summary-box .row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 6px 0;
}

.summary-box .row b {
    font-weight: 600;
}

.summary-box .row.total b {
    font-size: 15px;
    font-weight: 700;
}

.summary-box .envio-gratis {
    color: #009966; /* Verde */
}

.summary-box .descuento {
    color: #e63946; /* Rojo */
}

.summary-box hr {
    border: none;
    border-top: 1px solid #ccc;
    margin: 8px 0;
}

/* Cajón seleccionado */
.card.active {
    border: 2px solid #7a00ff;   /* borde morado */
    box-shadow: 0 0 10px rgba(122, 0, 255, 0.3);
    border-radius: 10px;
    background: #ffcddc; /* fondo suave */
    transition: all 0.2s ease-in-out;
}

/* También afecta al contenedor de la imagen */
.card.active .card-body1 {
    background: #ffcddc !important;  /* mismo fondo que el cajón */
}

.select2-container {
    z-index: 999999 !important;
}

.select2-dropdown {
    z-index: 999999 !important;
}

.select2-results__option--selectable {
    cursor: pointer;
    font-size: 12px !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #b91c1c !important;
    color: white;
}

.select2-selection__clear{
    display: none;
}

.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #999;
    font-size: 14px;
}

.select2 select2-container select2-container--default{
    width: 87% !important;
}



.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #444;
    line-height: 28px;
    font-size: 12px;
}

.field.error input,
.field.error select {
    border: 2px solid #dc2626; /* rojo */
    background: #ffecec;
}

.error-message {
    color: #dc2626;
    font-size: 13px;
    margin-top: 4px;
    display: block;
}



.btn-confirmar {
    background: linear-gradient(135deg, var(--brand), var(--brand-2));
    color: #fff;
    box-shadow: var(--shadow);

    font-weight: bold;
    border: none;
    cursor: pointer;
    width: 100% !important;
}