/* Decoplus KedPro 3.5 — integración pública final */
body.has-overlay{overflow:hidden}
.topbar__shipping{min-height:40px;display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.25rem .7rem;border:0;background:transparent;color:#fff;text-align:left;font:inherit}
.topbar__shipping>img{flex:none}.topbar__shipping span{display:grid;line-height:1.1}.topbar__shipping strong{font-size:.79rem}.topbar__shipping small{margin-top:.18rem;color:#ffe8ea;font-size:.7rem}.topbar__help{width:20px;height:20px;display:grid!important;place-items:center;border:1px solid rgba(255,255,255,.62);border-radius:50%;font-weight:900}
.nav-dropdown{position:relative}.nav-dropdown__trigger-row{display:flex;align-items:center}.nav-dropdown__trigger-row>a{flex:1}.nav-dropdown__trigger-row>button{width:28px;height:34px;display:grid;place-items:center;padding:0;border:0;background:transparent}.nav-dropdown__trigger-row>button img{width:16px;transition:transform .18s ease}.nav-dropdown.is-open .nav-dropdown__trigger-row>button img{transform:rotate(180deg)}
.nav-dropdown__menu{position:absolute;z-index:120;left:0;top:calc(100% + 14px);width:min(390px,90vw);max-height:min(520px,70vh);overflow:auto;display:none;padding:.55rem;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 24px 60px rgba(7,31,58,.24)}
.nav-dropdown:hover .nav-dropdown__menu,.nav-dropdown.is-open .nav-dropdown__menu{display:grid}.nav-dropdown__menu a{display:grid!important;gap:.15rem;padding:.75rem .8rem!important;color:var(--ink)!important}.nav-dropdown__menu a:hover{background:var(--blue-soft)!important;color:var(--navy)!important}.nav-dropdown__menu small{color:var(--muted);font-size:.73rem}.nav-dropdown__all{margin-top:.25rem;border-top:1px solid var(--line);font-weight:900}
.dialog-shell{position:fixed;z-index:300;inset:0;display:none;place-items:center;padding:1rem;background:rgba(3,18,34,.72);backdrop-filter:blur(4px)}.dialog-shell.is-open{display:grid}.dialog-card{width:min(680px,100%);max-height:calc(100vh - 2rem);overflow:auto;padding:clamp(1.1rem,3vw,2rem);border-radius:22px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.34)}.dialog-card--search{width:min(760px,100%)}.dialog-card--location{width:min(780px,100%)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.dialog-close{width:42px;height:42px;display:grid;place-items:center;flex:none;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff}.dialog-close img{width:21px}.dialog-close--dark{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}.dialog-close--dark img{filter:brightness(0) invert(1)}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0}.location-rule{min-height:64px;margin:.8rem 0 1rem;padding:1rem;border:1px solid #c9d9e7;border-radius:14px;background:#eef6fd;color:#123d67;font-weight:750}.location-rule.is-fixed{border-color:#f2d36b;background:#fff8db;color:#6c5200}.location-rule.is-consult{border-color:#fecaca;background:#fff1f2;color:#9f1239}.excluded-communes{margin:0 0 1.25rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:13px;background:#fafcfe}.excluded-communes summary{cursor:pointer;color:var(--navy);font-weight:850}.excluded-communes p{margin-top:.7rem;color:var(--muted)}
.dialog-shell--assistant{align-items:end;justify-items:start;padding:1rem}.assistant__dialog--guided{width:min(430px,100%);height:min(720px,calc(100vh - 2rem))}.assistant__head{display:flex;align-items:center;justify-content:space-between}.assistant__messages .message p{margin-top:.35rem}.assistant-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.8rem}.assistant-chips button{padding:.5rem .7rem;border:1px solid #bed2e3;border-radius:999px;background:#fff;color:var(--navy);font-size:.82rem;font-weight:800}.assistant-chips button:hover{background:var(--blue-soft)}.assistant-result{display:grid;grid-template-columns:54px 1fr;gap:.6rem;align-items:center;margin-top:.55rem;padding:.55rem;border:1px solid var(--line);border-radius:10px;background:#fff}.assistant-result img{width:54px;height:54px;object-fit:contain}.assistant-result small{color:var(--muted)}.assistant-escalate{display:inline-flex;margin-top:.6rem;color:var(--blue);font-weight:850;text-decoration:underline}
.drawer-backdrop{position:fixed;z-index:340;inset:0;background:rgba(3,18,34,.56)}.cart-drawer{position:fixed;z-index:350;inset:0 0 0 auto;width:min(470px,100%);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;transform:translateX(105%);background:#fff;box-shadow:-24px 0 70px rgba(7,31,58,.28);transition:transform .24s ease}.cart-drawer.is-open{transform:translateX(0)}.cart-drawer__head{display:flex;justify-content:space-between;align-items:flex-start;padding:1.15rem 1.2rem;border-bottom:1px solid var(--line)}.cart-drawer__head h2{font-size:1.7rem}.cart-drawer__location{display:grid;gap:.15rem;padding:.75rem 1.2rem;border-bottom:1px solid var(--line);background:#f6f9fc;font-size:.86rem}.cart-drawer__items{overflow:auto;padding:.65rem 1.2rem}.cart-preview-row{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--line)}.cart-preview-row img{width:62px;height:62px;object-fit:contain;border:1px solid var(--line);border-radius:10px}.cart-preview-row__copy{min-width:0}.cart-preview-row__copy strong{display:block;color:var(--navy);font-size:.9rem}.cart-preview-row__copy small{display:block;color:var(--muted);font-size:.74rem}.cart-preview-row__controls{display:flex;align-items:center;gap:.35rem;margin-top:.45rem}.cart-preview-row__controls button{width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:8px;background:#fff}.cart-preview-row__controls input{width:50px;height:30px;padding:0 .25rem;border:1px solid var(--line);border-radius:8px;text-align:center}.cart-preview-row__price{text-align:right;font-size:.86rem}.cart-preview-row__remove{display:block;margin-top:.35rem;padding:0;border:0;background:transparent;color:#a51e28;font-size:.72rem}.cart-progress{padding:.8rem 1.2rem;border-top:1px solid var(--line);background:#f9fbfd}.cart-progress__track{height:8px;overflow:hidden;border-radius:999px;background:#dfe8ef}.cart-progress__track i{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--red),#f05a65);transition:width .25s ease}.cart-progress p{margin-top:.4rem;color:var(--muted);font-size:.8rem}.cart-drawer__totals{display:grid;gap:.35rem;padding:.8rem 1.2rem;border-top:1px solid var(--line)}.cart-drawer__totals p{display:flex;justify-content:space-between;gap:1rem}.cart-drawer__total{padding-top:.45rem;border-top:1px solid var(--line);font-size:1.18rem}.cart-drawer__actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:1rem 1.2rem;border-top:1px solid var(--line)}
.search-results{max-height:520px;overflow:auto}.search-result{border:1px solid transparent}.search-result:hover{border-color:var(--line)}.search-result__price{white-space:nowrap;color:var(--navy)}
.hero-slider+.quick-grid{margin-top:-2rem}.hero-slide__content .eyebrow{color:#ff8088}.hero-slide__content .actions{max-width:650px}.hero-slide__content .btn{min-width:170px}.hero-slider__controls{width:min(calc(100% - 32px),var(--max))}.hero-slider__controls>button{flex:none}.hero-slider__dots{margin:auto}.home-setup-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}.home-setup-grid>img{width:100%;min-height:410px;object-fit:cover;border-radius:26px;box-shadow:var(--shadow)}.home-setup-grid__copy{display:grid;gap:1rem}.home-setup-list{display:grid;gap:.65rem}.home-setup-list li{padding:.75rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.page-hero--image .breadcrumbs span{color:#fff!important}.page-hero--image .breadcrumbs{color:#fff}.page-hero--image .breadcrumbs a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.45)}
.cart-page-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:1.25rem;align-items:start}.cart-page-items{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}.cart-page-row{display:grid;grid-template-columns:84px minmax(0,1fr) 110px 115px;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid var(--line)}.cart-page-row:last-child{border-bottom:0}.cart-page-row img{width:84px;height:84px;object-fit:contain}.cart-page-row input{width:78px;padding:.55rem;border:1px solid var(--line);border-radius:9px}.cart-page-summary{position:sticky;top:120px}.cart-page-summary p{display:flex;justify-content:space-between;gap:1rem;margin:.5rem 0}.cart-page-summary .total{padding-top:.8rem;border-top:1px solid var(--line);font-size:1.25rem}.cart-page-summary .actions{display:grid;margin-top:1rem}.cart-page-location{margin:1rem 0;padding:1rem;border:1px solid var(--line);border-radius:13px;background:#f7fafc}
.checkout-summary-lines{display:grid;gap:.55rem}.checkout-summary-lines p{display:flex;justify-content:space-between;gap:1rem}.checkout-summary-lines .total{padding-top:.6rem;border-top:1px solid var(--line);font-size:1.15rem}.checkout-consult{margin-top:.7rem;padding:.75rem;border-radius:10px;background:#fff1f2;color:#9f1239}.checkout-payment-note{margin-top:.7rem;color:var(--muted);font-size:.85rem}
.contact-form .notice{margin-top:.8rem}.business-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.business-info-grid article{padding:1.2rem;border:1px solid var(--line);border-radius:16px;background:#fff}.business-info-grid p{margin-top:.45rem;color:var(--muted)}
.footer__bottom a{color:#fff;text-decoration:underline}.final-cta-section{padding-bottom:0}.final-cta{margin-bottom:-1.4rem;position:relative;z-index:2}.footer{padding-top:5.4rem}
.notice.warning,.notice.warn,.notice--warn{background:#fff7ed;color:#9a3412}.notice.success{background:#dcfce7;color:#166534}.notice.error{background:#fee2e2;color:#991b1b}.empty-state{padding:1rem;color:var(--muted);text-align:center}
@media(max-width:1080px){.nav-dropdown__menu{position:static;width:100%;max-height:none;margin:.2rem 0;padding:.25rem;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);box-shadow:none}.nav-dropdown:hover .nav-dropdown__menu{display:none}.nav-dropdown.is-open .nav-dropdown__menu{display:grid}.nav-dropdown__menu a{color:#fff!important}.nav-dropdown__menu a:hover{background:rgba(255,255,255,.12)!important;color:#fff!important}.nav-dropdown__menu small{color:#d6e5f1}.nav-dropdown__trigger-row>button{width:46px}.nav-dropdown__trigger-row>button img{filter:none}.cart-page-layout{grid-template-columns:1fr}.cart-page-summary{position:static}}
@media(max-width:820px){.topbar__shipping strong{font-size:.74rem}.topbar__shipping small{display:none}.location-grid,.home-setup-grid{grid-template-columns:1fr}.business-info-grid{grid-template-columns:1fr 1fr}.cart-page-row{grid-template-columns:70px minmax(0,1fr) 90px}.cart-page-row>strong:last-child{grid-column:2/4;text-align:right}.hero-slider+.quick-grid{margin-top:1rem}}
@media(max-width:640px){.topbar__inner{justify-content:space-between}.topbar__item:first-child{display:none}.topbar__shipping{flex:1;justify-content:flex-start;padding-left:0}.topbar__address{display:flex!important;font-size:0}.topbar__address img{width:20px;height:20px}.nav__actions .icon-btn--whatsapp{display:none}.cart-drawer__actions{grid-template-columns:1fr}.dialog-shell{padding:.45rem}.dialog-card{max-height:calc(100vh - .9rem);border-radius:17px}.assistant__dialog--guided{height:calc(100vh - .9rem)}.business-info-grid{grid-template-columns:1fr}.cart-page-row{grid-template-columns:64px minmax(0,1fr)}.cart-page-row input{grid-column:2}.cart-page-row>strong:last-child{grid-column:2;text-align:left}.floating-contact--assistant{bottom:4.65rem}.final-cta{grid-template-columns:1fr}.hero-slider__dots{max-width:190px;overflow:hidden}.hero-slider__controls>button{width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){.cart-drawer{transition:none}}
.quick-card--button{width:100%;border:1px solid var(--line);font:inherit;color:inherit;text-align:left;cursor:pointer}.quick-card--button:hover,.quick-card:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(7,31,58,.15)}
.install-banner--home{margin-top:2.2rem}.site-toast{position:fixed;z-index:500;left:50%;bottom:1rem;max-width:min(520px,calc(100% - 2rem));transform:translateX(-50%);padding:.85rem 1rem;border-radius:12px;background:#0b2f57;color:#fff;font-weight:800;box-shadow:0 18px 45px rgba(7,31,58,.3)}.site-toast--success{background:#087f5b}.site-toast--warning{background:#9a6700}.site-toast--error{background:#991b1b}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.delivery-options{display:flex;flex-wrap:wrap;gap:.8rem;margin:.8rem 0 1rem}.delivery-options label{display:flex;gap:.5rem;align-items:center;padding:.75rem 1rem;border:1px solid var(--line);border-radius:12px;background:#fff}.checkout-summary{position:sticky;top:120px}.checkout-summary>p{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}.checkout-summary>p span{max-width:70%}.is-disabled{pointer-events:none;opacity:.5}.page-hero--image p{color:#e8f1f8}.business-info-grid article img{margin-bottom:.7rem}.business-info-grid article h2,.business-info-grid article h3{margin-bottom:.35rem}
@media(max-width:760px){.checkout-summary{position:static}}
/* Terminaciones de la entrega consolidada */
.hero-slider+.quick-grid{margin-top:2.25rem}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.25rem,4vw,3rem);align-items:start}.contact-visual{width:100%;min-height:360px;object-fit:cover;border-radius:22px;box-shadow:var(--shadow)}.contact-note{margin-top:1rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.contact-note p{margin-top:.4rem;color:var(--muted)}.consent-line{display:flex;align-items:flex-start;gap:.65rem;margin:1rem 0;padding:.9rem;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.consent-line input{margin-top:.2rem}.contact-form .actions{margin-top:1rem}
.checkout-shipping-status{margin-top:1rem;padding:.8rem .9rem;border:1px solid #c9d9e7;border-radius:12px;background:#eef6fd;color:#123d67;font-weight:750}.checkout-shipping-status.is-consult{border-color:#fecaca;background:#fff1f2;color:#9f1239}.checkout-shipping-status.is-free{border-color:#bbf7d0;background:#ecfdf5;color:#166534}.checkout-grid button[disabled]{cursor:not-allowed;opacity:.55}.checkout-grid .card>h2:not(:first-child){margin-top:1.65rem;padding-top:1.15rem;border-top:1px solid var(--line)}
@media(max-width:860px){.contact-layout{grid-template-columns:1fr}.hero-slider+.quick-grid{margin-top:1.25rem}}
/* Catálogo final */
.page-hero--catalog{background:linear-gradient(120deg,#082c52,#174b7b);color:#fff}.page-hero--catalog p{max-width:820px;color:#e7f0f8}.page-hero--catalog .breadcrumbs,.page-hero--catalog .breadcrumbs a,.page-hero--catalog .breadcrumbs span{color:#fff}.catalog-toolbar--advanced{display:grid;grid-template-columns:minmax(240px,1.35fr) repeat(3,minmax(175px,.75fr));gap:.85rem;align-items:end;padding:1rem;border:1px solid var(--line);border-radius:18px;background:#f8fafc}.catalog-toolbar--advanced .field{min-width:0}.catalog-toolbar__actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.65rem}.catalog-results-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.4rem 0}.catalog-results-head p{margin-top:.25rem;color:var(--muted)}
.product-purchase-box{display:grid;gap:.85rem;margin-top:1.1rem;padding:1rem;border:1px solid var(--line);border-radius:16px;background:#f8fafc}.product-purchase-row{display:flex;align-items:end;gap:.8rem;flex-wrap:wrap}.product-quantity{display:grid;gap:.35rem}.product-quantity span{color:var(--navy);font-size:.82rem;font-weight:850}.product-quantity input{width:92px;min-height:48px;padding:.65rem .75rem;border:1px solid #b7c7d5;border-radius:10px;background:#fff;font:inherit}.product-purchase-row .actions{flex:1;margin:0}.product-shipping-assurance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.product-shipping-assurance span{display:flex;align-items:center;gap:.45rem;padding:.6rem .7rem;border-radius:10px;background:#fff;color:var(--muted);font-size:.78rem}.product-shipping-assurance img{width:18px;height:18px;flex:none}
@media(max-width:1050px){.catalog-toolbar--advanced{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-search-field{grid-column:1/-1}}
@media(max-width:680px){.catalog-toolbar--advanced{grid-template-columns:1fr}.catalog-search-field,.catalog-toolbar__actions{grid-column:auto}.catalog-toolbar__actions{display:grid}.catalog-results-head{align-items:flex-start;flex-direction:column}.product-shipping-assurance{grid-template-columns:1fr}.product-purchase-row{align-items:stretch}.product-quantity input{width:100%}}
/* Formularios públicos y protección antispam */
.hp-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.service-request-form,.contact-form{width:100%}.service-request-form .form-grid,.contact-form .form-grid{align-items:start}.service-request-form textarea,.contact-form textarea{min-height:150px;resize:vertical}.consent-line span{line-height:1.45}.consent-line a{font-weight:800}.contact-form [aria-invalid="true"],.service-request-form [aria-invalid="true"]{border-color:#b91c1c;box-shadow:0 0 0 3px rgba(185,28,28,.1)}

/* Corrección responsive 5.2: evita el desborde de la cabecera observado en 320–414 px. */
@media(max-width:560px){
  .nav{width:100%;max-width:100%;gap:.45rem}
  .brand--official{flex:1 1 auto;max-width:46vw}
  .brand__logo{width:min(180px,46vw);max-width:100%}
  .nav__actions{min-width:0;flex:0 0 auto;gap:.35rem}
  .nav__actions .icon-btn{flex:0 0 42px;width:42px;height:42px}
  .menu-toggle{padding:0 .55rem}
  .cookie-banner{left:.5rem;right:.5rem;bottom:.5rem;width:auto;max-height:calc(100dvh - 1rem);overflow:auto;padding:.85rem}
  .cookie-banner__actions{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
}
@media(max-width:430px){
  .menu-toggle{width:42px;padding:0}
  .menu-toggle .menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media(max-width:350px){
  .nav__actions>a[aria-label="Mi cuenta"]{display:none}
  .brand--official{max-width:52vw}
  .brand__logo{width:52vw}
  .cookie-banner__actions{grid-template-columns:1fr}
}

/* Reparación visual 5.2.1: contraste, rejillas, pie y controles flotantes. */
.page-hero--catalog{padding:clamp(3.25rem,6vw,5.25rem) 0;background:linear-gradient(115deg,#061f3b 0%,#0c3d6c 58%,#16568b 100%)}
.page-hero--catalog h1,.page-hero--catalog h2{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.2)}
.page-hero--catalog .eyebrow{color:#ff7d86}
.page-hero--catalog .page-hero__inner{max-width:900px}

.product-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1.15rem}
.product-grid--single{grid-template-columns:minmax(280px,340px);justify-content:start}
.product-card{height:100%}
.product-card__body{padding:1.15rem}
.product-card__meta{align-items:flex-start;flex-wrap:wrap}
.product-card__rating{
  min-height:25px;
  display:flex;
  align-items:center;
  gap:.45rem;
  margin:.05rem 0 .3rem;
  line-height:1;
}
.product-card__stars{
  display:inline-flex;
  color:#f5b400;
  font-size:1.05rem;
  font-weight:900;
  letter-spacing:.18em;
  white-space:nowrap;
  text-shadow:0 1px 0 rgba(144,96,0,.08);
}
.product-card__stars>span{color:#d8dee6}
.product-card__rating small{
  color:#98a2ad;
  font-size:.78rem;
  font-weight:500;
}
.product-card__actions .btn{min-width:0;padding-inline:.8rem}
.product-calculate-access{
  display:grid;
  gap:.55rem;
  margin:1rem 0;
  padding:1rem;
  border:1px solid #c9dbe8;
  border-radius:14px;
  background:linear-gradient(135deg,#edf6fc,#fff);
}
.product-calculate-access__button{
  width:max-content;
  display:inline-flex;
  align-items:center;
  gap:.6rem;
}
.product-calculate-access__button img{
  width:28px;
  height:28px;
  object-fit:contain;
  border:2px solid rgba(255,255,255,.9);
  border-radius:9px;
  background:#fff;
}
.product-calculate-access p{
  margin:0;
  color:#4a647a;
  font-size:.83rem;
  line-height:1.5;
}
.product-calculator-section{scroll-margin-top:120px}
.pagination{flex-wrap:wrap;padding-inline:.25rem}

#opiniones.section{padding-block:clamp(3.25rem,6vw,5rem)}
#opiniones .reviews-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
#opiniones .review-card{height:100%;display:flex;flex-direction:column}
#opiniones .review-card small{margin-top:auto;padding-top:.75rem}

.footer__grid--v2{grid-template-columns:minmax(260px,1.35fr) minmax(130px,.7fr) minmax(170px,.85fr) minmax(240px,1.15fr)}
.footer__grid--v2>*{min-width:0}
.footer__contact>a,.footer__contact>span{display:grid;grid-template-columns:20px minmax(0,1fr);gap:.55rem;align-items:start}
.footer__contact>a>span,.footer__contact>span>span{display:block;min-width:0;line-height:1.45;word-break:normal;overflow-wrap:anywhere}
.footer__contact img{margin-top:.15rem}

.floating-contact{right:max(1rem,env(safe-area-inset-right));border:0}
.floating-contact--assistant{background:var(--red);color:#fff}
.floating-contact--whatsapp{color:#073d1e}

@media(max-width:1100px){
  .footer__grid--v2{grid-template-columns:minmax(260px,1.25fr) minmax(180px,.75fr)}
  #opiniones .reviews-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:860px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-grid--single{grid-template-columns:minmax(270px,340px)}
  .floating-contact span{display:none}
  .floating-contact{width:52px;height:52px;min-height:52px;padding:0;justify-content:center}
}
@media(max-width:620px){
  .page-hero--catalog{padding:2.75rem 0}
  .page-hero--catalog h1{font-size:clamp(2.15rem,11vw,3.1rem)}
  #opiniones .reviews-list,.footer__grid--v2{grid-template-columns:1fr}
  .footer{padding-top:4.5rem}
  .footer__contact>a,.footer__contact>span{grid-template-columns:22px minmax(0,1fr)}
}
@media(max-width:540px){
  .product-grid,.product-grid--single{grid-template-columns:1fr}
  .product-card__image{height:250px}
  .product-card__actions{grid-template-columns:1fr 1fr}
  .quick-card{padding:1.1rem;grid-template-columns:46px minmax(0,1fr)}
  .quick-card__icon{width:46px;height:46px}
}

/* Carrusel compacto de categorías: el recurso circular es el protagonista, sin tarjetas dobles. */
.home-categories{padding-top:clamp(2.75rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,4vw,3.75rem);overflow:hidden;background:#fff}
.category-carousel{position:relative;margin-top:1.5rem;padding-inline:3rem}
.category-carousel__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:clamp(142px,15vw,184px);
  gap:clamp(.85rem,1.6vw,1.4rem);
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:.35rem .2rem .85rem;
}
.category-carousel__track::-webkit-scrollbar{display:none}
.category-carousel__track:focus-visible{outline:3px solid rgba(12,79,130,.24);outline-offset:5px;border-radius:18px}
.category-carousel__item{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  scroll-snap-align:start;
  color:var(--navy);
  text-align:center;
  text-decoration:none;
}
.category-carousel__icon{
  width:clamp(116px,12vw,148px);
  aspect-ratio:1;
  display:block;
  overflow:hidden;
  flex:none;
  border-radius:50%;
  transition:transform .22s ease,filter .22s ease;
}
.category-carousel__icon img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:50%;
}
.category-carousel__item:hover .category-carousel__icon,
.category-carousel__item:focus-visible .category-carousel__icon{transform:translateY(-4px) scale(1.025);filter:drop-shadow(0 12px 15px rgba(7,31,58,.16))}
.category-carousel__item:focus-visible{outline:0}
.category-carousel__name{
  width:100%;
  margin-top:.75rem;
  color:var(--navy);
  font-size:.96rem;
  font-weight:900;
  line-height:1.2;
}
.category-carousel__count{margin-top:.3rem;color:var(--muted);font-size:.78rem;font-weight:650}
.category-carousel__arrow{
  position:absolute;
  z-index:2;
  top:50%;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid #cfdae4;
  border-radius:50%;
  background:#fff;
  box-shadow:0 9px 24px rgba(7,31,58,.15);
  transform:translateY(-70%);
  transition:opacity .18s ease,transform .18s ease,background .18s ease;
}
.category-carousel__arrow:hover:not(:disabled){background:var(--blue-soft);transform:translateY(-70%) scale(1.05)}
.category-carousel__arrow:disabled{opacity:.28;cursor:default;box-shadow:none}
.category-carousel__arrow img{width:20px;height:20px}
.category-carousel__arrow--previous{left:0}
.category-carousel__arrow--next{right:0}
@media(max-width:700px){
  .home-categories{padding-top:2.5rem;padding-bottom:2.25rem}
  .section-heading--categories{gap:.65rem}
  .category-carousel{margin-top:1.15rem;padding-inline:2.15rem}
  .category-carousel__track{grid-auto-columns:minmax(126px,44vw);gap:.75rem;padding-bottom:.5rem}
  .category-carousel__icon{width:112px}
  .category-carousel__name{font-size:.84rem}
  .category-carousel__count{font-size:.7rem}
  .category-carousel__arrow{width:36px;height:36px;transform:translateY(-78%)}
  .category-carousel__arrow:hover:not(:disabled){transform:translateY(-78%) scale(1.04)}
}

/* Portada comercial reorganizada. */
.home-welcome{padding:2rem 0 .5rem;background:#fff}
.home-welcome__card{
  display:grid;
  grid-template-columns:minmax(240px,340px) minmax(0,1fr);
  align-items:center;
  gap:clamp(1.25rem,3vw,2.5rem);
  padding:1rem;
  border:1px solid var(--line);
  border-radius:24px;
  background:#f7fafc;
  box-shadow:0 14px 36px rgba(7,31,58,.09);
}
.home-welcome__card>img{width:100%;height:210px;object-fit:cover;border-radius:17px}
.home-welcome__card h2{margin:.15rem 0 .45rem}
.home-welcome__card p:not(.eyebrow){max-width:760px;color:var(--muted)}
.home-welcome__card .actions{align-items:center;margin-top:1rem}
.section-heading--categories p{max-width:760px;margin-top:.45rem;color:var(--muted)}

.home-custom-color{background:#fff}
.home-custom-color__card{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  min-height:560px;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:26px;
  background:#fff;
  box-shadow:0 20px 50px rgba(7,31,58,.12);
}
.home-custom-color__media{min-width:0;min-height:100%}
.home-custom-color__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
  object-position:center;
}
.home-custom-color__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(1.5rem,3.5vw,3.25rem);
}
.home-custom-color__content h2{
  max-width:620px;
  margin:.15rem 0 1rem;
  font-size:clamp(2rem,3.25vw,3.35rem);
  line-height:1.02;
}
.home-custom-color__content>p:not(.eyebrow){margin:0 0 .85rem;color:var(--muted)}
.home-custom-color__content .home-custom-color__closing{color:var(--navy);font-weight:800}
.home-custom-color__benefits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
  margin:1rem 0 1.35rem;
  padding:0;
  list-style:none;
}
.home-custom-color__benefits li{
  position:relative;
  min-height:52px;
  display:flex;
  align-items:center;
  padding:.75rem .8rem .75rem 2.55rem;
  border:1px solid #dce7f0;
  border-radius:12px;
  background:#f5f9fc;
  color:var(--navy);
  font-size:.9rem;
  font-weight:800;
}
.home-custom-color__benefits li::before{
  content:"✓";
  position:absolute;
  left:.8rem;
  width:1.25rem;
  height:1.25rem;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:.76rem;
}
.home-custom-color__content .actions{align-items:center}

/* Contacto y cotización: fotografía original + formulario comercial compacto. */
.contact-quote-section{padding:clamp(1.25rem,3vw,2.5rem) 0 clamp(3rem,6vw,5rem);background:#f3f7fa}
.contact-breadcrumbs{margin-bottom:1rem}
.contact-quote-layout{
  display:grid;
  grid-template-columns:minmax(330px,.88fr) minmax(520px,1.12fr);
  align-items:start;
  gap:clamp(1rem,2.4vw,2rem);
}
.contact-storefront{
  position:sticky;
  top:118px;
  min-width:0;
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 45px rgba(7,31,58,.1);
}
.contact-storefront img{display:block;width:100%;height:auto;object-fit:contain;background:#fff}
.contact-quote-panel{
  min-width:0;
  padding:clamp(1.15rem,2.7vw,2.25rem);
  border:1px solid var(--line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 45px rgba(7,31,58,.1);
}
.contact-quote-heading h1{margin:.15rem 0 .85rem;font-size:clamp(2.15rem,3.8vw,3.7rem);line-height:1}
.contact-quote-heading .lead{max-width:820px;color:var(--navy)}
.contact-quote-heading>p:last-child{margin-top:.65rem;color:var(--muted)}
.contact-benefits{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem;
  margin:1.25rem 0 1.5rem;
  padding:0;
  list-style:none;
}
.contact-benefits li{
  position:relative;
  display:flex;
  align-items:center;
  min-height:48px;
  padding:.7rem .75rem .7rem 2.4rem;
  border:1px solid #dce7f0;
  border-radius:12px;
  background:#f5f9fc;
  color:var(--navy);
  font-size:.86rem;
  font-weight:800;
}
.contact-benefits li::before{
  content:"✓";
  position:absolute;
  left:.75rem;
  width:1.2rem;
  height:1.2rem;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-size:.72rem;
}
.contact-feedback{min-width:0}
.contact-error-summary{margin-bottom:1rem}
.contact-error-summary ul{margin:.45rem 0 0;padding-left:1.2rem}
.contact-project-form{min-width:0}
.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}
.contact-form-grid .full{grid-column:1/-1}
.contact-form-grid .field{min-width:0;margin:0}
.contact-form-grid .field>span,
.contact-upload-field>label>span,
.contact-preference legend{display:block;margin-bottom:.42rem;color:var(--navy);font-size:.88rem;font-weight:850}
.contact-form-grid input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.contact-form-grid select,
.contact-form-grid textarea{
  width:100%;
  min-width:0;
  border:1px solid #c9d6e0;
  background:#fff;
}
.contact-form-grid textarea{min-height:140px;resize:vertical}
.contact-form-grid input:focus-visible,
.contact-form-grid select:focus-visible,
.contact-form-grid textarea:focus-visible,
.contact-upload-zone:focus-within{
  outline:3px solid rgba(30,107,177,.2);
  outline-offset:1px;
  border-color:var(--blue);
}
.contact-form-grid [aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.08)}
.field-error{display:block;margin-top:.4rem;color:#b42318;font-size:.8rem;font-weight:750}
.contact-upload-field>label small{color:var(--muted);font-weight:650}
.contact-upload-zone{
  display:grid;
  gap:.2rem;
  padding:1rem;
  border:1px dashed #93abc0;
  border-radius:13px;
  background:#f7fafc;
  cursor:pointer;
}
.contact-upload-zone strong{color:var(--navy)}
.contact-upload-zone span{color:var(--muted);font-size:.82rem}
.contact-upload-field{position:relative}
.contact-upload-field .contact-upload-input{
  position:absolute;
  left:0;
  bottom:0;
  width:1px;
  min-width:1px;
  max-width:1px;
  height:1px;
  min-height:1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  border:0;
  white-space:nowrap;
}
.contact-upload-message{min-height:1.2rem;margin-top:.4rem;color:var(--muted);font-size:.8rem}
.contact-upload-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:.55rem}
.contact-upload-item{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}
.contact-upload-item img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.contact-upload-item span{display:block;overflow:hidden;padding:.4rem;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem}
.contact-upload-item button{width:100%;padding:.35rem;border:0;border-top:1px solid var(--line);background:#fff;color:#b42318;font-size:.72rem;font-weight:800;cursor:pointer}
.contact-preference{min-width:0;margin:0;padding:0;border:0}
.contact-radio-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.contact-radio-group label{min-width:0;cursor:pointer}
.contact-radio-group input{
  position:absolute;
  width:1px;
  min-width:1px;
  max-width:1px;
  height:1px;
  min-height:1px;
  padding:0;
  opacity:0;
  pointer-events:none;
}
.contact-radio-group span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem;border:1px solid #c9d6e0;border-radius:11px;background:#fff;color:var(--navy);font-size:.82rem;font-weight:800;text-align:center}
.contact-radio-group input:checked+span{border-color:var(--blue);background:#eaf4fc;box-shadow:0 0 0 2px rgba(30,107,177,.12)}
.contact-radio-group input:focus-visible+span{outline:3px solid rgba(30,107,177,.22);outline-offset:2px}
.contact-consent{display:grid;grid-template-columns:auto 1fr;gap:.65rem;margin:0}
.contact-consent .field-error{grid-column:2}
.contact-form-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.15rem}
.contact-form-actions .btn{min-height:46px}
.contact-form-note{margin-top:.75rem;color:var(--muted);font-size:.78rem}
.contact-success{padding:clamp(1.3rem,3vw,2rem);border:1px solid #a8dfbd;border-radius:18px;background:#f0fbf4}
.contact-success__icon{width:46px;height:46px;display:grid;place-items:center;margin-bottom:.85rem;border-radius:50%;background:#16803b;color:#fff;font-size:1.4rem;font-weight:900}
.contact-success h2{margin-bottom:.55rem}
.contact-success p{margin-top:.45rem;color:#234332}
.contact-success .actions{margin-top:1.1rem}
.contact-support-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin-top:1rem}
.contact-support-strip a{min-width:0;padding:.9rem 1rem;border:1px solid var(--line);border-radius:13px;background:#fff;text-decoration:none}
.contact-support-strip strong,.contact-support-strip span{display:block}
.contact-support-strip strong{color:var(--navy);font-size:.8rem}
.contact-support-strip span{margin-top:.2rem;overflow-wrap:anywhere;color:var(--muted);font-size:.82rem}

.cart-drawer:not(.is-open){
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:none;
}
.cart-drawer.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}

.home-contact{background:#fff}
.home-contact__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:1.25rem;align-items:stretch}
.home-quote-form{padding:clamp(1.15rem,2.5vw,2rem)}
.home-quote-form>p{margin:.35rem 0 1rem;color:var(--muted)}
.home-quote-form textarea{min-height:125px}
.home-map-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:var(--shadow)}
.home-map-card iframe{display:block;width:100%;height:440px;border:0}
.home-map-card__details{padding:1rem 1.15rem 1.25rem}
.home-map-card__details p{margin-top:.4rem;color:var(--muted)}
.home-map-card__details .text-link{display:inline-block;margin-top:.75rem}

#opiniones{overflow:hidden}
#opiniones .container{max-width:none;padding-inline:0}
#opiniones .section-heading{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}
.review-marquee{width:100%;overflow:hidden;user-select:none;-webkit-user-select:none}
.review-marquee__track{width:max-content;display:flex;gap:1rem;animation:decoplus-reviews-flow 140s linear infinite;will-change:transform}
.review-marquee__group{display:flex;gap:1rem;padding-right:0}
#opiniones .review-marquee .review-card{
  width:330px;
  min-height:205px;
  flex:0 0 330px;
  display:flex;
  flex-direction:column;
  pointer-events:none;
}
#opiniones .review-marquee .review-card small{margin-top:auto;padding-top:.8rem}
@keyframes decoplus-reviews-flow{to{transform:translateX(calc(-50% - .5rem))}}

.final-cta-section{padding:clamp(2.5rem,5vw,4.5rem) 0;background:#fff}
.final-cta{margin-bottom:0;position:static;z-index:auto}
.footer{padding-top:4rem}

.floating-contact--assistant{
  left:max(1rem,env(safe-area-inset-left));
  right:auto;
  bottom:1rem;
  min-height:62px;
  gap:.7rem;
  padding:.55rem 1rem .55rem .62rem;
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 16px 38px rgba(7,31,58,.3),0 0 0 1px rgba(227,38,54,.18);
}
.floating-contact--assistant>img{
  width:40px;
  height:40px;
  flex:0 0 40px;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.22));
}
.floating-contact__copy{
  display:grid;
  gap:.08rem;
  line-height:1.08;
  text-align:left;
}
.floating-contact__copy strong{
  color:#fff;
  font-size:.88rem;
  letter-spacing:.005em;
}
.floating-contact__copy small{
  color:rgba(255,255,255,.82);
  font-size:.68rem;
  font-weight:750;
}
.floating-contact--whatsapp{
  left:auto;
  right:max(1rem,env(safe-area-inset-right));
  bottom:1rem;
  isolation:isolate;
  animation:decoplus-whatsapp-breathe 2.4s ease-in-out infinite;
}
.floating-contact--whatsapp::before,
.floating-contact--whatsapp::after{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-5px;
  border:2px solid rgba(37,211,102,.56);
  border-radius:inherit;
  pointer-events:none;
  animation:decoplus-whatsapp-radiance 2.4s ease-out infinite;
}
.floating-contact--whatsapp::after{
  animation-delay:1.2s;
}
@keyframes decoplus-whatsapp-breathe{
  0%,100%{transform:translateY(0) scale(1);box-shadow:0 14px 34px rgba(7,31,58,.22),0 0 0 rgba(37,211,102,0)}
  50%{transform:translateY(-3px) scale(1.035);box-shadow:0 18px 38px rgba(7,31,58,.24),0 0 24px rgba(37,211,102,.42)}
}
@keyframes decoplus-whatsapp-radiance{
  0%{transform:scale(.94);opacity:.75}
  72%,100%{transform:scale(1.32);opacity:0}
}
@media(max-width:860px){
  .floating-contact--assistant{
    width:60px;
    height:60px;
    min-height:60px;
    padding:0;
    justify-content:center;
  }
  .floating-contact--assistant>img{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
  .floating-contact--whatsapp{
    width:54px;
    height:54px;
    min-height:54px;
  }
}
@media(prefers-reduced-motion:reduce){
  .floating-contact--whatsapp,
  .floating-contact--whatsapp::before,
  .floating-contact--whatsapp::after{animation:none}
}
.footer__developer{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none!important}
.footer__developer img{width:64px;height:64px;object-fit:contain}
.footer__developer span{line-height:1.25;text-align:left}

@media(max-width:900px){
  .contact-quote-layout{grid-template-columns:1fr}
  .contact-storefront{position:static}
  .contact-storefront img{max-height:460px}
  .home-custom-color__card{grid-template-columns:1fr;min-height:0}
  .home-custom-color__media img{min-height:0;aspect-ratio:16/9}
  .home-contact__grid{grid-template-columns:1fr}
  .home-map-card iframe{height:360px}
}
@media(max-width:700px){
  .home-welcome{padding-top:1rem}
  .home-welcome__card{grid-template-columns:1fr;padding:.8rem;border-radius:18px}
  .home-welcome__card>img{height:190px}
  .home-welcome__card .actions{display:flex}
  .home-custom-color__card{border-radius:18px}
  .home-custom-color__media img{aspect-ratio:4/3}
  .home-custom-color__content{padding:1.25rem}
  .home-custom-color__content h2{font-size:2rem}
  .home-custom-color__benefits{grid-template-columns:1fr}
  .home-custom-color__content .actions{display:grid;grid-template-columns:1fr}
  .contact-quote-section{padding-top:1rem}
  .contact-quote-panel{padding:1rem;border-radius:18px}
  .contact-storefront{border-radius:18px}
  .contact-storefront img{max-height:none}
  .contact-benefits{grid-template-columns:1fr}
  .contact-form-grid{grid-template-columns:1fr}
  .contact-form-grid .full{grid-column:auto}
  .contact-upload-preview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-radio-group{grid-template-columns:1fr}
  .contact-form-actions{display:grid;grid-template-columns:1fr}
  .contact-support-strip{grid-template-columns:1fr}
  #opiniones .review-marquee .review-card{width:280px;flex-basis:280px;min-height:220px}
  .final-cta-section{padding:2.25rem 0}
  .footer__developer{align-self:flex-start}
}

/* Tienda: portada fotográfica y filtrado automático. */
.nav-dropdown__trigger-row>.nav-dropdown__label{
  width:auto;
  height:auto;
  display:flex;
  align-items:center;
  gap:.25rem;
  padding:.65rem .7rem;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#f6fbff;
  font:inherit;
  font-size:.9rem;
  font-weight:700;
  cursor:pointer;
}
.nav-dropdown__trigger-row>.nav-dropdown__label:hover,
.nav-dropdown.is-open .nav-dropdown__label{background:rgba(255,255,255,.12);color:#fff}
.nav-dropdown__trigger-row>.nav-dropdown__label img{width:16px;transition:transform .18s ease}
.nav-dropdown.is-open .nav-dropdown__label img{transform:rotate(180deg)}

@media(min-width:1081px){
  .nav-dropdown__menu{top:100%}
  .nav-dropdown__menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
  .nav-dropdown__menu{
    left:50%;
    width:min(720px,calc(100vw - 2rem));
    max-height:none;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.25rem;
    padding:.8rem;
    overflow:visible;
    transform:translateX(-50%);
    background:#fff;
  }
  .nav-dropdown__menu a{
    min-height:46px;
    align-content:center;
    border-radius:10px;
  }
  .nav-dropdown__all{grid-column:1/-1}
}

.page-hero--shop{
  min-height:410px;
  display:flex;
  align-items:center;
  background-image:linear-gradient(90deg,rgba(4,24,45,.94) 0%,rgba(6,34,62,.82) 48%,rgba(6,34,62,.38) 100%),var(--shop-hero-image);
  background-size:cover;
  background-position:center 43%;
  background-repeat:no-repeat;
}
.page-hero--shop .page-hero__inner{max-width:850px}
.catalog-search-input{position:relative}
.catalog-search-input>img{position:absolute;z-index:1;left:.85rem;top:50%;width:21px;height:21px;transform:translateY(-50%);pointer-events:none}
.catalog-search-input>input{padding-left:2.8rem}
.catalog-toolbar__actions{align-items:center;justify-content:space-between}
.catalog-live-status{margin-right:auto;color:var(--muted);font-size:.82rem}
[data-catalog-results]{transition:opacity .16s ease}
[data-catalog-results][aria-busy="true"]{opacity:.48;pointer-events:none}
.catalog-toolbar.is-loading .catalog-live-status::before{
  content:"";
  width:13px;
  height:13px;
  display:inline-block;
  margin-right:.45rem;
  vertical-align:-2px;
  border:2px solid #b7c7d5;
  border-top-color:var(--red);
  border-radius:50%;
  animation:catalog-loading .7s linear infinite;
}
@keyframes catalog-loading{to{transform:rotate(360deg)}}

@media(max-width:1080px){
  .nav-dropdown__trigger-row>.nav-dropdown__label{width:100%;justify-content:space-between;padding:.9rem;color:#fff;font-size:1rem}
  .nav-dropdown__menu{
    margin:.35rem 0 .65rem;
    padding:.45rem;
    border-color:#d8e3ec;
    background:#fff;
  }
  .nav-dropdown__menu a,
  .nav-dropdown__menu a:hover{color:var(--navy)!important}
  .nav-dropdown__menu a:hover{background:var(--blue-soft)!important}
}
@media(max-width:680px){
  .page-hero--shop{min-height:360px;background-image:linear-gradient(180deg,rgba(4,24,45,.78),rgba(4,24,45,.9)),var(--shop-hero-image);background-position:62% center}
  .catalog-toolbar__actions{align-items:stretch;flex-direction:column}
  .catalog-live-status{margin-right:0}
}

/* Nosotros: historia, servicios y asesoría de Pinturas Deco Plus. */
.about-page{overflow:hidden}
.about-hero{
  min-height:620px;
  display:flex;
  align-items:flex-end;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(4,24,45,.96) 0%,rgba(4,24,45,.77) 44%,rgba(4,24,45,.18) 76%),
    var(--about-hero-image) center/cover no-repeat;
}
.about-hero__inner{padding-top:8rem;padding-bottom:5.5rem}
.about-hero__inner>p,.about-hero__inner>h1,.about-hero__inner>.actions{max-width:720px}
.about-hero h1{margin:.5rem 0 1rem;color:#fff;font-size:clamp(2.6rem,5vw,5rem);line-height:.98}
.about-hero p:not(.eyebrow){font-size:clamp(1.05rem,1.7vw,1.32rem);line-height:1.65}
.about-hero .breadcrumbs,.about-hero .breadcrumbs a,.about-hero .breadcrumbs span{color:#fff}
.about-hero .eyebrow{color:#ff6874}
.btn--light{border-color:#fff;background:#fff;color:#082d52}
.btn--light:hover{background:#eaf2f8;color:#082d52}
.about-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.about-split--reverse .about-media{order:2}
.about-split--reverse .about-copy{order:1}
.about-copy h2,.about-heading h2,.about-closing h2{margin:.35rem 0 1.1rem;font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.08}
.about-copy>p:not(.eyebrow),.about-heading>p:not(.eyebrow){color:var(--muted);font-size:1.02rem;line-height:1.8}
.about-media{margin:0;overflow:hidden;border-radius:28px;background:#dfe9f1;box-shadow:0 22px 55px rgba(5,33,59,.14)}
.about-media img{display:block;width:100%;height:100%;object-fit:cover}
.about-media--portrait{aspect-ratio:4/3}
.about-media--wide{aspect-ratio:16/10}
.about-heading{max-width:860px;margin-bottom:2rem}
.about-heading--center{margin-right:auto;margin-left:auto;text-align:center}
.about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.about-principle{position:relative;min-height:280px;padding:2rem;border:1px solid #d7e2ec;border-radius:22px;background:#fff}
.about-principle__number{display:inline-grid;width:48px;height:48px;place-items:center;margin-bottom:2.2rem;border-radius:50%;background:#e72739;color:#fff;font-weight:800}
.about-principle h3{margin:0 0 .65rem;font-size:1.35rem}
.about-principle p{margin:0;color:var(--muted);line-height:1.7}
.about-checks{display:grid;gap:.8rem;margin:1.4rem 0 0;padding:0;list-style:none}
.about-checks li{position:relative;padding-left:1.85rem;line-height:1.55}
.about-checks li::before{content:"✓";position:absolute;left:0;top:.05rem;width:1.25rem;height:1.25rem;border-radius:50%;background:#e72739;color:#fff;font-size:.72rem;font-weight:900;text-align:center;line-height:1.25rem}
.about-audiences{background:#082d52;color:#fff}
.about-audiences .eyebrow{color:#ff6874}
.about-audiences h2{color:#fff}
.about-audiences .about-heading p:not(.eyebrow){color:#cfdeeb}
.about-chip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.about-chip-grid span{display:flex;min-height:78px;align-items:center;justify-content:center;padding:1rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);font-weight:800;text-align:center}
.about-solutions{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.about-solutions article{padding:1.45rem;border:1px solid #d8e3ec;border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(5,33,59,.05)}
.about-solutions h3{margin:0 0 .5rem;font-size:1.05rem;line-height:1.3}
.about-solutions p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.6}
.about-actions{justify-content:center;margin-top:2rem}
.about-color{background:linear-gradient(135deg,#fff 0%,#f5f9fc 100%)}
.about-mini-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-top:1.5rem}
.about-mini-cards span{padding:.8rem 1rem;border-left:4px solid #e72739;border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(5,33,59,.07);font-weight:800}
.section--dark{background:#061f38;color:#fff}
.section--dark .about-heading .eyebrow{color:#ff6874}
.section--dark .about-heading h2{color:#fff}
.about-process{display:grid;grid-template-columns:.75fr 1.25fr;gap:4rem;align-items:start}
.about-steps{display:grid;gap:1rem;margin:0;padding:0;list-style:none}
.about-steps li{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.25rem;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.06)}
.about-steps li>span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:#e72739;font-weight:900}
.about-steps h3{margin:0 0 .3rem;font-size:1.05rem}
.about-steps p{margin:0;color:#c8d9e7;line-height:1.55}
.about-reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.about-reasons article{padding:1.3rem;border-radius:16px;background:#fff;box-shadow:0 7px 25px rgba(5,33,59,.07)}
.about-reasons strong{display:block;margin-bottom:.35rem;color:#082d52;font-size:1.05rem}
.about-reasons p{margin:0;color:var(--muted)}
.about-closing{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:3rem;padding:clamp(1.5rem,4vw,3rem);border-radius:24px;background:#082d52;color:#fff}
.about-closing h2{max-width:720px;margin-bottom:0;color:#fff}
.about-closing .eyebrow{color:#ff6874}
.about-closing .actions{flex-shrink:0}

@media(max-width:1000px){
  .about-hero{min-height:540px}
  .about-principles{grid-template-columns:1fr}
  .about-principle{min-height:0}
  .about-principle__number{margin-bottom:1rem}
  .about-solutions{grid-template-columns:repeat(2,1fr)}
  .about-process{grid-template-columns:1fr;gap:1.5rem}
  .about-closing{align-items:flex-start;flex-direction:column}
}
@media(max-width:760px){
  .about-hero{
    min-height:560px;
    background:
      linear-gradient(180deg,rgba(4,24,45,.28) 0%,rgba(4,24,45,.91) 61%,rgba(4,24,45,.98) 100%),
      var(--about-hero-image) 58% center/cover no-repeat;
  }
  .about-hero__inner{padding-top:7rem;padding-bottom:3rem}
  .about-hero h1{font-size:clamp(2.35rem,12vw,3.4rem)}
  .about-split{grid-template-columns:1fr;gap:1.75rem}
  .about-split--reverse .about-media,.about-split--reverse .about-copy{order:initial}
  .about-media{border-radius:20px}
  .about-media--portrait,.about-media--wide{aspect-ratio:4/3}
  .about-chip-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}
  .about-chip-grid span{min-height:68px;padding:.7rem;font-size:.88rem}
  .about-solutions{grid-template-columns:1fr}
  .about-reasons{grid-template-columns:1fr}
  .about-closing .actions,.about-closing .btn{width:100%}
}

/* Pintamos por Ti: página comercial y formulario por etapas. */
.service-page{overflow:hidden}
.service-hero{
  min-height:700px;
  display:flex;
  align-items:center;
  color:#fff;
  background:
    linear-gradient(90deg,rgba(4,24,45,.94) 0%,rgba(4,24,45,.78) 42%,rgba(4,24,45,.08) 72%),
    var(--service-hero) 66% center/cover no-repeat;
}
.service-hero__inner{padding-top:7.5rem;padding-bottom:5rem}
.service-hero__inner>*{max-width:760px}
.service-hero .breadcrumbs,.service-hero .breadcrumbs a,.service-hero .breadcrumbs span{color:#fff}
.service-hero .eyebrow{color:#ff6975}
.service-hero h1{margin:.45rem 0 1rem;color:#fff;font-size:clamp(2.7rem,5.4vw,5.35rem);line-height:.96}
.service-hero__lead{font-size:clamp(1.02rem,1.6vw,1.25rem);line-height:1.65}
.service-hero__benefits{display:flex;flex-wrap:wrap;gap:.75rem 1.4rem;margin:1.5rem 0 0;padding:0;list-style:none;font-size:.92rem;font-weight:750}
.service-hero__benefits li{position:relative;padding-left:1.35rem}
.service-hero__benefits li::before{content:"✓";position:absolute;left:0;color:#ff5361}
.service-intro__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.service-intro h2,.service-heading h2,.service-form-heading h2,.service-success h2{margin:.35rem 0 1rem;font-size:clamp(2rem,3.7vw,3.55rem);line-height:1.06}
.service-intro p:not(.eyebrow),.service-heading>p:not(.eyebrow),.service-form-heading>p{color:var(--muted);font-size:1.02rem;line-height:1.75}
.service-photo{margin:0;overflow:hidden;aspect-ratio:16/10;border-radius:28px;background:#dfe9f1;box-shadow:0 22px 55px rgba(5,33,59,.15)}
.service-photo img{display:block;width:100%;height:100%;object-fit:cover}
.service-benefit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1.5rem}
.service-benefit-grid span{padding:.85rem 1rem;border-left:4px solid #e72739;border-radius:8px;background:#f4f8fb;font-size:.9rem;font-weight:800}
.service-heading{max-width:850px;margin-bottom:2rem}
.service-heading--center{margin-right:auto;margin-left:auto;text-align:center}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.service-cards article{min-height:250px;padding:1.65rem;border:1px solid #d6e2eb;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(5,33,59,.05)}
.service-cards article>span{display:grid;width:42px;height:42px;place-items:center;margin-bottom:1.6rem;border-radius:50%;background:#e72739;color:#fff;font-weight:900}
.service-cards h3{margin:0 0 .55rem;font-size:1.18rem}
.service-cards p{margin:0;color:var(--muted);line-height:1.65}
.service-process{background:#082d52;color:#fff}
.service-process .eyebrow{color:#ff6975}
.service-process h2{color:#fff}
.service-process__steps{display:grid;grid-template-columns:repeat(5,1fr);gap:.85rem;margin:0;padding:0;list-style:none}
.service-process__steps li{padding:1.25rem;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.07)}
.service-process__steps span{display:grid;width:40px;height:40px;place-items:center;margin-bottom:1.2rem;border-radius:50%;background:#e72739;font-weight:900}
.service-process__steps h3{margin:0 0 .45rem;color:#fff;font-size:1rem}
.service-process__steps p{margin:0;color:#cbdbe8;font-size:.9rem;line-height:1.55}
.service-form-heading{max-width:850px;margin:0 auto 2rem;text-align:center}
.service-form-errors{max-width:1000px;margin:0 auto 1.2rem;padding:1rem 1.25rem;border:1px solid #fecaca;border-radius:12px;background:#fee2e2;color:#991b1b}
.service-form-errors p{margin:.25rem 0}
.service-wizard{max-width:1080px;margin:0 auto;padding:clamp(1rem,3.5vw,2.6rem);border:1px solid #d7e2eb;border-radius:26px;background:#fff;box-shadow:0 18px 50px rgba(5,33,59,.09)}
.service-progress{margin-bottom:2rem}
.service-progress__meta{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.65rem}
.service-progress__meta strong{color:#082d52}
.service-progress__meta span{color:var(--muted);font-size:.88rem}
.service-progress__track{height:8px;overflow:hidden;border-radius:99px;background:#e4ebf1}
.service-progress__track span{display:block;width:9%;height:100%;border-radius:inherit;background:#e72739;transition:width .25s ease}
.service-wizard__message{min-height:0;margin-bottom:0;border-radius:10px}
.service-wizard__message:not(:empty){min-height:auto;margin-bottom:1rem;padding:.85rem 1rem}
.service-wizard__message.is-error{background:#fee2e2;color:#991b1b}
.service-wizard__message.is-success{background:#dcfce7;color:#166534}
.service-step{min-width:0;margin:0;padding:0;border:0}

/* Calculadora técnica por rendimiento confirmado */
.product-calculator{overflow:hidden}
.calculator-grid{grid-template-columns:minmax(160px,.65fr) minmax(280px,1.35fr) minmax(150px,.55fr)}
.calculator-actions{margin-top:1rem}
.calculator-compatible{margin:.9rem 0 0;padding:.75rem .9rem;border-radius:10px;background:#eef5fa;color:#24445f;font-size:.88rem}
.calculator-damage-check{display:flex;align-items:flex-start;gap:.65rem;margin-top:.9rem;padding:.8rem .9rem;border:1px solid #f1c7a0;border-radius:10px;background:#fff8ef;color:#74410f;font-size:.86rem;font-weight:700}
.calculator-damage-check input{flex:0 0 auto;width:18px;height:18px;margin-top:.12rem}
.calculator-result-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.calculator-result-heading strong{display:block;color:var(--navy)}
.calculator-result-heading span{color:#47637d;font-size:.86rem;text-align:right}
.calculator-result-grid--detailed{grid-template-columns:repeat(3,minmax(0,1fr))}
.calculator-result-grid--detailed .calculator-kpi{display:grid;align-content:start;gap:.3rem;border:1px solid #d7e3ec}
.calculator-result-grid--detailed .calculator-kpi small{color:#5b7288;font-size:.72rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.calculator-result-grid--detailed .calculator-kpi b{color:var(--navy);font-size:.95rem;line-height:1.35}
.calculator-complex-notice,.calculator-preparation-warning,.calculator-advisory{margin-bottom:1rem;padding:1rem;border-radius:12px}
.calculator-complex-notice{border:1px solid #e9b73d;background:#fff7d9;color:#5f4200}
.calculator-preparation-warning{border:1px solid #e5a3a8;background:#fff0f1;color:#7f1d28}
.calculator-advisory{border:1px solid #9fc2df;background:#eef7ff;color:#174b72}
.calculator-complex-notice strong,.calculator-preparation-warning strong,.calculator-advisory strong{font-size:1rem}
.calculator-complex-notice p,.calculator-preparation-warning p,.calculator-advisory p{margin-top:.35rem}
.calculator-yield-note,.calculator-technical-warning,.calculator-no-guarantee{margin-top:1rem;font-size:.86rem;line-height:1.55}
.calculator-yield-note{color:#36526c}
.calculator-technical-warning{padding:1rem;border-left:4px solid var(--red);background:#fff;color:#34495d}
.calculator-no-guarantee{color:#6a7783;font-weight:700}

@media(max-width:900px){
  .calculator-grid{grid-template-columns:1fr 1fr}
  .calculator-grid label:nth-child(2){grid-column:1/-1;grid-row:1}
  .calculator-result-grid--detailed{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .calculator-grid,.calculator-result-grid--detailed{grid-template-columns:1fr}
  .calculator-grid label:nth-child(2){grid-column:auto;grid-row:auto}
  .calculator-result-heading{display:grid}
  .calculator-result-heading span{text-align:left}
  .calculator-actions .btn{width:100%}
}

/* Ficha de producto: información comercial limpia y reseñas continuas. */
.product-description-summary{margin-top:1rem}
.product-description-summary h2{margin:0 0 .45rem;color:var(--navy);font-size:.88rem;letter-spacing:.055em;text-transform:uppercase}
.product-description-summary .lead{margin:0;color:#3f566c;font-size:1rem;line-height:1.7}
.product-price-label{margin-top:1.2rem;color:#60758a;font-size:.76rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.product-price-label+.price,.product-price-label~.price:not(.price--old){margin-top:.2rem}
.product-reviews-section{overflow:hidden}
.product-review-marquee{width:100%;overflow:hidden;cursor:default;user-select:none;-webkit-user-select:none}
.product-review-marquee__track{width:max-content;display:flex;gap:1rem;animation:decoplus-product-reviews-flow 100s linear infinite;animation-play-state:running!important;will-change:transform}
.product-review-marquee__group{display:flex;gap:1rem;flex:none}
.product-review-marquee .review-card{
  width:330px;
  min-height:210px;
  display:flex;
  flex:0 0 330px;
  flex-direction:column;
  pointer-events:none;
  user-select:none;
  -webkit-user-select:none;
}
.product-review-marquee .review-card p{margin:.7rem 0 0;color:#334e68;line-height:1.6}
.product-review-marquee .review-card small{margin-top:auto;padding-top:.9rem;color:#60758a;font-weight:800}
.product-review-card__stars{color:#f59e0b;font-size:1rem;letter-spacing:.05em}
@keyframes decoplus-product-reviews-flow{to{transform:translateX(calc(-50% - .5rem))}}
.product-review-form-panel{max-width:980px;margin:1.25rem auto 0;padding:0;overflow:hidden}
.product-review-form-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;cursor:pointer;list-style:none;color:var(--navy);font-weight:900}
.product-review-form-panel>summary::-webkit-details-marker{display:none}
.product-review-form-panel>summary::after{content:"+";display:grid;width:30px;height:30px;place-items:center;flex:none;border-radius:50%;background:#eef4f8;color:var(--navy);font-size:1.15rem}
.product-review-form-panel[open]>summary::after{content:"−"}
.product-review-form-panel>summary small{margin-left:auto;color:#60758a;font-size:.76rem;font-weight:700}
.review-form--compact{margin:0;padding:1rem;border-top:1px solid var(--line)}
.review-form--compact .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.review-form--compact textarea{min-height:88px}
.product-review-form-panel__actions{display:flex;align-items:center;gap:1rem;margin-top:.8rem}
.product-review-form-panel__actions .help{margin:0}

@media(max-width:800px){
  .review-form--compact .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .product-review-marquee__track{animation-duration:78s}
  .product-review-marquee .review-card{width:280px;flex-basis:280px;min-height:220px}
  .product-review-form-panel>summary{align-items:flex-start}
  .product-review-form-panel>summary small{display:none}
  .review-form--compact .form-grid{grid-template-columns:1fr}
  .product-review-form-panel__actions{align-items:stretch;flex-direction:column}
  .product-review-form-panel__actions .btn{width:100%}
}

/* Ficha 5.2.16: comunidad, formulario de opinión y FAQ con jerarquía moderna. */
.product-community-section{
  margin-top:clamp(3rem,6vw,5rem);
  padding:clamp(1.35rem,3vw,2.25rem);
  overflow:hidden;
  scroll-margin-top:120px;
  border:1px solid #d8e4ed;
  border-radius:28px;
  background:linear-gradient(145deg,#f8fbfd 0%,#eef5fa 100%);
  box-shadow:0 20px 55px rgba(7,31,58,.09);
}
.product-section-heading{
  display:grid;
  grid-template-columns:56px minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
}
.product-section-heading__icon{
  width:56px;
  height:56px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:var(--navy);
  color:#fff;
  box-shadow:0 10px 24px rgba(7,31,58,.2);
  font-size:1.35rem;
  font-weight:950;
}
.product-section-heading--reviews .product-section-heading__icon{background:linear-gradient(145deg,#f4b400,#e99000)}
.product-section-heading--faq .product-section-heading__icon{background:linear-gradient(145deg,#123e68,#082949)}
.product-section-heading__eyebrow{
  display:block;
  margin-bottom:.22rem;
  color:var(--red);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.product-section-heading__copy h2{
  margin:0;
  color:var(--navy);
  font-size:clamp(1.55rem,2.5vw,2.15rem);
  line-height:1.08;
}
.product-section-heading__copy p{margin:.45rem 0 0;color:#536b80;line-height:1.5}
.product-review-summary-badge{
  min-width:148px;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:.55rem;
  padding:.8rem 1rem;
  border:1px solid #ead6a3;
  border-radius:16px;
  background:#fffaf0;
  box-shadow:0 8px 22px rgba(117,82,0,.08);
}
.product-review-summary-badge strong{grid-row:1/3;color:var(--navy);font-size:1.75rem;line-height:1}
.product-review-summary-badge span{color:#f5b400;font-size:.78rem;letter-spacing:.02em}
.product-review-summary-badge small{color:#6b7785;font-size:.7rem;font-weight:800}
.product-community-section .product-review-marquee{margin-top:1.75rem;padding:.2rem 0 .55rem}
.product-community-section .product-review-marquee .review-card{
  padding:1.25rem;
  border:1px solid #dbe6ee;
  border-radius:18px;
  background:#fff;
  box-shadow:0 12px 30px rgba(7,31,58,.08);
}
.product-review-form-panel{
  max-width:none;
  margin:2rem 0 0;
  border:1px solid #cddce7;
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 35px rgba(7,31,58,.08);
}
.product-review-form-panel>summary{
  min-height:82px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:.9rem;
  align-items:center;
  padding:1rem 1.2rem;
}
.product-review-form-panel>summary::after{
  width:36px;
  height:36px;
  margin:0;
  background:#eaf2f8;
  transition:transform .2s ease,background .2s ease;
}
.product-review-form-panel[open]>summary::after{background:var(--navy);color:#fff;transform:rotate(180deg)}
.product-review-form-panel__icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#fff0f1;
  color:var(--red);
  font-size:1.3rem;
}
.product-review-form-panel__copy{min-width:0;display:block}
.product-review-form-panel__copy strong{display:block;color:var(--navy);font-size:1rem}
.product-review-form-panel>summary .product-review-form-panel__copy small{
  display:block;
  margin:.3rem 0 0;
  color:#60758a;
  font-size:.76rem;
  font-weight:700;
  line-height:1.4;
}
.review-form--compact{padding:1.35rem 1.2rem 1.5rem;background:#fbfdfe}
.review-form--compact .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.review-form--compact .field input,.review-form--compact .field select,.review-form--compact .field textarea{
  border-color:#cbd9e4;
  border-radius:11px;
  background:#fff;
}
.review-form--compact textarea{min-height:110px;resize:vertical}
.product-review-form-panel__actions{margin-top:1.1rem}

.product-faq-section{
  margin-top:clamp(3.5rem,7vw,6rem);
  padding-top:0;
  border-top:0;
  scroll-margin-top:120px;
}
.product-faq-card{
  padding:clamp(1.35rem,3vw,2.25rem);
  border:1px solid #d8e4ed;
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 55px rgba(7,31,58,.09);
}
.product-faq-count{
  padding:.55rem .8rem;
  border:1px solid #cbdce9;
  border-radius:999px;
  background:#f3f8fb;
  color:#34536d;
  font-size:.76rem;
  font-weight:850;
  white-space:nowrap;
}
.product-faq-list{gap:.85rem;margin-top:1.75rem}
.product-faq-list details{
  overflow:hidden;
  margin:0;
  border:1px solid #d7e3ec;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 22px rgba(7,31,58,.05);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.product-faq-list details:hover{border-color:#a9c2d5;box-shadow:0 12px 28px rgba(7,31,58,.08);transform:translateY(-1px)}
.product-faq-list details[open]{border-color:#9ebcd2;box-shadow:0 14px 32px rgba(7,31,58,.09)}
.product-faq-list summary{
  min-height:70px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 32px;
  gap:.85rem;
  align-items:center;
  padding:.9rem 1.05rem;
  list-style:none;
  font-size:.96rem;
  line-height:1.45;
}
.product-faq-list summary::-webkit-details-marker{display:none}
.product-faq-list summary::after{
  content:"+";
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf4f8;
  color:var(--navy);
  font-size:1.1rem;
  transition:transform .2s ease,background .2s ease;
}
.product-faq-list details[open] summary::after{content:"−";background:var(--navy);color:#fff;transform:rotate(180deg)}
.product-faq-index{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#eef4f8;
  color:#45647d;
  font-size:.7rem;
  font-weight:900;
}
.product-faq-list details[open] .product-faq-index{background:#fff0f1;color:var(--red)}
.product-faq-list details p{
  margin:0;
  padding:1.05rem 1.2rem 1.25rem 4.95rem;
  border-top:1px solid #e3ebf1;
  background:#f9fbfd;
  color:#425d73;
  line-height:1.7;
}
@media(max-width:700px){
  .product-community-section{margin-top:2.5rem;padding:1rem;border-radius:22px}
  .product-section-heading{grid-template-columns:48px minmax(0,1fr);gap:.8rem;align-items:start}
  .product-section-heading__icon{width:48px;height:48px;border-radius:14px}
  .product-section-heading__copy h2{font-size:1.45rem}
  .product-section-heading__copy p{font-size:.86rem}
  .product-review-summary-badge,.product-faq-count{grid-column:1/-1;justify-self:start;margin-top:.25rem}
  .product-review-form-panel{margin-top:1.4rem;border-radius:16px}
  .product-review-form-panel>summary{grid-template-columns:40px minmax(0,1fr) 34px;min-height:76px;padding:.85rem}
  .product-review-form-panel__icon{width:40px;height:40px}
  .product-review-form-panel>summary .product-review-form-panel__copy small{display:block;font-size:.7rem}
  .review-form--compact{padding:1rem}
  .review-form--compact .form-grid{grid-template-columns:1fr}
  .product-faq-section{margin-top:3rem}
  .product-faq-card{padding:1rem;border-radius:22px}
  .product-faq-list{margin-top:1.25rem}
  .product-faq-list summary{grid-template-columns:32px minmax(0,1fr) 30px;gap:.65rem;padding:.8rem;font-size:.88rem}
  .product-faq-index{width:32px;height:32px}
  .product-faq-list summary::after{width:30px;height:30px}
  .product-faq-list details p{padding:1rem 1rem 1.15rem;font-size:.88rem}
}
.service-step[hidden]{display:none!important}
.service-step>legend{display:block;width:100%;margin:0 0 .5rem;color:#082d52;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:900}
.service-step>p{margin:0 0 1.5rem;color:var(--muted)}
.service-step .field input,.service-step .field select,.service-step .field textarea{min-height:50px}
.service-step .field textarea{min-height:120px}
.service-check-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:1.2rem}
.service-check-list label,.service-unknown-measures,.service-confirmation{display:flex;gap:.65rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid #d9e3ec;border-radius:12px;background:#f8fafc;line-height:1.4}
.service-check-list input,.service-unknown-measures input,.service-confirmation input{width:19px;height:19px;flex:0 0 auto;margin-top:.05rem;accent-color:#e72739}
.service-option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem}
.service-option-grid label{position:relative;cursor:pointer}
.service-option-grid input{position:absolute;opacity:0;pointer-events:none}
.service-option-grid span{display:flex;min-height:52px;align-items:center;padding:.75rem .9rem;border:1px solid #d4e0ea;border-radius:12px;background:#fff;color:#173553;font-size:.88rem;font-weight:750;transition:.15s ease}
.service-option-grid input:checked+span{border-color:#e72739;background:#fff0f1;color:#a50f20;box-shadow:inset 0 0 0 1px #e72739}
.service-option-grid input:focus-visible+span{outline:3px solid #75b7ed;outline-offset:2px}
.service-option-grid--compact{grid-template-columns:repeat(5,1fr);margin-bottom:1.35rem}
.service-option-grid--compact span{justify-content:center;text-align:center}
.service-unknown-measures{margin:1.1rem 0;background:#eef6fc;font-weight:750}
.surface-details{display:grid;gap:1rem;margin-top:1.2rem}
.surface-detail-card{padding:1.25rem;border:1px solid #d6e2eb;border-radius:16px;background:#f8fafc}
.surface-detail-card h3{margin:0 0 1rem;color:#082d52}
.service-description{margin-top:1.35rem}
.service-field-label{margin:1.4rem 0 .7rem!important;color:#082d52!important;font-weight:850}
.notice.warning{margin-top:1.2rem;background:#fff7ed;color:#9a3412}
.service-upload{display:grid;min-height:210px;place-content:center;gap:.55rem;padding:2rem;border:2px dashed #a9bfd1;border-radius:18px;background:#f7fafc;text-align:center;cursor:pointer}
.service-upload>span{color:#082d52;font-size:1.25rem;font-weight:900}
.service-upload small{color:var(--muted)}
.service-upload input{max-width:100%;margin:1rem auto 0}
.service-file-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1rem}
.service-file-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.75rem;border:1px solid #d7e2eb;border-radius:12px}
.service-file-item img,.service-file-item__pdf{display:grid;width:64px;height:52px;place-items:center;border-radius:8px;background:#e9f1f7;object-fit:cover;color:#9a1422;font-weight:900}
.service-file-item strong,.service-file-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.service-file-item small{color:var(--muted)}
.service-file-item button{border:0;background:transparent;color:#b01927;font-weight:800;cursor:pointer}
.service-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem;margin:1.2rem 0}
.service-summary section{padding:1rem;border:1px solid #d7e2eb;border-radius:14px;background:#f8fafc}
.service-summary h3{margin:0 0 .6rem;font-size:1rem}
.service-summary ul{display:grid;gap:.35rem;margin:0;padding-left:1.2rem;color:#506679;font-size:.9rem}
.service-confirmation{margin-top:1rem;background:#eef6fc}
.service-wizard__actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid #dce5ec}
.service-wizard__actions [data-next],.service-wizard__actions [data-submit]{margin-left:auto}
.service-wizard__actions button[hidden]{display:none}
.service-draft-note{margin:1rem 0 0;color:var(--muted);font-size:.82rem;text-align:center}
.service-success{max-width:900px;margin:0 auto;padding:clamp(1.5rem,5vw,4rem);border:1px solid #cce6d7;border-radius:26px;background:#fff;text-align:center;box-shadow:0 18px 50px rgba(5,33,59,.08)}
.service-success__icon{display:grid;width:70px;height:70px;place-items:center;margin:0 auto 1rem;border-radius:50%;background:#16a169;color:#fff;font-size:2rem;font-weight:900}
.service-success>p:not(.eyebrow){max-width:700px;margin-right:auto;margin-left:auto;color:var(--muted);font-size:1.05rem}
.service-success dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.5rem 0}
.service-success dl>div{padding:1rem;border-radius:12px;background:#f1f6f9}
.service-success dt{color:var(--muted);font-size:.8rem}
.service-success dd{margin:.25rem 0 0;color:#082d52;font-weight:900}
.service-success .actions{justify-content:center}

@media(max-width:1000px){
  .service-hero{min-height:620px}
  .service-cards{grid-template-columns:repeat(2,1fr)}
  .service-process__steps{grid-template-columns:repeat(2,1fr)}
  .service-process__steps li:last-child{grid-column:1/-1}
  .service-option-grid{grid-template-columns:repeat(3,1fr)}
  .service-option-grid--compact{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .service-hero{
    min-height:0;
    display:block;
    background:
      linear-gradient(180deg,rgba(4,24,45,.03) 0,rgba(4,24,45,.08) 235px,#061f38 330px,#061f38 100%),
      var(--service-hero) 70% top/auto 330px no-repeat,
      #061f38;
  }
  .service-hero__inner{padding-top:350px;padding-bottom:2.5rem}
  .service-hero h1{font-size:clamp(2.2rem,11vw,3.35rem)}
  .service-hero .actions,.service-hero .btn{width:100%}
  .service-hero__benefits{display:grid;gap:.45rem}
  .service-intro__grid{grid-template-columns:1fr}
  .service-photo{aspect-ratio:4/3;border-radius:20px}
  .service-benefit-grid{grid-template-columns:1fr}
  .service-cards,.service-process__steps{grid-template-columns:1fr}
  .service-process__steps li:last-child{grid-column:auto}
  .service-wizard{padding:1rem;border-radius:18px}
  .service-progress__meta{align-items:flex-start;flex-direction:column;gap:.25rem}
  .service-option-grid,.service-option-grid--compact{grid-template-columns:repeat(2,1fr)}
  .service-check-list{grid-template-columns:1fr}
  .service-file-preview,.service-summary{grid-template-columns:1fr}
  .service-file-item{grid-template-columns:54px minmax(0,1fr)}
  .service-file-item img,.service-file-item__pdf{width:54px;height:48px}
  .service-file-item button{grid-column:2;text-align:left}
  .service-wizard__actions{align-items:stretch;flex-direction:column-reverse}
  .service-wizard__actions .btn{width:100%;margin:0}
  .service-success dl{grid-template-columns:1fr}
  .service-success .actions,.service-success .btn{width:100%}
}

/* Centro de ayuda completo: respuestas agrupadas y búsqueda inmediata. */
.faq-center{background:#f5f8fb}
.faq-category-index{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:1.25rem 0 2rem;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(7,31,58,.06);
}
.faq-category-index a{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.62rem .78rem;
  border:1px solid #d7e3ec;
  border-radius:999px;
  background:#f8fbfd;
  color:var(--navy);
  font-size:.82rem;
  font-weight:800;
  text-decoration:none;
}
.faq-category-index a:hover{border-color:#9db9cf;background:var(--blue-soft)}
.faq-category-index strong{
  min-width:25px;
  padding:.15rem .4rem;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  font-size:.7rem;
  text-align:center;
}
.faq-groups{display:grid;gap:1.6rem}
.faq-group{scroll-margin-top:120px}
.faq-group>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:.75rem;
  padding:.15rem .25rem;
}
.faq-group>header h2{font-size:clamp(1.35rem,2.2vw,1.85rem)}
.faq-group>header span{color:var(--muted);font-size:.82rem;font-weight:750;white-space:nowrap}
.faq-group .faq-list{display:grid;gap:.65rem}
.faq-group .faq-list details{margin:0;background:#fff}
@media(max-width:640px){
  .product-calculate-access__button{width:100%;justify-content:center}
  .faq-search--live{display:grid;grid-template-columns:1fr}
  .faq-category-index{flex-wrap:nowrap;overflow-x:auto;padding:.75rem;scroll-snap-type:x proximity}
  .faq-category-index a{flex:none;scroll-snap-align:start}
  .faq-group>header{align-items:flex-start;flex-direction:column;gap:.2rem}
}

/* DECO IA guiado: asistente determinista, sin entrada de texto libre */
.assistant__dialog--guided{grid-template-rows:auto minmax(0,1fr) auto}
.assistant__messages{overscroll-behavior:contain}
.assistant__messages .message{max-width:100%;width:100%;line-height:1.45}
.assistant__messages .message--user{width:auto;max-width:88%}
.assistant-menu{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.9rem}
.assistant-menu button,.assistant-category-list a,.assistant-category-list>span{
  min-height:52px;
  padding:.72rem .78rem;
  border:1px solid #bed2e3;
  border-radius:12px;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-size:.82rem;
  font-weight:850;
  line-height:1.25;
  text-align:left;
}
.assistant-menu button:hover,.assistant-menu button:focus-visible,.assistant-category-list a:hover,.assistant-category-list a:focus-visible{
  border-color:var(--blue);
  background:var(--blue-soft);
  outline:2px solid transparent;
}
.assistant-chips button{min-height:42px;cursor:pointer}
.assistant-actions{display:grid;gap:.5rem;margin-top:.85rem}
.assistant-actions .btn{width:100%;justify-content:center;white-space:normal;text-align:center}
.assistant-category-list{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.8rem}
.assistant-category-list a,.assistant-category-list>span{display:grid;align-content:center;gap:.15rem;text-decoration:none}
.assistant-category-list small{color:var(--muted);font-size:.7rem}
.assistant-category-list .is-unavailable{border-style:dashed;background:#f7fafc;color:#66788a}
.assistant__controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.7rem .8rem;
  border-top:1px solid var(--line);
  background:#f7fafc;
}
.assistant__controls small{max-width:180px;color:var(--muted);font-size:.68rem;line-height:1.25;text-align:right}
.assistant-home{
  min-height:40px;
  padding:.5rem .7rem;
  border:1px solid #bed2e3;
  border-radius:10px;
  background:#fff;
  color:var(--navy);
  font-weight:850;
  cursor:pointer;
}
@media(max-width:480px){
  .assistant-menu,.assistant-category-list{grid-template-columns:1fr}
  .assistant__controls small{display:none}
  .assistant-home{width:100%}
}
