/* Copypartes — flat, professional storefront design (v2). Brand: navy + orange. No gradients. */
:root{
  --brand:#14407F; --brand-700:#0F3266; --brand-900:#0A2347; --link:#0B63CE;
  --accent:#E8761E; --accent-light:#FFA45C; --accent-ink:#B4530A;
  --ink:#14181F; --muted:#566070; --line:#D9DFE7; --surface:#F3F5F8; --surface-2:#E8EDF3;
  --wa:#0E8A47; --wa-hover:#0B7339;
  --r-md:10px; --r-lg:14px;
  --container:1280px; --gutter:clamp(16px,4vw,32px);
  --promo-h:36px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.6;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
:focus-visible{outline:3px solid var(--link);outline-offset:2px}
.hero :focus-visible,.section--dark :focus-visible,.cta :focus-visible,.site-footer :focus-visible,.promo :focus-visible{outline-color:#fff}
.wp-site-blocks>*{margin-block-start:0;margin-block-end:0}
.wp-block-image{margin:0}
.wp-block-image img{height:auto}

/* ---------- layout primitives ---------- */
.container{width:100%;max-width:calc(var(--container) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.section{padding:clamp(48px,7vw,88px) 0}
.section--alt{background:var(--surface)}
.section--dark{background:var(--brand-900);color:#fff}
.section-head{max-width:720px;margin-bottom:40px}
.section-head--center{margin-inline:auto;text-align:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:12px}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--accent);flex-shrink:0}
.section--dark .eyebrow{color:var(--accent-light)}
.section-title{font-size:clamp(1.6rem,2.6vw,2.25rem);line-height:1.2;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.section-lead{color:var(--muted);font-size:1.0625rem}
.section-title,.cta__title,.split__title{text-wrap:balance}

/* ---------- buttons (Gutenberg: class on wrapper, link is .wp-block-button__link) ---------- */
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.wp-block-button{margin:0}
.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 28px;border:2px solid transparent;border-radius:999px;font-family:inherit;font-size:15px;font-weight:600;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.btn-primary .wp-block-button__link{background:var(--brand);color:#fff}
.btn-primary .wp-block-button__link:hover{background:var(--brand-900)}
.btn-secondary .wp-block-button__link{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn-secondary .wp-block-button__link:hover{background:var(--brand);color:#fff}
.btn-light .wp-block-button__link{background:#fff;color:var(--brand-900)}
.btn-light .wp-block-button__link:hover{background:var(--surface-2)}
.btn-ghost .wp-block-button__link{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-ghost .wp-block-button__link:hover{background:#fff;color:var(--brand-900);border-color:#fff}
.btn-wa .wp-block-button__link{background:var(--wa);color:#fff}
.btn-wa .wp-block-button__link:hover{background:var(--wa-hover)}
.btn-wa .wp-block-button__link::before{content:"";width:20px;height:20px;flex-shrink:0;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.btn-sm .wp-block-button__link{min-height:40px;padding:8px 20px;font-size:14px}
.btn-block,.btn-block .wp-block-button__link{width:100%}

/* ---------- promo strip + header ---------- */
.wp-site-blocks>.wp-block-template-part:first-child{position:sticky;top:calc(var(--promo-h) * -1);z-index:100}
.admin-bar .wp-site-blocks>.wp-block-template-part:first-child{top:calc(32px - var(--promo-h))}
.promo{background:var(--brand-900);color:#fff;height:var(--promo-h);display:flex;align-items:center;font-size:13px}
.promo__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:calc(var(--container) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.promo__text{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.promo__contact a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;white-space:nowrap}
.promo__contact a::before{content:"";width:14px;height:14px;background:no-repeat center/contain}
.promo__contact a:hover{text-decoration:underline}
.site-header{background:#fff;border-bottom:1px solid var(--line)}
.site-header.is-stuck{box-shadow:0 2px 12px rgba(10,35,71,.08)}
.site-header__inner{display:flex;align-items:center;gap:32px;height:76px;width:100%;max-width:calc(var(--container) + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.wp-block-image.brand{flex-shrink:0}
.wp-block-image.brand a{display:block}
.wp-block-image.brand img{height:52px;width:auto}
.main-nav{flex:1;justify-content:flex-end;gap:28px}
.main-nav .wp-block-navigation__container{gap:28px}
.main-nav .wp-block-navigation-item__content{font-size:15px;font-weight:500;color:var(--ink);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.main-nav .wp-block-navigation-item__content:hover{color:var(--brand);border-bottom-color:var(--accent)}
.main-nav .wp-block-navigation__responsive-container-open{color:var(--ink)}
.main-nav .wp-block-navigation__responsive-container.is-menu-open{background:#fff!important;color:var(--ink)!important;padding:24px}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:20px;font-weight:600;padding:10px 0}
.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,.main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start;justify-content:flex-start}
.header-cta{flex-shrink:0}

/* ---------- hero (CSS grid on the same column lines as the page container: text and photo can never overlap) ---------- */
.hero{display:grid;grid-template-columns:minmax(var(--gutter),calc((100% - var(--container))/2)) minmax(0,1fr) minmax(0,1fr);background:var(--brand-900);color:#fff;position:relative}
.hero>.slide{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:subgrid;min-height:clamp(460px,44vw,600px);opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
.hero>.slide.active,.hero:not(.is-ready)>.slide:first-child{opacity:1;visibility:visible}
.slide__media{grid-column:3;grid-row:1;position:relative;min-height:100%;background:var(--brand-700)}
.wp-block-image.slide__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide__content{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(40px,6vw,80px) clamp(24px,4vw,64px) clamp(88px,9vw,112px) 0}
.chip{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-light)}
.chip::before{content:"";width:8px;height:8px;background:var(--accent);flex-shrink:0}
.slide__title{font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.1;font-weight:700;letter-spacing:-.025em;margin-bottom:16px;max-width:16ch;text-wrap:balance}
.slide__title em{font-style:normal;color:var(--accent-light)}
.slide__text{font-size:clamp(1rem,1.25vw,1.125rem);color:rgba(255,255,255,.86);max-width:46ch;margin-bottom:32px}
.slider-nav{grid-column:2;grid-row:1;align-self:end;justify-self:start;z-index:3;display:flex;align-items:center;gap:10px;padding:0 0 32px 0}
.dot{width:10px;height:10px;padding:0;border:0;border-radius:5px;background:rgba(255,255,255,.4);cursor:pointer;transition:width .2s,background-color .2s}
.dot:hover{background:rgba(255,255,255,.7)}
.dot.active{width:28px;background:#fff}
.slider-toggle{width:30px;height:30px;margin-right:6px;padding:0;border:1.5px solid rgba(255,255,255,.6);border-radius:50%;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:14px;cursor:pointer}
.slider-toggle:hover{background-color:rgba(255,255,255,.15)}

/* ---------- stats strip ---------- */
.stats{background:#fff;border-bottom:1px solid var(--line)}
.stats__inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stat{padding:28px 24px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0;padding-left:0}
.stat__num{font-size:2rem;font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--brand);font-variant-numeric:tabular-nums}
.stat__label{font-size:14px;color:var(--muted);margin-top:4px}

/* ---------- service tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px}
.tile{position:relative;display:flex;flex-direction:column;padding:28px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .15s,box-shadow .15s}
.tile:hover{border-color:var(--brand);box-shadow:0 4px 16px rgba(10,35,71,.08)}
.tile::before{content:"";width:48px;height:48px;margin-bottom:20px;border-radius:12px;background-color:var(--surface-2);background-repeat:no-repeat;background-position:center;transition:background-color .15s}
.tile__title{font-size:1.125rem;line-height:1.3;font-weight:650;margin-bottom:8px}
.tile__text{flex:1;font-size:.9375rem;color:var(--muted)}
.tile__link{margin-top:20px;font-size:.9375rem;font-weight:600;color:var(--brand)}
.tile__link a{text-decoration:none}
.tile__link a::after{content:"";position:absolute;inset:0;border-radius:var(--r-lg)}
.tile__link::after{content:"\2192";margin-left:6px;display:inline-block;transition:transform .15s}
.tile:hover .tile__link::after{transform:translateX(4px)}

/* ---------- equipment cards ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:border-color .15s,box-shadow .15s}
.card:hover{border-color:var(--brand);box-shadow:0 4px 16px rgba(10,35,71,.08)}
.wp-block-image.card__media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.card__body{display:flex;flex-direction:column;flex:1;padding:24px}
.card__tag{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}
.card__title{font-size:1.25rem;line-height:1.3;font-weight:650;margin:6px 0 8px}
.card__text{margin-bottom:20px;font-size:.9375rem;color:var(--muted);min-height:4.5em}
.specs{margin-bottom:24px;border-top:1px solid var(--line)}
.spec{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.875rem}
.spec__k{color:var(--muted)}
.spec__v{font-weight:600;text-align:right}
.card__body>.wp-block-buttons{margin-top:auto}

/* ---------- why / features ---------- */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px}
.feature{position:relative;padding-left:72px;min-height:56px}
.feature::before{content:"";position:absolute;left:0;top:0;width:52px;height:52px;border-radius:12px;background-color:var(--surface-2);background-repeat:no-repeat;background-position:center}
.feature__title{font-size:1.0625rem;font-weight:650;margin-bottom:4px}
.feature__text{font-size:.9375rem;color:var(--muted)}

/* ---------- trajectory (dark, flat) ---------- */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.big-number{font-size:clamp(5rem,10vw,8rem);font-weight:800;line-height:.9;letter-spacing:-.04em;color:var(--accent);margin-bottom:12px}
.split__title{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;letter-spacing:-.02em;margin-bottom:20px}
.split__intro p+p{margin-top:16px}
.split__intro p:not(.big-number){color:rgba(255,255,255,.82)}
.milestone{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;padding:24px 0;border-top:1px solid rgba(255,255,255,.18)}
.milestone:last-child{border-bottom:1px solid rgba(255,255,255,.18)}
.milestone__year{font-weight:700;font-variant-numeric:tabular-nums;color:var(--accent-light)}
.milestone__title{font-size:1.0625rem;font-weight:650;margin-bottom:4px}
.milestone__text{font-size:.9375rem;color:rgba(255,255,255,.78)}

/* ---------- how it works ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;counter-reset:step}
.step{counter-increment:step;padding-top:20px;border-top:3px solid var(--brand)}
.step::before{content:"0" counter(step);display:block;margin-bottom:8px;font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--accent-ink)}
.step__title{font-size:1.125rem;font-weight:650;margin-bottom:6px}
.step__text{font-size:.9375rem;color:var(--muted)}

/* ---------- FAQ ---------- */
.faq{max-width:820px;margin-inline:auto}
.wp-block-details.faq__item{padding:0;border:0;border-bottom:1px solid var(--line)}
.faq__item:first-child{border-top:1px solid var(--line)}
.faq__item summary{position:relative;padding:20px 44px 20px 0;font-size:1.0625rem;font-weight:600;cursor:pointer;list-style:none}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"";position:absolute;right:4px;top:50%;width:20px;height:20px;margin-top:-10px;background-repeat:no-repeat;background-position:center;background-size:contain;transition:transform .2s}
.faq__item[open] summary::after{transform:rotate(180deg)}
.faq__item p{padding:0 44px 20px 0;color:var(--muted)}

/* ---------- CTA ---------- */
.cta{background:var(--brand);color:#fff;text-align:center;padding:clamp(56px,8vw,96px) 0}
.cta .eyebrow{color:var(--accent-light)}
.cta__title{font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.15;font-weight:700;letter-spacing:-.02em;margin-bottom:12px}
.cta__text{max-width:560px;margin:0 auto 32px;color:rgba(255,255,255,.88);font-size:1.0625rem}
.cta .wp-block-buttons{justify-content:center}
.cta__note{margin-top:20px;font-size:13px;color:rgba(255,255,255,.75)}

/* ---------- footer ---------- */
.site-footer{background:var(--brand-900);color:rgba(255,255,255,.78);padding:clamp(48px,6vw,72px) 0 28px;font-size:.9375rem}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:40px}
.wp-block-image.footer__logo img{height:64px;width:auto;filter:brightness(0) invert(1);margin-bottom:16px}
.footer__tagline{max-width:34ch;line-height:1.6}
.footer__title{margin-bottom:16px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.footer__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer__list a{text-decoration:none}
.footer__list a:hover,.footer__link a:hover{color:#fff;text-decoration:underline}
.footer__text{margin-bottom:8px}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);font-size:13px;color:rgba(255,255,255,.62)}
.footer__link a{text-decoration:none}
.wp-block-social-links.footer-social{gap:10px;margin-top:20px;padding:0}
.wp-block-social-links.footer-social .wp-social-link.wp-social-link{width:40px;height:40px;margin:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:none;color:#fff;display:flex;align-items:center;justify-content:center;transition:background-color .15s,color .15s}
.wp-block-social-links.footer-social .wp-social-link.wp-social-link:hover{background:#fff;color:var(--brand-900)}
.wp-block-social-links.footer-social .wp-social-link a{padding:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:inherit}
.wp-block-social-links.footer-social .wp-social-link svg{width:18px;height:18px;fill:currentColor}

/* ---------- floating WhatsApp ---------- */
.wp-block-social-links.float-wa{position:fixed;right:20px;bottom:20px;z-index:90;width:56px;height:56px;margin:0;padding:0;gap:0}
.wp-block-social-links.float-wa .wp-social-link.wp-social-link{width:56px;height:56px;margin:0;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.22);transition:background-color .15s}
.wp-block-social-links.float-wa .wp-social-link.wp-social-link:hover{background:#1EBE5A}
.wp-block-social-links.float-wa .wp-social-link a{padding:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff}
.wp-block-social-links.float-wa .wp-social-link svg{width:28px;height:28px;fill:#fff}

/* ---------- ordinary pages / posts ---------- */
.cp-page .wp-block-post-title{font-size:clamp(2rem,4vw,2.75rem);line-height:1.15;font-weight:700;letter-spacing:-.02em;margin-bottom:.6em}
.cp-page .wp-block-post-content>*+*{margin-block-start:1.1em}
.cp-page .wp-block-post-content>h2,.cp-page .wp-block-post-content>h3{margin-block-start:1.8em;line-height:1.25}
.cp-page .wp-block-post-content>ul,.cp-page .wp-block-post-content>ol{padding-left:1.4em}
.cp-page .wp-block-post-content a{color:var(--link)}
.cp-page .wp-block-post-template{padding:0;list-style:none}
.cp-page .wp-block-post-template>li{margin-bottom:2rem}

/* ---------- scroll reveal (only when JS runs; respects reduced motion) ---------- */
.cp-js .reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.cp-js .reveal.visible{opacity:1;transform:none}
.cp-js .reveal-d1{transition-delay:.06s}.cp-js .reveal-d2{transition-delay:.12s}.cp-js .reveal-d3{transition-delay:.18s}.cp-js .reveal-d4{transition-delay:.24s}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .footer__grid{grid-template-columns:1fr 1fr;gap:32px}
  .split{grid-template-columns:1fr}
}
@media(max-width:900px){
  .hero{grid-template-columns:var(--gutter) minmax(0,1fr) var(--gutter)}
  .hero>.slide{min-height:0}
  .slide__media{grid-column:1/-1;grid-row:1;min-height:0;aspect-ratio:16/9}
  .slide__content{grid-column:2;grid-row:2;padding:32px 0 88px}
  .slide__title{max-width:none}
}
@media(max-width:782px){
  .admin-bar .wp-site-blocks>.wp-block-template-part:first-child{top:calc(46px - var(--promo-h))}
}
@media(max-width:720px){
  .stats__inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:20px 16px}
  .stat:nth-child(odd){border-left:0;padding-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .promo__contact{display:none}
  .promo__text{text-align:center;width:100%}
  .promo__inner{justify-content:center}
  .site-header__inner{gap:12px;height:68px}
  .wp-block-image.brand img{height:44px}
  .milestone{grid-template-columns:56px minmax(0,1fr);gap:16px}
}
@media(max-width:560px){
  .header-cta{display:none}
  .footer__grid{grid-template-columns:1fr}
  .hero-actions{flex-direction:column;align-items:stretch;width:100%}
  .hero-actions .wp-block-button__link{width:100%}
  .section-head{margin-bottom:28px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .cp-js .reveal{opacity:1;transform:none}
}

/* =====================================================================
   CATALOG (Productos → native Query Loop; filters/search/zoom added by assets/js/catalog.js)
   ===================================================================== */
[hidden]{display:none!important}
.catalog-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,2fr) auto;gap:16px;align-items:end;padding:20px;margin-bottom:20px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg)}
.catalog-filters label{display:block;margin-bottom:6px;font-size:12px;font-weight:600;color:var(--muted)}
.catalog-filters select,.catalog-filters input{width:100%;height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background-color:#fff;font:inherit;font-size:14px;color:var(--ink)}
.catalog-filters select{-webkit-appearance:none;appearance:none;padding-right:40px;background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.catalog-filters button{height:44px;padding:0 26px;border:0;border-radius:999px;background:var(--brand);color:#fff;font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s}
.catalog-filters button:hover{background:var(--brand-900)}
.catalog__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;margin-bottom:16px;font-size:13px;color:var(--muted)}
.catalog__count strong{color:var(--ink)}
.catalog__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin:0;padding:0;list-style:none}
.catalog__grid>li{margin:0}
.catalog__nomatch,.catalog .wp-block-query-no-results{display:none;padding:40px 16px;text-align:center;color:var(--muted)}
.catalog.is-empty .catalog__nomatch{display:block}
.catalog .wp-block-query-no-results{display:block}
.catalog__more{display:block;margin:28px auto 0;padding:12px 28px;border:2px solid var(--brand);border-radius:999px;background:transparent;color:var(--brand);font:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .15s,color .15s}
.catalog__more:hover{background:var(--brand);color:#fff}

.product-card{display:flex;flex-direction:column;height:100%;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;transition:border-color .15s,box-shadow .15s}
.product-card:hover{border-color:var(--brand);box-shadow:0 4px 16px rgba(10,35,71,.08)}
.product-card__media{position:relative;aspect-ratio:4/3;background-color:var(--surface);background-repeat:no-repeat;background-position:center;background-size:44px}
.product-card__media .wp-block-post-featured-image{height:100%;margin:0}
.product-card__media img{display:block;width:100%;height:100%;object-fit:contain;padding:10px;background:#fff}
.product-card__media{cursor:pointer}
.product-card__media::after{content:"Ver detalles";position:absolute;left:50%;bottom:10px;transform:translateX(-50%);padding:4px 12px;border-radius:999px;background:rgba(10,35,71,.92);color:#fff;font-size:11px;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s}
.product-card:hover .product-card__media::after,.product-card__media:focus-visible::after{opacity:1}
@media(hover:none){.product-card__media::after{opacity:1}}
.product-card__body{display:flex;flex-direction:column;flex:1;padding:14px 16px 16px}
.product-tags{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--link)}
.product-card__title{margin:4px 0 6px;font-size:.9375rem;line-height:1.3;font-weight:650}
.product-ref{font-size:12px;font-weight:600;color:var(--muted)}
.product-card__desc{margin:2px 0 14px;font-size:12px;line-height:1.45;color:var(--muted)}
.product-card__desc p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.product-card__footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.product-price{font-size:13px;font-weight:700}
.product-card__cta{max-width:100%}
.product-card__cta .wp-block-button__link{min-height:34px;padding:6px 14px;font-size:12px;line-height:1.25;white-space:normal;overflow-wrap:break-word}

/* product popup (opened by clicking a product photo) */
html.cp-modal-open{overflow:hidden}
.cp-modal{width:min(94vw,980px);max-height:92vh;padding:0;border:0;border-radius:16px;background:#fff;color:var(--ink);overflow:hidden}
.cp-modal::backdrop{background:rgba(10,35,71,.84)}
.cp-modal__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-height:92vh}
.cp-modal__media{display:flex;align-items:center;justify-content:center;min-height:340px;background:var(--surface)}
.cp-modal__media img{display:block;width:100%;height:100%;max-height:92vh;object-fit:contain;padding:16px;background:#fff}
.cp-modal__ph{display:block;width:96px;height:96px;background-repeat:no-repeat;background-position:center;background-size:contain}
.cp-modal__info{display:flex;flex-direction:column;padding:40px 32px 28px;overflow:auto;max-height:92vh}
.cp-modal__tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--link)}
.cp-modal__title{margin:6px 0 6px;font-size:1.5rem;line-height:1.2;font-weight:700;letter-spacing:-.01em}
.cp-modal__ref{margin-bottom:16px;font-size:.875rem;font-weight:600;color:var(--muted)}
.cp-modal__desc{font-size:1rem;line-height:1.6;white-space:pre-line}
.cp-modal__detail{margin-top:16px;padding-top:16px;border-top:1px solid var(--line);font-size:.9375rem;line-height:1.6;color:var(--muted)}
.cp-modal__detail p+p{margin-top:8px}
.cp-modal__price{margin:24px 0 16px;font-size:1.5rem;font-weight:700}
.cp-modal__cta{margin-top:auto;padding-top:8px}
.cp-modal__cta .wp-block-button,.cp-modal__cta .wp-block-button__link{width:100%}
.cp-modal__close{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(10,35,71,.25);color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
@media(max-width:720px){
  .cp-modal{overflow:auto}
  .cp-modal__grid{grid-template-columns:1fr;max-height:none}
  .cp-modal__media{min-height:0;aspect-ratio:4/3}
  .cp-modal__info{max-height:none;overflow:visible;padding:24px 20px}
}

/* =====================================================================
   CONTACT (info card + hours card + map)
   ===================================================================== */
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.info-card{padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg)}
.info-card__title{margin-bottom:12px;font-size:1.25rem;line-height:1.3;font-weight:650}
.info-row{position:relative;padding:13px 0 13px 36px;border-top:1px solid var(--line);font-size:.9375rem}
.info-row::before{content:"";position:absolute;left:0;top:15px;width:20px;height:20px;background-repeat:no-repeat;background-position:center;background-size:contain}
.info-row a{font-weight:600;color:var(--brand);text-decoration:none}
.info-row a:hover{text-decoration:underline}
.info-card .wp-block-buttons{margin-top:20px}
.hours-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-top:1px solid var(--line);font-size:.9375rem}
.hours-day{color:var(--muted)}
.hours-time{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.hours-row--closed .hours-time{color:var(--accent-ink)}
.map-embed{height:clamp(280px,32vw,380px);margin-top:24px;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg)}
.map-embed iframe{display:block;width:100%;height:100%;border:0}
.map-embed .map-placeholder{width:100%;height:100%}
.map-placeholder{display:flex;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:.9375rem;color:var(--muted)}

@media(max-width:1024px){
  .catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-filters .catalog-filters__search{grid-column:1/-1}
  .catalog-filters button{width:100%}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .catalog__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .catalog-filters{grid-template-columns:1fr;padding:16px}
  .product-card__body{padding:12px}
  .product-card__footer{flex-direction:column;align-items:flex-start}
  .product-card__cta,.product-card__cta .wp-block-button,.product-card__cta .wp-block-button__link{width:100%}
  .info-card{padding:20px}
}

/* icons (generated) */
.tile--rent::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 9V3h12v6%22/%3E%3Crect x=%223%22 y=%229%22 width=%2218%22 height=%229%22 rx=%222%22/%3E%3Cpath d=%22M7 14h10v7H7z%22/%3E%3C/svg%3E");background-size:26px}
.tile--sale::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M20.6 13.4l-7.2 7.2a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z%22/%3E%3Ccircle cx=%227.5%22 cy=%227.5%22 r=%221%22/%3E%3C/svg%3E");background-size:26px}
.tile--supplies::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 8l-9-5-9 5v8l9 5 9-5z%22/%3E%3Cpath d=%22M3 8l9 5 9-5%22/%3E%3Cpath d=%22M12 13v8%22/%3E%3C/svg%3E");background-size:26px}
.tile--service::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z%22/%3E%3C/svg%3E");background-size:26px}
.feature--tech::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z%22/%3E%3Cpath d=%22M9 12l2 2 4-4%22/%3E%3C/svg%3E");background-size:28px}
.feature--parts::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 8l-9-5-9 5v8l9 5 9-5z%22/%3E%3Cpath d=%22M3 8l9 5 9-5%22/%3E%3Cpath d=%22M12 13v8%22/%3E%3C/svg%3E");background-size:28px}
.feature--support::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M3 14v-2a9 9 0 0 1 18 0v2%22/%3E%3Crect x=%223%22 y=%2214%22 width=%224%22 height=%226%22 rx=%221.5%22/%3E%3Crect x=%2217%22 y=%2214%22 width=%224%22 height=%226%22 rx=%221.5%22/%3E%3Cpath d=%22M21 20a3 3 0 0 1-3 2h-3%22/%3E%3C/svg%3E");background-size:28px}
.tile:hover::before{background-color:#DCE6F3}
.faq__item summary::after{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 9l6 6 6-6%22/%3E%3C/svg%3E")}
.slider-toggle{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23FFFFFF%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M8 5v14M16 5v14%22/%3E%3C/svg%3E")}
.slider-toggle[aria-pressed="true"]{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23FFFFFF%22 stroke-width=%222.4%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M7 4l13 8-13 8z%22/%3E%3C/svg%3E")}
.info-row--address::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 10c0 7-9 13-9 13S3 17 3 10a9 9 0 0 1 18 0z%22/%3E%3Ccircle cx=%2212%22 cy=%2210%22 r=%223%22/%3E%3C/svg%3E")}
.info-row--wa::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M21 11.5a8.4 8.4 0 0 1-9 8.4 8.5 8.5 0 0 1-3.8-.9L3 21l1.9-5.7a8.4 8.4 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.4 8.4 0 0 1 3.8-.9h.5a8.5 8.5 0 0 1 8 8z%22/%3E%3C/svg%3E")}
.info-row--phone::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E")}
.info-row--mail::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%2314407F%22 stroke-width=%221.8%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%222%22 y=%224%22 width=%2220%22 height=%2216%22 rx=%222%22/%3E%3Cpath d=%22M22 7l-10 6L2 7%22/%3E%3C/svg%3E")}
.product-card__media{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%239AA8B8%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%223%22 width=%2218%22 height=%2218%22 rx=%222%22/%3E%3Ccircle cx=%228.5%22 cy=%228.5%22 r=%221.5%22/%3E%3Cpath d=%22M21 15l-5-5L5 21%22/%3E%3C/svg%3E")}
.cp-modal__ph{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%239AA8B8%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Crect x=%223%22 y=%223%22 width=%2218%22 height=%2218%22 rx=%222%22/%3E%3Ccircle cx=%228.5%22 cy=%228.5%22 r=%221.5%22/%3E%3Cpath d=%22M21 15l-5-5L5 21%22/%3E%3C/svg%3E")}
.catalog-filters select{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23566070%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M6 9l6 6 6-6%22/%3E%3C/svg%3E")}
.promo__contact a::before{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23FFFFFF%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z%22/%3E%3C/svg%3E")}
.btn-wa .wp-block-button__link::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.26-.46-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.21 3.07.15.2 2.1 3.2 5.08 4.49.71.3 1.26.49 1.7.63.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2-1.41.25-.7.25-1.29.17-1.42-.07-.13-.27-.2-.57-.35zM12.05 21.8h-.01a9.9 9.9 0 0 1-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.9-9.88 2.64 0 5.12 1.03 6.99 2.9a9.82 9.82 0 0 1 2.89 6.99c0 5.45-4.44 9.88-9.89 9.88zM20.52 3.45A11.8 11.8 0 0 0 12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.31-1.65a11.88 11.88 0 0 0 5.68 1.45h.01c6.55 0 11.89-5.34 11.89-11.89 0-3.18-1.24-6.16-3.43-8.46z%22/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 24 24%22%3E%3Cpath d=%22M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.26-.46-2.39-1.48-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.08-.15-.67-1.62-.92-2.22-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.8.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.21 3.07.15.2 2.1 3.2 5.08 4.49.71.3 1.26.49 1.7.63.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2-1.41.25-.7.25-1.29.17-1.42-.07-.13-.27-.2-.57-.35zM12.05 21.8h-.01a9.9 9.9 0 0 1-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.9-9.88 2.64 0 5.12 1.03 6.99 2.9a9.82 9.82 0 0 1 2.89 6.99c0 5.45-4.44 9.88-9.89 9.88zM20.52 3.45A11.8 11.8 0 0 0 12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.31-1.65a11.88 11.88 0 0 0 5.68 1.45h.01c6.55 0 11.89-5.34 11.89-11.89 0-3.18-1.24-6.16-3.43-8.46z%22/%3E%3C/svg%3E")}
