/*
Theme Name: Casa F Child
Theme URI: https://casaf.cl
Description: Child theme de Hello Elementor con Design System v2 de Casa F (Bricolage Grotesque + paleta marino/teal/rosa).
Author: SMX Estudio
Author URI: https://socialmix.cl
Template: hello-elementor
Version: 2.18.0
Text Domain: casaf-child
*/

/* ============================================================
   CASA F — DESIGN SYSTEM v2 (2026-05-28)
   Tokens CSS de paleta, tipografía, spacing, shadows
   ============================================================ */

:root {
  /* ---------- Identidad ---------- */
  --casaf-marino: #0F2A4A;
  --casaf-marino-profundo: #0A1F36;
  --casaf-marino-bruma: #3A557A;

  /* ---------- Teal (paredes reales) ---------- */
  --casaf-teal: #1F5961;
  --casaf-teal-profundo: #163E45;
  --casaf-teal-claro: #286D75;

  /* ---------- Rosa neón (isotipo físico) ---------- */
  --casaf-rosa: #E84F5A;
  --casaf-rosa-dark: #C73E48;
  --casaf-rosa-palido: #FFC2C7;

  /* ---------- Acentos cálidos ---------- */
  --casaf-ocre: #C9A66B;
  --casaf-ocre-palido: #E0C896;

  /* ---------- Surface ---------- */
  --casaf-hueso: #FAF7F2;
  --casaf-crema: #F2EBDD;
  --casaf-marfil: #EDE5D3;
  --casaf-blanco: #FFFFFF;

  /* ---------- Text ---------- */
  --casaf-carbon: #1A1A1A;
  --casaf-piedra: #5C5A55;
  --casaf-bruma: #A39E94;
  --casaf-lineas: #D9D4C8;

  /* ---------- Shadows (color base marino para tinte cálido) ---------- */
  --casaf-shadow-paper: 0 1px 2px rgba(15,42,74,0.04), 0 4px 8px rgba(15,42,74,0.03);
  --casaf-shadow-lift: 0 4px 16px rgba(15,42,74,0.08), 0 8px 24px rgba(15,42,74,0.04);
  --casaf-shadow-deep: 0 8px 40px rgba(15,42,74,0.15);
  --casaf-shadow-neon: 0 8px 20px rgba(232,79,90,0.25);

  /* ---------- Spacing scale ---------- */
  --casaf-s-1: 4px;
  --casaf-s-2: 8px;
  --casaf-s-3: 12px;
  --casaf-s-4: 16px;
  --casaf-s-5: 24px;
  --casaf-s-6: 32px;
  --casaf-s-7: 48px;
  --casaf-s-8: 64px;
  --casaf-s-9: 96px;
  --casaf-s-10: 128px;

  /* ---------- Border radius ---------- */
  --casaf-r-sharp: 2px;
  --casaf-r-comfortable: 4px;
  --casaf-r-soft: 8px;

  /* ---------- Transitions ---------- */
  --casaf-t-fast: 180ms ease-out;
  --casaf-t-base: 220ms ease-out;
  --casaf-t-slow: 280ms ease-out;
}

/* ============================================================
   BASE
   ============================================================ */

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--casaf-hueso);
  color: var(--casaf-carbon);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================================
   DISPLAY · BRICOLAGE GROTESQUE
   ============================================================ */

h1, h2, h3, h4, h5, h6,
.elementor h1, .elementor h2, .elementor h3, .elementor h4, .elementor h5, .elementor h6 {
  font-family: 'Bricolage Grotesque', 'Inter', sans-serif;
  font-weight: 500;
  color: var(--casaf-marino);
  letter-spacing: -1px;
  line-height: 1.1;
}

h1 { font-size: 88px; line-height: 1.04; letter-spacing: -2px; font-variation-settings: "opsz" 96; }
h2 { font-size: 56px; line-height: 1.08; letter-spacing: -1.5px; font-variation-settings: "opsz" 72; }
h3 { font-size: 36px; line-height: 1.15; letter-spacing: -0.8px; font-variation-settings: "opsz" 48; }
h4 { font-size: 28px; line-height: 1.2; letter-spacing: -0.5px; font-variation-settings: "opsz" 32; }
h5 { font-size: 22px; line-height: 1.3; letter-spacing: -0.3px; font-variation-settings: "opsz" 24; }
h6 { font-size: 18px; line-height: 1.4; font-variation-settings: "opsz" 20; }

em {
  font-style: italic;
  color: var(--casaf-teal);
  font-weight: 400;
}

/* ============================================================
   BODY · INTER
   ============================================================ */

p { font-size: 16px; line-height: 1.6; color: var(--casaf-carbon); }
p.lead { font-size: 19px; line-height: 1.65; color: var(--casaf-piedra); }
p.muted { color: var(--casaf-piedra); }

.overline, .uppercase-label {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--casaf-piedra);
}

/* ============================================================
   LINKS
   ============================================================ */

a {
  color: var(--casaf-marino);
  text-decoration: none;
  transition: var(--casaf-t-base);
}

a:hover { color: var(--casaf-marino-profundo); }

.casaf-link {
  border-bottom: 1px solid transparent;
  padding-bottom: 2px;
}
.casaf-link:hover { border-bottom-color: var(--casaf-rosa); }

/* ============================================================
   BUTTONS · Override Elementor + custom
   ============================================================ */

.elementor-button,
.casaf-btn {
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0.2px;
  border-radius: var(--casaf-r-sharp) !important;
  transition: var(--casaf-t-base) !important;
  border: none !important;
}

.casaf-btn-cta {
  background: var(--casaf-rosa) !important;
  color: var(--casaf-hueso) !important;
  padding: 16px 36px !important;
  font-size: 17px !important;
  font-weight: 600 !important;
}
.casaf-btn-cta:hover {
  background: var(--casaf-rosa-dark) !important;
  transform: translateY(-1px);
  box-shadow: var(--casaf-shadow-neon) !important;
}

.casaf-btn-primary {
  background: var(--casaf-marino) !important;
  color: var(--casaf-hueso) !important;
  padding: 14px 28px !important;
}
.casaf-btn-primary:hover { background: var(--casaf-marino-profundo) !important; }

.casaf-btn-ghost {
  background: transparent !important;
  color: var(--casaf-marino) !important;
  border: 1px solid var(--casaf-marino) !important;
  padding: 14px 28px !important;
}
.casaf-btn-ghost:hover {
  background: var(--casaf-marino) !important;
  color: var(--casaf-hueso) !important;
}

/* ============================================================
   CARDS
   ============================================================ */

.casaf-card {
  background: var(--casaf-marfil);
  border: 1px solid var(--casaf-lineas);
  border-radius: var(--casaf-r-comfortable);
  padding: var(--casaf-s-6);
  box-shadow: var(--casaf-shadow-paper);
  transition: var(--casaf-t-slow);
}
.casaf-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--casaf-shadow-lift);
}

.casaf-card-featured {
  background: var(--casaf-crema);
  border-left: 3px solid var(--casaf-rosa);
  padding: var(--casaf-s-6) var(--casaf-s-7);
}

/* ============================================================
   FORMS · Inputs editoriales
   ============================================================ */

.casaf-form input,
.casaf-form textarea,
.casaf-form select {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--casaf-lineas);
  padding: 10px 4px;
  font: 400 16px 'Inter', sans-serif;
  color: var(--casaf-carbon);
  transition: border-bottom 200ms ease-out;
  width: 100%;
}
.casaf-form input:focus,
.casaf-form textarea:focus,
.casaf-form select:focus {
  outline: none;
  border-bottom: 1.5px solid var(--casaf-rosa);
}
.casaf-form input::placeholder,
.casaf-form textarea::placeholder { color: var(--casaf-bruma); }
.casaf-form label {
  font: 600 11px 'Inter', sans-serif;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--casaf-piedra);
  margin-bottom: 10px;
  display: block;
}

/* ============================================================
   SECTIONS · Teal full-bleed
   ============================================================ */

.casaf-section-teal {
  background: var(--casaf-teal);
  color: var(--casaf-hueso);
  padding: var(--casaf-s-10) 0;
}
.casaf-section-teal h1,
.casaf-section-teal h2,
.casaf-section-teal h3 { color: var(--casaf-hueso); }
.casaf-section-teal em { color: var(--casaf-rosa-palido); }
.casaf-section-teal p { color: rgba(250,247,242,0.85); }
.casaf-section-teal .overline { color: var(--casaf-ocre-palido); }

/* ============================================================
   HEADER (Theme Builder)
   ============================================================ */

.casaf-header { position:sticky; top:0; z-index:100; background:rgba(250,247,242,0.92); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--casaf-lineas); }
.casaf-nav-link, .casaf-header .elementor-item { border-bottom:1px solid transparent; padding:4px 0; transition:border-bottom 200ms ease-out; font-family:'Inter',sans-serif; font-size:14px; font-weight:500; color:var(--casaf-carbon); }
.casaf-nav-link:hover, .casaf-header .elementor-item:hover { border-bottom-color:var(--casaf-rosa); color:var(--casaf-marino); }
.brand-name { font-family:'Bricolage Grotesque',sans-serif !important; font-variation-settings:"opsz" 24; font-size:24px !important; font-weight:600 !important; color:var(--casaf-marino); letter-spacing:-0.5px; line-height:1; }
.brand-tag { display:block; font-size:10px; font-weight:500; letter-spacing:1.6px; text-transform:uppercase; color:var(--casaf-piedra); margin-top:3px; }

/* ============================================================
   FOOTER
   ============================================================ */

.footer-name { font-family:'Bricolage Grotesque',sans-serif !important; font-variation-settings:"opsz" 32; font-size:28px !important; font-weight:600 !important; color:var(--casaf-hueso); letter-spacing:-0.5px; }
.footer-col-title { font-family:'Inter',sans-serif !important; font-size:11px !important; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; color:var(--casaf-rosa-palido); }
.footer-contact { font-size:13px; color:var(--casaf-ocre-palido); }
.footer-legal { font-size:12px; color:var(--casaf-bruma); letter-spacing:0.3px; }
.casaf-footer-logo img { filter:brightness(0) invert(1); }
.casaf-header-brand img, .casaf-header-brand { text-decoration:none; }
.casaf-footer .elementor-icon-list-item a:hover,
.casaf-footer a:hover { color:var(--casaf-rosa); }

footer.casaf-footer {
  background: var(--casaf-marino);
  color: var(--casaf-hueso);
  padding: 80px 0 40px;
}
footer.casaf-footer h4 {
  color: var(--casaf-rosa-palido);
  font-family: 'Inter';
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}
.casaf-footer-tag {
  font-family: 'Bricolage Grotesque';
  font-variation-settings: "opsz" 32;
  font-size: 24px;
  color: var(--casaf-rosa);
  font-style: italic;
  font-weight: 400;
  letter-spacing: -0.5px;
}

/* ============================================================
   HOME V2 · COMPONENTES (portado de Casa_F_Landing_v2.html)
   ============================================================ */

/* Hero — meta inline + imagen + caption overlay */
.casaf-meta-inline { display:flex; gap:24px; align-items:center; flex-wrap:wrap; font-size:13px; color:var(--casaf-bruma); }
.casaf-meta-inline .dot { width:4px; height:4px; border-radius:50%; background:var(--casaf-rosa); display:inline-block; }
.casaf-hero-image { position:relative; border-radius:var(--casaf-r-comfortable); overflow:hidden; box-shadow:var(--casaf-shadow-deep); max-height:min(80vh,700px); }
.casaf-hero-image img { display:block; width:100%; height:100%; object-fit:cover; }
.casaf-hero-caption { position:absolute; left:0; right:0; bottom:0; padding:48px 28px 24px; background:linear-gradient(0deg, rgba(15,42,74,0.85) 0%, transparent 100%); color:var(--casaf-hueso); font-size:14px; }
.casaf-hero-caption .overline { color:var(--casaf-rosa-palido); margin-bottom:6px; }

/* Trust bar — stat number */
.casaf-stat-num { font-family:'Bricolage Grotesque','Inter',sans-serif; font-variation-settings:"opsz" 72; font-size:56px; font-weight:500; line-height:1; color:var(--casaf-marino); letter-spacing:-2px; margin-bottom:10px; }
.casaf-stat-num em { font-style:italic; color:var(--casaf-rosa); font-weight:400; }

/* Text-link button */
.casaf-btn-text { background:transparent !important; color:var(--casaf-marino) !important; padding:4px 0 !important; border:none !important; border-bottom:1px solid transparent !important; border-radius:0 !important; font-weight:500 !important; }
.casaf-btn-text:hover { border-bottom-color:var(--casaf-rosa) !important; background:transparent !important; transform:none !important; box-shadow:none !important; }

/* Ghost light (sobre fondo teal) */
.casaf-btn-ghost-light { background:transparent !important; color:var(--casaf-hueso) !important; border:1px solid rgba(250,247,242,0.4) !important; padding:14px 28px !important; }
.casaf-btn-ghost-light:hover { background:var(--casaf-hueso) !important; color:var(--casaf-marino) !important; }

/* Timeline (Historia) */
.casaf-timeline-item { border-top:1px solid var(--casaf-ocre); padding-top:20px; position:relative; }
.casaf-timeline-item::before { content:""; position:absolute; top:-5px; left:0; width:9px; height:9px; border-radius:50%; background:var(--casaf-marino); }
.casaf-timeline-year { font-family:'Bricolage Grotesque','Inter',sans-serif; font-variation-settings:"opsz" 72; font-size:36px; font-weight:500; color:var(--casaf-marino); line-height:1; letter-spacing:-1px; margin-bottom:10px; }

/* Card teal profundo (Miércoles po) */
.casaf-card-teal-profundo { background:var(--casaf-teal-profundo); border:1px solid rgba(250,247,242,0.1); border-radius:var(--casaf-r-comfortable); padding:40px; position:relative; }
.casaf-card-teal-profundo::before { content:""; position:absolute; top:0; left:0; width:60px; height:3px; background:var(--casaf-rosa); }
.casaf-card-teal-profundo h3 { color:var(--casaf-hueso); }
.casaf-card-teal-profundo h3 em { color:var(--casaf-rosa-palido); }
.casaf-card-teal-profundo p { color:rgba(250,247,242,0.8); }

/* Section teal profundo (Testimonios) */
.casaf-section-teal-profundo { background:var(--casaf-teal-profundo); color:var(--casaf-hueso); padding:var(--casaf-s-10) 0; }
.casaf-section-teal-profundo h1, .casaf-section-teal-profundo h2, .casaf-section-teal-profundo h3 { color:var(--casaf-hueso); }
.casaf-section-teal-profundo em { color:var(--casaf-rosa-palido); }
.casaf-section-teal-profundo .overline { color:var(--casaf-ocre-palido); }
.casaf-section-teal-profundo p { color:rgba(250,247,242,0.85); }

/* Testimonio (comilla decorativa) */
.casaf-testimonio { position:relative; padding:48px 0; }
.casaf-testimonio + .casaf-testimonio { border-top:1px solid rgba(250,247,242,0.1); margin-top:24px; }
.casaf-testimonio::before { content:"\201C"; font-family:'Bricolage Grotesque',sans-serif; position:absolute; top:-48px; left:-32px; font-size:200px; line-height:1; color:var(--casaf-rosa); opacity:0.25; pointer-events:none; font-weight:400; }
.casaf-quote { font-family:'Bricolage Grotesque','Inter',sans-serif !important; font-variation-settings:"opsz" 48; font-size:32px !important; font-weight:500; font-style:italic; line-height:1.3 !important; color:var(--casaf-hueso); letter-spacing:-0.8px; }
.casaf-quote em { font-style:italic; color:var(--casaf-rosa-palido); }
.casaf-cite { font-family:'Inter',sans-serif !important; font-size:13px !important; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; color:var(--casaf-ocre-palido); font-style:normal !important; }

/* Empty state (panoramas sin items) */
.casaf-empty-state { background:var(--casaf-crema); border-left:3px solid var(--casaf-rosa); padding:32px 36px; }
.casaf-empty-state p { font-size:17px; color:var(--casaf-piedra); margin:0; }

/* Form de postulación (Elementor Pro Form — skeleton Fase 9) */
.casaf-postular-form .elementor-button { background:var(--casaf-rosa) !important; color:var(--casaf-hueso) !important; width:100%; justify-content:center; padding:16px 36px !important; font-size:17px !important; font-weight:600 !important; border-radius:var(--casaf-r-sharp) !important; }
.casaf-postular-form .elementor-button:hover { background:var(--casaf-rosa-dark) !important; }
.casaf-postular-form .elementor-field-group > label { font:600 11px 'Inter',sans-serif; letter-spacing:1.8px; text-transform:uppercase; color:var(--casaf-piedra); margin-bottom:8px; }
.casaf-postular-form .elementor-field { border:none !important; border-bottom:1px solid var(--casaf-lineas) !important; border-radius:0 !important; background:transparent !important; padding:10px 4px !important; }
.casaf-postular-form .elementor-field:focus { border-bottom:1.5px solid var(--casaf-rosa) !important; box-shadow:none !important; }

/* Cards de Loop Grid (Habitaciones + Panoramas) */
.casaf-room-card, .casaf-panorama-card { background:var(--casaf-hueso); border:1px solid var(--casaf-lineas); border-radius:var(--casaf-r-comfortable); overflow:hidden; box-shadow:var(--casaf-shadow-paper); transition:var(--casaf-t-slow); display:flex; flex-direction:column; }
.casaf-room-card:hover, .casaf-panorama-card:hover { transform:translateY(-3px); box-shadow:var(--casaf-shadow-lift); }
.casaf-room-title { font-family:'Bricolage Grotesque','Inter',sans-serif; font-variation-settings:"opsz" 32; font-size:26px; font-weight:500; line-height:1.15; color:var(--casaf-marino); letter-spacing:-0.7px; }
.casaf-panorama-title { font-family:'Bricolage Grotesque','Inter',sans-serif; font-variation-settings:"opsz" 32; font-size:22px; font-weight:500; line-height:1.2; color:var(--casaf-marino); letter-spacing:-0.5px; }
.room-overline, .panorama-date { font-size:11px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; color:var(--casaf-rosa); }
.room-desc, .panorama-desc { font-size:14px; color:var(--casaf-piedra); line-height:1.55; }

/* Postular */
.casaf-lista-positiva { background:var(--casaf-crema); border-left:3px solid var(--casaf-rosa); padding:24px 28px; }
.casaf-form-card { background:var(--casaf-marfil); border:1px solid var(--casaf-lineas); border-radius:var(--casaf-r-comfortable); padding:48px 40px; box-shadow:var(--casaf-shadow-paper); }

/* ============================================================
   GRIDS · Habitaciones + Panoramas (shortcodes / loop)
   ============================================================ */

.casaf-rooms-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; margin-top:48px; }
.casaf-panoramas-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }

.casaf-room-photo, .casaf-panorama-photo { aspect-ratio:4/3; position:relative; overflow:hidden; border-bottom:1px solid var(--casaf-lineas); background:linear-gradient(135deg,var(--casaf-marfil),var(--casaf-crema)); display:flex; align-items:center; justify-content:center; }
.casaf-room-photo img, .casaf-panorama-photo img { width:100%; height:100%; object-fit:cover; }
.casaf-room-photo .placeholder, .casaf-panorama-photo .placeholder { font-family:'Bricolage Grotesque'; font-variation-settings:"opsz" 48; font-size:34px; font-style:italic; color:var(--casaf-marino-bruma); opacity:0.5; letter-spacing:-1px; text-align:center; padding:16px; }

.casaf-room-body, .casaf-panorama-body { padding:28px 32px; flex:1; display:flex; flex-direction:column; }
.casaf-panorama-body { padding:24px; }

.casaf-room-overline, .casaf-panorama-date { font-size:11px; font-weight:600; letter-spacing:1.8px; text-transform:uppercase; color:var(--casaf-rosa); margin-bottom:10px; }
.casaf-panorama-desc { font-size:14px; color:var(--casaf-piedra); line-height:1.55; margin-bottom:16px; }

.casaf-room-features { display:flex; flex-wrap:wrap; gap:12px; font-size:13px; color:var(--casaf-piedra); margin:auto 0 20px; padding-top:16px; border-top:1px solid var(--casaf-lineas); }
.casaf-room-features span::before { content:"·"; margin-right:8px; color:var(--casaf-rosa); }
.casaf-room-features span:first-child::before { content:none; }

.casaf-room-link, .casaf-panorama-link { font-size:14px; color:var(--casaf-marino); font-weight:500; border-bottom:1px solid transparent; padding-bottom:2px; align-self:flex-start; transition:border-bottom 200ms ease; }
.casaf-room-link:hover, .casaf-panorama-link:hover { border-bottom-color:var(--casaf-rosa); }

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1024px) {
  h1 { font-size: 64px; letter-spacing: -1.5px; }
  h2 { font-size: 44px; letter-spacing: -1.2px; }
  .casaf-rooms-grid { grid-template-columns: 1fr 1fr; }
  .casaf-panoramas-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  h1 { font-size: 42px; letter-spacing: -1px; }
  h2 { font-size: 32px; letter-spacing: -0.8px; }
  h3 { font-size: 26px; }
  .casaf-section-teal { padding: 72px 0; }
  .casaf-btn-cta { padding: 14px 28px !important; font-size: 16px !important; }
  .casaf-stat-num { font-size: 40px; }
  .casaf-timeline-year { font-size: 28px; }
  .casaf-quote { font-size: 22px; }
  .casaf-testimonio::before { font-size: 120px; left: -8px; top: -32px; }
  .casaf-card-teal-profundo { padding: 32px 24px; }
  .casaf-form-card { padding: 32px 24px; }
  .casaf-section-teal-profundo { padding: 72px 0; }
  .casaf-rooms-grid, .casaf-panoramas-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   QA DELTA PATCHES (2026-05-29) — pixel-perfect vs maqueta v2
   ============================================================ */

/* ============================================================
   PATCH 1 · Typography sizing (override kit Elementor defaults)
   ============================================================ */
.elementor-widget-heading h1.elementor-heading-title,
.elementor h1 {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 88px !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: -2px !important;
  font-variation-settings: "opsz" 96 !important;
}
.elementor-widget-heading h2.elementor-heading-title,
.elementor h2 {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 56px !important;
  font-weight: 500 !important;
  line-height: 1.08 !important;
  letter-spacing: -1.5px !important;
  font-variation-settings: "opsz" 72 !important;
}
.elementor-widget-heading h3.elementor-heading-title,
.elementor h3 {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.8px !important;
  font-variation-settings: "opsz" 48 !important;
}
.elementor-widget-heading h4.elementor-heading-title,
.elementor h4 {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.5px !important;
  font-variation-settings: "opsz" 32 !important;
}
.elementor-widget-heading h6.elementor-heading-title,
.elementor h6 {
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 1.8px !important;
  text-transform: uppercase !important;
  color: var(--casaf-piedra) !important;
}
.elementor-widget-heading h1 em,
.elementor-widget-heading h2 em,
.elementor-widget-heading h3 em {
  font-style: italic;
  font-weight: 400;
  color: var(--casaf-teal);
}
.casaf-section-teal .elementor-widget-heading h1 em,
.casaf-section-teal .elementor-widget-heading h2 em,
.casaf-section-teal .elementor-widget-heading h3 em,
.casaf-section-teal-profundo .elementor-widget-heading h1 em,
.casaf-section-teal-profundo .elementor-widget-heading h2 em,
.casaf-section-teal-profundo .elementor-widget-heading h3 em {
  color: var(--casaf-rosa-palido) !important;
}
.casaf-stat-num,
.casaf-stat-num.elementor-heading-title,
.elementor-widget-heading .casaf-stat-num {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 56px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: -2px !important;
  color: var(--casaf-marino) !important;
}
.elementor-widget-text-editor.lead,
.elementor-widget-text-editor .lead {
  font-size: 19px !important;
  line-height: 1.65 !important;
  color: var(--casaf-piedra);
}
@media (max-width: 1024px) {
  .elementor-widget-heading h1.elementor-heading-title,
  .elementor h1 { font-size: 64px !important; letter-spacing: -1.5px !important; }
  .elementor-widget-heading h2.elementor-heading-title,
  .elementor h2 { font-size: 44px !important; letter-spacing: -1.2px !important; }
  .casaf-stat-num, .casaf-stat-num.elementor-heading-title { font-size: 44px !important; }
}
@media (max-width: 640px) {
  .elementor-widget-heading h1.elementor-heading-title,
  .elementor h1 { font-size: 42px !important; letter-spacing: -1px !important; }
  .elementor-widget-heading h2.elementor-heading-title,
  .elementor h2 { font-size: 32px !important; letter-spacing: -0.8px !important; }
  .casaf-stat-num, .casaf-stat-num.elementor-heading-title { font-size: 36px !important; }
}

/* ============================================================
   PATCH 2 · Containers padding/spacing (DS v2 generous)
   ============================================================ */
.elementor-section-wrap > .elementor-element.e-con-full,
section.e-con,
.elementor-element.e-flex.e-con-full.e-con {
  padding-top: 96px !important;
  padding-bottom: 96px !important;
}
.casaf-section-hero,
.elementor-element.casaf-section-hero { padding-top: 96px !important; padding-bottom: 120px !important; }
.casaf-section-teal,
.casaf-section-teal-profundo { padding-top: 128px !important; padding-bottom: 128px !important; }
.casaf-trust-bar,
.elementor-element.casaf-trust-bar { padding-top: 48px !important; padding-bottom: 48px !important; }
.elementor-element.e-con-inner.e-flex { gap: 32px; }
.casaf-footer .elementor-element.e-con-inner.e-flex {
  display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
  gap: 48px; align-items: flex-start;
}
@media (max-width: 1024px) {
  .casaf-footer .elementor-element.e-con-inner.e-flex { flex-wrap: wrap; }
  .elementor-section-wrap > .elementor-element.e-con-full,
  section.e-con,
  .elementor-element.e-flex.e-con-full.e-con { padding-top: 72px !important; padding-bottom: 72px !important; }
}
@media (max-width: 640px) {
  .casaf-footer .elementor-element.e-con-inner.e-flex { flex-direction: column !important; }
}
.casaf-timeline-item { padding: 24px 16px 0 0; border-top: 1px solid var(--casaf-ocre); position: relative; }
.casaf-timeline-item::before {
  content: ""; position: absolute; top: -5px; left: 0;
  width: 9px; height: 9px; border-radius: 50%; background: var(--casaf-marino);
}

/* ============================================================
   PATCH 3 · Hero caption overlay + color fixes
   ============================================================ */
.casaf-hero-caption {
  background: linear-gradient(0deg, rgba(15,42,74,0.85) 0%, transparent 100%) !important;
  color: var(--casaf-hueso) !important;
  padding: 48px 28px 24px !important;
  position: absolute !important;
  bottom: 0; left: 0; right: 0; z-index: 2;
}
.casaf-hero-caption .overline,
.casaf-hero-caption h6.elementor-heading-title { color: var(--casaf-rosa-palido) !important; margin-bottom: 6px; }
.casaf-hero-caption .elementor-widget-text-editor,
.casaf-hero-caption .elementor-widget-text-editor p { color: var(--casaf-hueso) !important; font-size: 14px !important; }
.casaf-hero-image,
.elementor-element.casaf-hero-image.e-con {
  position: relative !important; overflow: hidden !important;
  border-radius: 4px; box-shadow: var(--casaf-shadow-deep); max-height: min(80vh, 700px);
}
.casaf-lista-positiva h6.elementor-heading-title,
.casaf-lista-positiva .overline {
  color: var(--casaf-marino) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 12px !important; font-weight: 600 !important;
  letter-spacing: 1.8px; text-transform: uppercase; margin-bottom: 8px;
}
.casaf-lista-positiva {
  background: var(--casaf-crema) !important; border-left: 3px solid var(--casaf-rosa) !important;
  padding: 24px 28px !important; margin-top: 32px;
}
.casaf-form-card,
.elementor-element.casaf-form-card.e-con {
  background: var(--casaf-marfil) !important; border: 1px solid var(--casaf-lineas) !important;
  border-radius: 4px; padding: 48px 40px !important; box-shadow: var(--casaf-shadow-paper);
}
.casaf-form-card h3.elementor-heading-title {
  font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 34px !important;
  font-weight: 500; color: var(--casaf-marino); letter-spacing: -1px; margin-bottom: 8px;
}

/* ============================================================
   PATCH 4 · Vintage frame para placeholder de Historia
   ============================================================ */
.casaf-vintage-frame,
.elementor-element.casaf-vintage-frame {
  border: 1px solid var(--casaf-ocre) !important; padding: 8px !important;
  background: var(--casaf-hueso) !important;
  box-shadow: var(--casaf-shadow-vintage, 0 4px 24px rgba(15,42,74,0.12));
  border-radius: 2px; aspect-ratio: 3/4; position: relative;
}
.casaf-vintage-frame .elementor-widget-image img,
.casaf-vintage-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }
.casaf-vintage-frame.is-placeholder {
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--casaf-marfil), var(--casaf-crema));
}
.casaf-vintage-frame.is-placeholder .elementor-widget-text-editor p {
  font-family: 'Bricolage Grotesque', sans-serif; font-size: 28px; font-style: italic;
  font-weight: 400; color: var(--casaf-marino-bruma); text-align: center; padding: 32px;
}
.casaf-vintage-frame-caption {
  text-align: center; font-style: italic; font-size: 12px; color: var(--casaf-bruma); margin-top: 16px;
}

/* ============================================================
   PATCH 5 · Decorative pseudo-elements
   ============================================================ */
.casaf-testimonio { position: relative !important; padding: 48px 0 !important; }
.casaf-testimonio + .casaf-testimonio { border-top: 1px solid rgba(250,247,242,0.1); margin-top: 24px; }
.casaf-testimonio::before {
  content: "\201C" !important; font-family: 'Bricolage Grotesque', sans-serif !important;
  position: absolute !important; top: -48px !important; left: -32px !important;
  font-size: 200px !important; line-height: 1 !important; color: var(--casaf-rosa) !important;
  opacity: 0.25 !important; pointer-events: none; font-weight: 400 !important; z-index: 1;
}
.casaf-quote,
.casaf-quote.elementor-heading-title {
  font-family: 'Bricolage Grotesque', sans-serif !important; font-variation-settings: "opsz" 48;
  font-size: 32px !important; line-height: 1.3 !important; letter-spacing: -0.8px !important;
  font-style: italic !important; color: var(--casaf-hueso) !important; position: relative; z-index: 2;
}
.casaf-quote em { color: var(--casaf-rosa-palido) !important; font-style: italic; }
.casaf-cite,
.casaf-cite.elementor-heading-title {
  font-family: 'Inter', sans-serif !important; font-size: 13px !important; font-weight: 600 !important;
  letter-spacing: 1.8px !important; text-transform: uppercase !important;
  color: var(--casaf-ocre-palido) !important; font-style: normal !important;
}
.casaf-card-teal-profundo {
  background: var(--casaf-teal-profundo) !important; border: 1px solid rgba(250,247,242,0.1);
  border-radius: 4px; padding: 40px !important; position: relative;
}
.casaf-card-teal-profundo::before {
  content: ""; position: absolute; top: 0; left: 0; width: 60px; height: 3px;
  background: var(--casaf-rosa); z-index: 1;
}
.casaf-card-teal-profundo h3,
.casaf-card-teal-profundo h3.elementor-heading-title {
  color: var(--casaf-hueso) !important; font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 36px !important; font-weight: 500; letter-spacing: -1px; line-height: 1.1;
}
.casaf-card-teal-profundo h3 em { color: var(--casaf-rosa-palido) !important; font-style: italic; }
.casaf-card-teal-profundo p,
.casaf-card-teal-profundo .elementor-widget-text-editor p {
  color: rgba(250,247,242,0.8) !important; font-size: 15px; line-height: 1.7;
}

/* ============================================================
   PATCH 6 · Header nav + Habitaciones grid
   ============================================================ */
@media (min-width: 1025px) {
  .elementor-nav-menu--main,
  .elementor-nav-menu__container,
  .elementor-nav-menu--layout-horizontal { display: flex !important; flex-direction: row !important; }
  .elementor-nav-menu--main ul.elementor-nav-menu,
  .elementor-nav-menu--layout-horizontal > ul {
    display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
    gap: 32px !important; align-items: center !important; list-style: none !important;
    margin: 0 !important; padding: 0 !important;
  }
  .elementor-nav-menu--main li.menu-item,
  .elementor-nav-menu--layout-horizontal li { display: inline-flex !important; margin: 0 !important; }
  .elementor-nav-menu--main a,
  .elementor-nav-menu--main a.elementor-item {
    font-family: 'Inter', sans-serif !important; font-size: 14px !important; font-weight: 500 !important;
    color: var(--casaf-carbon) !important; padding: 4px 0 !important;
    border-bottom: 1px solid transparent !important; transition: border-bottom 200ms ease-out !important;
  }
  .elementor-nav-menu--main a:hover,
  .elementor-nav-menu--main a.elementor-item:hover {
    border-bottom-color: var(--casaf-rosa) !important; color: var(--casaf-marino) !important;
  }
}
.casaf-habitaciones-grid {
  display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 32px !important; margin-top: 48px;
}
.casaf-habitacion-card {
  background: var(--casaf-hueso); border: 1px solid var(--casaf-lineas); border-radius: 4px;
  overflow: hidden; box-shadow: var(--casaf-shadow-paper); display: flex; flex-direction: column;
  transition: var(--casaf-t-slow);
}
.casaf-habitacion-card:hover { transform: translateY(-3px); box-shadow: var(--casaf-shadow-lift); }
.casaf-habitacion-photo {
  aspect-ratio: 4/3; overflow: hidden; background: linear-gradient(135deg, var(--casaf-marfil), var(--casaf-crema));
}
.casaf-habitacion-photo img { width: 100%; height: 100%; object-fit: cover; }
.casaf-habitacion-body { padding: 28px 32px; display: flex; flex-direction: column; flex: 1; }
@media (max-width: 1024px) { .casaf-habitaciones-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 640px) { .casaf-habitaciones-grid { grid-template-columns: 1fr !important; } }

/* ============================================================
   PATCH 7 · Context overrides — restablece colores contextuales
   que el Patch 1 (.elementor h6 !important) pisa. Necesario para
   no romper overlines en teal/footer ni el footer-col-title.
   ============================================================ */
.casaf-section-teal .overline,
.casaf-section-teal .elementor-widget-heading h6.elementor-heading-title,
.casaf-section-teal-profundo .overline,
.casaf-section-teal-profundo .elementor-widget-heading h6.elementor-heading-title {
  color: var(--casaf-ocre-palido) !important;
}
.footer-col-title,
.casaf-footer .elementor-widget-heading h6.casaf-footer .footer-col-title,
.casaf-footer .footer-col-title.elementor-heading-title {
  color: var(--casaf-rosa-palido) !important;
}
.casaf-hero-caption .overline,
.casaf-hero-caption h6.elementor-heading-title { color: var(--casaf-rosa-palido) !important; }
.casaf-room-overline { color: var(--casaf-rosa) !important; }

/* ============================================================
   PATCH 8 (2026-05-29) — cierre de deltas residuales
   ============================================================ */

/* PATCH 8.1 · Color Marino forzado para headings (kit tenía terracota) */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title,
.elementor-widget-heading h5.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title,
.elementor h1, .elementor h2, .elementor h3, .elementor h4, .elementor h5 {
  color: var(--casaf-marino) !important;
}
.casaf-section-teal h1, .casaf-section-teal h2, .casaf-section-teal h3, .casaf-section-teal h4,
.casaf-section-teal-profundo h1, .casaf-section-teal-profundo h2, .casaf-section-teal-profundo h3, .casaf-section-teal-profundo h4,
.casaf-section-teal .elementor-widget-heading .elementor-heading-title,
.casaf-section-teal-profundo .elementor-widget-heading .elementor-heading-title {
  color: var(--casaf-hueso) !important;
}
.casaf-footer h1, .casaf-footer h2, .casaf-footer h3, .casaf-footer h4,
.casaf-footer .elementor-widget-heading .elementor-heading-title {
  color: var(--casaf-hueso) !important;
}
.elementor-widget-heading h1 em,
.elementor-widget-heading h2 em,
.elementor-widget-heading h3 em { color: var(--casaf-teal) !important; }
.casaf-section-teal .elementor-widget-heading em,
.casaf-section-teal-profundo .elementor-widget-heading em,
.casaf-footer .elementor-widget-heading em { color: var(--casaf-rosa-palido) !important; }

/* PATCH 8.2 · Footer 4 cols horizontal (quirurgico: class-targeted, no rompe wrapper) */
@media (min-width: 1025px) {
  .casaf-footer-cols {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
    gap: 48px !important;
    align-items: flex-start !important;
  }
}
@media (max-width: 1024px) and (min-width: 641px) {
  .casaf-footer-cols { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 32px !important; }
}
@media (max-width: 640px) {
  .casaf-footer-cols { display: flex !important; flex-direction: column !important; gap: 32px !important; }
}
.casaf-footer-bottom {
  display: flex !important; flex-direction: row !important; justify-content: space-between !important;
  align-items: center !important; flex-wrap: wrap !important; gap: 16px;
}

/* PATCH 8.3 · Vintage frame padding fix */
.casaf-vintage-frame,
.elementor-element.casaf-vintage-frame { padding: 8px !important; margin: 0 !important; }
.casaf-vintage-frame + .casaf-vintage-frame-caption,
.casaf-vintage-frame-caption {
  text-align: center; font-style: italic; font-size: 12px; color: var(--casaf-bruma); margin-top: 16px; padding: 0 !important;
}

/* PATCH 8.3-fix · vintage-frame padding — supera especificidad del Patch 2 (4 clases) */
.elementor-element.casaf-vintage-frame.e-flex.e-con,
.elementor-element.casaf-vintage-frame.e-con-full.e-flex,
.elementor-element.casaf-vintage-frame.e-con-inner.e-flex {
  padding: 8px !important;
}

/* ============================================================
   PATCH 9 (2026-05-29) — Header + Footer + CTA mini
   ============================================================ */

/* PATCH 9.1 · Header container row */
header.elementor.elementor-location-header,
[data-elementor-type="header"] {
  display: block !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: rgba(250, 247, 242, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border-bottom: 1px solid var(--casaf-lineas) !important;
  height: auto !important;
}
header.elementor.elementor-location-header > .e-con,
header.elementor.elementor-location-header > .elementor-element,
[data-elementor-type="header"] > .e-con,
[data-elementor-type="header"] > .elementor-element.e-con-full {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 32px !important;
  height: 80px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 0 48px !important;
}
.elementor-element[class*="casaf-brand"],
[data-elementor-type="header"] .casaf-brand,
[data-elementor-type="header"] .casaf-header-brand {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 14px !important;
  flex: 0 0 auto;
}
@media (max-width: 1024px) {
  [data-elementor-type="header"] > .e-con,
  [data-elementor-type="header"] > .elementor-element.e-con-full { padding: 0 32px !important; }
}
@media (max-width: 640px) {
  [data-elementor-type="header"] > .e-con,
  [data-elementor-type="header"] > .elementor-element.e-con-full { height: 64px !important; padding: 0 24px !important; }
}

/* PATCH 9.2 · Footer background marino */
footer.elementor.elementor-location-footer,
[data-elementor-type="footer"],
footer.elementor-location-footer .e-con-full,
[data-elementor-type="footer"] > .e-con,
[data-elementor-type="footer"] > .elementor-element {
  background: var(--casaf-marino) !important;
  color: var(--casaf-hueso) !important;
}
footer.elementor.elementor-location-footer,
[data-elementor-type="footer"] { padding: 80px 48px 40px !important; }
[data-elementor-type="footer"] > .elementor-element.e-con-full { padding: 0 !important; max-width: 1280px; margin: 0 auto !important; }
@media (min-width: 1025px) {
  [data-elementor-type="footer"] [class*="footer-cols"],
  [data-elementor-type="footer"] [class*="casaf-footer-cols"] {
    display: grid !important;
    grid-template-columns: 2fr 1fr 1fr 1fr !important;
    gap: 48px !important;
    align-items: flex-start;
  }
}
[data-elementor-type="footer"] h1,
[data-elementor-type="footer"] h2,
[data-elementor-type="footer"] h3,
[data-elementor-type="footer"] h4,
[data-elementor-type="footer"] .elementor-heading-title { color: var(--casaf-hueso) !important; }
[data-elementor-type="footer"] h4,
[data-elementor-type="footer"] .footer-col-title {
  color: var(--casaf-rosa-palido) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 11px !important; font-weight: 600 !important;
  letter-spacing: 1.8px !important; text-transform: uppercase !important;
}
[data-elementor-type="footer"] p,
[data-elementor-type="footer"] li,
[data-elementor-type="footer"] .elementor-widget-text-editor { color: var(--casaf-lineas) !important; font-size: 14px; }
[data-elementor-type="footer"] a { color: var(--casaf-lineas) !important; transition: color 180ms ease !important; }
[data-elementor-type="footer"] a:hover { color: var(--casaf-rosa) !important; }
[data-elementor-type="footer"] [class*="footer-bottom"],
[data-elementor-type="footer"] .casaf-footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08) !important;
  padding-top: 32px !important;
  margin-top: 64px !important;
}

/* PATCH 9.3 · Footer tag rosa Bricolage italic */
.casaf-footer-tag,
[data-elementor-type="footer"] .casaf-footer-tag,
[data-elementor-type="footer"] [class*="footer-tag"] {
  display: block !important; height: auto !important; min-height: 32px !important; width: auto !important;
}
.casaf-footer-tag .elementor-heading-title,
.casaf-footer-tag h1, .casaf-footer-tag h2, .casaf-footer-tag h3,
.casaf-footer-tag h4, .casaf-footer-tag h5, .casaf-footer-tag h6,
[data-elementor-type="footer"] .casaf-footer-tag .elementor-heading-title {
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-variation-settings: "opsz" 32 !important;
  font-size: 24px !important; font-weight: 400 !important; font-style: italic !important;
  letter-spacing: -0.5px !important; text-transform: none !important;
  color: var(--casaf-rosa) !important; line-height: 1 !important;
}
.footer-legal,
[data-elementor-type="footer"] [class*="footer-legal"],
[data-elementor-type="footer"] [class*="legal"] {
  font-family: 'Inter', sans-serif !important; font-size: 12px !important;
  color: var(--casaf-bruma) !important; letter-spacing: 0.3px;
}

/* PATCH 9.4 · CTA mini header */
header.elementor.elementor-location-header .casaf-btn-cta,
[data-elementor-type="header"] .casaf-btn-cta,
[data-elementor-type="header"] .elementor-button.casaf-btn-cta {
  padding: 10px 20px !important; font-size: 14px !important; font-weight: 600 !important;
  height: auto !important; min-height: 40px !important; max-height: 44px !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  border-radius: 2px !important;
}
[data-elementor-type="header"] [class*="header-right"],
[data-elementor-type="header"] .casaf-header-right {
  display: flex !important; flex-direction: row !important; align-items: center !important;
  gap: 24px !important; flex: 0 0 auto !important;
}
[data-elementor-type="header"] .elementor-nav-menu--main {
  flex: 1 1 auto !important; display: flex !important; justify-content: center !important;
}

/* PATCH 9.6-fix · reset del padding 96px del Patch 2 heredado en header + footer
   (el Patch 2 targetea TODOS los .e-con-full; header/footer no deben heredarlo) */
[data-elementor-type="header"] .elementor-element.e-flex.e-con-full.e-con,
[data-elementor-type="header"] .e-con-inner,
[data-elementor-type="header"] .casaf-header,
[data-elementor-type="header"] .casaf-header-brand {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
[data-elementor-type="footer"] .elementor-element.e-flex.e-con-full.e-con,
[data-elementor-type="footer"] .e-con-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
[data-elementor-type="footer"] .casaf-footer-bottom.e-flex.e-con-full.e-con,
[data-elementor-type="footer"] .casaf-footer-bottom.e-con {
  padding-top: 32px !important;
  padding-bottom: 0 !important;
}

/* ============================================================
   PATCH 10 (2026-05-29) — Fix anidamiento botones Elementor
   El <a class="elementor-button"> default (bg crema) tapa al wrapper
   ============================================================ */

/* 1. Reset del <a> middle de todos los botones Casa F */
.casaf-btn-cta .elementor-button,
.casaf-btn-cta a.elementor-button-link,
.casaf-btn-primary .elementor-button,
.casaf-btn-primary a.elementor-button-link,
.casaf-btn-ghost .elementor-button,
.casaf-btn-ghost a.elementor-button-link,
.casaf-btn-ghost-light .elementor-button,
.casaf-btn-ghost-light a.elementor-button-link,
.casaf-btn-text .elementor-button,
.casaf-btn-text a.elementor-button-link {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: inherit !important;
  border: none !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: unset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: none !important;
}

/* 2. Spans heredan color del outer */
.casaf-btn-cta .elementor-button-content-wrapper,
.casaf-btn-cta .elementor-button-text,
.casaf-btn-primary .elementor-button-content-wrapper,
.casaf-btn-primary .elementor-button-text,
.casaf-btn-ghost .elementor-button-content-wrapper,
.casaf-btn-ghost .elementor-button-text,
.casaf-btn-ghost-light .elementor-button-content-wrapper,
.casaf-btn-ghost-light .elementor-button-text,
.casaf-btn-text .elementor-button-content-wrapper,
.casaf-btn-text .elementor-button-text {
  background: transparent !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  font-family: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
}

/* 3. Icon span */
.casaf-btn-cta .elementor-button-icon,
.casaf-btn-primary .elementor-button-icon,
.casaf-btn-ghost .elementor-button-icon,
.casaf-btn-ghost-light .elementor-button-icon,
.casaf-btn-text .elementor-button-icon { color: inherit !important; }

/* PATCH 10.2 · padding/sizing por tipo (en el <a> que llena el outer) */
.casaf-btn-cta { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; position: relative; cursor: pointer; }
.casaf-btn-cta .elementor-button,
.casaf-btn-cta a.elementor-button-link {
  background: var(--casaf-rosa) !important; background-color: var(--casaf-rosa) !important;
  color: var(--casaf-hueso) !important; padding: 16px 36px !important;
  font-family: 'Inter', sans-serif !important; font-size: 17px !important; font-weight: 600 !important;
  letter-spacing: 0.2px !important; border-radius: 2px !important; transition: all 220ms ease-out !important;
}
.casaf-btn-cta .elementor-button:hover,
.casaf-btn-cta a.elementor-button-link:hover {
  background: var(--casaf-rosa-dark) !important; background-color: var(--casaf-rosa-dark) !important;
  transform: translateY(-1px); box-shadow: var(--casaf-shadow-neon) !important;
}
[data-elementor-type="header"] .casaf-btn-cta .elementor-button,
[data-elementor-type="header"] .casaf-btn-cta a.elementor-button-link {
  padding: 10px 20px !important; font-size: 14px !important; font-weight: 600 !important;
}

.casaf-btn-primary { display: inline-flex !important; padding: 0 !important; }
.casaf-btn-primary .elementor-button,
.casaf-btn-primary a.elementor-button-link {
  background: var(--casaf-marino) !important; background-color: var(--casaf-marino) !important;
  color: var(--casaf-hueso) !important; padding: 14px 28px !important;
  font-family: 'Inter', sans-serif !important; font-size: 16px !important; font-weight: 500 !important; border-radius: 2px !important;
}
.casaf-btn-primary .elementor-button:hover,
.casaf-btn-primary a.elementor-button-link:hover { background: var(--casaf-marino-profundo) !important; }

.casaf-btn-ghost { display: inline-flex !important; padding: 0 !important; }
.casaf-btn-ghost .elementor-button,
.casaf-btn-ghost a.elementor-button-link {
  background: transparent !important; background-color: transparent !important;
  color: var(--casaf-marino) !important; border: 1px solid var(--casaf-marino) !important;
  padding: 14px 28px !important; font-family: 'Inter', sans-serif !important; font-size: 16px !important;
  font-weight: 500 !important; border-radius: 2px !important; transition: all 220ms ease-out !important;
}
.casaf-btn-ghost .elementor-button:hover,
.casaf-btn-ghost a.elementor-button-link:hover {
  background: var(--casaf-marino) !important; background-color: var(--casaf-marino) !important; color: var(--casaf-hueso) !important;
}

.casaf-btn-ghost-light { display: inline-flex !important; padding: 0 !important; }
.casaf-btn-ghost-light .elementor-button,
.casaf-btn-ghost-light a.elementor-button-link {
  background: transparent !important; background-color: transparent !important;
  color: var(--casaf-hueso) !important; border: 1px solid rgba(250,247,242,0.4) !important;
  padding: 14px 28px !important; font-family: 'Inter', sans-serif !important; font-size: 16px !important;
  font-weight: 500 !important; border-radius: 2px !important;
}
.casaf-btn-ghost-light .elementor-button:hover,
.casaf-btn-ghost-light a.elementor-button-link:hover {
  background: var(--casaf-hueso) !important; background-color: var(--casaf-hueso) !important;
  color: var(--casaf-marino) !important; border-color: var(--casaf-hueso) !important;
}

.casaf-btn-text { display: inline-flex !important; padding: 0 !important; border: none !important; }
.casaf-btn-text .elementor-button,
.casaf-btn-text a.elementor-button-link {
  background: transparent !important; background-color: transparent !important;
  color: var(--casaf-marino) !important; padding: 4px 0 !important;
  font-family: 'Inter', sans-serif !important; font-size: 16px !important; font-weight: 500 !important;
  border: none !important; border-bottom: 1px solid transparent !important; border-radius: 0 !important;
  width: auto !important; display: inline-flex !important; transition: border-bottom 200ms ease !important;
}
.casaf-btn-text .elementor-button:hover,
.casaf-btn-text a.elementor-button-link:hover { border-bottom-color: var(--casaf-rosa) !important; background: transparent !important; }
.casaf-section-teal .casaf-btn-text .elementor-button,
.casaf-section-teal .casaf-btn-text a.elementor-button-link,
.casaf-section-teal-profundo .casaf-btn-text .elementor-button,
.casaf-section-teal-profundo .casaf-btn-text a.elementor-button-link { color: var(--casaf-hueso) !important; }
.casaf-section-teal .casaf-btn-text .elementor-button:hover,
.casaf-section-teal-profundo .casaf-btn-text .elementor-button:hover { border-bottom-color: var(--casaf-rosa-palido) !important; }

/* PATCH 10.3 · hover spans heredan */
.casaf-btn-cta .elementor-button:hover .elementor-button-content-wrapper,
.casaf-btn-cta .elementor-button:hover .elementor-button-text,
.casaf-btn-ghost .elementor-button:hover .elementor-button-content-wrapper,
.casaf-btn-ghost .elementor-button:hover .elementor-button-text,
.casaf-btn-ghost-light .elementor-button:hover .elementor-button-content-wrapper,
.casaf-btn-ghost-light .elementor-button:hover .elementor-button-text { color: inherit !important; }

/* ============================================================
   PATCH 11 (2026-05-29) — Header/Footer puntuales
   ============================================================ */

/* PATCH 11.1 · Logos header + footer 44px */
[data-elementor-type="header"] img,
[data-elementor-type="header"] .elementor-widget-image img,
[data-elementor-type="header"] [class*="brand"] img {
  width: 44px !important; height: 44px !important; max-width: 44px !important; object-fit: contain;
}
[data-elementor-type="footer"] img,
[data-elementor-type="footer"] .elementor-widget-image img,
[data-elementor-type="footer"] [class*="brand"] img,
[data-elementor-type="footer"] [class*="footer-logo"] img {
  width: 44px !important; height: 44px !important; max-width: 44px !important; object-fit: contain;
}
@media (max-width: 640px) {
  [data-elementor-type="header"] img,
  [data-elementor-type="header"] .elementor-widget-image img {
    width: 36px !important; height: 36px !important; max-width: 36px !important;
  }
}

/* PATCH 11.2 · CTA header sin double padding */
[data-elementor-type="header"] .casaf-btn-cta,
header.elementor.elementor-location-header .casaf-btn-cta {
  padding: 0 !important; background: transparent !important; border: none !important;
}
[data-elementor-type="header"] .casaf-btn-cta .elementor-button,
[data-elementor-type="header"] .casaf-btn-cta a.elementor-button-link {
  background: var(--casaf-rosa) !important; background-color: var(--casaf-rosa) !important;
  color: var(--casaf-hueso) !important; padding: 10px 20px !important;
  font-family: 'Inter', sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
  letter-spacing: 0.2px !important; border-radius: 2px !important; border: none !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-height: 44px !important; height: 44px !important; width: auto !important;
  transition: all 220ms ease-out !important; box-shadow: none !important;
}
[data-elementor-type="header"] .casaf-btn-cta .elementor-button:hover,
[data-elementor-type="header"] .casaf-btn-cta a.elementor-button-link:hover {
  background: var(--casaf-rosa-dark) !important; background-color: var(--casaf-rosa-dark) !important;
  transform: translateY(-1px);
}
[data-elementor-type="header"] .casaf-btn-cta .elementor-button-content-wrapper,
[data-elementor-type="header"] .casaf-btn-cta .elementor-button-text {
  color: inherit !important; font-size: inherit !important; white-space: nowrap !important;
}

/* PATCH 11.3 · Footer wordmark "Casa F" sin uppercase + nowrap */
[data-elementor-type="footer"] .footer-name,
[data-elementor-type="footer"] h4.footer-name,
[data-elementor-type="footer"] [class*="footer-name"],
[data-elementor-type="footer"] [class*="brand-name"] {
  text-transform: none !important;
  font-family: 'Bricolage Grotesque', sans-serif !important;
  font-variation-settings: "opsz" 32 !important;
  font-size: 28px !important; font-weight: 600 !important;
  color: var(--casaf-hueso) !important; letter-spacing: -0.5px !important;
  white-space: nowrap !important; word-break: keep-all !important;
  line-height: 1 !important; display: inline-block !important; width: auto !important;
}
[data-elementor-type="header"] .brand-name,
[data-elementor-type="header"] [class*="brand-name"] {
  text-transform: none !important; white-space: nowrap !important; word-break: keep-all !important;
}
[data-elementor-type="footer"] [class*="footer-brand"],
[data-elementor-type="footer"] [class*="casaf-footer-logo"] {
  display: flex !important; flex-direction: row !important; align-items: center !important;
  gap: 14px !important; margin-bottom: 16px;
}

/* PATCH 11.4 · Footer grid 4 cols (refuerzo) */
@media (min-width: 1025px) {
  [data-elementor-type="footer"] > .e-con-full,
  [data-elementor-type="footer"] > .elementor-element.e-con-full {
    max-width: 1280px; margin: 0 auto !important; padding: 0 48px !important;
  }
  [data-elementor-type="footer"] > .e-con-full > .e-con-full:first-child,
  [data-elementor-type="footer"] [class*="footer-cols"],
  [data-elementor-type="footer"] [class*="casaf-footer-cols"] {
    display: grid !important; grid-template-columns: 2fr 1fr 1fr 1fr !important;
    gap: 48px !important; align-items: flex-start; margin-bottom: 64px;
  }
}

/* ============================================================
   PATCH 12 (2026-05-29) — Lang switcher + Mobile nav
   ============================================================ */

/* PATCH 12.1 · Lang switcher SOLO en footer */
.trp-language-switcher,
.trp-floater-ls,
.trp-floater,
[class*="trp-language-switcher"] { display: none !important; }

[data-elementor-type="header"] .trp-language-switcher,
[data-elementor-type="header"] [class*="trp-language"],
[data-elementor-type="header"] .elementor-shortcode .trp-language-switcher { display: none !important; }

.casaf-room-card .trp-language-switcher,
.casaf-panorama-card .trp-language-switcher,
.casaf-rooms-grid .trp-language-switcher,
.casaf-panoramas-grid .trp-language-switcher,
article .trp-language-switcher { display: none !important; }

/* Re-mostrar SOLO en footer */
[data-elementor-type="footer"] .trp-language-switcher,
[data-elementor-type="footer"] [class*="trp-language-switcher"] {
  display: block !important; position: relative; z-index: 1;
}
[data-elementor-type="footer"] .trp-language-switcher select {
  background: transparent !important; color: var(--casaf-hueso) !important;
  border: 1px solid rgba(250,247,242,0.2) !important; padding: 6px 10px !important;
  border-radius: 2px !important; font: 500 13px 'Inter', sans-serif !important;
}
[data-elementor-type="footer"] .trp-language-switcher select option {
  background: var(--casaf-marino) !important; color: var(--casaf-hueso) !important;
}

/* PATCH 12.2 · Mobile nav: hamburger only, items hidden */
[data-elementor-type="header"] .elementor-nav-menu a,
[data-elementor-type="header"] .elementor-nav-menu .elementor-item,
[data-elementor-type="header"] nav.elementor-nav-menu--main a {
  font-size: 14px !important; line-height: 1.4 !important;
  font-family: 'Inter', sans-serif !important; letter-spacing: normal !important;
}
@media (max-width: 1024px) {
  [data-elementor-type="header"] .elementor-nav-menu--main > .elementor-nav-menu:not(.elementor-nav-menu--dropdown) { display: none !important; }
  [data-elementor-type="header"] .elementor-menu-toggle,
  [data-elementor-type="header"] [class*="menu-toggle"] {
    display: flex !important; color: var(--casaf-marino) !important;
    background: transparent !important; border: none !important; padding: 8px !important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown { background: var(--casaf-hueso) !important; padding: 16px !important; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a,
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-item {
    font-size: 18px !important; padding: 14px 20px !important; color: var(--casaf-carbon) !important;
    border-bottom: 1px solid var(--casaf-lineas) !important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a:hover { color: var(--casaf-rosa) !important; background: transparent !important; }
}
[data-elementor-type="header"] .elementor-nav-menu h1,
[data-elementor-type="header"] .elementor-nav-menu h2,
[data-elementor-type="header"] .elementor-nav-menu h3,
[data-elementor-type="header"] .elementor-nav-menu h4 {
  font-size: 14px !important; font-weight: 500 !important; letter-spacing: normal !important; display: inline !important;
}

/* PATCH 12.1-fix · El switcher integrado vive en el HEADER (el footer template no tiene uno propio).
   El doc asumió footer; en este build está en el header. Mostramos solo ese, el resto (floating/cards/archive) sigue oculto. */
[data-elementor-type="header"] .trp-language-switcher,
[data-elementor-type="header"] [class*="trp-language"],
[data-elementor-type="header"] .elementor-shortcode .trp-language-switcher {
  display: inline-block !important;
}

/* ============================================================
   PATCH 13 (2026-05-29) — Lang switcher footer + padding archive + spacing -25%
   ============================================================ */

/* PATCH 13.2 · Lang switcher en footer */
.casaf-footer-lang-switcher { display: inline-flex !important; align-items: center; margin-left: auto; }
.casaf-footer-lang-switcher .trp-language-switcher { display: inline-block !important; background: transparent !important; }
.casaf-footer-lang-switcher .trp-language-switcher select,
.casaf-footer-lang-switcher select {
  background: transparent !important; color: var(--casaf-hueso) !important;
  border: 1px solid rgba(250,247,242,0.2) !important; padding: 6px 28px 6px 12px !important;
  border-radius: 2px !important; font: 500 13px 'Inter', sans-serif !important; cursor: pointer; appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--casaf-hueso) 50%), linear-gradient(135deg, var(--casaf-hueso) 50%, transparent 50%) !important;
  background-position: calc(100% - 14px) 50%, calc(100% - 9px) 50% !important;
  background-size: 5px 5px, 5px 5px !important; background-repeat: no-repeat !important;
}
.casaf-footer-lang-switcher option { background: var(--casaf-marino) !important; color: var(--casaf-hueso) !important; }
.casaf-footer-lang-switcher .trp-language-switcher:hover select,
.casaf-footer-lang-switcher select:hover { border-color: var(--casaf-rosa) !important; }

/* PATCH 13.3 · Padding lateral archive /habitaciones/ */
.page-id-9 .elementor-section-wrap,
.page-id-9 main,
.page-id-9 .elementor-section { padding-left: 48px; padding-right: 48px; }
.casaf-rooms-grid { max-width: 1280px; margin: 0 auto !important; }
.page-id-9 .casaf-rooms-grid { padding-left: 48px; padding-right: 48px; box-sizing: border-box; }
@media (max-width: 1024px) {
  .page-id-9 .elementor-section-wrap,
  .page-id-9 main,
  .page-id-9 .casaf-rooms-grid { padding-left: 32px; padding-right: 32px; }
}
@media (max-width: 640px) {
  .page-id-9 .elementor-section-wrap,
  .page-id-9 main,
  .page-id-9 .casaf-rooms-grid { padding-left: 24px; padding-right: 24px; }
}

/* PATCH 13.4 · Spacing global reducido (-25%) */
.elementor-section-wrap > .elementor-element.e-con-full,
section.e-con,
.elementor-element.e-flex.e-con-full.e-con { padding-top: 96px !important; padding-bottom: 96px !important; }
.casaf-section-teal,
.casaf-section-teal-profundo { padding-top: 100px !important; padding-bottom: 100px !important; }
.casaf-section-hero,
.elementor-element.casaf-section-hero { padding-top: 80px !important; padding-bottom: 100px !important; }
.casaf-trust-bar,
.elementor-element.casaf-trust-bar { padding-top: 40px !important; padding-bottom: 40px !important; }
@media (max-width: 1024px) {
  .elementor-section-wrap > .elementor-element.e-con-full,
  section.e-con,
  .elementor-element.e-flex.e-con-full.e-con { padding-top: 72px !important; padding-bottom: 72px !important; }
  .casaf-section-teal, .casaf-section-teal-profundo { padding-top: 80px !important; padding-bottom: 80px !important; }
}
@media (max-width: 640px) {
  .elementor-section-wrap > .elementor-element.e-con-full,
  section.e-con,
  .elementor-element.e-flex.e-con-full.e-con,
  .casaf-section-teal, .casaf-section-teal-profundo { padding-top: 64px !important; padding-bottom: 64px !important; }
  .casaf-section-hero { padding-top: 48px !important; padding-bottom: 56px !important; }
  .casaf-trust-bar { padding-top: 32px !important; padding-bottom: 32px !important; }
}

/* Re-proteger header/footer del selector amplio de 13.4 (igual que Patch 9.6) */
[data-elementor-type="header"] .elementor-element.e-flex.e-con-full.e-con,
[data-elementor-type="header"] .e-con-inner,
[data-elementor-type="header"] .casaf-header { padding-top: 0 !important; padding-bottom: 0 !important; }
[data-elementor-type="footer"] .elementor-element.e-flex.e-con-full.e-con,
[data-elementor-type="footer"] .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
[data-elementor-type="footer"] .casaf-footer-bottom.e-flex.e-con-full.e-con { padding-top: 32px !important; padding-bottom: 0 !important; }

/* ============================================================
   PATCH 14 (2026-05-29) — Single Panorama + WhatsApp + home fixes
   ============================================================ */

/* Fix 2.3 · Single Panorama */
.casaf-panorama-hero { background: var(--casaf-marino); color: var(--casaf-hueso); }
.casaf-panorama-hero .overline { color: var(--casaf-rosa-palido) !important; }
.casaf-panorama-hero h2.casaf-panorama-date,
.casaf-panorama-hero .casaf-panorama-date {
  color: var(--casaf-rosa-palido) !important; font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 28px !important; font-weight: 500 !important; letter-spacing: -0.5px; margin-bottom: 16px;
}
.casaf-panorama-hero h1.casaf-panorama-title,
.casaf-panorama-hero .casaf-panorama-title {
  color: var(--casaf-hueso) !important; font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 64px !important; font-weight: 500 !important; line-height: 1.05 !important; letter-spacing: -1.8px !important; margin: 16px 0;
}
.casaf-panorama-hero h5.casaf-panorama-location,
.casaf-panorama-hero .casaf-panorama-location {
  color: var(--casaf-ocre-palido) !important; font-family: 'Inter', sans-serif !important;
  font-size: 18px !important; font-weight: 400 !important; font-style: italic;
}
.casaf-panorama-body { background: var(--casaf-hueso); padding: 64px 48px !important; }
.casaf-panorama-featured img { width: 100% !important; height: auto !important; border-radius: 4px; box-shadow: var(--casaf-shadow-paper); }
.casaf-panorama-content { font-family: 'Inter', sans-serif !important; font-size: 17px !important; line-height: 1.7 !important; color: var(--casaf-carbon) !important; }
.casaf-panorama-content p { margin-bottom: 20px; }
.casaf-panorama-details-card { background: var(--casaf-crema) !important; border-left: 3px solid var(--casaf-rosa) !important; }
.casaf-panorama-details { margin-top: 16px; }
.casaf-panorama-details dt { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; color: var(--casaf-piedra); margin-top: 16px; }
.casaf-panorama-details dt:first-child { margin-top: 0; }
.casaf-panorama-details dd { font-family: 'Inter', sans-serif; font-size: 16px; color: var(--casaf-carbon); margin: 4px 0 0 0; }
.casaf-panorama-details dd a { color: var(--casaf-marino); border-bottom: 1px solid transparent; transition: border-bottom 180ms; }
.casaf-panorama-details dd a:hover { border-bottom-color: var(--casaf-rosa); }
@media (max-width: 1024px) {
  .casaf-panorama-hero h1.casaf-panorama-title { font-size: 44px !important; }
  .casaf-panorama-body { flex-direction: column !important; }
  .casaf-panorama-body > * { width: 100% !important; }
}

/* Fix 3.2 · CTA WhatsApp habitación */
.casaf-room-cta-wa {
  display: inline-flex !important; align-items: center; background: #25D366 !important; color: #FFFFFF !important;
  font-family: 'Inter', sans-serif !important; font-size: 14px !important; font-weight: 600 !important;
  padding: 10px 18px !important; border-radius: 2px; text-decoration: none !important; border: none !important;
  transition: all 220ms ease-out; margin-top: 16px; letter-spacing: 0.2px; align-self: flex-start;
}
.casaf-room-cta-wa:hover { background: #1FAB52 !important; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(37,211,102,0.25); }
.casaf-room-cta-wa svg { fill: currentColor; }

/* Fix 4 · Header inner vertical-center */
[data-elementor-type="header"] > .e-con,
[data-elementor-type="header"] > .elementor-element.e-con-full { align-items: center !important; justify-content: space-between !important; }
[data-elementor-type="header"] .elementor-nav-menu--main,
[data-elementor-type="header"] nav.elementor-nav-menu--main { display: flex !important; align-items: center !important; height: 100%; }
[data-elementor-type="header"] .elementor-nav-menu { align-items: center !important; }

/* Fix 5 · Hero padding-top reducido */
.casaf-section-hero,
.elementor-element.casaf-section-hero { padding-top: 48px !important; }
@media (max-width: 640px) { .casaf-section-hero { padding-top: 32px !important; } }

/* Fix 6 · Hero image fill container */
.casaf-hero-image,
.casaf-hero-image .elementor-widget-image,
.casaf-hero-image .elementor-widget-image .elementor-widget-container { height: 100% !important; display: flex !important; }
.casaf-hero-image img,
.casaf-hero-image .elementor-widget-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; display: block !important; margin: 0 !important; }
.elementor-element.casaf-hero-image,
.elementor-element[class*="casaf-hero-image"] { align-self: stretch !important; overflow: hidden !important; border-radius: 4px; }

/* Fix 7 · Vintage frame image fill */
.casaf-vintage-frame { display: flex !important; overflow: hidden !important; }
.casaf-vintage-frame > *,
.casaf-vintage-frame .elementor-widget-image,
.casaf-vintage-frame .elementor-widget-image .elementor-widget-container { width: 100% !important; height: 100% !important; display: flex !important; margin: 0 !important; }
.casaf-vintage-frame img,
.casaf-vintage-frame .elementor-widget-image img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center !important; display: block !important; margin: 0 !important; border-radius: 0 !important; }

/* ============================================================
   PATCH 15 (2026-05-29) — Single panorama + archive + layouts
   ============================================================ */

/* Single panorama hero (rebuild) */
.casaf-panorama-hero h6.overline,
.casaf-panorama-hero .overline { color: var(--casaf-rosa-palido) !important; }
.casaf-panorama-hero h2.casaf-panorama-date {
  color: var(--casaf-rosa-palido) !important; font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 28px !important; font-weight: 500 !important; letter-spacing: -0.5px !important; margin-bottom: 16px !important;
}
.casaf-panorama-hero h1.casaf-panorama-title {
  color: var(--casaf-hueso) !important; font-family: 'Bricolage Grotesque', sans-serif !important;
  font-size: 72px !important; font-weight: 500 !important; line-height: 1.05 !important; letter-spacing: -2px !important; margin: 16px 0 !important;
}
.casaf-panorama-hero h5.casaf-panorama-location {
  color: var(--casaf-ocre-palido) !important; font-family: 'Inter', sans-serif !important;
  font-size: 18px !important; font-weight: 400 !important; font-style: italic !important;
}
.casaf-panorama-body { background: var(--casaf-hueso); }
.casaf-panorama-featured img { width: 100% !important; height: auto !important; border-radius: 4px; box-shadow: var(--casaf-shadow-paper); }
.casaf-panorama-content-wrapper { font-family: 'Inter', sans-serif !important; font-size: 17px !important; line-height: 1.7 !important; color: var(--casaf-carbon) !important; max-width: 65ch; }
.casaf-panorama-content-wrapper p { margin-bottom: 20px; }
.casaf-panorama-details-card { border-left: 3px solid var(--casaf-rosa) !important; }

/* Sidebar layout list */
.casaf-panoramas-list { display: flex; flex-direction: column; gap: 16px; margin-top: 16px; }
.casaf-panoramas-list .casaf-panorama-card { display: flex; flex-direction: row; gap: 12px; align-items: flex-start; background: transparent; border: none; border-bottom: 1px solid var(--casaf-lineas); padding-bottom: 16px; box-shadow: none; transition: none; }
.casaf-panoramas-list .casaf-panorama-card:last-child { border-bottom: none; }
.casaf-panoramas-list .casaf-panorama-card:hover { transform: none; box-shadow: none; }
.casaf-panoramas-list .casaf-panorama-photo,
.casaf-panoramas-list .casaf-panorama-photo img { width: 80px !important; height: 80px !important; object-fit: cover !important; aspect-ratio: 1/1 !important; border-radius: 2px; flex-shrink: 0; }
.casaf-panoramas-list .casaf-panorama-body { flex: 1; padding: 0 !important; }
.casaf-panoramas-list .casaf-panorama-date { font-size: 11px !important; margin-bottom: 4px !important; }
.casaf-panoramas-list .casaf-panorama-title { font-size: 15px !important; font-family: 'Bricolage Grotesque', sans-serif !important; line-height: 1.25 !important; margin-bottom: 4px !important; letter-spacing: -0.3px !important; }
.casaf-panoramas-list .casaf-panorama-desc,
.casaf-panoramas-list .casaf-panorama-link { display: none; }

@media (max-width: 1024px) {
  .casaf-panorama-hero h1.casaf-panorama-title { font-size: 48px !important; letter-spacing: -1.2px !important; }
  .casaf-panorama-body { flex-direction: column !important; gap: 32px !important; }
  .casaf-panorama-body > * { width: 100% !important; }
}

/* Archive Panoramas hero */
.casaf-archive-hero { border-bottom: 1px solid var(--casaf-lineas); }
.casaf-archive-hero .overline { color: var(--casaf-rosa) !important; }
.casaf-archive-hero h1.casaf-archive-title {
  font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 72px !important; font-weight: 500 !important;
  letter-spacing: -2px !important; line-height: 1.05 !important; color: var(--casaf-marino) !important; margin-bottom: 16px !important;
}
.casaf-archive-hero h1.casaf-archive-title em { color: var(--casaf-teal) !important; font-style: italic; }
@media (max-width: 640px) { .casaf-archive-hero h1.casaf-archive-title { font-size: 42px !important; } }

/* Fix 4 defensivo · gap intro-cards habitaciones */
.page-id-9 .casaf-rooms-grid { margin-top: 32px !important; padding-top: 0 !important; }
.page-id-9 .elementor-widget-text-editor + .e-con-full { margin-top: 0 !important; padding-top: 0 !important; }

/* ============================================================
   PATCH 16 (2026-05-29) — Share buttons + footer social + footer simplificado
   ============================================================ */

/* 16.1 · Share buttons single panorama */
.casaf-panorama-share { margin-top: 16px !important; }
.casaf-panorama-share .elementor-share-buttons,
.casaf-panorama-share .elementor-grid { gap: 8px !important; display: flex !important; flex-wrap: wrap; }
.casaf-panorama-share .elementor-share-btn {
  background: transparent !important; border: 1px solid var(--casaf-lineas) !important; border-radius: 2px !important;
  padding: 10px 14px !important; transition: all 200ms ease-out !important;
  font-family: 'Inter', sans-serif !important; font-size: 13px !important; font-weight: 500 !important;
}
.casaf-panorama-share .elementor-share-btn:hover { border-color: var(--casaf-rosa) !important; background: transparent !important; transform: translateY(-1px); }
.casaf-panorama-share .elementor-share-btn__icon,
.casaf-panorama-share .elementor-share-btn__icon i,
.casaf-panorama-share .elementor-share-btn__icon svg { color: var(--casaf-marino) !important; fill: var(--casaf-marino) !important; }
.casaf-panorama-share .elementor-share-btn:hover .elementor-share-btn__icon,
.casaf-panorama-share .elementor-share-btn:hover .elementor-share-btn__icon i,
.casaf-panorama-share .elementor-share-btn:hover .elementor-share-btn__icon svg { color: var(--casaf-rosa) !important; fill: var(--casaf-rosa) !important; }
.casaf-panorama-share .elementor-share-btn__title { color: var(--casaf-carbon) !important; font-family: 'Inter', sans-serif !important; }

/* 16.2 · Footer social icons */
.casaf-footer-social { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
.casaf-footer-social .casaf-social-link {
  display: inline-flex; align-items: center; gap: 10px; color: var(--casaf-lineas) !important;
  font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 500; text-decoration: none;
  padding: 4px 0; border-bottom: 1px solid transparent; transition: all 200ms ease-out; width: fit-content;
}
.casaf-footer-social .casaf-social-link:hover { color: var(--casaf-rosa) !important; border-bottom-color: var(--casaf-rosa); }
.casaf-footer-social .casaf-social-link svg { flex-shrink: 0; }

/* 16.3 · Footer simplificado */
.casaf-footer-list { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.casaf-footer-list li { margin-bottom: 8px !important; font-family: 'Inter', sans-serif; font-size: 14px; }
.casaf-footer-list li a { color: var(--casaf-lineas) !important; text-decoration: none; border-bottom: 1px solid transparent; transition: all 200ms ease-out; padding-bottom: 2px; }
.casaf-footer-list li a:hover { color: var(--casaf-rosa) !important; border-bottom-color: var(--casaf-rosa); }
.casaf-footer-contact { font-family: 'Inter', sans-serif !important; font-size: 13px !important; color: var(--casaf-ocre-palido) !important; margin-top: 8px !important; }
@media (max-width: 1024px) {
  .casaf-footer-cols { flex-wrap: wrap !important; }
  .casaf-footer-cols > * { width: 48% !important; flex-basis: 48% !important; }
  .casaf-footer-cols > *:first-child { width: 100% !important; flex-basis: 100% !important; }
}
@media (max-width: 640px) {
  .casaf-footer-cols { flex-direction: column !important; }
  .casaf-footer-cols > * { width: 100% !important; flex-basis: 100% !important; }
  .casaf-footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 16px; }
}

/* ============================================================
   PATCH 17 (2026-05-29) — Lang color + footer balance + spacing -50% + mobile menu + trust bar mobile
   ============================================================ */

/* 17.2 · Lang switcher footer color override agresivo */
[data-elementor-type="footer"] .trp-language-switcher,
[data-elementor-type="footer"] .trp-language-switcher *,
[data-elementor-type="footer"] .trp-language-switcher a,
[data-elementor-type="footer"] .trp-language-switcher span,
[data-elementor-type="footer"] .trp-language-switcher select,
[data-elementor-type="footer"] [class*="trp-language"] *,
[data-elementor-type="footer"] .casaf-footer-lang-switcher *,
[data-elementor-type="footer"] .casaf-footer-lang-switcher a { color: var(--casaf-hueso) !important; }
[data-elementor-type="footer"] .trp-language-switcher select option,
[data-elementor-type="footer"] .trp-language-switcher option { background: var(--casaf-marino) !important; color: var(--casaf-hueso) !important; }
[data-elementor-type="footer"] .trp-language-switcher a:hover,
[data-elementor-type="footer"] .casaf-footer-lang-switcher a:hover { color: var(--casaf-rosa) !important; }
[data-elementor-type="footer"] .trp-language-switcher,
[data-elementor-type="footer"] .casaf-footer-lang-switcher .trp-language-switcher { background: transparent !important; }

/* 17.3 · Footer cols balance */
.casaf-footer-cols { align-items: stretch !important; }
.casaf-footer-brand .casaf-footer-contact { font-size: 12px !important; margin-top: 8px !important; color: var(--casaf-ocre-palido) !important; }
.casaf-footer-logo { margin-bottom: 12px !important; }
.casaf-footer-logo img { width: 36px !important; height: 36px !important; }
.casaf-footer-logo .footer-name { font-size: 22px !important; }
.casaf-footer-brand .elementor-widget-text-editor p { font-size: 13px !important; line-height: 1.55 !important; }

/* 17.4 · Spacing global compacto v2 */
.elementor-section-wrap > .elementor-element.e-con-full,
section.e-con,
.elementor-element.e-flex.e-con-full.e-con { padding-top: 72px !important; padding-bottom: 72px !important; }
.casaf-section-teal,
.casaf-section-teal-profundo { padding-top: 80px !important; padding-bottom: 80px !important; }
.casaf-section-hero,
.elementor-element.casaf-section-hero { padding-top: 40px !important; padding-bottom: 80px !important; }
.casaf-trust-bar,
.elementor-element.casaf-trust-bar { padding-top: 32px !important; padding-bottom: 32px !important; }
.block .overline { margin-bottom: 16px !important; }
.block h2 { margin-bottom: 20px !important; }
.timeline { margin-top: 32px !important; }
@media (max-width: 1024px) {
  .elementor-section-wrap > .elementor-element.e-con-full,
  section.e-con,
  .elementor-element.e-flex.e-con-full.e-con { padding-top: 56px !important; padding-bottom: 56px !important; }
  .casaf-section-teal, .casaf-section-teal-profundo { padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 640px) {
  .elementor-section-wrap > .elementor-element.e-con-full,
  section.e-con,
  .elementor-element.e-flex.e-con-full.e-con,
  .casaf-section-teal, .casaf-section-teal-profundo { padding-top: 48px !important; padding-bottom: 48px !important; }
  .casaf-section-hero { padding-top: 32px !important; padding-bottom: 40px !important; }
  .casaf-trust-bar { padding-top: 24px !important; padding-bottom: 24px !important; }
}

/* Re-proteger header/footer del selector amplio (igual que Patch 9.6/13) */
[data-elementor-type="header"] .elementor-element.e-flex.e-con-full.e-con,
[data-elementor-type="header"] .e-con-inner,
[data-elementor-type="header"] .casaf-header { padding-top: 0 !important; padding-bottom: 0 !important; }
[data-elementor-type="footer"] .elementor-element.e-flex.e-con-full.e-con,
[data-elementor-type="footer"] .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
[data-elementor-type="footer"] .casaf-footer-bottom.e-flex.e-con-full.e-con { padding-top: 32px !important; padding-bottom: 0 !important; }

/* 17.5 · Mobile hamburger toggle + X */
@media (max-width: 1024px) {
  [data-elementor-type="header"] .elementor-menu-toggle {
    display: flex !important; background: transparent !important; border: none !important;
    color: var(--casaf-marino) !important; padding: 8px !important; cursor: pointer;
    z-index: 9999 !important; position: relative; margin-left: auto;
  }
  [data-elementor-type="header"] .elementor-menu-toggle svg,
  [data-elementor-type="header"] .elementor-menu-toggle i { color: var(--casaf-marino) !important; font-size: 28px !important; width: 28px !important; height: 28px !important; }
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active svg,
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active i { color: var(--casaf-rosa) !important; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown {
    background: rgba(250,247,242,0.98) !important; backdrop-filter: blur(20px); padding: 24px !important;
    position: absolute !important; top: 100%; left: 0; right: 0; z-index: 998; box-shadow: 0 8px 24px rgba(15,42,74,0.1);
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a,
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-item {
    font-size: 18px !important; padding: 16px 20px !important; color: var(--casaf-carbon) !important;
    border-bottom: 1px solid var(--casaf-lineas) !important; font-family: 'Inter', sans-serif !important; font-weight: 500 !important; text-align: center;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a:hover { color: var(--casaf-rosa) !important; background: transparent !important; }
}

/* 17.6 · Trust bar mobile 2x2 compacto */
@media (max-width: 640px) {
  .casaf-trust-bar > .e-con-inner,
  .casaf-trust-bar .e-con-inner { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 16px !important; }
  .casaf-trust-bar > .e-con-inner > *,
  .casaf-trust-bar .e-con-inner > .elementor-element { min-height: auto !important; height: auto !important; padding: 12px 8px !important; text-align: center; }
  .casaf-stat-num,
  .casaf-stat-num.elementor-heading-title { font-size: 36px !important; line-height: 1 !important; margin-bottom: 4px !important; letter-spacing: -1px !important; }
  .casaf-trust-bar h6.elementor-heading-title,
  .casaf-trust-bar .overline { font-size: 10px !important; letter-spacing: 1.2px !important; }
}
@media (min-width: 641px) and (max-width: 1024px) {
  .casaf-stat-num,
  .casaf-stat-num.elementor-heading-title { font-size: 44px !important; }
}

/* ============================================================
   PATCH 18 (2026-05-29) — Archive magazine + header mobile overhaul + form mobile
   ============================================================ */

/* 18.1 · Archive Panoramas magazine layout */
.casaf-panoramas-featured-wrap { margin-bottom: 64px; max-width: 1280px; margin-left: auto; margin-right: auto; }
.casaf-panorama-featured { background: var(--casaf-marfil); border: 1px solid var(--casaf-lineas); border-radius: 4px; overflow: hidden; box-shadow: var(--casaf-shadow-paper); transition: all 280ms ease-out; }
.casaf-panorama-featured:hover { transform: translateY(-2px); box-shadow: var(--casaf-shadow-lift); }
.casaf-panorama-featured-link { display: grid !important; grid-template-columns: 60% 40% !important; gap: 0 !important; text-decoration: none !important; color: inherit; }
.casaf-panorama-featured-photo { aspect-ratio: 16/10; overflow: hidden; background: linear-gradient(135deg, var(--casaf-marfil), var(--casaf-crema)); }
.casaf-panorama-featured-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms ease; }
.casaf-panorama-featured:hover .casaf-panorama-featured-photo img { transform: scale(1.03); }
.casaf-panorama-featured-body { padding: 48px 48px; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.casaf-panorama-featured-meta { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; }
.casaf-feat-cat { color: var(--casaf-marino); }
.casaf-feat-tag { color: var(--casaf-hueso); background: var(--casaf-rosa); padding: 4px 10px; border-radius: 2px; letter-spacing: 1.2px; }
.casaf-panorama-featured-title { font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 44px !important; font-weight: 500 !important; line-height: 1.08 !important; letter-spacing: -1.2px !important; color: var(--casaf-marino) !important; margin: 0 !important; }
.casaf-panorama-featured-lead { font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.6; color: var(--casaf-piedra); margin: 0; max-width: 60ch; }
.casaf-panorama-featured-info { display: flex; gap: 16px; flex-wrap: wrap; font-family: 'Inter', sans-serif; font-size: 13px; color: var(--casaf-bruma); padding-top: 12px; border-top: 1px solid var(--casaf-lineas); }
.casaf-feat-date { font-weight: 600; color: var(--casaf-marino); }
.casaf-feat-hora::before, .casaf-feat-lugar::before { content: "· "; color: var(--casaf-rosa); margin-right: 2px; }
.casaf-feat-cta { display: inline-block; margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 600; color: var(--casaf-marino); padding-bottom: 2px; border-bottom: 1px solid var(--casaf-rosa); width: fit-content; transition: all 200ms ease; }
.casaf-panorama-featured:hover .casaf-feat-cta { color: var(--casaf-rosa); }
.casaf-panoramas-grid--rest { display: grid; grid-template-columns: repeat(3, 1fr) !important; gap: 32px; max-width: 1280px; margin: 0 auto; }
@media (max-width: 1024px) {
  .casaf-panorama-featured-link { grid-template-columns: 1fr !important; }
  .casaf-panorama-featured-photo { aspect-ratio: 16/9; }
  .casaf-panorama-featured-body { padding: 32px 28px; }
  .casaf-panorama-featured-title { font-size: 32px !important; letter-spacing: -0.8px !important; }
  .casaf-panoramas-grid--rest { grid-template-columns: repeat(2, 1fr) !important; gap: 24px; }
}
@media (max-width: 640px) {
  .casaf-panorama-featured-body { padding: 24px 20px; gap: 12px; }
  .casaf-panorama-featured-title { font-size: 26px !important; letter-spacing: -0.5px !important; }
  .casaf-panorama-featured-lead { font-size: 15px; }
  .casaf-panoramas-grid--rest { grid-template-columns: 1fr !important; gap: 20px; }
}

/* 18.2 · Header mobile UX overhaul */
@media (max-width: 1024px) {
  [data-elementor-type="header"] > .e-con,
  [data-elementor-type="header"] > .elementor-element { display: flex !important; flex-direction: row !important; justify-content: space-between !important; align-items: center !important; padding: 12px 20px !important; height: 64px !important; }
  [data-elementor-type="header"] [class*="brand"] { order: 1; flex: 0 0 auto; margin-right: auto; }
  [data-elementor-type="header"] .elementor-nav-menu--main > .elementor-nav-menu:not(.elementor-nav-menu--dropdown) { display: none !important; }
  [data-elementor-type="header"] > .e-con .casaf-btn-cta,
  [data-elementor-type="header"] > .elementor-element .casaf-btn-cta { display: none !important; }
  [data-elementor-type="header"] .elementor-menu-toggle { order: 2; flex: 0 0 auto; margin-left: auto; background: transparent !important; border: none !important; color: var(--casaf-marino) !important; padding: 8px !important; cursor: pointer; z-index: 9999 !important; position: relative; }
  [data-elementor-type="header"] .elementor-menu-toggle i,
  [data-elementor-type="header"] .elementor-menu-toggle svg { color: var(--casaf-marino) !important; fill: var(--casaf-marino) !important; font-size: 28px !important; width: 28px !important; height: 28px !important; }
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active i,
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active svg { color: var(--casaf-rosa) !important; fill: var(--casaf-rosa) !important; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown {
    position: fixed !important; top: 64px !important; left: 0 !important; right: 0 !important; width: 100vw !important; max-width: 100vw !important;
    min-height: calc(100vh - 64px); background: rgba(250,247,242,0.98) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important;
    padding: 32px 24px !important; z-index: 9998 !important; box-shadow: 0 16px 32px rgba(15,42,74,0.08); overflow-y: auto;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown ul.elementor-nav-menu { display: flex !important; flex-direction: column !important; gap: 0 !important; padding: 0 !important; margin: 0 !important; list-style: none !important; width: 100% !important; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown li { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a,
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-item {
    display: flex !important; align-items: center !important; justify-content: flex-start !important; width: 100% !important; padding: 20px 16px !important;
    font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 24px !important; font-weight: 500 !important; color: var(--casaf-marino) !important;
    letter-spacing: -0.5px !important; text-align: left !important; text-decoration: none !important; border-bottom: 1px solid var(--casaf-lineas) !important; background: transparent !important; transition: all 200ms ease;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a:hover,
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a:active { color: var(--casaf-rosa) !important; padding-left: 20px !important; }
  /* CTA destacado dentro del dropdown */
  [data-elementor-type="header"] .elementor-nav-menu--dropdown li.casaf-menu-cta a,
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a[href*="postular"] {
    background: var(--casaf-rosa) !important; color: var(--casaf-hueso) !important; border-radius: 2px !important; margin-top: 24px !important;
    border-bottom: none !important; justify-content: center !important; padding: 18px 24px !important; font-size: 17px !important; font-weight: 600 !important; text-transform: none !important; font-family: 'Inter', sans-serif !important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown li.casaf-menu-cta a:hover { background: var(--casaf-rosa-dark) !important; color: var(--casaf-hueso) !important; padding-left: 24px !important; }
}

/* 18.3 · Form Postular mobile compacto */
@media (max-width: 640px) {
  .casaf-form-card { padding: 24px 20px !important; margin-left: -8px; margin-right: -8px; }
  .casaf-form-card h3 { font-size: 24px !important; line-height: 1.2 !important; letter-spacing: -0.5px !important; margin-bottom: 6px !important; }
  .casaf-form-card .sub { font-size: 13px !important; margin-bottom: 24px !important; }
  .casaf-form-card .field { margin-bottom: 18px !important; }
  .casaf-form-card label,
  .casaf-postular-form .elementor-field-group > label { font-size: 10px !important; letter-spacing: 1.4px !important; margin-bottom: 6px !important; }
  .casaf-form-card input, .casaf-form-card select, .casaf-form-card textarea,
  .casaf-postular-form .elementor-field { font-size: 16px !important; padding: 9px 4px !important; }
  .casaf-form-card .field-row,
  .casaf-postular-form .elementor-field-group { grid-template-columns: 1fr !important; gap: 0 !important; }
  .casaf-form-card button[type="submit"],
  .casaf-form-card .casaf-btn-cta,
  .casaf-postular-form .elementor-button { font-size: 16px !important; padding: 14px 24px !important; margin-top: 8px !important; }
  .casaf-form-card .form-disclaimer { font-size: 11px !important; margin-top: 12px !important; }
}

/* PATCH 18.2-fix · ocultar CTA del header bar en mobile (selector robusto, supera el inline-flex del Patch 10) */
@media (max-width: 1024px) {
  [data-elementor-type="header"] .elementor-widget.casaf-btn-cta,
  [data-elementor-type="header"] .casaf-btn-cta,
  [data-elementor-type="header"] .elementor-element.casaf-btn-cta { display: none !important; }
}

/* PATCH 18.2-fix2 · ocultar el container del CTA (casaf-header-right) en mobile */
@media (max-width: 1024px) {
  [data-elementor-type="header"] .casaf-header-right { display: none !important; }
}

/* ============================================================
   PATCH 19 (2026-05-29) — Home Panoramas magazine spread
   ============================================================ */
.casaf-panoramas-spread { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 48px !important; max-width: 1280px; margin: 32px auto 0 auto; }

/* FEATURED col izq */
.casaf-spread-featured { background: var(--casaf-hueso); border-radius: 4px; overflow: hidden; }
.casaf-spread-featured-link { display: flex !important; flex-direction: column !important; text-decoration: none !important; color: inherit; height: 100%; }
.casaf-spread-featured-photo { aspect-ratio: 16/10; overflow: hidden; background: var(--casaf-marfil); margin-bottom: 24px; border-radius: 4px; }
.casaf-spread-featured-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms ease; }
.casaf-spread-featured:hover .casaf-spread-featured-photo img { transform: scale(1.03); }
.casaf-spread-featured-body { display: flex; flex-direction: column; gap: 14px; }
.casaf-spread-featured-meta-top { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; }
.casaf-spread-cat { color: var(--casaf-marino); }
.casaf-spread-destacado { color: var(--casaf-hueso); background: var(--casaf-rosa); padding: 4px 10px; border-radius: 2px; letter-spacing: 1.2px; font-size: 10px; }
.casaf-spread-featured-title { font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 36px !important; font-weight: 500 !important; line-height: 1.1 !important; letter-spacing: -0.8px !important; color: var(--casaf-marino) !important; margin: 0 !important; }
.casaf-spread-featured-lead { font-family: 'Inter', sans-serif; font-size: 17px; line-height: 1.55; color: var(--casaf-piedra); margin: 0; max-width: 50ch; }
.casaf-spread-featured-info { display: flex; gap: 12px; flex-wrap: wrap; font-family: 'Inter', sans-serif; font-size: 13px; color: var(--casaf-piedra); padding-top: 12px; border-top: 1px solid var(--casaf-lineas); }
.casaf-spread-date { font-weight: 600; color: var(--casaf-marino); }
.casaf-spread-hora::before, .casaf-spread-lugar::before { content: "· "; color: var(--casaf-rosa); margin-right: 2px; }
.casaf-spread-cta { display: inline-block; margin-top: 8px; font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 600; color: var(--casaf-marino); padding-bottom: 2px; border-bottom: 1px solid var(--casaf-rosa); width: fit-content; transition: all 200ms ease; }
.casaf-spread-featured:hover .casaf-spread-cta { color: var(--casaf-rosa); padding-left: 4px; }

/* SIDEBAR col der — 3 mini cards */
.casaf-spread-sidebar { display: flex !important; flex-direction: column !important; gap: 24px !important; }
.casaf-spread-mini { border-bottom: 1px solid var(--casaf-lineas); padding-bottom: 24px; }
.casaf-spread-mini:last-child { border-bottom: none; padding-bottom: 0; }
.casaf-spread-mini-link { display: grid !important; grid-template-columns: 140px 1fr !important; gap: 20px !important; text-decoration: none !important; color: inherit; align-items: start; }
.casaf-spread-mini-photo { aspect-ratio: 3/2; overflow: hidden; border-radius: 4px; background: var(--casaf-marfil); }
.casaf-spread-mini-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms ease; }
.casaf-spread-mini:hover .casaf-spread-mini-photo img { transform: scale(1.05); }
.casaf-spread-mini-body { display: flex; flex-direction: column; gap: 6px; }
.casaf-spread-mini-cat { font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; color: var(--casaf-rosa); }
.casaf-spread-mini-title { font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 20px !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: -0.4px !important; color: var(--casaf-marino) !important; margin: 0 !important; transition: color 200ms ease; }
.casaf-spread-mini:hover .casaf-spread-mini-title { color: var(--casaf-rosa) !important; }
.casaf-spread-mini-meta { display: flex; gap: 4px; flex-wrap: wrap; font-family: 'Inter', sans-serif; font-size: 12px; color: var(--casaf-bruma); margin-top: 4px; }
.casaf-spread-mini-meta time { color: var(--casaf-piedra); font-weight: 600; }

@media (max-width: 1024px) {
  .casaf-panoramas-spread { grid-template-columns: 1fr !important; gap: 48px !important; }
  .casaf-spread-featured-title { font-size: 30px !important; letter-spacing: -0.6px !important; }
}
@media (max-width: 640px) {
  .casaf-panoramas-spread { gap: 32px !important; }
  .casaf-spread-featured-title { font-size: 24px !important; letter-spacing: -0.4px !important; }
  .casaf-spread-featured-lead { font-size: 15px; }
  .casaf-spread-mini-link { grid-template-columns: 100px 1fr !important; gap: 14px !important; }
  .casaf-spread-mini-title { font-size: 17px !important; }
}

/* ============================================================
   PATCH 20 (2026-05-29) — Header mobile reset estructural completo (hotfix)
   ============================================================ */
@media (max-width: 1024px) {
  [data-elementor-type="header"] {
    position: sticky !important; top: 0 !important; left: 0 !important; right: 0 !important; width: 100% !important;
    height: 64px !important; min-height: 64px !important; max-height: 64px !important; overflow: visible !important;
    z-index: 100 !important; background: rgba(250,247,242,0.96) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--casaf-lineas); display: flex !important; align-items: center !important;
  }
  [data-elementor-type="header"] .e-con,
  [data-elementor-type="header"] .e-con-full,
  [data-elementor-type="header"] .e-con-boxed,
  [data-elementor-type="header"] .e-con-inner,
  [data-elementor-type="header"] .elementor-element.e-con {
    display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important;
    flex-wrap: nowrap !important; width: 100% !important; max-width: 100% !important;
    height: 64px !important; min-height: 64px !important; max-height: 64px !important; padding: 0 20px !important; margin: 0 !important; box-sizing: border-box !important;
  }
  [data-elementor-type="header"] .e-con-inner > *,
  [data-elementor-type="header"] .e-con-full > .e-con-full,
  [data-elementor-type="header"] .e-con-boxed > * { height: auto !important; max-height: 48px !important; margin: 0 !important; padding: 0 !important; align-self: center !important; flex: 0 0 auto !important; }
  [data-elementor-type="header"] .casaf-header-brand,
  [data-elementor-type="header"] [class*="brand"] { order: 1 !important; flex: 0 0 auto !important; margin-right: auto !important; display: flex !important; flex-direction: row !important; align-items: center !important; gap: 10px !important; height: 48px !important; max-height: 48px !important; }
  [data-elementor-type="header"] .casaf-header-brand img,
  [data-elementor-type="header"] [class*="brand"] img { width: 32px !important; height: 32px !important; max-width: 32px !important; max-height: 32px !important; margin: 0 !important; flex-shrink: 0; }
  [data-elementor-type="header"] .casaf-header-brand > *:not(img):not(.elementor-widget-image),
  [data-elementor-type="header"] .casaf-header-brand .elementor-widget-heading,
  [data-elementor-type="header"] .casaf-header-brand .elementor-widget-text-editor { display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; line-height: 1 !important; margin: 0 !important; padding: 0 !important; }
  [data-elementor-type="header"] .brand-name,
  [data-elementor-type="header"] [class*="brand-name"] { font-size: 16px !important; line-height: 1 !important; margin: 0 !important; padding: 0 !important; letter-spacing: -0.3px; }
  [data-elementor-type="header"] .brand-tag,
  [data-elementor-type="header"] [class*="brand-tag"] { font-size: 9px !important; letter-spacing: 1.2px !important; line-height: 1 !important; margin: 4px 0 0 0 !important; padding: 0 !important; color: var(--casaf-piedra); }
  [data-elementor-type="header"] .e-con-inner > .e-con-full:nth-child(2),
  [data-elementor-type="header"] .elementor-nav-menu--main > .elementor-nav-menu:not(.elementor-nav-menu--dropdown) { display: none !important; }
  [data-elementor-type="header"] .casaf-header-right,
  [data-elementor-type="header"] [class*="header-right"],
  [data-elementor-type="header"] .e-con-inner > .e-con-full:nth-child(3) { display: none !important; }
  [data-elementor-type="header"] > .e-con .casaf-btn-cta,
  [data-elementor-type="header"] .e-con .casaf-btn-cta { display: none !important; }
  [data-elementor-type="header"] .elementor-menu-toggle,
  [data-elementor-type="header"] [class*="menu-toggle"] {
    display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: center !important;
    order: 99 !important; margin-left: auto !important; margin-right: 0 !important; position: relative !important; top: auto !important; left: auto !important;
    width: 44px !important; height: 44px !important; max-height: 44px !important; padding: 0 !important; background: transparent !important; border: none !important; cursor: pointer; z-index: 9999 !important; flex: 0 0 44px !important; align-self: center !important;
  }
  [data-elementor-type="header"] .elementor-menu-toggle i,
  [data-elementor-type="header"] .elementor-menu-toggle svg { color: var(--casaf-marino) !important; fill: var(--casaf-marino) !important; font-size: 24px !important; width: 24px !important; height: 24px !important; line-height: 1 !important; margin: 0 !important; }
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active i,
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active svg { color: var(--casaf-rosa) !important; fill: var(--casaf-rosa) !important; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown {
    position: fixed !important; top: 64px !important; left: 0 !important; right: 0 !important; width: 100vw !important; max-width: 100vw !important; min-height: calc(100vh - 64px);
    background: rgba(250,247,242,0.98) !important; backdrop-filter: blur(20px) !important; -webkit-backdrop-filter: blur(20px) !important; padding: 24px 20px !important; z-index: 9998 !important; box-shadow: 0 16px 32px rgba(15,42,74,0.08); overflow-y: auto; margin: 0 !important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown ul.elementor-nav-menu { display: flex !important; flex-direction: column !important; gap: 0 !important; padding: 0 !important; margin: 0 !important; list-style: none !important; width: 100% !important; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown li { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a,
  [data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-item { display: flex !important; align-items: center !important; justify-content: flex-start !important; width: 100% !important; padding: 18px 16px !important; font-family: 'Bricolage Grotesque', sans-serif !important; font-size: 22px !important; font-weight: 500 !important; color: var(--casaf-marino) !important; letter-spacing: -0.4px !important; text-align: left !important; text-decoration: none !important; border-bottom: 1px solid var(--casaf-lineas) !important; background: transparent !important; transition: all 200ms ease; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a:hover { color: var(--casaf-rosa) !important; padding-left: 22px !important; }
  [data-elementor-type="header"] .elementor-nav-menu--dropdown li.casaf-menu-cta a,
  [data-elementor-type="header"] .elementor-nav-menu--dropdown a[href*="postular"] { background: var(--casaf-rosa) !important; color: var(--casaf-hueso) !important; border-radius: 2px !important; margin-top: 24px !important; border-bottom: none !important; justify-content: center !important; padding: 16px 24px !important; font-size: 16px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0.2px !important; }
}
@media (min-width: 641px) and (max-width: 1024px) {
  [data-elementor-type="header"] .e-con-inner { padding: 0 32px !important; }
  [data-elementor-type="header"] .brand-name { font-size: 18px !important; }
}

/* PATCH 20-fix · el toggle vive en el container nav (col2) — no ocultar el container, solo el UL inline */
@media (max-width: 1024px) {
  /* container del nav visible, empuja el toggle a la derecha */
  [data-elementor-type="header"] .e-con-inner > .e-con-full:nth-child(2) {
    display: flex !important;
    flex: 1 1 auto !important;
    justify-content: flex-end !important;
    align-items: center !important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--main {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    align-items: center !important;
  }
  /* ocultar SOLO el <ul> de items inline (no el toggle) */
  [data-elementor-type="header"] .elementor-nav-menu--main > ul.elementor-nav-menu:not(.elementor-nav-menu--dropdown),
  [data-elementor-type="header"] .elementor-nav-menu__container.elementor-nav-menu:not(.elementor-nav-menu--dropdown) {
    display: none !important;
  }
  /* toggle visible, a la derecha */
  [data-elementor-type="header"] .elementor-menu-toggle {
    display: flex !important;
    width: 44px !important; height: 44px !important;
    align-items: center !important; justify-content: center !important;
  }
}

/* PATCH 20-fix2 · toggle clavado a la derecha del header (no depende del flex-grow) */
@media (max-width: 1024px) {
  [data-elementor-type="header"] .elementor-menu-toggle {
    position: absolute !important;
    right: 20px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
  }
}

/* PATCH 20-fix3 · toggle a la derecha vía margin-left auto del container nav (anula absolute) */
@media (max-width: 1024px) {
  [data-elementor-type="header"] .elementor-menu-toggle {
    position: static !important;
    transform: none !important;
    right: auto !important;
    margin-left: auto !important;
  }
  [data-elementor-type="header"] .e-con-inner > .e-con-full:nth-child(2) {
    margin-left: auto !important;
    flex: 0 0 auto !important;
    justify-content: flex-end !important;
  }
}

/* PATCH 20-fix4 · orden correcto: brand izquierda (order 0), nav+toggle derecha (order 2) */
@media (max-width: 1024px) {
  [data-elementor-type="header"] .casaf-header-brand,
  [data-elementor-type="header"] [class*="brand"] { order: 0 !important; margin-right: 0 !important; }
  [data-elementor-type="header"] .e-con-inner > .e-con-full:nth-child(2) { order: 2 !important; margin-left: auto !important; }
}

/* PATCH 20-fix5 · DEFINITIVO: toggle position fixed al viewport (esquina sup der del header sticky) */
@media (max-width: 1024px) {
  [data-elementor-type="header"] .elementor-menu-toggle {
    position: fixed !important;
    top: 10px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    transform: none !important;
    width: 44px !important; height: 44px !important;
    z-index: 10000 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
  }
  /* el container nav ya no necesita empujar nada */
  [data-elementor-type="header"] .e-con-inner > .e-con-full:nth-child(2) { flex: 0 0 auto !important; margin-left: 0 !important; }
}

/* PATCH 20-fix6 · solo hamburger cerrado (oculta X) + brand row limpio */
@media (max-width: 1024px) {
  [data-elementor-type="header"] .elementor-menu-toggle:not(.elementor-active) .eicon-close,
  [data-elementor-type="header"] .elementor-menu-toggle:not(.elementor-active) .e-font-icon-svg.eicon-close { display: none !important; }
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active .eicon-menu-bar,
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active .e-font-icon-svg.eicon-menu-bar { display: none !important; }
  [data-elementor-type="header"] .casaf-header-brand { flex-direction: row !important; align-items: center !important; justify-content: flex-start !important; text-align: left !important; }
}

/* ============================================================
   PATCH 21 (2026-05-29) — Featured card padding + gap head→spread
   ============================================================ */

/* 21.1 · Featured card padding interior */
.casaf-spread-featured { background: var(--casaf-marfil) !important; border: 1px solid var(--casaf-lineas); border-radius: 4px; overflow: hidden; box-shadow: var(--casaf-shadow-paper); }
.casaf-spread-featured-photo { margin: 0 !important; border-radius: 0 !important; }
.casaf-spread-featured-body { padding: 28px 32px 32px !important; display: flex; flex-direction: column; gap: 14px; }
.casaf-spread-featured-info { padding-top: 14px; border-top: 1px solid var(--casaf-lineas); }
@media (max-width: 1024px) { .casaf-spread-featured-body { padding: 24px 24px 28px !important; } }
@media (max-width: 640px) { .casaf-spread-featured-body { padding: 20px 20px 24px !important; } }

/* 21.2 · Reducir gap panoramas-head → spread */
.panoramas-head,
.casaf-panoramas-head,
.elementor-section [class*="panoramas-head"] { margin-bottom: 24px !important; }
.panoramas-head h2,
.panoramas-head .elementor-heading-title,
.panoramas-head h2.elementor-heading-title { margin-bottom: 4px !important; }
.panoramas-head .casaf-btn-text,
.panoramas-head a { margin-top: 0 !important; }
.casaf-panoramas-spread { margin-top: 0 !important; margin-bottom: 0 !important; }
.elementor-widget-shortcode:has(.casaf-panoramas-spread) { margin-top: 0 !important; }

/* === PATCH 22 — Fix definitivo brand wrapper mobile === */
@media (max-width: 1024px) {
  [data-elementor-type="header"] .casaf-header-brand > .e-con-full:not(:has(img)),
  [data-elementor-type="header"] .casaf-header-brand > .elementor-element:not(:has(img)) {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    height: 48px !important;
    max-height: 48px !important;
    gap: 2px !important;
    overflow: hidden !important;
  }
  [data-elementor-type="header"] .casaf-header-brand .brand-name,
  [data-elementor-type="header"] .casaf-header-brand .brand-tag,
  [data-elementor-type="header"] .casaf-header-brand [class*="brand-name"],
  [data-elementor-type="header"] .casaf-header-brand [class*="brand-tag"] {
    height: auto !important;
    max-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
    align-self: flex-start !important;
  }
  [data-elementor-type="header"] .casaf-header-brand > .elementor-widget-image,
  [data-elementor-type="header"] .casaf-header-brand .elementor-widget-image {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    margin-right: 10px !important;
  }
  [data-elementor-type="header"] .casaf-header-brand img {
    width: 36px !important;
    height: 36px !important;
    object-fit: contain;
    display: block !important;
  }
}

/* === PATCH 23 — Fix toggle dual icons + horizontal scroll === */
@media (max-width: 1024px) {

  /* FIX 1: solo un icono visible según estado */
  [data-elementor-type="header"] .elementor-menu-toggle:not(.elementor-active) .elementor-menu-toggle__icon--close,
  [data-elementor-type="header"] .elementor-menu-toggle:not(.elementor-active) svg.e-eicon-close,
  [data-elementor-type="header"] .elementor-menu-toggle:not(.elementor-active) [class*="icon--close"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active .elementor-menu-toggle__icon--open,
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active svg.e-eicon-menu-bar,
  [data-elementor-type="header"] .elementor-menu-toggle.elementor-active [class*="icon--open"] {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
  }

  /* FIX 2: matar el wrapper middle (2e4939f) que causa overflow horizontal */
  [data-elementor-type="header"] .e-con-inner > .e-con-full:not(.casaf-header-brand):not(.casaf-header-right),
  [data-elementor-type="header"] .e-con-inner > div[class*="elementor-element-2e4939f"],
  [data-elementor-type="header"] .e-con-inner > .elementor-element:not(.casaf-header-brand):not([class*="casaf-header-right"]) {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    flex: 0 0 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
  }

  /* El toggle tiene position fixed - no afecta el flow del wrapper */
  /* Pero asegurar que el wrapper no contribuya al ancho del flexbox */

  /* Y prevenir scroll horizontal a nivel body como defensa final */
  html, body {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }
}

/* === PATCH 24 — Desktop nav centrado + sin duplicar CTA + mobile brand izquierda === */

/* FIX 1: hide menu item "Disponibilidad 2027" del nav inline en DESKTOP (mantenerlo en mobile dropdown) */
@media (min-width: 1025px) {
  [data-elementor-type="header"] .elementor-nav-menu li.casaf-menu-cta,
  [data-elementor-type="header"] .elementor-nav-menu li.menu-item-type-custom.casaf-menu-cta,
  [data-elementor-type="header"] ul.elementor-nav-menu > li.casaf-menu-cta {
    display: none !important;
  }
}

/* FIX 2: centrar verticalmente el nav menu desktop con logo + CTA */
@media (min-width: 1025px) {
  [data-elementor-type="header"] .elementor-nav-menu--main {
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
  }
  [data-elementor-type="header"] .elementor-nav-menu--main ul.elementor-nav-menu {
    align-items: center !important;
    display: flex !important;
  }
  [data-elementor-type="header"] .e-con-inner > .e-con-full,
  [data-elementor-type="header"] .e-con-inner > .elementor-element {
    align-items: center !important;
    align-self: center !important;
  }
  [data-elementor-type="header"] .e-con-inner {
    align-items: center !important;
  }
  /* Container con el nav menu en posición vertical centrada */
  [data-elementor-type="header"] .elementor-element[class*="2e4939f"],
  [data-elementor-type="header"] .e-con-inner > .e-con-full:nth-child(2) {
    align-items: center !important;
    justify-content: center !important;
    display: flex !important;
  }
}

/* FIX 3: mobile — brand más cerca del borde izquierdo */
@media (max-width: 1024px) {
  [data-elementor-type="header"] > .e-con,
  [data-elementor-type="header"] > .elementor-element.e-con-full {
    padding: 0 12px !important;
  }
  [data-elementor-type="header"] .e-con-inner {
    padding: 0 4px !important;
  }
  [data-elementor-type="header"] .casaf-header-brand {
    padding: 0 !important;
  }
}

/* === PATCH 25 — Forzar height container nav + reforzar mobile === */

@media (min-width: 1025px) {
  /* El container middle (donde vive el nav) debe ocupar TODA la altura del header */
  [data-elementor-type="header"] .e-con-inner > .e-con-full,
  [data-elementor-type="header"] .e-con-inner > .elementor-element,
  [data-elementor-type="header"] .elementor-element[class*="2e4939f"],
  [data-elementor-type="header"] .elementor-element[class*="965456c"] {
    height: 80px !important;
    min-height: 80px !important;
    align-self: stretch !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* El nav menu siempre centrado dentro de su container */
  [data-elementor-type="header"] .elementor-nav-menu--main,
  [data-elementor-type="header"] .elementor-nav-menu__container {
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
  }

  [data-elementor-type="header"] .elementor-nav-menu {
    height: auto !important;
    align-items: center !important;
    margin: 0 !important;
  }
}

/* Mobile brand al borde izquierdo — selector más específico */
@media (max-width: 1024px) {
  [data-elementor-type="header"] {
    padding: 0 !important;
  }
  [data-elementor-type="header"] > .e-con,
  [data-elementor-type="header"] > .elementor-element.e-con-full {
    padding: 0 12px !important;
    margin: 0 !important;
    max-width: 100% !important;
  }
  [data-elementor-type="header"] .elementor-element[class*="7a2a4b1"],
  [data-elementor-type="header"] .e-con-boxed {
    padding: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  [data-elementor-type="header"] .e-con-inner {
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }
  [data-elementor-type="header"] .casaf-header-brand {
    padding: 0 !important;
    margin-left: 0 !important;
  }
}

/* === PATCH 26 — CTA hero mobile compacto + Trust bar minimal === */

@media (max-width: 640px) {

  /* === FIX 1: CTA rosa hero mobile más compacto === */
  .casaf-btn-cta,
  .casaf-btn-cta .elementor-button,
  .casaf-btn-cta a.elementor-button-link {
    padding: 12px 20px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    height: auto !important;
    min-height: 44px !important;
    max-height: 48px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    width: auto !important;
    display: inline-flex !important;
  }

  .casaf-btn-cta .elementor-button-content-wrapper,
  .casaf-btn-cta .elementor-button-text {
    white-space: nowrap !important;
    font-size: inherit !important;
  }

  /* Ghost "Conocer la casa" igualmente compacto */
  .casaf-btn-ghost,
  .casaf-btn-ghost .elementor-button {
    padding: 12px 20px !important;
    font-size: 14px !important;
    height: auto !important;
    max-height: 48px !important;
    width: auto !important;
  }

  /* === FIX 2: Trust bar minimal (era 1173px → ~280px) === */
  .casaf-trust-bar,
  .elementor-element.casaf-trust-bar {
    padding: 20px 16px !important;
  }

  /* Inner grid 2x2 con gap chico */
  .casaf-trust-bar .e-con-inner,
  .casaf-trust-bar > .e-con-inner {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 8px !important;
    padding: 0 !important;
  }

  /* Cada wrapper de stat: padding 8x4, altura auto */
  .casaf-trust-bar .e-con-inner > *,
  .casaf-trust-bar .e-con-inner > .elementor-element,
  .casaf-trust-bar .e-con-inner > .e-con-full {
    padding: 8px 4px !important;
    min-height: auto !important;
    height: auto !important;
    max-height: 90px !important;
    margin: 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Stat number compacto */
  .casaf-stat-num,
  .casaf-stat-num.elementor-heading-title {
    font-size: 28px !important;
    line-height: 1 !important;
    margin-bottom: 2px !important;
    letter-spacing: -0.8px !important;
  }

  /* Label uppercase chico */
  .casaf-trust-bar h6.elementor-heading-title,
  .casaf-trust-bar .overline {
    font-size: 9px !important;
    letter-spacing: 1.2px !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
}

/* === PATCH 27 — Fix ghost button mobile (nowrap + width auto + letter-spacing) === */

@media (max-width: 640px) {
  /* Botón ghost: 1 línea, ancho auto, letter-spacing normal */
  .casaf-btn-ghost,
  .casaf-btn-ghost .elementor-button,
  .casaf-btn-ghost a.elementor-button-link {
    white-space: nowrap !important;
    width: auto !important;
    max-width: fit-content !important;
    display: inline-flex !important;
    letter-spacing: 0.2px !important;
    padding: 12px 20px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    height: auto !important;
    max-height: 44px !important;
  }

  .casaf-btn-ghost .elementor-button-content-wrapper,
  .casaf-btn-ghost .elementor-button-text {
    white-space: nowrap !important;
    letter-spacing: 0.2px !important;
    font-size: inherit !important;
  }

  /* También CTA rosa por las dudas (asegurar nowrap + letter-spacing normal) */
  .casaf-btn-cta .elementor-button-text,
  .casaf-btn-cta .elementor-button-content-wrapper {
    white-space: nowrap !important;
    letter-spacing: 0.2px !important;
  }
}

/* === PATCH 29 — Ghost solo 1 border (en <a>) + Habitaciones sin link === */

/* El outer ghost SIN border SIN padding — todo lo aplica el <a> */
.casaf-btn-ghost {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
  display: inline-flex !important;
}

/* El <a> interior con border + padding + sizing completo */
.casaf-btn-ghost .elementor-button,
.casaf-btn-ghost a.elementor-button-link {
  border: 1px solid var(--casaf-marino) !important;
  background: transparent !important;
  color: var(--casaf-marino) !important;
  padding: 12px 20px !important;
  border-radius: 2px !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.2px !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  max-height: 44px !important;
  transition: all 220ms ease-out;
}

.casaf-btn-ghost .elementor-button:hover,
.casaf-btn-ghost a.elementor-button-link:hover {
  background: var(--casaf-marino) !important;
  color: var(--casaf-hueso) !important;
}

.casaf-btn-ghost .elementor-button:hover .elementor-button-text {
  color: var(--casaf-hueso) !important;
}
