/* =============================================================
   components.css — GB Lleida · componentes de páginas de contenido
   (complementa styles.css: design system, header, footer, botones)
   ============================================================= */

/* Tipografía utilitaria */
.muted { color: var(--c-muted); }
.center { text-align: center; }
.narrow { max-width: 760px; margin-inline: auto; }
.lead { font-size: 1.18rem; line-height: 1.65; color: var(--c-text); }
.eyebrow { text-transform: uppercase; letter-spacing: .12em; font-size: .82rem; font-weight: 700; color: var(--c-primary); margin: 0 0 .6rem; }
.section-head { max-width: 720px; margin-bottom: var(--space-4); }
.section-head--page { margin-bottom: var(--space-5); }
.note { background: #fff; border-left: 4px solid var(--c-accent); padding: var(--space-2) var(--space-3); border-radius: 0 var(--radius) var(--radius) 0; color: var(--c-muted); font-size: .95rem; }
.mt { margin-top: var(--space-5); }
.back { margin-top: var(--space-4); }
.back a { font-weight: 600; text-decoration: none; }

/* Grid genérico de tarjetas */
.grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
@media (max-width: 600px) { .grid { grid-template-columns: 1fr; } }

/* Botones extra */
.btn--light { background: #fff; color: var(--c-dark); }
.btn--light:hover { background: var(--c-bg); transform: translateY(-2px); color: var(--c-dark); }
.btn--block { width: 100%; }

/* Tarjetas (alias compatibles con plantillas) */
.card-media img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.card-body { padding: var(--space-3); display: flex; flex-direction: column; gap: .55rem; }
.card-title { margin: 0; font-size: 1.2rem; }
.card .specs { list-style: none; margin: .2rem 0; padding: 0; font-size: .85rem; color: var(--c-muted); display: grid; gap: .15rem; }
.card .specs li { display: flex; justify-content: space-between; gap: .5rem; border-bottom: 1px dashed var(--c-border); padding: .15rem 0; }
.card .specs strong { color: var(--c-text); }
.card .btn { margin-top: auto; }
.tag { align-self: flex-start; background: rgba(1,154,124,.1); color: var(--c-primary-d); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; padding: .2rem .6rem; border-radius: 999px; }
.post-card .card-body { gap: .5rem; }

/* HERO (home) */
.hero__bg { position: absolute; inset: 0; z-index: 0; }
.hero__img, .hero__bg picture, .hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.hero::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(120deg, rgba(21,27,32,.86) 0%, rgba(21,27,32,.55) 55%, rgba(1,154,124,.45) 100%); }
.hero__inner { position: relative; z-index: 2; color: #fff; padding: var(--space-8) 0; max-width: 680px; }
.hero__inner h1 { color: #fff; margin-bottom: var(--space-2); }
.hero__lead { font-size: 1.2rem; opacity: .95; margin-bottom: var(--space-4); max-width: 56ch; }
.hero__cta { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.hero .eyebrow { color: #fff; opacity: .85; }
@media (max-width: 640px) { .hero__inner { padding: var(--space-6) 0; } }

/* Trust bar */
.trust { background: var(--c-dark); color: #cfe0d4; }
.trust__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px,1fr)); gap: var(--space-3); padding: var(--space-4) 0; }
.trust__grid strong { display: block; color: #fff; font-size: 1.05rem; font-family: var(--font-display); }
.trust__grid span { font-size: .9rem; opacity: .8; }

/* Cards de categoría (home) */
.cat-grid { grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); }
.cat-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); overflow: hidden; text-decoration: none; color: inherit; transition: box-shadow .2s, transform .2s; }
.cat-card:hover { box-shadow: 0 10px 30px rgba(1,154,124,.14); transform: translateY(-4px); }
.cat-card__media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.cat-card__media--plain { aspect-ratio: 16/10; background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-dark) 100%); position: relative; }
.cat-card__media--plain::after { content: "GB"; position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--font-display); font-size: 2.4rem; font-weight: 700; color: rgba(255,255,255,.25); }
.cat-card__body { padding: var(--space-3); display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.cat-card__body h3 { margin: 0; }
.cat-card__link { margin-top: auto; color: var(--c-primary-d); font-weight: 700; font-size: .92rem; }

/* Parallax (home / store) */
.parallax { position: relative; padding: var(--space-8) 0; overflow: hidden; }
.parallax__bg { position: absolute; inset: 0; background-size: cover; background-position: center; background-attachment: fixed; }
.parallax::after { content: ""; position: absolute; inset: 0; background: rgba(21,27,32,.74); }
.parallax__inner { position: relative; z-index: 2; color: #fff; max-width: 620px; }
.parallax__inner h2 { color: #fff; }
.parallax__inner p { opacity: .92; margin-bottom: var(--space-3); }
@media (max-width: 767px) { .parallax__bg { background-attachment: scroll; } }

/* Tools (home) */
.tools { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-5); align-items: center; }
.tools__cta { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-2); }
.tools__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.tools__list a { display: flex; align-items: center; gap: .7rem; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); padding: var(--space-2) var(--space-3); text-decoration: none; color: var(--c-text); font-weight: 600; transition: border-color .15s, transform .15s; min-height: 44px; }
.tools__list a:hover { border-color: var(--c-primary); transform: translateX(4px); }
.tools__list .ti { font-size: 1.2rem; }
@media (max-width: 760px) { .tools { grid-template-columns: 1fr; gap: var(--space-3); } }

/* Reviews */
.reviews-section { background: #fff; padding: var(--space-6) 0; border-top: 1px solid var(--c-border); }
.reviews-head { text-align: center; margin-bottom: var(--space-4); }
.reviews-agg { font-size: 1.05rem; color: var(--c-muted); }
.reviews-agg strong { color: var(--c-dark); }
.stars { color: var(--c-accent); letter-spacing: .1em; }
.reviews-grid { grid-template-columns: repeat(auto-fit, minmax(260px,1fr)); }
.review-card { background: var(--c-bg); border: 1px solid var(--c-border); border-radius: var(--radius); padding: var(--space-3); margin: 0; }
.review-card blockquote { margin: .5rem 0; font-style: italic; color: var(--c-text); }
.review-card figcaption { font-weight: 700; color: var(--c-dark); }
.reviews-empty { text-align: center; color: var(--c-muted); font-size: 1.1rem; }
.reviews-cta { text-align: center; margin-top: var(--space-4); }

/* Final CTA */
.final-cta { background: linear-gradient(120deg, var(--c-primary-d), var(--c-primary)); color: #fff; padding: var(--space-6) 0; }
.final-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); flex-wrap: wrap; }
.final-cta h2 { color: #fff; margin-bottom: .3rem; }
.final-cta p { opacity: .95; margin: 0; }
.final-cta__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }

/* Breadcrumbs (partial usa .breadcrumbs) */
.breadcrumbs { background: var(--c-bg); border-bottom: 1px solid var(--c-border); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; list-style: none; margin: 0; padding: var(--space-2) 0; font-size: .85rem; }
.breadcrumbs a { color: var(--c-muted); text-decoration: none; }
.breadcrumbs a:hover { color: var(--c-primary-d); }
.breadcrumbs [aria-current="page"] { color: var(--c-dark); font-weight: 600; }
.bc-sep { color: var(--c-slate); margin-left: .3rem; }

/* Prose (artículos / legal) */
.prose { font-size: 1.05rem; line-height: 1.75; }
.prose h2 { margin-top: var(--space-5); }
.prose h3 { margin-top: var(--space-4); }
.prose ul { padding-left: 1.3rem; }
.prose li { margin-bottom: .4rem; }
.prose a { color: var(--c-primary-d); text-decoration: underline; text-underline-offset: 2px; }

/* Categoría */
.cat-hero { position:relative;overflow:hidden;background:linear-gradient(125deg,#11181d 0%,#16252a 58%,#063f35 100%);color:#d9e5e1;border-bottom:1px solid rgba(255,255,255,.08) }
.cat-hero::before,.cat-hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none}.cat-hero::before{width:650px;height:650px;right:-220px;top:-360px;background:radial-gradient(circle,rgba(1,184,148,.3),transparent 66%)}.cat-hero::after{width:360px;height:360px;left:-170px;bottom:-250px;border:1px solid rgba(255,255,255,.08)}
.cat-hero__inner { position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(2.5rem,6vw,6rem);align-items:center;min-height:620px;padding:clamp(4rem,8vw,7rem) 0 }
.cat-hero__text h1{color:#fff;font-size:clamp(2.7rem,5.8vw,5.4rem);letter-spacing:-.045em;max-width:900px}.cat-hero__text .eyebrow{color:var(--c-primary-l)}
.cat-hero__text .lead { color:#c2d1cd;margin-bottom:var(--space-4);max-width:66ch;font-size:clamp(1.05rem,1.8vw,1.3rem) }
.cat-hero__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.btn--hero-ghost{background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff}.btn--hero-ghost:hover{background:#fff;color:var(--c-dark)}
.cat-hero__proof{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.12)}.cat-hero__proof span{display:flex;align-items:baseline;gap:.35rem;color:#9fb2ac;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em}.cat-hero__proof strong{color:#fff;font:700 1.4rem var(--font-display)}
.cat-hero__media{position:relative;isolation:isolate}.cat-hero__media::before{content:"";position:absolute;inset:8% -7% -7% 10%;z-index:-1;border-radius:28px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.045);transform:rotate(3deg)}.cat-hero__media picture,.cat-hero__media>img{display:block;border-radius:28px;overflow:hidden}.cat-hero__media img { width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:0 30px 80px rgba(0,0,0,.36) }.cat-hero__media--catalog img{object-fit:contain;background:#eef1f0}
.cat-hero__media-label{position:absolute;z-index:2;top:1rem;left:1rem;padding:.4rem .65rem;border-radius:999px;background:rgba(21,27,32,.78);color:#fff;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;backdrop-filter:blur(8px)}.cat-hero__media-card{position:absolute;z-index:2;right:-1.4rem;bottom:-1.4rem;max-width:240px;padding:1rem 1.15rem;border-radius:16px;background:#fff;box-shadow:0 16px 45px rgba(0,0,0,.25)}.cat-hero__media-card small,.cat-hero__media-card strong{display:block}.cat-hero__media-card small{color:var(--c-primary-d);font-size:.64rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.cat-hero__media-card strong{color:var(--c-dark);font-size:.9rem;line-height:1.35;margin-top:.2rem}
.cat-hero--extracciones-de-cbd{background:linear-gradient(125deg,#17130f 0%,#282019 55%,#4b321b 100%)}.cat-hero--extracciones-de-cbd::before{background:radial-gradient(circle,rgba(212,168,83,.32),transparent 66%)}.cat-hero--extracciones-de-cbd .eyebrow{color:#edc77d}.cat-hero--aceites-cbd-lleida{background:linear-gradient(125deg,#151b20,#26351f 60%,#5e4b1d)}.cat-hero--equipos-de-iluminacion-led{background:linear-gradient(125deg,#0b1115,#11272a 55%,#016652)}
@media (max-width: 880px) { .cat-hero__inner { grid-template-columns: 1fr; gap: var(--space-3); } }
@media(max-width:640px){.cat-hero__inner{min-height:auto;padding:var(--space-6) 0}.cat-hero__text h1{font-size:clamp(2.25rem,12vw,3.5rem)}.cat-hero__proof{gap:var(--space-2)}.cat-hero__media-card{right:.7rem;bottom:-1rem;max-width:210px}.cat-hero__media::before{display:none}}

.category-intro { display: grid; grid-template-columns: .35fr 1fr; gap: var(--space-5); align-items: start; }
.category-intro__copy { max-width: 820px; }
.category-explorer { background: var(--c-dark); color: #dce8e4; position: relative; overflow: hidden; }
.category-explorer h2 { color: #fff; }
.category-explorer .muted { color: #b7c7c2; }
.family-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--space-2); }
.family-card { display: grid; grid-template-columns: 56px 1fr; gap: var(--space-2); padding: var(--space-3); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; background: rgba(255,255,255,.055); color: inherit; text-decoration: none; transition: transform .2s, border-color .2s, background .2s; }
.family-card:hover { transform: translateY(-3px); border-color: rgba(1,184,148,.65); background: rgba(255,255,255,.085); color: inherit; }
.family-card__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: var(--c-primary); color: #fff; font-weight: 800; font-size: .76rem; }
.family-card__meta { display: block; color: var(--c-primary-l); text-transform: uppercase; letter-spacing: .08em; font-size: .7rem; font-weight: 800; margin-bottom: .35rem; }
.family-card h3 { color: #fff; font-family: var(--font-body); font-size: 1.08rem; margin-bottom: .35rem; }
.family-card p { color: #c1cfcb; font-size: .9rem; line-height: 1.55; margin: 0; }
.family-card__link { display: inline-block; color: #fff; font-size: .85rem; font-weight: 700; margin-top: .7rem; }

/* Catálogo informativo filtrable */
.catalog { padding-top: var(--space-8); }
.catalog__head { display: grid; grid-template-columns: 1fr minmax(260px,360px); gap: var(--space-5); align-items: end; margin-bottom: var(--space-4); }
.catalog__head h2 { max-width: 700px; }
.catalog-search { display: grid; gap: .45rem; color: var(--c-muted); font-size: .78rem; font-weight: 750; text-transform: uppercase; letter-spacing: .06em; }
.catalog-search input { width: 100%; min-height: 50px; padding: .75rem 1rem; border: 1px solid var(--c-border); border-radius: 14px; background: #fff; color: var(--c-text); font: 500 1rem var(--font-body); text-transform: none; letter-spacing: 0; box-shadow: 0 4px 14px rgba(21,27,32,.04); }
.catalog-search input:focus { border-color: var(--c-primary); outline: 3px solid rgba(1,154,124,.15); }
.catalog-filters { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: var(--space-4); }
.catalog-filter { min-height: 42px; padding: .55rem .9rem; border: 1px solid var(--c-border); border-radius: 999px; background: #fff; color: var(--c-muted); font: 700 .82rem var(--font-body); cursor: pointer; transition: color .15s, background .15s, border-color .15s, transform .15s; }
.catalog-filter:hover { transform: translateY(-1px); border-color: var(--c-primary); color: var(--c-primary-d); }
.catalog-filter.is-active { background: var(--c-dark); border-color: var(--c-dark); color: #fff; }
.catalog-filter span { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-left: .3rem; padding: 0 .3rem; border-radius: 999px; background: rgba(255,255,255,.16); font-size: .7rem; }
.catalog-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: var(--space-2); }
.catalog-card { min-width: 0; background: #fff; border: 1px solid var(--c-border); border-radius: 18px; overflow: hidden; transition: transform .2s, box-shadow .2s, border-color .2s; }
.catalog-card:hover { transform: translateY(-4px); box-shadow: 0 16px 38px rgba(21,27,32,.1); border-color: rgba(1,154,124,.35); }
.catalog-card[hidden] { display: none; }
.catalog-card__visual { height: 185px; margin:0; display:grid; place-items:center; position:relative; overflow:hidden; background:#f2f4f4; border-bottom:1px solid var(--c-border); }
.catalog-card__visual img { width:100%; height:100%; object-fit:contain; transition:transform .3s ease; }
.catalog-card:hover .catalog-card__visual img { transform:scale(1.035); }
.catalog-card__visual figcaption { position:absolute;left:.55rem;bottom:.55rem;padding:.25rem .48rem;border-radius:999px;background:rgba(21,27,32,.78);color:#fff;font-size:.6rem;font-weight:750;letter-spacing:.03em;backdrop-filter:blur(5px); }
.catalog-card__visual--editorial img { object-fit:cover; }
.catalog-card__visual--fallback { background:linear-gradient(135deg,var(--c-dark),var(--c-primary-d)); }
.catalog-card__visual--fallback::before,.catalog-card__visual--fallback::after { content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.08) }
.catalog-card__visual--fallback span { position:relative;z-index:1;display:grid;place-items:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:#fff;font-weight:850; }
.catalog-card__body { min-height: 350px; display: flex; flex-direction: column; padding: var(--space-3); }
.catalog-card__meta { display: flex; flex-wrap: wrap; gap: .35rem; margin-bottom: .65rem; }
.catalog-card__meta span { padding: .2rem .48rem; border-radius: 999px; background: rgba(1,154,124,.09); color: var(--c-primary-d); font-size: .65rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.catalog-card__meta span:last-child { background: var(--c-bg); color: var(--c-muted); }
.catalog-card h3 { font-family: var(--font-body); font-size: 1.05rem; line-height: 1.3; margin-bottom: .5rem; }
.catalog-card p { color: var(--c-muted); font-size: .86rem; line-height: 1.55; }
.catalog-card__tip { margin:.1rem 0 var(--space-2);padding:.65rem .75rem;border-radius:10px;background:var(--c-bg);font-size:.76rem;line-height:1.45; }
.catalog-card__tip strong,.catalog-card__tip span { display:block; }.catalog-card__tip strong{color:var(--c-primary-d);text-transform:uppercase;letter-spacing:.05em;font-size:.62rem;margin-bottom:.18rem}.catalog-card__tip span{color:var(--c-muted)}
.catalog-card__action { margin-top: auto; color: var(--c-primary-d); text-decoration: none; font-size: .82rem; font-weight: 800; }
.catalog-card__action:hover { text-decoration: underline; text-underline-offset: 3px; }
.catalog-empty { padding: var(--space-5); border: 1px dashed var(--c-border); border-radius: var(--radius); text-align: center; color: var(--c-muted); background: #fff; }
.catalog .note { margin-top: var(--space-4); }
.brand-strip { overflow: hidden; background: #fff; border-block: 1px solid var(--c-border); }
.brand-strip__inner { display: flex; align-items: center; gap: var(--space-3); padding-block: var(--space-3); overflow-x: auto; scrollbar-width: thin; }
.brand-strip__inner > span { white-space: nowrap; color: var(--c-muted); font-size: .86rem; font-weight: 750; }
.brand-strip__inner .brand-strip__title { color: var(--c-primary-d); text-transform: uppercase; letter-spacing: .09em; font-size: .7rem; padding-right: var(--space-2); border-right: 1px solid var(--c-border); }
.decision { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-6); align-items: start; }
.decision__head { position: sticky; top: 100px; }
.decision__list { list-style: none; margin: 0; padding: 0; }
.decision__list li { display: grid; grid-template-columns: 52px 1fr; gap: var(--space-3); padding: var(--space-3) 0; border-bottom: 1px solid var(--c-border); }
.decision__list li:first-child { padding-top: 0; }
.decision__list li > span { display: grid; place-items: center; align-self: start; width: 52px; height: 52px; border-radius: 50%; background: rgba(1,154,124,.1); color: var(--c-primary-d); font-weight: 800; }
.decision__list h3 { font-family: var(--font-body); font-size: 1.08rem; margin: 0 0 .25rem; }
.decision__list p { color: var(--c-muted); margin: 0; font-size: .95rem; }

.quick-nav { background: #fff; border-bottom: 1px solid var(--c-border); }
.quick-nav__inner { display: grid; grid-template-columns: repeat(6,1fr); }
.quick-nav a { padding: var(--space-2); border-right: 1px solid var(--c-border); color: var(--c-dark); text-decoration: none; font-weight: 700; text-align: center; font-size: .86rem; }
.quick-nav a:first-child { border-left: 1px solid var(--c-border); }
.quick-nav a:hover { color: var(--c-primary-d); background: rgba(1,154,124,.055); }
.quick-nav a span { display: block; color: var(--c-primary); font-size: .7rem; letter-spacing: .1em; }
.home-feature--seeds { background: linear-gradient(135deg,#e9f6f2,#f7f8f8); padding: var(--space-6) 0; }
.home-feature__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-6); align-items: center; }
.home-feature__grid--reverse .home-feature__copy { order: 2; }
.choice-cloud { min-height: 390px; position: relative; display: grid; place-items: center; }
.choice-cloud::before { content: "SEMILLAS"; display: grid; place-items: center; width: 190px; height: 190px; border-radius: 50%; background: var(--c-dark); color: #fff; font-family: var(--font-display); font-size: 1.35rem; letter-spacing: .08em; box-shadow: 0 24px 60px rgba(21,27,32,.18); }
.choice-cloud span { position: absolute; padding: .55rem .85rem; background: #fff; border: 1px solid rgba(1,154,124,.25); border-radius: 999px; font-size: .82rem; font-weight: 750; color: var(--c-primary-d); box-shadow: 0 8px 24px rgba(21,27,32,.08); }
.choice-cloud span:nth-child(1){top:3%;left:36%}.choice-cloud span:nth-child(2){top:17%;right:3%}.choice-cloud span:nth-child(3){top:45%;right:0}.choice-cloud span:nth-child(4){bottom:14%;right:10%}.choice-cloud span:nth-child(5){bottom:1%;left:40%}.choice-cloud span:nth-child(6){bottom:14%;left:5%}.choice-cloud span:nth-child(7){top:45%;left:0}.choice-cloud span:nth-child(8){top:16%;left:4%}.choice-cloud span:nth-child(9){top:0;right:12%}.choice-cloud span:nth-child(10){bottom:0;right:20%}
.cbd-showcase { display: grid; gap: var(--space-2); }
.cbd-showcase a { display: flex; flex-direction: column; padding: var(--space-3); min-height: 110px; justify-content: center; border-radius: 18px; background: var(--c-dark); color: #fff; text-decoration: none; border-left: 5px solid var(--c-primary); transition: transform .2s, background .2s; }
.cbd-showcase a:hover { transform: translateX(5px); background: var(--c-dark-2); color: #fff; }
.cbd-showcase strong { font-family: var(--font-display); font-size: 1.3rem; }
.cbd-showcase span { color: #b7c7c2; font-size: .9rem; margin-top: .25rem; }
@media (max-width:1100px){.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.family-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog__head{grid-template-columns:1fr}}
@media (max-width:860px){.quick-nav__inner{grid-template-columns:repeat(3,1fr)}.home-feature__grid{grid-template-columns:1fr;gap:var(--space-4)}.home-feature__grid--reverse .home-feature__copy{order:initial}}
@media (max-width:700px){.category-intro,.decision{grid-template-columns:1fr;gap:var(--space-3)}.decision__head{position:static}.family-grid{grid-template-columns:1fr}}
@media (max-width:560px){.quick-nav{overflow-x:auto}.quick-nav__inner{width:max-content;display:flex}.quick-nav a{min-width:130px}.choice-cloud{min-height:auto;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.choice-cloud::before{width:100%;height:auto;border-radius:16px;padding:1rem}.choice-cloud span{position:static}.catalog-grid{grid-template-columns:1fr}.catalog-card{display:grid;grid-template-columns:120px 1fr}.catalog-card__visual{height:100%;min-height:210px}.catalog-card__visual img{object-fit:contain}.catalog-card__visual--editorial img{object-fit:cover}.catalog-card__body{min-height:0;padding:var(--space-2)}.catalog-card p{margin-bottom:.7rem}.catalog-card__tip{display:none}.catalog-card__visual figcaption{font-size:.54rem;left:.3rem;bottom:.3rem}}

/* Bandas CTA y enlaces */
.cta-band { background: var(--c-dark); color: #fff; border-radius: var(--radius); padding: var(--space-5); text-align: center; margin: var(--space-4) 0; }
.cta-band h2 { color: #fff; }
.cta-band p { opacity: .9; }
.links-grid { list-style: none; margin: var(--space-3) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap: .6rem; }
.links-grid a { display: block; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); padding: var(--space-2) var(--space-3); text-decoration: none; color: var(--c-text); font-weight: 600; transition: border-color .15s, transform .15s; }
.links-grid a:hover { border-color: var(--c-primary); transform: translateX(4px); }
.links-list { list-style: none; margin: var(--space-3) 0 0; padding: 0; display: grid; gap: .4rem; }
.links-list a { text-decoration: none; color: var(--c-primary-d); font-weight: 600; }

/* FAQ (details/summary) */
.faq details { background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); margin-bottom: .6rem; overflow: hidden; }
.faq summary { cursor: pointer; padding: var(--space-3); font-weight: 700; color: var(--c-dark); list-style: none; position: relative; min-height: 44px; display: flex; align-items: center; padding-right: 3rem; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: var(--space-3); font-size: 1.4rem; color: var(--c-primary); transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 var(--space-3) var(--space-3); margin: 0; color: var(--c-muted); }

/* Ficha de producto */
.producto { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
.producto__media img { border-radius: var(--radius); width: 100%; }
.spec-table { width: 100%; border-collapse: collapse; margin: var(--space-2) 0; }
.spec-table th, .spec-table td { text-align: left; padding: .6rem .4rem; border-bottom: 1px solid var(--c-border); }
.spec-table th { color: var(--c-muted); font-weight: 600; width: 40%; }
@media (max-width: 760px) { .producto { grid-template-columns: 1fr; gap: var(--space-3); } }

/* Hub de calculadoras */
.calc-hub-hero { position: relative; overflow: hidden; background: var(--c-dark); color: #dce8e4; }
.calc-hub-hero::before { content:""; position:absolute; inset:-50% -15% auto 50%; height:700px; background:radial-gradient(circle,rgba(1,184,148,.28),transparent 62%); }
.calc-hub-hero__grid { position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:var(--space-6); align-items:center; min-height:570px; padding-block:var(--space-8); }
.calc-hub-hero h1 { color:#fff; font-size:clamp(2.7rem,6vw,5.3rem); max-width:760px; letter-spacing:-.035em; }
.calc-hub-hero .lead { color:#c6d4d0; max-width:650px; }
.calc-hub-hero__actions { display:flex; flex-wrap:wrap; gap:var(--space-2); margin-top:var(--space-4); }
.calc-orbit { position:relative; width:min(420px,90vw); aspect-ratio:1; margin:auto; border:1px solid rgba(255,255,255,.13); border-radius:50%; }
.calc-orbit::before,.calc-orbit::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.1); border-radius:50%; }
.calc-orbit::before { inset:13%; }.calc-orbit::after { inset:29%; }
.calc-orbit__core { position:absolute; inset:50% auto auto 50%; z-index:2; transform:translate(-50%,-50%); display:grid; place-items:center; width:145px; height:145px; border-radius:50%; background:var(--c-primary); color:#fff; box-shadow:0 0 70px rgba(1,184,148,.35); }
.calc-orbit__core strong { font:700 3.2rem/1 var(--font-display); }.calc-orbit__core span { position:static!important; transform:none!important; background:none!important; border:0!important; width:auto!important; height:auto!important; color:#fff!important; font-size:.72rem!important; }
.calc-orbit > span { position:absolute; display:grid; place-items:center; width:66px; height:66px; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:var(--c-dark-2); color:var(--c-primary-l); font-weight:850; }
.calc-orbit > span:nth-of-type(1){top:3%;left:43%}.calc-orbit > span:nth-of-type(2){top:42%;right:-5%}.calc-orbit > span:nth-of-type(3){bottom:2%;left:42%}.calc-orbit > span:nth-of-type(4){top:42%;left:-5%}
.calc-hub-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3); }
.calc-hub-card { min-height:340px; display:flex; flex-direction:column; padding:var(--space-4); border:1px solid var(--c-border); border-radius:24px; background:#fff; color:inherit; text-decoration:none; transition:transform .2s,box-shadow .2s,border-color .2s; }
.calc-hub-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(21,27,32,.11); border-color:rgba(1,154,124,.4); color:inherit; }
.calc-hub-card__top { display:flex; justify-content:space-between; align-items:start; margin-bottom:var(--space-4); }
.calc-hub-card__icon { display:grid; place-items:center; width:68px; height:68px; border-radius:18px; background:var(--c-dark); color:var(--c-primary-l); font-weight:850; font-size:.83rem; }
.calc-hub-card__num { color:#cdd4d7; font:700 2rem/1 var(--font-display); }
.calc-hub-card__kicker { color:var(--c-primary-d); text-transform:uppercase; letter-spacing:.09em; font-size:.72rem; font-weight:800; }
.calc-hub-card h2 { font-size:clamp(1.55rem,3vw,2.1rem); }.calc-hub-card > p:not(.calc-hub-card__kicker) { color:var(--c-muted); max-width:48ch; }
.calc-hub-card__link { margin-top:auto; color:var(--c-primary-d); font-weight:800; }
.calc-process { background:linear-gradient(125deg,var(--c-primary-d),var(--c-primary)); color:#fff; }
.calc-process__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-4); padding-block:var(--space-5); }
.calc-process__grid > div { display:grid; grid-template-columns:46px 1fr; column-gap:var(--space-2); align-items:center; }
.calc-process__grid span { grid-row:1/3; display:grid; place-items:center; width:46px;height:46px;border:1px solid rgba(255,255,255,.35);border-radius:50%;font-weight:850; }
.calc-process__grid strong { color:#fff; }.calc-process__grid p { margin:0;color:rgba(255,255,255,.78);font-size:.86rem; }
.calc-crosslink { display:flex; align-items:center; justify-content:space-between; gap:var(--space-5); }.calc-crosslink__actions{display:flex;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0}

/* Calculadora individual */
.calc-page-hero { background:linear-gradient(135deg,#fff 0%,#eff8f5 100%); border-bottom:1px solid var(--c-border); overflow:hidden; }
.calc-page-hero__grid { display:grid; grid-template-columns:1.2fr .8fr; gap:var(--space-5); align-items:center; min-height:390px; padding-block:var(--space-6); }
.calc-page-hero h1 { font-size:clamp(2.3rem,5vw,4.2rem); letter-spacing:-.03em; max-width:820px; }
.calc-page-hero__mark { display:grid; place-items:center; justify-self:center; width:250px;height:250px;border-radius:50%;background:var(--c-dark);box-shadow:0 30px 80px rgba(21,27,32,.18),0 0 0 30px rgba(1,154,124,.08); }
.calc-page-hero__mark span { color:var(--c-primary-l); font:800 2.4rem var(--font-body); }
.calc-workspace { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:var(--space-4); align-items:start; }
.calc-workspace__main { background:#fff; border:1px solid var(--c-border); border-radius:24px; padding:var(--space-4); box-shadow:0 14px 42px rgba(21,27,32,.06); }
.calc-workspace__label { display:flex;align-items:center;gap:.7rem;color:var(--c-dark);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-3); }
.calc-workspace__label span { display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--c-dark);color:#fff;font-size:.68rem; }
.calc-form--premium { margin:0; padding:0; border:0; background:none; gap:var(--space-4); }
.calc-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-2); }
.calc-fields .calc-field:last-child:nth-child(odd){grid-column:1/-1}
.calc-field { display:grid; gap:.5rem; padding:var(--space-2); border:1px solid var(--c-border); border-radius:16px; background:var(--c-bg); color:var(--c-muted); font-size:.78rem; font-weight:750; }
.calc-field input,.calc-field select { width:100%; min-height:52px; padding:.7rem .8rem; border:0; border-radius:10px; background:#fff; color:var(--c-dark); font:750 1.15rem var(--font-body); box-shadow:0 2px 8px rgba(21,27,32,.05); }
.calc-output-wrap { padding-top:var(--space-4); border-top:1px solid var(--c-border); }
.calc-result--premium { min-height:190px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:var(--space-4); border-radius:20px; background:linear-gradient(125deg,var(--c-dark),var(--c-dark-2)); color:#fff; }
.calc-result__label { color:var(--c-primary-l); text-transform:uppercase; letter-spacing:.1em; font-size:.72rem; font-weight:850; }
.calc-result--premium strong { display:block; margin:.25rem 0; color:#fff; font:700 clamp(2.4rem,7vw,4.7rem)/1 var(--font-display); letter-spacing:-.04em; }
.calc-result__detail { color:#c5d1ce; font-size:.92rem; }
.calc-output-wrap > p { color:var(--c-muted); font-size:.84rem; margin:var(--space-2) 0 0; }
.calc-guide { position:sticky;top:90px;padding:var(--space-4);border-radius:24px;background:var(--c-dark);color:#c8d5d1; }
.calc-guide h2 { color:#fff; }.calc-guide ul{list-style:none;padding:0;margin:var(--space-3) 0;display:grid;gap:var(--space-2)}.calc-guide li{display:grid;grid-template-columns:28px 1fr;gap:.6rem;font-size:.9rem}.calc-guide li span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(1,184,148,.16);color:var(--c-primary-l);font-weight:850}.calc-guide__cta{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.12)}.calc-guide__cta strong{color:#fff}.calc-guide__cta p{font-size:.86rem}
.calc-more__grid { display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2) }.calc-more__grid a{display:grid;grid-template-columns:48px 1fr auto;gap:var(--space-2);align-items:center;padding:var(--space-2);border:1px solid var(--c-border);border-radius:16px;background:#fff;color:inherit;text-decoration:none}.calc-more__grid a:hover{border-color:var(--c-primary);color:inherit}.calc-more__grid a>span{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--c-dark);color:var(--c-primary-l);font-size:.7rem;font-weight:850}.calc-more__grid strong,.calc-more__grid small{display:block}.calc-more__grid small{color:var(--c-muted)}.calc-more__grid b{color:var(--c-primary)}

/* Iluminación LED */
.lighting-planner { background:var(--c-dark);color:#c5d1ce; }.lighting-planner h2{color:#fff}.lighting-planner__head{display:flex;justify-content:space-between;align-items:end;gap:var(--space-5);margin-bottom:var(--space-4)}.lighting-planner__head>div{max-width:720px}.lighting-size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.lighting-size{position:relative;min-height:270px;padding:var(--space-3);border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.055);overflow:hidden}.lighting-size__num{display:block;color:rgba(255,255,255,.28);font:700 1.5rem var(--font-display);margin-bottom:var(--space-4)}.lighting-size strong,.lighting-size b{display:block}.lighting-size strong{color:#fff;font-size:1.12rem}.lighting-size b{color:var(--c-primary-l);font:700 2rem var(--font-display);margin:.2rem 0 .7rem}.lighting-size p{font-size:.86rem}.lighting-size small{position:absolute;bottom:var(--space-3);color:#91a39e}
.lighting-criteria{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--space-6);align-items:start}.lighting-criteria__intro{position:sticky;top:100px}.lighting-criteria__list article{display:grid;grid-template-columns:72px 1fr;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--c-border)}.lighting-criteria__list article>span{color:var(--c-primary);font:700 1.6rem var(--font-display)}.lighting-criteria__list h3{font-family:var(--font-body);font-size:1.15rem}.lighting-criteria__list p{color:var(--c-muted);margin:0}
.lighting-tech{background:#eaf5f2}.lighting-tech-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2)}.lighting-tech-grid article{padding:var(--space-4);border:1px solid rgba(1,154,124,.16);border-radius:20px;background:#fff}.lighting-tech-grid h3{font-size:1.4rem}.lighting-tech-grid dl{margin:0}.lighting-tech-grid dl div{display:grid;grid-template-columns:105px 1fr;gap:var(--space-2);padding:.65rem 0;border-bottom:1px solid var(--c-border)}.lighting-tech-grid dl div:last-child{border:0}.lighting-tech-grid dt{color:var(--c-primary-d);font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.lighting-tech-grid dd{margin:0;color:var(--c-muted);font-size:.9rem}

@media(max-width:900px){.calc-hub-hero__grid,.calc-page-hero__grid,.calc-workspace,.lighting-criteria{grid-template-columns:1fr}.calc-orbit{width:320px}.calc-page-hero__mark{width:170px;height:170px}.calc-guide,.lighting-criteria__intro{position:static}.lighting-size-grid{grid-template-columns:repeat(2,1fr)}.calc-more__grid{grid-template-columns:1fr}.lighting-planner__head{align-items:start;flex-direction:column}}
@media(max-width:700px){.calc-hub-grid,.calc-process__grid,.lighting-tech-grid{grid-template-columns:1fr}.calc-crosslink{align-items:flex-start;flex-direction:column}.calc-fields{grid-template-columns:1fr}.calc-fields .calc-field:last-child:nth-child(odd){grid-column:auto}.calc-hub-hero__grid{min-height:auto}.calc-orbit{width:260px}.calc-page-hero__mark{display:none}}
@media(max-width:520px){.lighting-size-grid{grid-template-columns:1fr}.lighting-size{min-height:230px}.calc-workspace__main,.calc-guide{padding:var(--space-3)}.calc-result--premium strong{font-size:2.55rem}.calc-hub-card{min-height:300px}.calc-process__grid>div{grid-template-columns:40px 1fr}}

/* Comparadores */
.table-wrap { overflow-x: auto; margin: var(--space-3) 0; border-radius: var(--radius); border: 1px solid var(--c-border); }
.cmp-table { width: 100%; border-collapse: collapse; background: #fff; min-width: 520px; }
.cmp-table th[scope="col"] { background: var(--c-dark); color: #fff; text-align: left; padding: .9rem; font-size: .92rem; }
.cmp-table th[scope="row"] { text-align: left; font-weight: 700; }
.cmp-table td, .cmp-table th[scope="row"] { padding: .8rem .9rem; border-bottom: 1px solid var(--c-border); }
.cmp-table tbody tr:hover { background: var(--c-bg); }
.cmp-cta { background: #fff; border: 1px dashed var(--c-primary); border-radius: var(--radius); padding: var(--space-3); display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-3); }

/* Tienda */
.tienda-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); align-items: start; }
.tienda-info h2 { margin-top: var(--space-3); font-size: 1.3rem; }
.tienda-info h2:first-child { margin-top: 0; }
.nap { font-size: 1.05rem; line-height: 1.7; }
.tienda-actions { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-3); }
.tienda-media img { border-radius: var(--radius); width: 100%; }
.map-wrap { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--c-border); margin-bottom: var(--space-4); }
.map-wrap iframe { display: block; }
.tienda-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
.tienda-gallery img { border-radius: var(--radius); }
@media (max-width: 880px) { .tienda-grid { grid-template-columns: 1fr; gap: var(--space-3); } .tienda-gallery { grid-template-columns: 1fr; } }

/* Contacto */
.contact-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap: var(--space-3); margin-top: var(--space-4); }
.contact-card { background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); padding: var(--space-3); }
.contact-card h2 { font-size: 1.15rem; margin-bottom: .4rem; }

/* Presupuesto */
.presupuesto-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: var(--space-3); margin: var(--space-4) 0; }
.presupuesto-steps > div { background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); padding: var(--space-3); }
.presupuesto-steps .num { display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--c-primary); color: #fff; font-weight: 700; margin-bottom: .5rem; }

/* Sobre nosotros */
.about-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: var(--space-5); align-items: center; margin-bottom: var(--space-5); }
.about-hero__media img { border-radius: var(--radius); width: 100%; }
@media (max-width: 880px) { .about-hero { grid-template-columns: 1fr; gap: var(--space-3); } }

/* 404 */
.error-page { padding-block: var(--space-8); }
.error-actions { display: flex; gap: var(--space-2); flex-wrap: wrap; justify-content: center; margin-top: var(--space-3); }
.error-page .links-grid { max-width: 560px; margin-inline: auto; }

/* Héroes editoriales */
.page-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#11181d,#15302b);color:#c7d5d1}.page-hero::before{content:"";position:absolute;width:620px;height:620px;right:-220px;top:-330px;border-radius:50%;background:radial-gradient(circle,rgba(1,184,148,.28),transparent 65%)}.page-hero__grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-6);align-items:center;min-height:520px;padding-block:var(--space-8)}.page-hero h1{color:#fff;font-size:clamp(2.7rem,6vw,5.2rem);letter-spacing:-.045em;max-width:900px}.page-hero .lead{color:#c7d5d1;max-width:680px}.page-hero__actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.page-hero__stats{display:flex;gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.12)}.page-hero__stats span{color:#94aaa3;font-size:.7rem;text-transform:uppercase}.page-hero__stats strong{display:block;color:#fff;font:700 1.5rem var(--font-display)}.page-hero__visual{position:relative;display:grid;place-items:center;justify-self:center;width:310px;aspect-ratio:1;border:1px solid rgba(255,255,255,.15);border-radius:50%}.page-hero__visual strong{color:#fff;font:700 4.2rem var(--font-display)}.page-hero__visual>span{position:absolute;bottom:21%;color:var(--c-primary-l);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.page-hero__ring{position:absolute;inset:14%;border:1px solid rgba(255,255,255,.1);border-radius:50%}.page-hero--ink{background:linear-gradient(125deg,#15191d,#252b31)}.page-hero--local{background:linear-gradient(125deg,#162019,#28523e)}.page-hero--knowledge{background:linear-gradient(125deg,#161a22,#263c42)}

.advisor{max-width:1050px}.advisor__form,.advisor-result{padding:var(--space-5);border:1px solid var(--c-border);border-radius:26px;background:#fff;box-shadow:0 18px 55px rgba(21,27,32,.08)}.advisor__progress{height:5px;background:var(--c-border);border-radius:99px;margin-bottom:var(--space-5);overflow:hidden}.advisor__progress span{display:block;height:100%;background:var(--c-primary);transition:width .25s}.advisor fieldset{border:0;padding:0;margin:0}.advisor legend{font:700 clamp(1.6rem,4vw,2.5rem) var(--font-display);margin-bottom:var(--space-4)}.advisor legend span{color:var(--c-primary);margin-right:.5rem}.advisor-options{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.advisor-options label{position:relative;display:flex;flex-direction:column;min-height:145px;padding:var(--space-3);border:2px solid var(--c-border);border-radius:18px;cursor:pointer}.advisor-options input{position:absolute;opacity:0}.advisor-options label:has(input:checked){border-color:var(--c-primary);background:rgba(1,154,124,.06)}.advisor-options b{font-size:1rem}.advisor-options small{color:var(--c-muted);margin-top:.3rem}.advisor__nav{display:flex;justify-content:space-between;margin-top:var(--space-4)}.advisor-result__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin:var(--space-4) 0}.advisor-result__grid article{padding:var(--space-3);border-radius:16px;background:var(--c-bg)}.advisor-result__grid span,.advisor-result__grid strong{display:block}.advisor-result__grid span{color:var(--c-primary-d);font-size:.68rem;font-weight:850;text-transform:uppercase}.advisor-result__grid strong{margin-top:.3rem}
.brand-page-grid,.knowledge-grid,.local-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.brand-page-card,.knowledge-grid a{display:flex;flex-direction:column;min-height:300px;padding:var(--space-4);border:1px solid var(--c-border);border-radius:22px;background:#fff;color:inherit;text-decoration:none}.brand-page-card>span{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--c-dark);color:var(--c-primary-l);font-weight:850}.brand-page-card small{color:var(--c-primary-d);margin-top:var(--space-3);text-transform:uppercase}.brand-page-card p,.knowledge-grid p{color:var(--c-muted)}.brand-page-card b,.knowledge-grid b{margin-top:auto;color:var(--c-primary-d)}.brand-focus{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:var(--space-5)}.brand-focus span{padding:.6rem 1rem;border-radius:999px;background:var(--c-dark);color:#fff;font-weight:750}.mini-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.mini-product-grid a{display:flex;flex-direction:column;padding:var(--space-2);border:1px solid var(--c-border);border-radius:16px;background:#fff;color:inherit;text-decoration:none}.mini-product-grid img{width:100%;aspect-ratio:4/3;object-fit:contain}.mini-product-grid small{color:var(--c-primary-d)}
.product-detail{padding:var(--space-7,80px) 0;background:linear-gradient(135deg,#fff,#edf7f4)}.product-detail__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);align-items:center}.product-detail__media{padding:var(--space-4);border-radius:26px;background:#fff;box-shadow:0 22px 65px rgba(21,27,32,.1)}.product-detail__media img{width:100%;aspect-ratio:4/3;object-fit:contain}.product-detail__facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin:var(--space-4) 0}.product-detail__facts div{padding:var(--space-2);border-radius:14px;background:#fff}.product-detail__facts small,.product-detail__facts strong{display:block}.product-detail__facts small{color:var(--c-primary-d);text-transform:uppercase;font-size:.65rem}.product-detail__actions{display:flex;gap:var(--space-2);flex-wrap:wrap}
.availability{align-self:flex-start;display:inline-flex;padding:.3rem .6rem;border-radius:999px;font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.6rem}.availability--habitual{background:#e5f7ef;color:#087653}.availability--order{background:#fff2d8;color:#8a5b00}.availability--alternatives{background:#e9eefb;color:#315b9d}.availability--ask{background:#f0f1f2;color:#5b6770}.catalog-card__tools{display:flex;gap:.4rem;margin-bottom:.6rem}.catalog-card__tools button{padding:.4rem .55rem;border:1px solid var(--c-border);border-radius:8px;background:#fff;color:var(--c-muted);font-size:.7rem;font-weight:750;cursor:pointer}.catalog-card__tools button.is-active{border-color:var(--c-primary);color:var(--c-primary-d);background:rgba(1,154,124,.07)}
.selection-dock{position:fixed;left:50%;bottom:1.25rem;z-index:120;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:min(92%,720px);padding:.75rem 1rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(21,27,32,.94);color:#fff;box-shadow:0 15px 50px rgba(0,0,0,.3);backdrop-filter:blur(10px)}.selection-dock[hidden]{display:none}.selection-dock button{border:0;border-radius:999px;padding:.55rem .75rem;background:var(--c-primary);color:#fff;font-weight:750;cursor:pointer}.selection-dock button+button{background:#fff;color:var(--c-dark)}.compare-dialog{width:min(92%,850px);border:0;border-radius:24px;padding:var(--space-5);box-shadow:0 30px 90px rgba(0,0,0,.35)}.compare-dialog::backdrop{background:rgba(8,12,14,.7);backdrop-filter:blur(4px)}.compare-dialog__close{position:absolute;right:1rem;top:1rem;border:0;background:none;font-size:2rem}.compare-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.compare-cards article{padding:var(--space-3);border-radius:16px;background:var(--c-bg)}.compare-cards small{color:var(--c-primary-d)}.compare-cards button{border:0;background:none;color:#a43b3b;cursor:pointer}.local-grid article{padding:var(--space-4);border-radius:20px;background:#fff;border:1px solid var(--c-border)}.local-grid article>span{color:var(--c-primary-d);font-size:.68rem;text-transform:uppercase}.local-grid article>strong{display:block;color:var(--c-primary-d);font-size:.85rem}.knowledge-grid a>span{color:var(--c-primary);font:700 1.5rem var(--font-display)}.knowledge-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-5)}.knowledge-shortcuts a{padding:var(--space-3);border-radius:16px;background:var(--c-dark);color:#fff;text-decoration:none}.knowledge-shortcuts strong,.knowledge-shortcuts span{display:block}.knowledge-shortcuts span{color:var(--c-primary-l)}
@media(max-width:900px){.page-hero__grid,.product-detail__grid{grid-template-columns:1fr}.page-hero__visual{width:230px}.brand-page-grid,.knowledge-grid,.local-grid{grid-template-columns:repeat(2,1fr)}.mini-product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.page-hero__grid{min-height:auto;padding-block:var(--space-6)}.page-hero__visual{display:none}.advisor-options{grid-template-columns:1fr 1fr}.brand-page-grid,.knowledge-grid,.local-grid,.advisor-result__grid,.compare-cards{grid-template-columns:1fr}.selection-dock{bottom:.6rem;border-radius:18px;flex-direction:column;gap:.5rem}.selection-dock>div:last-child{display:flex;gap:.4rem}.product-detail__facts{grid-template-columns:1fr}.knowledge-shortcuts{grid-template-columns:1fr}}

/* Tienda: respeta la orientación y proporción nativa */
.tienda-media,.tienda-gallery figure{margin:0;position:relative;overflow:hidden;border-radius:22px;background:#fff;border:1px solid var(--c-border);box-shadow:0 18px 50px rgba(21,27,32,.08)}
.tienda-media picture,.tienda-gallery picture{display:block;width:100%}.tienda-media img,.tienda-gallery img{display:block;width:100%;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;transform:none!important;image-orientation:from-image}
.tienda-media figcaption,.tienda-gallery figcaption{position:absolute;left:.75rem;bottom:.75rem;padding:.4rem .65rem;border-radius:999px;background:rgba(21,27,32,.78);color:#fff;font-size:.68rem;font-weight:750;backdrop-filter:blur(8px)}
.tienda-gallery figure:hover img{transform:scale(1.015)!important;transition:transform .45s cubic-bezier(.2,.8,.2,1)}

/* Asistente avanzado de conversión */
.advisor-shell{position:relative;padding:clamp(3.5rem,7vw,7rem) 0;background:linear-gradient(145deg,#eef8f5 0%,#f7f8f8 45%,#fff 100%);overflow:hidden}.advisor-shell::before{content:"";position:absolute;width:700px;height:700px;right:-380px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(1,184,148,.14),transparent 65%)}
.advisor-shell__grid{position:relative;display:grid;grid-template-columns:330px minmax(0,1fr);gap:var(--space-4);align-items:start}.advisor-context{position:sticky;top:92px;padding:var(--space-4);border-radius:26px;background:var(--c-dark);color:#c4d1cd;box-shadow:0 25px 70px rgba(21,27,32,.2)}.advisor-context h2{color:#fff}.advisor-context ol{list-style:none;margin:var(--space-4) 0;padding:0;display:grid;gap:.4rem}.advisor-context li{display:grid;grid-template-columns:34px 1fr;gap:.65rem;align-items:center;padding:.55rem;border-radius:12px;transition:background .2s}.advisor-context li.is-complete{background:rgba(1,184,148,.11)}.advisor-context li>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.15);font-size:.65rem;font-weight:850}.advisor-context li.is-complete>span{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.advisor-context small,.advisor-context strong{display:block}.advisor-context small{color:#78928a;font-size:.6rem;text-transform:uppercase;letter-spacing:.07em}.advisor-context strong{color:#fff;font-size:.78rem}.advisor-context>p:last-child{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.1);font-size:.75rem;color:#8da39c}
.advisor-stage{min-width:0}.advisor-stage__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.advisor-stage__top span,.advisor-stage__top strong{display:block}.advisor-stage__top span{color:var(--c-primary-d);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.advisor-stage__top strong{font-size:.95rem}.advisor-stage__percent{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#fff;border:1px solid var(--c-border);color:var(--c-primary-d);font-weight:850;box-shadow:0 8px 25px rgba(21,27,32,.06)}
.advisor__form--advanced,.advisor-result--advanced{padding:clamp(1.4rem,4vw,3rem);border:1px solid rgba(255,255,255,.8);border-radius:28px;background:rgba(255,255,255,.88);box-shadow:0 24px 70px rgba(21,27,32,.09);backdrop-filter:blur(16px)}.advisor__form--advanced fieldset>p{color:var(--c-muted);margin-top:-1rem;margin-bottom:var(--space-3)}
.advisor-options--3{grid-template-columns:repeat(3,1fr)}.advisor-options--4{grid-template-columns:repeat(4,1fr)}.advisor__form--advanced .advisor-options label{border:1px solid var(--c-border);border-radius:20px;background:#fff;box-shadow:0 4px 16px rgba(21,27,32,.035);transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .22s,background .22s}.advisor__form--advanced .advisor-options label:hover{transform:translateY(-4px);border-color:rgba(1,154,124,.45);box-shadow:0 14px 35px rgba(1,154,124,.11)}.advisor__form--advanced .advisor-options label:has(input:checked){border-color:var(--c-primary);background:linear-gradient(145deg,rgba(1,154,124,.1),#fff);box-shadow:0 0 0 3px rgba(1,154,124,.1),0 15px 35px rgba(1,154,124,.1);transform:translateY(-3px)}.advisor__form--advanced .advisor-options label:has(input:checked)::after{content:"✓";position:absolute;right:.8rem;top:.8rem;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--c-primary);color:#fff;font-weight:850}
.advisor-custom{display:grid;grid-template-columns:auto 1fr 1fr;gap:var(--space-2);align-items:end;margin-top:var(--space-3);padding:var(--space-2);border-radius:16px;background:var(--c-bg)}.advisor-custom>span{align-self:center;color:var(--c-primary-d);font-size:.72rem;font-weight:850;text-transform:uppercase}.advisor-custom label,.advisor-text{display:grid;gap:.35rem;color:var(--c-muted);font-size:.75rem;font-weight:750}.advisor-custom input,.advisor-text input,.advisor-text textarea{width:100%;padding:.75rem .85rem;border:1px solid var(--c-border);border-radius:11px;background:#fff;color:var(--c-text);font:500 16px var(--font-body)}.advisor-text{margin-top:var(--space-3)}.advisor-text textarea{resize:vertical}
.advisor-shake{animation:advisorShake .32s ease}.advisor-result--advanced{animation:resultIn .5s cubic-bezier(.2,.8,.2,1)}.advisor-result__head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:start}.advisor-result__head>span{padding:.45rem .7rem;border-radius:999px;background:#e5f7ef;color:#087653;font-size:.68rem;font-weight:850;text-transform:uppercase}.advisor-result--advanced .advisor-result__grid article{position:relative;overflow:hidden}.advisor-result--advanced .advisor-result__grid article::after{content:"";position:absolute;width:90px;height:90px;right:-40px;bottom:-50px;border-radius:50%;background:rgba(1,154,124,.08)}.advisor-result--advanced .advisor-result__grid small{display:block;color:var(--c-muted);font-size:.75rem;margin-top:.4rem}.advisor-result__next{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:center;margin-top:var(--space-4);padding:var(--space-3);border-radius:18px;background:var(--c-dark);color:#c8d5d1}.advisor-result__next strong{color:#fff}.advisor-result__next ol{margin:.5rem 0 0;padding-left:1.2rem;font-size:.82rem}.advisor-reset{display:block;margin:var(--space-3) auto 0;border:0;background:none;color:var(--c-primary-d);text-decoration:underline;cursor:pointer}
@keyframes advisorShake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@keyframes resultIn{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}

/* Microinteracciones 2026 */
.page-hero__visual,.calc-orbit{animation:floatVisual 7s ease-in-out infinite}.cat-hero__media{animation:floatMedia 8s ease-in-out infinite}.card,.cat-card,.catalog-card,.brand-page-card,.knowledge-grid a,.local-grid article{will-change:transform}.btn{position:relative;overflow:hidden}.btn::after{content:"";position:absolute;inset:0;transform:translateX(-120%);background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.35),transparent 80%);transition:transform .65s}.btn:hover::after{transform:translateX(120%)}
@keyframes floatVisual{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(1deg)}}@keyframes floatMedia{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:980px){.advisor-shell__grid{grid-template-columns:1fr}.advisor-context{position:static}.advisor-context ol{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.advisor-options--3,.advisor-options--4{grid-template-columns:1fr 1fr}.advisor-custom{grid-template-columns:1fr 1fr}.advisor-custom>span{grid-column:1/-1}.advisor-result__next{grid-template-columns:1fr}.advisor-result__next .btn{width:100%}}
@media(max-width:700px){.advisor-context{padding:var(--space-3)}.advisor-context ol{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.35rem}.advisor-context li{min-width:175px;scroll-snap-align:start}.advisor-context>p:last-child{display:none}}
@media(max-width:480px){.advisor-options--3,.advisor-options--4{grid-template-columns:1fr}.advisor-result__head{display:block}.advisor-result__head>span{display:inline-flex;margin-bottom:var(--space-2)}}
@media(prefers-reduced-motion:reduce){.page-hero__visual,.calc-orbit,.cat-hero__media{animation:none}.btn::after{display:none}}
