.header{max-width:none;padding:22px 28px;display:block}.header .bar,.footer .bar{max-width:1124px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}
.footer{display:block}.footer .copy{white-space:pre-line}.home-main{max-width:1180px}
.shipping-link{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(100%,570px);background:white;color:#c20a62;border:1px solid #f2a3c6;padding:10px 13px 10px 22px;border-radius:60px;box-shadow:0 4px 0 #e98ab747,0 5px 16px #bc0d571c;font-weight:bold;font-size:16px;text-decoration:none}
.shipping-link .shipping-icon{width:36px;height:36px;flex:0 0 36px;margin:0;background:transparent;box-shadow:none;transform:none;color:inherit}
.shipping-link .shipping-arrow{display:grid;place-items:center;background:#d10b6d;color:white;border-radius:50%;width:36px;height:36px;flex:0 0 36px;font:34px/1 Arial,sans-serif;padding-bottom:4px}
.shipping-banner.not-sticky{position:relative;top:auto}
.social-dock a{border:1px solid transparent;display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;color:white;transition:transform .2s}
.social-dock a:hover{transform:translateY(-3px)}
.social-dock a[data-social="Facebook"]{background:#1877f2}
.social-dock a[data-social="Instagram"]{background:radial-gradient(circle at 30% 100%,#feda75,#fa7e1e 24%,#d62976 52%,#962fbf 78%,#4f5bd5)}
.social-dock a[data-social="TikTok"]{background:#101010;border-color:#3d3d3d}
.social-dock a[data-social="TikTok"] svg{filter:drop-shadow(-1px -1px 0 #25f4ee) drop-shadow(1px 1px 0 #fe2c55)}
.contact.cta{margin:32px 0;display:flex}.contact.cta h2{margin-bottom:12px}.contact.cta a{display:inline-flex;text-decoration:none;align-items:center;gap:10px}
.home-cover h1,.cover-copy h1,.section-title h2,h1,h2,h3,.price-card h3,.price-card h3 small,.benefits h2{font-family:var(--editorial)}
.cover-copy h1{color:var(--accent);font-style:normal;line-height:1.12}
.tagline{font-size:16px;line-height:1.6;color:var(--muted)}
.info{text-align:left}.checks{list-style:none}.checks .check{display:grid;place-items:center;border-radius:50%;width:22px;height:22px}
.gallery-grid{display:grid;gap:16px;max-width:420px;width:100%;margin:auto}.gallery-button{position:relative;overflow:hidden;cursor:zoom-in;width:100%;padding:0}.gallery-button img{width:100%;height:auto;display:block}
.lightbox{border:0;background:transparent;padding:0;max-width:95vw;max-height:95vh;overflow:visible}.lightbox img{max-height:88vh;max-width:92vw;object-fit:contain}.lightbox::backdrop{background:#000b}.lightbox .close{position:fixed;top:20px;right:20px;border:0;border-radius:50%;width:44px;height:44px;cursor:pointer;z-index:4}
.product-video{width:230px;max-width:100%;aspect-ratio:9/16;object-fit:contain;background:#111;border:5px solid white;border-radius:22px;box-shadow:8px 8px 0 var(--decor);display:block}
.product-placeholder{display:grid;place-items:center;border-radius:50%;aspect-ratio:1;background:var(--tint);color:var(--accent);width:100%;font-weight:bold}
.products{align-items:start}.benefits{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.guides-main{padding:32px;max-width:1100px;min-height:50vh;margin:auto}.guide-content{padding:28px;background:var(--surface);border:1px solid var(--edge);border-radius:18px;margin:24px 0;overflow-wrap:anywhere}
.fv21-no-patterns .home-cover,.fv21-no-patterns .intro,.fv21-no-patterns .section-title,.fv21-no-patterns .film{background:var(--tint)}
.fv21-no-patterns .products,.fv21-no-patterns .info,.fv21-no-patterns .gallery{background:var(--surface)}
.fv21-no-patterns .section-title:before,.fv21-no-patterns .section-title:after{display:none}
.elf-host>.christmas-elf{font-size:inherit}
body.admin-bar .shipping-banner{top:32px}.christmas-on body.admin-bar .shipping-banner{top:56px}.christmas-on body.admin-bar .christmas-lights{top:32px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto;width:auto;height:auto;background:white;padding:15px;top:35px;left:20px;z-index:1000}
@media(max-width:640px){.header{padding:17px 16px}.header .bar{gap:15px}.header .logo{width:clamp(120px,38vw,166px);max-width:100%;height:auto}.nav{gap:16px}.nav a{font-size:14px}.footer .bar{flex-direction:column;text-align:center}.products{grid-template-columns:repeat(var(--mobile-columns),minmax(0,1fr))}.contact.cta{display:block}.contact.cta a{display:flex;white-space:normal}.gallery{display:block;padding:24px 18px}.gallery-copy{margin-bottom:22px}.checks{grid-template-columns:1fr}.shipping-link{font-size:13px;gap:12px;padding:9px 10px 9px 17px}.shipping-link .shipping-icon{flex-basis:30px;width:30px;height:30px}.shipping-link .shipping-arrow{width:30px;height:30px;flex-basis:30px;font-size:30px}.product-video{margin:0 auto}.intro .cover-copy{padding:25px}.guides-main{padding:24px 16px}.social-dock a{width:46px;height:46px;flex-basis:46px}.home-cover p{margin-bottom:0}}
@media(max-width:782px){body.admin-bar .shipping-banner{top:46px}.christmas-on body.admin-bar .shipping-banner{top:70px}.christmas-on body.admin-bar .christmas-lights{top:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.social-dock a,.product img{transition:none}}
.christmas-no-lights body{padding-top:0}
.christmas-no-lights .shipping-banner{top:0}
.christmas-no-lights body.admin-bar .shipping-banner{top:32px}
@media(max-width:782px){.christmas-no-lights body.admin-bar .shipping-banner{top:46px}}

/* Encabezado del catálogo FV21: negro con texto blanco. */
.home-main #productos>.section-title{background:#000!important;color:#fff!important}
.home-main #productos>.section-title h2,.home-main #productos>.section-title h2 *,.home-main #productos>.section-title p{color:#fff!important}
.home-main #productos>.section-title:before,.home-main #productos>.section-title:after{color:#f2bdd1}

/* Rosa tomado de la referencia aprobada para la franja de guías. */
html body .shipping-banner{background:#ed2b6a!important;border-bottom-color:#d9205b!important}

/* Botón WhatsApp compartido: tamaño explícito del SVG también en home. */
.contact.cta>a.green-button.wa{display:flex;align-items:center;justify-content:center;gap:12px;background:#0bb64e;color:#fff;min-height:54px;height:auto;padding:15px 20px;box-sizing:border-box;border-radius:9px;font:700 17px/1.35 Arial,sans-serif;text-align:center;box-shadow:0 4px 0 #087936}
.contact.cta>a.green-button.wa>svg{display:block;width:26px!important;height:26px!important;min-width:26px;max-width:26px;flex:0 0 26px;fill:none!important;stroke:#fff!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contact.cta>a.green-button.wa>svg path{fill:none!important;stroke:#fff!important}
@media(max-width:640px){.contact.cta>a.green-button.wa{width:100%;margin-top:8px;font-size:16px;padding:14px 12px}}

.fv21-vimeo{display:block;width:min(100%,360px);aspect-ratio:9/16;height:auto;border:0;background:#111}

/* Galería de una fotografía a la vez, con swipe nativo. */
.gallery .fv21-carousel{width:100%;max-width:420px;min-width:0;margin:auto}
.gallery .fv21-carousel .gallery-grid{display:flex!important;gap:0!important;width:100%;max-width:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:18px;background:#fff;direction:ltr;-webkit-overflow-scrolling:touch}
.gallery .fv21-carousel .gallery-grid::-webkit-scrollbar{display:none}
.gallery .fv21-carousel .gallery-button{display:block;flex:0 0 100%;min-width:0;width:100%;margin:0;border:0;border-radius:0;scroll-snap-align:start;scroll-snap-stop:always;aspect-ratio:3/4;background:#fff;box-sizing:border-box}
.gallery .fv21-carousel .gallery-button img{width:100%;height:100%;max-height:none;object-fit:contain}
.fv21-carousel-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px}
.fv21-carousel-controls[hidden]{display:none}
.fv21-carousel-controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #e3c5d0;border-radius:50%;background:#151515;color:#fff;font:32px/1 Arial,sans-serif;cursor:pointer}
.fv21-carousel-controls button:disabled{opacity:.3;cursor:default}
.fv21-carousel-count{color:var(--ink,#222);font:700 14px/1.4 Arial,sans-serif;min-width:60px;text-align:center}
.fv21-carousel button:focus-visible,.fv21-carousel .gallery-grid:focus-visible{outline:3px solid #ed2b6a;outline-offset:3px}

/* Full-width carousel slides must not inherit the old 320px button maximum. */
.gallery .fv21-carousel .gallery-button{max-width:none;transform:none;box-shadow:none;padding:0;display:flex;align-items:center;justify-content:center}
.gallery .fv21-carousel .gallery-button img{object-position:center center;margin:0;transform:none;flex-shrink:0}
.lightbox[open],.fv21-video-modal[open]{position:fixed;inset:0;margin:0;width:100%;height:100%;height:100dvh;max-width:100vw;max-height:100dvh;padding:60px 16px 24px;border:0;border-radius:0;background:#101012;display:flex;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:contain;box-sizing:border-box}
.lightbox[open] img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;margin:auto}
.lightbox[open] .close,.fv21-video-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid #ffffff55;border-radius:50%;background:#252527;color:white;font:32px/1 Arial;cursor:pointer}
.fv21-video-modal[open]{padding:calc(66px + env(safe-area-inset-top)) 0 env(safe-area-inset-bottom)}
.fv21-video-modal .product-video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;aspect-ratio:auto;object-fit:contain;border:0;border-radius:0;box-shadow:none;background:#101012}
