/* conchouso-landing.css v2.0.0 — KIT DE COMPONENTES para landings de servicio.
   Reutiliza el lenguaje visual de la home (tokens de conchouso.css) pero en
   componentes ESTÁTICOS con fundido (sin scroll-hijack). Scoped a .cc-landing /
   secciones cc-l*. NO toca la home. Instrument Serif solo marca (nav/footer). */

/* ============ base tipografía cuerpo ============ */
.cc-landing .elementor-widget-text-editor{color:var(--fg-muted);font-size:1.06rem;line-height:1.72}
.cc-landing .elementor-widget-text-editor p{max-width:64ch;margin:0 0 1.05rem}
.cc-landing .elementor-widget-text-editor p:last-child{margin-bottom:0}
.cc-landing .elementor-widget-heading .elementor-heading-title{font-weight:500;letter-spacing:-.02em;line-height:1.12;color:var(--fg)}
.cc-landing h2.elementor-heading-title{font-size:clamp(1.7rem,3.4vw,2.7rem);margin-bottom:1.3rem;max-width:24ch}
.cc-landing h3{font-size:clamp(1.2rem,2vw,1.55rem);font-weight:500;letter-spacing:-.015em;line-height:1.2;color:var(--fg);margin:1.9rem 0 .7rem;max-width:34ch}
.cc-landing h3:first-child{margin-top:0}
.cc-landing .elementor-widget-text-editor strong{color:var(--fg);font-weight:600}
.cc-landing .elementor-widget-text-editor a{color:var(--fg);text-decoration:none;background:linear-gradient(var(--line-hover),var(--line-hover)) 0 1.15em/100% 1px no-repeat;transition:background-size .25s var(--ease)}
.cc-landing .elementor-widget-text-editor a:hover{background-image:linear-gradient(var(--fg),var(--fg))}

/* listas */
.cc-landing .elementor-widget-text-editor ul,.cc-landing .elementor-widget-text-editor ol{max-width:64ch;margin:0 0 1.15rem;padding-left:0;list-style:none}
.cc-landing .elementor-widget-text-editor ol{counter-reset:cc-ol}
.cc-landing .elementor-widget-text-editor li{position:relative;padding-left:1.6rem;margin:0 0 .7rem;line-height:1.62;color:var(--fg-muted)}
.cc-landing .elementor-widget-text-editor ul>li::before{content:"";position:absolute;left:0;top:.62em;width:.42rem;height:.42rem;background:var(--accent);transform:rotate(45deg)}
:root[data-theme="light"] .cc-landing ul>li::before{background:var(--fg-dim)}
.cc-landing .elementor-widget-text-editor ol>li{counter-increment:cc-ol}
.cc-landing .elementor-widget-text-editor ol>li::before{content:counter(cc-ol,decimal-leading-zero);position:absolute;left:0;top:.05em;font-size:.8rem;font-weight:600;color:var(--fg-dim);font-variant-numeric:tabular-nums}
.cc-landing li p{display:inline;margin:0;max-width:none}

/* ============ botones (clon home) ============ */
.cc-landing .elementor-button{font-size:.85rem;letter-spacing:.04em;padding:.95rem 1.7rem;border:1px solid var(--line-hover);border-radius:0;background:none;color:var(--fg);font-weight:400;transition:background .28s var(--ease),color .2s var(--ease)}
.cc-landing .cc-btn--fill .elementor-button{background:var(--fill-bg);color:var(--fill-fg);border-color:var(--fill-bg)}
.cc-landing .cc-btn--fill .elementor-button:hover{opacity:.88}
.cc-landing .cc-btn--alert .elementor-button{background:var(--alert);color:var(--on-alert);border:0;text-transform:uppercase;font-size:.82rem;letter-spacing:.08em;font-weight:500;padding:1rem 1.5rem}

/* fundido de entrada */
.cc-fade{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.cc-fade.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.cc-fade{opacity:1;transform:none;transition:none}}

/* container de sección de cuerpo = LA JAULA (igual que la home: --max + --pad, alineado con el nav) */
.cc-landing.cc-pad>.elementor-container{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.cc-lbody>.elementor-container{padding-top:calc(var(--sec)*.5);padding-bottom:0}
/* medida de lectura para el texto de cuerpo (la jaula es ancha; el texto no) */
.cc-lbody .elementor-widget-heading .elementor-heading-title{max-width:22ch}

/* ============ HERO interior con imagen de fondo (con AIRE) ============ */
.cc-lhero{position:relative;overflow:hidden;min-height:clamp(34rem,80vh,52rem);display:flex;align-items:flex-end}
.cc-lhero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(78deg,rgba(8,8,10,.88),rgba(8,8,10,.50) 46%,rgba(8,8,10,.18) 78%),linear-gradient(0deg,rgba(8,8,10,.92),rgba(8,8,10,.22) 46%,rgba(8,8,10,.04)),linear-gradient(180deg,rgba(8,8,10,.50),rgba(8,8,10,0) 20%)}
.cc-lhero>.elementor-container{position:relative;z-index:2;max-width:var(--max);margin:0 auto;width:100%;padding:calc(var(--sec)*1.1) var(--pad) calc(var(--sec)*.85);display:block}
/* CTAs del hero en UNA fila */
.cc-lhero .cc-lctas>.elementor-container{padding:0;display:block}
.cc-lhero .cc-lctas .elementor-column>.elementor-widget-wrap{flex-direction:row;flex-wrap:wrap;gap:1rem;align-items:center}
.cc-lhero .cc-lctas .cc-hbtn{margin:0}
.cc-lhero .cc-lctas .cc-hbtn .elementor-button{width:auto}
.cc-lhero .cc-crumb{color:#CFCDC8;margin-bottom:2rem}
.cc-lhero .cc-crumb a{color:#CFCDC8}
.cc-lhero h1.elementor-heading-title{font-size:clamp(2.4rem,5.4vw,4.6rem);font-weight:500;letter-spacing:-.04em;line-height:1.03;max-width:15ch;color:#F5F3EF;text-shadow:0 2px 34px rgba(0,0,0,.5)}
.cc-lhero .cc-lead{margin-top:1.8rem}
.cc-lhero .cc-lead p{font-size:1.22rem;line-height:1.5;color:#E4E2DD;max-width:44ch;text-shadow:0 1px 18px rgba(0,0,0,.65);margin:0}
.cc-lhero .cc-lctas{margin-top:2.6rem}

/* breadcrumb */
.cc-crumb{font-size:.74rem;letter-spacing:.06em;color:var(--fg-dim);margin-bottom:1.5rem;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.cc-crumb a{color:var(--fg-dim);text-decoration:none;transition:opacity .2s}.cc-crumb a:hover{opacity:.7}
.cc-crumb span[aria-hidden]{opacity:.5}

/* ============ SPLIT texto + imagen ============ */
.cc-lsplit>.elementor-container{max-width:82rem;display:flex;align-items:center;gap:clamp(2rem,5vw,5rem)}
.cc-lsplit>.elementor-container>.elementor-column:first-child{flex:1 1 54%}
.cc-lsplit>.elementor-container>.elementor-column:last-child{flex:1 1 46%}
.cc-lsplit--rev>.elementor-container{flex-direction:row-reverse}
.cc-lsplit .cc-limg .elementor-widget-container,.cc-lsplit .cc-limg{position:relative}
.cc-lsplit .cc-limg img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);border-radius:22px;display:block;filter:saturate(.92) contrast(1.02)}
@media(max-width:840px){.cc-lsplit>.elementor-container{flex-direction:column;align-items:stretch}.cc-lsplit .cc-limg img{aspect-ratio:16/10}}

/* ============ PANEL (tablas destacadas) ============ */
.cc-lpanel>.elementor-container{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.cc-lpanel .elementor-widget-wrap.elementor-element-populated{max-width:62rem}
.cc-lpanel .elementor-widget-wrap.elementor-element-populated{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:clamp(1.6rem,3.2vw,2.8rem)}
.cc-lpanel .elementor-widget-heading .elementor-heading-title{font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:1.1rem;max-width:30ch}
.cc-lpanel .elementor-widget-text-editor p{max-width:none}
.cc-lpanel .elementor-widget-text-editor>p:first-child{margin-top:0}

/* ============ TABLAS ============ */
.cc-landing table{width:100%;border-collapse:collapse;margin:1.4rem 0 .4rem;font-size:.97rem;line-height:1.5}
.cc-landing table:first-child{margin-top:0}
.cc-landing thead th{text-align:left;font-weight:600;color:var(--fg);font-size:.73rem;letter-spacing:.09em;text-transform:uppercase;padding:.8rem 1.05rem;border-bottom:2px solid var(--line-hover);vertical-align:bottom}
.cc-landing tbody td{padding:.85rem 1.05rem;border-bottom:1px solid var(--line);color:var(--fg-muted);vertical-align:top}
.cc-landing tbody tr:last-child td{border-bottom:0}
.cc-landing tbody td:first-child{color:var(--fg);font-weight:500}
.cc-landing table th:first-child,.cc-landing table td:first-child{padding-left:0}
.cc-landing table th:last-child,.cc-landing table td:last-child{padding-right:0}
@media(max-width:640px){.cc-landing table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;font-size:.9rem}.cc-landing th,.cc-landing td{white-space:normal;min-width:9rem}}

/* ============ IMAGE BAND (corte visual, estilo reveal) ============ */
.cc-lband{position:relative;overflow:hidden;min-height:clamp(20rem,42vh,28rem);display:flex;align-items:center}
.cc-lband::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,8,10,.82),rgba(8,8,10,.44) 46%,rgba(8,8,10,.08) 72%)}
.cc-lband>.elementor-container{position:relative;z-index:2;max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.cc-lband .cc-bandtext p,.cc-lband .cc-bandtext .elementor-heading-title{font-size:clamp(1.5rem,3.2vw,2.7rem);font-weight:500;letter-spacing:-.02em;line-height:1.16;color:#F5F3EF;max-width:24ch;text-shadow:0 2px 26px rgba(0,0,0,.5);margin:0}
.cc-lband .cc-bandlabel{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:#CFCDC8;margin-bottom:1rem}

/* ============ GRID de áreas/hijas (hubs) ============ */
.cc-lgrid>.elementor-container{max-width:var(--max);margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.cc-lgrid .cc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:clamp(1rem,2vw,1.6rem);margin-top:2.4rem;list-style:none;padding:0}
.cc-lgrid .cc-card{position:relative;display:block;aspect-ratio:3/4;border:1px solid var(--line);border-radius:22px;overflow:hidden;text-decoration:none;background:var(--panel)}
.cc-lgrid .cc-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease);filter:saturate(.9) contrast(1.02)}
.cc-lgrid .cc-card:hover img{transform:scale(1.04)}
.cc-lgrid .cc-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(8,8,10,.15),rgba(8,8,10,.20) 40%,rgba(8,8,10,.78))}
.cc-lgrid .cc-card__t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.3rem 1.4rem}
.cc-lgrid .cc-card__t b{display:block;color:#F5F3EF;font-size:1.15rem;font-weight:500;letter-spacing:-.01em;line-height:1.15}
.cc-lgrid .cc-card__t span{display:block;color:#CFCDC8;font-size:.82rem;margin-top:.35rem}
.cc-lgrid .cc-card__go{position:absolute;top:1.1rem;right:1.2rem;z-index:2;color:#F5F3EF;opacity:.75;font-size:1rem}

/* ============ FAQ accordion ============ */
.cc-faq .cc-acc .elementor-accordion-title{font-size:1.05rem;font-weight:500;color:var(--fg)}

/* ============ CONTACTO band ============ */
.cc-lcontact{position:relative;overflow:hidden}
.cc-lcontact::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,8,10,.88),rgba(8,8,10,.55) 50%,rgba(8,8,10,.25))}
.cc-lcontact>.elementor-container{position:relative;z-index:2;max-width:78rem;padding-top:var(--sec);padding-bottom:var(--sec)}
.cc-lcontact h2.elementor-heading-title{font-size:clamp(1.9rem,3.6vw,2.9rem);max-width:20ch;color:#F5F3EF}
.cc-lcontact .elementor-widget-text-editor{color:#DCDAD5}
.cc-lcontact .elementor-widget-text-editor a{color:#fff}
.cc-lcontact .cc-lcta .elementor-button{background:var(--fill-bg);color:var(--fill-fg);border-color:var(--fill-bg)}

/* about-grid / facts (refuerzo para landings; la home ya trae cc-* base) */
.cc-landing.cc-about-grid>.elementor-container{gap:clamp(1.5rem,3vw,3.5rem);align-items:center;flex-wrap:nowrap}
@media(max-width:767px){.cc-landing.cc-about-grid>.elementor-container{flex-wrap:wrap}}
.cc-landing .cc-portrait{max-width:100%}
.cc-landing .cc-facts{display:flex;flex-wrap:wrap;gap:clamp(1.6rem,3vw,3rem);margin-top:2.6rem}
.cc-landing .cc-facts .fact{display:flex;flex-direction:column}
.cc-landing .cc-facts .fact__k{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-dim)}
.cc-landing .cc-facts .fact__v{font-size:clamp(1.2rem,2vw,1.6rem);font-weight:500;margin-top:.5rem;letter-spacing:-.01em;color:var(--fg)}
.cc-landing .cc-arow p.arow__v{color:var(--fg-muted);font-size:1.04rem;line-height:1.7;max-width:60ch;margin:0}
.cc-landing.cc-about-grid .cc-arow{padding:1.4rem 0;border-top:1px solid var(--line)}
.cc-landing.cc-about-grid .cc-statement .elementor-heading-title{max-width:18ch}

/* trust strip = UNA fila dentro de la jaula (grid, no wrap) */
.cc-landing.cc-trust>.elementor-container{max-width:var(--max);margin:0 auto;width:100%;padding:calc(var(--sec)*.32) var(--pad);display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem 2.5rem;align-items:start}
.cc-landing.cc-trust .elementor-column{width:auto!important;flex:unset!important;display:block}
@media(max-width:860px){.cc-landing.cc-trust>.elementor-container{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.cc-landing.cc-trust>.elementor-container{grid-template-columns:1fr}}

/* stat figures (si se usan) */
.cc-lstats .cc-facts{display:flex;flex-wrap:wrap;gap:clamp(2rem,5vw,4.5rem);margin-top:.5rem;list-style:none;padding:0}
.cc-lstats .cc-fact b{display:block;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:500;letter-spacing:-.01em;color:var(--fg)}
.cc-lstats .cc-fact span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-dim);margin-top:.5rem;max-width:20ch}
