/* ============================================================
   CONSTRUMAQ — Plantilla ZanCMS para maquinaria de construcción
   Mercado: España · Tono: profesional, natural y dinámico
   Paleta: verde bosque + ámbar obra + arena natural
   ============================================================ */
:root{
  --cm-forest:#1e4d38;
  --cm-forest-deep:#143526;
  --cm-forest-ink:#0d241a;
  --cm-amber:#f0a12a;
  --cm-amber-deep:#d98d15;
  --cm-terra:#c65d21;
  --cm-sand:#f4efe6;
  --cm-sand-deep:#e9e0cf;
  --cm-ink:#22302a;
  --cm-slate:#5c6b63;
  --cm-line:#dfd9cb;
  --cm-white:#ffffff;
  --cm-radius:14px;
  --cm-radius-sm:9px;
  --cm-shadow:0 14px 38px rgba(20,53,38,.12);
  --cm-shadow-soft:0 6px 18px rgba(20,53,38,.08);
  --cm-font:"Segoe UI",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body.construmaq-theme{font-family:var(--cm-font);color:var(--cm-ink);background:var(--cm-white);font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--cm-forest);text-decoration:none;transition:color .22s}
a:hover{color:var(--cm-terra)}
ul,ol{list-style:none}
button{font-family:inherit}
.cm-shell{width:min(1240px,calc(100% - 48px));margin:0 auto}
.skip-nav{position:absolute;left:-9999px;top:0;background:var(--cm-amber);color:var(--cm-forest-ink);padding:10px 18px;z-index:10000;border-radius:0 0 8px 0;font-weight:700}
.skip-nav:focus{left:0}

/* ---------- Botones ---------- */
.cm-btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px;padding:12px 24px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:all .24s;line-height:1.2}
.cm-btn-lg{padding:15px 30px;font-size:15.5px}
.cm-btn-amber{background:var(--cm-amber);color:var(--cm-forest-ink);border-color:var(--cm-amber)}
.cm-btn-amber:hover{background:var(--cm-amber-deep);border-color:var(--cm-amber-deep);color:var(--cm-forest-ink);transform:translateY(-2px)}
.cm-btn-forest{background:var(--cm-forest);color:#fff;border-color:var(--cm-forest)}
.cm-btn-forest:hover{background:var(--cm-forest-deep);border-color:var(--cm-forest-deep);color:#fff;transform:translateY(-2px)}
.cm-btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.cm-btn-outline-light:hover{border-color:var(--cm-amber);color:var(--cm-amber)}
.cm-textlink{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:14px;color:var(--cm-forest)}
.cm-textlink i{transition:transform .22s}
.cm-textlink:hover i{transform:translateX(4px)}
.cm-textlink-light{color:#ffd98f}
.cm-textlink-light:hover{color:#fff}
.cm-chipbtn{display:inline-flex;align-items:center;gap:7px;background:var(--cm-sand);border:1.5px solid var(--cm-line);color:var(--cm-forest);font-weight:700;font-size:13px;padding:8px 15px;border-radius:999px;cursor:pointer;transition:all .22s}
.cm-chipbtn:hover{background:var(--cm-forest);border-color:var(--cm-forest);color:#fff}

/* ---------- Tipografía de sección ---------- */
.cm-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--cm-terra)}
.cm-kicker i{color:var(--cm-amber)}
.cm-kicker-light{color:#ffd98f}
.cm-kicker-light i{color:var(--cm-amber)}
.cm-h2{font-size:clamp(24px,3.2vw,34px);line-height:1.22;color:var(--cm-forest-ink);margin-top:10px;font-weight:800}
.cm-sec-forest .cm-h2,.cm-sec-forest h2{color:#fff}
.cm-lede{color:var(--cm-slate);margin-top:12px;max-width:640px}
.cm-sec-forest .cm-lede{color:#cfe0d4}
.cm-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:40px;flex-wrap:wrap}
.cm-sechead-center{flex-direction:column;align-items:center;text-align:center}
.cm-sechead-center .cm-lede{margin-left:auto;margin-right:auto}
.cm-blocktitle{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;color:var(--cm-forest-ink);padding-bottom:12px;border-bottom:3px solid var(--cm-amber);margin-bottom:20px}
.cm-blocktitle i{color:var(--cm-terra)}
.cm-center-cta{text-align:center;margin-top:34px}

/* ---------- Secciones ---------- */
.cm-sec{padding:72px 0}
.cm-sec-sand{background:var(--cm-sand)}
.cm-sec-forest{background:linear-gradient(150deg,var(--cm-forest-deep),var(--cm-forest));color:#e8f1ea}
.cm-sec-tightop{padding-top:36px}

/* ---------- Reveal ---------- */
.cm-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.cm-reveal.in{opacity:1;transform:none}

/* ============ HEADER ============ */
.cm-utility{background:var(--cm-forest-ink);color:#bcd3c3;font-size:13px}
.cm-utility-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 0}
.cm-utility-msg{display:flex;align-items:center;gap:9px;margin:0}
.cm-utility-msg i{color:var(--cm-amber)}
.cm-utility-list{display:flex;align-items:center;gap:22px}
.cm-utility-list li{display:flex;align-items:center;gap:7px}
.cm-utility-list a{color:#bcd3c3;display:inline-flex;align-items:center;gap:7px}
.cm-utility-list a:hover{color:var(--cm-amber)}
.cm-brandbar{background:#fff;border-bottom:1px solid var(--cm-line)}
.cm-brandbar-in{display:flex;align-items:center;gap:30px;padding:18px 0}
.cm-logo img{max-height:56px;width:auto}
.cm-bigsearch{flex:1;display:flex;max-width:520px;border:2px solid var(--cm-forest);border-radius:999px;overflow:hidden;background:#fff}
.cm-bigsearch input{flex:1;border:none;outline:none;padding:11px 20px;font-size:14.5px;font-family:inherit;color:var(--cm-ink);background:transparent}
.cm-bigsearch button{display:inline-flex;align-items:center;gap:8px;border:none;background:var(--cm-forest);color:#fff;font-weight:700;font-size:14px;padding:0 22px;cursor:pointer;transition:background .22s}
.cm-bigsearch button:hover{background:var(--cm-forest-deep)}
.cm-brandbar-side{display:flex;align-items:center;gap:20px;margin-left:auto}
.cm-phonechip{display:flex;align-items:center;gap:12px}
.cm-phonechip>i{font-size:26px;color:var(--cm-amber)}
.cm-phonechip small{display:block;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--cm-slate);font-weight:700}
.cm-phonechip a{font-size:16.5px;font-weight:800;color:var(--cm-forest-ink)}
.cm-phonechip a:hover{color:var(--cm-terra)}
.cm-quotebasket{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--cm-sand);color:var(--cm-forest);font-size:18px;border:1.5px solid var(--cm-line);transition:all .22s}
.cm-quotebasket:hover{background:var(--cm-forest);color:#fff;border-color:var(--cm-forest)}
.cm-qbadge{display:none;position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;border-radius:999px;background:var(--cm-terra);color:#fff;font-size:11px;font-weight:800;align-items:center;justify-content:center;padding:0 5px}
.cm-navband{background:var(--cm-forest);position:sticky;top:0;z-index:900;box-shadow:0 4px 16px rgba(13,36,26,.25)}
.cm-navband.stuck{box-shadow:0 8px 26px rgba(13,36,26,.4)}
.cm-navband-in{display:flex;align-items:center;justify-content:space-between;gap:20px}
.cm-nav{display:flex;align-items:stretch}
.cm-nav>a,.cm-navitem>a{display:inline-flex;align-items:center;gap:7px;color:#dcebe0;font-weight:700;font-size:14.5px;padding:16px 18px;border-bottom:3px solid transparent;transition:all .22s}
.cm-nav>a:hover,.cm-nav>a.active,.cm-navitem>a:hover,.cm-navitem>a.active{color:#fff;border-bottom-color:var(--cm-amber);background:rgba(255,255,255,.06)}
.cm-navitem{position:relative}
.cm-navitem>a i{font-size:11px;opacity:.7}
.cm-mega{position:absolute;left:0;top:100%;min-width:300px;background:#fff;border-radius:0 0 var(--cm-radius) var(--cm-radius);box-shadow:var(--cm-shadow);padding:22px;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .26s;z-index:950;border-top:3px solid var(--cm-amber)}
.cm-navitem:hover .cm-mega,.cm-navitem:focus-within .cm-mega{opacity:1;visibility:visible;transform:none}
.cm-mega-grid{display:flex;gap:26px;flex-wrap:wrap}
.cm-mega-col{min-width:170px}
.cm-mega-parent{display:block;font-weight:800;font-size:14px;color:var(--cm-forest-ink);padding:5px 0;border-bottom:1px dashed var(--cm-line);margin-bottom:6px}
.cm-mega-parent:hover{color:var(--cm-terra)}
.cm-mega-child{display:block;font-size:13.5px;color:var(--cm-slate);padding:4.5px 0}
.cm-mega-child:hover{color:var(--cm-terra);padding-left:4px}
.cm-mega-all{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-weight:800;font-size:13.5px;color:var(--cm-forest)}
.cm-mega-all:hover{color:var(--cm-terra)}
.cm-navband-cta{display:flex;align-items:center;gap:12px;padding:8px 0}
.cm-navsearch{display:none;background:none;border:none;color:#dcebe0;font-size:17px;cursor:pointer;width:40px;height:40px;border-radius:50%;transition:background .22s}
.cm-navsearch:hover{background:rgba(255,255,255,.1)}
.cm-burger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;width:42px;height:42px;border-radius:8px}
.cm-burger span{display:block;width:24px;height:2.5px;background:#fff;border-radius:2px;margin:0 auto}

/* Drawer móvil */
.cm-drawer{position:fixed;top:0;right:-360px;width:min(340px,88vw);height:100vh;background:#fff;z-index:1200;transition:right .32s;box-shadow:-14px 0 44px rgba(13,36,26,.28);display:flex;flex-direction:column;overflow-y:auto}
.cm-drawer.on{right:0}
.cm-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:var(--cm-forest);color:#fff}
.cm-drawer-head strong{display:flex;align-items:center;gap:9px;font-size:16px}
.cm-drawer-head i{color:var(--cm-amber)}
.cm-drawer-close{background:none;border:none;color:#fff;font-size:20px;cursor:pointer}
.cm-drawer-search{padding:16px 20px;border-bottom:1px solid var(--cm-line)}
.cm-drawer-search form{display:flex;border:1.5px solid var(--cm-line);border-radius:999px;overflow:hidden}
.cm-drawer-search input{flex:1;border:none;outline:none;padding:10px 16px;font-family:inherit;font-size:14px}
.cm-drawer-search button{border:none;background:var(--cm-forest);color:#fff;padding:0 16px;cursor:pointer}
.cm-drawer nav{padding:10px 0;flex:1}
.cm-drawer nav>a{display:block;padding:12px 22px;font-weight:700;color:var(--cm-ink);border-bottom:1px solid #f1ece1}
.cm-drawer nav>a.active{color:var(--cm-terra)}
.cm-dsec{border-bottom:1px solid #f1ece1}
.cm-dsec>button{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:none;padding:12px 22px;font-weight:700;font-size:15px;color:var(--cm-ink);cursor:pointer}
.cm-dsec>button i{transition:transform .25s;color:var(--cm-slate)}
.cm-dsec.open>button i{transform:rotate(180deg)}
.cm-dsub{display:none;padding:2px 22px 12px;background:var(--cm-sand)}
.cm-dsec.open .cm-dsub{display:block}
.cm-dsub a{display:block;padding:8px 0;font-size:14px;color:var(--cm-slate);border-bottom:1px dashed var(--cm-line)}
.cm-dsub a:last-child{border-bottom:none}
.cm-drawer-foot{padding:18px 20px;border-top:1px solid var(--cm-line);display:flex;flex-direction:column;gap:10px}
.cm-drawer-foot .cm-btn{justify-content:center}
.cm-drawer-contact{text-align:center;font-size:14px}
.cm-drawer-contact a{font-weight:700;color:var(--cm-forest)}

/* ============ HERO PORTADA ============ */
.cm-hero{background:linear-gradient(140deg,var(--cm-forest-ink) 0%,var(--cm-forest-deep) 45%,var(--cm-forest) 100%);color:#e8f1ea;position:relative;overflow:hidden}
.cm-hero::after{content:"";position:absolute;right:-140px;top:-140px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(240,161,42,.22),transparent 65%)}
.cm-hero-in{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;padding:84px 0 76px;position:relative;z-index:2;align-items:center}
.cm-hero-kicker{display:inline-flex;align-items:center;gap:9px;background:rgba(240,161,42,.14);border:1px solid rgba(240,161,42,.45);color:#ffd98f;font-size:13px;font-weight:700;padding:8px 16px;border-radius:999px}
.cm-hero-copy h1{font-size:clamp(32px,4.6vw,52px);line-height:1.12;font-weight:800;color:#fff;margin:22px 0 18px}
.cm-hero-copy h1 em{font-style:normal;color:var(--cm-amber)}
.cm-hero-lead{font-size:17px;color:#cfe0d4;max-width:560px}
.cm-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.cm-hero-ticks{margin-top:30px;display:flex;flex-direction:column;gap:9px}
.cm-hero-ticks li{display:flex;align-items:center;gap:10px;font-size:14.5px;color:#dcebe0}
.cm-hero-ticks i{color:var(--cm-amber)}
.cm-hero-panel{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--cm-radius);padding:30px;backdrop-filter:blur(4px)}
.cm-hero-panel h2{display:flex;align-items:center;gap:10px;font-size:18px;color:#fff;margin-bottom:18px}
.cm-hero-panel h2 i{color:var(--cm-amber)}
.cm-hero-sectors{display:flex;flex-wrap:wrap;gap:10px}
.cm-hero-sectors span{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#dcebe0;font-size:13.5px;font-weight:600;padding:9px 15px}
.cm-hero-sectors i{color:var(--cm-amber)}
.cm-hero-panel-foot{margin-top:22px;padding-top:18px;border-top:1px dashed rgba(255,255,255,.2)}

/* Cinta de confianza */
.cm-ribbon{background:var(--cm-amber)}
.cm-ribbon-in{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:22px 0}
.cm-ribbon-item{display:flex;align-items:center;gap:13px;color:var(--cm-forest-ink)}
.cm-ribbon-item i{font-size:26px}
.cm-ribbon-item strong{display:block;font-size:14.5px;line-height:1.3}
.cm-ribbon-item small{display:block;font-size:12.5px;opacity:.85;line-height:1.35}

/* Carril de categorías */
.cm-catrail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:22px;overflow-x:auto;overflow-y:hidden;padding-bottom:14px;scroll-snap-type:x mandatory}
.cm-catrail::-webkit-scrollbar{height:8px}
.cm-catrail::-webkit-scrollbar-thumb{background:var(--cm-line);border-radius:8px}
.cm-cattile{scroll-snap-align:start;background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);overflow:hidden;transition:all .26s;display:flex;flex-direction:column}
.cm-cattile:hover{border-color:var(--cm-forest);box-shadow:var(--cm-shadow);transform:translateY(-4px)}
.cm-cattile figure{aspect-ratio:4/3;background:var(--cm-sand);overflow:hidden}
.cm-cattile figure img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cm-cattile:hover figure img{transform:scale(1.06)}
.cm-cattile-body{padding:18px 20px}
.cm-cattile-body h3{font-size:16px;color:var(--cm-forest-ink);line-height:1.35}
.cm-cattile-go{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:13px;font-weight:700;color:var(--cm-terra)}
.cm-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:130px;color:var(--cm-line);font-size:44px;background:var(--cm-sand)}
.cm-noimg-mini{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:var(--cm-sand);color:var(--cm-line);font-size:20px;flex-shrink:0}

/* Tarjetas de producto */
.cm-prodgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cm-prodcard{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);overflow:hidden;display:flex;flex-direction:column;transition:all .26s}
.cm-prodcard:hover{box-shadow:var(--cm-shadow);transform:translateY(-4px);border-color:var(--cm-forest)}
.cm-prodcard-media{position:relative;aspect-ratio:4/3;background:var(--cm-sand);overflow:hidden;display:block}
.cm-prodcard-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cm-prodcard:hover .cm-prodcard-media img{transform:scale(1.05)}
.cm-prodcard-tag{position:absolute;left:14px;top:14px;background:var(--cm-forest);color:#fff;font-size:11.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:6px 12px;border-radius:999px}
.cm-prodcard-body{padding:20px 22px;display:flex;flex-direction:column;gap:12px;flex:1}
.cm-prodcard-body h3,.cm-prodcard-title{font-size:16.5px;line-height:1.4;font-weight:800}
.cm-prodcard-body h3 a,.cm-prodcard-title a{color:var(--cm-forest-ink)}
.cm-prodcard-body h3 a:hover,.cm-prodcard-title a:hover{color:var(--cm-terra)}
.cm-prodcard-body p{font-size:13.5px;color:var(--cm-slate)}
.cm-prodcard-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:8px;border-top:1px dashed var(--cm-line);flex-wrap:wrap}

/* Fabricación en portada */
.cm-fabsplit{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.cm-fabsplit-media{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--cm-radius);padding:26px}
.cm-fabsteps{counter-reset:fab;margin:26px 0 30px;display:flex;flex-direction:column;gap:16px}
.cm-fabsteps li{position:relative;padding-left:52px}
.cm-fabsteps li::before{counter-increment:fab;content:counter(fab,decimal-leading-zero);position:absolute;left:0;top:1px;width:38px;height:38px;border-radius:10px;background:var(--cm-amber);color:var(--cm-forest-ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.cm-fabsteps strong{display:block;color:#fff;font-size:15.5px}
.cm-fabsteps span{font-size:13.5px;color:#cfe0d4}

/* Soluciones — filas numeradas */
.cm-solrows{counter-reset:sol;display:flex;flex-direction:column;gap:16px;max-width:880px;margin:0 auto}
.cm-solrow{display:flex;align-items:center;gap:24px;background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);padding:22px 28px;transition:all .26s}
.cm-solrow:hover{border-color:var(--cm-forest);box-shadow:var(--cm-shadow-soft);transform:translateX(6px)}
.cm-solrow-idx::before{counter-increment:sol;content:counter(sol,decimal-leading-zero)}
.cm-solrow-idx{font-size:26px;font-weight:800;color:var(--cm-amber);min-width:52px}
.cm-solrow-main h3{font-size:17px;color:var(--cm-forest-ink)}
.cm-solrow-main p{font-size:13.5px;color:var(--cm-slate);margin-top:5px}
.cm-solrow-go{margin-left:auto;width:44px;height:44px;border-radius:50%;background:var(--cm-sand);color:var(--cm-forest);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .24s}
.cm-solrow:hover .cm-solrow-go{background:var(--cm-forest);color:#fff}

/* Certificados split en portada */
.cm-certsplit{display:grid;grid-template-columns:1fr 1.35fr;gap:52px;align-items:center}
.cm-certrow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cm-certbadge{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius-sm);padding:16px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;transition:all .24s}
.cm-certbadge:hover{border-color:var(--cm-amber);box-shadow:var(--cm-shadow-soft);transform:translateY(-3px)}
.cm-certbadge img{height:74px;width:auto;object-fit:contain}
.cm-certbadge>i{font-size:40px;color:var(--cm-forest);height:74px;display:flex;align-items:center}
.cm-certbadge span{font-size:12.5px;font-weight:700;color:var(--cm-ink);line-height:1.35}

/* FAQ portada / página */
.cm-faqcols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.cm-faqitem{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius-sm);overflow:hidden;transition:border-color .22s}
.cm-faqitem[open]{border-color:var(--cm-forest)}
.cm-faqitem summary{display:flex;align-items:center;justify-content:space-between;gap:14px;list-style:none;cursor:pointer;padding:17px 20px;font-weight:700;font-size:14.5px;color:var(--cm-forest-ink)}
.cm-faqitem summary::-webkit-details-marker{display:none}
.cm-faqitem summary i{color:var(--cm-amber);transition:transform .26s;flex-shrink:0}
.cm-faqitem[open] summary i{transform:rotate(45deg)}
.cm-faqbody{padding:0 20px 18px;font-size:14px;color:var(--cm-slate);line-height:1.7}

/* Noticias */
.cm-newsdeck{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cm-newsdeck-page{grid-template-columns:repeat(2,1fr)}
.cm-newscard{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);overflow:hidden;display:flex;flex-direction:column;transition:all .26s}
.cm-newscard:hover{box-shadow:var(--cm-shadow);transform:translateY(-4px)}
.cm-newscard-media{aspect-ratio:16/9;background:var(--cm-sand);overflow:hidden;display:block}
.cm-newscard-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cm-newscard:hover .cm-newscard-media img{transform:scale(1.05)}
.cm-newscard-body{padding:20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.cm-newscard-body time{font-size:12.5px;color:var(--cm-slate);display:inline-flex;align-items:center;gap:7px;font-weight:600}
.cm-newscard-meta{display:flex;align-items:center;gap:14px;font-size:12.5px;color:var(--cm-slate)}
.cm-newscard-meta em{font-style:normal;background:var(--cm-sand);border-radius:999px;padding:3px 11px;font-weight:700;color:var(--cm-forest)}
.cm-newscard-body h2,.cm-newscard-body h3{font-size:16.5px;line-height:1.4}
.cm-newscard-body h2 a,.cm-newscard-body h3 a{color:var(--cm-forest-ink)}
.cm-newscard-body h2 a:hover,.cm-newscard-body h3 a:hover{color:var(--cm-terra)}
.cm-newscard-body p{font-size:13.5px;color:var(--cm-slate)}
.cm-newscard-body .cm-textlink{margin-top:auto}

/* Formulario en portada */
.cm-homeform{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.cm-homeform-copy h2{font-size:clamp(24px,3vw,32px);color:#fff;margin-top:12px;line-height:1.25}
.cm-homeform-list{margin-top:24px;display:flex;flex-direction:column;gap:10px}
.cm-homeform-list li{display:flex;align-items:center;gap:11px;color:#dcebe0;font-size:14.5px}
.cm-homeform-list i{color:var(--cm-amber)}
.cm-homeform-card{background:#fff;border-radius:var(--cm-radius);padding:30px;box-shadow:var(--cm-shadow)}
.cm-homeform-card h3{display:flex;align-items:center;gap:10px;font-size:18px;color:var(--cm-forest-ink);margin-bottom:18px}
.cm-homeform-card h3 i{color:var(--cm-terra)}
.cm-homeform-note{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--cm-slate);margin-top:14px}
.cm-homeform-note i{color:var(--cm-forest)}

/* ============ CABECERAS DE PÁGINA INTERIOR ============ */
.cm-pageintro{background:linear-gradient(135deg,var(--cm-forest-ink),var(--cm-forest));color:#e8f1ea;padding:40px 0 46px;position:relative;overflow:hidden}
.cm-pageintro::before{content:"";position:absolute;right:0;bottom:-40px;width:340px;height:340px;background:radial-gradient(circle,rgba(240,161,42,.16),transparent 65%)}
.cm-pageintro-slim{padding:32px 0 38px}
.cm-pageintro-in{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap;position:relative;z-index:2}
.cm-pageintro h1{font-size:clamp(26px,3.6vw,40px);color:#fff;line-height:1.18;margin-top:12px;font-weight:800}
.cm-pageintro p{color:#cfe0d4;margin-top:10px;max-width:640px;font-size:15px}
.cm-pageintro-side{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cm-crumb{font-size:12.5px;color:#9fbcaa;margin-bottom:6px;position:relative;z-index:2}
.cm-crumb a{color:#9fbcaa}
.cm-crumb a:hover{color:var(--cm-amber)}
.cm-crumb-dark{color:var(--cm-slate);margin:18px 0 0}
.cm-crumb-dark a{color:var(--cm-slate)}
.cm-crumb-dark a:hover{color:var(--cm-terra)}

/* Barra de fichas (chips) de categorías */
.cm-chipbarwrap{background:#fff;border-bottom:1px solid var(--cm-line);position:sticky;top:56px;z-index:800}
.cm-chipbar{display:flex;gap:10px;overflow-x:auto;padding:14px 0;cursor:grab}
.cm-chipbar.dragging,.cm-catrail.dragging{cursor:grabbing;scroll-snap-type:none;user-select:none;scroll-behavior:auto}
.cm-catrail{cursor:grab}
.cm-chipbar::-webkit-scrollbar{height:6px}
.cm-chip{flex-shrink:0;display:inline-flex;align-items:center;background:var(--cm-sand);border:1.5px solid var(--cm-line);border-radius:999px;color:var(--cm-ink);font-weight:700;font-size:13.5px;padding:9px 18px;transition:all .22s}
.cm-chip:hover{border-color:var(--cm-forest);color:var(--cm-forest)}
.cm-chip.on{background:var(--cm-forest);border-color:var(--cm-forest);color:#fff}
.cm-chip-sub{font-weight:600;font-size:13px;opacity:.92}
.cm-plist-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--cm-sand);border-left:4px solid var(--cm-amber);border-radius:var(--cm-radius-sm);padding:15px 20px;font-size:14px;color:var(--cm-ink);margin-bottom:30px}
.cm-plist-note>i{color:var(--cm-terra);font-size:17px}
.cm-plist-note a{font-weight:700;margin-left:auto}

/* Banda CTA genérica */
.cm-band{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;background:linear-gradient(130deg,var(--cm-forest-deep),var(--cm-forest));border-radius:var(--cm-radius);padding:34px 38px;color:#e8f1ea;margin-top:44px}
.cm-band h2{font-size:clamp(18px,2.4vw,24px);color:#fff;margin-top:8px;line-height:1.3;max-width:640px}
.cm-band-actions{display:flex;gap:12px;flex-wrap:wrap}

/* ============ FICHA DE PRODUCTO ============ */
.cm-pdp-top{padding:34px 0 10px}
.cm-pdp-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start}
.cm-pdp-grid>*{min-width:0}
.cm-pdp-gallery{max-width:100%}
.cm-pdp-mainimg{border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);overflow:hidden;background:#fff}
.cm-pdp-mainimg img{width:100%;max-width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#fff}
.cm-pdp-thumbs{display:flex;gap:12px;margin-top:14px;overflow-x:auto;padding-bottom:6px}
.cm-pdp-thumbs button{flex-shrink:0;width:86px;height:66px;border:2px solid var(--cm-line);border-radius:var(--cm-radius-sm);overflow:hidden;background:#fff;cursor:pointer;padding:0;transition:border-color .2s}
.cm-pdp-thumbs button img{width:100%;height:100%;object-fit:cover}
.cm-pdp-thumbs button.active,.cm-pdp-thumbs button:hover{border-color:var(--cm-amber)}
.cm-pdp-cat{display:inline-flex;align-items:center;gap:8px;background:var(--cm-sand);border-radius:999px;color:var(--cm-forest);font-size:12.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:7px 15px}
.cm-pdp-info h1{font-size:clamp(24px,3vw,34px);color:var(--cm-forest-ink);line-height:1.2;margin:16px 0 14px;font-weight:800}
.cm-pdp-lead{color:var(--cm-slate);font-size:15px}
.cm-pdp-points{margin:22px 0;display:flex;flex-direction:column;gap:11px}
.cm-pdp-points li{display:flex;align-items:flex-start;gap:11px;font-size:14.5px}
.cm-pdp-points i{color:var(--cm-terra);margin-top:3px}
.cm-pdp-actions{display:flex;gap:13px;flex-wrap:wrap;padding:20px 0;border-top:1px dashed var(--cm-line)}
.cm-pdp-share{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--cm-slate)}
.cm-pdp-share a{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--cm-line);display:inline-flex;align-items:center;justify-content:center;color:var(--cm-forest);transition:all .22s}
.cm-pdp-share a:hover{background:var(--cm-forest);border-color:var(--cm-forest);color:#fff}
.cm-pdp-detail{display:grid;grid-template-columns:1fr 330px;gap:44px;align-items:start}
.cm-pdp-detail>*{min-width:0}
.cm-specs{width:100%;border-collapse:collapse;font-size:14px}
.cm-specs th{width:32%;text-align:left;background:var(--cm-sand);color:var(--cm-forest-ink);font-weight:700;padding:12px 16px;border:1px solid var(--cm-line)}
.cm-specs td{padding:12px 16px;border:1px solid var(--cm-line);color:var(--cm-ink)}
.cm-pdp-rail{display:flex;flex-direction:column;gap:22px;position:sticky;top:80px}
.cm-railcard{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);padding:24px}
.cm-railcard h2{display:flex;align-items:center;gap:9px;font-size:16px;color:var(--cm-forest-ink);margin-bottom:14px}
.cm-railcard h2 i{color:var(--cm-terra)}
.cm-railcard p{font-size:13.5px;color:var(--cm-slate);margin-bottom:14px}
.cm-railcard .cm-btn{width:100%;justify-content:center;margin-top:4px}
.cm-railcard-forest{background:linear-gradient(140deg,var(--cm-forest-deep),var(--cm-forest));border:none;color:#e8f1ea}
.cm-railcard-forest h2{color:#fff}
.cm-railcard-forest h2 i{color:var(--cm-amber)}
.cm-railcard-forest p{color:#cfe0d4}
.cm-raillist{display:flex;flex-direction:column;gap:12px}
.cm-raillist a{display:flex;align-items:center;gap:12px;font-size:13.5px;font-weight:600;color:var(--cm-ink);padding:8px;border-radius:var(--cm-radius-sm);transition:background .2s}
.cm-raillist a:hover{background:var(--cm-sand);color:var(--cm-terra)}
.cm-raillist img{width:58px;height:58px;object-fit:cover;border-radius:8px;flex-shrink:0}
.cm-raillinks{display:flex;flex-direction:column}
.cm-raillinks a{display:flex;align-items:center;gap:9px;padding:9px 2px;font-size:14px;color:var(--cm-ink);border-bottom:1px dashed var(--cm-line)}
.cm-raillinks a:last-child{border-bottom:none}
.cm-raillinks a i{color:var(--cm-amber);font-size:12px}
.cm-raillinks a:hover{color:var(--cm-terra)}

/* Pager prev/next */
.cm-pager{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
.cm-pager-cell{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius-sm);padding:16px 20px;font-size:14px;overflow:hidden}
.cm-pager-next{text-align:right}
.pager-link{display:inline-flex;align-items:center;gap:9px;font-weight:600;color:var(--cm-forest);max-width:100%}
.pager-link:hover{color:var(--cm-terra)}
.pager-empty{color:var(--cm-slate);font-weight:500}

/* ============ ABOUT ============ */
.cm-statboardwrap{margin-top:-26px;position:relative;z-index:5}
.cm-statboard{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--cm-line);border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);overflow:hidden;box-shadow:var(--cm-shadow)}
.cm-stat{background:#fff;padding:24px 26px;display:flex;flex-direction:column;gap:7px}
.cm-stat i{font-size:24px;color:var(--cm-terra)}
.cm-stat strong{font-size:15.5px;color:var(--cm-forest-ink)}
.cm-stat span{font-size:13px;color:var(--cm-slate);line-height:1.5}
.cm-aboutstory{max-width:860px}
.cm-aboutstory-body{margin-top:6px}
.cm-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cm-pillar{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--cm-radius);padding:28px}
.cm-pillar i{font-size:27px;color:var(--cm-amber)}
.cm-pillar h3{color:#fff;font-size:17px;margin:14px 0 9px}
.cm-pillar p{font-size:13.5px;color:#cfe0d4;line-height:1.65}
.cm-centerline{position:relative;max-width:760px;margin:0 auto;padding-left:0}
.cm-centerline::before{content:"";position:absolute;left:29px;top:10px;bottom:10px;width:3px;background:linear-gradient(var(--cm-amber),var(--cm-forest));border-radius:3px}
.cm-clstep{position:relative;display:flex;gap:26px;margin-bottom:26px}
.cm-clstep-dot{position:relative;z-index:2;flex-shrink:0;width:60px;height:60px;border-radius:50%;background:var(--cm-forest);color:#fff;border:4px solid var(--cm-amber);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.cm-clstep-card{flex:1;background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);padding:20px 26px}
.cm-clstep-card h3{font-size:16.5px;color:var(--cm-forest-ink)}
.cm-clstep-card p{font-size:14px;color:var(--cm-slate);margin-top:6px}

/* ============ FABRICACIÓN ============ */
.cm-zigzag{display:flex;flex-direction:column;gap:22px;max-width:900px;margin:0 auto}
.cm-zigstep{display:flex;align-items:center;gap:30px;background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);padding:26px 32px;transition:all .26s}
.cm-zigstep:nth-child(even){flex-direction:row-reverse;text-align:right}
.cm-zigstep:hover{border-color:var(--cm-forest);box-shadow:var(--cm-shadow-soft)}
.cm-zigstep-badge{flex-shrink:0;position:relative;width:86px;height:86px;border-radius:20px;background:linear-gradient(140deg,var(--cm-forest-deep),var(--cm-forest));display:flex;align-items:center;justify-content:center}
.cm-zigstep-badge i{font-size:30px;color:var(--cm-amber)}
.cm-zigstep-badge span{position:absolute;top:-10px;right:-10px;background:var(--cm-amber);color:var(--cm-forest-ink);font-size:12.5px;font-weight:800;border-radius:999px;padding:3px 9px}
.cm-zigstep:nth-child(even) .cm-zigstep-badge span{right:auto;left:-10px}
.cm-zigstep-copy h3{font-size:17.5px;color:var(--cm-forest-ink)}
.cm-zigstep-copy p{font-size:14px;color:var(--cm-slate);margin-top:7px}
.cm-capstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.cm-capitem{background:#fff;border-top:4px solid var(--cm-amber);border-radius:var(--cm-radius-sm);box-shadow:var(--cm-shadow-soft);padding:24px;display:flex;flex-direction:column;gap:8px}
.cm-capitem i{font-size:24px;color:var(--cm-forest)}
.cm-capitem strong{font-size:15px;color:var(--cm-forest-ink)}
.cm-capitem span{font-size:13px;color:var(--cm-slate);line-height:1.55}

/* ============ SOLUCIONES (lista) ============ */
.cm-solboard{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.cm-solpanel{display:flex;flex-direction:column;gap:14px}
.cm-solpanel-media{position:relative;border-radius:var(--cm-radius);overflow:hidden;aspect-ratio:16/9;background:var(--cm-sand);display:block}
.cm-solpanel-media img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.cm-solpanel-media:hover img{transform:scale(1.06)}
.cm-solpanel-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:26px;background:linear-gradient(transparent 30%,rgba(13,36,26,.88))}
.cm-solpanel-overlay h2{color:#fff;font-size:21px;line-height:1.3}
.cm-solpanel-overlay span{display:inline-flex;align-items:center;gap:8px;color:var(--cm-amber);font-weight:700;font-size:14px}
.cm-solpanel-desc{font-size:14px;color:var(--cm-slate);padding:0 6px}

/* ============ CERTIFICADOS (muro) ============ */
.cm-certwall{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.cm-certframe a{display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius-sm);overflow:hidden;transition:all .26s}
.cm-certframe a:hover{border-color:var(--cm-amber);box-shadow:var(--cm-shadow);transform:translateY(-4px)}
.cm-certframe figure{aspect-ratio:3/4;background:var(--cm-sand);padding:16px;display:flex;align-items:center;justify-content:center;border-bottom:3px solid var(--cm-amber)}
.cm-certframe figure img{max-height:100%;width:auto;object-fit:contain}
.cm-certframe figcaption{padding:15px 18px}
.cm-certframe h2{font-size:14.5px;color:var(--cm-forest-ink);line-height:1.4}
.cm-certframe time{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--cm-slate);margin-top:7px}

/* ============ CONTACTO ============ */
.cm-channelwrap{margin-top:-26px;position:relative;z-index:5}
.cm-channels{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.cm-channel{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);box-shadow:var(--cm-shadow-soft);padding:22px;display:flex;flex-direction:column;gap:6px;transition:all .24s;color:var(--cm-ink)}
a.cm-channel:hover{border-color:var(--cm-forest);transform:translateY(-4px);box-shadow:var(--cm-shadow)}
.cm-channel i{font-size:24px;color:var(--cm-terra)}
.cm-channel strong{font-size:14.5px;color:var(--cm-forest-ink)}
.cm-channel span{font-size:13px;color:var(--cm-slate);word-break:break-word}
.cm-contactwrap{display:grid;grid-template-columns:1.4fr 1fr;gap:44px;align-items:start}
.cm-contactform{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);padding:34px}
.cm-contactform h2{display:flex;align-items:center;gap:10px;font-size:20px;color:var(--cm-forest-ink)}
.cm-contactform h2 i{color:var(--cm-terra)}
.cm-contactform>p{font-size:13.5px;color:var(--cm-slate);margin:10px 0 22px}
.cm-contactside{display:flex;flex-direction:column;gap:22px;position:sticky;top:80px}
.cm-checklist{display:flex;flex-direction:column;gap:10px}
.cm-checklist li{position:relative;padding-left:26px;font-size:14px;line-height:1.55}
.cm-checklist li::before{content:"\2713";position:absolute;left:0;top:0;font-weight:800;color:var(--cm-amber)}
.cm-railcard-forest .cm-checklist li{color:#dcebe0}

/* ============ FAQ página ============ */
.cm-faqlayout{display:grid;grid-template-columns:1fr 320px;gap:44px;align-items:start}
.cm-faqcols-page{grid-template-columns:1fr}
.cm-faqfilter{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--cm-forest);border-radius:999px;padding:12px 22px;margin-bottom:24px}
.cm-faqfilter i{color:var(--cm-forest)}
.cm-faqfilter input{flex:1;border:none;outline:none;font-family:inherit;font-size:15px;background:transparent}
.cm-faq-noresult{text-align:center;color:var(--cm-slate);padding:26px 0}
.cm-faqside{display:flex;flex-direction:column;gap:22px;position:sticky;top:80px}
.cm-faqside .cm-btn{width:100%;justify-content:center;margin-top:8px}

/* ============ CATÁLOGO ============ */
.cm-catalogsplit{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:start}
.cm-catalogcard{background:linear-gradient(150deg,var(--cm-forest-deep),var(--cm-forest));border-radius:var(--cm-radius);color:#e8f1ea;padding:36px;position:sticky;top:80px}
.cm-catalogcard-icon{font-size:40px;color:var(--cm-amber)}
.cm-catalogcard h2{color:#fff;font-size:22px;margin:16px 0 12px}
.cm-catalogcard p{color:#cfe0d4;font-size:14px;margin-bottom:18px}
.cm-catalogcard .cm-checklist{margin-bottom:24px}
.cm-catalogcard .cm-checklist li{color:#dcebe0}
.cm-catalogcard .cm-btn{width:100%;justify-content:center}
.cm-catalogbody{min-width:0}

/* ============ ARTÍCULOS ============ */
.cm-pageintro-article .cm-articlehead{position:relative;z-index:2;max-width:820px}
.cm-articlehead h1{font-size:clamp(25px,3.4vw,38px);color:#fff;line-height:1.22;margin-top:12px;font-weight:800}
.cm-articlemeta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:16px;font-size:13.5px;color:#cfe0d4}
.cm-articlemeta time{display:inline-flex;align-items:center;gap:8px}
.cm-share{display:inline-flex;align-items:center;gap:9px}
.cm-share a{width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:13px;transition:all .22s}
.cm-share a:hover{background:var(--cm-amber);border-color:var(--cm-amber);color:var(--cm-forest-ink)}
.cm-readwrap{max-width:820px}
.cm-readcover{border-radius:var(--cm-radius);overflow:hidden;margin-bottom:32px}
.cm-readcover img{width:100%}
.cm-readbody{font-size:15.5px}
.cm-readcta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:var(--cm-sand);border-left:4px solid var(--cm-amber);border-radius:var(--cm-radius-sm);padding:22px 26px;margin-top:38px}
.cm-readcta>i{font-size:28px;color:var(--cm-terra)}
.cm-readcta strong{display:block;color:var(--cm-forest-ink);font-size:15.5px}
.cm-readcta span{font-size:13.5px;color:var(--cm-slate)}
.cm-readcta .cm-btn{margin-left:auto}

/* ============ BÚSQUEDA / TAGS ============ */
.cm-searchagain{display:flex;max-width:560px;margin-top:24px;border-radius:999px;overflow:hidden;border:2px solid rgba(255,255,255,.35);position:relative;z-index:2}
.cm-searchagain input{flex:1;border:none;outline:none;padding:13px 22px;font-family:inherit;font-size:15px;background:rgba(255,255,255,.95)}
.cm-searchagain button{display:inline-flex;align-items:center;gap:9px;border:none;background:var(--cm-amber);color:var(--cm-forest-ink);font-weight:800;padding:0 26px;cursor:pointer;transition:background .22s}
.cm-searchagain button:hover{background:var(--cm-amber-deep)}
.cm-searchlist{display:flex;flex-direction:column;gap:20px}
.cm-searchitem{display:flex;gap:24px;background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);padding:20px;transition:all .24s;align-items:center}
.cm-searchitem:hover{border-color:var(--cm-forest);box-shadow:var(--cm-shadow-soft)}
.cm-searchitem-media{flex-shrink:0;width:170px;aspect-ratio:4/3;border-radius:var(--cm-radius-sm);overflow:hidden;background:var(--cm-sand)}
.cm-searchitem-media img{width:100%;height:100%;object-fit:cover}
.cm-searchitem-body{flex:1;min-width:0}
.cm-searchitem-body em{font-style:normal;display:inline-block;background:var(--cm-sand);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700;color:var(--cm-forest)}
.cm-searchitem-body h2{font-size:17px;margin:9px 0 7px;line-height:1.35}
.cm-searchitem-body h2 a{color:var(--cm-forest-ink)}
.cm-searchitem-body h2 a:hover{color:var(--cm-terra)}
.cm-searchitem-body p{font-size:13.5px;color:var(--cm-slate);margin-bottom:8px}
.cm-searchitem-link{color:inherit}
.cm-searchitem-meta{display:flex;flex-direction:column;align-items:flex-end;gap:10px;color:var(--cm-slate);font-size:13px;flex-shrink:0}
.cm-searchitem-meta i{color:var(--cm-amber);font-size:16px}
.cm-emptybox{text-align:center;background:#fff;border:1.5px dashed var(--cm-line);border-radius:var(--cm-radius);padding:60px 30px}
.cm-emptybox i{font-size:44px;color:var(--cm-line)}
.cm-emptybox h2{font-size:20px;color:var(--cm-forest-ink);margin:16px 0 8px}
.cm-emptybox p{color:var(--cm-slate);font-size:14px;margin-bottom:18px}
.cm-tagfilter{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.95);border-radius:999px;padding:10px 20px;min-width:260px}
.cm-tagfilter i{color:var(--cm-forest)}
.cm-tagfilter input{flex:1;border:none;outline:none;font-family:inherit;font-size:14px;background:transparent}
.cm-tagfilter-hint{font-size:12.5px;color:#cfe0d4}
.cm-tagtop{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.cm-tagtop-card{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius-sm);padding:20px;display:flex;flex-direction:column;gap:8px;transition:all .24s}
.cm-tagtop-card:hover{border-color:var(--cm-amber);box-shadow:var(--cm-shadow-soft);transform:translateY(-3px)}
.cm-tagtop-icon{width:38px;height:38px;border-radius:10px;background:var(--cm-sand);color:var(--cm-terra);display:flex;align-items:center;justify-content:center;font-size:16px}
.cm-tagtop-name{font-weight:800;font-size:14.5px;color:var(--cm-forest-ink)}
.cm-tagtop-meta{font-size:12px;color:var(--cm-slate)}
.cm-tagcloud{display:flex;flex-wrap:wrap;gap:12px}
.cm-cloudtag{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--cm-line);border-radius:999px;padding:9px 18px;font-size:13.5px;font-weight:600;color:var(--cm-ink);transition:all .22s}
.cm-cloudtag em{font-style:normal;background:var(--cm-sand);border-radius:999px;font-size:11.5px;padding:1px 8px;color:var(--cm-forest);font-weight:700}
.cm-cloudtag:hover{border-color:var(--cm-forest);color:var(--cm-forest)}
.cm-cloudtag-1{border-color:var(--cm-amber)}
.cm-cloudtag-2{border-color:var(--cm-forest)}
.cm-cloudtag-3{border-color:var(--cm-terra)}
.cm-tagcloud-empty{margin-top:22px;color:var(--cm-slate);display:flex;align-items:center;gap:9px}

/* ============ LEGAL ============ */
.cm-legalwrap{max-width:860px}
.cm-legalbox{background:#fff;border:1.5px solid var(--cm-line);border-left:5px solid var(--cm-forest);border-radius:var(--cm-radius);padding:38px 42px}

/* ============ LISTA DE PRESUPUESTO ============ */
.cm-quotewrap{display:flex;flex-direction:column;gap:36px;max-width:900px;margin:0 auto}
.cm-quoteitems h2,.cm-quoteform h2{display:flex;align-items:center;gap:10px;font-size:20px;color:var(--cm-forest-ink);margin-bottom:18px}
.cm-quoteitems h2 i,.cm-quoteform h2 i{color:var(--cm-terra)}
.cm-qitem{display:flex;align-items:center;gap:20px;background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius-sm);padding:16px 20px;margin-bottom:14px}
.cm-qitem-img{flex-shrink:0;width:84px;height:66px;border-radius:8px;overflow:hidden;background:var(--cm-sand)}
.cm-qitem-img img{width:100%;height:100%;object-fit:cover}
.cm-qitem h3{flex:1;font-size:14.5px;line-height:1.4}
.cm-qitem h3 a{color:var(--cm-forest-ink)}
.cm-qitem h3 a:hover{color:var(--cm-terra)}
.cm-qty{display:flex;align-items:center;border:1.5px solid var(--cm-line);border-radius:999px;overflow:hidden}
.cm-qty a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--cm-forest);font-size:16px}
.cm-qty a:hover{background:var(--cm-sand)}
.cm-qty input{width:44px;text-align:center;border:none;outline:none;font-family:inherit;font-size:14px;font-weight:700}
.cm-qremove{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cm-slate);flex-shrink:0}
.cm-qremove:hover{background:#fbe9e0;color:var(--cm-terra)}
.cm-quoteform{background:#fff;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius);padding:32px}
.cm-quoteform>p{font-size:13.5px;color:var(--cm-slate);margin-bottom:20px}

/* ============ FORMULARIOS ============ */
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.cm-form input,.cm-form textarea,.modal-box input,.modal-box textarea,.cm-homeform-card input,.cm-homeform-card textarea,.cm-quoteform input,.cm-quoteform textarea{width:100%;border:1.5px solid var(--cm-line);border-radius:var(--cm-radius-sm);padding:12px 16px;font-family:inherit;font-size:14px;color:var(--cm-ink);outline:none;transition:border-color .22s;background:#fdfcf9;margin-bottom:0}
.cm-form>input,.cm-form>textarea,.cm-homeform-card form>textarea,.modal-box form>textarea,.cm-quoteform form>textarea,.cm-quoteform form>input{margin-bottom:14px}
.cm-form input:focus,.cm-form textarea:focus,.modal-box input:focus,.modal-box textarea:focus,.cm-homeform-card input:focus,.cm-homeform-card textarea:focus,.cm-quoteform input:focus,.cm-quoteform textarea:focus{border-color:var(--cm-forest)}
textarea{resize:vertical}

/* Modal */
.modal-overlay{position:fixed;inset:0;background:rgba(13,36,26,.62);z-index:2000;display:none;align-items:center;justify-content:center;padding:22px}
.modal-overlay.on{display:flex}
.modal-box{background:#fff;border-radius:var(--cm-radius);max-width:560px;width:100%;padding:34px;position:relative;max-height:92vh;overflow-y:auto;border-top:5px solid var(--cm-amber)}
.modal-box h3{display:flex;align-items:center;gap:10px;font-size:20px;color:var(--cm-forest-ink);margin-bottom:8px}
.modal-box h3 i{color:var(--cm-terra)}
.modal-desc{font-size:13.5px;color:var(--cm-slate);margin-bottom:20px}
.modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:var(--cm-sand);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--cm-slate);transition:all .2s}
.modal-close:hover{background:var(--cm-terra);color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;font-size:14.5px;padding:13px 26px;border-radius:999px;border:none;cursor:pointer;transition:all .24s}
.btn-primary{background:var(--cm-amber);color:var(--cm-forest-ink)}
.btn-primary:hover{background:var(--cm-amber-deep)}

/* Success overlay */
.success-overlay{position:fixed;inset:0;background:rgba(13,36,26,.62);z-index:2100;display:flex;align-items:center;justify-content:center;padding:22px}
.success-box{background:#fff;border-radius:var(--cm-radius);padding:44px 40px;text-align:center;max-width:420px;border-top:5px solid var(--cm-forest)}
.success-icon i{font-size:52px;color:var(--cm-forest)}
.success-box h3{font-size:21px;color:var(--cm-forest-ink);margin:16px 0 8px}
.success-box p{color:var(--cm-slate);font-size:14px;margin-bottom:22px}

/* Toast */
.toast-notify{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:var(--cm-forest-ink);color:#fff;border-radius:999px;padding:13px 24px;display:flex;align-items:center;gap:16px;font-size:14px;z-index:2200;opacity:0;transition:all .3s;box-shadow:var(--cm-shadow)}
.toast-notify.show{opacity:1;transform:translate(-50%,0)}
.toast-notify a{color:var(--cm-amber);font-weight:700}

/* Paginación */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:44px;flex-wrap:wrap}
.pagination span,.pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 13px;border-radius:999px;border:1.5px solid var(--cm-line);background:#fff;color:var(--cm-ink);font-size:14px;font-weight:600;transition:all .22s}
.pagination span a{border:none;min-width:0;height:auto;padding:0;background:none}
.pagination a:hover{border-color:var(--cm-forest);color:var(--cm-forest)}
.pagination .current,.pagination span.current,.pagination span.active{background:var(--cm-forest);border-color:var(--cm-forest);color:#fff}
.pagination span.active a,.pagination span.current a{color:#fff;font-weight:800}
.pagination a:focus-visible{outline:3px solid var(--cm-amber);outline-offset:2px;border-color:var(--cm-forest);color:var(--cm-forest)}
.pagination span:has(> a:focus-visible){border-color:var(--cm-forest)}

/* WhatsApp flotante + volver arriba */
.wa-float{position:fixed;right:24px;bottom:96px;width:54px;height:54px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;z-index:1500;box-shadow:0 10px 26px rgba(37,211,102,.4);transition:transform .24s}
.wa-float:hover{transform:scale(1.08)}
.back-to-top{position:fixed;right:24px;bottom:32px;width:54px;height:54px;border-radius:50%;background:var(--cm-forest);color:#fff;display:flex;align-items:center;justify-content:center;z-index:1500;opacity:0;visibility:hidden;transition:all .28s;box-shadow:var(--cm-shadow)}
.back-to-top.show{opacity:1;visibility:visible}
.back-to-top:hover{background:var(--cm-forest-deep);color:var(--cm-amber)}

/* Barra móvil inferior */
.mobile-inquiry-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:1400;background:#fff;border-top:1.5px solid var(--cm-line);box-shadow:0 -8px 24px rgba(13,36,26,.12)}
.mib-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 6px;font-weight:800;font-size:13.5px}
.mib-quote{background:var(--cm-amber);color:var(--cm-forest-ink)}
.mib-call{background:var(--cm-forest);color:#fff}
.mib-wa{background:#25d366;color:#fff}

/* ============ FOOTER ============ */
.cm-footer{background:var(--cm-forest-ink);color:#bcd3c3;margin-top:0}
.cm-footer-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;background:linear-gradient(120deg,var(--cm-terra),var(--cm-amber));border-radius:var(--cm-radius);padding:38px 42px;color:var(--cm-forest-ink);transform:translateY(-46px);box-shadow:var(--cm-shadow)}
.cm-footer-cta-kicker{display:inline-flex;align-items:center;gap:9px;font-weight:800;font-size:13px;letter-spacing:.05em;text-transform:uppercase}
.cm-footer-cta h2{font-size:clamp(19px,2.5vw,26px);line-height:1.3;margin-top:10px;max-width:620px;color:#2b1a08}
.cm-footer-cta-actions{display:flex;gap:14px;flex-wrap:wrap}
.cm-footer-cta .cm-btn-amber{background:var(--cm-forest-ink);border-color:var(--cm-forest-ink);color:#fff}
.cm-footer-cta .cm-btn-amber:hover{background:#000;border-color:#000}
.cm-footer-cta .cm-btn-outline-light{border-color:rgba(43,26,8,.5);color:#2b1a08}
.cm-footer-cta .cm-btn-outline-light:hover{border-color:#2b1a08;color:#2b1a08}
.cm-footer-grid{display:grid;grid-template-columns:1.4fr .9fr .9fr 1.1fr;gap:44px;padding-bottom:52px}
.cm-footer-logo img{max-height:50px;width:auto;filter:brightness(0) invert(1)}
.cm-footer-about p{font-size:13.5px;line-height:1.7;margin:16px 0 20px}
.cm-footer-news label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#fff;margin-bottom:10px}
.cm-footer-news label i{color:var(--cm-amber)}
.cm-footer-news-row{display:flex;border-radius:999px;overflow:hidden;border:1.5px solid rgba(255,255,255,.25)}
.cm-footer-news-row input{flex:1;border:none;outline:none;background:rgba(255,255,255,.08);color:#fff;padding:11px 18px;font-family:inherit;font-size:13.5px}
.cm-footer-news-row input::placeholder{color:#8fae9a}
.cm-footer-news-row button{border:none;background:var(--cm-amber);color:var(--cm-forest-ink);font-weight:800;font-size:13px;padding:0 20px;cursor:pointer;transition:background .22s}
.cm-footer-news-row button:hover{background:var(--cm-amber-deep)}
.cm-footer-links{display:flex;flex-direction:column}
.cm-footer-links strong,.cm-footer-contact strong{display:block;color:#fff;font-size:15px;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--cm-terra);max-width:max-content}
.cm-footer-links a{display:flex;align-items:center;gap:9px;color:#bcd3c3;font-size:13.5px;padding:6px 0}
.cm-footer-links a i{color:var(--cm-amber);font-size:11px}
.cm-footer-links a:hover{color:var(--cm-amber)}
.cm-footer-contact{font-style:normal}
.cm-footer-contact a,.cm-footer-contact p{display:flex;align-items:flex-start;gap:11px;color:#bcd3c3;font-size:13.5px;padding:6px 0;margin:0}
.cm-footer-contact a:hover{color:var(--cm-amber)}
.cm-footer-contact i{color:var(--cm-amber);margin-top:3px}
.cm-footer-social{display:flex;gap:10px;margin-top:16px}
.cm-footer-social a{width:38px;height:38px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;transition:all .24s;padding:0}
.cm-footer-social a:hover{background:var(--cm-amber);border-color:var(--cm-amber);color:var(--cm-forest-ink)}
.cm-footer-contact .cm-footer-social i{color:inherit;margin-top:0}
.cm-footer-social a:hover i{color:var(--cm-forest-ink)}
.cm-footer-legalbar{border-top:1px solid rgba(255,255,255,.12)}
.cm-footer-legalbar-in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;font-size:12.5px;flex-wrap:wrap}
.cm-footer-legalbar a{color:#bcd3c3}
.cm-footer-legalbar a:hover{color:var(--cm-amber)}
.cm-dot{margin:0 8px;color:#5c7a67}

/* ============ CONTENIDO EDITOR ============ */
.detail-content{line-height:1.8;color:var(--cm-ink)}
.detail-content h2,.detail-content h3,.detail-content h4{color:var(--cm-forest-ink);margin:26px 0 12px;line-height:1.35}
.detail-content p{margin-bottom:14px}
.detail-content img{border-radius:var(--cm-radius-sm);margin:14px 0}
.detail-content ul,.detail-content ol{margin:0 0 16px 22px}
.detail-content ul{list-style:disc}
.detail-content ol{list-style:decimal}
.detail-content a{text-decoration:underline}
.detail-content blockquote{border-left:4px solid var(--cm-amber);background:var(--cm-sand);padding:16px 22px;border-radius:0 var(--cm-radius-sm) var(--cm-radius-sm) 0;margin:18px 0}
.cm-tablewrap{overflow-x:auto;margin:18px 0}
.detail-content table{width:100%;border-collapse:collapse;font-size:14px}
.detail-content table th,.detail-content table td{border:1px solid var(--cm-line);padding:11px 15px;text-align:left}
.detail-content table th{background:var(--cm-sand);color:var(--cm-forest-ink)}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .cm-hero-in{grid-template-columns:1fr;gap:40px}
  .cm-ribbon-in{grid-template-columns:repeat(2,1fr)}
  .cm-prodgrid{grid-template-columns:repeat(2,1fr)}
  .cm-fabsplit,.cm-certsplit,.cm-homeform,.cm-catalogsplit{grid-template-columns:1fr;gap:40px}
  .cm-pdp-grid{grid-template-columns:1fr}
  .cm-pdp-detail,.cm-contactwrap,.cm-faqlayout{grid-template-columns:1fr}
  .cm-pdp-rail,.cm-contactside,.cm-faqside,.cm-catalogcard{position:static}
  .cm-statboard{grid-template-columns:repeat(2,1fr)}
  .cm-pillars{grid-template-columns:repeat(2,1fr)}
  .cm-capstrip{grid-template-columns:repeat(2,1fr)}
  .cm-certwall{grid-template-columns:repeat(3,1fr)}
  .cm-channels{grid-template-columns:repeat(2,1fr)}
  .cm-tagtop{grid-template-columns:repeat(3,1fr)}
  .cm-bigsearch{display:none}
  .cm-navsearch{display:inline-flex;align-items:center;justify-content:center}
}
@media (max-width:960px){
  .cm-utility-msg{display:none}
  .cm-utility-in{justify-content:center}
  .cm-utility-list{gap:16px;flex-wrap:wrap;justify-content:center}
  .cm-utility-list li{white-space:nowrap}
  .cm-nav{display:none}
  .cm-burger{display:flex}
  .cm-navband-in{justify-content:flex-end}
  .cm-phonechip{display:none}
  .cm-chipbarwrap{top:0}
}
@media (max-width:760px){
  .cm-utility-list li:first-child{display:none}
  .cm-shell{width:calc(100% - 32px)}
  .cm-sec{padding:52px 0}
  .cm-sechead{margin-bottom:28px}
  .cm-ribbon-in{grid-template-columns:1fr}
  .cm-prodgrid,.cm-newsdeck,.cm-newsdeck-page,.cm-solboard,.cm-faqcols{grid-template-columns:1fr}
  .cm-certwall{grid-template-columns:repeat(2,1fr)}
  .cm-certrow{grid-template-columns:repeat(2,1fr)}
  .cm-channels,.cm-statboard,.cm-pillars,.cm-capstrip,.cm-tagtop{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .cm-zigstep,.cm-zigstep:nth-child(even){flex-direction:column;text-align:center;gap:18px}
  .cm-solrow{flex-direction:column;align-items:flex-start;gap:12px}
  .cm-solrow-go{display:none}
  .cm-searchitem{flex-direction:column;align-items:stretch}
  .cm-searchitem-media{width:100%}
  .cm-searchitem-meta{flex-direction:row;align-items:center;justify-content:space-between}
  .cm-pager{grid-template-columns:1fr}
  .cm-pager-next{text-align:left}
  .cm-qitem{flex-wrap:wrap}
  .cm-qitem h3{width:100%;flex:auto}
  .cm-footer-grid{grid-template-columns:1fr;gap:34px}
  .cm-footer-cta{padding:28px;transform:translateY(-30px)}
  .cm-legalbox{padding:26px 22px}
  .cm-clstep{gap:16px}
  .cm-centerline::before{left:23px}
  .cm-clstep-dot{width:48px;height:48px;font-size:14px}
  .mobile-inquiry-bar{display:flex}
  .wa-float{display:none}
  .back-to-top{bottom:76px}
  body.construmaq-theme{padding-bottom:52px}
  .cm-pageintro-in{align-items:flex-start;flex-direction:column}
}
