.visual-store { --ink:#28113e; --purple:#49145f; --gold:#f9da89; color:var(--ink); font-family:Inter,system-ui,sans-serif; }
.visual-wrap { width:min(1160px,calc(100% - 36px)); margin-inline:auto; }
.visual-store figure { margin:0; }
.visual-store img { display:block; width:100%; height:auto; border-radius:18px; }
.visual-store h1 { font-size:clamp(32px,4.2vw,56px); line-height:1.04; letter-spacing:-.045em; margin:12px 0 18px; }
.visual-store h2 { font-size:clamp(28px,3.3vw,42px); line-height:1.12; letter-spacing:-.03em; margin:0 0 24px; }
.visual-store p { line-height:1.55; }
.visual-kicker { font-size:12px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; margin:0 0 10px; }
.visual-hero { padding:24px 0 42px; background:radial-gradient(ellipse at 20% 20%,#eed8fa,transparent 60%),#faf6fc; }
.visual-hero-grid,.visual-split { display:grid; gap:32px; align-items:center; }
.visual-hero-copy>p { margin:14px 0; }
.visual-hero .compact-slide img { aspect-ratio:1; object-fit:contain; max-height:none; background:#230c39; }
.visual-hero .compact-carousel { border-radius:20px; overflow:hidden; }
.visual-hero .compact-carousel-controls { margin:0; padding:8px; background:#2c103f; }
.visual-hero .compact-carousel-controls button { color:#fff; background:#48225e; border-color:#795c8c; }
.visual-hero .compact-carousel-dots button { background:transparent; }
.visual-hero .compact-carousel-dots button[aria-current="true"]::after { background:#f9da89; }
.visual-delivery-pill { display:inline-block; padding:8px 14px; border-radius:99px; background:#e0f2df; color:#235333; font-size:14px; font-weight:800; }
.visual-from strong { font-size:30px; }
.visual-pickers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:18px 0; }
.visual-pickers button { cursor:pointer; padding:12px 5px; border:1px solid #cab5d4; border-radius:12px; background:#fff; color:var(--ink); font:inherit; font-size:13px; }
.visual-pickers span,.visual-pickers b { display:block; }
.visual-pickers b { margin-top:5px; font-size:17px; }
.visual-pickers .selected { border:2px solid #652a86; background:#f0e1fa; box-shadow:0 0 0 2px #e5cdef; }
.visual-store .compact-primary { width:100%; min-height:56px; font-size:17px; border-radius:12px; font-weight:900; }
.visual-store button:disabled { opacity:.5; cursor:not-allowed; }
.visual-store button:focus-visible,.visual-store a:focus-visible { outline:3px solid #a57619; outline-offset:4px; }
.visual-store .visual-micro { font-size:12px; color:#695d72; margin:14px 0 0; }
.visual-section { padding:44px 0; }
.visual-soft { background:#f6f0fa; }
.visual-facts { list-style:none; padding:0; display:grid; gap:12px; font-size:18px; font-weight:700; }
.visual-facts li { padding:16px; border-radius:12px; background:#f5eff9; }
.visual-label { display:block; margin-top:20px; color:var(--purple); }
.visual-label img { max-width:380px; }
.visual-scenes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.visual-scenes figure { overflow:hidden; border-radius:14px; background:#fff; border:1px solid #eadfec; }
.visual-scenes img { aspect-ratio:1; object-fit:cover; border-radius:0; }
.visual-scenes figcaption { font-size:15px; line-height:1.25; font-weight:800; padding:14px 12px; }
.visual-offer-section { background:#29113f; color:#fff; }
.visual-offers { display:grid; gap:18px; margin-top:36px; }
.visual-offer { position:relative; padding:26px 20px 20px; border:1px solid #66467a; border-radius:18px; background:#38204e; }
.visual-offer h3 { font-size:25px; margin:0; }
.visual-store .visual-price { font-size:42px; font-weight:900; letter-spacing:-.04em; margin:8px 0 0; }
.visual-offer p { margin:6px 0 14px; }
.visual-best { border:2px solid #f4cb76; }
.visual-best-label { display:inline-block; background:#f9da89; color:#2b1437; padding:6px 12px; border-radius:99px; font-size:12px; font-weight:850; margin:-10px 0 14px; }
.visual-offer .visual-saving { font-size:13px; color:#f9da89; }
.visual-saving s { color:#d0c1d9; margin-right:6px; }
.visual-offer-section .visual-micro { color:#d8ccdf; }
.visual-steps { display:grid; gap:16px; padding:0; list-style:none; }
.visual-steps li { display:flex; align-items:center; gap:14px; font-size:17px; font-weight:750; }
.visual-steps b { display:grid; place-items:center; min-width:48px; height:48px; background:#eeddf8; border-radius:14px; color:var(--purple); }
.visual-delivery { padding:18px; margin-top:24px; background:#f6f0fa; border-radius:16px; }
.visual-delivery p { margin:8px 0; }
.visual-close { background:#eee0f8; }
.visual-quotes { display:grid; gap:18px; }
.visual-quotes blockquote { margin:0; padding:24px; background:#f6f0fa; border-radius:16px; }
.visual-quotes small { display:block; margin-top:10px; }
.visual-disclaimer { font-size:12px; color:#6b6173; padding-bottom:30px; }
.landing-visual .compact-footer { margin-bottom:12px; }
.landing-visual .compact-sticky { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
@media(min-width:760px) {
 .visual-hero { padding:44px 0 58px; }
 .visual-hero-grid,.visual-split { grid-template-columns:1fr 1fr; gap:48px; }
 .visual-section { padding:72px 0; }
 .visual-offers,.visual-steps,.visual-quotes { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .visual-scenes { max-width:850px; margin:auto; gap:20px; }
 .visual-hero-copy { max-width:520px; }
}
@media(prefers-reduced-motion:reduce) { .landing-visual * { scroll-behavior:auto!important; animation:none!important; } }

/* Imágenes adicionales: conserva las piezas originales completas. */
.visual-product-gallery { display:grid; gap:22px; padding-bottom:44px; }
.visual-product-gallery figure { overflow:hidden; border:1px solid #e6d7ee; border-radius:18px; background:#faf6fc; }
.visual-product-gallery figcaption { padding:14px 18px; font-weight:750; text-align:center; }
.visual-product-gallery img { border-radius:0; }
.visual-offer-image { max-width:850px; margin:24px auto!important; }
.visual-delivery-images { display:grid; gap:20px; padding:0; background:transparent; }
.visual-delivery-images figure { overflow:hidden; border-radius:16px; background:#f6f0fa; border:1px solid #e7d8ef; }
.visual-delivery-images img { aspect-ratio:4/3; object-fit:cover; border-radius:0; }
.visual-delivery-images figcaption { padding:18px; }
.visual-delivery-images strong { letter-spacing:.06em; color:#49145f; }
@media(min-width:760px) {
 .visual-product-gallery,.visual-delivery-images { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.visual-store .visual-provincias { font-size:14px; color:#51365f; margin:10px 0 14px; }
.landing-visual #pedidoFijoBoton { animation:latido-pedido 1.6s ease-in-out infinite; transform-origin:center; }
@keyframes latido-pedido {
  0%,38%,100% { transform:scale(1); }
  12% { transform:scale(1.035); }
  22% { transform:scale(1); }
  30% { transform:scale(1.025); }
}
@media(prefers-reduced-motion:reduce) {
  .landing-visual #pedidoFijoBoton { animation:none!important; transform:none!important; }
}
.visual-quote-photo { width:72px; height:72px; margin-bottom:12px; }
.visual-quote-photo img { display:block; width:72px; height:72px; object-fit:cover; border-radius:12px; }
/* Tema cosmética: se aplica solo al producto que lo elige en su JSON. */
.visual-store[data-tema="naranja"] { --ink:#3c2414; --purple:#a54312; --gold:#ffd394; }
.visual-store[data-tema="naranja"] .visual-hero { background:radial-gradient(ellipse at 20% 20%,#ffdfb4,transparent 60%),#fffaf3; }
.visual-store[data-tema="naranja"] .compact-slide img { background:#fff6e9; }
.visual-store[data-tema="naranja"] .compact-carousel-controls { background:#7b3519; }
.visual-store[data-tema="naranja"] .compact-carousel-controls button { background:#a34d20; border-color:#d89562; }
.visual-store[data-tema="naranja"] .visual-soft,
.visual-store[data-tema="naranja"] .visual-facts li,
.visual-store[data-tema="naranja"] .visual-delivery-images figure,
.visual-store[data-tema="naranja"] .visual-product-gallery figure { background:#fff5e7; border-color:#f3d4af; }
.visual-store[data-tema="naranja"] .visual-pickers .selected { background:#fff0d8; border-color:#bd561a; box-shadow:0 0 0 2px #ffe0b5; }
.visual-store[data-tema="naranja"] .visual-offer-section { background:#482715; }
.visual-store[data-tema="naranja"] .visual-offer { background:#603720; border-color:#aa7750; }
.visual-store[data-tema="naranja"] .visual-best { border-color:#ffd394; }
.visual-store[data-tema="naranja"] .visual-close { background:#ffe7c4; }
.visual-store[data-tema="naranja"] .visual-steps b { background:#ffe7c4; }
.visual-store[data-tema="naranja"] .visual-provincias,
.visual-store[data-tema="naranja"] .visual-delivery-images strong { color:#7d421e; }
