.site-flash{position:fixed;z-index:100;top:84px;left:50%;transform:translateX(-50%);max-width:min(92vw,760px);padding:12px 18px;border-radius:14px;background:#211618;color:#fff;box-shadow:0 15px 50px #0008}.site-flash.success{background:#123523}.site-flash.error{background:#4b1217}
.install-app.ready{box-shadow:0 0 0 2px rgba(236,194,77,.25),0 0 28px rgba(236,194,77,.18)}
.banner-grid,.campaign-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.banner-card{background:#1b0f11;border:1px solid #3a2629;border-radius:22px;overflow:hidden;display:flex;min-height:220px}.banner-card img{width:44%;object-fit:cover}.banner-card>div{padding:22px}.banner-card small,.campaign-public-grid small{color:#e3bd57;font-weight:800}.banner-card h3,.campaign-public-grid h3{margin:8px 0}.banner-card p,.campaign-public-grid p{color:#bbaeb0}.campaign-public-grid article{padding:24px;border-radius:20px;background:linear-gradient(145deg,#1f1113,#11090a);border:1px solid #352225}
.video-list{display:grid;gap:22px}.promo-photo{width:100%;height:150px;object-fit:cover;border-radius:16px;margin-bottom:12px}.promo-price{display:block;font-size:1.45rem;color:#f0ce70;margin-top:10px}.product-visual img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.price-row{display:flex;gap:10px;align-items:center;margin:12px 0}.price-row strong{font-size:1.25rem;color:#f0ce70}.price-row del{color:#8f7f81}.empty-card{padding:30px;border:1px dashed #4a3538;border-radius:18px;color:#b9abad}.location-card{display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;border-radius:26px;border:1px solid #3a2428;background:#180d0f}.location-card>img{width:100%;height:100%;min-height:380px;object-fit:cover}.location-card>div{padding:36px}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 20% 10%,#452026 0,#140708 42%,#080304 100%)}.auth-card{width:min(100%,520px);background:#170d0f;border:1px solid #3b2528;border-radius:28px;padding:30px;box-shadow:0 28px 70px #000a;color:#fff}.auth-card .logo{width:90px;height:90px;object-fit:cover;border-radius:22px}.auth-card label{display:grid;gap:7px;margin:14px 0;color:#d9cfd0;font-weight:700}.auth-card input,.auth-card select,.auth-card textarea{width:100%;padding:13px 14px;border-radius:12px;border:1px solid #4a3437;background:#0e0809;color:#fff}.auth-card .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.auth-error{padding:11px 14px;border-radius:12px;background:#4b1217;margin:10px 0}.auth-ok{padding:11px 14px;border-radius:12px;background:#123523;margin:10px 0}.account-shell{min-height:100vh;background:#0d0607;color:#fff;padding:20px}.account-wrap{max-width:1080px;margin:auto}.account-head{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:22px 0}.account-grid{display:grid;grid-template-columns:340px 1fr;gap:22px}.member-card,.account-panel{background:#170d0f;border:1px solid #392427;border-radius:24px;padding:24px}.member-code{font-size:1.45rem;letter-spacing:.08em;color:#f1ca65}.benefit-list{display:grid;gap:14px}.benefit{padding:18px;border:1px solid #39272a;border-radius:18px;background:#11090a}.benefit.personal{border-color:#8e6e25}.gift-badge{display:inline-block;background:#3e2e0c;color:#f5d983;padding:5px 9px;border-radius:99px;font-size:.75rem;font-weight:900}.account-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.account-tabs a{padding:10px 14px;border:1px solid #463033;border-radius:999px;color:#fff;text-decoration:none}.account-tabs a.active{background:#e9c45f;color:#1b0d0d;border-color:#e9c45f}
@media(max-width:900px){.banner-grid,.campaign-public-grid{grid-template-columns:1fr}.account-grid{grid-template-columns:1fr}.location-card{grid-template-columns:1fr}.location-card>img{min-height:240px}.top-actions .admin-link{display:none}}
@media(max-width:560px){.install-app{font-size:0}.install-app:after{content:'⬇ App';font-size:12px}.banner-card{display:block}.banner-card img{width:100%;height:180px}.account-head{align-items:flex-start;flex-direction:column}}

/* ===== Experiencia dinámica v4 ===== */
[data-reveal]{opacity:0;transform:translateY(24px) scale(.985);transition:opacity .58s ease var(--reveal-delay,0ms),transform .58s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}
[data-reveal].is-visible{opacity:1;transform:none}
.promo-card{position:relative;overflow:hidden;isolation:isolate;transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease}
.promo-card::before{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.09) 48%,transparent 58%);transform:translateX(-55%) rotate(8deg);animation:promoShine 5.2s ease-in-out infinite;pointer-events:none;z-index:-1}
.promo-card:hover{transform:translateY(-7px) scale(1.012);border-color:rgba(233,196,95,.5);box-shadow:0 24px 55px rgba(0,0,0,.34),0 0 30px rgba(233,196,95,.08)}
.promo-card.vip{animation:vipGlow 3.5s ease-in-out infinite}
.promo-badge{animation:badgeFloat 2.8s ease-in-out infinite;transform-origin:center}
.promo-motion-text{margin:8px 0 5px;overflow:hidden;border-radius:10px;background:linear-gradient(90deg,rgba(233,196,95,.08),rgba(233,196,95,.2),rgba(233,196,95,.08));border:1px solid rgba(233,196,95,.2);white-space:nowrap}
.promo-motion-text span{display:inline-block;min-width:100%;padding:7px 12px;color:#f7dc8c;font-weight:900;letter-spacing:.055em;text-transform:uppercase;animation:promoTextSweep 5.8s ease-in-out infinite;text-align:center}
.promo-price{animation:pricePulse 2.4s ease-in-out infinite}
.banner-card,.campaign-public-grid article{position:relative;overflow:hidden;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.banner-card:hover,.campaign-public-grid article:hover{transform:translateY(-5px);border-color:rgba(233,196,95,.42);box-shadow:0 18px 44px rgba(0,0,0,.28)}
.public-notice-card::after{content:"";position:absolute;left:-35%;top:0;width:30%;height:2px;background:linear-gradient(90deg,transparent,#f0ce70,transparent);animation:noticeLine 3.8s linear infinite}
.notice-pulse{position:absolute;right:18px;top:18px;width:10px;height:10px;border-radius:50%;background:#e9c45f;box-shadow:0 0 0 0 rgba(233,196,95,.55);animation:noticePulse 1.8s infinite}
.public-notice-card h3{animation:headlineBreath 4s ease-in-out infinite;transform-origin:left center}
.benefit-animated{position:relative;overflow:hidden;animation:benefitEnter .55s ease both;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.benefit-animated:hover{transform:translateY(-4px);border-color:rgba(233,196,95,.4);box-shadow:0 16px 35px rgba(0,0,0,.25)}
.benefit-animated::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.045),transparent 65%);transform:translateX(-110%);animation:benefitShine 7s ease-in-out infinite;pointer-events:none}
.notice-account{padding-left:30px}.notice-dot{position:absolute;left:14px;top:24px;width:8px;height:8px;border-radius:50%;background:#e9c45f;animation:noticePulse 1.8s infinite}.account-hint{color:#9f9294;font-size:.9rem;margin-top:-12px}
.install-app{position:relative;transition:transform .2s ease,box-shadow .2s ease}.install-app.ready{animation:installGlow 2.2s ease-in-out infinite}.install-app:disabled{opacity:.72;cursor:default}.install-app.installed{background:#153622!important;color:#c8f2d5!important;border-color:#28583a!important}
.install-help{position:fixed;inset:0;z-index:260;background:rgba(0,0,0,.78);backdrop-filter:blur(12px);display:none;place-items:center;padding:20px}.install-help.open{display:grid}.install-help-card{width:min(540px,100%);position:relative;background:linear-gradient(145deg,#1d1012,#0d0708);border:1px solid #4a3236;border-radius:28px;padding:30px;box-shadow:0 35px 90px rgba(0,0,0,.6);color:#fff}.install-help-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border-radius:50%;border:1px solid #4a3437;background:#160b0d;color:#fff;font-size:24px;cursor:pointer}.install-help-icon{font-size:48px;margin-bottom:10px}.install-help-card h2{font-size:28px;margin:8px 0 12px}.install-status{padding:12px 14px;background:#221519;border:1px solid #493236;border-radius:14px;color:#f0ce70;font-weight:800}.install-steps{color:#c7babc;line-height:1.65}.install-steps ol{padding-left:22px}.install-steps li{margin:8px 0}.install-note{font-size:.84rem;color:#9f9294}.install-help-card>.btn{width:100%;margin-top:9px}
@keyframes promoShine{0%,62%{transform:translateX(-70%) rotate(8deg)}82%,100%{transform:translateX(170%) rotate(8deg)}}
@keyframes vipGlow{0%,100%{box-shadow:0 18px 48px rgba(0,0,0,.28),0 0 0 rgba(233,196,95,0)}50%{box-shadow:0 20px 55px rgba(0,0,0,.34),0 0 30px rgba(233,196,95,.11)}}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes promoTextSweep{0%,100%{transform:translateX(0);letter-spacing:.055em}45%{transform:translateX(4px);letter-spacing:.085em}55%{transform:translateX(-4px);letter-spacing:.085em}}
@keyframes pricePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.035);text-shadow:0 0 18px rgba(240,206,112,.25)}}
@keyframes noticeLine{0%{left:-35%}100%{left:115%}}
@keyframes noticePulse{0%{box-shadow:0 0 0 0 rgba(233,196,95,.55)}70%{box-shadow:0 0 0 11px rgba(233,196,95,0)}100%{box-shadow:0 0 0 0 rgba(233,196,95,0)}}
@keyframes headlineBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.012)}}
@keyframes benefitEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes benefitShine{0%,72%{transform:translateX(-120%)}92%,100%{transform:translateX(120%)}}
@keyframes installGlow{0%,100%{box-shadow:0 0 0 0 rgba(233,196,95,.08)}50%{box-shadow:0 0 0 4px rgba(233,196,95,.12),0 0 26px rgba(233,196,95,.2)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}[data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}

/* Estado técnico de instalación PWA V6 */
.pwa-check-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0 4px}.pwa-check{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:12px;font-size:.78rem;font-weight:800;border:1px solid #443034;background:#170d0f;color:#bfb2b4}.pwa-check span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:.72rem}.pwa-check.ok{border-color:#28543a;color:#bfe7ca;background:#102218}.pwa-check.ok span{background:#1d6b3b;color:#fff}.pwa-check.bad{border-color:#65402f;color:#efc1ad;background:#271710}.pwa-check.bad span{background:#8a4025;color:#fff}@media(max-width:520px){.pwa-check-list{grid-template-columns:1fr}}
