/*
 * Plantillas personalizadas.
 * Las decisiones llegan como tokens validados: este archivo es el compilador
 * visual y nunca ejecuta CSS arbitrario producido por un modelo.
 */
.store-theme.theme-custom{background:var(--theme-bg);color:var(--theme-text);font-family:var(--theme-body-font)}
.store-theme.theme-custom .container{width:min(var(--theme-container),calc(100% - 48px))}
.store-theme.theme-custom h1,.store-theme.theme-custom h2,.store-theme.theme-custom h3,.store-theme.theme-custom h4,.store-theme.theme-custom .section-title{font-family:var(--theme-heading-font);font-weight:var(--theme-heading-weight);color:inherit;letter-spacing:-.04em}
.store-theme.theme-custom .section-title{font-size:var(--theme-heading-size);line-height:.98;max-width:940px}
.store-theme.theme-custom .muted,.store-theme.theme-custom .section-lead{color:var(--theme-muted)}
.store-theme.theme-custom .eyebrow{background:transparent;color:var(--theme-primary);padding:0;border-radius:0;text-transform:uppercase;letter-spacing:.13em;font-size:.68rem}

/* Cabecera */
.store-theme.theme-custom .site-header{position:sticky;top:0;background:color-mix(in srgb,var(--theme-header-bg) 94%,transparent);color:var(--theme-header-text);border-color:var(--theme-border);backdrop-filter:blur(18px)}
.store-theme.theme-custom.theme-preview-active .site-header{top:58px}
.store-theme.theme-custom .navbar{height:88px}.store-theme.theme-custom .brand,.store-theme.theme-custom .nav-links{color:var(--theme-header-text)}
.store-theme.theme-custom .brand-mark{background:var(--theme-primary);color:var(--theme-primary-text);box-shadow:none}
.store-theme.theme-custom .nav-links a:after{background:var(--theme-accent)}
.store-theme.theme-custom .search-pill,.store-theme.theme-custom .icon-btn{background:var(--theme-surface);color:var(--theme-surface-text);border-color:var(--theme-border);box-shadow:none}
.store-theme.theme-custom .search-pill input{color:var(--theme-surface-text)}
.store-theme.theme-custom .public-subnav{background:var(--theme-surface);border-color:var(--theme-border);color:var(--theme-surface-muted)}
.store-theme.theme-custom.theme-header-centrada .navbar{display:grid;grid-template-columns:1fr auto 1fr}.store-theme.theme-custom.theme-header-centrada .brand{justify-self:start}.store-theme.theme-custom.theme-header-centrada .nav-links{justify-self:center}.store-theme.theme-custom.theme-header-centrada .nav-actions{justify-self:end}
.store-theme.theme-custom.theme-header-dividida .navbar{justify-content:flex-start}.store-theme.theme-custom.theme-header-dividida .nav-links{margin-left:18px;margin-right:auto}.store-theme.theme-custom.theme-header-dividida .brand{padding-right:30px;border-right:1px solid var(--theme-border)}
.store-theme.theme-custom.theme-header-marco .site-header{border-bottom:0;box-shadow:none}
.store-theme.theme-custom.theme-header-marco .navbar{height:76px;margin:10px auto;padding:0 clamp(14px,2vw,30px);border:1px solid color-mix(in srgb,var(--theme-header-text) 30%,var(--theme-header-bg));border-radius:24px;box-shadow:0 14px 38px color-mix(in srgb,var(--theme-header-text) 9%,transparent)}
.store-theme.theme-custom.theme-header-marco .nav-links{margin-inline:auto}

/* Hero: composiciones reales sobre el mismo contenido funcional */
.store-theme.theme-custom .hero{padding:96px 0;background:var(--theme-hero-bg);color:var(--theme-hero-text)}
.store-theme.theme-custom .hero:before{opacity:.12}.store-theme.theme-custom .hero:after{display:none}
.store-theme.theme-custom .hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr);gap:clamp(42px,7vw,96px)}
.store-theme.theme-custom .hero h1{font-size:var(--theme-heading-size);font-weight:var(--theme-heading-weight);color:var(--theme-hero-text);line-height:.94;max-width:900px}
.store-theme.theme-custom .hero p{color:var(--theme-hero-text);opacity:.78}
.store-theme.theme-custom .hero .eyebrow{color:var(--theme-hero-text)!important;opacity:.72}.store-theme.theme-custom .hero .dot{background:var(--theme-accent)}
.store-theme.theme-custom .device-card{transform:none;background:color-mix(in srgb,var(--theme-surface) 18%,transparent);border-color:color-mix(in srgb,var(--theme-hero-text) 22%,transparent);border-radius:var(--radius-xl);box-shadow:var(--theme-card-shadow)}
.store-theme.theme-custom .device-screen,.store-theme.theme-custom .mock-product{border-radius:var(--radius-lg)}
.store-theme.theme-custom.theme-hero-editorial .hero{padding:124px 0}.store-theme.theme-custom.theme-hero-editorial .hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}.store-theme.theme-custom.theme-hero-editorial .hero h1{max-width:1050px}.store-theme.theme-custom.theme-hero-editorial .device-card{right:0;width:88%;box-shadow:24px 24px 0 color-mix(in srgb,var(--theme-hero-text) 12%,transparent)}
.store-theme.theme-custom.theme-hero-minimal .hero{padding:112px 0}.store-theme.theme-custom.theme-hero-minimal .hero-grid{grid-template-columns:1fr}.store-theme.theme-custom.theme-hero-minimal .hero-grid>div:first-child{max-width:900px}.store-theme.theme-custom.theme-hero-minimal .hero-art{display:none}.store-theme.theme-custom.theme-hero-minimal .hero h1{max-width:900px}
.store-theme.theme-custom.theme-hero-inmersivo .hero{padding:0;min-height:660px;display:grid;align-items:center}.store-theme.theme-custom.theme-hero-inmersivo .hero-grid{min-height:660px;grid-template-columns:minmax(0,.95fr) minmax(360px,1.05fr)}.store-theme.theme-custom.theme-hero-inmersivo .hero h1{font-size:clamp(3.4rem,7vw,7rem)}.store-theme.theme-custom.theme-hero-inmersivo .hero-art{min-height:660px}.store-theme.theme-custom.theme-hero-inmersivo .device-card{top:10%;right:0;width:94%}
.store-theme.theme-custom.theme-hero-reverso .hero-grid{grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,92px)}
.store-theme.theme-custom.theme-hero-reverso .hero-grid>div:first-child{grid-column:2;grid-row:1}
.store-theme.theme-custom.theme-hero-reverso .hero-art{grid-column:1;grid-row:1}
.store-theme.theme-custom.theme-hero-reverso .device-card{right:auto;left:2%;width:84%}
.store-theme.theme-custom.theme-hero-escenario .hero-grid{grid-template-columns:minmax(0,1fr);gap:38px;text-align:center}
.store-theme.theme-custom.theme-hero-escenario .hero{padding:72px 0}
.store-theme.theme-custom.theme-hero-escenario .hero-grid>div:first-child{max-width:920px;margin-inline:auto}
.store-theme.theme-custom.theme-hero-escenario .hero h1,.store-theme.theme-custom.theme-hero-escenario .hero p{margin-inline:auto}
.store-theme.theme-custom.theme-hero-escenario .hero-actions,.store-theme.theme-custom.theme-hero-escenario .hero-metrics{justify-content:center}
.store-theme.theme-custom.theme-hero-escenario .hero-art{width:min(100%,850px);min-height:340px;margin-inline:auto}
.store-theme.theme-custom.theme-hero-escenario .device-card{top:1%;right:14%;width:70%}
.store-theme.theme-custom.theme-motif-ninguno .hero:before{display:none}
.store-theme.theme-custom.theme-motif-orbitas .hero:before{opacity:.3;mask-image:none;background-image:repeating-radial-gradient(circle at 82% 48%,transparent 0 56px,color-mix(in srgb,var(--theme-hero-text) 28%,transparent) 57px 58px,transparent 59px 112px);background-size:auto}
.store-theme.theme-custom.theme-motif-rayas .hero:before{opacity:.26;mask-image:none;background-image:repeating-linear-gradient(125deg,transparent 0 38px,color-mix(in srgb,var(--theme-hero-text) 26%,transparent) 39px 40px,transparent 41px 82px);background-size:auto}
.store-theme.theme-custom.theme-motif-resplandor .hero:before{opacity:.38;mask-image:none;background-image:radial-gradient(circle at 75% 38%,color-mix(in srgb,var(--theme-accent) 58%,transparent),transparent 44%),radial-gradient(circle at 10% 85%,color-mix(in srgb,var(--theme-primary) 30%,transparent),transparent 38%);background-size:auto}

/* Confianza, secciones y superficies */
.store-theme.theme-custom .trust-strip{margin-top:0;background:var(--theme-primary);color:var(--theme-primary-text)}
.store-theme.theme-custom .trust-inner{min-height:96px;background:transparent;border:0;border-radius:0;box-shadow:none}.store-theme.theme-custom .trust-item{border-color:color-mix(in srgb,var(--theme-primary-text) 22%,transparent)}.store-theme.theme-custom .trust-item span{color:var(--theme-primary-text);opacity:.72}.store-theme.theme-custom .trust-icon{background:color-mix(in srgb,var(--theme-primary-text) 14%,transparent);color:var(--theme-primary-text)}
.store-theme.theme-custom .section{background:var(--theme-bg)}
.store-theme.theme-custom .panel,.store-theme.theme-custom .form-section,.store-theme.theme-custom .summary-card{background:var(--theme-surface);color:var(--theme-surface-text);border-color:var(--theme-border);box-shadow:var(--theme-card-shadow)}
.store-theme.theme-custom .article-card{background:var(--theme-surface);color:var(--theme-surface-text);border-color:var(--theme-border);border-radius:var(--radius-xl);box-shadow:var(--theme-card-shadow)}
.store-theme.theme-custom .article-card p,.store-theme.theme-custom .article-card li{color:var(--theme-surface-readable-muted)}
.store-theme.theme-custom .article-card .eyebrow{color:var(--theme-surface-brand-ink)}

/* Categorías adaptables. Una única categoría nunca queda como tarjeta perdida. */
.store-theme.theme-custom .category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.store-theme.theme-custom .category-card{background:var(--theme-surface);color:var(--theme-surface-text);border:1px solid var(--theme-border);border-radius:var(--radius-lg);box-shadow:var(--theme-card-shadow)}
.store-theme.theme-custom .category-card-copy{background:var(--theme-surface);color:var(--theme-surface-text)}.store-theme.theme-custom .category-card-copy strong{font-family:var(--theme-heading-font);font-weight:var(--theme-heading-weight)}.store-theme.theme-custom .category-card-copy span{color:var(--theme-surface-muted)}
.store-theme.theme-custom .category-grid-count-1{grid-template-columns:minmax(0,1fr)}
.store-theme.theme-custom .category-grid-count-1 .category-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:stretch}
.store-theme.theme-custom .category-grid-count-1 .category-card-media{height:440px;aspect-ratio:auto}.store-theme.theme-custom .category-grid-count-1 .category-card-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,5vw,70px)}.store-theme.theme-custom .category-grid-count-1 .category-card-copy strong{font-size:clamp(2rem,4vw,4.3rem);line-height:.95}.store-theme.theme-custom .category-grid-count-1 .category-card-copy:after{content:"Explorar →";margin-top:28px;color:var(--theme-primary);font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.store-theme.theme-custom .category-grid-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.store-theme.theme-custom.theme-categories-mosaico .category-card{position:relative;min-height:390px;border:0;overflow:hidden}.store-theme.theme-custom.theme-categories-mosaico .category-card-media{position:absolute;inset:0;height:100%;aspect-ratio:auto}.store-theme.theme-custom.theme-categories-mosaico .category-card-copy{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:90px 24px 24px;background:linear-gradient(transparent,rgba(0,0,0,.78));color:#fff}.store-theme.theme-custom.theme-categories-mosaico .category-card-copy strong{font-size:clamp(1.4rem,2.2vw,2.2rem);color:#fff}.store-theme.theme-custom.theme-categories-mosaico .category-card-copy span{color:rgba(255,255,255,.78)}
.store-theme.theme-custom.theme-categories-mosaico .category-card-media{--category-image-fit:contain;--category-image-position:center 42%}
.store-theme.theme-custom.theme-categories-destacada .category-grid:not(.category-grid-count-1) .category-card:first-child{grid-column:span 2}.store-theme.theme-custom.theme-categories-destacada .category-card-media{aspect-ratio:16/10}
.store-theme.theme-custom.theme-categories-lista .category-grid:not(.category-grid-count-1){grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.store-theme.theme-custom.theme-categories-lista .category-grid:not(.category-grid-count-1) .category-card{display:grid;grid-template-columns:clamp(120px,12vw,180px) minmax(0,1fr);align-items:stretch;min-height:160px}
.store-theme.theme-custom.theme-categories-lista .category-grid:not(.category-grid-count-1) .category-card-media{height:100%;min-height:160px;aspect-ratio:auto}
.store-theme.theme-custom.theme-categories-lista .category-grid:not(.category-grid-count-1) .category-card-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:20px clamp(18px,3vw,36px)}
.store-theme.theme-custom.theme-categories-lista .category-grid:not(.category-grid-count-1) .category-card-copy strong{font-size:clamp(1.2rem,2vw,2rem);line-height:1.1;overflow-wrap:anywhere}

/* Catálogo */
.store-theme.theme-custom .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.store-theme.theme-custom.theme-products-columns-3 .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.store-theme.theme-custom .product-card{background:var(--theme-surface);color:var(--theme-surface-text);border-color:var(--theme-border);border-radius:var(--radius-lg);box-shadow:var(--theme-card-shadow)}
.store-theme.theme-custom .product-body{color:var(--theme-surface-text)}.store-theme.theme-custom:not(.theme-products-minimal) .product-card>.product-body{box-sizing:border-box;padding-inline:clamp(14px,1.5vw,20px)}.store-theme.theme-custom .product-kicker{color:var(--theme-surface-muted)}.store-theme.theme-custom .product-name{font-family:var(--theme-heading-font);font-weight:var(--theme-heading-weight)}
.store-theme.theme-custom.theme-products-minimal .product-card{background:transparent;border:0;border-radius:0;box-shadow:none}.store-theme.theme-custom.theme-products-minimal .product-body{padding:18px 0;background:transparent;color:var(--theme-text)}.store-theme.theme-custom.theme-products-minimal .product-kicker{color:var(--theme-muted)}.store-theme.theme-custom.theme-products-minimal .product-card:hover{transform:none;box-shadow:none}
.store-theme.theme-custom.theme-products-bordeados .product-card{box-shadow:none;border-width:2px}.store-theme.theme-custom.theme-products-bordeados .product-media{border-bottom:2px solid var(--theme-border)}
.store-theme.theme-custom.theme-products-galeria .product-card{background:transparent;border:0;border-radius:0;box-shadow:none}
.store-theme.theme-custom.theme-products-galeria .product-media{background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:var(--radius-lg);overflow:hidden}
.store-theme.theme-custom.theme-products-galeria .product-body{background:transparent;color:var(--theme-text);border-bottom:1px solid var(--theme-border);padding-top:22px;padding-bottom:22px}
.store-theme.theme-custom.theme-products-galeria .product-card:hover{box-shadow:none}
.store-theme.theme-custom.theme-images-cuadrada .product-media{aspect-ratio:1}.store-theme.theme-custom.theme-images-vertical .product-media{aspect-ratio:4/5}.store-theme.theme-custom.theme-images-apaisada .product-media{aspect-ratio:4/3}

/* Crimson Shadow: la imagen conserva aire uniforme dentro de la tarjeta,
   incluso cuando un único producto usa la composición horizontal. */
.store-theme.theme-crimson-shadow .product-media{padding:0}
.store-theme.theme-crimson-shadow .product-media>a{position:absolute;inset:16px;display:grid;width:auto;height:auto;min-width:0;min-height:0;place-items:center;overflow:hidden}
.store-theme.theme-crimson-shadow .product-media .product-image-frame{display:grid;width:100%;height:100%;min-width:0;min-height:0;place-items:center}
@media(max-width:480px){.store-theme.theme-crimson-shadow .product-media>a{inset:12px}}

/* Botones */
.store-theme.theme-custom .btn-primary,.store-theme.theme-custom .btn-dark{background:var(--theme-primary);color:var(--theme-primary-text);border:2px solid var(--theme-primary);box-shadow:none}
.store-theme.theme-custom.theme-buttons-solidos .btn{border-radius:var(--radius-sm)}
.store-theme.theme-custom.theme-buttons-pildora .btn{border-radius:999px}
.store-theme.theme-custom.theme-buttons-contorno .btn-primary,.store-theme.theme-custom.theme-buttons-contorno .btn-dark{background:transparent;color:var(--theme-text);border-color:var(--theme-primary)}
.store-theme.theme-custom.theme-buttons-contorno .hero .btn-primary{color:var(--theme-hero-text);border-color:currentColor}
.store-theme.theme-custom .site-footer{background:var(--theme-header-bg);color:var(--theme-header-text);border-top:1px solid var(--theme-border)}.store-theme.theme-custom .site-footer a,.store-theme.theme-custom .site-footer h4{color:var(--theme-header-text)}.store-theme.theme-custom .site-footer p,.store-theme.theme-custom .footer-bottom{color:var(--theme-header-text);opacity:.72}

@media(max-width:1000px){
  .store-theme.theme-custom .container{width:min(100% - 34px,var(--theme-container))}
  .store-theme.theme-custom.theme-header-centrada .navbar{display:flex}.store-theme.theme-custom.theme-header-dividida .brand{padding-right:0;border-right:0}.store-theme.theme-custom.theme-header-dividida .nav-links{margin-left:auto;margin-right:0}
  .store-theme.theme-custom .hero-grid,.store-theme.theme-custom.theme-hero-editorial .hero-grid,.store-theme.theme-custom.theme-hero-inmersivo .hero-grid{grid-template-columns:1fr;min-height:0}.store-theme.theme-custom.theme-hero-inmersivo .hero{min-height:0;padding:86px 0}.store-theme.theme-custom.theme-hero-inmersivo .hero-art{min-height:460px}.store-theme.theme-custom.theme-hero-inmersivo .device-card{width:76%;right:10%}
  .store-theme.theme-custom .category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .store-theme.theme-custom .product-grid,.store-theme.theme-custom.theme-products-columns-3 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .store-theme.theme-custom .container{width:min(100% - 28px,var(--theme-container))}.store-theme.theme-custom .navbar{height:76px}
  .store-theme.theme-custom .hero,.store-theme.theme-custom.theme-hero-editorial .hero,.store-theme.theme-custom.theme-hero-minimal .hero{padding:72px 0}.store-theme.theme-custom .hero h1,.store-theme.theme-custom.theme-hero-inmersivo .hero h1{font-size:clamp(2.65rem,13vw,4.8rem)}.store-theme.theme-custom .hero-art,.store-theme.theme-custom.theme-hero-inmersivo .hero-art{min-height:390px}
  .store-theme.theme-custom .category-grid,.store-theme.theme-custom .category-grid-count-2{grid-template-columns:1fr}.store-theme.theme-custom.theme-categories-destacada .category-grid:not(.category-grid-count-1) .category-card:first-child{grid-column:auto}
}
@media(max-width:520px){.store-theme.theme-custom .product-grid,.store-theme.theme-custom.theme-products-columns-3 .product-grid{grid-template-columns:1fr}.store-theme.theme-custom .category-grid-count-1 .category-card{grid-template-columns:1fr}.store-theme.theme-custom .category-grid-count-1 .category-card-media{height:auto;aspect-ratio:4/3}.store-theme.theme-custom .category-grid-count-1 .category-card-copy{padding:24px}.store-theme.theme-custom .category-grid-count-1 .category-card-copy strong{font-size:2rem}.store-theme.theme-custom .category-grid-count-1 .category-card-copy:after{margin-top:16px}.store-theme.theme-custom .trust-inner{grid-template-columns:1fr 1fr}.store-theme.theme-custom .trust-item:nth-child(2){border-right:0}}
@media(max-width:1000px){
  .store-theme.theme-custom.theme-hero-reverso .hero-grid{grid-template-columns:minmax(0,1fr)}
  .store-theme.theme-custom.theme-hero-reverso .hero-grid>div:first-child{grid-column:1;grid-row:1}
  .store-theme.theme-custom.theme-hero-reverso .hero-art{grid-column:1;grid-row:2}
  .store-theme.theme-custom.theme-categories-lista .category-grid:not(.category-grid-count-1){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
  .store-theme.theme-custom.theme-header-marco .navbar{height:66px;margin:7px auto;padding-inline:12px;border-radius:16px}
  .store-theme.theme-custom.theme-hero-escenario .hero-art{min-height:300px}
}
@media(max-width:520px){
  .store-theme.theme-custom.theme-categories-lista .category-grid:not(.category-grid-count-1) .category-card{grid-template-columns:100px minmax(0,1fr);min-height:120px}
  .store-theme.theme-custom.theme-categories-lista .category-grid:not(.category-grid-count-1) .category-card-media{min-height:120px}
  .store-theme.theme-custom.theme-categories-lista .category-grid:not(.category-grid-count-1) .category-card-copy{padding:14px}
  .store-theme.theme-custom.theme-hero-escenario .hero-art{min-height:300px}
  .store-theme.theme-custom.theme-hero-escenario .device-card{left:0;right:0;width:min(100%,400px);min-width:0;margin-inline:auto}
}
