/* Inicio v25 de Dots (08-11-2026): portada de cinco campañas (Mage EV, V7, Y3, SX6, MIDI), galería de 11 campañas y
   regalo Foton como bloque propio. EN PRUEBA en /mockup/inicio-v25. Copia literal de dongfeng-noviembre.css (v24) y de
   propuesta.css (v25). */
/* Five campaign themes share the approved v23 composition. */
.df-november{--paper:#edf2f7;--accent:#285b91;--deep:#15374e;--light:#c9def2;--mist:#e3edf7}
.df-mage-cuotas{--paper:#f3f0f7;--accent:#65418b;--deep:#372348;--light:#dcccec;--mist:#ede5f4}
.df-huge{--paper:#f6f1e9;--accent:#805323;--deep:#49311d;--light:#ead1a5;--mist:#f3e8d6}
.df-sx6{--paper:#edf5f1;--accent:#286653;--deep:#163f34;--light:#badfcf;--mist:#e1efe8}
.df-t5{--paper:#f7f2eb;--accent:#8b542d;--deep:#503423;--light:#efd1ad;--mist:#f5e6d6}
.home .df-november{background:var(--paper);padding-top:36px}
.home .df-november h2{font-size:clamp(40px,3.6vw,54px);letter-spacing:-.05em;color:#142b3b}
.home .df-november h2 .df-headline{display:block;margin-top:15px;font-size:clamp(20px,2vw,28px);line-height:1.23;letter-spacing:-.035em;color:#283f4c}
.df-headline em{font-style:normal;color:var(--accent);display:block}
.df-november .v7-exclusive{font-size:13px;margin-top:14px}
.df-november .v7-price-ticket,.df-november .v7-price-ticket::after{background:linear-gradient(120deg,var(--deep),var(--accent))}
.df-november .v7-price-ticket::before{background:var(--light);border-color:var(--light)}
.df-november .v7-price-ticket{margin-top:24px;margin-bottom:25px}
.df-november .v7-ticket-label{color:#fff}.df-november .v7-ticket-meta>span:first-child{font-size:12px;font-weight:500}
.df-november .v7-ticket-amount{font-size:clamp(43px,4.2vw,61px)}
.df-mage-cuotas .v7-ticket-amount{font-size:clamp(55px,5.4vw,78px)}
.df-november .v7-bonus-secondary strong{color:var(--accent);font-size:23px}
.df-november .v7-bonus-mark{color:var(--accent);border-color:var(--light)}
.df-november .v7-nov-cta{background:var(--deep)}.df-november .v7-nov-cta:hover{background:var(--accent)}
.df-november a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.df-november .v7-nov-scene::before{background:radial-gradient(ellipse at 60% 45%,var(--light),var(--mist) 68%,var(--paper));inset:-75px -100px -45px -35px}
.df-november .v7-orbit{border-color:var(--accent);opacity:.25}
.df-november .v7-nov-art{border-radius:22px}
.df-november .v7-nov-art img{max-width:none}
.df-november .v7-nov-conditions{font-size:12px;line-height:1.6;gap:32px;border-color:var(--light)}
.df-november .v7-nov-conditions a{color:inherit;text-decoration:underline;text-underline-offset:3px}
/* Horizontal campaign rail: every offer remains named and keyboard accessible. */
@media(min-width:768px){.home .campaign-selectors{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;max-width:none;min-width:0;padding:6px 3px 12px;scrollbar-width:thin}.home .campaign-selector{flex:0 0 190px;scroll-snap-align:start;min-height:68px;font-size:12px}.home .campaign-selector small{display:block;font-size:10px}.carousel-nav{align-items:center}}
@media(max-width:700px){
 .home .df-november{padding-top:23px}.df-november .v7-nov-grid{gap:17px}
 .home .df-november h2{font-size:36px;margin:0}.home .df-november h2 .df-headline{font-size:19px;margin-top:7px}.df-headline em{display:inline}
 .df-november .v7-exclusive{margin-top:-8px!important;font-size:12px}
 .df-november .v7-price-ticket{margin:4px 5px 10px}.df-november .v7-ticket-content{padding:18px 22px}
 .df-november .v7-ticket-amount{font-size:clamp(40px,12vw,62px)}.df-mage-cuotas .v7-ticket-amount{font-size:57px}
 .df-november .v7-bonus-secondary strong{font-size:20px}.df-november .v7-included{margin-top:-12px!important}
 .df-november .v7-nov-scene{order:4;margin-top:2px}.df-november .v7-bonus-secondary{order:5}.df-november .v7-included{order:6}
 .df-november .v7-nov-art{border-radius:0}.df-november .v7-nov-scene::before{inset:0}
 .df-november .v7-nov-conditions{grid-template-columns:1fr;font-size:12px;gap:8px;margin-top:6px}
 .df-november .v7-nov-cta{margin-top:0}.df-november .v7-nov-bases{font-size:13px}
}
@media(max-width:370px){.df-november .v7-ticket-amount{font-size:39px}.df-mage-cuotas .v7-ticket-amount{font-size:53px}}

.campaign-carousel:not(.carousel-ready) .campaign-slide{transition:none!important}

/* v25: the approved v24 language, with five priorities and an image-led gallery. */
.home .campaign-selectors{grid-template-columns:repeat(5,minmax(0,1fr))}
.home .campaign-selector{min-height:64px}
.video-control{position:absolute;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;border:1px solid #ffffff88;background:#142b3bd9;color:#fff;cursor:pointer;z-index:3}
.home .hero-motion-video{display:block;width:100%;height:auto;aspect-ratio:1080/470;object-fit:contain;background:#102638}
/* Image gallery: central artwork stays complete; adjacent artwork hints at the next offer. */
.cinema-gallery{padding:75px 0 42px;background:#f7f8fa;overflow:hidden}
.home .cinema-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:32px}
.home .cinema-heading h2{font-size:clamp(38px,4.5vw,64px);letter-spacing:-.055em;line-height:1.1;margin-top:12px}
.cinema-heading>p{color:#536477;font-size:16px}
.cinema-track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-padding-inline:12%;padding:4px 12% 16px;-webkit-overflow-scrolling:touch}
.cinema-track::-webkit-scrollbar{display:none}
.cinema-card{flex:0 0 100%;min-width:0;scroll-snap-align:center;display:block;padding:0;border:0;border-radius:20px;overflow:hidden;background:#152936;cursor:pointer;box-shadow:0 18px 30px -25px #10263888;transition:opacity .4s,transform .5s}
.cinema-card picture,.cinema-card img{display:block;width:100%;height:auto}.cinema-card:not(.is-current){opacity:.73;transform:scale(.97)}
.cinema-card:hover{opacity:1}.cinema-card:focus-visible{outline:4px solid #235c96;outline-offset:4px}
.home .cinema-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:12px}
.cinema-caption{display:flex;align-items:center;gap:18px;font-size:14px;font-weight:600;min-width:190px}.cinema-caption>span:first-child{font-variant-numeric:tabular-nums;color:#6a7580;font-size:11px;letter-spacing:.08em}
.cinema-dots{display:flex;gap:0;align-items:center}.cinema-dots button{border:0;background:none;width:26px;height:44px;cursor:pointer;padding:0;position:relative}.cinema-dots button:before{content:'';display:block;width:6px;height:6px;margin:auto;border-radius:10px;background:#aeb8c1;transition:width .3s,background .3s}.cinema-dots button[aria-current=true]:before{width:21px;background:#213c50}
.cinema-arrows{display:flex;gap:8px}.cinema-arrows button{border:1px solid #d2dae0;background:white;color:#213c50;border-radius:50%;width:44px;height:44px;cursor:pointer;font-size:19px}
.home .cinema-hint{font-size:11px;color:#627183;margin-top:16px}
#cinema-dialog{border:0;border-radius:24px;padding:32px;width:min(820px,calc(100% - 32px));max-height:90dvh;color:#182f3e;background:#fff;overflow:auto}#cinema-dialog::backdrop{background:#102638b8;backdrop-filter:blur(8px)}
.home #cinema-dialog h2{font-size:30px;margin:10px 48px 24px 0}.cinema-close{position:sticky;top:0;float:right;width:44px;height:44px;border-radius:50%;border:1px solid #d1d9df;background:white;font-size:28px;color:#223d50;cursor:pointer;z-index:2}
#cinema-original{display:block;width:100%;height:auto;border-radius:12px}#cinema-note{font-size:14px;line-height:1.75;margin:20px 0}.home #cinema-model{background:#213e54;color:white;padding:14px 22px;border-radius:40px;display:inline-flex}.cinema-legal{display:block;padding:18px 0;text-decoration:underline;font-size:13px}.cinema-legal[hidden]{display:none}
/* Gift feature: warm paper, saturated amber, blue pickup. No Halloween elements. */
.home .gift-refresh{background:#faf1e1;color:#1b303d;padding:68px 0;overflow:hidden;position:relative;isolation:isolate;display:block}
.gift-refresh:before{content:'';position:absolute;width:650px;height:650px;border:1px solid #d6ab6a60;left:-400px;top:-220px;border-radius:50%;z-index:-1}
.home .gift-refresh .pickup-layout{width:calc(100% - 96px);max-width:1440px;display:grid;grid-template-columns:.85fr 1.25fr;gap:64px;align-items:center}
.home .gift-refresh .campaign-brand{background:none!important;padding:0;border-radius:0}.home .gift-refresh .campaign-brand img{filter:brightness(0);width:200px}
.home .gift-refresh .pickup-copy .eyebrow{color:#6d573c;margin-bottom:20px!important}
.home .gift-refresh .gift-kicker{color:#8c4b1d;font-size:10px;letter-spacing:.12em}.gift-refresh .gift-kicker:before{background:#b76b2b}
.home .gift-refresh .pickup-copy h2{font-size:clamp(52px,5.6vw,86px);color:#1c303d;line-height:1;letter-spacing:-.065em}
.home .gift-refresh .pickup-copy h2 span{color:#a94e13;white-space:normal}
.home .gift-refresh .pickup-lead{color:#525a59;font-size:18px;max-width:390px}.home .gift-refresh .gift-badge{color:#635139;border-color:#cb8132}
.home .gift-refresh .gift-cta{background:#954210;color:white!important;margin-top:28px;max-width:340px}.home .gift-refresh .gift-cta:hover{background:#76310a}
.home .gift-refresh .gift-validity{color:#624d35;font-size:12px;margin-top:18px}
.home .gift-refresh .pickup-photo{max-width:800px;padding:26px 0 0;margin-bottom:22px!important}.home .gift-refresh .pickup-photo>img.pickup-vehicle{max-width:800px;width:100%}
.home .gift-refresh .gift-halo{width:82%;height:88%;aspect-ratio:auto;top:0;left:14%;border-radius:48% 52% 47% 53%;background:linear-gradient(135deg,#ffe0a7,#f1b24f 70%,#eda344);box-shadow:0 0 0 24px #f4ce8b24;transform:rotate(-12deg)}
.gift-stamp{position:absolute;left:1%;top:2%;border-radius:24px;background:#fffaf0;color:#8b430f;border:1px solid #e9cda8;padding:17px 23px;transform:rotate(-9deg);font-size:24px;line-height:.95;font-weight:800;letter-spacing:-.04em;z-index:2;box-shadow:0 10px 20px -16px #7e4819}.gift-stamp span{display:block;font-size:9px;letter-spacing:.13em;margin-top:9px;font-weight:600}
.home .gift-refresh .pickup-photo figcaption,.home .gift-refresh .gift-illustration-note{color:#76634b;margin-left:0}
.home .gift-refresh .gift-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home .gift-refresh .gift-option{display:flex;flex-direction:column;align-items:stretch;border:1px solid #e3c8a1;border-radius:22px;padding:17px;min-height:175px;background:#ffdfad;transition:transform .3s}
.home .gift-refresh .gift-option:nth-child(2){background:#dcd5f3;border-color:#c3b9dc}.home .gift-refresh .gift-option:nth-child(3){background:#cee8dc;border-color:#aaceba}
.home .gift-refresh .gift-icon,.home .gift-refresh .gift-option:nth-child(2) .gift-icon,.home .gift-refresh .gift-option:nth-child(3) .gift-icon{height:65px;width:100%;border:0;background:none;color:#72401f;padding:0}
.home .gift-refresh .gift-option:nth-child(2) .gift-icon{color:#5a4285}.home .gift-refresh .gift-option:nth-child(3) .gift-icon{color:#265f48}
.home .gift-refresh .gift-option h3{font-size:clamp(16px,1.5vw,22px);color:#263845;line-height:1.1}.home .gift-refresh .gift-option p{color:#4d5a61;font-size:11px}.gift-refresh .gift-option-number{color:#5f5144;font-size:8px}.gift-refresh .gift-illustration-note{grid-column:1/-1}
.home .gift-refresh .gift-option:hover{transform:translateY(-5px)}
@media(max-width:1000px){.home .gift-refresh .pickup-layout{width:calc(100% - 48px);gap:30px}.home .gift-refresh .gift-option{padding:12px}.home .gift-refresh .pickup-copy h2{font-size:55px}.cinema-caption{min-width:0}.cinema-heading>p{max-width:150px}.cinema-dots button{width:21px}.home .mage-campaign{width:calc(100% - 48px)}}
@media(max-width:767px){.home .campaign-selectors{display:none}.home .mage-ev-slide{padding:24px 0}.home .mage-price{margin-top:20px;max-width:none;padding:18px 20px}.home .mage-price>strong{font-size:clamp(43px,12vw,66px)}.home .mage-campaign{width:calc(100% - 40px)}.home .mage-copy h2{font-size:58px}.home .mage-arrival{margin-bottom:10px}.home .mage-headline{font-size:23px}.home .mage-scene{margin-top:20px}.home .mage-orbit{top:10px;width:75%;left:20%}.home .mage-electric{right:25px;font-size:28px}.home .mage-actions{gap:6px}.cinema-gallery{padding:44px 0 30px}.home .cinema-heading{display:block;margin-bottom:22px}.cinema-heading>p{max-width:none;margin-top:12px;font-size:14px}.home .cinema-heading h2{font-size:39px}.cinema-track{padding-inline:7%;scroll-padding-inline:7%;gap:12px}.cinema-card{border-radius:16px}.home .cinema-controls{flex-wrap:wrap;gap:8px;margin-top:10px}.cinema-caption{font-size:13px;gap:10px;flex:1}.cinema-dots{order:3;width:100%;justify-content:center}.cinema-dots button{width:27px}.cinema-arrows{gap:5px}.cinema-arrows button{width:44px;height:44px}.home .cinema-hint{font-size:10px;margin-top:5px}.home .gift-refresh{padding:38px 0}.home .gift-refresh .pickup-layout{display:flex;flex-direction:column;width:calc(100% - 40px);gap:16px}.home .gift-refresh .pickup-copy{display:contents}.home .gift-refresh .pickup-visual{display:contents}.home .gift-refresh .gift-brand{order:0;margin:0!important}.home .gift-refresh .campaign-brand img{width:155px}.home .gift-refresh .pickup-copy .eyebrow{order:1;margin:0!important}.home .gift-refresh .gift-kicker{order:2;font-size:9px;margin:0!important}.home .gift-refresh .pickup-copy h2{order:3;font-size:55px}.home .gift-refresh .pickup-photo{order:4;padding-top:20px;margin:2px -8px 0!important}.home .gift-refresh .pickup-lead{order:5;font-size:15px;margin:0!important}.home .gift-refresh .gift-options{order:6;gap:8px}.home .gift-refresh .gift-option{padding:10px 7px;min-height:136px;border-radius:15px}.home .gift-refresh .gift-icon{height:48px}.home .gift-refresh .gift-icon svg{height:46px;width:60px}.home .gift-refresh .gift-option h3{font-size:14px}.home .gift-refresh .gift-option p{font-size:10px}.home .gift-refresh .gift-badge{order:7;font-size:11px;margin:0}.home .gift-refresh .gift-cta{order:8;width:100%;max-width:none;margin:0}.home .gift-refresh .gift-validity{order:9;font-size:11px;margin:0}.gift-stamp{font-size:16px;padding:12px 15px;left:1%;top:-8px;border-radius:16px}.gift-stamp span{font-size:7px}.home .gift-refresh .gift-halo{width:76%;left:19%;height:87%}.home .gift-refresh .pickup-photo figcaption{font-size:9px}#cinema-dialog{padding:20px}.home #cinema-dialog h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){.cinema-card,.gift-refresh *{transition:none!important;animation:none!important}}
.reduce-motion .cinema-card,.reduce-motion .gift-refresh *{transition:none!important;animation:none!important}

#cinema-count{white-space:nowrap}.home .cinema-hint{width:calc(100% - 96px);max-width:1280px;margin-inline:auto}@media(max-width:767px){.home .cinema-hint{width:calc(100% - 40px)}}

/* Distinct campaign palettes; shared composition and stable stage. */
.home .mage-nature{--paper:#edf8dc;--accent:#34783d;--deep:#1d4e2d;--light:#c5e991;--mist:#e2f3bb}
.home .df-y3{--paper:#f1eafa;--accent:#7446a0;--deep:#43265f;--light:#d5b7ee;--mist:#e8d8f5}
.home .df-sx6{--paper:#fff2d8;--accent:#94601c;--deep:#674015;--light:#f1ce7d;--mist:#f9e8b9}
.home .midi-new{--paper:#fce9e1;--accent:#ad4b32;--deep:#753321;--light:#f4bba4;--mist:#f8d8c9}
.home #campaign-v7{background:#e6f0fb}
.home .campaign-carousel .campaign-stage{display:grid;align-items:stretch;overflow:hidden;background:#edf8dc;transition:background-color .8s ease}
.home .campaign-carousel .campaign-slide,.home .campaign-carousel .campaign-slide.is-active,.home .cm-enabled .campaign-slide:not(.is-active){position:relative;inset:auto;grid-area:1/1;height:auto;min-height:0;align-self:stretch;padding:36px 0 24px;transition:opacity .75s ease,visibility .75s;}
.home .campaign-carousel .v7-nov-wrap{width:calc(100% - 80px);max-width:1320px;margin-inline:auto;height:100%;display:flex;flex-direction:column;justify-content:center}
.home .campaign-carousel .v7-nov-grid{grid-template-columns:minmax(320px,.9fr) minmax(0,1.65fr);gap:44px;flex:1;align-items:center}
.home .campaign-carousel .v7-nov-copy h2{font-size:46px;line-height:1.08}
.home .campaign-carousel .df-headline{font-size:24px;line-height:1.22}
.home .campaign-carousel .v7-ticket-amount{font-size:54px}
.home .campaign-carousel .v7-nov-scene{padding:20px 0;align-self:center}
.home .campaign-carousel .v7-nov-conditions{margin-top:24px;padding-top:14px;font-size:11px;line-height:1.6}
.home .nature-art{background:transparent;box-shadow:none;overflow:visible;position:relative;z-index:1}
.home .nature-art img{display:block;width:100%;height:auto;max-height:440px;object-fit:contain}
.nature-sun{position:absolute;width:58%;aspect-ratio:1;right:8%;top:1%;border-radius:50%;background:linear-gradient(145deg,#efffc4,#aed961);box-shadow:0 0 0 30px #d2eca54d}
.home .nature-scene:before{background:radial-gradient(ellipse,#cceba2,transparent 70%)}
.home .nature-scene .v7-orbit{inset:0 3%;width:auto;height:auto}
/* Compact editorial rail. Never scale artwork to the width of an ultrawide monitor. */
.home .cinema-gallery{padding:40px 0 26px}
.home .cinema-heading{max-width:1120px;margin-bottom:22px}
.home .cinema-heading h2{font-size:36px;margin-top:8px}
.home .cinema-heading>p{font-size:14px}
.home .cinema-track{--card-width:min(720px,76vw);gap:20px;align-items:flex-start;padding:4px max(24px,calc((100vw - var(--card-width))/2)) 14px;scroll-padding-inline:max(24px,calc((100vw - var(--card-width))/2))}
.home .cinema-card{flex:0 0 var(--card-width);width:var(--card-width);height:auto;min-height:0;align-self:flex-start;border-radius:16px;background:transparent;line-height:0}
.home .cinema-card picture,.home .cinema-card img{display:block;width:100%;height:auto;min-height:0;max-height:none;object-fit:contain}
.home .cinema-controls,.home .cinema-hint{max-width:1120px}
@media(min-width:701px) and (max-width:1100px){.home .campaign-carousel .v7-nov-grid{grid-template-columns:310px minmax(0,1fr);gap:25px}.home .campaign-carousel .v7-ticket-amount{font-size:44px}.home .campaign-carousel .v7-nov-copy h2{font-size:40px}}
@media(max-width:700px){
 .home .campaign-carousel .campaign-slide,.home .campaign-carousel .campaign-slide.is-active{padding:24px 0 20px}
 .home .campaign-carousel .v7-nov-wrap{width:calc(100% - 40px);justify-content:flex-start}
 .home .campaign-carousel .v7-nov-grid{display:flex;flex-direction:column;gap:16px;align-items:stretch;flex:0}
 .home .campaign-carousel .v7-nov-copy{display:contents}
 .home .campaign-carousel .v7-nov-copy h2{font-size:36px;margin:0}
 .home .campaign-carousel .df-headline{font-size:20px;margin-top:6px}
 .home .campaign-carousel .v7-ticket-amount{font-size:clamp(37px,11vw,54px)}
 .home .campaign-carousel .v7-nov-scene{width:100%;padding:6px 0;order:4}
 .home .campaign-carousel .v7-nov-art{border-radius:16px}
 .home .nature-art img{height:220px;object-fit:contain}
 .home .campaign-carousel .v7-nov-conditions{margin-top:20px;font-size:11px;display:grid;grid-template-columns:1fr;gap:8px}
 .home .cinema-track{--card-width:min(300px,80vw);gap:12px}
 .home .cinema-heading h2{font-size:30px}
 .home .cinema-gallery{padding:32px 0 22px}
 .home .cinema-controls{gap:8px}.home .cinema-caption{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.home .campaign-carousel .campaign-stage,.home .campaign-carousel .campaign-slide{transition:none}}
.reduce-motion .campaign-carousel .campaign-stage,.reduce-motion .campaign-carousel .campaign-slide{transition:none!important}

/* Identical frames: active and adjacent cards never change size. */
.home .cinema-track{--card-width:min(600px,76vw)}
.home .cinema-card,.home .cinema-card:not(.is-current){flex:0 0 var(--card-width);width:var(--card-width);height:auto;aspect-ratio:2/1;transform:none;background:#142633;display:grid;place-items:center}
.home .cinema-card picture{display:block;width:100%;height:100%;min-height:0}
.home .cinema-card img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain}
@media(max-width:700px){.home .cinema-track{--card-width:min(280px,78vw)}.home .cinema-card,.home .cinema-card:not(.is-current){aspect-ratio:1/1}}

/* Continuous full-width rail. All frames retain the same compact dimensions. */
.home .cinema-track{padding-inline:0;scroll-padding-inline:0;overflow-anchor:none}
.home .cinema-card{text-decoration:none}
.home #cinema-conditions{display:inline-flex;align-items:center;min-height:44px;margin-left:18px;padding:6px 0;border:0;background:transparent;color:#213e54;font:inherit;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.home #cinema-conditions:focus-visible{outline:3px solid #235c96;outline-offset:4px;border-radius:4px}
@media(max-width:700px){.home #cinema-conditions{display:flex;margin-left:0}}
