/* Contacto — page-specific styles */
.section-label--light{color:var(--amber-light);}
.fd2{transition-delay:.1s;}.fd3{transition-delay:.2s;}.fd4{transition-delay:.3s;}

/* HERO */
.ct-hero{
  position:relative;background:var(--carbon);
  padding:7rem 2rem 5rem;
  display:flex;align-items:flex-end;
  overflow:hidden;
}
.ct-hero::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 900px 600px at 100% 0%, rgba(58,107,53,.08), transparent);
}
.ct-hero__inner{max-width:var(--container);margin:0 auto;width:100%;position:relative;z-index:1;}
.ct-hero__eyebrow{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--amber-light);margin-bottom:1.1rem;}
.ct-hero h1{color:white;margin-bottom:.9rem;}
.ct-hero h1 em{font-style:italic;color:var(--amber-light);}
.ct-hero__sub{font-size:clamp(.95rem,1.8vw,1.1rem);font-weight:300;color:rgba(255,255,255,.6);max-width:520px;}

/* CANALES RÁPIDOS */
.ct-channels{background:var(--carbon);border-top:1px solid rgba(255,255,255,.07);padding-bottom:3rem;}
.ct-channels__inner{max-width:var(--container);margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;}
.ct-channel{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:1.6rem 1.8rem;display:flex;flex-direction:column;gap:.5rem;transition:background .3s,border-color .3s;text-decoration:none;}
.ct-channel:hover{background:rgba(255,255,255,.09);border-color:rgba(196,129,61,.3);}
.ct-channel__icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:.4rem;}
.ct-channel__icon svg{width:20px;height:20px;fill:none;stroke-width:1.8;stroke-linecap:round;}
.icon-wa{background:rgba(37,211,102,.12);}.icon-wa svg{stroke:#25D366;}
.icon-mail{background:rgba(196,129,61,.12);}.icon-mail svg{stroke:var(--amber);}
.icon-tel{background:rgba(74,138,158,.12);}.icon-tel svg{stroke:#4a8a9e;}
.ct-channel__label{font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--stone-light);}
.ct-channel__value{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:white;line-height:1.15;}
.ct-channel__hint{font-size:.75rem;color:var(--stone);margin-top:.2rem;}

/* GRID PRINCIPAL */
.ct-main{background:var(--cream);}
.ct-main__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:5rem;align-items:start;}

/* FORMULARIO */
.ct-form-wrap h2{margin-bottom:.5rem;}
.ct-form-wrap h2 em{font-style:italic;color:var(--selva);}
.ct-form-wrap > p{font-size:.92rem;color:var(--stone);margin-bottom:2rem;line-height:1.7;}
.ct-form{display:flex;flex-direction:column;gap:1.2rem;}
.ct-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.ct-field{display:flex;flex-direction:column;gap:.4rem;}
.ct-field label{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stone);}
.ct-field input,.ct-field select,.ct-field textarea{background:white;border:1.5px solid var(--cream-dark);border-radius:4px;padding:.75rem 1rem;color:var(--carbon);font-family:var(--font-body);font-size:.9rem;outline:none;transition:border-color .25s;width:100%;-webkit-appearance:none;}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{border-color:var(--selva);}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:var(--stone-light);}
.ct-field textarea{resize:vertical;min-height:130px;line-height:1.6;}
.ct-field select option{color:var(--carbon);}
.ct-field.is-error input,.ct-field.is-error select,.ct-field.is-error textarea{border-color:var(--copper);}
.ct-field__error{display:none;font-size:.72rem;color:var(--copper);line-height:1.4;}
.ct-field.is-error .ct-field__error{display:block;}
.ct-form__honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;white-space:nowrap!important;}
.ct-form__submit{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;background:var(--selva);color:white;font-family:var(--font-body);font-size:.875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.9rem 2.5rem;border-radius:4px;transition:background .3s,transform .25s,opacity .25s;border:none;cursor:pointer;align-self:flex-start;}
.ct-form__submit:hover{background:var(--selva-deep);transform:translateY(-1px);}
.ct-form__submit:disabled{opacity:.7;cursor:not-allowed;transform:none;}
.ct-form__submit svg{width:16px;height:16px;stroke:white;fill:none;stroke-width:2.2;}
.ct-form__note{font-size:.75rem;color:var(--stone-light);margin-top:.5rem;line-height:1.5;}
.ct-form__alert{display:none;margin-bottom:1rem;padding:.9rem 1rem;border-radius:6px;font-size:.82rem;line-height:1.5;}
.ct-form__alert.is-visible{display:block;}
.ct-form__alert--error{background:rgba(176,108,46,.09);border:1px solid rgba(176,108,46,.22);color:var(--copper);}

/* Estado enviado */
.ct-form__success{display:none;background:rgba(58,107,53,.07);border:1px solid rgba(58,107,53,.2);border-radius:8px;padding:2rem;text-align:center;}
.ct-form__success.is-visible{display:block;}
.ct-form__success svg{width:40px;height:40px;stroke:var(--selva);fill:none;stroke-width:1.5;margin:0 auto 1rem;}
.ct-form__success h3{font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:var(--selva-deep);margin-bottom:.5rem;}
.ct-form__success p{font-size:.88rem;color:var(--stone);}

/* INFO LATERAL */
.ct-info__block{margin-bottom:2rem;}
.ct-info__block:last-child{margin-bottom:0;}
.ct-info__block h3{font-family:var(--font-body);font-size:.88rem;font-weight:700;color:var(--carbon);margin-bottom:1rem;padding-bottom:.6rem;border-bottom:1px solid var(--cream-dark);}
.ct-info__row{display:flex;align-items:flex-start;gap:.7rem;margin-bottom:.8rem;}
.ct-info__row:last-child{margin-bottom:0;}
.ct-info__row svg{width:15px;height:15px;stroke:var(--selva);fill:none;stroke-width:1.8;flex-shrink:0;margin-top:.25rem;}
.ct-info__row-body p{font-size:.85rem;color:var(--stone);line-height:1.5;}
.ct-info__row-body a{color:var(--selva);font-weight:600;}
.ct-info__row strong{font-size:.82rem;font-weight:700;color:var(--carbon);display:block;margin-bottom:.1rem;}
.ct-info__whatsapp-copy{font-size:.85rem;color:var(--stone);margin-bottom:.5rem;}

/* Checkin strip */
.ct-checkin{background:white;border:1px solid var(--cream-dark);border-radius:8px;padding:1.3rem 1.5rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem;}
.ct-checkin__item{text-align:center;}
.ct-checkin__label{font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--stone-light);margin-bottom:.3rem;}
.ct-checkin__time{font-family:var(--font-display);font-size:1.6rem;font-weight:400;color:var(--carbon);}
.ct-checkin__sub{font-size:.72rem;color:var(--stone-light);margin-top:.1rem;}

/* Botón WhatsApp grande */
.ct-wa-btn{display:flex;align-items:center;gap:.9rem;background:#25D366;color:white;border-radius:8px;padding:1.2rem 1.6rem;margin-top:1.5rem;transition:background .25s,transform .25s;font-weight:600;}
.ct-wa-btn:hover{background:#1fb855;transform:translateY(-2px);}
.ct-wa-btn svg{width:24px;height:24px;fill:white;flex-shrink:0;}
.ct-wa-btn-text strong{display:block;font-size:.9rem;}
.ct-wa-btn-text span{font-size:.75rem;opacity:.8;}

/* MAPA */
.ct-map{background:var(--carbon-soft);}
.ct-map__inner{max-width:var(--container);margin:0 auto;padding:0 2rem;}
.ct-map__header{text-align:center;margin-bottom:2.5rem;}
.ct-map__header h2{color:white;}
.ct-map__header h2 em{font-style:italic;color:var(--amber-light);}
.ct-map__header p{color:rgba(255,255,255,.55);font-size:.92rem;margin-top:.6rem;}
.ct-map__frame{border-radius:8px;overflow:hidden;height:420px;border:1px solid rgba(255,255,255,.08);background:var(--carbon);}
.ct-map__frame iframe{width:100%;height:100%;border:0;}

/* RESPONSIVE */
@media(max-width:1024px){
  .ct-main__grid{grid-template-columns:1fr;gap:3rem;}
  .ct-channels__inner{grid-template-columns:1fr 1fr;}
  .ct-channels__inner > :last-child{grid-column:1/-1;max-width:380px;}
}
@media(max-width:768px){
  .ct-channels__inner{grid-template-columns:1fr;}
  .ct-channels__inner > :last-child{max-width:100%;grid-column:auto;}
  .ct-form__row{grid-template-columns:1fr;}
  .ct-form__submit{width:100%;justify-content:center;}
  .ct-map__frame{height:280px;}
}
