:root{--bg:#050505;--panel:rgba(15,15,17,.88);--panel2:rgba(25,25,28,.92);--line:rgba(255,255,255,.12);--text:#fff;--muted:#a5a5aa;--red:#e71924;--red2:#ff303b;--green:#20c45a;--yellow:#f3bd35;--danger:#dc2b35}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,rgba(231,25,36,.18),transparent 35%),linear-gradient(180deg,#080808,#000);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.store-wrap{width:min(1220px,calc(100% - 32px));margin:auto;padding:22px 0 60px;position:relative;z-index:2}.store-header{position:sticky;top:12px;z-index:20;display:grid;grid-template-columns:150px 1fr auto;gap:18px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:22px;background:rgba(5,5,5,.78);backdrop-filter:blur(20px);box-shadow:0 20px 60px rgba(0,0,0,.35)}.brand-logo img,.admin-logo img{width:112px;height:auto;display:block}.search-box{position:relative}.search-box input,.filter-bar select,.category-create-bar input,.category-create-bar select,.editor-form input,.editor-form select,.editor-form textarea,.checkout-center input{width:100%;min-height:46px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.055);color:#fff;padding:0 42px 0 16px;outline:none}.editor-form textarea{padding:14px;resize:vertical}.search-box span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.top-nav{display:flex;gap:18px;color:var(--muted);font-weight:800;font-size:13px}.top-nav a:hover{color:#fff}.hero-store{margin-top:28px;min-height:430px;display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:center;border:1px solid var(--line);border-radius:34px;padding:clamp(28px,5vw,70px);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.02)),radial-gradient(circle at 75% 20%,rgba(231,25,36,.28),transparent 35%);overflow:hidden;position:relative}.hero-store:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(231,25,36,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(231,25,36,.12) 1px,transparent 1px);background-size:45px 45px;mask-image:linear-gradient(to bottom,#000,transparent 90%);opacity:.55}.hero-store>*{position:relative}.eyebrow,.section-title span{color:var(--red2);text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:1000}.hero-store h1{max-width:720px;margin:12px 0;font-size:clamp(42px,7vw,86px);line-height:.92;letter-spacing:-3px;text-transform:uppercase}.hero-store h1 b{color:var(--red2);text-shadow:0 0 24px rgba(231,25,36,.45)}.hero-store p{max-width:620px;color:var(--muted);font-size:18px;line-height:1.7}.btn-primary,.btn-secondary,.btn-mini{border:0;border-radius:14px;min-height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-weight:1000;cursor:pointer;transition:.22s}.btn-primary{background:linear-gradient(135deg,var(--red),#b80d17);color:#fff;box-shadow:0 12px 36px rgba(231,25,36,.25)}.btn-secondary{background:rgba(255,255,255,.08);border:1px solid var(--line);color:#fff}.btn-mini{min-height:32px;padding:0 10px;background:#fff;color:#080808;font-size:12px;margin:2px}.btn-mini.danger{background:var(--danger);color:#fff}.btn-primary:hover,.btn-secondary:hover,.btn-mini:hover{transform:translateY(-2px)}.hero-card{min-height:290px;border:1px solid var(--line);border-radius:30px;background:rgba(0,0,0,.52);display:grid;place-items:center;text-align:center;padding:28px;box-shadow:inset 0 0 60px rgba(231,25,36,.08),0 30px 80px rgba(0,0,0,.4)}.hero-card img{width:min(260px,80%)}.hero-card strong{font-size:30px;text-transform:uppercase}.hero-card small{color:var(--muted)}.section-title{display:flex;align-items:end;justify-content:space-between;margin:36px 0 16px}.section-title h2{margin:6px 0 0;font-size:34px}.shop-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.shop-category-card,.admin-category-card,.store-product-card,.admin-product-card,.add-product-card,.table-card,.coming-soon,.success-card,.info-card{border:1px solid var(--line);background:var(--panel);border-radius:22px;box-shadow:0 20px 70px rgba(0,0,0,.35),inset 0 0 35px rgba(255,255,255,.025);backdrop-filter:blur(14px)}.shop-category-card{min-height:150px;padding:20px;display:grid;align-content:center;text-align:center;gap:10px;cursor:pointer;transition:.22s}.shop-category-card:hover,.store-product-card:hover,.admin-product-card:hover,.add-product-card:hover,.admin-category-card:hover{transform:translateY(-4px);border-color:rgba(231,25,36,.55)}.shop-category-card h3,.admin-category-card h3{margin:0}.shop-category-card p,.admin-category-card p,.store-product-card p{margin:0;color:var(--muted)}.svg-icon{width:42px;height:42px;margin:auto;border:1px solid rgba(231,25,36,.45);border-radius:14px;position:relative;background:rgba(231,25,36,.1)}.svg-icon:before{content:"";position:absolute;inset:10px;border:2px solid var(--red);border-radius:6px}.icon-shield:before{border-radius:50% 50% 8px 8px}.icon-tools:before{transform:rotate(45deg);border-radius:2px}.icon-rocket:before{border-radius:50% 50% 50% 8px;transform:rotate(45deg)}.icon-message:before{border-radius:8px}.icon-cash-register:before{border-radius:4px;border-bottom-width:8px}.store-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.store-product-card{min-height:390px;padding:16px;display:flex;flex-direction:column;cursor:pointer;transition:.22s}.product-cover{height:170px;border-radius:18px;background:radial-gradient(circle,rgba(231,25,36,.22),transparent 65%),rgba(255,255,255,.04);display:grid;place-items:center;overflow:hidden}.product-cover img{max-width:82%;max-height:82%;object-fit:contain}.product-info{padding:16px 4px;display:grid;gap:6px;flex:1}.product-info small{color:var(--red2);font-weight:900;text-transform:uppercase;font-size:11px}.product-info h3{font-size:26px;margin:0}.product-info strong{color:#fff}.acquire-btn{width:100%}.modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:18px}.modal.show{display:grid}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(10px)}.modal-window{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:linear-gradient(145deg,rgba(18,18,20,.98),rgba(3,3,3,.98));box-shadow:0 40px 140px rgba(0,0,0,.75);padding:26px}.product-detail-modal{width:min(1040px,100%)}.checkout-modal{width:min(1160px,100%)}.modal-close{position:absolute;right:18px;top:14px;width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.06);color:#fff;font-size:26px;display:grid;place-items:center;z-index:5}.detail-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px}.detail-image{min-height:330px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle,rgba(231,25,36,.22),transparent 65%),rgba(255,255,255,.04);display:grid;place-items:center}.detail-image img{max-width:82%;max-height:290px;object-fit:contain}.preview-strip{display:flex;gap:10px;margin-top:12px;overflow:auto}.preview-strip img{width:90px;height:62px;object-fit:cover;border:1px solid var(--line);border-radius:10px}.detail-copy h2{font-size:44px;margin:8px 0}.detail-copy p{color:var(--muted);line-height:1.65}.detail-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.detail-prices div,.detail-meta p{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.045);padding:14px}.detail-prices small,.detail-meta span{display:block;color:var(--muted);font-size:12px}.detail-prices strong{font-size:20px}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.detail-meta p{margin:0}.checkout-layout{display:grid;grid-template-columns:1fr .85fr .8fr;gap:18px}.checkout-left,.checkout-center,.checkout-right{border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.04);padding:20px}.checkout-left h2{font-size:34px;margin:8px 0 18px}.option-group{margin-top:16px}.option-group h3,.checkout-center h3,.checkout-right h3{margin:0 0 12px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choice-card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);color:#fff;padding:14px;text-align:left;cursor:pointer;display:grid;gap:6px}.choice-card.active{border-color:var(--red);box-shadow:0 0 28px rgba(231,25,36,.18)}.choice-card strong{font-size:20px}.choice-card small{color:var(--muted)}.device-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.device-picker button{min-height:48px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.04);color:#fff;font-weight:1000;cursor:pointer}.device-picker button.active{background:rgba(231,25,36,.2);border-color:var(--red)}.muted{color:var(--muted);font-size:13px}.radio-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.04);padding:14px;margin-bottom:10px;cursor:pointer}.radio-card input{display:none}.radio-indicator{width:24px;height:24px;border:1px solid rgba(255,255,255,.32);border-radius:50%;display:grid;place-items:center;flex:0 0 24px}.radio-card input:checked+.radio-indicator{background:var(--green);border-color:var(--green);box-shadow:0 0 18px rgba(32,196,90,.35)}.radio-card input:checked+.radio-indicator:before{content:"✓";font-weight:1000;color:#fff;font-size:14px}.radio-card small{display:block;color:var(--muted)}.checkout-center{display:grid;align-content:start;gap:12px}.checkout-center label,.editor-form label{display:grid;gap:7px;color:#d6d6d8;font-weight:800;font-size:13px}.summary-product{display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.summary-product img{width:54px;height:54px;object-fit:contain;border-radius:12px;background:rgba(255,255,255,.06)}.checkout-right p,.info-card p{display:flex;justify-content:space-between;gap:12px;color:var(--muted)}.checkout-right strong,.info-card strong{color:#fff}.total-row{border-top:1px solid var(--line);padding-top:12px}.total-row strong{color:var(--red2);font-size:24px}.pay-data{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(0,0,0,.22)}.full-button{width:100%}.admin-login-body{display:grid;place-items:center;padding:20px}.admin-login-card{width:min(430px,100%);padding:34px;border:1px solid var(--line);border-radius:28px;background:var(--panel);display:grid;gap:14px;text-align:center}.admin-login-card img{width:150px;margin:auto}.admin-login-card input{min-height:48px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.06);color:#fff;padding:0 14px}.error{padding:12px;border-radius:12px;background:rgba(220,43,53,.15);color:#ffb8bd}.admin-body{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:rgba(4,4,5,.95);padding:20px;display:flex;flex-direction:column}.admin-sidebar nav{display:grid;gap:8px;margin-top:26px}.admin-sidebar nav a{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 14px;border-radius:14px;color:var(--muted);font-weight:900}.admin-sidebar nav a.active,.admin-sidebar nav a:hover{background:linear-gradient(135deg,var(--red),#a90b15);color:#fff}.side-icon{width:18px;height:18px;border:1px solid currentColor;border-radius:5px}.sidebar-user{margin-top:auto;border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-user small{display:block;color:var(--muted)}.sidebar-user a{color:var(--red2);font-size:12px;font-weight:900}.admin-content{padding:26px;overflow:auto}.slide-panel{animation:slideIn .28s ease both}@keyframes slideIn{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:translateX(0)}}.admin-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.admin-title h1{font-size:42px;margin:4px 0}.filter-bar,.category-create-bar{display:grid;grid-template-columns:220px 120px;gap:12px;margin-bottom:18px}.category-create-bar{grid-template-columns:1fr 190px 190px}.table-card{overflow:auto}.admin-table-card{padding:10px}table{width:100%;border-collapse:collapse;min-width:980px}th,td{padding:13px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}th{color:#fff;background:rgba(255,255,255,.04)}td{color:#d7d7da}.status{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:1000;text-transform:uppercase}.status.pending{background:rgba(243,189,53,.14);color:var(--yellow)}.status.approved{background:rgba(32,196,90,.14);color:var(--green)}.status.cancelled{background:rgba(220,43,53,.14);color:#ff7580}.coming-soon{min-height:420px;display:grid;place-items:center;text-align:center}.coming-soon h2{font-size:60px;margin:0}.divider-text{display:flex;align-items:center;gap:14px;margin:22px 0;color:var(--muted);font-weight:1000;font-size:12px;letter-spacing:2px}.divider-text:before,.divider-text:after{content:"";height:1px;background:var(--line);flex:1}.admin-category-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:16px}.admin-category-card{text-align:center;padding:22px;display:grid;gap:10px}.icon-button{border:0;background:transparent;color:var(--red2);font-weight:900;cursor:pointer}.admin-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}.admin-product-card,.add-product-card{min-height:300px;padding:16px;display:grid;align-content:start;gap:10px}.admin-product-card img{height:130px;width:100%;object-fit:contain;border-radius:16px;background:rgba(255,255,255,.04)}.admin-product-card h3{margin:0;font-size:24px}.inline-form{display:inline}.add-product-card{place-items:center;text-align:center;border-style:dashed}.add-product-card span{width:74px;height:74px;border:1px solid var(--red);border-radius:50%;display:grid;place-items:center;color:var(--red2);font-size:46px}.editor-drawer{position:fixed;right:0;top:0;bottom:0;width:min(520px,100%);z-index:80;background:#080809;border-left:1px solid var(--line);box-shadow:-40px 0 120px rgba(0,0,0,.55);padding:28px;overflow:auto;transform:translateX(100%);transition:.25s}.editor-drawer.show{transform:translateX(0)}.editor-form{display:grid;gap:13px}.upload-zone{min-height:105px;border:1px dashed rgba(255,255,255,.22);border-radius:18px;background:rgba(255,255,255,.035);place-items:center;text-align:center;padding:14px}.upload-zone input{display:none}.upload-zone span{color:var(--muted);font-weight:700}.price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.check-line{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.check-line input{width:auto;min-height:auto}.editor-actions{display:flex;gap:10px;justify-content:flex-end}.success-page{min-height:100vh;display:grid;place-items:center;padding:24px}.success-card{width:min(660px,100%);padding:32px;text-align:center}.success-card>img{width:160px}.success-card h1{font-size:42px;margin:10px 0}.success-card p{color:var(--muted);line-height:1.6}.success-card .info-card{text-align:left;padding:16px;margin:14px 0}.particles-mode{background:#030303;overflow-x:hidden}.particles-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.08),transparent 28%),radial-gradient(circle at 80% 10%,rgba(255,255,255,.06),transparent 28%)}.particles-bg:before,.particles-bg:after{content:"";position:absolute;inset:-20%;background-image:radial-gradient(circle,rgba(255,255,255,.5) 1px,transparent 2px);background-size:80px 80px;animation:floatParticles 24s linear infinite;opacity:.38}.particles-bg:after{background-size:120px 120px;animation-duration:36s;opacity:.22}.particles-bg span{position:absolute;width:280px;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:rotate(-18deg);animation:lineDrift 12s linear infinite}.particles-bg span:nth-child(1){top:18%;left:5%}.particles-bg span:nth-child(2){top:34%;left:48%;animation-delay:-3s}.particles-bg span:nth-child(3){top:70%;left:22%;animation-delay:-7s}.particles-bg span:nth-child(4){top:52%;left:70%;animation-delay:-5s}.particles-bg span:nth-child(5){top:85%;left:5%;animation-delay:-9s}@keyframes floatParticles{from{transform:translate3d(0,0,0)}to{transform:translate3d(120px,80px,0)}}@keyframes lineDrift{0%{opacity:0;transform:translateX(-80px) rotate(-18deg)}35%{opacity:.6}100%{opacity:0;transform:translateX(160px) rotate(-18deg)}}@media(max-width:980px){.store-header{grid-template-columns:1fr}.top-nav{justify-content:center}.hero-store,.detail-layout,.checkout-layout,.admin-body{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-category-grid{grid-template-columns:1fr 1fr}.filter-bar,.category-create-bar{grid-template-columns:1fr}.editor-drawer{width:100%}}@media(max-width:620px){.plan-grid,.detail-prices,.detail-meta,.admin-category-grid,.price-grid{grid-template-columns:1fr}.hero-store h1{font-size:44px}.device-picker{grid-template-columns:repeat(3,1fr)}}

/* ===== AJUSTES R1 - PRODUCTOS / ADMIN / STORE ===== */
.btn-mini.product-action,
.admin-card-actions .btn-mini{
    border-radius: 3px 7px 3px 7px !important;
}
.admin-product-card{
    position: relative;
}
.admin-card-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
.featured-form{
    position:absolute;
    top:12px;
    right:12px;
    z-index:3;
}
.featured-star{
    width:36px;
    height:36px;
    border:1px solid rgba(255,255,255,.2);
    border-radius:10px;
    background:rgba(0,0,0,.58);
    color:rgba(255,255,255,.42);
    font-size:22px;
    line-height:1;
    display:grid;
    place-items:center;
    cursor:pointer;
    transition:.22s ease;
}
.featured-star:hover,
.featured-star.active{
    color:#ffd447;
    border-color:rgba(255,212,71,.75);
    background:rgba(255,212,71,.12);
    box-shadow:0 0 24px rgba(255,212,71,.25);
}
.add-product-card{
    display:grid !important;
    align-content:center !important;
    justify-content:center !important;
    place-items:center !important;
    text-align:center;
    gap:14px;
}
.add-product-card span{
    display:grid !important;
    place-items:center !important;
    align-items:center !important;
    justify-items:center !important;
    line-height:0 !important;
    padding:0 !important;
    font-family:Arial, Helvetica, sans-serif;
}
.add-product-card strong{
    align-self:start;
}

/* Custom selects para que no salga la lista blanca del navegador */
.r1-select{
    position:relative;
    width:100%;
}
.r1-select > select{
    position:absolute !important;
    opacity:0 !important;
    pointer-events:none !important;
    width:0 !important;
    height:0 !important;
}
.r1-select-btn{
    width:100%;
    min-height:48px;
    padding:0 42px 0 14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(255,255,255,.06);
    color:#fff;
    text-align:left;
    font-weight:900;
    cursor:pointer;
    position:relative;
}
.r1-select-btn:after{
    content:'⌄';
    position:absolute;
    right:14px;
    top:50%;
    transform:translateY(-50%);
    color:var(--red2);
    font-size:18px;
}
.r1-select-list{
    position:absolute;
    z-index:200;
    left:0;
    right:0;
    top:calc(100% + 8px);
    display:none;
    max-height:240px;
    overflow:auto;
    padding:8px;
    border:1px solid rgba(231,25,36,.36);
    border-radius:16px;
    background:linear-gradient(145deg, rgba(12,12,14,.98), rgba(0,0,0,.98));
    box-shadow:0 22px 70px rgba(0,0,0,.65), 0 0 30px rgba(231,25,36,.14);
}
.r1-select.open .r1-select-list{display:grid;gap:6px;}
.r1-select-option{
    min-height:40px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#e8e8ea;
    text-align:left;
    padding:0 12px;
    font-weight:800;
    cursor:pointer;
}
.r1-select-option:hover,
.r1-select-option.active{
    background:linear-gradient(135deg, rgba(231,25,36,.35), rgba(120,0,10,.35));
    color:#fff;
}

/* Upload preview admin */
.upload-zone{
    position:relative;
    display:grid !important;
    overflow:hidden;
    cursor:pointer;
    transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}
.upload-zone.drag-over{
    transform:scale(1.025);
    border-color:var(--red) !important;
    background:rgba(231,25,36,.12) !important;
    box-shadow:0 0 32px rgba(231,25,36,.22);
}
.upload-zone.has-file{
    min-height:160px;
    padding:0;
}
.upload-preview-img{
    width:100%;
    height:100%;
    min-height:160px;
    object-fit:contain;
    padding:12px;
    transition:transform .22s ease, filter .22s ease;
}
.upload-zone.has-file:hover .upload-preview-img{
    transform:scale(1.08);
    filter:brightness(.55);
}
.upload-delete-hint{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    opacity:0;
    color:#fff;
    font-size:14px;
    letter-spacing:2px;
    text-shadow:0 0 18px rgba(0,0,0,.9);
    background:rgba(0,0,0,.25);
    transition:opacity .22s ease;
}
.upload-zone.has-file:hover .upload-delete-hint{opacity:1;}
.preview-manager{
    display:none;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:-4px;
}
.preview-manager.show{display:grid;}
.preview-thumb{
    position:relative;
    aspect-ratio:1.35;
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    background:rgba(255,255,255,.04);
    cursor:pointer;
    padding:0;
}
.preview-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.22s ease;
}
.preview-thumb b{
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    opacity:0;
    background:rgba(0,0,0,.55);
    color:#fff;
    font-size:11px;
    letter-spacing:1px;
    transition:.22s ease;
}
.preview-thumb:hover img{transform:scale(1.1);filter:brightness(.55);}
.preview-thumb:hover b{opacity:1;}

/* Store: partículas siempre detrás y contenido encima */
.store-wrap{position:relative;z-index:1;}
.store-body:before{
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 30% 12%,rgba(231,25,36,.10),transparent 28%),radial-gradient(circle at 80% 35%,rgba(255,255,255,.05),transparent 26%);
    z-index:0;
}
.shop-category-card.active{
    transform:translateY(-5px);
    border-color:var(--red) !important;
    background:rgba(231,25,36,.10) !important;
    box-shadow:0 0 34px rgba(231,25,36,.16), inset 0 0 30px rgba(255,255,255,.03);
}
.store-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch;
}
.store-product-grid.collapsed{
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin:0;
    pointer-events:none;
}
.available-title{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:14px;
}
.product-cover{
    aspect-ratio:1/1;
    min-height:0 !important;
    height:auto !important;
    display:grid;
    place-items:center;
    overflow:hidden;
}
.product-cover img,
.detail-image img,
.summary-product img{
    object-fit:contain !important;
    object-position:center !important;
}
.product-cover img{
    width:100%;
    height:100%;
    max-width:82%;
    max-height:82%;
}
.store-product-card{
    min-width:0;
    width:100%;
}
.featured-shell{
    overflow:hidden;
    margin-bottom:12px;
}
.featured-track{
    display:flex;
    gap:18px;
    width:max-content;
}
.featured-track .store-product-card{
    flex:0 0 calc((min(1180px, 100vw - 48px) - 54px) / 4);
    max-width:280px;
}
.featured-shell:not(.is-carousel) .featured-track{
    width:100%;
}
.featured-shell:not(.is-carousel) .store-product-card{
    flex:0 0 calc((100% - 54px) / 4);
    max-width:none;
}
.featured-shell.is-carousel .featured-track{
    animation:r1FeaturedSlide 28s linear infinite;
}
.featured-shell.is-carousel:hover .featured-track{animation-play-state:paused;}
@keyframes r1FeaturedSlide{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-50% - 9px))}
}
@media(max-width:1100px){
    .store-product-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
    .featured-shell:not(.is-carousel) .store-product-card{flex-basis:calc((100% - 36px) / 3)}
}
@media(max-width:760px){
    .store-product-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    .featured-shell:not(.is-carousel) .store-product-card{flex-basis:calc((100% - 18px) / 2)}
    .preview-manager{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
    .store-product-grid{grid-template-columns:1fr !important;}
    .featured-shell:not(.is-carousel) .store-product-card{flex-basis:100%}
    .available-title{display:grid;align-items:start;}
}


/* ===== R1 SHOP V3 AJUSTES ===== */
.shop-category-grid{
    display:grid !important;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 70px) / 6);
    grid-template-columns:none !important;
    gap:14px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:4px 2px 14px;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    scrollbar-color:var(--red) rgba(255,255,255,.06);
}
.shop-category-grid::-webkit-scrollbar{height:10px;}
.shop-category-grid::-webkit-scrollbar-track{background:rgba(255,255,255,.055);border-radius:999px;}
.shop-category-grid::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--red),#71060d);border-radius:999px;border:2px solid rgba(0,0,0,.5);}
.shop-category-card{min-width:0;scroll-snap-align:start;}
.shop-category-card.active{
    transform:translateY(-4px);
    border-color:rgba(231,25,36,.75) !important;
    background:linear-gradient(145deg, rgba(231,25,36,.18), rgba(15,15,17,.92)) !important;
    box-shadow:0 22px 70px rgba(0,0,0,.42),0 0 30px rgba(231,25,36,.18),inset 0 0 35px rgba(255,255,255,.035) !important;
}
.store-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    align-items:stretch;
}
.store-product-card{width:100%;}
.product-cover{
    aspect-ratio:1 / 1;
    height:auto !important;
    min-height:0;
    padding:18px;
}
.product-cover img{
    width:100%;
    height:100%;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain;
    object-position:center;
}
.featured-shell .featured-track:empty{
    min-height:0;
    padding:0;
}
.featured-shell:has(.featured-track:empty){
    border:0;
    background:transparent;
    box-shadow:none;
    padding:0;
    min-height:0;
}
.support-contact-store{
    display:grid;
    grid-template-columns:repeat(3,minmax(180px,1fr));
    gap:16px;
    margin-bottom:38px;
}
.support-contact-btn{
    min-height:110px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--panel);
    box-shadow:0 20px 70px rgba(0,0,0,.35),inset 0 0 35px rgba(255,255,255,.025);
    color:#fff;
    font-weight:1000;
    transition:.22s ease;
}
.support-contact-btn:hover{
    transform:translateY(-4px);
    border-color:rgba(231,25,36,.65);
    box-shadow:0 20px 70px rgba(0,0,0,.35),0 0 30px rgba(231,25,36,.16),inset 0 0 35px rgba(255,255,255,.025);
}
.icon-whatsapp:before{border-radius:50%;border-color:#20c45a;}
.icon-whatsapp{border-color:rgba(32,196,90,.45);background:rgba(32,196,90,.1);}
.icon-email:before{border-radius:4px;border-top-width:8px;}
.icon-world:before{border-radius:50%;}
.support-admin-card{
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--panel);
    padding:24px;
    display:grid;
    grid-template-columns:0.8fr 1.2fr;
    gap:22px;
    align-items:start;
    box-shadow:0 20px 70px rgba(0,0,0,.35),inset 0 0 35px rgba(255,255,255,.025);
}
.support-admin-card h2{margin:0 0 8px;font-size:30px;}
.support-admin-card p{color:var(--muted);line-height:1.65;margin:0;}
.support-contact-form{display:grid;gap:13px;}
.support-contact-form label{display:grid;gap:7px;color:#d6d6d8;font-weight:800;font-size:13px;}
.support-contact-form input{
    width:100%;
    min-height:46px;
    border:1px solid var(--line);
    border-radius:14px;
    background:rgba(255,255,255,.055);
    color:#fff;
    padding:0 14px;
    outline:none;
}
.side-icon.support{border-radius:50%;}
@media(max-width:980px){
    .shop-category-grid{grid-auto-columns:calc((100% - 28px) / 3);}
    .store-product-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
    .support-admin-card{grid-template-columns:1fr;}
}
@media(max-width:620px){
    .shop-category-grid{grid-auto-columns:78%;}
    .store-product-grid{grid-template-columns:1fr !important;}
    .support-contact-store{grid-template-columns:1fr;}
}


/* V4 Support icon buttons */
.support-contact-store.icon-only-support{
    display:flex !important;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    gap:16px;
    margin:8px 0 42px;
}
.support-contact-store.icon-only-support .support-contact-btn{
    width:86px;
    height:86px;
    min-height:86px;
    padding:0;
    display:grid;
    place-items:center;
    border-radius:20px;
    gap:0;
    background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
    border:1px solid rgba(255,255,255,.14);
    box-shadow:0 18px 55px rgba(0,0,0,.40), inset 0 0 30px rgba(255,255,255,.025);
}
.support-contact-store.icon-only-support .support-contact-btn strong,
.support-contact-store.icon-only-support .support-contact-btn span{
    display:none !important;
}
.support-contact-store.icon-only-support .support-contact-btn i{
    font-size:52px;
    line-height:1;
    display:block;
    color:#fff;
    filter:drop-shadow(0 0 14px rgba(255,255,255,.12));
    transition:.22s ease;
}
.support-contact-store.icon-only-support .support-contact-btn:hover{
    transform:translateY(-5px) scale(1.03);
    border-color:rgba(231,25,36,.75);
    box-shadow:0 20px 70px rgba(0,0,0,.42),0 0 32px rgba(231,25,36,.22),inset 0 0 35px rgba(255,255,255,.03);
}
.support-contact-store.icon-only-support .support-contact-btn:hover i{
    color:var(--red2);
}
.support-contact-store.icon-only-support .support-whatsapp:hover i{color:#20c45a;}
.support-contact-store.icon-only-support .support-email:hover i{color:#ffffff;}
.support-contact-form small{
    color:var(--muted);
    font-weight:700;
    line-height:1.45;
}
@media(max-width:620px){
    .support-contact-store.icon-only-support{
        display:flex !important;
    }
    .support-contact-store.icon-only-support .support-contact-btn{
        width:76px;
        height:76px;
        min-height:76px;
    }
    .support-contact-store.icon-only-support .support-contact-btn i{
        font-size:46px;
    }
}


/* ===== R1 SHOP V5 - Featured + Particles ===== */

/* Partículas más revueltas tipo cielo con estrellas, no en cuadrícula lineal */
.particles-mode{
    background:
        radial-gradient(circle at 12% 18%, rgba(231,25,36,.14), transparent 26%),
        radial-gradient(circle at 82% 8%, rgba(255,255,255,.08), transparent 24%),
        radial-gradient(circle at 50% 105%, rgba(231,25,36,.09), transparent 30%),
        #030303 !important;
}
.particles-bg{
    background:
        radial-gradient(circle at 11% 19%, rgba(255,255,255,.10), transparent 18%),
        radial-gradient(circle at 76% 16%, rgba(231,25,36,.08), transparent 24%),
        radial-gradient(circle at 38% 82%, rgba(255,255,255,.06), transparent 22%) !important;
}
.particles-bg:before{
    inset:-35% !important;
    opacity:.50 !important;
    background-image:
        radial-gradient(circle at 7% 12%, rgba(255,255,255,.90) 0 1.1px, transparent 1.9px),
        radial-gradient(circle at 21% 68%, rgba(255,255,255,.64) 0 1px, transparent 1.8px),
        radial-gradient(circle at 31% 28%, rgba(255,255,255,.78) 0 1.2px, transparent 2px),
        radial-gradient(circle at 44% 82%, rgba(255,255,255,.50) 0 1px, transparent 1.8px),
        radial-gradient(circle at 58% 43%, rgba(255,255,255,.82) 0 1.15px, transparent 2px),
        radial-gradient(circle at 69% 14%, rgba(255,255,255,.46) 0 1px, transparent 1.8px),
        radial-gradient(circle at 79% 73%, rgba(255,255,255,.72) 0 1.2px, transparent 2px),
        radial-gradient(circle at 92% 35%, rgba(255,255,255,.62) 0 1px, transparent 1.8px);
    background-size:211px 173px, 287px 239px, 337px 257px, 193px 311px, 389px 293px, 251px 367px, 421px 331px, 307px 401px !important;
    animation:r1StarFloatA 52s linear infinite !important;
}
.particles-bg:after{
    inset:-30% !important;
    opacity:.28 !important;
    background-image:
        radial-gradient(circle at 16% 34%, rgba(255,255,255,.56) 0 1px, transparent 1.7px),
        radial-gradient(circle at 37% 11%, rgba(231,25,36,.33) 0 1px, transparent 1.9px),
        radial-gradient(circle at 52% 65%, rgba(255,255,255,.44) 0 1px, transparent 1.8px),
        radial-gradient(circle at 73% 28%, rgba(255,255,255,.62) 0 1.1px, transparent 1.9px),
        radial-gradient(circle at 88% 87%, rgba(255,255,255,.46) 0 1px, transparent 1.8px);
    background-size:157px 211px, 263px 199px, 347px 251px, 227px 317px, 409px 281px !important;
    animation:r1StarFloatB 74s linear infinite !important;
}
.particles-bg span{
    width:clamp(180px, 23vw, 390px) !important;
    height:1px !important;
    opacity:.18;
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.26), rgba(231,25,36,.22), transparent) !important;
    transform:rotate(var(--r, -18deg));
    animation:r1RandomLineDrift 18s linear infinite !important;
}
.particles-bg span:nth-child(1){top:13% !important;left:8% !important;--r:21deg;animation-delay:-2s !important;}
.particles-bg span:nth-child(2){top:29% !important;left:61% !important;--r:-31deg;animation-delay:-8s !important;}
.particles-bg span:nth-child(3){top:58% !important;left:16% !important;--r:9deg;animation-delay:-13s !important;}
.particles-bg span:nth-child(4){top:76% !important;left:72% !important;--r:-12deg;animation-delay:-5s !important;}
.particles-bg span:nth-child(5){top:44% !important;left:39% !important;--r:38deg;animation-delay:-16s !important;}
@keyframes r1StarFloatA{
    from{transform:translate3d(-30px,-10px,0) rotate(0deg)}
    to{transform:translate3d(180px,125px,0) rotate(.001deg)}
}
@keyframes r1StarFloatB{
    from{transform:translate3d(80px,30px,0)}
    to{transform:translate3d(-160px,-110px,0)}
}
@keyframes r1RandomLineDrift{
    0%{opacity:0;transform:translate3d(-120px,28px,0) rotate(var(--r))}
    28%{opacity:.42}
    62%{opacity:.18}
    100%{opacity:0;transform:translate3d(230px,-46px,0) rotate(var(--r))}
}

/* Luz difuminada en entrada/salida del carrusel Featured */
.featured-shell{
    position:relative;
    padding:2px 0 8px;
}
.featured-shell:before,
.featured-shell:after{
    content:"";
    position:absolute;
    top:-12px;
    bottom:-12px;
    width:96px;
    z-index:5;
    pointer-events:none;
}
.featured-shell:before{
    left:-2px;
    background:
        linear-gradient(90deg, rgba(3,3,3,1), rgba(231,25,36,.20), rgba(255,255,255,.12), transparent),
        radial-gradient(circle at left center, rgba(255,255,255,.28), transparent 68%);
    filter:blur(.2px);
}
.featured-shell:after{
    right:-2px;
    background:
        linear-gradient(270deg, rgba(3,3,3,1), rgba(231,25,36,.20), rgba(255,255,255,.12), transparent),
        radial-gradient(circle at right center, rgba(255,255,255,.28), transparent 68%);
    filter:blur(.2px);
}
.featured-shell:not(.is-carousel):before,
.featured-shell:not(.is-carousel):after{
    width:56px;
    opacity:.65;
}

/* Featured más compacto: sin descripción, 20% menos alto aprox */
.featured-compact .store-product-card{
    padding:14px !important;
    min-height:0 !important;
}
.featured-compact .product-cover{
    aspect-ratio:1 / .78 !important;
    padding:14px !important;
}
.featured-compact .product-info{
    padding:10px 2px 8px !important;
    gap:4px !important;
}
.featured-compact .product-info p{
    display:none !important;
}
.featured-compact .product-info h3{
    font-size:22px !important;
    line-height:1.05 !important;
}
.featured-compact .product-info small{
    font-size:10px !important;
}
.featured-compact .product-info strong{
    font-size:14px !important;
}
.featured-compact .acquire-btn{
    min-height:38px !important;
}

/* En Available Software se mantiene normal, solo featured queda compacto */
.store-product-grid:not(.featured-track) .store-product-card .product-info p{
    display:block;
}

@media(max-width:760px){
    .featured-shell:before,
    .featured-shell:after{width:46px;}
    .featured-compact .product-cover{aspect-ratio:1 / .85 !important;}
}


/* ===== R1 SHOP V6 - Ajuste glow rojo + logos centrados ===== */

/* Glow del carrusel Featured:
   - Solo rojo
   - Sin blanco
   - Negro 50% menos invasivo
   - Rojo 20% más bajo */
.featured-shell:before,
.featured-shell:after{
    width:48px !important;
    top:-8px !important;
    bottom:-8px !important;
    opacity:.80 !important;
    filter:blur(.3px) !important;
}
.featured-shell:before{
    left:0 !important;
    background:
        linear-gradient(90deg, rgba(3,3,3,.50), rgba(231,25,36,.16), rgba(231,25,36,.08), transparent) !important;
}
.featured-shell:after{
    right:0 !important;
    background:
        linear-gradient(270deg, rgba(3,3,3,.50), rgba(231,25,36,.16), rgba(231,25,36,.08), transparent) !important;
}
.featured-shell:not(.is-carousel):before,
.featured-shell:not(.is-carousel):after{
    width:34px !important;
    opacity:.55 !important;
}

/* Centrado real de logos en tarjetas Featured.
   El problema era que el contenedor quedaba más alto visualmente y la imagen se veía abajo.
   Aquí el cover se vuelve grid centrado y el logo se ajusta dentro sin comerse bordes. */
.featured-compact .product-cover,
.featured-shell .product-cover{
    display:grid !important;
    place-items:center !important;
    align-items:center !important;
    justify-items:center !important;
    overflow:hidden !important;
    padding:12px !important;
    background:
        radial-gradient(circle at center, rgba(231,25,36,.16), transparent 58%),
        rgba(255,255,255,.035) !important;
}
.featured-compact .product-cover img,
.featured-shell .product-cover img{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:86% !important;
    max-height:86% !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:auto !important;
    transform:none !important;
}

/* Si una imagen tiene mucho espacio transparente, evitamos que parezca pegada abajo */
.featured-compact .store-product-card{
    display:flex !important;
    flex-direction:column !important;
}
.featured-compact .product-info{
    flex:0 0 auto !important;
}
.featured-compact .acquire-btn{
    margin-top:auto !important;
}

/* Un poco menos alto todavía en Featured para que se vea más limpio */
.featured-compact .product-cover{
    aspect-ratio:1 / .68 !important;
    min-height:150px !important;
}
.featured-compact .store-product-card{
    min-height:330px !important;
}

/* Available Software mantiene sus tarjetas normales, pero también centramos mejor las imágenes */
.store-product-grid:not(.featured-track) .product-cover{
    display:grid !important;
    place-items:center !important;
}
.store-product-grid:not(.featured-track) .product-cover img{
    object-position:center center !important;
    margin:auto !important;
}

@media(max-width:760px){
    .featured-shell:before,
    .featured-shell:after{width:34px !important;}
    .featured-compact .product-cover{
        min-height:140px !important;
        aspect-ratio:1 / .75 !important;
    }
}


/* ===== R1 SHOP V7 - Featured solo rojo + logos un poco más arriba ===== */

/* Quitamos cualquier negro del glow lateral y dejamos solo rojo */
.featured-shell:before,
.featured-shell:after{
    width:42px !important;
    top:-6px !important;
    bottom:-6px !important;
    opacity:.78 !important;
    filter:blur(.25px) !important;
}
.featured-shell:before{
    left:0 !important;
    background:linear-gradient(90deg,
        rgba(231,25,36,.24) 0%,
        rgba(231,25,36,.14) 34%,
        rgba(231,25,36,.06) 66%,
        rgba(231,25,36,0) 100%) !important;
}
.featured-shell:after{
    right:0 !important;
    background:linear-gradient(270deg,
        rgba(231,25,36,.24) 0%,
        rgba(231,25,36,.14) 34%,
        rgba(231,25,36,.06) 66%,
        rgba(231,25,36,0) 100%) !important;
}
.featured-shell:not(.is-carousel):before,
.featured-shell:not(.is-carousel):after{
    width:28px !important;
    opacity:.52 !important;
}

/* Ajuste fino del área del logo para que no se vea "comido" abajo */
.featured-compact .product-cover,
.featured-shell .product-cover{
    padding:10px 12px 16px 12px !important;
    align-content:center !important;
    justify-content:center !important;
    background:
        radial-gradient(circle at center 44%, rgba(231,25,36,.13), transparent 58%),
        rgba(255,255,255,.035) !important;
}

/* Subimos visualmente el logo un poco */
.featured-compact .product-cover img,
.featured-shell .product-cover img{
    max-width:84% !important;
    max-height:82% !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:auto !important;
    position:relative !important;
    top:-8px !important;
    transform:none !important;
}

/* Un poco más de aire inferior en la tarjeta para evitar que se vea cortado */
.featured-compact .product-cover{
    aspect-ratio:1 / .66 !important;
    min-height:154px !important;
}
.featured-compact .store-product-card{
    min-height:332px !important;
}

/* En móviles mantenemos el ajuste */
@media(max-width:760px){
    .featured-shell:before,
    .featured-shell:after{
        width:26px !important;
    }
    .featured-compact .product-cover img,
    .featured-shell .product-cover img{
        top:-6px !important;
        max-width:82% !important;
        max-height:80% !important;
    }
}


/* ===== R1 SHOP V8 - Admin approve license feedback ===== */
.admin-alert{
    border:1px solid rgba(231,25,36,.45);
    background:linear-gradient(145deg, rgba(231,25,36,.16), rgba(255,255,255,.035));
    color:#fff;
    border-radius:16px;
    padding:14px 16px;
    margin:0 0 18px;
    font-weight:900;
    box-shadow:0 14px 40px rgba(0,0,0,.30), 0 0 24px rgba(231,25,36,.12);
}


/* ===== R1 SHOP V9 - Search Results ===== */
.r1-search-hidden,
[hidden].r1-search-hidden{
    display:none !important;
}
.r1-search-empty{
    display:none;
    border:1px solid rgba(231,25,36,.38);
    background:linear-gradient(145deg, rgba(231,25,36,.12), rgba(255,255,255,.035));
    color:#fff;
    border-radius:18px;
    padding:18px;
    margin:14px 0 28px;
    text-align:center;
    font-weight:900;
    box-shadow:0 14px 45px rgba(0,0,0,.32), 0 0 24px rgba(231,25,36,.10);
}
.search-box input:not(:placeholder-shown){
    border-color:rgba(231,25,36,.58);
    box-shadow:0 0 0 3px rgba(231,25,36,.10);
}


/* ===== R1 SHOP V11 - Preview fixed strip + image lightbox ===== */

/* Ventana detalle fija: las previews ya no estiran todo el modal */
.product-detail-modal{
    width:min(1060px, calc(100vw - 34px)) !important;
}
.product-detail-modal .detail-layout{
    align-items:start;
}
.product-detail-modal .detail-image{
    min-height:300px;
    display:grid;
    place-items:center;
}
.product-detail-modal .detail-image img{
    max-width:100%;
    max-height:280px;
    object-fit:contain;
    object-position:center;
}

/* Strip de previews: 5 visibles, si hay más aparece scrollbar custom horizontal */
.preview-strip{
    display:grid !important;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 48px) / 5);
    grid-template-columns:none !important;
    gap:12px;
    max-width:100%;
    width:100%;
    min-height:84px;
    max-height:100px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:8px 2px 12px;
    margin-top:14px;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
    scrollbar-color:var(--red) rgba(255,255,255,.06);
}
.preview-strip::-webkit-scrollbar{height:9px;}
.preview-strip::-webkit-scrollbar-track{
    background:rgba(255,255,255,.055);
    border-radius:999px;
}
.preview-strip::-webkit-scrollbar-thumb{
    background:linear-gradient(90deg,var(--red),#78070e);
    border-radius:999px;
    border:2px solid rgba(0,0,0,.45);
}

/* Ahora cada preview es botón fijo, no imagen suelta */
.preview-thumb{
    scroll-snap-align:start;
    width:100%;
    height:72px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:15px;
    background:rgba(255,255,255,.045);
    padding:7px;
    display:grid;
    place-items:center;
    overflow:hidden;
    cursor:pointer;
    transition:.22s ease;
}
.preview-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    border-radius:10px;
    display:block;
}
.preview-thumb:hover,
.preview-thumb.active{
    transform:translateY(-5px) scale(1.02);
    border-color:rgba(231,25,36,.75);
    background:linear-gradient(145deg, rgba(231,25,36,.18), rgba(255,255,255,.045));
    box-shadow:0 16px 40px rgba(0,0,0,.34),0 0 24px rgba(231,25,36,.18);
}

/* Botón Acquire más abajo, separado de precios/meta */
.product-detail-modal #detailAcquire{
    margin-top:22px !important;
}

/* Lightbox para ver preview grande */
.preview-lightbox-modal{
    z-index:220 !important;
}
.preview-lightbox-window{
    position:relative;
    z-index:2;
    width:min(980px, calc(100vw - 42px));
    height:min(650px, calc(100vh - 80px));
    border:1px solid rgba(231,25,36,.42);
    border-radius:26px;
    background:linear-gradient(145deg, rgba(13,13,15,.98), rgba(0,0,0,.96));
    box-shadow:0 40px 140px rgba(0,0,0,.76), 0 0 70px rgba(231,25,36,.16);
    padding:22px;
    display:grid;
    place-items:center;
}
.preview-lightbox-window img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
    border-radius:18px;
}
.preview-lightbox-close{
    top:14px !important;
    right:14px !important;
    z-index:3;
    background:rgba(0,0,0,.72) !important;
    border-color:rgba(231,25,36,.45) !important;
}

/* Evita estilos viejos de .preview-strip img afectando las nuevas thumbnails */
.preview-strip > img{
    display:none !important;
}

@media(max-width:760px){
    .preview-strip{
        grid-auto-columns:calc((100% - 24px) / 3);
    }
    .product-detail-modal .detail-image{
        min-height:230px;
    }
    .preview-lightbox-window{
        height:min(520px, calc(100vh - 70px));
        padding:14px;
    }
}


/* ===== R1 SHOP V12 - Preview lightbox 30% bigger + no overflow ===== */

/* Vista grande +30% aprox, usando casi toda la pantalla */
.preview-lightbox-window{
    width:min(1275px, calc(100vw - 28px)) !important;
    height:min(845px, calc(100vh - 34px)) !important;
    max-width:calc(100vw - 28px) !important;
    max-height:calc(100vh - 34px) !important;
    padding:18px !important;
    overflow:hidden !important;
    display:grid !important;
    place-items:center !important;
}

/* Imagen siempre completa dentro del marco, aunque sea larga/vertical/horizontal */
.preview-lightbox-window img,
#previewLightboxImg{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    border-radius:16px !important;
}

/* Fondo del lightbox un poco más cómodo para imágenes largas */
.preview-lightbox-window{
    background:
        radial-gradient(circle at 50% 45%, rgba(231,25,36,.10), transparent 52%),
        linear-gradient(145deg, rgba(13,13,15,.99), rgba(0,0,0,.97)) !important;
}

/* Botón X siempre arriba, sin tapar demasiado */
.preview-lightbox-close{
    width:46px !important;
    height:46px !important;
    top:12px !important;
    right:12px !important;
}

/* En pantallas pequeñas también se mantiene grande pero sin salirse */
@media(max-width:760px){
    .preview-lightbox-window{
        width:calc(100vw - 18px) !important;
        height:calc(100vh - 28px) !important;
        max-width:calc(100vw - 18px) !important;
        max-height:calc(100vh - 28px) !important;
        padding:12px !important;
        border-radius:20px !important;
    }
    .preview-lightbox-window img,
    #previewLightboxImg{
        border-radius:14px !important;
    }
}


/* ===== R1 SHOP V13 - Preview image always fully inside frame ===== */

/*
   Ajuste fuerte:
   La imagen ya NO se fuerza a width:100% height:100%.
   Ahora se deja con su proporción real y se limita con max-width / max-height.
   Así, si la foto es muy larga/vertical, baja la anchura si hace falta,
   pero SIEMPRE queda completa dentro del marco.
*/
.preview-lightbox-window{
    box-sizing:border-box !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    width:min(1275px, calc(100vw - 28px)) !important;
    height:min(845px, calc(100vh - 34px)) !important;
    max-width:calc(100vw - 28px) !important;
    max-height:calc(100vh - 34px) !important;
    padding:22px !important;
}

/* Esta es la parte importante para que no se coma fotos largas */
.preview-lightbox-window img,
#previewLightboxImg{
    display:block !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    max-width:calc(100% - 8px) !important;
    max-height:calc(100% - 8px) !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:auto !important;
    position:static !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
    border-radius:16px !important;
}

/* Evita que la X influya visualmente en la imagen */
.preview-lightbox-close{
    position:absolute !important;
    top:12px !important;
    right:12px !important;
    z-index:5 !important;
}

/* En pantallas pequeñas se mantiene dentro del marco */
@media(max-width:760px){
    .preview-lightbox-window{
        width:calc(100vw - 18px) !important;
        height:calc(100vh - 28px) !important;
        max-width:calc(100vw - 18px) !important;
        max-height:calc(100vh - 28px) !important;
        padding:16px !important;
    }
    .preview-lightbox-window img,
    #previewLightboxImg{
        max-width:calc(100% - 4px) !important;
        max-height:calc(100% - 4px) !important;
        border-radius:14px !important;
    }
}


/* ===== R1 SHOP V14 - Close X buttons with life ===== */

/* Todos los botones X de la tienda/admin/modales */
.modal-close,
.preview-lightbox-close{
    position:absolute;
    display:grid !important;
    place-items:center !important;
    overflow:hidden;
    isolation:isolate;
    transform:scale(1) rotate(0deg);
    transform-origin:center;
    transition:
        transform .22s ease,
        border-color .22s ease,
        background .22s ease,
        box-shadow .22s ease,
        color .22s ease,
        text-shadow .22s ease;
    will-change:transform;
}

/* Brillito interno sutil para que no se mire plano */
.modal-close::before,
.preview-lightbox-close::before{
    content:"";
    position:absolute;
    inset:-45%;
    z-index:-1;
    background:
        radial-gradient(circle at center, rgba(231,25,36,.34), transparent 52%),
        conic-gradient(from 0deg, transparent, rgba(231,25,36,.32), transparent, rgba(255,255,255,.08), transparent);
    opacity:0;
    transform:scale(.7) rotate(0deg);
    transition:opacity .22s ease, transform .42s ease;
}

/* Puntito/glow exterior */
.modal-close::after,
.preview-lightbox-close::after{
    content:"";
    position:absolute;
    inset:7px;
    border-radius:inherit;
    border:1px solid rgba(231,25,36,0);
    opacity:0;
    transform:scale(.72);
    transition:opacity .22s ease, transform .22s ease, border-color .22s ease;
}

/* Hover: zoom, rojo, glow y giro leve */
.modal-close:hover,
.preview-lightbox-close:hover{
    transform:scale(1.13) rotate(4deg) !important;
    color:#fff !important;
    background:linear-gradient(145deg, rgba(231,25,36,.88), rgba(120,7,14,.88)) !important;
    border-color:rgba(255,80,90,.90) !important;
    box-shadow:
        0 12px 34px rgba(0,0,0,.38),
        0 0 22px rgba(231,25,36,.46),
        inset 0 0 16px rgba(255,255,255,.12) !important;
    text-shadow:0 0 12px rgba(255,255,255,.55);
}

.modal-close:hover::before,
.preview-lightbox-close:hover::before{
    opacity:1;
    transform:scale(1.05) rotate(135deg);
}

.modal-close:hover::after,
.preview-lightbox-close:hover::after{
    opacity:1;
    transform:scale(1);
    border-color:rgba(255,255,255,.25);
}

/* Click: efecto presionado */
.modal-close:active,
.preview-lightbox-close:active{
    transform:scale(.92) rotate(-3deg) !important;
    box-shadow:
        0 6px 18px rgba(0,0,0,.45),
        0 0 12px rgba(231,25,36,.35),
        inset 0 0 18px rgba(0,0,0,.28) !important;
}

/* Animación ligera de aviso cuando se abre un modal */
.modal.show .modal-close{
    animation:r1CloseButtonPop .34s cubic-bezier(.2,1.25,.35,1) both;
}
.preview-lightbox-modal.show .preview-lightbox-close{
    animation:r1CloseButtonPop .34s cubic-bezier(.2,1.25,.35,1) both;
}

@keyframes r1CloseButtonPop{
    0%{opacity:0;transform:scale(.55) rotate(-18deg)}
    65%{opacity:1;transform:scale(1.14) rotate(5deg)}
    100%{opacity:1;transform:scale(1) rotate(0deg)}
}

/* Accesibilidad con teclado */
.modal-close:focus-visible,
.preview-lightbox-close:focus-visible{
    outline:0;
    border-color:rgba(255,255,255,.75) !important;
    box-shadow:
        0 0 0 4px rgba(231,25,36,.28),
        0 0 26px rgba(231,25,36,.42) !important;
}

/* En móviles el zoom es menor para no estorbar */
@media(max-width:620px){
    .modal-close:hover,
    .preview-lightbox-close:hover{
        transform:scale(1.07) rotate(3deg) !important;
    }
}


/* ===== R1 SHOP V15 - X centrada dentro del cuadro ===== */

/*
   Centramos visualmente la X.
   En algunos navegadores el caracter × se ve un poquito abajo por la fuente.
   Lo resolvemos con line-height: 1, grid center y un translateY hacia arriba.
*/
.modal-close,
.preview-lightbox-close{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:900 !important;
    padding:0 !important;
}

/* Subimos solo el símbolo, no el cuadro completo */
.modal-close{
    font-size:30px !important;
}
.preview-lightbox-close{
    font-size:30px !important;
}

.modal-close::first-letter,
.preview-lightbox-close::first-letter{
    line-height:1 !important;
}

/*
   Ajuste fino: mueve la X 2px hacia arriba dentro del botón.
   Si la quieres más arriba, cambia -2px a -3px.
*/
.modal-close,
.preview-lightbox-close{
    text-indent:0 !important;
}
.modal-close{
    padding-bottom:3px !important;
}
.preview-lightbox-close{
    padding-bottom:3px !important;
}

/* Mantener centrado también en hover/click/animaciones */
.modal-close:hover,
.preview-lightbox-close:hover,
.modal-close:active,
.preview-lightbox-close:active{
    line-height:1 !important;
    padding-bottom:3px !important;
}


/* ===== R1 SHOP V16 - Preview arrows navigation ===== */
.preview-lightbox-window{
    position:relative !important;
}
.preview-nav{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:56px;
    height:56px;
    border-radius:18px;
    border:1px solid rgba(231,25,36,.38);
    background:linear-gradient(145deg, rgba(0,0,0,.74), rgba(231,25,36,.18));
    color:#fff;
    font-size:38px;
    line-height:1;
    font-weight:900;
    display:grid;
    place-items:center;
    cursor:pointer;
    z-index:4;
    transition:transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease;
    box-shadow:0 14px 34px rgba(0,0,0,.34), 0 0 18px rgba(231,25,36,.12);
    user-select:none;
}
.preview-nav-prev{ left:16px; }
.preview-nav-next{ right:16px; }
.preview-nav:hover{
    transform:translateY(-50%) scale(1.10);
    background:linear-gradient(145deg, rgba(231,25,36,.88), rgba(120,7,14,.88));
    border-color:rgba(255,120,130,.86);
    box-shadow:0 16px 38px rgba(0,0,0,.36), 0 0 24px rgba(231,25,36,.30);
}
.preview-nav:active{
    transform:translateY(-50%) scale(.94);
}
.preview-nav:focus-visible{
    outline:0;
    box-shadow:0 0 0 4px rgba(231,25,36,.24), 0 0 24px rgba(231,25,36,.34);
}
.preview-lightbox-window img,
#previewLightboxImg{
    max-width:calc(100% - 110px) !important;
}
@media(max-width:760px){
    .preview-nav{
        width:48px;
        height:48px;
        font-size:34px;
        border-radius:15px;
    }
    .preview-nav-prev{ left:8px; }
    .preview-nav-next{ right:8px; }
    .preview-lightbox-window img,
    #previewLightboxImg{
        max-width:calc(100% - 88px) !important;
    }
}


/* ===== R1 SHOP V17 - Flechas centradas dentro del cuadro ===== */

/*
   Las flechas ‹ › se veían un poco caídas por la fuente.
   Aquí centramos visualmente el símbolo dentro del botón
   y lo subimos un poco para que no se vea hacia abajo.
*/
.preview-nav{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:900 !important;
    padding:0 0 5px 0 !important; /* sube visualmente la flecha */
    box-sizing:border-box !important;
}

/* Ajuste fino para que cada símbolo quede más centrado */
.preview-nav-prev,
.preview-nav-next{
    letter-spacing:0 !important;
    text-indent:0 !important;
}

/* Mantener centrado también en hover/click */
.preview-nav:hover{
    padding:0 0 5px 0 !important;
}
.preview-nav:active{
    padding:0 0 5px 0 !important;
}

/* En móviles lo subimos un poco menos */
@media(max-width:760px){
    .preview-nav{
        padding:0 0 4px 0 !important;
    }
    .preview-nav:hover,
    .preview-nav:active{
        padding:0 0 4px 0 !important;
    }
}
