/*
Theme Name: Grupo Terraria (Hello Elementor Child)
Theme URI: http://localhost/GrupoTerraria
Description: Child theme de Hello Elementor para Grupo Terraria. Registra la tipografia de marca Molde SemiExpanded y estilos globales.
Author: Grupo Terraria
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

/* ==========================================================================
   Tipografia de marca: Molde SemiExpanded
   ========================================================================== */
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-Thin.ttf') format('truetype');font-weight:100;font-style:normal;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-ThinItalic.ttf') format('truetype');font-weight:100;font-style:italic;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-UltraLight.ttf') format('truetype');font-weight:200;font-style:normal;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-UltraLightItalic.ttf') format('truetype');font-weight:200;font-style:italic;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-Light.ttf') format('truetype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-LightItalic.ttf') format('truetype');font-weight:300;font-style:italic;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-RegularItalic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-MediumItalic.ttf') format('truetype');font-weight:500;font-style:italic;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-Semibold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-SemiboldItalic.ttf') format('truetype');font-weight:600;font-style:italic;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:'Molde';src:url('fonts/Molde-SemiExpanded-BoldItalic.ttf') format('truetype');font-weight:700;font-style:italic;font-display:swap;}

/* ==========================================================================
   Paleta Grupo Terraria (ajustable)
   ========================================================================== */
:root{
  --gt-verde-oscuro:#22331f;   /* verde bosque footer/hero */
  --gt-verde:#3f5a2e;          /* verde medio */
  --gt-amarillo:#d9e021;       /* amarillo/lima acento */
  --gt-crema:#f4f1e9;          /* crema fondo */
  --gt-texto:#222218;
}

/* Aplica Molde de forma global (editable en Elementor por encima) */
body, button, input, select, textarea,
h1,h2,h3,h4,h5,h6,
.elementor-widget-text-editor,
.elementor-widget-heading .elementor-heading-title,
.elementor-button{
  font-family:'Molde', -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Navegacion por anclas del menu (#inicio, #proyectos, #contacto):
   scroll suave + offset para que el header fijo no tape el destino. */
html{ scroll-behavior:smooth; }
#inicio, #proyectos, #contacto{ scroll-margin-top:100px; }

/* ==========================================================================
   Header en modo cristal (glassmorphism) — fijo sobre el hero y el resto
   ========================================================================== */
#gt-header, .gt-header{
  position:fixed !important;
  top:0; left:0; right:0;
  z-index:1000;
  background:rgba(36,65,45,0.38);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  backdrop-filter:blur(14px) saturate(135%);
  border-bottom:1px solid rgba(255,255,255,0.12);
  box-shadow:0 2px 24px rgba(0,0,0,0.12);
  transition:background .3s ease;
}
#gt-header a, .gt-header a{ transition:color .2s ease, opacity .2s ease; }
#gt-header a:hover, .gt-header a:hover{ opacity:.75; }

/* ---- Menu movil: boton hamburguesa + menu desplegable (inyectado por JS) ---- */
.gt-burger{
  display:none; position:absolute; right:18px; top:50%; transform:translateY(-50%);
  flex-direction:column; justify-content:center; gap:5px;
  width:42px; height:42px; padding:8px; margin:0;
  border:0; background:transparent; cursor:pointer; z-index:3;
}
.gt-burger span{
  display:block; width:26px; height:2px; background:#fefefe; border-radius:2px;
  transition:transform .3s ease, opacity .3s ease;
}
#gt-header.gt-nav-open .gt-burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
#gt-header.gt-nav-open .gt-burger span:nth-child(2){ opacity:0; }
#gt-header.gt-nav-open .gt-burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

@media(max-width:767px){
  /* barra en una sola fila: logo (50%) a la izquierda, hamburguesa a la derecha */
  #gt-header > .elementor-container{ flex-wrap:nowrap !important; align-items:center !important; }
  #gt-header > .elementor-container,
  #gt-header .elementor-column,
  #gt-header .elementor-widget-wrap,
  #gt-header .elementor-widget,
  #gt-header .elementor-widget-container{ position:static !important; }
  /* logo cubre 50% del ancho */
  #gt-header .elementor-column:first-child{ flex:0 0 auto !important; width:auto !important; }
  #gt-header .elementor-column:first-child .elementor-widget-wrap,
  #gt-header .elementor-column:first-child .elementor-widget,
  #gt-header .elementor-column:first-child .elementor-widget-container{ padding:0 !important; }
  #gt-header .elementor-widget-image img{ width:50vw !important; max-width:50vw !important; height:auto !important; display:block; }
  #gt-header .elementor-column:last-child{ flex:1 1 auto !important; }

  /* mostrar hamburguesa */
  .gt-burger{ display:flex; }

  /* menu inline oculto; se despliega bajo la barra al abrir
     (el div del menu cuelga directo del widget text-editor, sin .elementor-widget-container) */
  #gt-header .elementor-widget-text-editor > div{ display:none !important; }
  #gt-header.gt-nav-open .elementor-widget-text-editor > div{
    display:flex !important; flex-direction:column !important; align-items:stretch !important;
    gap:0 !important;
    position:absolute !important; top:100% !important; left:0; right:0;
    margin:0; padding:4px 24px 14px;
    background:rgba(36,65,45,0.96);
    -webkit-backdrop-filter:blur(14px) saturate(135%); backdrop-filter:blur(14px) saturate(135%);
    border-bottom:1px solid rgba(255,255,255,0.12);
    box-shadow:0 14px 26px rgba(0,0,0,0.20);
  }
  #gt-header.gt-nav-open .elementor-widget-text-editor > div a{
    padding:14px 2px !important; font-size:16px !important; text-align:left;
    border-top:1px solid rgba(255,255,255,0.14);
  }
}

/* ==========================================================================
   Botón "modo cristal" reutilizable (COTIZA TU LOTE / CONOCE OLINKA, etc.)
   ========================================================================== */
.gt-cta{
  display:inline-flex; align-items:center; justify-content:center; gap:16px;
  height:44px; padding:0 30px;
  border:1px solid rgba(255,255,255,0.85); border-radius:15px;
  background:rgba(255,255,255,0.04);
  -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px);
  color:#fff; font-family:'Molde',sans-serif; font-weight:300;
  font-size:13px; letter-spacing:3px; text-transform:uppercase; text-decoration:none;
  transition:background .3s ease, border-color .3s ease;
}
.gt-cta:hover{ background:rgba(255,255,255,0.12); border-color:#fff; }
.gt-cta__arrows{ display:inline-flex; gap:3px; }
.gt-chev{ display:inline-block; animation:gtChev 1.1s ease-in-out infinite; }
.gt-chev:nth-child(2){ animation-delay:.12s; }
.gt-chev:nth-child(3){ animation-delay:.24s; }
@keyframes gtChev{ 0%,100%{transform:translateX(0);opacity:.6;} 50%{transform:translateX(4px);opacity:1;} }
.gt-cta:hover .gt-chev{ animation-duration:.55s; }
@media(prefers-reduced-motion:reduce){ .gt-chev{ animation:none; opacity:1; } }

/* ==========================================================================
   Bloque dorado en "L" (motivo decorativo) — seccion Proyectos
   ========================================================================== */
#gt-sec-proyectos{ position:relative; z-index:5; }   /* z-index alto: el bloque que sobresale tapa la seccion siguiente */
#gt-sec-proyectos > .elementor-container{ position:relative; z-index:2; }
/* Alinear el titulo con el bloque de texto: los parrafos van 20px metidos por lado
   (padding de columnas Elementor); se mete el titulo la misma cantidad para que su borde
   izq coincida con el texto izq y su borde der con el texto der. */
#gt-sec-proyectos .elementor-widget-heading .elementor-heading-title{ padding-inline:20px; }
/* figura dorada en L (SVG del diseno: l-normal), sale de la seccion y cubre un poco la siguiente */
#gt-sec-proyectos::before{ content:none; }
#gt-sec-proyectos::after{ content:""; position:absolute; z-index:1; bottom:-38px;
  left:max(24px, calc(50% - 495px)); width:146px; height:142px;
  background:url('img/l-normal.svg') center / contain no-repeat; }

/* ==========================================================================
   Seccion 3: tabs Boskana/Olinka + mapa Mapplic + tarjeta Olinka
   ========================================================================== */
.gt-tabs{ display:grid; grid-template-columns:1fr 1fr; max-width:960px; margin:0 auto; }
.gt-tab{ display:flex; align-items:flex-end; justify-content:center; padding:0 20px 18px;
         border-bottom:3px solid #d9d9d9; min-height:76px; cursor:pointer; transition:border-color .25s ease; }
.gt-tab--active{ border-bottom-color:#e0ba22; }
/* el logo del tab NO seleccionado va atenuado */
.gt-tab img{ display:block; opacity:.4; transition:opacity .25s ease; }
.gt-tab:hover img{ opacity:.7; }
.gt-tab--active img, .gt-tab--active:hover img{ opacity:1; }

/* El mapa va de borde a borde (rompe el contenedor boxed), sin sombra ni esquinas redondeadas */
.gt-map-embed{ position:relative; width:100vw; margin-top:38px;
               margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); overflow:hidden; }
.gt-map-embed iframe{ width:100%; height:720px; border:0; display:block; }
/* clip en la seccion evita el scroll horizontal que provocaria el 100vw (ancho del scrollbar) */
.elementor-element-b09b131{ overflow-x:clip; }
@media(max-width:768px){ .gt-map-embed iframe{ height:520px; } }

#gt-sec-olinka{ position:relative; overflow:hidden; }
#gt-sec-olinka::before{ content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(90deg, rgba(9,18,13,0.92) 0%, rgba(9,18,13,0.72) 32%, rgba(9,18,13,0.30) 62%, rgba(9,18,13,0.04) 100%); }
#gt-sec-olinka > .elementor-container{ position:relative; z-index:1; padding-left:140px; padding-right:20px; }
@media(max-width:768px){ #gt-sec-olinka > .elementor-container{ padding-left:24px; } }
/* --- Slider de proyectos (Olinka / Boskana) full-bleed --- */
#gt-sec-projslider{ position:relative; z-index:5; }   /* el bloque dorado que sobresale tapa la seccion siguiente */
#gt-sec-projslider > .elementor-container{ max-width:100% !important; padding:0 !important; }
#gt-sec-projslider .elementor-column, #gt-sec-projslider .elementor-widget-wrap, #gt-sec-projslider .elementor-widget{ padding:0 !important; margin:0 !important; }
.gt-pslider{ position:relative; width:100%; height:600px; }
.gt-pslide{ position:absolute; inset:0; opacity:0; transition:opacity .6s ease; pointer-events:none; }
.gt-pslide.is-active{ opacity:1; pointer-events:auto; }
.gt-pslide-bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.gt-pslide::before{ content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(90deg, rgba(9,18,13,0.92) 0%, rgba(9,18,13,0.72) 32%, rgba(9,18,13,0.30) 62%, rgba(9,18,13,0.04) 100%); }
.gt-pslide-inner{ position:relative; z-index:2; max-width:1240px; margin:0 auto; height:100%;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  padding-left:140px; padding-right:20px; box-sizing:border-box; }
.gt-pslide-logo{ width:150px; height:auto; display:block; margin-bottom:18px; }
.gt-pslide-text{ color:#fff; font-family:'Zalando Sans SemiExpanded',sans-serif; font-weight:300;
  font-size:15px; line-height:1.5; max-width:330px; margin:0 0 28px; }
/* figura dorada en "L" invertida (SVG del diseno: l-invertida), sobresale hacia abajo */
.gt-pslide-block{ position:absolute; right:max(24px, calc(50% - 500px)); bottom:-40px; width:125px; height:129px; background:url('img/l-invertida.svg') center / contain no-repeat; z-index:2; }
.gt-pslide-block::before{ content:none; }
.gt-parrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:5; background:rgba(0,0,0,0.28);
  color:#fff; border:0; width:46px; height:46px; border-radius:50%; font-size:26px; line-height:1; cursor:pointer; transition:background .2s; }
.gt-parrow:hover{ background:rgba(224,186,34,0.9); }
.gt-pprev{ left:26px; } .gt-pnext{ right:26px; }
.gt-pdots{ position:absolute; bottom:22px; left:50%; transform:translateX(-50%); z-index:5; display:flex; gap:10px; }
.gt-pdot{ width:10px; height:10px; padding:0; border-radius:50%; border:0; background:rgba(255,255,255,0.45); cursor:pointer; transition:background .2s ease; }
.gt-pdot.is-on{ background:#e0ba22; }
.gt-pdot:hover{ background:#fff; }
@media(max-width:768px){ .gt-pslide-inner{ padding-left:24px; } .gt-pslider{ height:540px; } .gt-parrow{ width:40px;height:40px;font-size:22px; } }

/* ==========================================================================
   Seccion 6: Puntos de interés (slider full-bleed)
   ========================================================================== */
#gt-sec-poi{ position:relative; z-index:5; }
#gt-sec-poi > .elementor-container{ max-width:100% !important; padding:0 !important; }
#gt-sec-poi .elementor-column, #gt-sec-poi .elementor-widget-wrap, #gt-sec-poi .elementor-widget{ padding:0 !important; margin:0 !important; }
.gt-pslide.gt-poi::before{ background:linear-gradient(180deg, rgba(9,18,13,0.05) 35%, rgba(9,18,13,0.45) 100%); }
.gt-poi-inner{ position:relative; z-index:2; max-width:1240px; margin:0 auto; height:100%;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start;
  padding:0 20px 78px 122px; box-sizing:border-box; }
.gt-poi-line{ position:absolute; left:125px; top:136px; width:4px; height:229px;
  background:linear-gradient(180deg, #fff 0%, #fff 50%, rgba(255,255,255,0.45) 50%, rgba(255,255,255,0.45) 100%); }
/* slider Puntos de Interes: sin flechas ni dots; la barra lateral indica el slide activo */
.gt-poi-slider .gt-parrow, .gt-poi-slider .gt-pdots{ display:none !important; }
/* slide 2 activo -> la mitad fuerte de la barra baja */
.gt-poi-slider > .gt-pslide + .gt-pslide .gt-poi-line{
  background:linear-gradient(180deg, rgba(255,255,255,0.45) 0%, rgba(255,255,255,0.45) 50%, #fff 50%, #fff 100%); }
.gt-poi-title{ color:#fff; font-family:'Zalando Sans SemiExpanded',sans-serif; font-weight:400;
  font-size:27px; line-height:1.25; text-transform:uppercase; margin:0 0 16px; }
.gt-poi-time{ color:#fff; font-family:'Molde',sans-serif; font-weight:300; font-size:14px;
  letter-spacing:2px; display:flex; align-items:center; gap:9px; margin:0; }
/* figura dorada en L espejada (barra vertical der + base ancha izq), sobresale hacia abajo */
.gt-poi-block{ position:absolute; right:max(24px, calc(50% - 480px)); bottom:-60px; width:130px; height:60px; background:#e0ba22; z-index:2; }
.gt-poi-block::before{ content:""; position:absolute; right:0; bottom:100%; width:70px; height:77px; background:#e0ba22; }
@media(max-width:768px){ .gt-poi-inner{ padding-left:24px; } .gt-poi-line{ left:27px; } }

/* ==========================================================================
   Seccion 4: collage superpuesto "El equilibrio perfecto"
   ========================================================================== */
/* collage a ancho completo de pantalla (borde a borde) */
#gt-collage-sec > .elementor-container{ max-width:100% !important; padding:0 !important; }
#gt-collage-sec .elementor-column, #gt-collage-sec .elementor-widget-wrap, #gt-collage-sec .elementor-widget{ padding:0 !important; margin:0 !important; }
.gt-eq-collage{ position:relative; width:100%; margin:0; height:420px; }
.gt-eq-collage img{ position:absolute; object-fit:cover; display:block; }
.gt-eq-1{ left:0;      top:97px; width:29.9%; height:278px; z-index:1; }  /* chimenea (izq) */
.gt-eq-2{ left:29.55%; top:0;    width:33%;   height:417px; z-index:2; }  /* mujer escritorio (centro, encima) */
.gt-eq-3{ left:62.3%;  top:35px; width:37.7%; height:284px; z-index:1; }  /* terraza (der) */
/* Forzar alturas de diseno: Elementor aplica img{height:auto} y anulaba estas alturas,
   por lo que el collage crecia por aspecto natural e invadia (tapaba) el texto de abajo
   en pantallas anchas. Solo escritorio; movil conserva su apilado. */
@media(min-width:901px){
  #gt-collage-sec .gt-eq-1{ height:278px !important; }
  #gt-collage-sec .gt-eq-2{ height:417px !important; }
  #gt-collage-sec .gt-eq-3{ height:284px !important; }
}
@media(max-width:900px){
  .gt-eq-collage{ height:auto; display:flex; flex-direction:column; gap:14px; }
  .gt-eq-collage img{ position:static; width:100%; height:230px; }
}

/* ==========================================================================
   Boton cristal variante dorada (COTIZAR LOTE / ¿CÓMO LLEGAR?)
   ========================================================================== */
.gt-cta--gold{ border-color:#e0ba22; color:#e0ba22; background:transparent; }
.gt-cta--gold:hover{ background:rgba(224,186,34,0.12); border-color:#e0ba22; }

/* ==========================================================================
   Seccion 7: Invierte en terrenos (3 fotos escalonadas)
   ========================================================================== */
.gt-inv-collage{ position:relative; width:100%; height:592px; }
.gt-inv-collage img{ position:absolute; object-fit:cover; width:31.4%; height:473px; display:block; }
.gt-inv-1{ left:0;     top:117px; }
.gt-inv-2{ left:34.3%; top:0; }
.gt-inv-3{ left:68.6%; top:47px; }
@media(max-width:900px){
  .gt-inv-collage{ height:auto; display:flex; flex-direction:column; gap:14px; }
  .gt-inv-collage img{ position:static; width:100%; height:300px; }
}

/* ==========================================================================
   Seccion 8: Experiencias (collage editorial absoluto)
   ========================================================================== */
#gt-sec-exp > .elementor-container{ max-width:100% !important; padding:0 !important; }
#gt-sec-exp .elementor-column, #gt-sec-exp .elementor-widget-wrap, #gt-sec-exp .elementor-widget{ padding:0 !important; margin:0 !important; }
.gt-exp-collage{ position:relative; width:100%; height:2190px; }
.gt-exp-collage img{ position:absolute; object-fit:cover; display:block; z-index:2; }
.gt-exp-gold{ position:absolute; background:#e0ba22; z-index:1; }
.gt-exp-text{ position:absolute; z-index:3; color:#000000; font-family:'Zalando Sans SemiExpanded',sans-serif;
  font-weight:300; font-size:15px; line-height:1.5; margin:0; }
.gt-exp-gold-title{ position:absolute; z-index:3; color:#e0ba22; font-family:'Zalando Sans SemiExpanded',sans-serif;
  font-weight:400; font-size:40px; line-height:1.08; text-transform:none; margin:0; }
/* cerrar micro-hueco blanco entre imagenes contiguas (2px): la imagen izq se extiende bajo la der */
.gt-exp-collage img:nth-of-type(5){ width:38.9% !important; }  /* fila 2: solapa a img6 (quita linea der de imagen5) */
.gt-exp-collage img:nth-of-type(7){ width:37.4% !important; }  /* fila 3: solapa a img8 (quita linea izq de imagen8) */
@media(max-width:900px){
  .gt-exp-collage{ height:auto; display:flex; flex-direction:column; gap:16px; padding:0 24px; }
  .gt-exp-collage img, .gt-exp-text, .gt-exp-gold-title{ position:static !important; width:100% !important; height:auto !important; }
  .gt-exp-collage img{ height:240px !important; }
  .gt-exp-gold{ display:none; }
  .gt-exp-text{ font-size:13px; }
  .gt-exp-gold-title{ text-align:left !important; font-size:24px; }
}

/* ==========================================================================
   Seccion 10: Echa raíces (pasos numerados + flechas)
   ========================================================================== */
.gt-step{ max-width:463px; }
.gt-step-num{ display:inline-block; min-width:24px; margin-right:8px; }
.gt-step-arrow{ padding:16px 0 16px 2px; }

/* ==========================================================================
   Seccion 13: Contacto (divisor + formulario CF7)
   ========================================================================== */
.gt-divider{ border:0; border-top:1px solid #cacaca; margin:0; }
.gt-form input[type="text"], .gt-form input[type="email"], .gt-form input[type="tel"], .gt-form textarea{
  width:100%; background:#ffffff; border:1px solid #e3e3e3; border-radius:10px; padding:17px 18px; box-sizing:border-box;
  font-family:'Zalando Sans SemiExpanded',sans-serif; font-weight:300; font-size:15px; color:#3a3a32;
  transition:border-color .2s ease; }
.gt-form input:focus, .gt-form textarea:focus{ outline:0; border-color:#e0ba22; }
.gt-form input::placeholder, .gt-form textarea::placeholder{ color:#9b9b9b; opacity:1; }
.gt-form p{ margin:0 0 15px; }
.gt-form .wpcf7-form-control-wrap{ display:block; }
.gt-form textarea{ height:120px; resize:vertical; display:block; }
/* fila telefono: el <p> interno es el contenedor flex (+52 | Telefono lado a lado) */
.gt-form-tel{ margin:0; }
.gt-form-tel > p{ display:flex; gap:14px; align-items:stretch; width:100%; margin:0 0 15px; }
.gt-form-tel .gt-prefijo{ flex:0 0 92px; display:flex; align-items:center;
  background:#ffffff; border:1px solid #e3e3e3; border-radius:10px; padding:0 18px; box-sizing:border-box;
  font-family:'Zalando Sans SemiExpanded',sans-serif; font-weight:300; font-size:15px; color:#6b6b6b; }
.gt-form-tel .wpcf7-form-control-wrap{ flex:1 1 auto; }
.gt-form input[type="submit"]{ width:100%; background:#e0ba22; color:#fff; border:0; border-radius:10px;
  padding:16px 0; margin-top:3px; font-family:'Zalando Sans SemiExpanded',sans-serif; font-weight:400; font-size:15px;
  letter-spacing:.3px; cursor:pointer; transition:background .2s ease; }
.gt-form input[type="submit"]:hover{ background:#c9a51d; }
.gt-form .wpcf7-spinner{ margin:8px auto 0; display:block; }

/* ==========================================================================
   Seccion 14: banda de árboles + footer
   ========================================================================== */
#gt-sec-arboles{ min-height:560px; }
#gt-sec-arboles > .elementor-container{ max-width:100% !important; padding:0 !important; }
.gt-footer{ display:grid; grid-template-columns:1.2fr 1fr 0.9fr 1.1fr; gap:40px; align-items:start; }
.gt-footer-brand{ border-left:1px solid rgba(255,255,255,0.35); padding-left:44px; }
@media(max-width:900px){
  .gt-footer{ grid-template-columns:1fr 1fr; }
  .gt-footer-brand{ border-left:0; padding-left:0; }
}
@media(max-width:560px){ .gt-footer{ grid-template-columns:1fr; } }

/* ==========================================================================
   Seccion 5: tarjetas de testimonio
   ========================================================================== */
.gt-testi{ display:flex; gap:114px; justify-content:flex-start; max-width:960px; margin:0 auto; flex-wrap:wrap; }
.gt-testi-card{ position:relative; background:#e0ba22; width:423px; max-width:100%; padding:42px 40px 40px; box-sizing:border-box; }
.gt-testi-quote{ display:block; font-family:Georgia,'Times New Roman',serif; font-weight:700; font-size:60px; line-height:0.8; color:#fff; height:34px; }
/* la barra izquierda NO es borde: es una barra de scroll (siempre visible, a la izquierda) */
.gt-testi-body{ height:200px; overflow-y:scroll; overflow-x:hidden; direction:rtl; margin-top:22px; max-width:250px;
  scrollbar-width:thin; scrollbar-color:#fff rgba(255,255,255,0.35); }
.gt-testi-body::-webkit-scrollbar{ width:3px; }
.gt-testi-body::-webkit-scrollbar-track{ background:rgba(255,255,255,0.35); }
.gt-testi-body::-webkit-scrollbar-thumb{ background:#fff; }
/* sin las flechitas nativas arriba/abajo de la barra */
.gt-testi-body::-webkit-scrollbar-button{ display:none; width:0; height:0; }
.gt-testi-text{ direction:ltr; padding-left:16px; color:#fff; font-family:'Zalando Sans SemiExpanded',sans-serif; font-weight:300; font-size:13px; line-height:1.5; margin:0; }
.gt-testi-name{ color:#fff; font-family:'Molde',sans-serif; font-weight:600; font-size:14px; letter-spacing:1px; margin:26px 0 0; }
.gt-testi-photo{ position:absolute; right:-58px; bottom:-70px; width:160px; height:243px; object-fit:cover; }
@media(max-width:900px){
  .gt-testi{ gap:40px; }
  .gt-testi-card{ width:100%; padding-bottom:40px; }
  .gt-testi-body{ height:170px; max-width:none; }
  /* en movil la foto va DEBAJO del testimonio (sin encimar el texto) */
  .gt-testi-photo{ position:static; display:block; width:150px; height:210px; margin:22px 0 0 auto; right:auto; bottom:auto; }
}
/* el body no necesita padding-top: el hero es full-bleed y el header va encima */
