/* ====== Contenedores ====== */
.unique-cart-adder.simple,
.unique-cart-adder.grouped,
.unique-cart-adder.a-granel{
    display:inline-flex;
    align-items:center;
    gap:10px; /* separación entre botones */
    font-family:'Poppins', sans-serif;
    font-size:14px;
    color:white;
}

.uca-precio-kg{
    color:#B2774E;
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:16px;
}

@media (max-width:1024px){
    .uca-precio-kg{ font-size:15px; }
}

@media (max-width:768px){
    .uca-precio-kg{ font-size:14px; }
}

/* ====== Botones base (Info / Elegir / Agregar texto) ====== */
.unique-cart-adder .choose-options,
.unique-cart-adder .info-btn,
.unique-cart-adder .adder-text-btn{
    background:#B3784E;  /* café del diseño */
    color:#fff;
    border:none;
    padding:6px 10px;
    border-radius:8px;
    font-size:12px;
    line-height:1;
    cursor:pointer;
    transition:opacity .2s ease, transform .05s ease-in-out;
}
.unique-cart-adder .choose-options:hover,
.unique-cart-adder .info-btn:hover,
.unique-cart-adder .adder-text-btn:hover{ opacity:.92; }

/* ====== Botón "+" (ya no se usa en simples, pero existe en agrupados/popup) ====== */
.unique-cart-adder .adder-btn{
    background-color:#45190C;
    color:white;
    border:none;
    padding:8px;
    cursor:pointer;
    font-family:'Poppins', sans-serif;
    font-size:13px;
    line-height:1;
    transition:opacity .3s ease;
    border-radius:50%;
    width:30px;
    height:30px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
.unique-cart-adder .adder-btn.adding{ opacity:.6; animation:pulse 1s infinite; }
.unique-cart-adder .adder-btn.uca-disabled,
.unique-cart-adder .adder-btn:disabled{ opacity:.55; cursor:not-allowed; }

/* ====== Popups existentes ====== */
.unique-cart-adder.grouped .popup-overlay,
.unique-cart-adder.a-granel .popup-overlay{
    position:fixed; top:0; left:0; width:100%; height:100%;
    background:rgba(0,0,0,0.5); z-index:9999; display:none;
}
.unique-cart-adder.grouped .options-popup,
.unique-cart-adder.a-granel .options-popup{
    position:fixed; top:50%; left:50%; transform:translate(-50%,-50%);
    background:#B3784E; border:1px solid #ccc; padding:15px;
    z-index:10000; box-shadow:0 2px 5px rgba(0,0,0,0.2);
    min-width:350px; max-width:90%; max-height:80vh; overflow-y:auto;
    font-family:'Poppins', sans-serif; font-size:13px; color:white; text-align:center;
}
/* Evitar scroll horizontal del popup cuando hay muchas thumbs */
.options-popup{ overflow-x:hidden; }

@media (min-width:769px){
    .unique-cart-adder.grouped .options-popup,
    .unique-cart-adder.a-granel .options-popup{ min-width:400px; }
}

/* ====== Base genérica popup ====== */
.options-popup{
    position:fixed; top:50%; left:50%;
    transform:translate(-50%, -50%); z-index:9999;
    width:92%; max-width:1440px;
    background:#b78055; padding:3rem 2rem;
    border-radius:18px; box-shadow:0 20px 45px -12px rgba(0,0,0,.45);
}
.options-popup .popup-content{
    display:flex; flex-direction:column; align-items:center; gap:1.1rem;
}
.options-popup .adder-btn{
    display:block !important; width:100% !important; max-width:320px;
    margin:1.2rem auto 0; padding:1rem 0;
    background:#5f361b !important; color:#fff !important;
    font-size:1.2rem; line-height:1; text-align:center;
    border:none; border-radius:12px; cursor:pointer; transition:background .25s ease;
}
.options-popup .adder-btn:hover,
.options-popup .adder-btn:focus{ background:#7a4421 !important; }

/* ================================
   ==== POPUP "INFO" REDISEÑADO ====
   ================================ */
.info-popup{ max-width:980px !important; padding:2rem 1.5rem !important; }
.info-popup .popup-content{ align-items:stretch; text-align:left; color:#fff; }

.info-popup h3{
    margin:0 0 .25rem 0; text-align:center; color:#fff; letter-spacing:.3px;
}

/* Badges */
.info-popup .info-badges{
    display:flex; flex-wrap:wrap; gap:.4rem;
    justify-content:center; margin-bottom:.5rem;
}
.uca-badge{
    display:inline-block; padding:.25rem .5rem; border-radius:999px;
    font-size:.75rem; line-height:1; font-weight:600; letter-spacing:.2px;
    border:1px solid rgba(255,255,255,.25);
}
.uca-badge-sale{ background:rgba(0,0,0,.18); color:#fff; border-color:rgba(0,0,0,.25); }
.uca-badge-out{ background:#723434; }
.uca-badge-noprice{ background:#816022; }
.uca-badge-bulk{ background:#445b2a; }

/* Grid */
.info-popup .info-grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25rem;
    align-items:start;
}
@media (max-width: 900px){
    .info-popup .info-grid{ grid-template-columns: 1fr; }
}

/* Imagen / Galería */
.info-popup .info-media{
    background:rgba(255,255,255,.06);
    border-radius:12px; padding:.75rem;
    min-width:0;
}
.info-popup .info-media img{
    width:100%; height:auto; max-height:56vh; object-fit:contain; border-radius:8px;
}

/* --------- Galería --------- */
.uca-gallery{ width:100%; position:relative; }
.uca-gallery-main{
    position:relative;
    display:flex; align-items:center; justify-content:center;
}
.uca-gallery-main .uca-main-img{
    width:100%; height:auto; max-height:56vh; object-fit:contain; border-radius:8px;
}
.uca-g-prev, .uca-g-next{
    position:absolute; top:50%; transform:translateY(-50%);
    width:32px; height:32px; border-radius:999px; border:none;
    background:rgba(0,0,0,.35); color:#fff; font-size:20px; line-height:1;
    display:none; align-items:center; justify-content:center; cursor:pointer;
}
.uca-gallery.has-multiple .uca-g-prev,
.uca-gallery.has-multiple .uca-g-next{ display:flex; }
.uca-g-prev{ left:8px; } .uca-g-next{ right:8px; }
.uca-g-prev:hover, .uca-g-next:hover{ background:rgba(0,0,0,.5); }

.uca-gallery-thumbs{
    margin-top:.6rem; display:flex; gap:.5rem; overflow-x:auto; overflow-y:hidden;
    padding:0 .25rem .25rem;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    max-width:100%;
}
.uca-gallery-thumbs .uca-thumb{
    appearance:none; border:none; background:transparent; padding:0;
    width:56px; height:56px; border-radius:8px; overflow:hidden; opacity:.85; cursor:pointer;
    flex:0 0 auto; scroll-snap-align:center;
}
.uca-gallery-thumbs .uca-thumb.is-active{
    box-shadow:0 0 0 2px #fff inset; opacity:1;
}
.uca-gallery-thumbs .uca-thumb img{
    width:100%; height:100%; object-fit:cover; display:block; max-height:none;
}
.uca-gallery.is-crowded .uca-gallery-thumbs .uca-thumb{ width:44px; height:44px; }
.uca-gallery.is-very-crowded .uca-gallery-thumbs .uca-thumb{ width:40px; height:40px; }
.uca-t-prev, .uca-t-next{
    position:absolute; bottom:42px;
    width:28px; height:28px; border-radius:999px; border:none;
    background:rgba(0,0,0,.35); color:#fff; font-size:18px; line-height:1;
    display:none; align-items:center; justify-content:center; cursor:pointer;
}
.uca-gallery.is-crowded .uca-t-prev,
.uca-gallery.is-crowded .uca-t-next,
.uca-gallery.is-very-crowded .uca-t-prev,
.uca-gallery.is-very-crowded .uca-t-next{ display:flex; }
.uca-t-prev{ left:6px; } .uca-t-next{ right:6px; }
.uca-t-prev:hover, .uca-t-next:hover{ background:rgba(0,0,0,.5); }

/* Panel de información */
.info-popup .info-meta{
    display:flex; flex-direction:column; gap:1rem;
}

/* Precio */
.info-popup .info-price{
    background:rgba(0,0,0,.15);
    border:1px solid rgba(255,255,255,.18);
    border-radius:12px;
    padding:.8rem 1rem;
    font-size:1.15rem;
}
.info-popup .info-price .price,
.info-popup .info-price{ color:#fff; }
.info-popup .info-price del{ opacity:.8; margin-right:.5rem; }
.info-popup .info-price ins{
    text-decoration:none; background:rgba(0,0,0,.12);
    padding:.15rem .4rem; border-radius:6px; margin-left:.25rem;
}
.info-popup .price-missing{ opacity:.9; }

/* Descripción */
.info-popup .info-desc{
    background:rgba(255,255,255,.08);
    padding:.9rem 1rem;
    border-radius:12px;
    max-height:40vh;
    overflow:auto;
}

/* NUEVO: Acordeón “Más Información” (descripción larga) */
.info-popup .info-more.uca-accordion{ }
.uca-accordion .uca-acc-toggle{
    width:100%;
    display:flex; align-items:center; justify-content:space-between;
    background:rgba(0,0,0,.15);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    padding:.8rem 1rem;
    border-radius:12px;
    font-size:1rem; font-weight:600;
    cursor:pointer;
    transition:background .2s ease, border-color .2s ease;
}
.uca-accordion .uca-acc-toggle:hover{
    background:rgba(0,0,0,.22);
    border-color:rgba(255,255,255,.28);
}
.uca-accordion .uca-acc-icon{
    transition:transform .2s ease;
}
.uca-accordion.is-open .uca-acc-icon{
    transform:rotate(180deg);
}
.uca-accordion .uca-acc-panel{
    margin-top:.6rem;
    background:rgba(255,255,255,.06);
    border:1px dashed rgba(255,255,255,.25);
    border-radius:12px;
    padding:.9rem 1rem;
}

/* Aviso (shortcode) */
.info-popup .info-extra.aviso-almendra{
    background:rgba(255,255,255,.06);
    border:1px dashed rgba(255,255,255,.25);
    border-radius:12px;
    padding:.8rem 1rem;
}

/* CTA */
.info-popup .info-cta{ margin-top:.25rem; }
.info-popup .info-cta .info-action-btn{
    display:block !important; width:100% !important; max-width:360px;
    margin:0 auto; padding:1rem 0;
    background:#5f361b !important; color:#fff !important;
    font-size:1.12rem; line-height:1; text-align:center;
    border:none; border-radius:12px; cursor:pointer; transition:background .25s ease;
}
.info-popup .info-cta .info-action-btn:hover{ background:#7a4421 !important; }

.product-page-link{ margin-top:.65rem; }
.info-product-page-btn{
    width:100%;
    background:#f2e6dc;
    color:#5f361b;
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    padding:.9rem 1rem;
    font-family:'Poppins', sans-serif;
    font-weight:700;
    font-size:1rem;
    cursor:pointer;
    transition:transform .08s ease, box-shadow .15s ease, opacity .2s ease;
}
.info-product-page-btn:hover{
    opacity:.95;
    box-shadow:0 10px 22px -14px rgba(0,0,0,.45);
}
.info-product-page-btn:active{ transform:translateY(1px); }

.uca-no-desc{ opacity:.85; }

/* ====== Elementos existentes ====== */
.unique-cart-adder .option{
    margin-bottom:15px;
    display:flex; align-items:flex-start; justify-content:space-between;
}
.unique-cart-adder .option .option-details{
    display:flex; flex-direction:column; align-items:flex-start;
}
.unique-cart-adder .option .price-badge{
    background-color:white; color:white; font-size:11px;
    padding:4px 8px; border-radius:12px; margin-top:5px; display:block;
}
.unique-cart-adder .option .price-badge del{ color:#ccc; margin-right:5px; text-decoration:line-through; }
.unique-cart-adder .option.out-of-stock{ color:white; }

/* ====== NUEVO: Layout cuidado para popup "Elegir" (agrupados) con miniaturas ====== */
.unique-cart-adder.grouped .options-popup .option{
    display:grid; grid-template-columns:56px 1fr auto; align-items:center;
    gap:12px; padding:8px 10px; margin-bottom:10px;
    background:rgba(255,255,255,.06); border-radius:12px;
    text-align:left;
}
.unique-cart-adder.grouped .options-popup .option:last-child{ margin-bottom:0; }
.unique-cart-adder.grouped .options-popup .option .option-thumb img{
    width:56px; height:56px; object-fit:cover; border-radius:8px; display:block;
}
@media (max-width:480px){
    .unique-cart-adder.grouped .options-popup .option{
        grid-template-columns:48px 1fr auto; gap:10px;
    }
    .unique-cart-adder.grouped .options-popup .option .option-thumb img{
        width:48px; height:48px;
    }
}
.unique-cart-adder.grouped .options-popup .option .option-name{
    font-weight:600; line-height:1.25;
}
.unique-cart-adder.grouped .options-popup .option .price-badge{
    margin-top:6px; align-self:flex-start;
}

/* ====== A granel extras ====== */
.unique-cart-adder.a-granel .popup-content{ padding:20px; }
.unique-cart-adder.a-granel .uca-choose-title{ margin:0 0 6px 0; font-size:13px; opacity:.95; }
.unique-cart-adder.a-granel .uca-qty-wrap{ margin-top:10px; }
.unique-cart-adder.a-granel .options-popup .quantity-translator{ color:white; font-size:14px; margin-top:10px; }
.unique-cart-adder.a-granel .uca-stock-warning{
    margin-top:6px; font-size:12px; color:#fff;
    background:rgba(220,53,69,0.18); border:1px solid rgba(220,53,69,0.35);
    padding:8px 10px; border-radius:8px; display:none;
}
.unique-cart-adder.a-granel .uca-bulk-info{
    margin-top:12px; padding:12px 14px; border-radius:10px;
    background:#E8F3FF; color:#0B63B6; border:1px solid #BADBFF;
    text-align:left; font-size:12px; line-height:1.5;
}
.unique-cart-adder.a-granel .uca-bulk-info .uca-info-emoji{ margin-right:6px; font-size:18px; line-height:1; vertical-align:-2px; }
.unique-cart-adder.a-granel .uca-bulk-info code{
    background:rgba(11,99,182,0.12); color:#0B63B6; padding:2px 6px; border-radius:6px;
    font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
}
.unique-cart-adder.a-granel .uca-availability{ margin-top:8px; font-size:12px; color:#fff; opacity:.95; }

/* ====== Notificación ====== */
#unique-cart-notification{
    position:fixed; bottom:20px; left:20px; right:20px;
    padding:15px; background-color:#28a745; color:white;
    font-family:'Poppins', sans-serif; font-size:14px;
    z-index:10001; border-radius:5px; box-shadow:0 2px 5px rgba(0,0,0,0.3);
    text-align:center; transition:opacity .3s ease;
}
#unique-cart-notification.error{ background-color:#dc3545; }

/* ====== Animación ====== */
@keyframes pulse{
    0%{ opacity:.6; } 50%{ opacity:1; } 100%{ opacity:.6; }
}

/* ====== NUEVO: Botón/Badge rojo no clickeable para agrupados sin stock ====== */
.unique-cart-adder .choose-options.out-of-stock,
.unique-cart-adder .choose-options.out-of-stock-badge,
.unique-cart-adder .choose-options:disabled{
    background:#dc3545; /* rojo */
    color:#fff;
    cursor:default;
    opacity:1;
    pointer-events:none;
}

/* ====== Mejoras precio y mobile previas ====== */
.info-popup .info-price,
.info-popup .info-price *,
.info-popup .info-price .price,
.info-popup .info-price .amount,
.info-popup .info-price .woocommerce-Price-amount{
    color:#fff !important;
}
@media (max-width: 900px){
    .info-popup .info-media img,
    .uca-gallery-main .uca-main-img{
        max-height:32vh;
    }
    .info-popup .info-meta .info-price{ order:1; }
    .info-popup .info-meta .info-cta{ order:2; }
    .info-popup .info-meta .info-desc{ order:3; }
    .info-popup .info-meta .info-extra{ order:4; }
    .uca-gallery-thumbs .uca-thumb{ width:48px; height:48px; }
}
