/* =============================================================
   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.05rem,4.2vw,3.5rem);line-height:1.08;letter-spacing:-.03em;max-width:none;text-wrap:balance;text-shadow:0 2px 36px rgba(0,0,0,.28)}.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(1.75rem,7.6vw,2.4rem)}.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; }
/* Sección "¿Qué necesita tu planta ahora?" — tema CLARO, legible y coherente con la página
   (antes era oscuro y, sobre el fondo blanco de la página, el texto blanco no se leía). */
.category-explorer { background: linear-gradient(180deg,#ffffff 0%,#eef6f2 100%); color: var(--c-text); position: relative; overflow: hidden; border-top: 1px solid var(--c-border); }
.category-explorer .eyebrow { color: var(--c-primary-d); }
.category-explorer h2 { color: var(--c-text); }
.category-explorer .muted { color: var(--c-muted); }
.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 var(--c-border); border-radius: 18px; background: #fff; color: var(--c-text); text-decoration: none; box-shadow: 0 6px 20px rgba(21,27,32,.05); transition: transform .2s, border-color .2s, box-shadow .2s; }
.family-card:hover { transform: translateY(-3px); border-color: rgba(1,154,124,.55); box-shadow: 0 16px 36px rgba(1,122,101,.14); color: var(--c-text); }
.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-d); text-transform: uppercase; letter-spacing: .08em; font-size: .7rem; font-weight: 800; margin-bottom: .35rem; }
.family-card h3 { color: var(--c-text); font-family: var(--font-body); font-size: 1.08rem; margin-bottom: .35rem; }
.family-card p { color: var(--c-muted); font-size: .9rem; line-height: 1.55; margin: 0; }
.family-card__link { display: inline-block; color: var(--c-primary-d); font-size: .85rem; font-weight: 800; margin-top: .7rem; }
.family-card--filter { cursor: pointer; text-align: left; font: inherit; width: 100%; }

/* 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: 20px; overflow: hidden; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.catalog-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(1,80,66,.14); border-color: rgba(1,154,124,.5); }
.catalog-card[hidden] { display: none; }
.catalog-card__visual { aspect-ratio: 1 / 1; margin:0; display:grid; place-items:center; position:relative; overflow:hidden; background:linear-gradient(180deg,#fff 0%,#f6faf9 100%); 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 a { 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 a:nth-child(1){top:3%;left:36%}.choice-cloud a:nth-child(2){top:17%;right:3%}.choice-cloud a:nth-child(3){top:45%;right:0}.choice-cloud a:nth-child(4){bottom:14%;right:10%}.choice-cloud a:nth-child(5){bottom:1%;left:40%}.choice-cloud a:nth-child(6){bottom:14%;left:5%}.choice-cloud a:nth-child(7){top:45%;left:0}.choice-cloud a:nth-child(8){top:16%;left:4%}.choice-cloud a:nth-child(9){top:0;right:12%}.choice-cloud a: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:1300px){.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 a{position:static}.catalog-grid{grid-template-columns:1fr}.catalog-card{display:grid;grid-template-columns:120px 1fr;align-items:start}.catalog-card__visual{aspect-ratio:1/1;height:auto;min-height:0;align-self:start}.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); }
/* Guías para profundizar: estilo diferenciado (tarjetas teal con etiqueta) vs "Te puede interesar" */
.guides-grid { list-style: none; margin: var(--space-3) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px,1fr)); gap: .7rem; }
.guides-grid a { display: flex; align-items: center; gap: .7rem; background: #E8F5F1; border: 1px solid #CDE8E0; border-left: 4px solid var(--c-primary); border-radius: var(--radius); padding: var(--space-2) var(--space-3); text-decoration: none; color: var(--c-text); transition: background .15s, transform .15s; }
.guides-grid a:hover { background: #DCEFE8; transform: translateX(4px); }
.guide-tag { flex: none; font-size: .64rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; color: #fff; background: var(--c-primary); border-radius: 999px; padding: .2rem .55rem; }
.guide-title { flex: 1; font-weight: 650; line-height: 1.3; }
.guide-arrow { flex: none; color: var(--c-primary-d); font-weight: 800; }
/* Barra de subcategorías destacada (tipos de la categoría): browsing visual sobre los filtros JS */
.catalog-subcats { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 1.3rem; }
.catalog-subcat { display: inline-flex; align-items: center; gap: .55rem; background: #fff; border: 1.5px solid var(--c-border); border-radius: 999px; padding: .62rem 1.05rem; font-weight: 750; font-size: .95rem; color: var(--c-text); cursor: pointer; transition: border-color .15s, background .15s, transform .15s; min-height: 44px; }
.catalog-subcat:hover { border-color: var(--c-primary); transform: translateY(-1px); }
.catalog-subcat.is-active { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.catalog-subcat__n { font-size: .78rem; font-weight: 800; background: rgba(1,154,124,.10); color: var(--c-primary-d); border-radius: 999px; padding: .12rem .5rem; }
.catalog-subcat.is-active .catalog-subcat__n { background: rgba(255,255,255,.28); color: #fff; }
/* ===== Zona de usuario: gamificación ===== */
.account-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; margin: 1.2rem 0; }
.account-stat { background: #fff; border: 1px solid var(--c-border); border-radius: 14px; padding: 1rem; text-align: center; }
.account-stat__n { display: block; font-size: 1.55rem; font-weight: 850; color: var(--c-primary-d); line-height: 1.1; }
.account-stat__l { display: block; font-size: .74rem; color: var(--c-muted); margin-top: .35rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
@media (max-width: 560px) { .account-stats { grid-template-columns: repeat(2,1fr); } }
.account-progress__head { display: flex; justify-content: space-between; font-size: .82rem; font-weight: 800; color: var(--c-muted); margin-bottom: .4rem; }
.club-roadmap { margin: 2.2rem 0; }
.club-track { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(5,1fr); gap: .7rem; }
.club-node { background: #fff; border: 1.5px solid var(--c-border); border-radius: 16px; padding: 1rem .7rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: .28rem; opacity: .72; transition: transform .15s; }
.club-node--done { opacity: 1; border-color: #cde8e0; background: #f1f9f6; }
.club-node--current { opacity: 1; border-color: var(--c-primary); box-shadow: 0 6px 20px rgba(1,154,124,.18); transform: translateY(-4px); }
.club-node__icon { font-size: 1.9rem; line-height: 1; }
.club-node__name { font-weight: 850; font-size: .95rem; }
.club-node__min { font-size: .72rem; color: var(--c-muted); font-weight: 700; }
.club-node__reward { font-size: .74rem; color: var(--c-text); line-height: 1.25; }
.club-node__badge { margin-top: .35rem; font-size: .68rem; font-weight: 850; padding: .18rem .55rem; border-radius: 999px; background: #e9f3ea; color: var(--c-primary-d); }
.club-node__badge--cur { background: var(--c-primary); color: #fff; }
.club-node__badge--lock { background: #f0f1f2; color: #5b6770; }
@media (max-width: 720px) { .club-track { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 380px) { .club-track { grid-template-columns: 1fr; } }
.account-earn { margin: 2.2rem 0; }
.account-earn__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: .9rem; margin-top: 1rem; }
.account-earn__card { background: #fff; border: 1px solid var(--c-border); border-left: 4px solid var(--c-primary); border-radius: 14px; padding: 1.1rem; }
.account-earn__pts { display: inline-block; font-weight: 850; color: #fff; background: var(--c-primary); border-radius: 999px; padding: .15rem .6rem; font-size: .8rem; margin-bottom: .55rem; }
.account-earn__card strong { display: block; margin-bottom: .25rem; }
.account-earn__card small { color: var(--c-muted); line-height: 1.4; }
@media (max-width: 680px) { .account-earn__grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .catalog-subcats { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: .4rem; margin-inline: calc(-1 * var(--space-3)); padding-inline: var(--space-3); } .catalog-subcat { flex: none; } }
.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(1.95rem,4vw,3.3rem); line-height:1.1; letter-spacing:-.02em; max-width:none; text-wrap:balance; }
.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.05rem,4.4vw,3.6rem);line-height:1.08;letter-spacing:-.03em;max-width:none;text-wrap:balance}.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:1/1;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}}

/* === Precios estilo ecommerce (escaparate sin venta) === */
.catalog-card__visual{position:relative}
.catalog-card__tag{position:absolute;z-index:2;top:.55rem;padding:.26rem .5rem;border-radius:999px;font-size:.64rem;font-weight:850;letter-spacing:.02em;line-height:1}
.catalog-card__tag--off{left:.55rem;background:#e11d48;color:#fff}
.catalog-card__tag--top{right:.55rem;background:#0f1720;color:#ffd84d}
.catalog-card__tag--soon{left:.55rem;top:2.1rem;background:#fff;color:#5b6770;border:1px solid var(--c-border)}
.catalog-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin:.1rem 0 .35rem}
.catalog-price__now{font-size:1.32rem;font-weight:900;color:var(--c-dark)}
.catalog-price__old{font-size:.86rem;color:var(--c-muted);text-decoration:line-through}
.catalog-price__off{padding:.16rem .42rem;border-radius:6px;background:#fde8ee;color:#c01840;font-size:.72rem;font-weight:850}
.catalog-reviews{display:inline-flex;align-items:center;gap:.25rem;color:#8a5b00;font-size:.74rem;font-weight:750;margin-bottom:.35rem}
.catalog-price__note{display:block;color:var(--c-muted);font-size:.68rem;margin-bottom:.55rem}
.product-detail__price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem;margin:.6rem 0 .35rem}
.product-detail__price .catalog-price__now{font-size:1.9rem}

/* === Tarjeta clicable completa + Top ventas + ayuda === */
.catalog-card{position:relative}
.catalog-card__title{color:inherit;text-decoration:none}
.catalog-card__title::after{content:"";position:absolute;inset:0;z-index:1}
.catalog-card:hover .catalog-card__title{color:var(--c-primary-d)}
.catalog-card__tools,.catalog-card__action{position:relative;z-index:2}
.catalog-card__tools button{cursor:pointer}
.catalog-card__action{pointer-events:none}
.catalog-card__action .catalog-card__action-label{text-decoration:underline;text-underline-offset:3px}
.catalog-card--featured{border-color:rgba(1,154,124,.45);box-shadow:0 10px 30px rgba(1,154,124,.1)}
.catalog-grid--featured{margin-top:var(--space-2)}
.featured-catalog .section-head{margin-bottom:var(--space-2)}
.catalog-filter span{display:inline-block;margin-left:.25rem;opacity:.7;font-size:.85em}
.catalog-count{margin:.2rem 0 var(--space-2);color:var(--c-muted);font-size:.82rem;font-weight:700}
.catalog-help{margin:.4rem 0 var(--space-2);padding:var(--space-2);border:1px solid var(--c-border);border-radius:14px;background:var(--c-bg)}
.catalog-help>strong{display:block;color:var(--c-primary-d);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;margin-bottom:.5rem}
.catalog-help ul{margin:0 0 .65rem;padding-left:1.1rem;display:grid;gap:.3rem}
.catalog-help li{font-size:.86rem;color:var(--c-text);line-height:1.5}
.catalog-help__disclaimer{margin:0;padding-top:.6rem;border-top:1px dashed var(--c-border);font-size:.8rem;color:var(--c-muted);line-height:1.55}
@media (max-width:900px){.catalog-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.catalog-grid--featured{grid-template-columns:1fr}}

/* === Blog: portadas === */
.post-card{overflow:hidden;display:flex;flex-direction:column}
.post-card__media{aspect-ratio:16/9;overflow:hidden;background:#0e1620}
.post-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.post-card:hover .post-card__media img{transform:scale(1.04)}
.post__cover{margin:0 0 var(--space-3);border-radius:16px;overflow:hidden;aspect-ratio:16/9;background:#0e1620}
.post__cover img{width:100%;height:100%;object-fit:cover;display:block}

/* === Etiquetas de producto + filtro tag + bloque SEO === */
.catalog-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin:.15rem 0 .5rem}
.catalog-tag{padding:.16rem .42rem;border-radius:6px;background:var(--c-bg);color:var(--c-muted);font-size:.64rem;font-weight:800;letter-spacing:.02em;border:1px solid var(--c-border)}
.catalog-tag--cbd,.catalog-tag--cbg{background:#e5f7ef;color:#087653;border-color:#bfe9d6}
.catalog-tag--auto{background:#eef4ff;color:#315b9d;border-color:#cfddf7}
.catalog-tag--fast{background:#fff2d8;color:#8a5b00;border-color:#f0dcab}
.catalog-tag--1{background:#fde8ee;color:#c01840;border-color:#f6c9d6}
.catalog-tag--oferta{background:#fde8ee;color:#c01840;border-color:#f6c9d6}
.catalog-tag--xxl,.catalog-tag--xl{background:#0f1720;color:#fff;border-color:#0f1720}
.catalog-filter--tag{border-style:dashed}
.catalog-filter--tag.is-active{border-style:solid}
.catalog-seo{padding-top:0}
.catalog-seo__inner{max-width:820px;margin-inline:auto;padding:var(--space-3);border:1px solid var(--c-border);border-radius:16px;background:var(--c-bg)}
.catalog-seo__inner h2{margin-top:0}
.catalog-seo__inner h3{margin-top:1.1rem}

/* === Aviso "tienda física Lleida" en ficha === */
.product-detail__store{margin:.2rem 0 .9rem;padding:.7rem .9rem;border-left:3px solid var(--c-primary);background:rgba(1,154,124,.07);border-radius:0 10px 10px 0;font-size:.9rem;line-height:1.5;color:var(--c-text)}
.product-detail__store strong{color:var(--c-primary-d)}

/* === Filtro por marca === */
.catalog-filters--brand{margin-top:.4rem;align-items:center}
.catalog-filters__label{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--c-muted);margin-right:.2rem}
.catalog-filter--brand{border-style:dotted}
.catalog-filter--brand.is-active{border-style:solid;border-color:var(--c-primary);color:var(--c-primary-d)}

/* === Blog prose: tablas, citas, código === */
.prose .table-wrap{overflow-x:auto;margin:1.4rem 0}
.prose table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:420px}
.prose thead th{background:var(--c-primary-d);color:#fff;text-align:left;padding:.6rem .8rem;font-size:.82rem;letter-spacing:.02em}
.prose tbody td{padding:.55rem .8rem;border-bottom:1px solid var(--c-border);vertical-align:top}
.prose tbody tr:nth-child(even){background:var(--c-bg)}
.prose blockquote{margin:1.5rem 0;padding:1rem 1.2rem;border-left:4px solid var(--c-primary);background:rgba(1,154,124,.06);border-radius:0 12px 12px 0;font-style:italic;color:var(--c-text)}
.prose blockquote p{margin:0;font-size:1.05rem;line-height:1.6}
.prose blockquote cite{display:block;margin-top:.5rem;font-style:normal;font-weight:800;font-size:.82rem;color:var(--c-primary-d)}
.prose code{background:var(--c-bg);padding:.1rem .35rem;border-radius:5px;font-size:.9em}
.prose hr{border:0;border-top:1px solid var(--c-border);margin:2rem 0}
.prose ol{padding-left:1.2rem;display:grid;gap:.35rem}

/* ===================================================================
   BLOG · Artículo — rediseño editorial moderno
   =================================================================== */
.post{padding-bottom:var(--space-6)}
.post-hero{background:linear-gradient(180deg,#fff, var(--c-bg));padding:var(--space-3) 0 var(--space-4)}
.post-hero__inner{max-width:820px;margin-inline:auto}
.post-hero .breadcrumbs{margin-bottom:var(--space-3)}
.post-hero__kicker{display:inline-block;padding:.3rem .7rem;border-radius:999px;background:rgba(1,154,124,.1);color:var(--c-primary-d);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-2)}
.post-hero__title{font-size:clamp(2rem,5vw,3.1rem);line-height:1.08;letter-spacing:-.01em;margin:0 0 var(--space-2)}
.post-hero__lead{font-size:1.18rem;line-height:1.6;color:var(--c-muted);max-width:62ch;margin:0 0 var(--space-3)}
.post-hero__meta{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;font-size:.9rem;color:var(--c-muted)}
.post-hero__author{display:inline-flex;align-items:center;gap:.45rem;font-weight:750;color:var(--c-text)}
.post-hero__dot{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--c-primary-d);color:#fff;font-size:.62rem;font-weight:850;letter-spacing:.02em}

.post__cover{margin:0 auto var(--space-5);border-radius:20px;overflow:hidden;aspect-ratio:16/9;background:#0e1620;box-shadow:0 24px 60px rgba(21,27,32,.14)}
.post__cover img{width:100%;height:100%;object-fit:cover;display:block}

/* Layout: índice + columna de lectura */
.post-layout{display:grid;grid-template-columns:minmax(0,760px);justify-content:center;gap:var(--space-5);align-items:start}
@media(min-width:1080px){.post-layout{grid-template-columns:240px minmax(0,720px)}}

.post-toc{display:none}
@media(min-width:1080px){
  .post-toc{display:block;position:sticky;top:96px;font-size:.86rem}
  .post-toc__title{font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--c-slate);margin:0 0 .8rem}
  .post-toc ol{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;border-left:2px solid var(--c-border)}
  .post-toc li{padding-left:.9rem}
  .post-toc a{color:var(--c-muted);text-decoration:none;line-height:1.4;display:block}
  .post-toc a:hover{color:var(--c-primary-d)}
  .post-toc__cta{margin-top:var(--space-3);padding:var(--space-2);background:var(--c-bg);border:1px solid var(--c-border);border-radius:14px}
  .post-toc__cta p{margin:0 0 .6rem;font-size:.82rem;color:var(--c-muted);font-weight:700}
}

/* Tipografía de lectura */
.post-body{font-size:1.13rem;line-height:1.82;color:#2b343a}
.post-body>p:first-of-type{font-size:1.32rem;line-height:1.6;color:var(--c-text)}
.post-body p{margin:0 0 1.25rem}
.post-body h2{font-size:clamp(1.5rem,3vw,1.95rem);line-height:1.2;margin:2.6rem 0 1rem;padding-top:1.4rem;border-top:1px solid var(--c-border)}
.post-body h2::before{content:"";display:block;width:42px;height:4px;border-radius:2px;background:var(--c-primary);margin-bottom:.9rem}
.post-body h3{font-size:1.28rem;margin:1.8rem 0 .7rem;color:var(--c-dark)}
.post-body>p:first-of-type::first-letter{}

/* Listas con marcador propio */
.post-body ul{list-style:none;padding-left:0;margin:0 0 1.4rem;display:grid;gap:.6rem}
.post-body ul li{position:relative;padding-left:1.7rem}
.post-body ul li::before{content:"";position:absolute;left:.1rem;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--c-primary);box-shadow:0 0 0 4px rgba(1,154,124,.12)}
.post-body ol{counter-reset:li;list-style:none;padding-left:0;margin:0 0 1.4rem;display:grid;gap:.7rem}
.post-body ol li{position:relative;padding-left:2.4rem;counter-increment:li}
.post-body ol li::before{content:counter(li);position:absolute;left:0;top:.05em;width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:50%;background:var(--c-primary-d);color:#fff;font-size:.8rem;font-weight:850;font-family:var(--font-body)}

.post-body a{color:var(--c-primary-d);text-decoration:underline;text-decoration-color:rgba(1,154,124,.35);text-underline-offset:3px;font-weight:600}
.post-body a:hover{text-decoration-color:var(--c-primary)}

/* Tablas */
.post-body .table-wrap{margin:1.8rem 0;border:1px solid var(--c-border);border-radius:14px;overflow:hidden;overflow-x:auto;box-shadow:0 8px 26px rgba(21,27,32,.05)}
.post-body table{width:100%;border-collapse:collapse;font-size:.96rem;min-width:380px}
.post-body thead th{background:linear-gradient(135deg,var(--c-primary-d),var(--c-primary));color:#fff;text-align:left;padding:.85rem 1rem;font-family:var(--font-body);font-size:.82rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.post-body tbody td{padding:.8rem 1rem;border-bottom:1px solid var(--c-border);vertical-align:top;line-height:1.5}
.post-body tbody tr:last-child td{border-bottom:0}
.post-body tbody tr:nth-child(even){background:var(--c-bg)}

/* Citas */
.post-body blockquote{position:relative;margin:2rem 0;padding:1.6rem 1.6rem 1.6rem 3.2rem;background:linear-gradient(135deg,rgba(1,154,124,.07),rgba(1,184,148,.03));border:1px solid rgba(1,154,124,.18);border-radius:16px;font-style:normal}
.post-body blockquote::before{content:"\201C";position:absolute;left:.7rem;top:.1rem;font-family:Georgia,serif;font-size:3.4rem;color:var(--c-primary);opacity:.4;line-height:1}
.post-body blockquote p{margin:0;font-family:var(--font-display);font-size:1.25rem;line-height:1.5;color:var(--c-dark);font-style:italic}
.post-body blockquote cite{display:block;margin-top:.7rem;font-style:normal;font-weight:800;font-size:.82rem;color:var(--c-primary-d);letter-spacing:.02em}

.post-body hr{border:0;height:1px;background:var(--c-border);margin:2.4rem 0}
.post-body code{background:var(--c-bg);border:1px solid var(--c-border);padding:.12rem .4rem;border-radius:6px;font-size:.88em}

/* CTA y relacionados */
.post__cta{margin:var(--space-5) 0 0;padding:var(--space-4);background:var(--c-dark);color:#fff;border-radius:20px}
.post__cta h2{color:#fff;margin:0 0 .6rem;border:0;padding:0}
.post__cta h2::before{display:none}
.post__cta p{color:rgba(255,255,255,.82);margin:0 0 1.2rem}
.post-related{border-top:1px solid var(--c-border);margin-top:var(--space-6)}
.post-related>h2{text-align:center;margin-bottom:var(--space-4)}
.post-related .back{text-align:center;margin-top:var(--space-4)}

/* === Constructor de pedido (ficha) === */
.order-form{margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--c-border);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(21,27,32,.06)}
.order-form__formats{border:0;padding:0;margin:0 0 var(--space-2)}
.order-form__formats legend{font-size:.72rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--c-slate);margin-bottom:.55rem;padding:0}
.order-format{display:flex;align-items:center;gap:.6rem;padding:.6rem .8rem;border:1.5px solid var(--c-border);border-radius:12px;margin-bottom:.5rem;cursor:pointer;transition:border-color .15s,background .15s}
.order-format:hover{border-color:rgba(1,154,124,.5)}
.order-format input{accent-color:var(--c-primary-d);width:18px;height:18px}
.order-format:has(input:checked){border-color:var(--c-primary);background:rgba(1,154,124,.06)}
.order-format__name{font-weight:750}
.order-format__price{margin-left:auto;font-weight:850;color:var(--c-dark)}
.order-format__price s{color:var(--c-slate);font-weight:600;font-size:.85em;margin-left:.3rem}
.order-form__row{display:flex;gap:.7rem;align-items:stretch;flex-wrap:wrap}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--c-border);border-radius:12px;overflow:hidden}
.qty button{width:42px;border:0;background:var(--c-bg);font-size:1.2rem;font-weight:800;cursor:pointer;color:var(--c-primary-d)}
.qty input{width:50px;border:0;text-align:center;font-size:1rem;font-weight:800;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.order-form__add{flex:1;min-width:180px}
.order-form__add.is-added{background:var(--c-primary-d)}
.order-form__hint{font-size:.78rem;color:var(--c-muted);margin:.7rem 0 0;line-height:1.5}
.catalog-price__from{font-size:.9rem;color:var(--c-muted);font-weight:700;align-self:center}

/* Botón flotante "Mi pedido" */
.order-fab{position:fixed;right:18px;top:84px;z-index:60;display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border:0;border-radius:999px;background:var(--c-dark);color:#fff;font-weight:800;font-size:.9rem;cursor:pointer;box-shadow:0 12px 30px rgba(21,27,32,.28);transition:transform .2s ease}
.order-fab.is-bump{animation:fabBump .55s ease}
@keyframes fabBump{0%{transform:scale(1)}30%{transform:scale(1.18)}55%{transform:scale(.95)}100%{transform:scale(1)}}
.order-fab.is-bump .order-fab__count{animation:countPop .55s ease}
@keyframes countPop{0%{transform:scale(1)}40%{transform:scale(1.5);background:#fff}100%{transform:scale(1)}}
.order-toast{position:fixed;top:84px;left:50%;transform:translateX(-50%) translateY(-14px);z-index:90;display:flex;align-items:center;gap:.5rem;padding:.7rem 1.1rem;border-radius:999px;background:#0f1720;color:#fff;font-weight:800;font-size:.92rem;box-shadow:0 16px 40px rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease}
.order-toast.is-show{opacity:1;transform:translateX(-50%) translateY(0)}
.order-toast span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--c-primary-l);color:#04231c;font-weight:900}
.catalog-card__tag--b{right:.55rem;top:.55rem;background:#0f1720;color:#ffd84d}
.order-fab__count{display:grid;place-items:center;min-width:22px;height:22px;padding:0 .3rem;border-radius:999px;background:var(--c-primary-l);color:#04231c;font-size:.78rem;font-weight:900}

/* Cajón del pedido */
.order-drawer{position:fixed;inset:0;z-index:70;display:none}
.order-drawer.is-open{display:block}
.order-drawer__backdrop{position:absolute;inset:0;background:rgba(10,16,20,.5);backdrop-filter:blur(2px)}
.order-drawer__panel{position:absolute;top:0;right:0;height:100%;width:min(420px,92vw);background:#fff;display:flex;flex-direction:column;box-shadow:-20px 0 50px rgba(0,0,0,.2);animation:orderIn .25s ease}
@keyframes orderIn{from{transform:translateX(100%)}to{transform:translateX(0)}}
.order-drawer__head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);border-bottom:1px solid var(--c-border);flex-shrink:0}
.order-drawer__head h3{margin:0;font-size:1.2rem}
.order-drawer__x{border:0;background:none;font-size:1.8rem;line-height:1;cursor:pointer;color:var(--c-muted)}
.order-drawer__scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.order-drawer__items{padding:var(--space-2) var(--space-3)}
.order-drawer__empty{padding:var(--space-4) var(--space-3);color:var(--c-muted);text-align:center;line-height:1.6}
.order-item{display:grid;grid-template-columns:1fr auto auto auto;gap:.6rem;align-items:center;padding:.7rem 0;border-bottom:1px solid var(--c-border)}
.order-item__info strong{display:block;font-size:.92rem;line-height:1.2}
.order-item__info span{font-size:.76rem;color:var(--c-muted)}
.order-item__qty{display:inline-flex;align-items:center;gap:.4rem}
.order-item__qty button{width:26px;height:26px;border:1px solid var(--c-border);border-radius:7px;background:#fff;cursor:pointer;font-weight:800;color:var(--c-primary-d)}
.order-item__price{font-weight:850;font-size:.9rem;min-width:62px;text-align:right}
.order-item__del{border:0;background:none;color:var(--c-slate);font-size:1.3rem;cursor:pointer;line-height:1}
.order-drawer__foot{padding:var(--space-3);border-top:1px solid var(--c-border);background:var(--c-bg);flex-shrink:0}
.order-drawer__total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.8rem;font-size:.9rem;color:var(--c-muted)}
.order-drawer__total strong{font-size:1.4rem;color:var(--c-dark)}
.order-drawer__send{width:100%;justify-content:center;display:flex}
.order-drawer__clear{display:block;width:100%;margin-top:.6rem;border:0;background:none;color:var(--c-slate);font-size:.82rem;cursor:pointer;text-decoration:underline}
.order-drawer__note{font-size:.72rem;color:var(--c-muted);margin:.8rem 0 0;line-height:1.5}
/* Móvil / pantallas cortas: compacta el pie de "Mi pedido" para que el botón
   Finalizar SIEMPRE quepa (los textos largos los resume el checkbox de confirmar). */
@media (max-width:560px), (max-height:680px){
  .order-drawer__perk{display:none}
  .order-drawer__note{display:none}
  .order-drawer__foot{padding:.6rem var(--space-3) .7rem}
  .order-drawer__total{margin-bottom:.4rem;font-size:.82rem}
  .order-drawer__total strong{font-size:1.25rem}
  .order-drawer__clear{margin-top:.4rem;font-size:.78rem}
}
@media(max-width:560px){.order-fab span:not(.order-fab__count){display:none}.order-fab{padding:.8rem}}

/* === Barra disclaimer header === */
.topbar{background:var(--c-dark);color:#fff;font-size:.8rem}
.topbar__inner{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.45rem 16px;text-align:center;line-height:1.35}
.topbar strong{color:var(--c-primary-l)}
.topbar__icon{color:var(--c-primary-l);font-size:.6rem;animation:pulseDot 2s ease-in-out infinite}
@keyframes pulseDot{0%,100%{opacity:.5}50%{opacity:1}}
@media(max-width:560px){.topbar{font-size:.72rem}.topbar__inner{padding:.4rem 12px}}

/* === Mini "Añadir al pedido" en tarjeta === */
.catalog-card__order{position:relative;z-index:2;display:flex;flex-direction:column;gap:.4rem;margin:.2rem 0 .5rem}
.catalog-card__order select{width:100%;padding:.45rem .6rem;border:1.5px solid var(--c-border);border-radius:10px;font-size:.82rem;font-weight:700;background:#fff;color:var(--c-text);cursor:pointer}
.order-mini__add{width:100%;padding:.6rem .8rem;border:0;border-radius:10px;background:var(--c-primary-d);color:#fff;font-weight:850;font-size:.86rem;cursor:pointer;transition:background .15s,transform .1s}
.order-mini__add:hover{background:var(--c-primary)}
.order-mini__add:active{transform:scale(.98)}
.order-mini__add.is-added{background:var(--c-dark)}
.catalog-card__tools{position:relative;z-index:2;display:flex;align-items:center;gap:.5rem;justify-content:space-between}
.catalog-card__tools [data-favorite]{flex:0 0 auto}
.catalog-card__tools .catalog-card__action{margin-top:0;margin-left:auto}

/* Chips de semillas enlazables + imagen de producto en cat-card */
.choice-cloud a{text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;cursor:pointer}
.choice-cloud a:hover{transform:translateY(-2px);border-color:var(--c-primary);box-shadow:0 12px 28px rgba(1,154,124,.18);color:var(--c-primary-d)}
.cat-card__media--product{aspect-ratio:16/10;background:#fff;display:grid;place-items:center;border-bottom:1px solid var(--c-border)}
.cat-card__media--product img{width:100%;height:100%;object-fit:contain;padding:10px;aspect-ratio:auto}
/* Ilustraciones SVG (packs): fondo oscuro que casa con el degradado del propio SVG, sin barras blancas */
.cat-card__media--svg{aspect-ratio:16/10;background:#0e1620;display:grid;place-items:center;overflow:hidden}
.cat-card__media--svg img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}

/* Flecha de desplegable en el header */
.nav-caret{font-size:.6em;opacity:.6;margin-left:.1rem;display:inline-block;transition:transform .2s}
.nav-group:hover .nav-caret{transform:rotate(180deg);opacity:1}

/* === Zona privada (auth) === */
.auth{display:flex;justify-content:center}
.auth__card{width:100%;max-width:440px;background:#fff;border:1px solid var(--c-border);border-radius:20px;padding:var(--space-4);box-shadow:0 18px 50px rgba(21,27,32,.08)}
.auth__card--wide{max-width:640px}
.auth__card h1{font-size:1.6rem;margin:.2rem 0 .4rem}
.auth__form{display:grid;gap:var(--space-2);margin:var(--space-3) 0}
.auth__form label{display:grid;gap:.35rem;font-size:.85rem;font-weight:750;color:var(--c-text)}
.auth__form input[type=text],.auth__form input[type=email],.auth__form input[type=password],.auth__form input[type=tel],.auth__form input[type=number]{width:100%;padding:.7rem .85rem;border:1.5px solid var(--c-border);border-radius:11px;font-size:1rem;font-weight:500;background:#fff;color:var(--c-text);font-family:inherit}
.auth__form input:focus{outline:none;border-color:var(--c-primary)}
.auth__form .btn{width:100%;justify-content:center}
.auth__check{flex-direction:row!important;display:flex!important;align-items:flex-start;gap:.5rem;font-weight:500!important;font-size:.8rem;color:var(--c-muted)}
.auth__check input{margin-top:.15rem;width:18px;height:18px;accent-color:var(--c-primary-d)}
.auth__msg{padding:.8rem 1rem;border-radius:12px;font-size:.9rem;margin:.4rem 0;line-height:1.5}
.auth__msg--ok{background:#e5f7ef;color:#087653}
.auth__msg--err{background:#fde8ee;color:#c01840}
.auth__alt{font-size:.88rem;color:var(--c-muted);margin-top:.5rem}
.auth__dev{font-size:.72rem;color:#8a5b00;word-break:break-all;background:#fff7e6;padding:.5rem;border-radius:8px}
.nav-account{font-weight:800!important;color:var(--c-primary-d)!important}
.account-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin:var(--space-3) 0}
.account-stat{background:var(--c-bg);border:1px solid var(--c-border);border-radius:14px;padding:var(--space-3);text-align:center}
.account-stat__num{display:block;font-family:var(--font-display);font-size:2.2rem;font-weight:800;color:var(--c-primary-d)}
.account-stat__lbl{font-size:.78rem;color:var(--c-muted);text-transform:uppercase;letter-spacing:.03em}
.account-soon{margin:var(--space-3) 0;padding:var(--space-3);border:1px dashed var(--c-border);border-radius:14px}
.account-soon ul{margin:.5rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem;font-size:.9rem}
.account-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:var(--space-3)}

/* Doble-check legal en el pedido */
.order-confirm{display:flex;gap:.5rem;align-items:flex-start;font-size:.76rem;color:var(--c-muted);line-height:1.45;margin:.2rem 0 .8rem;cursor:pointer}
.order-confirm input{margin-top:.1rem;width:18px;height:18px;flex:0 0 auto;accent-color:var(--c-primary-d)}
.order-drawer__send.is-disabled{opacity:.5;filter:grayscale(.3)}
.order-confirm.shake{animation:shakeX .5s}
@keyframes shakeX{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}

/* === Panel admin === */
.admin{width:100%}
.admin__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:var(--space-3)}
.admin__head h1{font-size:1.5rem;margin:.2rem 0 0}
.admin__table table{font-size:.9rem}
.admin__table select,.adm-points{padding:.4rem .5rem;border:1.5px solid var(--c-border);border-radius:8px;font-size:.85rem}
.adm-points{width:72px}
.btn--sm{padding:.45rem .7rem;font-size:.8rem}
.adm-badge{padding:.2rem .5rem;border-radius:999px;font-size:.7rem;font-weight:800}
.adm-badge--active{background:#e5f7ef;color:#087653}
.adm-badge--pending{background:#fff2d8;color:#8a5b00}

/* === HERO SLIDER (mobile-first) === */
.hero-slider{position:relative;overflow:hidden;background:var(--c-dark)}
.hero-slider__track{position:relative;min-height:82vh;min-height:82svh}
@media(min-width:900px){.hero-slider__track{min-height:88vh}}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;display:flex;align-items:flex-end}
@media(min-width:900px){.hero-slide{align-items:center}}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-slide__bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.06);transition:transform 7s ease}
.hero-slide.is-active .hero-slide__bg{transform:scale(1)}
.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,20,.35) 0%,rgba(10,16,20,.55) 55%,rgba(10,16,20,.86) 100%)}
@media(min-width:900px){.hero-slide::after{background:linear-gradient(90deg,rgba(10,16,20,.82) 0%,rgba(10,16,20,.55) 45%,rgba(10,16,20,.2) 100%)}}
.hero-slide__inner{position:relative;z-index:2;color:#fff;padding-bottom:calc(var(--space-6) + 18px);max-width:640px}
@media(min-width:900px){.hero-slide__inner{padding-bottom:0}}
.hero-slide__inner .eyebrow{color:var(--c-primary-l)}
.hero-slide__title{font-size:clamp(2.1rem,7vw,3.4rem);line-height:1.06;letter-spacing:-.01em;color:#fff;margin:.3rem 0 .6rem;text-wrap:balance}
.hero-slide__lead{font-size:clamp(1rem,4.2vw,1.25rem);line-height:1.5;color:rgba(255,255,255,.9);max-width:48ch;margin-bottom:var(--space-3)}
.hero-slide__cta{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.7rem}
@media(min-width:560px){.hero-slide__cta{flex-direction:row;flex-wrap:wrap}}
.hero-slide__cta .btn{justify-content:center}
@media(max-width:559px){.hero-slide__cta .btn,.hero-slide .btn--wa{width:100%;justify-content:center}}
.btn--lg{padding:.95rem 1.6rem;font-size:1.05rem;font-weight:850}
.hero-slider__dots{position:absolute;left:0;right:0;bottom:14px;z-index:3;display:flex;gap:.5rem;justify-content:center}
.hero-slider__dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.45);cursor:pointer;transition:width .25s,background .25s}
.hero-slider__dots button.is-active{width:26px;background:#fff}
.hero-slide{background:
  radial-gradient(55% 75% at 12% 18%, rgba(10,200,150,.40), transparent 62%),
  radial-gradient(50% 60% at 88% 28%, rgba(1,154,124,.34), transparent 60%),
  radial-gradient(80% 90% at 75% 95%, rgba(3,38,30,.7), transparent 72%),
  linear-gradient(135deg,#0a1714,#0e2018 55%,#070f0d)}
/* === HERO ÉPICO: glow animado + grano + tipografía fuerte === */
.hero-slider{background:#070f0d}
.hero-slide::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(38% 46% at 22% 30%, rgba(20,230,170,.22), transparent 70%);
  mix-blend-mode:screen;animation:heroGlow 10s ease-in-out infinite}
@keyframes heroGlow{0%,100%{transform:translate(0,0) scale(1);opacity:.75}50%{transform:translate(5%,4%) scale(1.18);opacity:1}}
.hero-slide__inner .eyebrow{display:inline-block;padding:.4rem .85rem;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(150,245,210,.28);backdrop-filter:blur(6px);color:#9bf3d6!important;font-weight:800;letter-spacing:.04em}
.hero-slide__title{font-weight:850;letter-spacing:-.02em;text-shadow:0 4px 40px rgba(0,0,0,.45)}
.hero-slide__title em,.hero-slide__title b{font-style:normal;background:linear-gradient(100deg,#3ce6b4,#a6f5da 60%,#5fd0aa);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-slide__lead{color:rgba(255,255,255,.92)}
.hero-slide__cta .btn--primary{box-shadow:0 14px 38px rgba(10,200,150,.35)}
.hero-slide__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 70% 20%,transparent 30%,rgba(7,15,13,.55) 100%)}

/* === Top ventas como SECCIÓN diferenciada vs resto del catálogo === */
.featured-catalog{position:relative;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-3) var(--space-4);border-radius:20px;
  background:linear-gradient(180deg,#0f1720,#16242b);color:#fff;border:1px solid rgba(255,216,77,.25);box-shadow:0 18px 50px rgba(15,23,32,.18)}
.featured-catalog__head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:var(--space-3)}
.featured-catalog__badge{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .85rem;border-radius:999px;background:#ffd84d;color:#0f1720;font-weight:900;font-size:.9rem;letter-spacing:.01em}
.featured-catalog__sub{margin:0;color:rgba(255,255,255,.78);font-size:.9rem;font-weight:600}
.featured-catalog .catalog-card{background:#fff;color:var(--c-text)}
.catalog-allhead{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin:var(--space-5) 0 var(--space-3);padding-top:var(--space-3);border-top:2px solid var(--c-border)}
.catalog-allhead h2{margin:0;font-size:1.4rem}
.catalog-allhead span{color:var(--c-muted);font-size:.85rem;font-weight:750;white-space:nowrap}

/* === Banner de cumplimiento (normativa) === */
.compliance-banner{background:#fff7e6;border-bottom:1px solid #f0dcab;color:#8a5b00;font-size:.82rem}
.compliance-banner__inner{display:flex;align-items:center;gap:.8rem;justify-content:center;padding:.5rem 16px;text-align:center;line-height:1.4}
.compliance-banner__x{border:0;background:none;color:#8a5b00;font-size:1.3rem;line-height:1;cursor:pointer;flex:0 0 auto}
@media(max-width:560px){.compliance-banner{font-size:.74rem}}

/* === Zoom general en desktop (las cosas se veían pequeñas) === */
@media (min-width:768px){
  html{ font-size:17px; }   /* base rem +6% → escala toda la UI basada en rem */
  body{ font-size:18px; }
  .catalog-card h3, .catalog-card__title{ font-size:1.12rem; }
  .catalog-price__now{ font-size:1.45rem; }
  .btn{ font-size:1rem; }
}
@media (min-width:1200px){
  html{ font-size:17.5px; }
}

/* === Pasada móvil: tap targets y compactado === */
@media (max-width:760px){
  .nav.open .nav-panel a:not(.btn){ padding:.7rem .7rem; font-size:1rem; }
  .nav.open > a:not(.btn), .nav.open .nav-parent{ padding:.85rem .2rem; font-size:1.08rem; }
  .nav.open .nav-account{ display:inline-block; }
  .topbar__inner{ padding:.5rem 14px; }
  .hero-slide__title{ font-size:clamp(2rem,8.5vw,2.6rem); }
  .section, .container.section{ padding-top:2.2rem; padding-bottom:2.2rem; }
  .cat-hero__inner{ min-height:auto; padding:2.4rem 0 2rem; gap:1.6rem; }
  /* Carrito flotante: abajo-IZQUIERDA en móvil para no tapar la hamburguesa del header.
     La esquina inferior derecha ya la ocupan WhatsApp + "volver arriba". */
  .order-fab{ left:12px; right:auto; top:auto; bottom:84px; }
  .wa-float{ width:54px; height:54px; }
  /* Hero slider: que el copy NUNCA se recorte en pantallas pequeñas.
     Las slides son position:absolute dentro de un track con overflow:hidden;
     si el contenido supera 82svh se cortaba por arriba. Suelo de altura que lo evita. */
  .hero-slider__track{ min-height:max(39rem,84svh); }
}
/* No solapar botón pedido con WhatsApp flotante en móvil */
@media (max-width:760px){ .back-to-top{ bottom:78px; } }

/* Familia como botón-filtro (guía por fase) */
.family-card--filter{cursor:pointer;text-align:left;font:inherit;border:1px solid var(--c-border);background:#fff;width:100%}
.family-card--filter:hover{border-color:var(--c-primary);box-shadow:0 12px 30px rgba(1,154,124,.12);transform:translateY(-3px)}
.family-card--filter .family-card__link{color:var(--c-primary-d);font-weight:800}

/* === Zona cliente Fase 4 (gamificación) === */
.account-hero{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}
.account-hero h1{font-size:1.7rem;margin:.2rem 0 .3rem}
.account-level{display:flex;align-items:center;gap:.7rem;padding:.8rem 1.1rem;border:1px solid var(--c-border);border-radius:16px;background:linear-gradient(135deg,rgba(1,154,124,.08),#fff)}
.account-level__icon{font-size:2rem}
.account-level__name{display:block;font-family:var(--font-display);font-weight:800;font-size:1.15rem;color:var(--c-dark)}
.account-level__pts{display:block;font-size:.82rem;color:var(--c-primary-d);font-weight:800}
.account-progress{padding:var(--space-3);border:1px solid var(--c-border);border-radius:16px;background:var(--c-bg);margin-bottom:var(--space-4)}
.account-progress__bar{height:12px;border-radius:999px;background:#e2e6e9;overflow:hidden;margin-bottom:.7rem}
.account-progress__bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--c-primary-d),var(--c-primary-l));transition:width .6s ease}
.account-progress p{margin:.2rem 0;font-size:.92rem}
.account-reward{color:var(--c-primary-d)}
.account-h2{margin:var(--space-4) 0 .2rem;font-size:1.3rem}
.account-sub{margin:0 0 var(--space-2)}
.account-orders{width:100%;font-size:.9rem}
.account-orders td{vertical-align:top}
.account-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:var(--space-4)}

/* Toast de puntos */
.order-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);z-index:90;background:var(--c-dark);color:#fff;padding:.85rem 1.3rem;border-radius:999px;font-weight:800;font-size:.92rem;box-shadow:0 16px 40px rgba(0,0,0,.3);opacity:0;transition:opacity .35s,transform .35s;text-decoration:none;max-width:90vw;text-align:center}
.order-toast.is-in{opacity:1;transform:translate(-50%,0)}
a.order-toast{background:var(--c-primary-d)}

/* === Cross-sell "Completa tu pedido" en el cajón === */
.order-cross{padding:var(--space-2) var(--space-3);border-top:1px solid var(--c-border);background:#fff}
.order-cross__title{font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--c-slate);margin:0 0 .6rem}
.order-cross__list{display:grid;gap:.5rem;grid-template-columns:minmax(0,1fr)}
.order-cross__item{display:flex;align-items:center;gap:.6rem;min-width:0}
.order-cross__item img{border-radius:8px;background:#f4f6f7;object-fit:contain;flex:0 0 auto}
.order-cross__info{flex:1;min-width:0}
.order-cross__info strong{display:block;font-size:.82rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-cross__info span{font-size:.78rem;color:var(--c-primary-d);font-weight:800}
.order-cross__add{width:30px;height:30px;border:0;border-radius:8px;background:var(--c-primary-d);color:#fff;font-size:1.1rem;font-weight:800;cursor:pointer;flex:0 0 auto}
.order-cross__add:hover{background:var(--c-primary)}

/* === Top ventas compacto (5 col, fugaz) === */
.featured-catalog{margin:.3rem 0 var(--space-3)}
.featured-catalog__title{font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--c-slate);margin:0 0 .5rem}
.catalog-grid--featured{grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem;margin-top:0}
.catalog-card--compact{border-radius:12px}
.catalog-card--compact .catalog-card__body{min-height:0;padding:.5rem .6rem .6rem;gap:.1rem}
.catalog-card--compact .catalog-card__meta{margin-bottom:.2rem}
.catalog-card--compact .catalog-card__meta span{font-size:.55rem;padding:.12rem .35rem}
.catalog-card--compact h3{font-size:.78rem;line-height:1.15;margin:0}
.catalog-card--compact .catalog-card__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.catalog-card--compact .catalog-price{margin:.2rem 0 0}
.catalog-card--compact .catalog-price__now{font-size:.95rem}
.catalog-card--compact .catalog-price__from{font-size:.7rem}
.catalog-card--compact .catalog-card__tag--top{display:none}
@media (max-width:1100px){.catalog-grid--featured{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:760px){.catalog-grid--featured{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:480px){.catalog-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-card--compact{display:block}.catalog-card--compact .catalog-card__visual{aspect-ratio:1/1;min-height:0}}

/* Regalo por compra + perk en el cajón */
.order-gift{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;margin-bottom:.7rem;border-radius:12px;background:linear-gradient(135deg,#fff2d8,#fff);border:1px solid #f0dcab;font-size:.82rem;color:#7a5200;line-height:1.4}
.order-gift__icon{font-size:1.2rem}
/* Móvil/pantalla corta: regalo y "confirmo" más pequeños y compactos → el tiquet
   (lista de productos) gana alto. Colocado tras las reglas base para ganar la cascada. */
@media (max-width:560px), (max-height:680px){
  .order-gift{padding:.4rem .6rem;margin-bottom:.45rem;font-size:.72rem;gap:.4rem}
  .order-gift__icon{font-size:.95rem}
  .order-confirm{font-size:.68rem;line-height:1.3;margin:.1rem 0 .5rem;gap:.4rem}
  .order-confirm input{width:16px;height:16px}
}
.order-drawer__perk{font-size:.76rem;color:var(--c-muted);line-height:1.5;margin:.2rem 0 .8rem;padding:.6rem .7rem;background:var(--c-bg);border-radius:10px}

/* Mi Zona: onboarding + ventajas del club */
.account-onboard{margin:var(--space-4) 0;padding:var(--space-4);border-radius:18px;background:linear-gradient(135deg,#0e1620,#13241d);color:#fff}
.account-onboard h2{color:#fff;margin:0 0 .4rem}
.account-onboard p{color:rgba(255,255,255,.82)}
.account-onboard__steps{margin:.8rem 0 1.2rem;padding-left:1.2rem;display:grid;gap:.5rem;color:rgba(255,255,255,.9)}
.account-perks{margin:var(--space-4) 0}
.account-perks__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);margin:.6rem 0}
.account-perks__grid>div{padding:var(--space-2);border:1px solid var(--c-border);border-radius:14px;background:#fff;text-align:center}
.account-perks__grid span{font-size:1.6rem;display:block;margin-bottom:.3rem}
.account-perks__grid strong{display:block;font-size:.92rem}
.account-perks__grid small{color:var(--c-muted);font-size:.78rem}
.account-perks__note{font-size:.82rem;margin-top:.4rem}
@media(max-width:760px){.account-perks__grid{grid-template-columns:repeat(2,1fr)}}

/* === Catálogo: filtros LATERALES STICKY (desktop) — aplican a toda la web === */
.catalog-layout{display:grid;grid-template-columns:1fr;gap:var(--space-4)}
.catalog-sidebar__box{border:1px solid var(--c-border);border-radius:16px;background:#fff;overflow:hidden}
.catalog-sidebar__toggle{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1rem;font-weight:850;cursor:pointer;list-style:none;font-size:.92rem}
.catalog-sidebar__toggle::-webkit-details-marker{display:none}
.catalog-sidebar__chev{transition:transform .2s ease}
.catalog-sidebar__box[open] .catalog-sidebar__chev{transform:rotate(180deg)}
.catalog-sidebar__inner{padding:0 1rem 1rem}
.catalog-sidebar .catalog-search{margin-bottom:var(--space-3)}
.catalog-sidebar .catalog-filters{flex-direction:column;align-items:stretch;gap:.4rem;margin-bottom:var(--space-3)}
.catalog-sidebar .catalog-filters--brand{flex-direction:column;align-items:stretch;margin-top:0}
.catalog-sidebar .catalog-filter{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;border-radius:10px;min-height:38px}
.catalog-sidebar .catalog-filters__label{display:block;margin:.2rem 0 .1rem}
.catalog-main .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.catalog-card__note{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.6rem!important}
@media(max-width:560px){.catalog-card__note{-webkit-line-clamp:3}}
@media (min-width:900px){
  .catalog-layout{grid-template-columns:248px minmax(0,1fr);align-items:start}
  .catalog-sidebar{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 100px);overflow:auto;overscroll-behavior:contain}
  .catalog-sidebar__toggle{cursor:default}
  .catalog-sidebar__chev{display:none}
}
@media (max-width:560px){.catalog-main .catalog-grid{grid-template-columns:1fr}}

/* === Hero de categoría: producto destacado CLICABLE hacia su ficha === */
.cat-hero__media{position:relative}
.cat-hero__media--link{cursor:pointer}
.cat-hero__media-go{position:absolute;inset:0;z-index:4;border-radius:inherit}
.cat-hero__media-go:focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
.cat-hero__media--link img{transition:transform .35s ease}
.cat-hero__media--link:hover img{transform:scale(1.04)}
.cat-hero__media-card--product{position:relative;z-index:5;display:grid;gap:.15rem}
.cat-hero__media-card--product small{color:var(--c-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.62rem;font-weight:800}
.cat-hero__media-card--product strong{font-size:.98rem;line-height:1.25}
.cat-hero__media-price{font-size:1.15rem;font-weight:900;color:var(--c-primary-d)}
.cat-hero__media-link{color:var(--c-primary-d);font-weight:800;font-size:.8rem;margin-top:.15rem}
.cat-hero__media--link:hover .cat-hero__media-link{text-decoration:underline;text-underline-offset:3px}

/* Hero de categoría: collage de varias imágenes de producto */
.cat-hero__collage{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:.5rem;aspect-ratio:1/1;max-width:520px;margin-inline:auto}
@media(min-width:880px){.cat-hero__collage{aspect-ratio:4/3}}
.cat-hero__tile{position:relative;overflow:hidden;border-radius:14px;background:#f4f6f5;display:block;box-shadow:0 8px 24px rgba(4,12,10,.12)}
.cat-hero__tile img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.cat-hero__tile:hover img{transform:scale(1.08)}
.cat-hero__collage .cat-hero__media-label{position:absolute;left:.6rem;top:.6rem;z-index:3}
.cat-hero__collage-badge{position:absolute;right:.6rem;bottom:.6rem;background:rgba(15,23,32,.92);color:#fff;padding:.45rem .8rem;border-radius:999px;font-size:.82rem;font-weight:800;z-index:3;pointer-events:none}
.cat-hero__collage-badge strong{color:#9bf3d6}

/* Barra admin "ver como" (SOLO admin) */
.admin-viewbar{position:fixed;left:12px;bottom:12px;z-index:60;display:flex;align-items:center;gap:.25rem;padding:.4rem .5rem;border-radius:999px;background:rgba(15,23,32,.96);box-shadow:0 12px 32px rgba(0,0,0,.45);max-width:calc(100vw - 24px);flex-wrap:wrap}
.admin-viewbar__lbl{color:#9bf3d6;font-size:.72rem;font-weight:850;padding:0 .4rem;white-space:nowrap}
.admin-viewbar__opt{color:#cdd7d3;text-decoration:none;font-size:.78rem;font-weight:850;padding:.32rem .6rem;border-radius:999px;white-space:nowrap}
.admin-viewbar__opt:hover{background:rgba(255,255,255,.12)}
.admin-viewbar__opt.is-on{background:#fff;color:#0f1720}
.admin-viewbar__opt--b.is-on{background:#ffd84d;color:#0f1720}
.admin-viewbar__panel{color:#9bf3d6;font-size:.74rem;font-weight:850;text-decoration:none;padding:.32rem .5rem;border-left:1px solid rgba(255,255,255,.18);margin-left:.15rem;white-space:nowrap}

/* === Hero home: composición 2 columnas (copy + producto destacado integrado) === */
.hero-slide__inner{max-width:1140px;display:grid;grid-template-columns:1fr;gap:clamp(1.6rem,4vw,3rem);align-items:center}
.hero-slide__inner--solo{max-width:640px;display:block}
.hero-slide__copy{max-width:600px}
.hero-slide__trust{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:1.3rem}
.hero-slide__trust li{display:flex;flex-direction:column;line-height:1.2;position:relative;padding-left:1.05rem}
.hero-slide__trust li::before{content:"";position:absolute;left:0;top:.35rem;width:7px;height:7px;border-radius:50%;background:#3ce6b4;box-shadow:0 0 12px rgba(60,230,180,.8)}
.hero-slide__trust strong{color:#fff;font-size:.98rem}
.hero-slide__trust span{color:rgba(255,255,255,.72);font-size:.8rem}
.hero-showcase{display:none}
@media(min-width:768px){
  .hero-slide__inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .hero-showcase{display:block;position:relative;justify-self:center;width:100%;max-width:370px}
  .hero-showcase__glow{position:absolute;inset:-12% -8% -16% -8%;z-index:0;border-radius:50%;background:radial-gradient(58% 58% at 50% 45%,rgba(20,230,170,.5),transparent 70%);filter:blur(36px);animation:heroGlow 9s ease-in-out infinite}
  .hero-showcase__card{position:relative;z-index:1;display:grid;gap:.75rem;padding:1.05rem;border-radius:24px;background:rgba(255,255,255,.97);border:1px solid rgba(255,255,255,.7);box-shadow:0 32px 72px rgba(4,12,10,.5);text-decoration:none;color:var(--c-text);transition:transform .3s ease,box-shadow .3s ease}
  .hero-showcase__card:hover{transform:translateY(-7px);box-shadow:0 44px 96px rgba(4,12,10,.6)}
  .hero-showcase__tag{justify-self:start;display:inline-flex;align-items:center;gap:.3rem;padding:.34rem .72rem;border-radius:999px;background:#0f1720;color:#ffd84d;font-size:.7rem;font-weight:850;letter-spacing:.02em}
  .hero-showcase__media{display:block;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#eef3f1,#dde9e4)}
  .hero-showcase__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
  .hero-showcase__card:hover .hero-showcase__media img{transform:scale(1.05)}
  .hero-showcase__body{display:grid;gap:.28rem;padding:0 .25rem .15rem}
  .hero-showcase__brand{color:var(--c-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.66rem;font-weight:850}
  .hero-showcase__name{font-size:1.1rem;line-height:1.25;color:var(--c-dark);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .hero-showcase__row{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-top:.25rem}
  .hero-showcase__price{font-size:1.5rem;font-weight:900;color:var(--c-primary-d)}
  .hero-showcase__go{font-size:.82rem;font-weight:850;color:var(--c-primary-d);white-space:nowrap}
  .hero-showcase__card:hover .hero-showcase__go{text-decoration:underline;text-underline-offset:3px}
  .hero-showcase__card{overflow:hidden}
  .hero-showcase__card::after{content:"";position:absolute;top:0;left:-65%;width:45%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);pointer-events:none;animation:heroShine 6.5s ease-in-out infinite}
  @keyframes heroShine{0%,72%{left:-65%}86%,100%{left:135%}}
}

/* === Hero home: CLÚSTER de productos (varía por visita) — distinto del collage 2x2 de categorías === */
.hero-cluster{display:none}
@media(min-width:768px){
  .hero-cluster{display:grid;position:relative;justify-self:center;width:100%;max-width:400px;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:.6rem;aspect-ratio:1/1}
  .hero-cluster .hero-showcase__glow{position:absolute;inset:-14% -10%;border-radius:50%;background:radial-gradient(58% 58% at 50% 45%,rgba(20,230,170,.5),transparent 70%);filter:blur(38px);animation:heroGlow 9s ease-in-out infinite}
  .hero-cluster__item{position:relative;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 18px 44px rgba(4,12,10,.42);text-decoration:none;transition:transform .3s ease}
  .hero-cluster__item img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
  .hero-cluster__item:hover{transform:translateY(-5px);z-index:5}
  .hero-cluster__item:hover img{transform:scale(1.08)}
  .hero-cluster__item--0{grid-row:1 / span 2}
  .hero-cluster__cap{position:absolute;left:0;right:0;bottom:0;padding:.8rem .85rem;background:linear-gradient(transparent,rgba(8,15,13,.93));color:#fff;display:grid;gap:.08rem}
  .hero-cluster__cap small{font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:#9bf3d6}
  .hero-cluster__cap strong{font-size:.95rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .hero-cluster__cap b{color:#ffd84d;font-size:1.1rem;margin-top:.1rem}
  .hero-cluster__tag{position:absolute;left:.5rem;top:.5rem;z-index:6;background:#0f1720;color:#ffd84d;font-size:.7rem;font-weight:850;padding:.32rem .65rem;border-radius:999px}
}

/* === Buscador global con autocompletar === */
.search-row{padding:.55rem 16px;display:flex;justify-content:center;border-top:1px solid var(--c-border)}
@media(min-width:768px){.search-row{padding:.55rem 24px}}
.site-search{position:relative;display:flex;align-items:center;gap:.5rem;width:100%;max-width:620px;background:var(--c-bg,#f3f5f4);border:1px solid var(--c-border);border-radius:999px;padding:.5rem .9rem;transition:border-color .15s,box-shadow .15s}
.site-search:focus-within{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(1,154,124,.14);background:#fff}
.site-search__ic{color:var(--c-muted);flex:0 0 auto}
.site-search input{border:0;background:none;outline:none;width:100%;font-size:16px;color:var(--c-text);min-height:24px}
.site-search__x{border:0;background:none;cursor:pointer;font-size:1.3rem;line-height:1;color:var(--c-muted);padding:0 .2rem}
.site-search__drop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--c-border);border-radius:16px;box-shadow:0 22px 60px rgba(15,23,32,.2);overflow:hidden auto;max-height:72vh;z-index:80}
.ss-item,.ss-all{display:flex;align-items:center;gap:.75rem;padding:.6rem .85rem;text-decoration:none;color:inherit;border-bottom:1px solid var(--c-border)}
.ss-item:hover,.ss-item.is-active{background:var(--c-bg)}
.ss-item img,.ss-ph{flex:0 0 44px;width:44px;height:44px;border-radius:9px;object-fit:cover;background:#f4f6f5;display:grid;place-items:center;font-weight:800;color:#9aa7a1;font-size:.82rem}
.ss-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.05rem}
.ss-info strong{font-size:.88rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.ss-info small{font-size:.72rem;color:var(--c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-info mark{background:#fff2b8;color:inherit;padding:0 1px;border-radius:2px}
.ss-price{font-weight:900;color:var(--c-primary-d);font-size:.9rem;white-space:nowrap}
.ss-b{background:#0f1720;color:#ffd84d;padding:.04rem .3rem;border-radius:4px;font-size:.92em}
.ss-all{justify-content:center;font-weight:850;color:var(--c-primary-d);border-bottom:0;padding:.7rem}
.ss-all.is-active{background:var(--c-bg)}
.ss-empty{padding:1rem;color:var(--c-muted);font-size:.9rem}

/* === Pulido header === */
.site-header{border-bottom:1px solid var(--c-border)}
.search-row{border-top:1px solid var(--c-border);background:linear-gradient(180deg,#fff,var(--c-bg,#f6f8f7))}
.site-search{box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.logo-gb-lleida{filter:drop-shadow(0 1px 1px rgba(0,0,0,.06))}
@media(max-width:560px){.search-row{padding:.45rem 12px}.site-search input{font-size:16px}}

/* === Buscador: icono en la barra + OVERLAY (no ocupa espacio al hacer scroll) === */
.search-toggle{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;border:1px solid var(--c-border);background:var(--c-bg,#f3f5f4);color:var(--c-text);border-radius:999px;padding:.5rem .9rem;font-weight:750;font-size:.9rem;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.search-toggle:hover{border-color:var(--c-primary);color:var(--c-primary-d);background:#fff}
@media(max-width:860px){.search-toggle{padding:.55rem;gap:0}.search-toggle__txt{display:none}}
.search-overlay{position:fixed;inset:0;z-index:200}
.search-overlay[hidden]{display:none}
.search-overlay__backdrop{position:absolute;inset:0;background:rgba(8,15,13,.55);animation:ssFade .2s ease}
@keyframes ssFade{from{opacity:0}to{opacity:1}}
.search-overlay__inner{position:relative;background:#fff;padding:1.1rem 16px 1.3rem;box-shadow:0 22px 54px rgba(0,0,0,.28);animation:ssDrop .22s ease}
@media(min-width:768px){.search-overlay__inner{padding:1.4rem 24px}}
@keyframes ssDrop{from{transform:translateY(-18px);opacity:.5}to{transform:translateY(0);opacity:1}}
.search-overlay .site-search{max-width:760px;margin-inline:auto}
.search-overlay__close{border:0;background:none;font-size:1.6rem;line-height:1;color:var(--c-muted);cursor:pointer;padding:0 .15rem;flex:0 0 auto}
.search-overlay__hint{max-width:760px;margin:.6rem auto 0;color:var(--c-muted);font-size:.8rem;text-align:center}
.search-overlay__hint kbd{background:var(--c-bg);border:1px solid var(--c-border);border-radius:4px;padding:0 .35rem;font-size:.85em}
body.search-open{overflow:hidden}

/* Feedback al añadir (la animación de vuelo la hace order.js) */
.order-mini__add.is-added,.order-form__add.is-added{background:var(--c-primary-d)!important;transform:scale(.96);transition:transform .15s ease}

/* === Catálogo: barra de orden + Ver más (UX con muchos productos) === */
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0 0 1.1rem;padding-bottom:.9rem;border-bottom:1px solid var(--c-border)}
.catalog-count--bar{margin:0;color:var(--c-muted);font-size:.9rem;font-weight:650}
.catalog-sort{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--c-muted)}
.catalog-sort select{border:1px solid var(--c-border);border-radius:10px;padding:.5rem .7rem;font:inherit;font-size:.9rem;background:#fff;color:var(--c-text);cursor:pointer}
.catalog-sort select:focus-visible{outline:2px solid var(--c-primary);outline-offset:1px}
.catalog-more{display:block;margin:1.6rem auto 0;border:1.5px solid var(--c-primary);background:#fff;color:var(--c-primary-d);font-weight:750;padding:.85rem 1.9rem;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,transform .1s}
.catalog-more:hover{background:var(--c-primary);color:#fff}
.catalog-more:active{transform:scale(.97)}

/* ===== Feed rediseñado: barra de control unificada + facetas + chips activos ===== */
.catalog-controls{margin:0 0 var(--space-4)}
.catalog-bar{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}
.catalog-bar .catalog-search{position:relative;flex:1 1 320px;min-width:240px;display:block;margin:0;text-transform:none;letter-spacing:0}
.catalog-search__icon{position:absolute;left:.95rem;top:50%;transform:translateY(-50%);color:var(--c-muted);pointer-events:none}
.catalog-bar .catalog-search input{width:100%;min-height:52px;padding:.8rem 1rem .8rem 2.9rem;border:1.5px solid var(--c-border);border-radius:14px;background:#fff;color:var(--c-text);font:500 1rem var(--font-body);box-shadow:0 4px 16px rgba(21,27,32,.05)}
.catalog-bar .catalog-search input:focus{border-color:var(--c-primary);outline:3px solid rgba(1,154,124,.14)}
.catalog-bar .catalog-sort{flex:0 0 auto;display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;color:var(--c-muted)}
.catalog-bar .catalog-sort select{min-height:52px;border:1.5px solid var(--c-border);border-radius:14px;padding:.6rem .9rem;background:#fff;color:var(--c-text);font:600 .92rem var(--font-body);cursor:pointer}
.catalog-clear{flex:0 0 auto;min-height:44px;border:0;background:none;color:var(--c-primary-d);font-weight:800;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:.4rem .2rem}
.catalog-clear:hover{color:var(--c-dark)}

.catalog-facets{margin-top:.9rem;border:1px solid var(--c-border);border-radius:16px;background:#fff;overflow:hidden}
.catalog-facets__sum{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem 1.1rem;font-weight:850;font-size:.92rem;cursor:pointer;list-style:none}
.catalog-facets__sum::-webkit-details-marker{display:none}
.catalog-facets__chev{transition:transform .2s ease;color:var(--c-muted)}
.catalog-facets[open] .catalog-facets__chev{transform:rotate(180deg)}
.catalog-facets__inner{padding:0 1.1rem 1.1rem;display:grid;gap:1rem}
.facet-group{display:grid;gap:.5rem}
.facet-group__label{font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted)}
.facet-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.facet-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.45rem .9rem;border:1.5px solid var(--c-border);border-radius:999px;background:#fff;color:var(--c-text);font:700 .85rem var(--font-body);cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .1s}
.facet-chip:hover{border-color:var(--c-primary);transform:translateY(-1px)}
.facet-chip span{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 .35rem;border-radius:999px;background:var(--c-bg);color:var(--c-muted);font-size:.72rem;font-weight:800}
.facet-chip.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.facet-chip.is-active span{background:rgba(255,255,255,.26);color:#fff}
.facet-chip--tag{border-style:dashed}

.catalog-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0 0}
.catalog-chips:empty{margin:0}
.catalog-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .4rem .35rem .8rem;border:0;border-radius:999px;background:rgba(1,154,124,.12);color:var(--c-primary-d);font:800 .82rem var(--font-body);cursor:pointer;transition:background .15s}
.catalog-chip:hover{background:rgba(1,154,124,.2)}
.catalog-chip span{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--c-primary-d);color:#fff;font-size:.8rem;line-height:1}
.catalog-controls .catalog-count{margin:.8rem 0 0}

/* Pulido de tarjeta: el producto respira y destaca; cuerpo más limpio */
.catalog-card{border-radius:16px}
.catalog-card__visual{background:radial-gradient(120% 120% at 50% 18%,#fbfdfc 0%,#f2f6f4 100%)}
.catalog-card__visual img{padding:8%}
.catalog-card__visual--editorial img,.catalog-card--compact .catalog-card__visual img{padding:0}
.catalog-card__body{min-height:0;gap:.15rem;padding:var(--space-3) var(--space-3) calc(var(--space-3) + .2rem)}
.catalog-card__meta{margin-bottom:.4rem}
.catalog-card h3{margin-bottom:.35rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.catalog-card .catalog-price{margin:.25rem 0 .15rem}
.catalog-card__order{margin-top:auto;padding-top:.55rem}
.order-mini__add{min-height:46px;border-radius:12px;font-size:.92rem}
@media (max-width:560px){
  .catalog-bar .catalog-sort{flex:1 1 100%}
  .catalog-bar .catalog-sort select{flex:1}
  .catalog-card h3{min-height:0;-webkit-line-clamp:3}
  .catalog-card__visual img{padding:5%}
}

/* ===== Filtros en SIDEBAR (sticky desktop / drawer móvil) — v2 ===== */
.catalog-sidebar__head{display:flex;align-items:center;gap:.6rem;margin-bottom:.9rem}
.catalog-sidebar__title{font-weight:850;font-size:1.08rem}
.catalog-sidebar .catalog-clear{margin-left:auto;border:0;background:none;color:var(--c-primary-d);font-weight:800;font-size:.82rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:.2rem}
.catalog-sidebar .catalog-clear:hover{color:var(--c-dark)}
.catalog-sidebar__close{display:none}
.catalog-sidebar .catalog-search{position:relative;display:block;margin:0 0 .4rem;text-transform:none;letter-spacing:0;font-weight:500}
.catalog-sidebar .catalog-search input{width:100%;min-height:46px;padding:.7rem .8rem .7rem 2.6rem;border:1.5px solid var(--c-border);border-radius:12px;background:#fff;color:var(--c-text);font:500 1rem var(--font-body);box-shadow:none}
.catalog-sidebar .catalog-search input:focus{border-color:var(--c-primary);outline:3px solid rgba(1,154,124,.14)}
.catalog-search__icon{position:absolute;left:.8rem;top:50%;transform:translateY(-50%);color:var(--c-muted);pointer-events:none}

.filter-group{padding:.95rem 0;border-top:1px solid var(--c-border)}
.filter-group__label{display:block;font-size:.71rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;color:var(--c-muted);margin-bottom:.55rem}
.filter-opts{display:flex;flex-direction:column;gap:.25rem}
.filter-opts--scroll{max-height:240px;overflow:auto;overscroll-behavior:contain;padding-right:.3rem}
.filter-opt{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:40px;padding:.45rem .7rem;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--c-text);font:650 .9rem var(--font-body);text-align:left;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.filter-opt:hover{background:var(--c-bg)}
.filter-opt__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-opt__n{flex:0 0 auto;font-size:.73rem;font-weight:800;color:var(--c-muted);background:var(--c-bg);border-radius:999px;padding:.06rem .46rem;min-width:22px;text-align:center}
.filter-opt:hover .filter-opt__n{background:#fff}
.filter-opt.is-active{background:rgba(1,154,124,.1);border-color:rgba(1,154,124,.42);color:var(--c-primary-d);font-weight:850}
.filter-opt.is-active .filter-opt__n{background:var(--c-primary);color:#fff}
.filter-opt[hidden]{display:none}

.catalog-filter-toggle{display:none}
.catalog-sidebar__apply{display:none}
.catalog-main{min-width:0}
.catalog-main .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}

/* Desktop: panel sticky a la izquierda */
@media (min-width:900px){
  .catalog-layout{grid-template-columns:264px minmax(0,1fr)}
  .catalog-sidebar{border:1px solid var(--c-border);border-radius:16px;background:#fff;padding:1.15rem;top:84px}
}
@media (min-width:1300px){ .catalog-main .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))} }

/* Tablet/móvil: el sidebar es un drawer lateral tras el botón "Filtros" */
@media (max-width:899px){
  .catalog-filter-toggle{display:inline-flex;align-items:center;gap:.5rem;min-height:46px;padding:.6rem 1.1rem;border:1.5px solid var(--c-border);border-radius:12px;background:#fff;font:800 .92rem var(--font-body);color:var(--c-text);cursor:pointer}
  .catalog-filter-toggle:hover{border-color:var(--c-primary)}
  .catalog-sidebar{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(88vw,350px);z-index:120;background:#fff;padding:1.15rem;overflow:auto;overscroll-behavior:contain;transform:translateX(100%);transition:transform .25s ease;box-shadow:-14px 0 44px rgba(0,0,0,.2);border-radius:0}
  .catalog-sidebar.is-open{transform:translateX(0)}
  .catalog-sidebar__close{display:inline-grid;place-items:center;margin-left:auto;width:36px;height:36px;border:0;border-radius:50%;background:var(--c-bg);font-size:1rem;cursor:pointer}
  .catalog-sidebar__apply{display:block;width:100%;margin-top:1.1rem;min-height:50px;border:0;border-radius:12px;background:var(--c-primary-d);color:#fff;font:850 1rem var(--font-body);cursor:pointer}
  body.catalog-filters-open{overflow:hidden}
  body.catalog-filters-open::before{content:"";position:fixed;inset:0;background:rgba(15,23,32,.45);z-index:110}
}
