/* Estilos exclusivos de index.php; los catálogos conservan su diseño actual. */
.home-page { --bg:#f5f8fb; --bg-2:#eef3f8; --panel:#fff; --panel-2:#f2f5f9; --text:#101d30; --muted:#64748b; --muted-2:#7b8798; --border:#e1e7ef; --border-soft:#edf1f6; --red:#ed0021; --red-2:#c9001c; --gold:#ffcd00; --gold-2:#e3b700; --green:#078756; --shell:1480px; background:var(--bg); color:var(--text); font-size:14px; }
.home-page button,.home-page input { font:inherit; }
.home-page button,.home-page a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
.home-page a:focus-visible,.home-page button:focus-visible { outline:3px solid #d89900; outline-offset:3px; }
.home-page .shell { max-width:1920px; padding-inline:clamp(16px,2.5vw,40px); }
.home-skip { position:fixed; top:-100px; left:20px; z-index:1000; background:#fff; color:#111827; padding:12px 20px; border-radius:5px; }
.home-skip:focus { top:10px; }
.home-page header.site { background:#071525; border-color:#1c293b; position:relative; }
.home-page .header-top { gap:24px; padding:12px 0; min-height:76px; }
.home-page .brand { flex-direction:column; gap:0; min-width:108px; }
.home-page .brand img { width:110px; height:42px; object-fit:contain; }
.home-brand-caption { color:#fff; letter-spacing:4.3px; font-size:8px; font-weight:800; padding-left:4px; }
.home-page .search { max-width:none; }
.home-page .search input { background:#fff; border:1px solid #d8e0ea; border-radius:5px; color:#14243c; padding:11px 50px 11px 14px; font-size:12px; height:40px; }
.home-page .search button { right:0; height:40px; width:43px; border-radius:0 5px 5px 0; }
.home-page .header-cta { gap:10px; }
.home-page .header-cta .btn { border-radius:4px; font-size:11px; padding:10px 12px; white-space:nowrap; min-height:38px; }
.home-page .header-cta .btn-ghost { color:#fff; border-color:#26354a; background:#0b1a2b; }
.home-page .header-cta .btn-gold { color:#fff; background:var(--red); border-color:var(--red); }
.home-page .btn-gestion { font-size:10px!important; }



.home-page nav.main { background:#101f32; border-color:#223248; }
.home-page .nav-inner { justify-content:center; gap:4px; }
.home-page .nav-inner > a { padding:12px 14px; font-size:11px; color:#f0f3f8; border-radius:0; border-bottom:3px solid transparent; text-transform:none; letter-spacing:0; }
.home-page .nav-inner > a i { margin-right:6px; }
.home-page .nav-inner > a.active { color:var(--gold); border-bottom-color:var(--gold); background:transparent; }
.home-page .nav-inner > a:hover { color:var(--gold); background:#ffffff06; }
.home-page .nav-toggle { color:#fff; border-color:#314055; }
.home-hero { background:#14130f url('assets/banners/subastas-presenciales.webp') center 58%/cover no-repeat; color:#fff; }
.home-hero-carousel { background:#081322; }
/* La primera diapositiva determina una altura común en escritorio y móvil. */
.home-hero-slides { display:grid; }
.home-hero-slide { display:block; grid-area:1/1; min-width:0; visibility:hidden; pointer-events:none; }
.home-hero-slide.is-active { visibility:visible; pointer-events:auto; }
.home-hero-campaign { position:relative; background:#080d17; overflow:hidden; isolation:isolate; }
.home-hero-campaign > picture { display:block; position:absolute; inset:0; }
.home-hero-campaign img { display:block; width:100%; height:100%; max-height:none; object-fit:contain; }
.home-hero-campaign .home-hero-campaign-backdrop { inset:-32px; z-index:-1; pointer-events:none; filter:blur(24px) brightness(.6); }
.home-hero-campaign-backdrop img { object-fit:cover; }
.home-hero-controls { display:flex; align-items:center; justify-content:center; gap:12px; min-height:34px; }
.home-hero-controls button { display:grid; place-items:center; width:30px; height:30px; padding:0; border:0; border-radius:4px; color:#fff; background:transparent; cursor:pointer; }
.home-hero-controls button:hover { background:#ffffff20; }
.home-hero-controls button:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }
.home-hero-dots { display:flex; align-items:center; gap:4px; }
.home-hero-dots button { width:26px; }
.home-hero-dots button::before { content:''; width:7px; height:7px; border-radius:10px; background:#708096; }
.home-hero-dots button.is-active::before { width:22px; background:var(--gold); }
.home-hero-inner { min-height:245px; display:flex; align-items:center; justify-content:space-between; padding-block:26px; gap:30px; }
.home-hero-copy { width:510px; max-width:55%; }
.home-hero h1 { font-size:clamp(30px,3vw,44px); font-weight:900; line-height:1.08; letter-spacing:-1.5px; margin:0 0 12px; }
.home-hero h1 span { color:var(--gold); }
.home-hero p { font-size:13px; max-width:470px; line-height:1.5; color:#e4e8ee; }
.home-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.home-page .home-hero-actions .btn { border-radius:4px; min-height:38px; font-size:12px; padding:9px 18px; }
.home-outline { border:1px solid var(--gold); color:#fff; background:#04080bc9; }
.home-outline:hover { color:var(--gold); background:#111827; }
.home-assurances { list-style:none; display:grid; gap:14px; padding:20px 17px; width:185px; flex-shrink:0; border:1px solid #ffffff24; border-radius:6px; background:#050c15ed; }
.home-assurances li { display:flex; gap:12px; align-items:center; font-size:11px; line-height:1.45; }
.home-assurances i { width:22px; flex-shrink:0; color:var(--gold); font-size:20px; text-align:center; }
.home-content { padding-bottom:28px; }
.home-section { margin:22px 0; scroll-margin-top:20px; }
.home-heading { display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:12px; }
.home-heading h2 { display:flex; align-items:center; flex-wrap:wrap; gap:10px; font-size:21px; font-weight:800; line-height:1.25; letter-spacing:-.6px; }
.home-heading h2 > i { color:var(--red); font-size:21px; }
.home-heading .gold-icon,.gold-icon { color:#ecb900; }
.home-heading > a { font-size:11px; font-weight:700; flex-shrink:0; }
.home-heading > a:hover { color:var(--red); }
.home-heading > a i { margin-left:8px; }
.home-count { color:#738094; font-weight:500; font-size:11px; letter-spacing:0; margin-left:3px; }
.home-section-intro { color:#6b7789; font-size:12px; margin:-5px 0 13px; }
.home-lot-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(205px,1fr)); gap:12px; }
.home-lot { position:relative; min-width:0; background:#fff; border:1px solid #e9edf3; border-radius:7px; overflow:hidden; box-shadow:0 3px 9px #18324b07; transition:box-shadow 160ms,transform 160ms; }
.home-lot:hover { box-shadow:0 5px 18px #13233b17; transform:translateY(-2px); }
.home-lot-image { display:block; height:138px; overflow:hidden; background:#edf1f7; }
.home-lot-image img { width:100%; height:100%; object-fit:cover; transition:transform 180ms; }
.home-lot-image:hover img { transform:scale(1.035); }
.home-lot-badge { position:absolute; top:9px; left:9px; max-width:calc(100% - 48px); background:var(--red); color:#fff; border-radius:4px; padding:5px 7px; font-size:8px; line-height:1.1; font-weight:800; text-transform:uppercase; }



.home-lot-body { padding:9px 10px 10px; display:flex; flex-direction:column; }
.home-lot-number { color:#758197; font-size:9px; }
.home-lot h3 { font-size:11px; font-weight:800; line-height:1.35; min-height:30px; margin:3px 0 7px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.home-lot h3 a:hover { color:var(--red); }
.home-price-label { color:#68768b; font-size:8px; line-height:1.25; }
.home-lot-price { font-size:17px; font-weight:900; color:#da0020; line-height:1.5; white-space:normal; }
.home-lot-price small { font-size:8px; color:#7b889b; font-weight:500; }
.home-lot-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:6px; margin-top:6px; }
.home-timer { display:flex; align-items:center; gap:5px; color:#192b43; font-size:10px; line-height:1.4; }
.home-timer small { display:block; font-size:8px; color:#758297; font-weight:400; }
.home-timer b { font-size:9px; font-weight:700; font-variant-numeric:tabular-nums; }
.home-timer.is-ended { color:#8792a4; }
.home-lot-link { flex-shrink:0; display:inline-flex; align-items:center; gap:5px; background:var(--gold); color:#122033; padding:7px 8px; border-radius:3px; font-size:9px; font-weight:800; }
.home-lot-link:hover { background:#edbc00; }
.home-empty { display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; border:1px dashed #cfd8e4; border-radius:7px; padding:32px 20px; background:#fff; color:#627189; font-size:13px; }
.home-empty > i { font-size:28px; color:#cda100; }
.home-empty.compact { padding:18px; align-items:flex-start; text-align:left; }
.home-carousel { position:relative; }
.home-ending-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 48px)/5); overflow-x:auto; gap:12px; scrollbar-width:thin; scroll-snap-type:x proximity; padding:2px 0 8px; }
.home-lot--compact { display:grid; grid-template-columns:80px minmax(0,1fr); padding:7px; min-height:118px; scroll-snap-align:start; }
.home-lot--compact .home-lot-image { height:100%; min-height:96px; border-radius:3px; }
.home-lot--compact .home-lot-body { padding:0 0 0 9px; }
.home-lot--compact .home-lot-badge { display:none; }
.home-lot--compact h3 { font-size:10px; margin-right:15px; margin-bottom:4px; min-height:27px; }
.home-lot--compact .home-lot-number { padding-right:17px; font-size:8px; }
.home-lot--compact .home-lot-price { font-size:14px; }
.home-lot--compact .home-lot-link { display:none; }
.home-lot--compact .home-price-label { font-size:7px; }
.home-lot--compact .home-lot-bottom { margin-top:auto; }
.home-scroll { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:28px; height:28px; border:2px solid #f5f8fb; border-radius:50%; color:#fff; background:#42556c; cursor:pointer; }
.home-scroll.prev { left:-14px; }.home-scroll.next { right:-14px; }
.home-scroll:disabled { visibility:hidden; }
.home-categories { display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:9px; }
.home-category { display:block; background:#fff; border:1px solid #e6ebf2; border-radius:5px; overflow:hidden; box-shadow:0 3px 7px #152b4306; }
.home-category > img { width:100%; height:77px; object-fit:cover; object-position:70% center; }
.home-category > div { padding:9px 7px; display:flex; align-items:center; gap:7px; }
.home-category > div > i { font-size:18px; color:#14243a; }
.home-category h3 { font-size:8px; text-transform:uppercase; font-weight:800; line-height:1.4; }
.home-category small { display:block; font-size:8px; color:#d0001d; font-weight:700; }
.home-category:hover { border-color:#eeb900; }
.home-featured-track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 60px)/6); gap:12px; overflow-x:auto; padding:2px 0 10px; scrollbar-width:thin; scroll-snap-type:x proximity; }
.home-featured-track .home-lot { scroll-snap-align:start; }
.home-promotions { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:24px; }
.home-shop,.home-plus { position:relative; overflow:hidden; border-radius:7px; padding:24px; min-height:190px; display:flex; align-items:center; gap:20px; color:#fff; isolation:isolate; }
.home-shop { background:linear-gradient(115deg,#cd001b,#b5000a); }
.home-plus { background:#080c12; border:1px solid #dfbe5040; }
.home-promo-brand { display:flex; align-items:center; gap:10px; width:145px; flex-shrink:0; font-size:16px; font-style:italic; font-weight:800; line-height:1.05; z-index:1; }
.home-promo-brand > i { font-size:34px; color:var(--gold); }
.home-promo-brand b { display:block; font-size:30px; color:var(--gold); }
.home-promo-copy { max-width:320px; z-index:1; }
.home-promo-copy h2 { font-size:18px; line-height:1.15; margin:0 0 7px; font-weight:800; }
.home-promo-copy p { font-size:10px; line-height:1.5; color:#f0f0f1; }
.home-promo-copy .btn { margin-top:12px; background:#fff; color:#ba001d; font-size:10px; border-radius:4px; padding:8px 12px; }
.home-plus .home-promo-copy .btn { background:var(--gold); color:#101b2d; }
.home-promo-art { position:absolute; right:0; top:0; height:100%; width:36%; object-fit:cover; object-position:75%; z-index:-1; opacity:.22; mask-image:linear-gradient(90deg,transparent,#000); }
.home-page footer.site { background:#0b192b; color:#fff; border-color:#243348; padding-top:36px; }.home-page footer.site p,.home-page footer.site li,.home-page .foot-bottom { color:#aab7ca; }.home-page footer.site .foot-brand img { background:#fff; border-radius:4px; padding:4px; }.home-page footer.site .foot-social a { background:#14253c; color:#fff; border-color:#34455c; }.home-page footer.site h5 { color:#fff; }.home-page .foot-bottom { border-color:#2b3a4f; }
.home-whatsapp { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; position:fixed; bottom:20px; left:20px; background:#12b874; color:#fff; font-size:26px; box-shadow:0 5px 18px #0002; z-index:101; }
@media(max-width:1250px) {
 .home-page .header-top { gap:16px; }.home-page .header-cta { gap:7px; }.home-page .header-cta .btn { padding:9px; font-size:10px; }.home-page .nav-inner > a { padding:12px 11px; font-size:10px; }
 .home-lot-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }.home-lot-image { height:145px; }.home-lot h3 { font-size:12px; }.home-lot-price { font-size:18px; }
 .home-ending-track { grid-auto-columns:calc((100% - 36px)/4); }.home-categories { grid-template-columns:repeat(5,minmax(0,1fr)); }.home-category > img { height:95px; }.home-category h3 { font-size:10px; }.home-category small { font-size:9px; }.home-featured-track { grid-auto-columns:calc((100% - 36px)/4); }
 .home-promo-brand { width:110px; font-size:14px; }.home-promo-brand > i { font-size:26px; }.home-promo-brand b { font-size:24px; }.home-shop,.home-plus { padding:20px; gap:15px; }
}
@media(max-width:1000px) {
 .home-page .shell { padding-inline:20px; }.home-page .header-top { flex-wrap:wrap; gap:12px; }.home-page .brand { min-width:90px; }.home-page .brand img { width:95px; height:35px; }.home-page .search { order:3; flex-basis:100%; max-width:none; }.home-page .header-cta { margin-left:auto; }.home-page .nav-toggle { display:flex; }
 .home-page nav.main { display:none; }.home-page nav.main.open { display:block; }.home-page .nav-inner { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding-block:8px; }.home-page .nav-inner > a { border-bottom:0; padding:14px 12px; }.home-page .nav-cta-group { grid-column:1/-1; display:flex; flex-wrap:wrap; }
 .home-hero-inner { min-height:235px; }.home-hero-copy { max-width:65%; }.home-hero h1 { font-size:35px; }.home-assurances { width:165px; }
 .home-ending-track { grid-auto-columns:calc((100% - 24px)/3); }.home-lot-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.home-featured-track { grid-auto-columns:calc((100% - 24px)/3); }.home-heading h2 { font-size:19px; }
 .home-promo-brand { display:none; }.home-promo-copy h2 { font-size:20px; }
}
@media(max-width:700px) {
 .home-page .shell { padding-inline:16px; }.home-page .header-top { padding:10px 0; }.home-page .header-cta .btn-gestion { display:none; }.home-page .header-cta .btn > span { display:none; }.home-page .header-cta .btn { padding:9px 11px; }.home-page .header-cta .btn i { font-size:14px; }.home-page .nav-cta-group .btn { color:#fff; }.home-page .nav-inner { grid-template-columns:repeat(2,minmax(0,1fr)); }.home-page .nav-inner > a { font-size:12px; }
 .home-hero { background-position:64% center; }.home-hero-inner { background:linear-gradient(90deg,#030810e6,#03081080); min-height:265px; }.home-hero-copy { max-width:100%; width:100%; }.home-hero h1 { font-size:34px; }.home-hero p { max-width:340px; font-size:12px; }.home-assurances { display:none; }.home-hero-actions { margin-top:18px; }.home-page .home-hero-actions .btn { padding:10px 14px; font-size:11px; }
 .home-section { margin:20px 0; }.home-heading { gap:8px; align-items:flex-start; }.home-heading h2 { font-size:18px; gap:7px; }.home-heading h2 > i { font-size:18px; }.home-heading > a { font-size:10px; margin-top:4px; }.home-count { flex-basis:100%; font-size:10px; margin-left:26px; }.home-lot-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.home-lot-image { height:125px; }.home-lot-body { padding:9px; }.home-lot h3 { font-size:11px; }.home-lot-badge { font-size:7px; top:7px; left:7px; }.home-lot-price { font-size:16px; }.home-lot-bottom { flex-wrap:wrap; }.home-lot-link { font-size:9px; min-height:29px; margin-left:auto; }.home-timer b { font-size:8px; }.home-timer { gap:4px; }
 .home-ending-track { grid-auto-columns:260px; }.home-lot--compact .home-lot-image { height:100%; }.home-scroll { width:26px; height:26px; }.home-scroll.prev { left:-11px; }.home-scroll.next { right:-11px; }.home-categories { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.home-category > img { height:70px; }.home-category > div { padding:8px 6px; gap:5px; }.home-category > div > i { font-size:16px; }.home-category h3 { font-size:8px; }.home-category small { font-size:8px; }.home-featured-track { grid-auto-columns:calc((100% - 10px)/2); gap:10px; }
 .home-promotions { grid-template-columns:1fr; }.home-shop,.home-plus { min-height:176px; padding:22px; }.home-promo-brand { display:flex; width:103px; flex-direction:column; align-items:flex-start; }.home-promo-copy h2 { font-size:19px; }
 .home-whatsapp { width:44px; height:44px; left:12px; bottom:14px; }.home-page footer.site { padding-bottom:70px; }
}
@media(max-width:360px) { .home-page .shell { padding-inline:12px; }.home-page .header-cta { gap:5px; }.home-page .header-cta .btn { padding:8px; }.home-page .brand { min-width:75px; }.home-page .brand img { width:80px; }.home-hero h1 { font-size:30px; }.home-heading h2 { font-size:16px; }.home-lot-image { height:106px; }.home-lot-price { font-size:14px; }.home-lot-price small { font-size:7px; }.home-promo-brand { display:none; } }
@media(prefers-reduced-motion:reduce) { .home-page *, .home-page *::before,.home-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.home-page .nav-inner > a .fa-crown { color:var(--gold); }
.home-page footer.site li a { color:#b9c6d8; }
.home-page footer.site li a:hover { color:#ffcd00; }
@media(max-width:700px) {
 .home-page .header-cta > .btn:not(.btn-gestion) { display:inline-flex; }
 .home-lot h3 { font-size:12px; }
 .home-category h3 { font-size:9px; }
}
.home-category-sprite { display:block; width:100%; height:77px; background-image:url('assets/inicio/categorias-industria-hogar.webp'); background-size:300% auto; background-repeat:no-repeat; }
@media(min-width:701px) and (max-width:1250px) { .home-category-sprite { height:95px; } }
@media(max-width:700px) { .home-category-sprite { height:70px; } }

/* Portada panorámica: mayor densidad visual sin ocultar información. */
@media(min-width:1101px) {
 .home-page .header-top { min-height:62px; padding-block:8px; gap:20px; }
 .home-page .brand img { height:35px; width:100px; }
 .home-page .nav-inner > a { padding-block:9px; }
 .home-hero-inner { min-height:200px; padding-block:16px; }
 .home-hero-copy { width:570px; max-width:60%; }
 .home-hero h1 { font-size:clamp(32px,2.65vw,42px); margin-bottom:8px; }
 .home-hero p { max-width:540px; font-size:12px; }
 .home-hero-actions { margin-top:12px; gap:10px; }
 .home-page .home-hero-actions .btn { min-height:34px; padding:8px 16px; }
 .home-assurances { padding:14px; gap:10px; }
 .home-section { margin:16px 0; }
 .home-heading { margin-bottom:9px; }
 .home-heading h2 { font-size:20px; }
 .home-lot-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; }
 .home-lot-image { height:clamp(92px,7vw,125px); }
 .home-lot-body { padding:7px 9px 8px; }
 .home-lot h3 { font-size:11px; min-height:28px; margin:2px 0 4px; }
 .home-lot-price { font-size:16px; line-height:1.3; }
 .home-lot-bottom { margin-top:4px; }
 .home-ending-track { grid-auto-columns:calc((100% - 60px)/6); }
 .home-lot--compact { grid-template-columns:64px minmax(0,1fr); min-height:100px; padding:6px; }
 .home-lot--compact .home-lot-image { min-height:84px; height:100%; }
 .home-lot--compact h3 { margin-right:0; font-size:10px; }
 .home-lot--compact .home-lot-number { padding-right:0; }
 .home-lot--compact .home-lot-price { font-size:13px; }
 .home-categories { grid-template-columns:repeat(10,minmax(0,1fr)); }
 .home-category > img,.home-category-sprite { height:64px; }
 .home-category > div { padding:7px 6px; gap:6px; }
 .home-category h3,.home-category small { font-size:8px; }
 .home-featured-track { grid-auto-columns:calc((100% - 60px)/6); }
 .home-promotions { margin-top:16px; }
 .home-shop,.home-plus { min-height:122px; padding:16px 20px; gap:16px; }
 .home-promo-brand { width:120px; font-size:14px; }
 .home-promo-brand b { font-size:26px; }
 .home-promo-copy { max-width:none; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:14px; align-items:center; flex:1; }
 .home-promo-copy h2 { font-size:16px; margin-bottom:5px; }
 .home-promo-copy p { grid-column:1; font-size:10px; }
 .home-promo-copy .btn { grid-column:2; grid-row:1/3; margin-top:0; white-space:nowrap; }
}
@media(min-width:1101px) and (max-width:1350px) {
 .home-lot-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
 .home-ending-track,.home-featured-track { grid-auto-columns:calc((100% - 48px)/5); }
 .home-promo-brand { width:95px; }
 .home-promo-brand > i { display:none; }
 .home-promo-copy { column-gap:8px; }
}
@media(max-width:1100px) {
 .home-categories { grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:140px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:thin; padding-bottom:8px; }
 .home-category { scroll-snap-align:start; }
 .home-category > img,.home-category-sprite { height:74px; }
}

/* Carruseles de Subastas activas y Categorías: las tarjetas de lote son más grandes que las de categoría.
   --v = tarjetas visibles a la vez; las flechas usan el manejador [data-scroll] de index_interacciones.js. */
/* Tamaño de referencia: lote ≈ 290 px de ancho (foto 4:3) y categoría ≈ 195 px; en pantallas más anchas
   no crecen, caben más por fila. */
.home-active-track,.home-categories { --v:4; --g:14px; display:flex; flex-wrap:nowrap; gap:var(--g); overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity; scrollbar-width:thin; padding:3px 2px 10px; }
.home-categories { --v:6; --g:12px; }
.home-active-track > .home-lot,.home-categories > .home-category { flex:0 0 calc((100% - (var(--v) - 1) * var(--g)) / var(--v)); min-width:0; scroll-snap-align:start; }
.home-active-track .home-lot-image { height:auto; aspect-ratio:4/3; }
.home-active-track .home-lot-body { padding:10px 12px 12px; }
.home-active-track .home-lot-number { font-size:10px; }
.home-active-track .home-lot h3 { font-size:13px; min-height:35px; margin:3px 0 7px; }
.home-active-track .home-price-label { font-size:9px; }
.home-active-track .home-lot-price { font-size:18px; line-height:1.35; }
.home-active-track .home-lot-price small { font-size:9px; }
.home-active-track .home-lot-badge { font-size:9px; padding:5px 8px; top:10px; left:10px; }
.home-active-track .home-timer { font-size:11px; }
.home-active-track .home-timer b { font-size:10px; }
.home-active-track .home-timer small { font-size:9px; }
.home-active-track .home-lot-link { font-size:10px; padding:8px 10px; }
.home-active-track ~ .home-scroll,.home-categories ~ .home-scroll { width:32px; height:32px; }
.home-category > div { min-height:46px; }
.home-category > img,.home-category-sprite { height:auto; aspect-ratio:3/2; }
.home-category h3 { font-size:10px; }
.home-category small { font-size:9px; }
@media(min-width:1351px) { .home-active-track { --v:5; } .home-categories { --v:7; } }
@media(min-width:1651px) { .home-active-track { --v:6; } .home-categories { --v:9; } }
@media(min-width:701px) and (max-width:1100px) { .home-active-track { --v:3; } .home-categories { --v:5; } }
@media(max-width:700px) {
 .home-active-track { --v:2.15; --g:10px; }
 .home-categories { --v:3.2; --g:8px; }
 .home-active-track .home-lot-body { padding:9px; }
 .home-active-track .home-lot h3 { font-size:12px; }
 .home-active-track .home-lot-price { font-size:16px; }
 .home-active-track ~ .home-scroll,.home-categories ~ .home-scroll { width:28px; height:28px; }
}
/* Terminan pronto: tarjetas horizontales de ~395 px (3 por fila en 1280 px); en pantallas más anchas caben más. */
.home-ending-track { --v:3; gap:14px; grid-auto-columns:calc((100% - (var(--v) - 1) * 14px) / var(--v)); padding:3px 2px 10px; }
.home-ending-track .home-lot--compact { grid-template-columns:120px minmax(0,1fr); min-height:140px; padding:10px; }
.home-ending-track .home-lot--compact .home-lot-image { position:relative; min-height:118px; border-radius:4px; }
/* Las fotos verticales no estiran la tarjeta: la foto llena el recuadro. */
.home-ending-track .home-lot--compact .home-lot-image img { position:absolute; inset:0; }
.home-ending-track .home-lot--compact .home-lot-body { padding:2px 0 0 12px; }
.home-ending-track .home-lot--compact .home-lot-number { font-size:10px; padding-right:0; }
.home-ending-track .home-lot--compact h3 { font-size:13px; min-height:34px; margin:3px 0 6px; }
.home-ending-track .home-lot--compact .home-price-label { font-size:9px; }
.home-ending-track .home-lot--compact .home-lot-price { font-size:17px; }
.home-ending-track .home-timer { font-size:11px; }
.home-ending-track .home-timer b { font-size:10px; }
.home-ending-track ~ .home-scroll { width:32px; height:32px; }
@media(min-width:1500px) { .home-ending-track { --v:4; } }
@media(min-width:1800px) { .home-ending-track { --v:5; } }
@media(min-width:701px) and (max-width:1100px) { .home-ending-track .home-lot--compact { grid-template-columns:100px minmax(0,1fr); } }
@media(max-width:700px) {
 .home-ending-track { grid-auto-columns:290px; gap:10px; }
 .home-ending-track .home-lot--compact { grid-template-columns:96px minmax(0,1fr); min-height:120px; padding:8px; }
 .home-ending-track .home-lot--compact .home-lot-image { min-height:100px; }
 .home-ending-track .home-lot--compact .home-lot-body { padding-left:10px; }
 .home-ending-track ~ .home-scroll { width:28px; height:28px; }
}
/* En teléfonos el botón flotante de WhatsApp tapaba tarjetas; WhatsApp sigue en Atención al cliente y en el pie. */
@media(max-width:700px) { .home-whatsapp { display:none; } }

/* Parte baja de la portada: beneficios de Shop, ¿Cómo participar?, próximos cierres, cifras, atención y registro.
   Tarjetas blancas con borde suave; "¿Cómo participar?" lleva a su derecha próximos cierres y cifras (.home-duo). */
.home-page { --blue:#1f4fbf; --card-border:#e3e9f1; }
.home-shop-benefits,.home-participate,.home-next,.home-confidence,.home-atc,.home-final { background:#fff; border:1px solid var(--card-border); border-radius:10px; box-shadow:0 4px 14px #12284208; }
.home-card-head h2,.home-next .home-heading h2,.home-atc .home-heading h2 { font-size:19px; }
.home-next .home-heading h2 > i,.home-atc .home-heading h2 > i { color:var(--red); font-size:19px; }
.home-next .home-heading > a { color:var(--blue); }

.home-shop-benefits { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:14px 0 18px; padding:14px 0; }
.home-shop-benefits > span { position:relative; padding:2px 16px 2px 60px; font-size:11px; line-height:1.45; color:#66768c; border-left:1px solid var(--card-border); }
.home-shop-benefits > span:first-child { border-left:0; }
.home-shop-benefits b { display:block; margin-bottom:2px; font-size:12px; color:#15253b; }
.home-shop-benefits i { position:absolute; left:22px; top:50%; transform:translateY(-50%); font-size:22px; color:#e0a800; }

.home-duo { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:18px; margin:18px 0; }
.home-duo-side { display:grid; gap:18px; align-content:start; }
.home-duo .home-participate,.home-duo-side > section { margin:0; }
/* Junto a la columna derecha, los pasos crecen para llenar la tarjeta sin dejar hueco abajo. */
.home-duo .home-participate { display:flex; flex-direction:column; }
.home-duo .home-steps { flex:1; }
.home-steps li { justify-content:center; }

.home-participate { padding:20px 22px 22px; margin:18px 0; }
.home-card-head h2 { display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-.4px; }
.home-card-head p { margin-top:4px; font-size:12px; color:#6b7789; }
.home-steps { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; margin-top:18px; }
.home-steps li { position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; padding:18px 12px 16px; border:1px solid var(--card-border); border-radius:8px; background:#fbfcfe; }
.home-steps li:not(:last-child)::after { content:''; position:absolute; top:50%; right:-17px; width:8px; height:8px; border-top:2px solid var(--blue); border-right:2px solid var(--blue); transform:translateY(-50%) rotate(45deg); }
.home-step-top { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.home-step-top > span { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--gold); color:#16233b; font-size:14px; font-weight:800; }
.home-steps li:first-child .home-step-top > span { background:var(--red); color:#fff; }
.home-step-top > i { font-size:21px; color:#1a2b44; }
.home-steps h3 { margin-bottom:6px; font-size:13px; font-weight:800; }
.home-steps p { font-size:11px; line-height:1.5; color:#68768c; }
.home-help-link { display:inline-flex; align-items:center; gap:10px; margin-top:16px; }
.home-help-link > i { font-size:24px; color:#1b3c61; }
.home-help-link strong { font-size:12px; }
.home-help-link small { display:block; font-size:11px; color:#66778e; }

.home-next { padding:16px 18px 18px; margin:18px 0; }
.home-next .home-heading { flex-wrap:wrap; margin-bottom:12px; }
.home-next .home-heading h2 { flex-wrap:nowrap; font-size:17px; }
.home-next .home-heading > a { font-size:11px; }
.home-next-empty { display:flex; align-items:center; gap:16px; padding:18px 20px; border:1px solid #e1e9f6; border-radius:8px; background:#f2f6fd; }
.home-next-empty > i { font-size:30px; color:#8ea3c4; }
.home-next-empty b { display:block; font-size:13px; color:#1b2c45; }
.home-next-empty small { font-size:11px; color:#6b7a90; }
.home-next-empty a { color:var(--blue); font-weight:700; }
.home-next-list { display:grid; gap:9px; }
.home-next-list > a { display:flex; align-items:center; gap:14px; padding:12px; border:1px solid var(--card-border); border-radius:8px; background:#fbfcfe; }
.home-next-list > a:hover { border-color:#eeb900; }
.home-next-list > a > i { margin-left:auto; color:#b68a00; }
.home-next-list h3 { font-size:13px; font-weight:800; }
.home-next-list p { margin:4px 0; font-size:11px; color:#738198; }
.home-date { display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:52px; height:60px; border:1px solid #e4eaf2; border-radius:6px; background:#f6f8fc; }
.home-date b { font-size:23px; color:var(--red); }
.home-date small { font-size:9px; color:#75849a; }

.home-confidence { display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,1fr)); padding:14px 4px; margin:18px 0; }
.home-confidence blockquote { grid-column:1/-1; display:flex; align-items:flex-start; gap:13px; padding:4px 18px 14px; margin-bottom:12px; border-bottom:1px solid var(--card-border); }
.home-avatar { display:grid; place-items:center; width:40px; height:40px; flex-shrink:0; border-radius:50%; background:#fff4c0; color:#aa7800; font-size:18px; font-weight:800; }
.home-stars { color:#edb600; letter-spacing:2px; }
.home-confidence blockquote p { margin:4px 0; font-size:11px; line-height:1.6; color:#586981; }
.home-confidence cite { font-size:10px; font-style:normal; font-weight:700; }
.home-stat { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:6px 12px; text-align:center; border-left:1px solid var(--card-border); }
.home-confidence > div.home-stat:first-of-type { border-left:0; }
.home-stat b { font-size:26px; font-weight:900; line-height:1.1; color:var(--blue); }
.home-stat span { font-size:11px; color:#6a798d; }
.home-stat strong { font-size:12px; font-weight:800; }
.home-stat-icon { margin-top:5px; font-size:16px; color:var(--blue); }
.home-stat-award { font-size:24px; color:#e0a800; }

.home-atc { padding:18px 20px 20px; margin:18px 0; }
.home-atc .home-heading { margin-bottom:4px; }
.home-atc .home-section-intro { margin:0 0 14px; }
.home-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.home-support-grid > div { position:relative; padding:16px 18px 16px 68px; border:1px solid var(--card-border); border-radius:8px; background:#fbfcfe; }
.home-support-grid > div > i { position:absolute; top:18px; left:20px; font-size:30px; color:#1d405b; }
.home-support-grid > div:first-child > i { color:#05a869; }
.home-support-grid > div:nth-child(2) > i { color:var(--blue); }
.home-support-grid h3 { margin-bottom:4px; font-size:14px; font-weight:800; }
.home-support-grid p { margin-bottom:8px; font-size:11px; color:#69778c; }
.home-support-grid a { display:block; margin:4px 0; font-size:12px; font-weight:700; color:var(--blue); overflow-wrap:anywhere; }
.home-support-grid a:hover { color:var(--red); }
.home-support-grid strong { display:block; margin-bottom:4px; font-size:12px; }

.home-final { display:flex; align-items:center; gap:18px; padding:18px 24px; margin:18px 0 6px; border-color:#d9e4f5; background:linear-gradient(90deg,#e6eefb,#f4f7fd); }
.home-final-icon { display:grid; place-items:center; width:50px; height:50px; flex-shrink:0; border-radius:50%; background:#fff; color:var(--blue); font-size:21px; box-shadow:0 3px 10px #1f4fbf1a; }
.home-final > div { flex:1; }
.home-final h2 { font-size:19px; font-weight:800; letter-spacing:-.4px; }
.home-final p { margin-top:3px; font-size:12px; color:#63758d; }
.home-page .home-final .btn { padding:11px 20px; border-radius:6px; font-size:13px; }
.home-final .btn i { margin-left:8px; }

@media(max-width:1100px) {
 .home-duo { grid-template-columns:1fr; }
 .home-steps { gap:24px; }
}
@media(max-width:900px) {
 .home-shop-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:14px; }
 .home-shop-benefits > span:nth-child(3) { border-left:0; }
 .home-support-grid { grid-template-columns:1fr; gap:10px; }
}
@media(max-width:700px) {
 .home-shop-benefits > span { padding:2px 10px 2px 48px; }
 .home-shop-benefits i { left:14px; font-size:19px; }
 .home-participate,.home-next,.home-atc { padding:16px; }
 .home-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .home-steps li { padding:14px 10px; }
 .home-steps li::after { display:none; }
 .home-card-head h2,.home-next .home-heading h2,.home-atc .home-heading h2 { font-size:17px; }
 .home-next-empty { padding:14px; gap:12px; }
 .home-confidence { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:14px; }
 .home-confidence > div.home-stat:nth-of-type(odd) { border-left:0; }
 .home-final { flex-wrap:wrap; padding:18px; }
 .home-final > div { flex-basis:calc(100% - 68px); }
 .home-page .home-final .btn { width:100%; justify-content:center; }
}
