/* Módulo y ajustes de unión entre secciones sólo cuando está activo. */
#cr-campaigns{--crc-rose:#f49abb;--crc-gold:#dec29c;--crc-line:#59404e;background:#181a20;color:#f8fafc;padding:24px 0;scroll-margin-top:110px;font-family:'Plus Jakarta Sans',Arial,sans-serif}
#cr-campaigns[hidden]{display:none!important}
#cr-campaigns *,#cr-campaigns *::before,#cr-campaigns *::after{box-sizing:border-box}
#cr-campaigns .crc-shell{width:min(1152px,calc(100% - 48px));margin-inline:auto}
#cr-campaigns .crc-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
#cr-campaigns .crc-kicker{margin:0 0 8px;color:#c5a880;text-transform:uppercase;letter-spacing:.16em;font-size:10px;line-height:1.6;font-weight:700}
#cr-campaigns h2{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:clamp(25px,2.6vw,35px);font-weight:500;line-height:1.25;letter-spacing:-.025em}
#cr-campaigns .crc-tabs{display:flex;flex-wrap:wrap;gap:8px;flex-shrink:0}
#cr-campaigns .crc-tab{appearance:none;background:transparent;border:1px solid #444652;border-radius:999px;color:#d7dbe3;padding:12px 15px;font:500 12px/1.35 'Plus Jakarta Sans',Arial,sans-serif;cursor:pointer;min-height:44px;transition:background .18s,color .18s,border-color .18s}
#cr-campaigns .crc-tab span{opacity:.6;margin-right:5px;font-size:10px}
#cr-campaigns .crc-tab:hover{border-color:#e17a9f;color:white}
#cr-campaigns .crc-tab[aria-selected="true"]{background:#d12b5e;border-color:#d12b5e;color:#fff}
#cr-campaigns .crc-tab[data-crc-tab="halloween"][aria-selected="true"]{background:#c5a880;border-color:#c5a880;color:#19191d}
#cr-campaigns .crc-stage{display:block;isolation:isolate}
#cr-campaigns .crc-panel{display:grid;grid-template-columns:minmax(0,61fr) minmax(0,39fr);border:1px solid var(--crc-line);border-radius:20px;background:#28202a;overflow:hidden;align-items:stretch;min-width:0}
/* La imagen determina el alto. La campaña inactiva no reserva espacio. */
#cr-campaigns .crc-panel[inert]{display:none}
#cr-campaigns .crc-panel[data-crc-disabled]{display:none}
#cr-campaigns .crc-art{min-width:0;display:block}
#cr-campaigns .crc-art img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border:0;border-radius:0}
#cr-campaigns .crc-copy{contain:size;align-self:stretch;display:flex;flex-direction:column;justify-content:center;justify-content:safe center;padding:20px 24px;min-width:0}
#cr-campaigns .crc-eyebrow{color:var(--crc-rose);font-size:11px;line-height:1.5;letter-spacing:.09em;text-transform:uppercase;font-weight:700;margin:0 0 8px}
#cr-campaigns h3{margin:0 0 10px;font:500 32px/1.12 'Playfair Display',Georgia,serif;letter-spacing:-.035em;color:#fff}
#cr-campaigns .crc-description{margin:0 0 20px;color:#d5ced5;font-size:14px;line-height:1.6;max-width:36em}
#cr-campaigns .crc-offer{display:flex;align-items:center;gap:14px;margin:10px 0;padding:0;border:0}
#cr-campaigns .crc-offer>strong{font:500 44px/1 'Playfair Display',Georgia,serif;color:#ffb4d1;letter-spacing:-.06em;white-space:nowrap}
#cr-campaigns .crc-offer>strong>span{font-size:28px;letter-spacing:-.02em}
#cr-campaigns .crc-offer>p{margin:0;font-size:14px;line-height:1.45;font-weight:600}
#cr-campaigns .crc-offer>p>span{font-size:12px;font-weight:400;color:#d5ced5}
#cr-campaigns .crc-studies{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:4px}
#cr-campaigns .crc-studies li{font-size:13px;color:#efdee7;line-height:1.5;position:relative;padding-left:16px}
#cr-campaigns .crc-studies li::before{content:'';width:5px;height:5px;background:#f49abb;border-radius:50%;position:absolute;left:0;top:.55em}
#cr-campaigns .crc-cta{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:12px 16px;border-radius:9px;background:#d12b5e;color:#fff;text-decoration:none;font-size:13px;line-height:1.5;font-weight:700;transition:background .18s;max-width:360px;flex-shrink:0}
#cr-campaigns .crc-cta:hover{background:#ad1e4b;color:#fff}
#cr-campaigns .crc-cta>span[aria-hidden]{font-size:20px;line-height:1}
#cr-campaigns .crc-terms{margin:10px 0 0;font-size:12px;line-height:1.5;color:#c2b7c1}
#cr-campaigns .crc-panel--halloween{grid-template-columns:minmax(0,65fr) minmax(0,35fr);background:#242021;border-color:#584935}
#cr-campaigns .crc-panel--halloween .crc-eyebrow{color:var(--crc-gold)}
#cr-campaigns .crc-panel--halloween .crc-cta{background:#c5a880;color:#17191e}
#cr-campaigns .crc-panel--halloween .crc-cta:hover{background:#e0c29c}
#cr-campaigns :is(button,a,[role="tabpanel"]):focus-visible{outline:3px solid #fff;outline-offset:5px}
#cr-campaigns [role="tabpanel"]:focus-visible{outline-offset:3px}
#cr-campaigns .crc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#cr-campaigns .crc-tab[hidden]{display:none!important}
#cr-campaigns .crc-tabs[hidden]{display:none!important}
/* Si el contenido necesita más alto, conservar las dos columnas de escritorio.
   Cada imagen conserva su propio marco, sin bandas ni recortes. */
#cr-campaigns .crc-panel--flow{grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:20px;align-items:center;border:0;border-radius:0;background:transparent;overflow:visible}
#cr-campaigns .crc-panel--flow .crc-art{border-radius:18px;overflow:hidden}
#cr-campaigns .crc-panel--flow .crc-copy{contain:none;align-self:auto;padding:16px 12px}
.crc-campaigns-active #inicio.hero{min-height:0;padding-bottom:24px}
.crc-campaigns-active #servicios.services-section{padding-top:40px}
@media(max-width:1050px){#cr-campaigns .crc-topline{align-items:flex-start;flex-direction:column;gap:16px}#cr-campaigns h3{font-size:28px}#cr-campaigns .crc-copy{padding:18px}#cr-campaigns .crc-offer{gap:10px}}
@media(max-width:760px){
 #cr-campaigns{padding:16px 0}
 #cr-campaigns .crc-shell{width:calc(100% - 32px)}
 #cr-campaigns .crc-topline{gap:16px;margin-bottom:16px}
 #cr-campaigns .crc-kicker{display:none}
 #cr-campaigns h2{font-size:25px;line-height:1.25;max-width:22ch}
 #cr-campaigns .crc-panel{grid-template-columns:1fr;border-radius:16px}
 #cr-campaigns .crc-copy,#cr-campaigns .crc-panel--flow .crc-copy{contain:none;align-self:auto;padding:20px}
 #cr-campaigns h3{font-size:30px;line-height:1.15;margin-bottom:12px}
 #cr-campaigns .crc-eyebrow{font-size:11px;line-height:1.6;letter-spacing:.07em}
 #cr-campaigns .crc-description{font-size:14px;line-height:1.65}
 #cr-campaigns .crc-offer{gap:12px;margin:10px 0 14px}
 #cr-campaigns .crc-offer>p{font-size:14px}
 #cr-campaigns .crc-offer>p>span{font-size:12px;line-height:1.5}
 #cr-campaigns .crc-studies{gap:6px;margin-bottom:16px}
 #cr-campaigns .crc-studies li{font-size:14px;line-height:1.5}
 #cr-campaigns .crc-terms{font-size:13px;line-height:1.6;margin-top:12px}
 #cr-campaigns .crc-panel--flow{gap:0;border:1px solid var(--crc-line);overflow:hidden;background:#28202a}
 #cr-campaigns .crc-panel--flow .crc-art{border-radius:0}
 #cr-campaigns .crc-panel--halloween,#cr-campaigns .crc-panel--halloween.crc-panel--flow{background:#242021;border-color:#584935}
 #cr-campaigns .crc-cta{width:100%;max-width:none;min-height:48px;font-size:14px;line-height:1.5;padding:13px 16px}
 #cr-campaigns .crc-tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:8px}
 #cr-campaigns .crc-tab{min-width:0;min-height:48px;height:auto;white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.4;padding:10px;border-radius:12px}
 #cr-campaigns .crc-tab span{display:none}
 .crc-campaigns-active #inicio.hero{padding-bottom:16px}
 .crc-campaigns-active #servicios.services-section{padding-top:32px}
}
@media(prefers-reduced-motion:reduce){#cr-campaigns *,#cr-campaigns *::before,#cr-campaigns *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

#cr-campaigns h3,#cr-campaigns .crc-offer>p{white-space:pre-line}
#cr-campaigns .crc-offer>strong{font-size:44px}

/* El nombre completo debe caber en la barra fija también en teléfonos pequeños. */
@media(max-width:760px){
 #main-header #logo-link{font-size:clamp(18px,5vw,24px);line-height:1.25;min-width:0;max-width:calc(100% - 64px)}
 #main-header #mobile-menu-btn{flex-shrink:0;min-width:44px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center}
 #main-header #mobile-menu-btn span{margin:3px 0}
}
