/* Tenemostucasa – estilos base landing */
.ttc-container{max-width:1200px;margin:0 auto;padding:0 20px}
.ttc-hero{position:relative;min-height:80vh;background-size:cover;background-position:center;display:flex;align-items:center}
.ttc-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.35))}
.ttc-hero__content{position:relative;max-width:1100px;margin:0 auto;padding:60px 20px;color:#fff;text-align:left}
.ttc-hero h1{font-size:48px;margin:0 0 10px}
.ttc-hero__sub{font-size:20px;opacity:.95}
.ttc-btn{display:inline-block;padding:12px 20px;border-radius:999px;border:1px solid #111;text-decoration:none}
.ttc-btn--primary{background:#111;color:#fff;border-color:#111}
.ttc-btn--ghost{background:transparent;color:#fff;border-color:#fff}
.ttc-gallery{max-width:1200px;margin:40px auto;padding:0 16px}
.ttc-slider{display:flex;overflow:auto;scroll-snap-type:x mandatory;gap:16px}
.ttc-slide{min-width:80%;scroll-snap-align:start;border-radius:16px;overflow:hidden}
.ttc-slide img{display:block;width:100%;height:auto}
.ttc-map{max-width:1200px;margin:40px auto;padding:0 16px}
.ttc-typologies{max-width:1200px;margin:40px auto;padding:0 16px}
.ttc-typologies__filters{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.ttc-typologies__filters button{border:1px solid #ddd;border-radius:999px;padding:8px 14px;background:#fff;cursor:pointer}
.ttc-typologies__filters .is-active{background:#111;color:#fff;border-color:#111}
.ttc-typologies__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ttc-card{border:1px solid #eee;border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.ttc-card__media{background:#f3f3f3;height:180px;background-size:cover;background-position:center}
.ttc-card__body{padding:14px}
.ttc-card__price{font-weight:700}
.ttc-badge{display:inline-block;margin-top:6px;padding:4px 10px;border-radius:999px;font-size:12px;background:#f2f2f2}
.estado--disponible{background:#e6faee}
.estado--reservado{background:#fff4e5}
.estado--vendido{background:#ffe6e6}
.ttc-form{max-width:760px;margin:40px auto;padding:0 16px}
.ttc-field{margin-bottom:12px}
.ttc-field input,.ttc-field textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:10px}
.ttc-check{margin:10px 0}
.ttc-prom__about{background:#fff;padding:56px 0}
.ttc-prom__cols{display:grid;grid-template-columns:1.1fr .9fr;gap:36px}
@media (max-width: 980px){ .ttc-prom__cols{grid-template-columns:1fr;gap:20px} }
.ttc-prom__bullets{margin:20px 0 26px;display:grid;gap:8px;padding-left:18px}
.ttc-prom__cta-row{display:flex;gap:12px}
.ttc-prom__closing{background:#0f1115;color:#fff;text-align:center;padding:56px 0}
.ttc-prom__closing h2{margin-bottom:16px}
/* ===== Single Apartamento (layout sin hero) ===== */
.ttc-container{max-width:1140px;margin:0 auto;padding:0 16px}
.ttc-apto__top{padding:24px 0}
.ttc-apto__breadcrumbs a{font-size:14px;text-decoration:none}
.ttc-apto__title{margin:6px 0 4px;font-size:36px;line-height:1.1}
.ttc-apto__badges{display:flex;gap:8px;margin-top:6px}
.ttc-badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#f2f4f7;font-size:12px}
.ttc-badge.estado--disponible{background:#e8f8ee;color:#046c4e}
.ttc-badge.estado--reservado{background:#fff4e5;color:#92400e}
.ttc-badge.estado--vendido{background:#fde8e8;color:#991b1b}

.ttc-apto__plan{margin:12px auto 8px;display:block}
.ttc-apto__plan img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.06)}

.ttc-apto__facts{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin:18px auto 6px}
.ttc-fact{display:flex;align-items:center;gap:8px;font-weight:600}
.ttc-fact svg{opacity:.7}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

.ttc-apto__ctas{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0 20px}
.ttc-btn{display:inline-block;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600}
.ttc-btn--primary{background:#0f172a;color:#fff}
.ttc-btn--ghost{background:#eef2ff;color:#0f172a}

.ttc-apto__content{padding:8px 0 40px}
.ttc-apto__desc{margin-bottom:24px}
.ttc-apto__map{margin:24px 0}
/* Título centrado y más grande */
.ttc-apto__title{
  text-align:center;
  font-size:clamp(34px, 4vw, 48px);
  line-height:1.15;
  letter-spacing:.2px;
  margin:12px 0 8px;
}

/* Badges y ficha centrados */
.ttc-apto__badges{ justify-content:center; }
.ttc-apto__facts{
  justify-content:center;         /* centra la fila de iconos */
  gap:24px 32px;                  /* más aire entre iconos */
}

/* Iconos más grandes + texto más grande */
.ttc-fact{
  font-size:clamp(16px, 2.2vw, 20px);
  gap:10px;
}
.ttc-fact svg{
  width:clamp(26px, 2.6vw, 32px);
  height:clamp(26px, 2.6vw, 32px);
  opacity:.8;
}

/* CTAs centradas */
.ttc-apto__ctas{ justify-content:center; }
/* — Potenciar título del apartamento — */
.ttc-apto__title{
  text-align:center;
  font-size:clamp(34px, 4vw, 48px);
  line-height:1.15;
  letter-spacing:.2px;
  margin:16px 0 10px;
  font-weight:800;               /* más peso */
  position:relative;
  padding-bottom:12px;           /* espacio para la línea */
}

/* Línea decorativa centrada bajo el título */
.ttc-apto__title::after{
  content:"";
  display:block;
  width:min(120px,30%);
  height:4px;
  margin:12px auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,#0f172a,#334155);
  opacity:.95;
}

/* Centrar badges y CTAs, por si no lo estaban */
.ttc-apto__badges{ justify-content:center; }
.ttc-apto__ctas{ justify-content:center; }

/* Iconos más grandes y centrados (por si aún no lo pegaste) */
.ttc-apto__facts{
  justify-content:center;
  gap:24px 32px;
}
.ttc-fact{
  font-size:clamp(16px, 2.2vw, 20px);
  gap:10px;
}
.ttc-fact svg{
  width:clamp(26px, 2.6vw, 32px);
  height:clamp(26px, 2.6vw, 32px);
  opacity:.85;
}
/* Badge base más visible */
.ttc-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 14px; border-radius:999px;
  font-weight:800; text-transform:uppercase; letter-spacing:.4px;
  box-shadow:0 4px 18px rgba(0,0,0,.08);
  border:2px solid transparent;
  font-size:14px;
}

/* Estado: Disponible (verde potente + icono) */
.ttc-badge.estado--disponible{
  background:#10b981;           /* verde vivo */
  color:#062d23;
  border-color:#059669;
  box-shadow:0 0 0 4px rgba(16,185,129,.18);
}
.ttc-badge.estado--disponible::before{
  content:"✓";
  display:inline-block; line-height:1;
  width:18px; height:18px;
  border-radius:50%;
  background:#ecfdf5; color:#065f46;
  font-weight:900; text-align:center; font-size:14px;
}

/* También sube un poco el tamaño si quieres aún más presencia */
.ttc-apto__badges{ justify-content:center; gap:12px; }
.ttc-badge{ font-size:15px; padding:10px 16px; }
/* Precio premium (ficha del apartamento) */
.ttc-fact--price svg{
  width:clamp(30px, 3vw, 36px);
  height:clamp(30px, 3vw, 36px);
  filter: drop-shadow(0 4px 10px rgba(0,0,0,.08));
}
.ttc-fact--price{
  font-size:clamp(18px, 2.2vw, 22px);
  gap:12px;
}

/* Si quieres color corporativo en el icono € */
.ttc-fact--price svg{ color:#0f172a; } /* cambia #0f172a por tu color */
/* ===== Tema oscuro + dorado (solo landing de promoción y single de apartamento) ===== */
:root{
  --ttc-bg:#0a0e13;
  --ttc-surface:#0f1520;
  --ttc-surface-2:#121a26;
  --ttc-text:#e9edf3;
  --ttc-muted:#a7b0be;
  --ttc-border:#1c2633;
  --ttc-gold:#d4af37;          /* <— cambia este hex si tienes dorado corporativo */
  --ttc-gold-600:#c39a1e;
  --ttc-gold-soft:rgba(212,175,55,.18);
  --ttc-danger:#ef4444;
  --ttc-warning:#f59e0b;
  --ttc-success:#22c55e;
}

/* Aplica solo a la landing del plugin y a los apartamentos */
body.page-template-ttc-page-promocion,
body.single-apartamento{
  background:var(--ttc-bg); color:var(--ttc-text);
}

/* Enlaces */
body.page-template-ttc-page-promocion a,
body.single-apartamento a{ color:var(--ttc-gold); }
body.page-template-ttc-page-promocion a:hover,
body.single-apartamento a:hover{ color:#fff; text-decoration:none; }

/* HERO de la landing */
.ttc-hero{ background-color:var(--ttc-surface); }
.ttc-hero__overlay{ background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.72)); }
.ttc-hero__content h1,.ttc-hero__sub{ color:var(--ttc-text); }

/* Filtros de tipologías */
.ttc-typologies__filters{ display:flex; gap:10px; flex-wrap:wrap; }
.ttc-typologies__filters button{
  background:transparent; color:var(--ttc-text);
  border:1px solid var(--ttc-border); border-radius:999px;
  padding:8px 14px; cursor:pointer;
}
.ttc-typologies__filters button.is-active{
  border-color:var(--ttc-gold); color:var(--ttc-gold); box-shadow:0 0 0 3px var(--ttc-gold-soft);
}

/* Tarjetas (listado de apartamentos) */
.ttc-card{
  background:var(--ttc-surface); color:var(--ttc-text);
  border:1px solid var(--ttc-border); border-radius:14px; overflow:hidden;
  box-shadow:0 14px 28px rgba(0,0,0,.28);
}
.ttc-card__media{ background:#0b0b0b; background-size:cover; background-position:center; }
.ttc-card__body h3{ color:#fff; }
.ttc-card__meta{ color:var(--ttc-muted); }
.ttc-card__price{ color:var(--ttc-gold); font-weight:800; }

/* Badges de estado */
.ttc-badge{ background:var(--ttc-surface-2); color:var(--ttc-text); border:1px solid var(--ttc-border); }
.estado--disponible{
  background:linear-gradient(90deg,var(--ttc-gold),#f3d98a); color:#0b0f14; border-color:#e8c65a;
  box-shadow:0 0 0 4px var(--ttc-gold-soft);
}
.estado--reservado{ background:#2a1a07; color:#fbbf24; border-color:#5b3a0a; }
.estado--vendido{ background:#2a0a0a; color:#f87171; border-color:#7f1d1d; }

/* Botones */
.ttc-btn{ font-weight:700; border-radius:10px; }
.ttc-btn--primary{
  background:var(--ttc-gold); color:#0b0f14; border:none;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.06), 0 10px 26px rgba(212,175,55,.25);
}
.ttc-btn--primary:hover{ transform:translateY(-1px); filter:brightness(1.04); }
.ttc-btn--ghost{ background:transparent; color:var(--ttc-gold); border:1.5px solid var(--ttc-gold); }
.ttc-btn--ghost:hover{ background:var(--ttc-gold-soft); }

/* Single Apartamento (sin hero) */
.ttc-apto__title{ color:#fff; }
.ttc-apto__title::after{ background:var(--ttc-gold); }
.ttc-apto__badges{ justify-content:center; gap:12px; }
.ttc-apto__plan img{ box-shadow:0 18px 40px rgba(0,0,0,.35); border-radius:12px; }
.ttc-apto__facts .ttc-fact{ color:#fff; }
.ttc-fact svg{ color:var(--ttc-gold); opacity:1; }

/* Icono € premium (si usaste ttc-fact--price) */
.ttc-fact--price svg{ color:var(--ttc-gold); width:clamp(30px,3vw,36px); height:clamp(30px,3vw,36px); }

/* Galería y mapa */
.ttc-gallery{ background:var(--ttc-surface); border:1px solid var(--ttc-border); border-radius:14px; padding:10px; }
.ttc-apto__map iframe{ border:1px solid var(--ttc-border); border-radius:12px; filter:grayscale(.1) contrast(1.05) saturate(.9); }

/* Formulario */
.ttc-form{ background:var(--ttc-surface); border:1px solid var(--ttc-border); border-radius:14px; padding:24px; }
.ttc-field label{ color:var(--ttc-muted); }
.ttc-field input,.ttc-field textarea{
  background:var(--ttc-surface-2); color:#fff; border:1px solid var(--ttc-border);
  border-radius:10px; padding:10px 12px;
}
.ttc-field input::placeholder,.ttc-field textarea::placeholder{ color:#8b95a5; }
.ttc-check label{ color:var(--ttc-muted); }

/* Cinta de “DISPONIBLE” sobre el plano (si activaste la variante con :has) */
.ttc-apto__plan{ position:relative; }
.ttc-apto:has(.estado--disponible) .ttc-apto__plan::after{
  content:"DISPONIBLE";
  position:absolute; top:14px; right:-6px;
  background:var(--ttc-gold); color:#0b0f14;
  padding:10px 16px; font-weight:900; letter-spacing:.6px;
  border-radius:8px; transform:rotate(3deg);
  box-shadow:0 10px 20px rgba(212,175,55,.25);
}
/* Desactiva cualquier ribbon/cinta sobre la imagen del plano */
.ttc-apto__plan::after,
.ttc-apto__plan::before{
  content:none !important;
}
/* Asegura que los botones no hereden el color dorado de los enlaces */
body.page-template-ttc-page-promocion .ttc-btn,
body.single-apartamento .ttc-btn{
  color:inherit;
  text-decoration:none;
}

/* Botón principal: texto oscuro SIEMPRE (normal, link, visited, hover) */
body.page-template-ttc-page-promocion .ttc-btn--primary,
body.page-template-ttc-page-promocion .ttc-btn--primary:link,
body.page-template-ttc-page-promocion .ttc-btn--primary:visited,
body.page-template-ttc-page-promocion .ttc-btn--primary:hover,
body.single-apartamento .ttc-btn--primary,
body.single-apartamento .ttc-btn--primary:link,
body.single-apartamento .ttc-btn--primary:visited,
body.single-apartamento .ttc-btn--primary:hover{
  color:#0b0f14 !important; /* texto */
}

/* Botón ghost: texto dorado SIEMPRE */
body.page-template-ttc-page-promocion .ttc-btn--ghost,
body.page-template-ttc-page-promocion .ttc-btn--ghost:link,
body.page-template-ttc-page-promocion .ttc-btn--ghost:visited,
body.single-apartamento .ttc-btn--ghost,
body.single-apartamento .ttc-btn--ghost:link,
body.single-apartamento .ttc-btn--ghost:visited{
  color:var(--ttc-gold) !important;
}
/* Color dorado y trazo visible para TODOS los iconos de la banda de datos */
.ttc-fact svg{
  color:var(--ttc-gold);
  width:clamp(26px, 2.6vw, 32px);
  height:clamp(26px, 2.6vw, 32px);
  opacity:1;
}

/* Asegura que los paths usen el color actual */
.ttc-fact svg *{
  stroke:currentColor !important;
  stroke-width:1.8;
  fill:none;                 /* línea limpia; si prefieres sólido, comenta esta línea */
}

/* Si algún icono sigue sin verse porque es sólido, activa también esta alternativa: */
/* .ttc-fact svg *{ fill:currentColor !important; } */
.ttc-apto__title{ text-align:center; font-weight:800; }
.ttc-apto__title::after{ background:var(--ttc-gold); }
.ttc-apto__badges{ justify-content:center; gap:12px; }
.ttc-apto__facts{ justify-content:center; gap:24px 32px; }
/* opcional: estilos específicos para el icono de baños */
.ttc-fact--banos svg{
  /* por ejemplo, un pelín más grande */
  width:clamp(28px, 3vw, 34px);
  height:clamp(28px, 3vw, 34px);
}
.ttc-fact--dorms svg{
  width:clamp(26px, 2.8vw, 34px);
  height:clamp(26px, 2.8vw, 34px);
  color:var(--ttc-gold);
}
/* === Titulares oro en páginas de Apartamento === */
:root{
  /* si ya existe, respeta el que tengas */
  --ttc-gold: #D4AF37;
}

/* Títulos dentro del template de apartamento */
.ttc-apto__map > h2,
.ttc-apto__form > h2 {
  color: var(--ttc-gold) !important;
  font-weight: 800;
  letter-spacing: .02em;
  margin: 0 0 16px 0;
  line-height: 1.15;
}

/* Por si el tema los hace demasiado tenues, subimos contraste un poco */
.ttc-apto__map > h2,
.ttc-apto__form > h2 {
  text-shadow: 0 1px 0 rgba(0,0,0,.25);
}

/* Si quieres que TODOS los h2 del layout oscuro salgan en oro, descomenta: */
/*
.ttc-container h2 {
  color: var(--ttc-gold) !important;
}
*/
/* ---------- TITULO "Solicita información" EN ORO ---------- */
:root{
  /* usa el mismo oro del resto del sitio */
  --ttc-gold: #D4AF37;
  --ttc-text: #ECECEC;
  --ttc-input-bg: #121318;
  --ttc-input-border: #2A2B31;
}

/* El h2 que viene dentro del shortcode del formulario */
.ttc-apto__form .ttc-form > h2,
.ttc-form > h2{
  color: var(--ttc-gold) !important;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.15;
  margin: 0 0 16px 0;
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
  font-size: clamp(22px, 2.4vw, 34px);
}

/* Mejor contraste general del formulario sobre fondo oscuro */
.ttc-form label{ color: var(--ttc-text); }
.ttc-form input,
.ttc-form textarea{
  background: var(--ttc-input-bg);
  border: 1px solid var(--ttc-input-border);
  color: #FFF;
}
.ttc-form input::placeholder,
.ttc-form textarea::placeholder{ color: #9EA3AE; }

/* Botones a juego (legibles y con buen contraste) */
.ttc-btn--primary{
  background: var(--ttc-gold);
  color: #0E0F12;              /* texto oscuro para que no “desaparezca” */
  border: 0;
}
.ttc-btn--primary:hover{
  filter: brightness(1.08);
  transform: translateY(-1px);
}
.ttc-btn--ghost{
  border-color: var(--ttc-gold);
  color: var(--ttc-gold);
}
.ttc-btn--ghost:hover{
  background: rgba(212,175,55,.10);
}
/* ====== Esquema oscuro para la landing ====== */
:root{
  --ttc-bg: #0E0F12;
  --ttc-gold: #D4AF37;
}

/* Fondo oscuro en el template de la landing */
.page-template-ttc-page-promocion,
.page-template-ttc-page-promocion .site,
.page-template-ttc-page-promocion .site-content{
  background: var(--ttc-bg) !important;
}

/* Quita “banda blanca”: nada de fondos blancos en el contenido */
.page-template-ttc-page-promocion .entry-content,
.page-template-ttc-page-promocion .entry-content > *{
  background: transparent !important;
}

/* Evita salto (margen/padding) entre el hero y la primera sección */
.page-template-ttc-page-promocion .ttc-hero{ margin-bottom: 0; }
.page-template-ttc-page-promocion .ttc-hero + *{
  margin-top: 0 !important;
  padding-top: 16px; /* ajusta si quieres más/menos aire */
}
/* Título "Ubicación" de la LANDING en oro */
.page-template-ttc-page-promocion .ttc-map > h2{
  color: var(--ttc-gold) !important;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.15;
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
  margin: 0 0 16px 0;
  font-size: clamp(22px, 2.4vw, 34px);
}
/* ====== Landing oscura (elimina banda blanca bajo el hero) ====== */
:root{
  --ttc-bg: #0E0F12;
  --ttc-gold: #D4AF37;
  --ttc-text: #E7E9EF;
}

/* Fondo general oscuro del template */
.page-template-ttc-page-promocion,
.page-template-ttc-page-promocion .site,
.page-template-ttc-page-promocion .site-content{
  background: var(--ttc-bg) !important;
}

/* Quita fondos blancos de wrappers de RealHomes/Gutenberg */
.page-template-ttc-page-promocion .rh_section__content,
.page-template-ttc-page-promocion .rh_blog__post,
.page-template-ttc-page-promocion .rh_content,
.page-template-ttc-page-promocion .rh_page,
.page-template-ttc-page-promocion .rh_wrap,
.page-template-ttc-page-promocion .site-main,
.page-template-ttc-page-promocion .content-area,
.page-template-ttc-page-promocion .entry-content > .wp-block-group,
.page-template-ttc-page-promocion .wp-block-group,
.page-template-ttc-page-promocion .wp-block-columns{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* Elimina el “salto” entre el hero y la primera sección */
.page-template-ttc-page-promocion .ttc-hero{ margin-bottom: 0 !important; }
.page-template-ttc-page-promocion .ttc-hero + *{
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Por si el primer hijo del contenido trae margen superior */
.page-template-ttc-page-promocion .entry-content > *:first-child{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Tipografía sobre fondo oscuro en la franja */
.page-template-ttc-page-promocion .entry-content,
.page-template-ttc-page-promocion .entry-content p,
.page-template-ttc-page-promocion .entry-content li{
  color: var(--ttc-text);
}

/* Título “Ubicación” en dorado dentro de la LANDING */
.page-template-ttc-page-promocion .ttc-map > h2{
  color: var(--ttc-gold) !important;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.15;
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
  margin: 0 0 16px 0;
  font-size: clamp(22px, 2.4vw, 34px);
}
/* ================== LANDING OSCURA (Cala Crancs) ================== */
:root{
  --ttc-bg: #0E0F12;
  --ttc-gold: #D4AF37;
  --ttc-text: #E7E9EF;
}

/* Fondo general del template de landing */
.page-template-ttc-page-promocion,
.page-template-ttc-page-promocion .site,
.page-template-ttc-page-promocion .site-content{
  background: var(--ttc-bg) !important;
}

/* 1) Quitar el fondo blanco de bloques Gutenberg bajo el hero */
.page-template-ttc-page-promocion .entry-content .wp-block-group.has-background,
.page-template-ttc-page-promocion .entry-content .wp-block-columns.has-background,
.page-template-ttc-page-promocion .entry-content .wp-block-column.has-background,
.page-template-ttc-page-promocion .entry-content [class*="has-background"]{
  background: transparent !important;
}

/* También hay wrappers de RealHomes que meten blancos/sombras */
.page-template-ttc-page-promocion .rh_section__content,
.page-template-ttc-page-promocion .rh_content,
.page-template-ttc-page-promocion .rh_page,
.page-template-ttc-page-promocion .rh_wrap{
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* 2) Eliminar salto entre el hero y la primera sección */
.page-template-ttc-page-promocion .ttc-hero{ margin-bottom: 0 !important; }
.page-template-ttc-page-promocion .ttc-hero + *{
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Por si el PRIMER bloque trae margen superior */
.page-template-ttc-page-promocion .entry-content > *:first-child{
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 3) Texto legible sobre fondo oscuro en esa franja */
.page-template-ttc-page-promocion .entry-content,
.page-template-ttc-page-promocion .entry-content p,
.page-template-ttc-page-promocion .entry-content li{
  color: var(--ttc-text) !important;
}

/* 4) Título “Ubicación” en dorado en la LANDING */
.page-template-ttc-page-promocion .ttc-map > h2,
.page-template-ttc-page-promocion .entry-content h2{
  color: var(--ttc-gold) !important;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.15;
  text-shadow: 0 1px 0 rgba(0,0,0,.35);
  margin: 0 0 16px 0;
  font-size: clamp(22px, 2.4vw, 34px);
}

/* 5) Botones de esa franja: contraste correcto */
.page-template-ttc-page-promocion .entry-content .wp-block-button__link{
  background: var(--ttc-gold) !important;
  color: #0E0F12 !important;
  border: 0 !important;
}
.page-template-ttc-page-promocion .entry-content .is-style-outline .wp-block-button__link{
  background: transparent !important;
  color: var(--ttc-gold) !important;
  border: 1px solid var(--ttc-gold) !important;
}
/* --- Tipologías: título bien visible en dorado --- */
.ttc-typologies h2,
#ttc-tipologias h2 {
  color: var(--ttc-gold, #d6b36a);
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
  font-weight: 800;
}
/* ====== TTR Landing: titular debajo del formulario en dorado ====== */
/* Aplica solo en la plantilla de landing del plugin */
body.page-template-ttc-page-promocion {
  --ttc-gold: #d4af37;
}

/* 1) Colorea el H2 inmediatamente DESPUÉS del formulario (#ttc-form) */
body.page-template-ttc-page-promocion #ttc-form + .wp-block-group .wp-block-heading,
body.page-template-ttc-page-promocion #ttc-form + .wp-block-group h2,
body.page-template-ttc-page-promocion #ttc-form + section .wp-block-heading,
body.page-template-ttc-page-promocion #ttc-form + section h2,
body.page-template-ttc-page-promocion #ttc-form + .elementor-section h2,
body.page-template-ttc-page-promocion #ttc-form + * .wp-block-heading,
body.page-template-ttc-page-promocion #ttc-form + * h2 {
  color: var(--ttc-gold) !important;        /* Dorado premium */
  text-shadow: 0 1px 0 rgba(0,0,0,.28);      /* Un pelín de contraste */
  opacity: 1 !important;                     /* Por si el theme usa transparencias */
}

/* 2) Si el bloque tiene clases de color de Gutenberg, hereda nuestro dorado */
body.page-template-ttc-page-promocion #ttc-form + * [class*="has-"][class*="-color"] {
  color: inherit !important;
}

/* 3) Ajustes opcionales de estilo del titular (puedes comentar si no los quieres) */
body.page-template-ttc-page-promocion #ttc-form + * h2 {
  letter-spacing: .3px;
  font-weight: 700;
}
/* Ocultar filtros de edificios (no los usamos) */
.ttc-typologies__filters [data-ttc-filter="edificio-a"],
.ttc-typologies__filters [data-ttc-filter="edificio-b"]{
  display: none !important;
}
/* --- Tipologías: título bien visible en dorado --- */
.ttc-typologies h2,
#ttc-tipologias h2 {
  color: var(--ttc-gold, #d6b36a);
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
  font-weight: 800;
}
/* Carousel cine */
.ttc-media--carousel{ position:relative; }
.ttc-media--carousel .ttc-media__grid{
  display:flex; gap:12px; overflow:auto; scroll-snap-type: x mandatory;
  padding: 6px 6px 12px;
}
.ttc-media--carousel .ttc-media__item{
  min-width: clamp(720px, 86vw, 1120px);
  scroll-snap-align: center; border-radius:16px;
  background:#0b0e12; border:1px solid rgba(255,255,255,.08);
  box-shadow: 0 12px 28px rgba(0,0,0,.40); overflow:hidden;
}
.ttc-media--carousel .ttc-media__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:999px; border:1px solid rgba(212,175,55,.5);
  background:linear-gradient(180deg,#e4c88d,#caa866); color:#111; font-size:22px;
  display:grid; place-items:center; cursor:pointer; z-index:2;
}
.ttc-media--carousel .ttc-media__nav.prev{ left:8px; }
.ttc-media--carousel .ttc-media__nav.next{ right:8px; }
/* Masonry premium */
.ttc-media--masonry .ttc-media__grid{
  column-count: 3; column-gap: 14px;
}
@media (max-width: 980px){ .ttc-media--masonry .ttc-media__grid{ column-count: 2; } }
@media (max-width: 640px){ .ttc-media--masonry .ttc-media__grid{ column-count: 1; } }

.ttc-media--masonry .ttc-media__item{
  display:block; break-inside: avoid; margin:0 0 14px;
  border-radius:16px; overflow:hidden;
  background:#0b0e12; border:1px solid rgba(255,255,255,.08);
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.ttc-media--masonry .ttc-media__item img,
.ttc-media--masonry .ttc-media__item video,
.ttc-media--masonry .ttc-media__item iframe{ width:100%; height:auto; display:block; }
.ttc-media--masonry .ttc-media__item:hover{ transform:translateY(-2px); transition:.25s; }
/* ===== Lightbox Premium ===== */
.ttc-lightbox__backdrop{
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(0,0,0,.78);
  display: none; opacity: 0; transition: opacity .2s ease;
}
.ttc-lightbox__backdrop.is-open{ display:block; }
.ttc-lightbox__backdrop.is-visible{ opacity:1; }

.ttc-lightbox__dialog{
  position:absolute; left:50%; top:50%;
  transform: translate(-50%, -50%);
  width: min(92vw, 1280px);
  height: min(90vh, 800px);
  border-radius: 16px;
  overflow: hidden;
  background: #0b0e12;
  border: 1px solid rgba(255,255,255,.08);
  box-shadow: 0 24px 64px rgba(0,0,0,.5);
  display: grid; place-items: center;
}
.ttc-lightbox__content{
  width:100%; height:100%;
  display:grid; place-items:center;
  background: #000;
}
.ttc-lightbox__content img,
.ttc-lightbox__content video,
.ttc-lightbox__content iframe{
  width:100%; height:100%; object-fit: contain;
  background: #000;
}

/* Cerrar */
.ttc-lightbox__close{
  position:absolute; top:10px; right:10px;
  width:40px; height:40px; border-radius:999px;
  background: linear-gradient(180deg, var(--gold-2,#e4c88d), var(--gold,#caa866));
  color:#111; border:1px solid rgba(202,168,102,.5);
  display:grid; place-items:center; cursor:pointer;
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
}
.ttc-lightbox__close:hover{ filter:brightness(1.06); }

/* Flechas */
.ttc-lightbox__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:999px;
  background:linear-gradient(180deg, var(--gold-2,#e4c88d), var(--gold,#caa866));
  color:#111; border:1px solid rgba(202,168,102,.5);
  display:grid; place-items:center; cursor:pointer;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
}
.ttc-lightbox__nav.prev{ left:12px; }
.ttc-lightbox__nav.next{ right:12px; }
.ttc-lightbox__nav:hover{ filter:brightness(1.06); }

/* Iconito de “ampliar” sobre vídeos */
.ttc-media__enlarge{
  position:absolute; right:10px; top:10px;
  background: rgba(0,0,0,.5);
  color: var(--gold,#caa866);
  border:1px solid rgba(202,168,102,.5);
  width:30px; height:30px; border-radius:999px;
  display:grid; place-items:center; font-size:16px;
  opacity:.85;
}
.ttc-media__item--video:hover .ttc-media__enlarge{ opacity: 1; }
/* === MEDIA: Masonry premium (fotos) + vídeos debajo === */
.ttc-media--masonry .ttc-media__grid--masonry{
  column-count: 3;
  column-gap: 14px;
}
@media (max-width: 980px){ .ttc-media--masonry .ttc-media__grid--masonry{ column-count: 2; } }
@media (max-width: 640px){ .ttc-media--masonry .ttc-media__grid--masonry{ column-count: 1; } }

.ttc-media--masonry .ttc-media__item{
  display:block;
  break-inside: avoid;
  margin:0 0 14px;
  border-radius:16px;
  overflow:hidden;
  background:#0b0e12;
  border:1px solid rgba(255,255,255,.08);
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
}
.ttc-media--masonry .ttc-media__item img{
  width:100%; height:auto; display:block;
}

/* Contenedor de vídeos debajo del masonry */
.ttc-media--masonry .ttc-media__videos{
  margin-top: 18px;
  display:grid;
  gap:12px;
}
.ttc-media--masonry .ttc-media__videos .ttc-media__item{
  border-radius:16px;
  overflow:hidden;
  background:#0b0e12;
  border:1px solid rgba(255,255,255,.08);
  box-shadow: 0 10px 26px rgba(0,0,0,.35);
}
.ttc-media--masonry .ttc-media__videos .ttc-media__item video,
.ttc-media--masonry .ttc-media__videos .ttc-media__item iframe{
  width:100%; height:auto; display:block; aspect-ratio:16/9; object-fit:cover;
}
.ttc-media--masonry .ttc-embed iframe{ width:100% !important; height:auto !important; aspect-ratio:16/9; }

/* Overlay del héroe: más luz, buen contraste (de derecha a izquierda) */
.ttc-hero__overlay{
  position:absolute; inset:0;
  background:
    linear-gradient(to left,
      rgba(0,0,0,.22) 0%,
      rgba(0,0,0,.42) 55%,
      rgba(0,0,0,.55) 100%
    ),
    radial-gradient(120% 100% at 85% 40%,
      rgba(255,255,255,.08) 0%,
      rgba(255,255,255,0) 60%
    );
  pointer-events:none;
}

/* Lavado de luz sutil sobre la foto (opcional) */
.ttc-hero::after{
  content:""; position:absolute; inset:0;
  background: rgba(255,255,255,.06);
  mix-blend-mode: screen;
  pointer-events:none;
}

@media (max-width: 768px){
  .ttc-hero__overlay{
    background:
      linear-gradient(to left,
        rgba(0,0,0,.30) 0%,
        rgba(0,0,0,.50) 55%,
        rgba(0,0,0,.60) 100%
      ),
      radial-gradient(120% 100% at 85% 40%,
        rgba(255,255,255,.06) 0%,
        rgba(255,255,255,0) 60%
      );
  }
}

/* Anular overlay del héroe (sin oscuridad ni degradados) */
.ttc-hero__overlay{
  background: none !important;
  opacity: 0 !important;
}

/* Anular la capa extra de luz (si la hubieras activado) */
.ttc-hero::after{
  display: none !important;
}

.ttc-hero__content h1,
.ttc-hero__content .ttc-hero__sub{
  text-shadow: 0 2px 10px rgba(0,0,0,.25);
}

/* CTA "Descargar dossier" (ghost) mucho más visible sobre la foto del héroe */
.ttc-hero .ttc-hero__ctas .ttc-btn--ghost{
  --gold: #D4AF37;
  --dark: #111;
  color: var(--gold) !important;
  border: 2px solid var(--gold) !important;
  background: rgba(0,0,0,.28);            /* leve fondo para contrastar sobre la imagen */
  box-shadow: 0 6px 18px rgba(0,0,0,.28); /* profundidad premium */
  font-weight: 600;
}

.ttc-hero .ttc-hero__ctas .ttc-btn--ghost:hover,
.ttc-hero .ttc-hero__ctas .ttc-btn--ghost:focus{
  background: var(--gold) !important;     /* dorado sólido al pasar el ratón */
  color: var(--dark) !important;          /* texto oscuro encima del dorado */
  border-color: var(--gold) !important;
}

.ttc-hero .ttc-hero__ctas .ttc-btn--ghost:focus-visible{
  outline: 3px solid #FFD875;             /* anillo de enfoque accesible */
  outline-offset: 2px;
}

/* Opcional: un pelín más de tamaño en móviles para tactilidad */
@media (max-width: 640px){
  .ttc-hero .ttc-hero__ctas .ttc-btn--ghost{ padding: 0.9em 1.2em; }
}