/* product_aurora.css — extraído de views/product_aurora.php (inline -> externo cacheable) */
.sidebar{display:none!important}
.main-layout{grid-template-columns:1fr!important;padding-top:0!important}
.product-page{max-width:1260px;margin:0 auto;padding:24px 20px 12px}
.breadcrumb{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:13px;color:#94a3b8;margin-bottom:22px}
.breadcrumb a{color:var(--primary);font-weight:500}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb i{font-size:9px}
.pg-mob-header{display:none;margin-bottom:12px}
.pg-mob-header .book-title{font-size:1.3rem;margin-bottom:4px}
.pg-mob-header .book-author{margin-bottom:0}
.pg-desk-title{display:block}
.pg-grid{display:grid;grid-template-columns:280px 1fr 310px;gap:28px;align-items:start}
.pg-visual{position:sticky;top:80px}
.cover-box{position:relative;background:transparent;padding:0;border:none;box-shadow:none;margin-bottom:12px}
.cover-img{width:100%;height:auto;display:block;border-radius:10px;box-shadow:0 10px 32px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.10)}
.stock-pill{position:absolute;top:6px;left:6px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;display:flex;align-items:center;gap:4px;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.pill-ok{background:var(--secondary);color:white}
.pill-last{background:#dc2626;color:white;animation:pillPulse 2s infinite}
@keyframes pillPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.4)}70%{box-shadow:0 0 0 8px rgba(220,38,38,0)}}
.pill-presale{background:#6a017f;color:white}
.pill-out{background:#94a3b8;color:white}
.gamif-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gamif-btn{padding:9px 6px;border:1.5px solid var(--border-color);border-radius:10px;background:white;cursor:pointer;font-size:12px;font-weight:600;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .2s;font-family:'Inter',sans-serif}
.gamif-btn i{font-size:16px}
.gamif-btn:hover,.gamif-btn.on{border-color:var(--primary);color:var(--primary);background:#fdf4ff}
.gamif-btn.saved{border-color:#e91e63;color:#e91e63;background:#fff0f4}
.pg-info{min-width:0}
.book-title{font-family:'Outfit',sans-serif;font-size:2rem;font-weight:800;line-height:1.15;color:#0f172a;margin-bottom:6px}
.book-author{font-size:1rem;color:var(--text-muted);margin-bottom:14px}
.book-author a{color:var(--primary);font-weight:600}
.rating-row{margin-bottom:20px}
.rating-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;background:#fffbf0;border:1px solid #fde68a;border-radius:10px;cursor:pointer;transition:background .2s}
.rating-btn:hover{background:#fef3c7}
.stars-row{display:flex;gap:2px;color:var(--secondary);font-size:14px}
.r-score{font-weight:700;font-size:14px}
.r-count{font-size:12px;color:#94a3b8;text-decoration:underline}
@media(max-width:1023px){.rating-row{text-align:center}}
.meta-scroll{display:flex;gap:10px;overflow-x:auto;margin-bottom:20px;padding-bottom:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.meta-scroll::-webkit-scrollbar{display:none}
.meta-chip{flex-shrink:0;background:white;border:1px solid var(--border-color);border-radius:10px;padding:9px 14px;text-align:center;min-width:80px}
.mc-v{font-size:.88rem;font-weight:700;color:#1e293b;white-space:nowrap}
.mc-l{font-size:10px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.syn-section{margin-bottom:20px}
.sec-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#94a3b8;margin-bottom:8px}
.syn-text{font-size:.95rem;line-height:1.75;color:#334155}
.syn-text.cut{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.btn-more{background:none;border:none;color:var(--primary);font-weight:700;cursor:pointer;font-size:.85rem;padding:4px 0;font-family:'Inter',sans-serif;display:flex;align-items:center;gap:4px}
.genres-row{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}
.mc-desk-only{display:none}
.genre-chip{padding:4px 12px;background:#f1f5f9;border-radius:20px;font-size:12px;color:var(--text-muted);font-weight:600;border:1px solid var(--border-color);cursor:pointer;transition:all .2s}
.genre-chip:hover{background:#ede9fe;color:var(--primary);border-color:#c4b5fd}
/* AI Chat — Aurora override */
.pchat-widget.aurora-open{border:1px solid #e9d5ff;border-radius:14px;overflow:hidden;background:#fdf4ff;margin-bottom:28px}
.pchat-widget.aurora-open .pchat-header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;cursor:pointer;user-select:none}
.pchat-widget.aurora-open .pchat-header:hover{background:rgba(106,1,127,.04)}
.pchat-widget.aurora-open .pchat-header-left{display:flex;align-items:center;gap:9px}
.pchat-widget.aurora-open .pchat-icon{font-size:18px;color:var(--primary);animation:pc 2.5s ease-in-out infinite}
@keyframes pc{0%,100%{opacity:1}50%{opacity:.4}}
.pchat-widget.aurora-open .pchat-label-wrap{display:flex;flex-direction:column}
.pchat-widget.aurora-open .pchat-label{font-weight:600;font-size:13px;color:#4a0166}
.pchat-widget.aurora-open .pchat-sublabel{font-size:11px;color:#7c3aed;opacity:.8;margin-top:1px}
.pchat-widget.aurora-open .pchat-chevron{color:var(--primary);font-size:11px;transition:transform .25s;transform:rotate(0deg)}
.pchat-widget.aurora-open .pchat-chevron.open{transform:rotate(180deg)}
.pchat-widget.aurora-open .pchat-body{padding:0 14px 14px}
.pchat-widget.aurora-open .pchat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.pchat-widget.aurora-open .pchat-chip{background:white;border:1px solid #d8b4fe;color:var(--primary);border-radius:20px;padding:4px 11px;font-size:11.5px;cursor:pointer;transition:all .15s;font-family:'Inter',sans-serif}
.pchat-widget.aurora-open .pchat-chip:hover{background:var(--primary);color:white}
/* Saga */
.saga-block{background:linear-gradient(135deg,#fdf4ff 0%,#faf5ff 100%);border:1px solid #e9d5ff;border-radius:14px;padding:18px;margin-bottom:20px}
.saga-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.saga-tag{background:var(--primary);color:white;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;padding:3px 9px;border-radius:20px}
.saga-name{font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:700;color:#1e293b}
.saga-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}
.saga-scroll::-webkit-scrollbar{display:none}
.saga-card{flex-shrink:0;width:100px;border-radius:10px;overflow:hidden;background:white;border:2px solid var(--border-color);text-decoration:none;color:inherit;display:block;transition:all .2s}
.saga-card:hover:not(.saga-current){border-color:#c4b5fd;transform:translateY(-3px);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.saga-card.saga-current{border-color:var(--primary);box-shadow:0 0 0 3px rgba(106,1,127,.12)}
.saga-card img{width:100%;height:135px;object-fit:cover;display:block}
.saga-card-info{padding:7px}
.saga-num{font-size:9px;font-weight:700;color:#94a3b8;text-transform:uppercase}
.saga-ttl{font-size:11px;font-weight:700;color:#1e293b;line-height:1.25;margin-bottom:3px}
.saga-pr{font-size:12px;font-weight:700;color:var(--secondary)}
.saga-stk{font-size:9px;font-weight:700;padding:2px 5px;border-radius:4px;display:inline-block;margin-top:2px}
.stk-ok{background:#dcfce7;color:#15803d}
.stk-lo{background:#fef3c7;color:#92400e}
.stk-me{background:var(--primary);color:white}
.btn-saga-all{margin-top:12px;width:100%;background:var(--primary);color:white;border:none;padding:11px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;font-family:'Inter',sans-serif;display:flex;align-items:center;justify-content:center;gap:7px;transition:background .2s}
.btn-saga-all:hover{background:#560168}
/* Bundle covers */
.bundle-block{margin-bottom:20px}
.bundle-covers-row{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:18px}
.bundle-cov-wrap{position:relative;flex:1;max-width:120px}
.bundle-cov-img{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 6px 16px rgba(0,0,0,.14)}
.bundle-cov-check{position:absolute;bottom:-7px;right:-7px;background:#10b981;color:white;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;border:2px solid white}
.bundle-plus-big{font-size:1.4rem;color:#94a3b8;font-weight:700;flex-shrink:0}
.bundle-foot{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid #f1f5f9;gap:10px;flex-wrap:wrap}
.bundle-total-lbl{font-size:13px;color:#64748b}
.bundle-total-price{font-size:1.2rem;font-weight:800;color:#1e293b;font-family:'Outfit',sans-serif}
.bundle-save-badge{font-size:11px;font-weight:700;background:#d1fae5;color:#059669;padding:2px 7px;border-radius:10px;margin-left:6px}
/* Author carousel */
.author-block{background:white;border:1px solid var(--border-color);border-radius:16px;padding:20px;margin-bottom:20px;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.author-hd{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.author-hd-ico{width:36px;height:36px;background:linear-gradient(135deg,var(--primary),#a855f7);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.author-hd-ico i{color:white;font-size:.9rem}
.author-hd-ttl{font-size:1.05rem;font-weight:700;color:#1e293b;margin-bottom:1px;font-family:'Outfit',sans-serif}
.author-hd-ttl a{color:var(--primary);text-decoration:none;border-bottom:1px dotted var(--primary)}
.author-hd-sub{font-size:.8rem;color:#64748b}
.author-scroll{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.author-scroll::-webkit-scrollbar{display:none}
.author-card{flex-shrink:0;width:110px;border:1px solid #f1f5f9;border-radius:10px;overflow:hidden;background:white;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:block}
.author-card:hover{transform:translateY(-4px);box-shadow:0 6px 14px rgba(0,0,0,.09);border-color:#e9d5ff}
.author-card img{width:100%;height:140px;object-fit:cover;display:block}
.author-card-info{padding:8px}
.ac-title{font-size:11px;font-weight:600;color:#1e293b;line-height:1.3;margin-bottom:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ac-price{font-size:12px;font-weight:700;color:var(--secondary)}
/* Meow */
.aurora-meow{margin-bottom:20px}
.aurora-meow-card{background:white;border:1px solid #e9d5ff;border-radius:14px;overflow:hidden}
.aurora-meow-top{background:#fdf4ff;padding:13px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid #f3e8ff}
.aurora-meow-top h5{font-size:13px;font-weight:700;color:#4a0166;margin-bottom:1px}
.aurora-meow-top p{font-size:11px;color:var(--text-muted)}
.aurora-meow-warning{display:flex;gap:10px;align-items:flex-start;background:#fef2f2;border-bottom:1.5px solid #fecaca;padding:12px 16px}
.aurora-meow-warning-icon{flex-shrink:0;color:#dc2626;font-size:16px;margin-top:1px}
.aurora-meow-warning-text{font-size:11.5px;color:#991b1b;line-height:1.5;font-weight:600}
.aurora-meow-list{padding:10px;display:flex;flex-direction:column;gap:7px}
.aurora-meow-row{display:flex;align-items:center;gap:10px;padding:9px 11px;background:#f8fafc;border-radius:8px;border:1px solid #f1f5f9;text-decoration:none;transition:all .2s}
.aurora-meow-row:hover{border-color:var(--primary);background:#fdf4ff}
.aurora-meow-ico{width:30px;height:30px;background:var(--primary);border-radius:7px;display:flex;align-items:center;justify-content:center;color:white;font-size:13px;flex-shrink:0}
.aurora-meow-info{flex:1}
.aurora-meow-nm{font-size:12px;font-weight:600;color:#1e293b}
.aurora-meow-addr{font-size:10px;color:#94a3b8}
.aurora-meow-time{font-size:10px;font-weight:600;color:#16a34a;display:flex;align-items:center;gap:3px;margin-top:1px}
/* Aurora Tabs */
.aurora-tabs-wrap{display:flex;border-bottom:2px solid var(--border-color);margin-bottom:20px;overflow-x:auto;scrollbar-width:none}
.aurora-tabs-wrap::-webkit-scrollbar{display:none}
.aurora-tab-itm{padding:11px 18px;cursor:pointer;font-weight:600;font-size:13px;color:var(--text-muted);border-bottom:3px solid transparent;margin-bottom:-2px;white-space:nowrap;transition:all .2s;background:none;border-top:none;border-left:none;border-right:none;font-family:'Inter',sans-serif}
.aurora-tab-itm.on{color:var(--primary);border-bottom-color:var(--primary)}
.aurora-tab-itm .tc{background:#f1f5f9;color:#64748b;border-radius:10px;padding:1px 6px;font-size:10px;margin-left:4px}
.aurora-tab-itm.on .tc{background:var(--primary);color:white}
.aurora-tab-pane{display:none}
.aurora-tab-pane.on{display:block}
/* Mobile buy inline */
.mobile-buy-inline{display:none;background:white;border:1px solid var(--border-color);border-radius:14px;padding:16px;margin:14px 0;box-shadow:0 3px 12px rgba(0,0,0,.06)}
/* Desktop sidebar */
.pg-sidebar{position:sticky;top:80px}
.aurora-buy-box{background:white;border:1px solid var(--border-color);border-radius:16px;padding:20px;box-shadow:0 4px 20px rgba(0,0,0,.07);margin-bottom:14px}
.aurora-sc-card{background:white;border:1px solid var(--border-color);border-radius:14px;padding:16px;margin-bottom:12px}
.aurora-sc-card h5{font-size:13px;font-weight:700;color:#1e293b;margin-bottom:12px;display:flex;align-items:center;gap:7px}
.aurora-ups-row{display:flex;gap:9px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none}
.aurora-ups-row::-webkit-scrollbar{display:none}
.aurora-ups-mini{flex-shrink:0;width:86px;border:1px solid #f1f5f9;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s}
.aurora-ups-mini:hover{transform:translateY(-3px);box-shadow:0 4px 10px rgba(0,0,0,.07)}
.aurora-ups-mini img{width:100%;height:114px;object-fit:cover}
.aurora-ups-mini .up-info{padding:5px}
.aurora-ups-mini .up-title{font-size:10px;font-weight:600;color:#1e293b;line-height:1.3;margin-bottom:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.aurora-ups-mini .up-price{font-size:11px;font-weight:700;color:var(--secondary)}
/* Responsive */
@media(max-width:1023px){
    .pg-grid{display:block;width:100%}
    .pg-sidebar{display:none!important}
    .pg-mob-header{display:block}
    .pg-desk-title{display:none}
    .pg-visual{position:static;width:100%;max-width:200px;margin:0 auto 16px}
    .stock-pill{top:4px;left:4px}
    .gamif-row{display:none}
    .pg-info{width:100%}
    .mobile-buy-inline{display:block!important}
    .breadcrumb{font-size:12px}
    .meta-chip{min-width:72px}
    .product-page{padding-bottom:80px}
}
@media(min-width:1024px){
    .mobile-buy-inline{display:none!important}
}
@media(max-width:400px){
    .pg-mob-header .book-title{font-size:1.15rem}
    .meta-chip{min-width:60px;padding:7px 9px}
    .product-page{padding-left:12px;padding-right:12px}
}
/* ── Aurora sidebar extras ─────────────────────────────────────────── */
/* Ocultar elementos redundantes del buy-card (desktop sidebar y mobile) */
.aurora-buy-box .p-specs{display:none!important}
.aurora-buy-box .buy-card .shipping-info{display:none!important}
.aurora-buy-box .buy-card .ext-status-badge{display:none!important}
.mobile-buy-inline .p-specs{display:none!important}
.mobile-buy-inline .buy-card .shipping-info{display:none!important}
.mobile-buy-inline .buy-card .ext-status-badge{display:none!important}
/* Info envío debajo de la barra (idéntico a testeoprod .ship-info) */
.aurora-ship-info{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;font-size:12px;margin-bottom:12px}
.ship-ok{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.ship-ko{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}
/* Pickup badge — idéntico a testeoprod */
.aurora-pickup-badge{display:flex;align-items:flex-start;gap:10px;background:#fdf4ff;border:1px solid #e9d5ff;border-radius:10px;padding:10px 12px;margin-bottom:14px}
.aurora-pickup-ico{font-size:17px;color:var(--primary);margin-top:1px;flex-shrink:0}
.aurora-pickup-title{font-size:12px;font-weight:700;color:#4a0166}
.aurora-pickup-sub{font-size:11px;color:#94a3b8;margin-top:1px}
/* Barra de envío gratis — idéntico a testeoprod */
.aurora-ship-prog{margin:12px 0 14px}
.aurora-ship-hd{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:5px}
.aurora-ship-msg{color:#475569;font-weight:500}
.aurora-ship-msg em{font-style:normal;font-weight:700;color:#dc2626}
.aurora-ship-free{color:#16a34a!important;font-weight:700}
.aurora-ship-pct{font-size:10px;color:#94a3b8;font-weight:600}
.aurora-ship-track{height:7px;background:#e2e8f0;border-radius:4px;overflow:hidden}
.aurora-ship-fill{height:100%;background:var(--secondary);border-radius:4px;transition:width .5s}
.aurora-ship-fill.full{background:#16a34a}
/* Botón lista de regalo */
.aurora-gift-btn{width:100%;background:none;border:1.5px solid #e2e8f0;border-radius:10px;padding:10px 14px;cursor:pointer;display:flex;align-items:center;gap:10px;text-align:left;margin-top:8px;transition:border-color .2s,background .2s;font-family:'Inter',sans-serif;box-sizing:border-box}
.aurora-gift-btn:hover{border-color:var(--primary);background:#fdf4ff}
.aurora-gift-btn i{color:var(--primary);font-size:1.1rem;flex-shrink:0}
.aurora-gift-btn-text{display:flex;flex-direction:column}
.aurora-gift-btn-text span{font-size:.85rem;font-weight:600;color:#1e293b}
.aurora-gift-btn-text small{font-size:.72rem;color:#64748b;margin-top:1px}
/* Trust badges */
.aurora-trust-row{display:flex;align-items:flex-start;justify-content:space-around;gap:4px;margin-top:14px;padding-top:14px;border-top:1px solid #f1f5f9}
.aurora-trust-it{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.7rem;color:#64748b;text-align:center;cursor:default;flex:1}
.aurora-trust-it i{font-size:1.15rem;color:#94a3b8}
.aurora-trust-it.clk{cursor:pointer}.aurora-trust-it.clk:hover{color:var(--primary)}
.aurora-trust-it.clk:hover i{color:var(--primary)}

.product-layout {
    display: grid;
    grid-template-columns: 320px 1fr 300px;
    gap: 40px;
    align-items: start;
}

.product-sidebar {
    position: sticky;
    top: 90px; /* navbar height (70px) + breathing room */
}

.product-layout .mobile-only { display: none; }
.product-sidebar.desktop-only { display: block; }

@media (max-width: 991px) {
    .product-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .product-visual { max-width: 400px; margin: 0 auto 20px; }
    .product-sidebar { display: none !important; }
    
    .mobile-only { display: block; }
    .product-layout .mobile-only { display: block; }
    .desktop-only { display: none; }
}

/* Price & Buy Card Styles (Shared) */

/* Price & Buy Card Styles (Shared) */
.buy-card { background: white; border: 1px solid #e2e8f0; border-radius: 12px; padding: 20px; margin-bottom: 20px; box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1); width: 100%; }
.qty-wrapper { display: flex; align-items: center; border: 1px solid #cbd5e1; border-radius: 8px; overflow: hidden; width: 120px; margin: 15px 0; }
.qty-btn { background: #f8fafc; border: none; padding: 10px; cursor: pointer; color: #64748b; flex: 1; transition: background 0.2s; }
.qty-btn:hover { background: #e2e8f0; color: #334155; }
.qty-input { width: 40px; text-align: center; border: none; border-left: 1px solid #cbd5e1; border-right: 1px solid #cbd5e1; font-weight: 600; color: #1e293b; outline: none; }

.unavailable-card { background: #f1f5f9; padding: 20px; border-radius: 12px; text-align: center; border: 1px solid #e2e8f0; color: #64748b; }
.btn-notify { background: #334155; color: white; border: none; padding: 10px 20px; border-radius: 6px; font-weight: 600; margin-top: 10px; cursor: pointer; width: 100%; }
.btn-main-buy { position: relative; width: 100%; background: #6a017f; color: white; border: none; padding: 14px; border-radius: 8px; font-weight: 700; font-size: 1rem; cursor: pointer; transition: background 0.25s, transform 0.1s, box-shadow 0.2s; box-shadow: 0 4px 6px -1px rgba(106, 1, 127, 0.2); }
.btn-main-buy:hover { transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(106, 1, 127, 0.3); }
.btn-main-buy[data-state="cart"] { background: #16a34a; box-shadow: 0 4px 6px -1px rgba(22, 163, 74, 0.3); }
.btn-main-buy[data-state="cart"]:hover { box-shadow: 0 10px 15px -3px rgba(22, 163, 74, 0.4); }
.btn-buy-now { width: 100%; background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%); color: white; border: none; padding: 13px; border-radius: 8px; font-weight: 700; font-size: 1rem; margin-top: 10px; cursor: pointer; transition: transform 0.1s, box-shadow 0.2s; box-shadow: 0 4px 6px -1px rgba(245, 158, 11, 0.3); display: flex; align-items: center; justify-content: center; gap: 8px; }
.btn-buy-now:hover { transform: translateY(-2px); box-shadow: 0 10px 15px -3px rgba(245, 158, 11, 0.4); }

/* Shipping Info Dynamic Styles */
.shipping-info {
    display: flex; gap: 10px; align-items: flex-start;
    padding: 12px; border-radius: 8px; margin-bottom: 20px;
    transition: all 0.3s;
}
.shipping-success { background: #dcfce7; border: 1px solid #86efac; color: #166534; }
.shipping-success i { color: #15803d; }

.shipping-warning { background: #fff7ed; border: 1px solid #fdba74; color: #9a3412; }
.shipping-warning i { color: #ea580c; }

/* Upsell Carousel */
.upsell-carousel {
    display: flex; gap: 10px; overflow-x: auto; padding-bottom: 10px;
    scroll-snap-type: x mandatory;
}
.upsell-card {
    flex-shrink: 0; width: 100px; scroll-snap-align: start;
    border: 1px solid #f1f5f9; border-radius: 8px; padding: 8px;
    border: 1px solid #f1f5f9; border-radius: 8px; padding: 8px;
    background: white; transition: transform 0.2s;
    /* Removed cursor pointer from container since we have buttons now */
}
.upsell-card:hover { transform: translateY(-3px); box-shadow: 0 4px 6px rgba(0,0,0,0.05); }
.upsell-img { width: 100%; height: 130px; object-fit: cover; border-radius: 4px; margin-bottom: 5px; }
.upsell-title { font-size: 0.75rem; font-weight: 600; color: #1e293b; margin-bottom: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.upsell-author { font-size: 0.65rem; color: #64748b; margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.upsell-price { font-weight: 700; color: #f19908; font-size: 0.8rem; }
.upsell-reason { font-size: 0.6rem; color: #6a017f; background: #fdf4ff; padding: 2px 4px; border-radius: 4px; display: inline-block; margin-bottom: 4px; }
.btn-upsell-add {
    background: #6a017f; color: white; border: none; padding: 2px 8px; 
    border-radius: 12px; font-size: 0.7rem; cursor: pointer;
}
.btn-upsell-add:hover { background: #500060; }

/* Visual Left */
.main-cover {
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 15px 30px rgba(0,0,0,0.15);
    margin-bottom: 20px;
}
.cover-wrapper { position: relative; }
.stock-badge {
    position: absolute;
    top: -10px;
    left: -10px;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    color: white;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}
.in-stock { background: #f19908; }
.community-only { background: #6a017f; }
.last-stock { background: #dc2626; animation: pulse 2s infinite; }

@keyframes pulse {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7); }
    70% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(220, 38, 38, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
}

.user-actions { display: grid; gap: 10px; }
@media (max-width: 768px) { .user-actions { display: none !important; } }
.action-btn {
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: white;
    cursor: pointer;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
    color: #475569;
    font-weight: 500;
    transition: all 0.2s;
    font-family: inherit;
    font-size: 0.9rem;
}
.action-btn:hover { border-color: #6a017f; color: #6a017f; background: #fdf4ff; }
.action-btn.saved { border-color: #6a017f; background: #fdf4ff; color: #6a017f; }
.wishlist-btn.saved .fa-heart { color: #e91e63; }
.gift-list-btn { border-color: #f19908; color: #f19908; }
.gift-list-btn:hover { background: #fffbeb; border-color: #f19908; color: #d97706; }
.action-btn:active { transform: scale(0.97); }

/* ── Modal Lista de Regalo ── */
#gift-modal-overlay {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9000;
    display: flex; align-items: center; justify-content: center;
    padding: 16px;
    animation: fadeInOverlay 0.2s ease;
}
@keyframes fadeInOverlay { from { opacity:0; } to { opacity:1; } }
.gift-modal {
    background: white;
    border-radius: 16px;
    width: 100%; max-width: 440px;
    max-height: 85vh;
    display: flex; flex-direction: column;
    box-shadow: 0 20px 60px rgba(0,0,0,0.2);
    animation: slideUpModal 0.25s ease;
}
@keyframes slideUpModal { from { transform:translateY(20px); opacity:0; } to { transform:translateY(0); opacity:1; } }
.gift-modal-header {
    display: flex; align-items: center; justify-content: space-between;
    padding: 18px 20px 14px;
    border-bottom: 1px solid #f1f5f9;
}
.gift-modal-header h3 { margin: 0; font-size: 17px; color: #1e293b; display: flex; align-items: center; gap: 8px; }
.gift-modal-header h3 i { color: #f19908; }
.gift-modal-close {
    background: none; border: none; font-size: 22px; color: #94a3b8;
    cursor: pointer; line-height: 1; padding: 0 4px;
}
.gift-modal-close:hover { color: #475569; }
.gift-modal-body { padding: 16px 20px 20px; overflow-y: auto; flex: 1; }

.gm-list-item {
    display: flex; align-items: center; gap: 12px;
    padding: 12px; border-radius: 10px;
    border: 1px solid #e2e8f0;
    margin-bottom: 8px; cursor: pointer;
    transition: all 0.15s;
}
.gm-list-item:hover { border-color: #f19908; background: #fffbeb; }
.gm-list-item.already { border-color: #86efac; background: #f0fdf4; cursor: default; }
.gm-occasion-icon { font-size: 22px; width: 38px; text-align: center; }
.gm-list-info { flex: 1; }
.gm-list-title { font-weight: 600; font-size: 14px; color: #1e293b; }
.gm-list-meta { font-size: 12px; color: #94a3b8; margin-top: 2px; }
.gm-check { color: #22c55e; font-size: 16px; }

.gm-divider { border: none; border-top: 1px dashed #e2e8f0; margin: 14px 0; }

.gm-new-btn {
    display: flex; align-items: center; gap: 10px;
    padding: 12px; border-radius: 10px;
    border: 1px dashed #d8b4fe; background: #fdf4ff;
    cursor: pointer; color: #6a017f; font-weight: 600;
    font-size: 14px; width: 100%; font-family: inherit;
    transition: all 0.15s;
}
.gm-new-btn:hover { background: #f5e8ff; border-color: #6a017f; }
.gm-new-btn i { font-size: 16px; }

/* Formulario nueva lista dentro del modal */
.gm-create-form { margin-top: 14px; }
.gm-field { margin-bottom: 12px; }
.gm-field label { display: block; font-size: 13px; font-weight: 600; color: #475569; margin-bottom: 4px; }
.gm-field input, .gm-field select {
    width: 100%; padding: 9px 12px; border: 1px solid #e2e8f0;
    border-radius: 8px; font-size: 14px; font-family: inherit;
    box-sizing: border-box; outline: none;
}
.gm-field input:focus, .gm-field select:focus { border-color: #6a017f; box-shadow: 0 0 0 3px rgba(106,1,127,0.08); }
.gm-actions { display: flex; gap: 8px; margin-top: 4px; }
.gm-btn-cancel { flex: 1; padding: 10px; border: 1px solid #e2e8f0; border-radius: 8px; background: white; color: #64748b; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 600; }
.gm-btn-cancel:hover { background: #f8fafc; }
.gm-btn-create { flex: 2; padding: 10px; border: none; border-radius: 8px; background: #6a017f; color: white; cursor: pointer; font-family: inherit; font-size: 14px; font-weight: 700; }
.gm-btn-create:hover { background: #560168; }
.gm-btn-create:disabled { background: #d8b4fe; cursor: default; }

/* ── Shelf Buttons Redesign ── */
.gm-goodreads-shelves {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-bottom: 16px;
}
.gs-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 14px 6px 12px;
    border-radius: 12px;
    border: 2px solid #e2e8f0;
    background: #f8fafc;
    cursor: pointer;
    font-family: inherit;
    font-size: 11px;
    font-weight: 700;
    color: #475569;
    transition: border-color 0.18s, background 0.18s, transform 0.15s, color 0.18s;
    line-height: 1.3;
    text-align: center;
}
.gs-btn:active { transform: scale(0.95); }
.gs-btn i { font-size: 20px; display: block; margin-bottom: 1px; }
.gs-btn.gs-want i { color: #7c3aed; }
.gs-btn.gs-want:hover { border-color: #7c3aed; background: #f5f3ff; color: #5b21b6; }
.gs-btn.gs-reading i { color: #f59e0b; }
.gs-btn.gs-reading:hover { border-color: #f59e0b; background: #fffbeb; color: #92400e; }
.gs-btn.gs-read i { color: #10b981; }
.gs-btn.gs-read:hover { border-color: #10b981; background: #f0fdf4; color: #065f46; }

/* ── Wish Save Toast ── */
#wish-save-toast {
    position: fixed;
    bottom: 88px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    z-index: 99999;
    background: #1e293b;
    color: white;
    padding: 13px 14px 13px 16px;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.35), 0 0 0 1px rgba(255,255,255,0.06);
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 380px;
    width: calc(100% - 32px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
#wish-save-toast.wt-show {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}
.wt-icon {
    width: 40px; height: 40px;
    border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; font-size: 18px;
}
.wt-icon.wt-purple { background: #6a017f; }
.wt-icon.wt-green  { background: #059669; }
.wt-icon.wt-orange { background: #d97706; }
.wt-body { flex: 1; min-width: 0; }
.wt-title { font-weight: 700; font-size: 14px; line-height: 1.3; }
.wt-sub   { font-size: 12px; opacity: 0.6; margin-top: 2px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 180px; }
.wt-btn {
    background: white; color: #1e293b;
    border: none; border-radius: 8px;
    padding: 8px 13px; font-size: 12px; font-weight: 700;
    cursor: pointer; font-family: inherit; white-space: nowrap; flex-shrink: 0;
    text-decoration: none; display: inline-block; transition: background 0.15s;
}
.wt-btn:hover { background: #f1f5f9; color: #1e293b; }

/* Gift modal section label */
.gm-section-label {
    font-size: 10px; color: #94a3b8; font-weight: 700;
    text-transform: uppercase; letter-spacing: 0.06em; margin: 2px 0 10px;
}
/* Gift modal list items - polish */
.gm-list-item { transition: border-color 0.15s, background 0.15s, box-shadow 0.15s; }
.gm-list-item:hover { box-shadow: 0 2px 8px rgba(106,1,127,0.08); }
.gm-new-btn { transition: background 0.15s, border-color 0.15s, box-shadow 0.15s; }
.gm-new-btn:hover { box-shadow: 0 2px 8px rgba(106,1,127,0.1); }

/* Details Center */
.p-title { font-family: 'Outfit'; font-size: 2.5rem; line-height: 1.1; margin-bottom: 10px; }
.p-author { font-size: 1.1rem; color: #64748b; margin-bottom: 15px; }
.p-rating { 
    display: flex; 
    align-items: center; 
    gap: 8px; 
    margin-bottom: 25px; 
    font-size: 14px; 
    transition: all 0.2s;
    padding: 8px 12px;
    border-radius: 8px;
}
.p-rating:hover {
    background: #f8fafc;
    transform: translateX(2px);
}
.p-synopsis { font-size: 1.05rem; line-height: 1.7; color: #334155; margin-bottom: 25px; }

.genre-tag {
    display: inline-block;
    padding: 4px 12px;
    background: #f1f5f9;
    border-radius: 20px;
    font-size: 12px;
    color: #64748b;
    margin-right: 8px;
    font-weight: 500;
}

.community-tabs {
    display: flex;
    gap: 20px;
    border-bottom: 1px solid #e2e8f0;
    margin-top: 40px;
    margin-bottom: 20px;
}
.tab {
    padding-bottom: 10px;
    cursor: pointer;
    color: #64748b;
    font-weight: 600;
    border-bottom: 2px solid transparent;
    transition: all 0.2s;
}
.tab.active { color: #6a017f; border-color: #6a017f; }
.tab:hover { color: #6a017f; }

.tab-content {
    display: none;
}
.tab-content.active {
    display: block;
}

.club-card-mini {
    display: flex;
    align-items: center;
    gap: 15px;
    background: white;
    border: 1px solid #e2e8f0;

.last-unit-warning {
    margin-top: 10px;
    margin-bottom: 20px;
    padding: 10px;
    background: #fef2f2;
    border: 1px dashed #dc2626;
    border-radius: 8px;
    color: #dc2626;
    font-size: 0.9rem;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 10px;
}
.club-icon {
    width: 40px; height: 40px; background: #6a017f;
    border-radius: 8px; color: white; display: flex; align-items: center; justify-content: center;
}
.btn-sm-join {
    margin-left: auto;
    background: transparent;
    border: 1px solid #6a017f;
    color: #6a017f;
    padding: 5px 15px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}
.btn-sm-join:hover { background: #6a017f; color: white; }

/* Sidebar Right */
.buy-card {
    background: white;
    padding: 25px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
}
.price-val { font-family: 'Outfit'; font-size: 2rem; font-weight: 700; color: #1e293b; }
.shipping-info {
    display: flex; gap: 10px; margin: 20px 0; font-size: 13px; color: #475569;
}
.btn-main-buy {
    width: 100%;
    background: #f19908;
    color: white;
    border: none;
    padding: 14px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    margin-bottom: 10px;
    transition: transform 0.2s;
}
.btn-main-buy:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(241, 153, 8, 0.4); }
.btn-sec-buy {
    width: 100%;
    background: #fff8eb;
    color: #f19908;
    border: 1px solid #fceecf;
    padding: 12px;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
}
.points-reward {
    margin-top: 15px;
    font-size: 12px;
    text-align: center;
    color: #6a017f;
    background: #fdf4ff;
    padding: 8px;
    border-radius: 6px;
}

@media (max-width: 1024px) {
    .product-layout { grid-template-columns: 1fr; }
    .product-visual, .product-sidebar { max-width: 400px; margin: 0 auto; }
}
/* Reviews Section */
.write-review-card {
    background: #f8fafc;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 30px;
}
.write-review-card h4 {
    margin: 0 0 20px 0;
    font-size: 18px;
    color: #1e293b;
}

.star-rating-input {
    margin-bottom: 20px;
}
.star-rating-input label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #64748b;
    font-size: 14px;
}
.stars-select {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}
.stars-select i {
    font-size: 32px;
    color: #cbd5e1;
    cursor: pointer;
    transition: all 0.2s;
}
.stars-select i:hover,
.stars-select i.selected {
    color: #fbbf24;
    transform: scale(1.1);
}
.rating-text {
    font-size: 14px;
    color: #6a017f;
    font-weight: 600;
}

.emotion-selector {
    margin-bottom: 20px;
}
.emotion-selector label {
    display: block;
    margin-bottom: 8px;
    font-weight: 600;
    color: #64748b;
    font-size: 14px;
}
.form-select {
    width: 100%;
    padding: 10px 15px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    background: white;
    cursor: pointer;
}

.review-textarea {
    width: 100%;
    min-height: 120px;
    padding: 15px;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    resize: vertical;
    margin-bottom: 15px;
}
.review-textarea:focus {
    outline: none;
    border-color: #6a017f;
}

.btn-submit-review {
    width: 100%;
    padding: 12px;
    background: #6a017f;
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
    font-size: 15px;
    transition: background 0.2s;
}
.btn-submit-review:hover {
    background: #5a0169;
}

.login-prompt {
    text-align: center;
    padding: 40px 20px;
    background: #f8fafc;
    border-radius: 12px;
    margin-bottom: 30px;
}
.login-prompt i {
    font-size: 48px;
    color: #cbd5e1;
    margin-bottom: 15px;
}
.login-prompt p {
    font-size: 16px;
    color: #64748b;
}
.login-prompt a {
    color: #6a017f;
    font-weight: 700;
    text-decoration: none;
}

.reviews-list h4 {
    margin: 0 0 20px 0;
    font-size: 18px;
    color: #1e293b;
}

.review-item {
    background: white;
    padding: 20px;
    border-radius: 12px;
    margin-bottom: 15px;
    border: 1px solid #e2e8f0;
}
.review-header {
    display: flex;
    gap: 12px;
    margin-bottom: 15px;
}
.review-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}
.review-meta {
    flex: 1;
}
.review-meta strong {
    display: block;
    font-size: 15px;
    color: #1e293b;
    margin-bottom: 4px;
}
.review-stars {
    display: inline-flex;
    gap: 2px;
    margin-right: 10px;
}
.review-stars i {
    font-size: 14px;
    color: #fbbf24;
}
.review-date {
    font-size: 12px;
    color: #94a3b8;
    margin-right: 10px;
}
.emotion-badge {
    background: #fef3c7;
    color: #92400e;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 600;
}
.review-text {
    font-size: 14px;
    line-height: 1.6;
    color: #475569;
    margin: 0;
}

.no-reviews {
    text-align: center;
    padding: 60px 20px;
    background: #f8fafc;
    border-radius: 12px;
}
.no-reviews i {
    font-size: 48px;
    color: #cbd5e1;
    margin-bottom: 15px;
}
.no-reviews p {
    font-size: 16px;
    color: #64748b;
}

/* Toast Styles */
.toast-container {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.toast {
    background: white;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    border-radius: 8px;
    padding: 15px;
    border-left: 4px solid #6a017f;
    display: flex;
    gap: 15px;
    align-items: center;
    min-width: 300px;
    max-width: 90%;
    animation: slideInToast 0.3s ease-out forwards;
    opacity: 0;
    transform: translateY(20px);
}
.toast-icon { font-size: 20px; color: #6a017f; }
.toast-content { flex: 1; }
.toast-title { font-weight: 700; font-size: 14px; margin-bottom: 2px; display: block; }
.toast-msg { font-size: 13px; color: #64748b; }
.toast.show { opacity: 1; transform: translateY(0); }

@keyframes slideInToast {
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 768px) {
    .toast-container { right: 50%; transform: translateX(50%); bottom: 10px; width: 90%; }
}
@media (min-width: 769px) {
    #wish-save-toast { bottom: 28px; }
}

/* ── Login Prompt Modal ── */
#login-prompt-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 11000;
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    align-items: flex-end;       /* bottom-sheet en móvil */
    justify-content: center;
    padding: 0;
}
/* En desktop: centrado */
@media (min-width: 600px) {
    #login-prompt-overlay {
        align-items: center;
        padding: 20px;
    }
}

.login-prompt-modal {
    background: white;
    width: 100%;
    max-width: 420px;
    border-radius: 24px 24px 0 0;   /* bottom-sheet en móvil */
    padding: 32px 28px 36px;
    text-align: center;
    position: relative;
    box-shadow: 0 -8px 40px rgba(0,0,0,0.15);
    animation: lpSlideUp 0.32s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media (min-width: 600px) {
    .login-prompt-modal {
        border-radius: 20px;           /* diálogo en desktop */
        box-shadow: 0 24px 60px rgba(0,0,0,0.2);
        animation: lpFadeScale 0.25s ease;
    }
}

/* Pastilla drag en móvil */
.login-prompt-modal::before {
    content: '';
    display: block;
    width: 40px; height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    margin: 0 auto 24px;
}
@media (min-width: 600px) {
    .login-prompt-modal::before { display: none; }
}

@keyframes lpSlideUp {
    from { transform: translateY(100%); opacity: 0.6; }
    to   { transform: translateY(0);    opacity: 1; }
}
@keyframes lpFadeScale {
    from { transform: scale(0.93); opacity: 0; }
    to   { transform: scale(1);    opacity: 1; }
}

.lp-close {
    position: absolute;
    top: 14px; right: 16px;
    background: #f1f5f9;
    border: none;
    border-radius: 50%;
    width: 32px; height: 32px;
    font-size: 18px; line-height: 1;
    color: #64748b;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background 0.15s;
}
.lp-close:hover { background: #e2e8f0; color: #1e293b; }

.lp-icon-wrap {
    width: 72px; height: 72px;
    background: #fdf4ff;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px;
    font-size: 32px;
}

.lp-title {
    font-family: 'Outfit', sans-serif;
    font-size: 1.35rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 10px;
}
.lp-text {
    font-size: 14px;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 24px;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
}
.lp-btn-primary {
    display: block;
    background: #6a017f;
    color: white;
    text-decoration: none;
    padding: 14px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 15px;
    margin-bottom: 10px;
    transition: background 0.15s, transform 0.1s;
}
.lp-btn-primary:hover { background: #560168; transform: translateY(-1px); }
.lp-btn-secondary {
    display: block;
    background: white;
    color: #6a017f;
    text-decoration: none;
    padding: 13px;
    border-radius: 12px;
    font-weight: 700;
    font-size: 15px;
    border: 2px solid #e2d4f0;
    margin-bottom: 16px;
    transition: border-color 0.15s, background 0.15s;
}
.lp-btn-secondary:hover { border-color: #6a017f; background: #fdf4ff; }
.lp-hint {
    font-size: 12px;
    color: #94a3b8;
}

/* ── Marketplace ── */
.mk-header {
    display: flex; justify-content: space-between; align-items: flex-start;
    margin-bottom: 20px; gap: 12px; flex-wrap: wrap;
}
.mk-title { font-size: 18px; font-weight: 700; color: #1e293b; margin: 0 0 4px; }
.mk-subtitle { font-size: 13px; color: #64748b; margin: 0; }

.mk-btn-sell {
    background: #6a017f; color: white; border: none;
    padding: 10px 18px; border-radius: 8px; font-weight: 700;
    font-size: 13px; cursor: pointer; display: flex; align-items: center; gap: 6px;
    white-space: nowrap; transition: background 0.2s;
}
.mk-btn-sell:hover { background: #560168; }

/* Sell Form */
.mk-sell-form {
    display: none; background: #f8fafc; border: 1px solid #e2e8f0;
    border-radius: 14px; padding: 20px; margin-bottom: 24px;
}
.mk-info-box {
    display: flex; gap: 10px; align-items: flex-start;
    background: #fffbe6; border-left: 3px solid #f59e0b;
    border-radius: 8px; padding: 12px; margin-bottom: 20px;
    font-size: 13px; color: #64748b; line-height: 1.6;
}
.mk-info-box i { color: #f59e0b; margin-top: 2px; flex-shrink: 0; }
.mk-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
.mk-form-group label { display: block; font-weight: 600; font-size: 13px; color: #374151; margin-bottom: 6px; }
.mk-form-group input, .mk-form-group select {
    width: 100%; padding: 10px 12px; border: 1px solid #cbd5e1;
    border-radius: 8px; font-size: 14px; background: white; outline: none;
    transition: border-color 0.2s;
}
.mk-form-group input:focus, .mk-form-group select:focus { border-color: #6a017f; }
.mk-price-feedback { margin-top: 6px; font-size: 12px; color: #6a017f; font-weight: 600; }

.mk-photos-label { display: block; font-weight: 600; font-size: 13px; color: #374151; margin-bottom: 10px; }
.mk-photo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 20px; }
.mk-photo-slot {
    aspect-ratio: 3/4; border: 2px dashed #cbd5e1; border-radius: 10px;
    cursor: pointer; overflow: hidden; position: relative;
    background: white; transition: border-color 0.2s;
    display: flex; align-items: center; justify-content: center;
}
.mk-photo-slot:hover { border-color: #6a017f; }
.mk-photo-slot.has-photo { border-style: solid; border-color: #10b981; }
.mk-photo-placeholder {
    display: flex; flex-direction: column; align-items: center; gap: 6px;
    color: #94a3b8; font-size: 11px; font-weight: 600; text-align: center; padding: 8px;
}
.mk-photo-placeholder i { font-size: 20px; }

.mk-form-actions { display: flex; gap: 10px; justify-content: flex-end; }
.mk-btn-cancel {
    background: white; border: 1px solid #e2e8f0; color: #64748b;
    padding: 10px 20px; border-radius: 8px; font-weight: 600; cursor: pointer;
}
.mk-btn-publish {
    background: #6a017f; color: white; border: none;
    padding: 10px 24px; border-radius: 8px; font-weight: 700; cursor: pointer;
    display: flex; align-items: center; gap: 6px;
}
.mk-btn-publish:hover { background: #560168; }
.mk-btn-publish:disabled { opacity: 0.6; cursor: not-allowed; }

/* Login prompt */
.mk-login-prompt {
    text-align: center; padding: 28px 20px; background: #fdf4ff;
    border-radius: 12px; border: 1px solid #e9d5ff; margin-bottom: 24px;
    color: #64748b;
}
.mk-login-prompt .mk-btn-sell {
    display: inline-flex; width: auto; margin-top: 12px;
    padding: 10px 24px;
}

/* Listings */
.mk-listings-header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 0 0 12px; border-bottom: 1px solid #f1f5f9; margin-bottom: 16px;
    font-weight: 700; font-size: 14px; color: #374151;
}
.mk-listings { display: flex; flex-direction: column; gap: 12px; }
.mk-listing-card {
    display: flex; gap: 14px; align-items: center;
    background: white; border: 1px solid #e2e8f0; border-radius: 12px;
    padding: 14px; transition: box-shadow 0.2s;
}
.mk-listing-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.07); }
.mk-listing-photos { display: flex; gap: 6px; flex-shrink: 0; }
.mk-listing-photos img {
    width: 56px; height: 80px; object-fit: cover;
    border-radius: 6px; border: 1px solid #f1f5f9;
}
.mk-listing-photos img:nth-child(2) { opacity: 0.75; }
.mk-listing-info { flex: 1; min-width: 0; }
.mk-listing-price { font-size: 20px; font-weight: 800; color: #1e293b; margin-bottom: 4px; }
.mk-listing-condition { font-size: 13px; color: #475569; margin-bottom: 8px; }
.mk-listing-seller {
    display: flex; align-items: center; gap: 6px;
    font-size: 12px; color: #94a3b8;
}
.mk-listing-seller img { width: 22px; height: 22px; border-radius: 50%; }
.mk-listing-seller span:first-of-type { color: #475569; font-weight: 600; }
.mk-listing-date { margin-left: auto; }
.mk-btn-buy {
    background: #6a017f; color: white; text-decoration: none;
    padding: 10px 16px; border-radius: 8px; font-weight: 700;
    font-size: 13px; white-space: nowrap; transition: background 0.2s;
    flex-shrink: 0;
}
.mk-btn-buy:hover { background: #560168; color: white; }

/* Empty state */
.mk-empty {
    text-align: center; padding: 40px 20px; color: #94a3b8;
}
.mk-empty i { font-size: 40px; margin-bottom: 12px; display: block; }

/* Responsive */
@media (max-width: 600px) {
    .mk-form-row { grid-template-columns: 1fr; }
    .mk-photo-grid { grid-template-columns: repeat(2, 1fr); }
    .mk-listing-card { flex-wrap: wrap; }
    .mk-btn-buy { width: 100%; text-align: center; }
}

/* Responsive adjustments for layout safety */
@media (max-width: 1024px) {
    .product-layout {
        grid-template-columns: 240px 1fr; /* Drop right column below or hide? Better to stack */
        gap: 20px;
    }
    .product-sidebar { display: none; } /* Hide sticky sidebar on tablet/mobile if overlaps, or move it */
}

@media (max-width: 991px) {
    .product-layout { display: block; }
    .product-visual { max-width: 300px; margin: 0 auto 30px auto; }
    .product-sidebar { 
        display: none !important; 
    }
}

.product-page {
    max-width: 1250px;
    margin: 0 auto;
    padding: 8px 20px 0;
}

/* Points Reward Box Responsive Styles */
.points-reward-box {
    margin-top: 15px; /* Mobile Default */
    background: #fdf4ff;
    border: 1px dashed #d8b4fe;
    padding: 10px;
    border-radius: 8px;
    text-align: center;
}

@media (min-width: 900px) {
    .points-reward-box {
        margin-top: 30px; /* More space on desktop */
        margin-bottom: 5px;
    }
}

/* OVERRIDE GLOBAL LAYOUT FOR PRODUCT PAGE */
/* Ocultamos la barra lateral global para dar más espacio al producto */
.sidebar { display: none !important; }
.main-layout { 
    grid-template-columns: 1fr !important; 
    max-width: 1400px !important; /* Hacemos el contenedor global más ancho */
}
.product-page {
    max-width: 1250px;
    margin: 0 auto;
    padding: 8px 20px 0;
}

/* Recommendation Sections */
.recommendation-section {
    margin-bottom: 10px;
}
.recommendation-section .upsell-card {
    min-width: 140px;
    width: 140px;
}
.recommendation-section .upsell-img {
    height: 180px;
}

@media (max-width: 768px) {
    .recommendation-section {
        padding: 0 12px !important;
    }
    .recommendation-section .upsell-card {
        min-width: 120px;
        width: 120px;
    }
    .recommendation-section .upsell-img {
        height: 150px;
    }
}

/* ── BOUGHT TOGETHER STYLES ──────────────────────────────── */
.bought-together-layout {
    width: 100%;
}
.bt-items-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    overflow-x: auto;
    padding-bottom: 10px;
    scroll-snap-type: x mandatory;
}
.bt-item {
    flex-shrink: 0;
    width: 150px;
    text-align: center;
    scroll-snap-align: start;
    background: #fafafa;
    border: 1px solid #f1f5f9;
    border-radius: 10px;
    padding: 12px 10px;
    transition: box-shadow 0.2s;
}
.bt-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}
.bt-current {
    border: 2px solid #6a017f;
    background: #fdf4ff;
}
.bt-plus {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 30px;
    color: #94a3b8;
    font-size: 1.2rem;
    align-self: center;
}
.bt-cover {
    width: 90px;
    height: 130px;
    object-fit: cover;
    border-radius: 6px;
    margin: 8px auto;
    display: block;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.bt-checkbox {
    display: flex;
    align-items: center;
    gap: 6px;
    justify-content: center;
    margin-bottom: 4px;
}
.bt-checkbox input[type="checkbox"] {
    accent-color: #6a017f;
    width: 16px;
    height: 16px;
}
.bt-checkbox label {
    font-size: 0.7rem;
    color: #6a017f;
    font-weight: 600;
    white-space: nowrap;
}
.bt-info {
    text-align: center;
}
.bt-title {
    font-size: 0.75rem;
    font-weight: 600;
    color: #1e293b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
    margin: 0 auto;
}
.bt-author {
    font-size: 0.65rem;
    color: #64748b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 140px;
    margin: 2px auto 4px;
}
.bt-price {
    font-weight: 700;
    color: #f19908;
    font-size: 0.85rem;
}
/* Phase 2: out-of-stock companion styling */
.bt-agotado {
    opacity: 0.65;
    border-color: #e2e8f0 !important;
    background: #f8fafc !important;
}
/* Phase 4: scroll hint for mobile */
.bt-scroll-hint {
    display: none; /* hidden on desktop */
    font-size: 0.72rem;
    color: #94a3b8;
    text-align: center;
    margin-top: 6px;
    letter-spacing: 0.02em;
}

@media (max-width: 600px) {
    .bt-items-row {
        gap: 6px;
        /* Gradient mask to hint there's more content to the right */
        -webkit-mask-image: linear-gradient(to right, black 80%, transparent 100%);
        mask-image: linear-gradient(to right, black 80%, transparent 100%);
    }
    .bt-item {
        width: 120px;
        padding: 8px 6px;
    }
    .bt-cover {
        width: 75px;
        height: 110px;
    }
    .bt-plus {
        width: 20px;
        font-size: 1rem;
    }
    #btnAddAllTogether {
        width: 100%;
        justify-content: center;
    }
    /* Show scroll hint on mobile */
    .bt-scroll-hint {
        display: block;
    }
}

/* ── AI Chat Widget ── */
.pchat-widget {
    margin: 20px 0;
    border: 1px solid #e2d4f0;
    border-radius: 14px;
    overflow: hidden;
    background: #fdf4ff;
}
.pchat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    cursor: pointer;
    user-select: none;
    gap: 10px;
}
.pchat-header:hover { background: #f5e8ff; }
.pchat-header-left { display: flex; align-items: center; gap: 10px; }
.pchat-icon {
    font-size: 18px;
    color: #6a017f;
    line-height: 1;
    animation: pchatPulse 2.5s ease-in-out infinite;
}
@keyframes pchatPulse {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}
.pchat-label { font-weight: 600; font-size: 14px; color: #4a0166; }
.pchat-chevron { color: #6a017f; font-size: 12px; transition: transform 0.25s; }
.pchat-chevron.open { transform: rotate(180deg); }

.pchat-body { padding: 0 14px 14px; }

.pchat-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
    padding-top: 10px;
}
.pchat-chip {
    background: white;
    border: 1px solid #d8b4fe;
    color: #6a017f;
    border-radius: 20px;
    padding: 5px 12px;
    font-size: 12.5px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s;
    font-family: inherit;
}
.pchat-chip:hover { background: #6a017f; color: white; border-color: #6a017f; }

.pchat-messages {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: 320px;
    overflow-y: auto;
    margin-bottom: 12px;
    padding-right: 2px;
    scroll-behavior: smooth;
}
.pchat-msg {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    animation: pchatFadeIn 0.2s ease-out;
}
@keyframes pchatFadeIn {
    from { opacity: 0; transform: translateY(6px); }
    to   { opacity: 1; transform: translateY(0); }
}
.pchat-msg.user { flex-direction: row-reverse; }
.pchat-bubble {
    max-width: 80%;
    padding: 9px 13px;
    border-radius: 14px;
    font-size: 13.5px;
    line-height: 1.55;
    white-space: pre-wrap;
    word-break: break-word;
}
.pchat-msg.user .pchat-bubble { background: #6a017f; color: white; border-bottom-right-radius: 4px; }
.pchat-msg.ai .pchat-bubble   { background: white; color: #1e293b; border: 1px solid #e2d4f0; border-bottom-left-radius: 4px; }
.pchat-avatar {
    width: 28px; height: 28px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 13px;
    flex-shrink: 0;
    margin-top: 1px;
}
.pchat-msg.ai .pchat-avatar   { background: #6a017f; color: white; }
.pchat-msg.user .pchat-avatar { background: #e2e8f0; color: #475569; }

.pchat-typing .pchat-bubble { color: #94a3b8; font-style: italic; }

.pchat-input-row {
    display: flex;
    gap: 8px;
    align-items: center;
}
.pchat-input {
    flex: 1;
    border: 1px solid #d8b4fe;
    border-radius: 10px;
    padding: 9px 13px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    background: white;
    color: #1e293b;
}
.pchat-input:focus { border-color: #6a017f; box-shadow: 0 0 0 3px rgba(106,1,127,0.1); }
.pchat-send-btn {
    background: #6a017f;
    color: white;
    border: none;
    border-radius: 10px;
    width: 38px; height: 38px;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 14px;
    flex-shrink: 0;
    transition: background 0.15s;
}
.pchat-send-btn:hover { background: #560168; }
.pchat-send-btn:disabled { background: #d8b4fe; cursor: default; }

.pchat-disclaimer {
    margin: 8px 0 0;
    font-size: 11px;
    color: #94a3b8;
    text-align: center;
}

/* ── Hide global mobile nav on product page ─────────────────────── */
@media (max-width: 768px) {
    .mobile-bottom-nav { display: none !important; }
}

/* ── Mobile Sticky Buy Bar ──────────────────────────────────────── */
#mob-buy-bar {
    display: none;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #fff;
    border-top: 1px solid #e2e8f0;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
    z-index: 10000;
    box-shadow: 0 -2px 12px rgba(0,0,0,0.08);
    align-items: center;
    gap: 8px;
}
#mob-add-btn, #mob-notify-btn {
    flex: 1;
    border: none;
    border-radius: 10px;
    padding: 10px 12px;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    transition: background 0.2s, transform 0.15s;
    -webkit-tap-highlight-color: transparent;
    font-family: inherit;
    color: white;
}
#mob-add-btn:active, #mob-notify-btn:active { transform: scale(0.97); }
#mob-add-btn { background: #f19908; }
#mob-add-btn[data-state="cart"] { background: #16a34a; }
#mob-notify-btn { background: #334155; }
#mob-add-btn i, #mob-notify-btn i { font-size: 1rem; flex-shrink: 0; }
.mob-btn-lines { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.mob-btn-main  { font-size: 0.88rem; font-weight: 700; line-height: 1.25; }
.mob-btn-sub   { font-size: 0.68rem; font-weight: 500; opacity: 0.8;  line-height: 1.25; }

.mob-action-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px 10px;
    color: #6a017f;
    font-size: 0.6rem;
    font-weight: 600;
    white-space: nowrap;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.15s;
}
.mob-action-btn i {
    font-size: 1.15rem;
    color: #6a017f;
}
.mob-action-btn:active { transform: scale(0.95); }
.mob-action-btn.saved { color: #6a017f; }
.mob-action-btn.saved i.fa-heart {
    color: #e91e63;
    animation: heartPop 0.3s ease;
}
@keyframes heartPop {
    0%   { transform: scale(1); }
    50%  { transform: scale(1.3); }
    100% { transform: scale(1); }
}

@media (max-width: 768px) {
    /* Hide the global bottom nav on product page to avoid overlap */
    .mobile-bottom-nav { display: none !important; }
    
    /* Hide common third-party floating widgets that clutter the UI */
    #lya-chat-widget, #chat-widget-container, .whatsapp-float { 
        display: none !important; 
    }

    #mob-buy-bar { 
        display: flex; 
        align-items: center;
        justify-content: space-between;
        padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
        gap: 8px;
    }
    body { padding-bottom: 85px !important; }
    .toast-container { bottom: 95px !important; }
}

.mob-bar-price {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid #f1f5f9;
    padding-right: 12px;
    margin-right: 4px;
    min-width: 75px;
}
.mbp-label {
    font-size: 10px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
}
.mbp-val {
    font-size: 1.1rem;
    font-weight: 800;
    color: #6a017f; /* Purple instead of orange */
    font-family: 'Outfit', sans-serif;
    line-height: 1;
}

/* Wishlist Modal Styles */
.modal-icon-fav {
    width: 36px; height: 36px;
    background: #fdf2f8;
    color: #db2777;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.wishlist-body { max-height: 60vh; overflow-y: auto; margin: 0 -10px; padding: 0 10px; }
.wish-list-container { display: flex; flex-direction: column; gap: 12px; }
.wish-item {
    display: flex; align-items: center; gap: 12px; text-decoration: none; 
    padding: 10px; border-radius: 12px; transition: background 0.2s;
    border: 1px solid #f1f5f9;
}
.wish-item:active { background: #f8fafc; }
.wish-item img { width: 45px; height: 65px; object-fit: cover; border-radius: 6px; }
.wi-info { flex: 1; min-width: 0; }
.wi-title { font-size: 0.9rem; font-weight: 600; color: #1e293b; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wi-author { font-size: 0.75rem; color: #64748b; }
.wish-item i { color: #cbd5e1; font-size: 0.8rem; }
.wishlist-loader { text-align: center; padding: 40px; color: #64748b; }

#mob-add-btn {
    flex: 1;
    max-width: 150px;
}

/* Badge del carrito */
#mob-add-btn {
    position: relative;
    overflow: visible;
}
.mob-cart-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background: #e11d48;
    color: white;
    font-size: 10px;
    font-weight: 800;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Success Flash Animation */
.success-flash {
    animation: successPulse 0.6s ease;
}
@keyframes successPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); background: #22c55e; }
    100% { transform: scale(1); }
}

/* Cart Preview Modal (Bottom Sheet) */
.flys-modal-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(15, 23, 42, 0.6);
    z-index: 20000;
    display: none;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(4px);
    transition: opacity 0.3s ease;
    opacity: 0;
}
.flys-modal-overlay.show { opacity: 1; }
.flys-modal {
    background: white;
    width: 90%;
    max-width: 450px;
    border-radius: 24px;
    padding: 24px;
    position: relative;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform: scale(0.9);
}
.flys-modal-overlay.show .flys-modal { transform: scale(1); }

@media (max-width: 768px) {
    .flys-modal-overlay { align-items: flex-end; }
    .flys-modal {
        width: 100%;
        max-width: none;
        border-radius: 24px 24px 0 0;
        padding: 20px 20px calc(30px + env(safe-area-inset-bottom));
        transform: translateY(100%) scale(1);
    }
    .flys-modal-overlay.show .flys-modal { transform: translateY(0); }
}

.modal-handle {
    width: 40px;
    height: 4px;
    background: #e2e8f0;
    border-radius: 2px;
    margin: -10px auto 15px;
    display: none;
}
@media (max-width: 768px) { .modal-handle { display: block; } }

.modal-header { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.modal-icon-success {
    width: 36px; height: 36px;
    background: #dcfce7;
    color: #16a34a;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 18px;
}
.modal-title { font-size: 1.2rem; font-weight: 800; color: #1e293b; margin: 0; font-family: 'Outfit', sans-serif; }

.modal-book-preview { display: flex; gap: 16px; align-items: center; background: #f8fafc; padding: 16px; border-radius: 16px; margin-bottom: 20px; }
.modal-book-preview img { width: 70px; height: 100px; object-fit: cover; border-radius: 8px; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1); }
.m-info { flex: 1; }
.m-info h4 { font-size: 1rem; font-weight: 600; color: #1e293b; margin: 0 0 8px; line-height: 1.3; }
.m-price-qty { display: flex; justify-content: space-between; align-items: center; }
#mBookPrice { font-weight: 800; color: #ea580c; font-size: 1.1rem; margin: 0; }

.m-qty-selector { display: flex; align-items: center; gap: 12px; background: white; padding: 4px; border-radius: 10px; border: 1px solid #e2e8f0; }
.mq-btn { width: 28px; height: 28px; border-radius: 6px; border: none; background: #f1f5f9; color: #6a017f; font-weight: bold; cursor: pointer; }
#mQtyVal { font-weight: 700; color: #1e293b; min-width: 15px; text-align: center; }

.m-ship-progress { margin-bottom: 24px; }
.m-ship-labels { display: flex; justify-content: space-between; margin-bottom: 6px; font-size: 0.85rem; }
#modalShippingText { font-weight: 600; color: #64748b; }
#modalShippingAmt { font-weight: 700; color: #f19908; }
.m-ship-track { height: 8px; background: #f1f5f9; border-radius: 4px; overflow: hidden; }
.m-ship-fill { height: 100%; background: #10b981; width: 65%; border-radius: 4px; }

.modal-actions { display: flex; flex-direction: column; gap: 10px; }
.btn-modal-checkout {
    background: linear-gradient(135deg, #f59e0b 0%, #ea580c 100%);
    color: white; padding: 14px; border-radius: 12px; text-align: center;
    font-weight: 700; text-decoration: none; box-shadow: 0 4px 15px rgba(234, 88, 12, 0.3);
}
.btn-modal-continue {
    background: transparent; border: 1px solid #e2e8f0; color: #64748b;
    padding: 12px; border-radius: 10px; font-weight: 600; cursor: pointer;
}

/* ══ AURORA LAYOUT OVERRIDES (deben ir al final para ganar la cascada) ══
   product.php hereda CSS que redefine .product-page y .main-layout más abajo.
   Estos !important restauran el diseño Aurora correcto.                       */
.product-page {
    max-width: 1260px !important;
    margin: 0 auto !important;
    padding: 24px 20px 0 !important;
}
.main-layout {
    grid-template-columns: 1fr !important;
    max-width: 1260px !important;  /* igual que product-page, sin desbordarse */
    padding-top: 0 !important;
}
.pg-grid {
    display: grid !important;
    grid-template-columns: 280px 1fr 310px !important;
    gap: 28px !important;
    align-items: start !important;
}
.pg-visual { position: sticky !important; top: 80px !important; }
.pg-info    { min-width: 0 !important; }
.pg-sidebar { position: sticky !important; top: 80px !important; }
@media(max-width:1023px){
    .product-page { padding: 22px 20px 0px !important; }
    .pg-grid { display: block !important; }
    .pg-sidebar { display: none !important; position: static !important; }
    .pg-visual { position: static !important; max-width: 200px !important; margin: 0 auto 20px !important; }
}
/* ── Meta chips rediseño moderno ── */
.meta-scroll{display:flex;gap:10px;overflow-x:auto;margin-bottom:22px;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.meta-scroll::-webkit-scrollbar{display:none}
.meta-chip{flex-shrink:0;background:linear-gradient(145deg,#fdf4ff,#faf5ff);border:1.5px solid #e9d5ff;border-radius:14px;padding:12px 14px;text-align:center;min-width:78px;display:flex;flex-direction:column;align-items:center;gap:3px}
.mc-ico{font-size:14px;color:#7c3aed;margin-bottom:2px}
.mc-v{font-size:.88rem;font-weight:800;color:#3b0764;white-space:nowrap;font-family:'Outfit',sans-serif;line-height:1.2}
.mc-v-sm{font-size:.68rem!important}
.mc-l{font-size:9px;color:#a78bba;text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-top:1px}
/* Meta chips más compactos en desktop */
@media(min-width:1024px){
    .meta-chip{padding:8px 11px;min-width:65px;border-radius:11px;gap:2px}
    .mc-ico{font-size:12px;margin-bottom:1px}
    .mc-v{font-size:.72rem}
    .mc-v-sm{font-size:.6rem!important}
    .mc-l{font-size:8px}
    .mc-desk-only{display:flex}
    .genres-row{display:none}
}
/* ── Sinopsis header ── */
.syn-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.syn-header-ico{width:22px;height:22px;background:linear-gradient(135deg,#6a017f,#a855f7);border-radius:6px;display:flex;align-items:center;justify-content:center;color:white;font-size:10px;flex-shrink:0}
.sec-lbl{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.9px;color:#6a017f;margin:0}
.syn-text{font-size:.95rem;line-height:1.8;color:#334155}
/* ── Añadir al Carrito — siempre morado Flys en Aurora (desktop y mobile) */
.aurora-buy-box .btn-main-buy,
.mobile-buy-inline .btn-main-buy {
    background: #6a017f !important;
    box-shadow: 0 4px 6px -1px rgba(106,1,127,.25) !important;
    margin-bottom: 10px !important;
}
.aurora-buy-box .btn-main-buy:hover,
.mobile-buy-inline .btn-main-buy:hover {
    background: #55015f !important;
    box-shadow: 0 8px 15px -3px rgba(106,1,127,.35) !important;
}
/* Espaciado simétrico entre botones */
.aurora-buy-box .btn-buy-now,
.mobile-buy-inline .btn-buy-now {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* Botón regalo — link pequeño en morado con separador */
.aurora-buy-box .aurora-gift-btn,
.mobile-buy-inline .aurora-gift-btn {
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid #f3e8ff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 8px 0 10px !important;
    margin: 0 0 10px !important;
    justify-content: center !important;
    gap: 5px !important;
}
.aurora-buy-box .aurora-gift-btn i,
.mobile-buy-inline .aurora-gift-btn i {
    font-size: 11px !important;
    color: #6a017f !important;
}
.aurora-buy-box .aurora-gift-btn-text span,
.mobile-buy-inline .aurora-gift-btn-text span {
    font-size: 11px !important;
    color: #6a017f !important;
    font-weight: 600 !important;
}
.aurora-buy-box .aurora-gift-btn-text small,
.mobile-buy-inline .aurora-gift-btn-text small {
    display: none !important;
}
.aurora-buy-box .aurora-gift-btn:hover i,
.mobile-buy-inline .aurora-gift-btn:hover i,
.aurora-buy-box .aurora-gift-btn:hover .aurora-gift-btn-text span,
.mobile-buy-inline .aurora-gift-btn:hover .aurora-gift-btn-text span {
    color: #6a017f !important;
}
/* Quitar borde y sombra del .buy-card dentro de Aurora */
.aurora-buy-box .buy-card,
.mobile-buy-inline .buy-card {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
}
/* ── Secciones inferiores ancho completo ── */
.aurora-bottom-sections{max-width:1260px;margin:0 auto;padding:0 20px 40px}
.aurora-bottom-sec{background:white;border-radius:18px;padding:24px 28px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-bottom:20px}
/* En desktop las secciones que estaban en pg-info ahora son full-width */
.aurora-bottom-sections .saga-block,
.aurora-bottom-sections .bundle-block>div,
.aurora-bottom-sections .author-block,
.aurora-bottom-sections .aurora-meow,
.aurora-bottom-sections .aurora-tabs-wrap,
.aurora-bottom-sections .aurora-tab-pane{margin-left:0;margin-right:0}
/* Tabs segunda mano: sidebar en desktop */
@media(min-width:1024px){
    #aurora-pane-mk .mk-content-wrap{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
}
.mk-sidebar-info{background:linear-gradient(145deg,#fdf4ff,#faf5ff);border:1.5px solid #e9d5ff;border-radius:14px;padding:20px}
.mk-sidebar-info h4{font-size:13px;font-weight:800;color:#4a0166;margin-bottom:14px;font-family:'Outfit',sans-serif}
.mk-si-tip{display:flex;gap:10px;align-items:flex-start;margin-bottom:11px;font-size:12px;color:#475569}
.mk-si-tip i{color:#6a017f;font-size:14px;flex-shrink:0;margin-top:1px}
.mk-si-divider{border:none;border-top:1px solid #e9d5ff;margin:12px 0}
.mk-si-badge{display:inline-flex;align-items:center;gap:5px;background:white;border:1px solid #e9d5ff;border-radius:20px;padding:3px 9px;font-size:11px;font-weight:600;color:#4a0166;margin:0 4px 6px 0}
/* Reseñas con breakdown de estrellas en desktop */
@media(min-width:1024px){
    #aurora-pane-reviews .reviews-desktop-wrap{display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:start}
}
.reviews-rating-summary{background:#f8fafc;border-radius:14px;padding:20px;text-align:center}
.rrs-big{font-size:3rem;font-weight:900;color:#1e293b;font-family:'Outfit',sans-serif;line-height:1}
.rrs-stars{color:#f59e0b;font-size:20px;margin:6px 0}
.rrs-count{font-size:12px;color:#64748b;margin-bottom:16px}
.rrs-bar{display:flex;align-items:center;gap:8px;font-size:11px;color:#64748b;margin-bottom:5px}
.rrs-bar-track{flex:1;height:5px;background:#e2e8f0;border-radius:3px}
.rrs-bar-fill{height:100%;background:#f59e0b;border-radius:3px}
/* ── Hint segunda mano (debajo del precio) ── */
.aurora-sh-hint{display:flex;align-items:center;gap:6px;font-size:11px;color:#64748b;padding:5px 0 6px;margin-top:0}
.aurora-sh-hint i{color:#6a017f;font-size:11px;flex-shrink:0}
.aurora-sh-hint strong{color:#1e293b;font-weight:700}
.aurora-sh-link{color:#6a017f;font-weight:700;text-decoration:none;margin-left:auto;cursor:pointer;font-size:11px;white-space:nowrap}
.aurora-sh-link:hover{text-decoration:underline}
/* ── Chips de entrega (Recíbelo entre + Recoge gratis) ── */
.aurora-del-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}
.aurora-del-chip{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:12px;cursor:default}
.aurora-del-ship{background:#fdf4ff;border:1.5px solid #e9d5ff}
.aurora-del-ship i{color:#6a017f;font-size:15px;flex-shrink:0}
.aurora-del-presale{background:#f3e8ff;border:1.5px solid #c084fc}
.aurora-del-presale i{color:#7c3aed}
.aurora-presale-alert{display:flex;gap:10px;align-items:flex-start;background:linear-gradient(135deg,#faf5ff,#f3e8ff);border:1.5px solid #d8b4fe;border-radius:12px;padding:12px 14px;margin-bottom:14px;box-shadow:0 1px 3px rgba(124,58,237,.08)}
.aurora-presale-alert-icon{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#ede9fe;color:#7c3aed;display:flex;align-items:center;justify-content:center;font-size:14px;margin-top:1px}
.aurora-presale-alert-title{font-size:12.5px;font-weight:800;color:#6a017f;margin-bottom:3px}
.aurora-presale-alert-text{font-size:11.5px;color:#5b21b6;line-height:1.5}
.aurora-presale-alert-gift{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#a16207;background:#fef9c3;border:1px solid #fde68a;border-radius:6px;padding:4px 8px;margin-top:8px;width:fit-content}
.aurora-presale-alert-gift i{color:#ca8a04}
.aurora-demand-alert{display:flex;gap:10px;align-items:flex-start;background:#fffbeb;border:1.5px solid #fde68a;border-radius:12px;padding:12px 14px;margin-bottom:14px}
.aurora-demand-alert-icon{flex-shrink:0;width:30px;height:30px;border-radius:50%;background:#fef3c7;color:#d97706;display:flex;align-items:center;justify-content:center;font-size:14px;margin-top:1px}
.aurora-demand-alert-title{font-size:12.5px;font-weight:800;color:#92400e;margin-bottom:3px}
.aurora-demand-alert-text{font-size:11.5px;color:#78350f;line-height:1.5}
.aurora-del-pick{background:#f0fdf4;border:1.5px solid #bbf7d0;cursor:pointer;transition:background .15s,border-color .15s}
.aurora-del-pick:hover{background:#dcfce7;border-color:#86efac}
.aurora-del-pick i{color:#16a34a;font-size:15px;flex-shrink:0}
.aurora-del-label{font-size:9px;color:#94a3b8;font-weight:600;text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.aurora-del-val{font-size:10.5px;font-weight:700;line-height:1.2}
.aurora-del-ship .aurora-del-val{color:#4a0166}
.aurora-del-pick .aurora-del-val{color:#166534}
/* ── Formas de pago 2×2 ── */
.aurora-pay-mini-box{margin-bottom:12px}
.aurora-pay-mini-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:#94a3b8;margin-bottom:7px}
.aurora-pay-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.aurora-pay-mini-cell{display:flex;align-items:center;gap:6px;font-size:10.5px;color:#475569;padding:7px 10px;background:#f8fafc;border-radius:8px;border:1px solid #f1f5f9;font-weight:500}
.aurora-pay-mini-cell i{font-size:11px;color:#94a3b8;flex-shrink:0}
/* ── Highlight al hacer scroll a Meow ── */
@keyframes meowPulse{0%,100%{box-shadow:0 0 0 0 rgba(106,1,127,0)}50%{box-shadow:0 0 0 8px rgba(106,1,127,.15)}}
.meow-highlight .aurora-meow-card{animation:meowPulse .7s ease 2}
