/*
 * Estilos de los carteles. Todo cuelga de .tc-poster para que no se mezcle con
 * la interfaz del sitio ni con el editor. Los colores son fijos por paleta a
 * propósito: un cartel es una pieza impresa, no debe cambiar con el modo
 * oscuro de quien lo mira.
 */

/* ---------------------------------------------------------------- */
/* paletas                                                          */
/* ---------------------------------------------------------------- */

.tc-poster[data-palette="tierra"]{
  --p-bg:#F6F1E6; --p-sheet:#FBF8F1; --p-ink:#2B2A24; --p-ink-soft:#78735F;
  --p-accent:#B5654A; --p-accent-dark:#8F4934; --p-second:#5E958C; --p-second-dark:#3E6C64;
  --p-deep:#354A3B; --p-sand:#C9B896; --p-line:#E9E1CD; --p-on-deep:#F0E2C8; --p-on-deep-soft:#C9D6C4;
}
.tc-poster[data-palette="bosque"]{
  --p-bg:#F2F0E6; --p-sheet:#FAF9F2; --p-ink:#23291F; --p-ink-soft:#6E7563;
  --p-accent:#C08552; --p-accent-dark:#9A6737; --p-second:#4A7C59; --p-second-dark:#2F5439;
  --p-deep:#2C3D2E; --p-sand:#CFC49F; --p-line:#E3E3D2; --p-on-deep:#EBE3C4; --p-on-deep-soft:#C2CEBB;
}
.tc-poster[data-palette="arena"]{
  --p-bg:#FAF6EC; --p-sheet:#FFFDF7; --p-ink:#33302A; --p-ink-soft:#7A6A53;
  --p-accent:#C08A3E; --p-accent-dark:#96682A; --p-second:#8A8265; --p-second-dark:#5F5940;
  --p-deep:#4A4436; --p-sand:#DCC79A; --p-line:#EDE4D0; --p-on-deep:#F4E7C8; --p-on-deep-soft:#D6CDB4;
}
.tc-poster[data-palette="noche"]{
  --p-bg:#20211C; --p-sheet:#26271F; --p-ink:#EFE9D8; --p-ink-soft:#A9A48E;
  --p-accent:#D98A6C; --p-accent-dark:#E8A385; --p-second:#7FB0A5; --p-second-dark:#9BC7BC;
  --p-deep:#15160F; --p-sand:#C9B896; --p-line:#3B3B30; --p-on-deep:#F0E2C8; --p-on-deep-soft:#B6BFAE;
}
.tc-poster[data-palette="indigo"]{
  --p-bg:#F4F5FA; --p-sheet:#FFFFFF; --p-ink:#1F2333; --p-ink-soft:#6A6F85;
  --p-accent:#4C5D9E; --p-accent-dark:#35447D; --p-second:#D9A34E; --p-second-dark:#B07F2E;
  --p-deep:#262D45; --p-sand:#C3CBE6; --p-line:#E2E5F0; --p-on-deep:#DCE2F5; --p-on-deep-soft:#AEB7D2;
}

.tc-poster[data-palette="verde"]{
  --p-bg:#F1F6EA; --p-sheet:#FFFFFF; --p-ink:#1C2B18; --p-ink-soft:#5E7355;
  --p-accent:#7AB829; --p-accent-dark:#5C8F1B; --p-second:#93D227; --p-second-dark:#3F7A1E;
  --p-deep:#1F4D24; --p-sand:#C9E39A; --p-line:#DCE9CC; --p-on-deep:#E6F4CE; --p-on-deep-soft:#BEDCA4;
}

/* ---------------------------------------------------------------- */
/* base                                                             */
/* ---------------------------------------------------------------- */

.tc-poster{
  width: 900px;
  background: var(--p-sheet);
  color: var(--p-ink);
  font-family: 'Inter', system-ui, sans-serif;
  line-height: 1.5;
  overflow: hidden;
  -webkit-font-smoothing: antialiased;
}
.tc-poster *{ box-sizing: border-box; margin:0; padding:0; }
.tc-poster img{ display:block; }
.tc-poster h1, .tc-poster h2, .tc-poster h3{ font-family:'Fraunces', Georgia, serif; font-weight:600; }

.tc-noimg{
  background: repeating-linear-gradient(45deg, var(--p-line) 0 12px, transparent 12px 24px), var(--p-bg);
  display:flex; align-items:center; justify-content:center;
  width:100%; height:100%; min-height:120px;
  color: var(--p-ink-soft); font-size:13px; letter-spacing:1px; text-transform:uppercase;
}

/* ================================================================ */
/* plantilla: campestre                                             */
/* ================================================================ */

.tc-poster[data-tpl="campestre"] .cp-hero{ position:relative; height:560px; overflow:hidden; }
.tc-poster[data-tpl="campestre"] .cp-hero img{ width:100%; height:100%; object-fit:cover; object-position:center 40%; filter:saturate(1.05); }
.tc-poster[data-tpl="campestre"] .cp-hero .tc-noimg{ height:100%; }
.tc-poster[data-tpl="campestre"] .cp-hero::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(20,18,12,0.05) 0%, rgba(20,18,12,0.18) 45%, rgba(20,18,12,0.88) 100%);
}
.tc-poster[data-tpl="campestre"] .cp-hero-content{ position:absolute; left:0; right:0; bottom:0; padding:34px 42px 30px; color:#fff; z-index:2; }
.tc-poster[data-tpl="campestre"] .cp-eyebrow{
  display:inline-block; font-weight:700; font-size:12.5px; letter-spacing:3px; text-transform:uppercase;
  color:var(--p-on-deep); background:rgba(0,0,0,0.28); border:1px solid rgba(255,255,255,0.5);
  padding:6px 14px; border-radius:2px; margin-bottom:16px;
}
.tc-poster[data-tpl="campestre"] .cp-hero h1{ font-size:44px; line-height:1.08; max-width:620px; margin-bottom:10px; text-wrap:balance; color:#fff; }
.tc-poster[data-tpl="campestre"] .cp-loc{ font-size:16px; color:#E9E2D2; font-weight:500; letter-spacing:0.3px; }

.tc-poster[data-tpl="campestre"] .cp-tiles{
  height:22px; width:100%; background:var(--p-accent);
  -webkit-mask-image: radial-gradient(circle at 11px -3px, transparent 11px, black 11.5px);
  -webkit-mask-size:22px 22px; -webkit-mask-repeat:repeat-x;
  mask-image: radial-gradient(circle at 11px -3px, transparent 11px, black 11.5px);
  mask-size:22px 22px; mask-repeat:repeat-x;
}
.tc-poster[data-tpl="campestre"] .cp-tiles.flip{ transform:scaleY(-1); }

.tc-poster[data-tpl="campestre"] .cp-statbar{ display:flex; background:var(--p-deep); color:var(--p-on-deep); }
.tc-poster[data-tpl="campestre"] .cp-stat{ flex:1; text-align:center; padding:26px 12px; border-right:1px solid rgba(255,255,255,0.14); }
.tc-poster[data-tpl="campestre"] .cp-stat:last-child{ border-right:none; }
.tc-poster[data-tpl="campestre"] .cp-stat .num{ font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:28px; display:block; color:var(--p-on-deep); }
.tc-poster[data-tpl="campestre"] .cp-stat .lbl{ font-size:11.5px; letter-spacing:1.6px; text-transform:uppercase; color:var(--p-on-deep-soft); margin-top:4px; display:block; }

.tc-poster[data-tpl="campestre"] .cp-about{ padding:46px 44px 10px; }
.tc-poster[data-tpl="campestre"] .cp-about p{ font-size:17px; line-height:1.7; color:var(--p-ink); max-width:660px; }
.tc-poster[data-tpl="campestre"] .cp-about p + p{ margin-top:14px; }

.tc-poster[data-tpl="campestre"] .cp-gallery{ padding:34px 44px 10px; }
.tc-poster[data-tpl="campestre"] .cp-gallery-label{ font-family:'Fraunces',Georgia,serif; font-size:22px; font-weight:600; color:var(--p-deep); margin-bottom:16px; }
.tc-poster[data-tpl="campestre"] .cp-grid{ display:grid; grid-template-columns:1.4fr 1fr; grid-template-rows:160px 160px; gap:10px; }
.tc-poster[data-tpl="campestre"] .cp-grid img,
.tc-poster[data-tpl="campestre"] .cp-grid .tc-noimg{ width:100%; height:100%; object-fit:cover; border-radius:3px; min-height:0; }
.tc-poster[data-tpl="campestre"] .cp-grid .big{ grid-row:1 / 3; }

.tc-poster[data-tpl="campestre"] .cp-features{ padding:40px 44px 20px; display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; }
.tc-poster[data-tpl="campestre"] .cp-feature{ display:flex; align-items:flex-start; gap:12px; padding:14px 0; border-bottom:1px solid var(--p-line); }
.tc-poster[data-tpl="campestre"] .cp-feature .ico{
  width:34px; height:34px; flex-shrink:0; border-radius:50%; background:var(--p-second);
  display:flex; align-items:center; justify-content:center; color:#fff; font-size:15px;
}
.tc-poster[data-tpl="campestre"] .cp-feature .txt .t{ font-weight:600; font-size:15px; color:var(--p-ink); }
.tc-poster[data-tpl="campestre"] .cp-feature .txt .s{ font-size:13px; color:var(--p-ink-soft); margin-top:1px; }

.tc-poster[data-tpl="campestre"] .cp-price-section{
  margin:30px 44px 44px; background:var(--p-sheet); border:2px solid var(--p-accent); border-radius:4px;
  padding:30px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.tc-poster[data-tpl="campestre"] .plabel{ font-size:12px; letter-spacing:2px; text-transform:uppercase; color:var(--p-accent-dark); font-weight:700; }
.tc-poster[data-tpl="campestre"] .pval{ font-family:'Fraunces',Georgia,serif; font-size:40px; font-weight:700; color:var(--p-ink); line-height:1.1; margin-top:4px; font-variant-numeric:tabular-nums; }
.tc-poster[data-tpl="campestre"] .pneg{ font-size:13.5px; color:var(--p-ink-soft); margin-top:4px; }
.tc-poster[data-tpl="campestre"] .cp-seal{
  width:108px; height:108px; border-radius:50%; border:2.5px dashed var(--p-second-dark);
  display:flex; align-items:center; justify-content:center; text-align:center; flex-shrink:0; transform:rotate(-8deg);
}
.tc-poster[data-tpl="campestre"] .cp-seal .inner{
  font-family:'Fraunces',Georgia,serif; font-size:12.5px; font-weight:600; color:var(--p-second-dark);
  line-height:1.25; letter-spacing:0.5px; text-transform:uppercase;
}

.tc-poster[data-tpl="campestre"] .cp-cta{ background:var(--p-second-dark); color:#fff; padding:40px 44px 44px; text-align:center; }
.tc-poster[data-tpl="campestre"] .cp-cta h2{ font-size:27px; margin-bottom:10px; color:#fff; }
.tc-poster[data-tpl="campestre"] .cp-cta p{ font-size:15px; color:rgba(255,255,255,0.85); }
.tc-poster[data-tpl="campestre"] .cp-cta .addr{ margin-top:18px; font-size:13.5px; letter-spacing:0.5px; color:rgba(255,255,255,0.65); text-transform:uppercase; }

/* ================================================================ */
/* plantilla: urbano                                                */
/* ================================================================ */

.tc-poster[data-tpl="urbano"]{ background:var(--p-bg); }
.tc-poster[data-tpl="urbano"] .ur-top{
  background:var(--p-deep); color:var(--p-on-deep); padding:18px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.tc-poster[data-tpl="urbano"] .ur-brand{ font-family:'Fraunces',Georgia,serif; font-weight:700; font-size:20px; letter-spacing:0.2px; }
.tc-poster[data-tpl="urbano"] .ur-eyebrow{ font-size:11.5px; font-weight:700; letter-spacing:2.4px; text-transform:uppercase; color:var(--p-on-deep-soft); border:1px solid rgba(255,255,255,0.3); padding:6px 12px; border-radius:3px; }

.tc-poster[data-tpl="urbano"] .ur-hero{ height:400px; overflow:hidden; }
.tc-poster[data-tpl="urbano"] .ur-hero img{ width:100%; height:100%; object-fit:cover; }
.tc-poster[data-tpl="urbano"] .ur-hero .tc-noimg{ height:100%; }

.tc-poster[data-tpl="urbano"] .ur-body{ display:grid; grid-template-columns:1fr 300px; gap:34px; padding:38px 40px 30px; background:var(--p-sheet); }
.tc-poster[data-tpl="urbano"] .ur-main h1{ font-size:34px; line-height:1.14; text-wrap:balance; }
.tc-poster[data-tpl="urbano"] .ur-loc{ font-size:14.5px; color:var(--p-ink-soft); margin-top:8px; }

.tc-poster[data-tpl="urbano"] .ur-specs{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.tc-poster[data-tpl="urbano"] .ur-spec{ border:1px solid var(--p-line); border-radius:8px; padding:10px 14px; min-width:104px; background:var(--p-bg); }
.tc-poster[data-tpl="urbano"] .ur-spec .num{ display:block; font-family:'Fraunces',Georgia,serif; font-weight:600; font-size:19px; color:var(--p-ink); font-variant-numeric:tabular-nums; }
.tc-poster[data-tpl="urbano"] .ur-spec .lbl{ display:block; font-size:11px; letter-spacing:1.2px; text-transform:uppercase; color:var(--p-ink-soft); margin-top:2px; }

.tc-poster[data-tpl="urbano"] .ur-about{ margin-top:24px; }
.tc-poster[data-tpl="urbano"] .ur-about p{ font-size:15.5px; line-height:1.72; color:var(--p-ink); }
.tc-poster[data-tpl="urbano"] .ur-about p + p{ margin-top:12px; }

.tc-poster[data-tpl="urbano"] .ur-points{ margin-top:20px; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
.tc-poster[data-tpl="urbano"] .ur-points li{ position:relative; padding-left:20px; font-size:14px; color:var(--p-ink); }
.tc-poster[data-tpl="urbano"] .ur-points li::before{
  content:""; position:absolute; left:2px; top:8px; width:8px; height:8px; border-radius:50%; background:var(--p-second);
}

.tc-poster[data-tpl="urbano"] .ur-side{ display:flex; flex-direction:column; gap:14px; }
.tc-poster[data-tpl="urbano"] .ur-price-card{ background:var(--p-deep); color:#fff; border-radius:10px; padding:24px 22px; }
.tc-poster[data-tpl="urbano"] .ur-price-card .plabel{ font-size:11px; letter-spacing:2px; text-transform:uppercase; color:var(--p-on-deep-soft); font-weight:700; }
.tc-poster[data-tpl="urbano"] .ur-price-card .pval{ font-family:'Fraunces',Georgia,serif; font-size:33px; font-weight:700; margin-top:6px; line-height:1.1; color:#fff; font-variant-numeric:tabular-nums; }
.tc-poster[data-tpl="urbano"] .ur-price-card .pnote{ font-size:13px; color:var(--p-on-deep-soft); margin-top:6px; }
.tc-poster[data-tpl="urbano"] .ur-badge{ margin-top:16px; display:inline-block; background:var(--p-accent); color:#fff; font-size:11.5px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:7px 12px; border-radius:4px; }

.tc-poster[data-tpl="urbano"] .ur-contact{ border:1.5px solid var(--p-line); border-radius:10px; padding:20px 22px; background:var(--p-bg); }
.tc-poster[data-tpl="urbano"] .ur-contact h3{ font-size:18px; color:var(--p-ink); margin-bottom:6px; }
.tc-poster[data-tpl="urbano"] .ur-contact p{ font-size:13.5px; color:var(--p-ink-soft); line-height:1.6; }
.tc-poster[data-tpl="urbano"] .ur-phone{ margin-top:12px; font-family:'Fraunces',Georgia,serif; font-size:22px; font-weight:700; color:var(--p-accent-dark); font-variant-numeric:tabular-nums; }

.tc-poster[data-tpl="urbano"] .ur-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:0 40px 40px; background:var(--p-sheet); }
.tc-poster[data-tpl="urbano"] .ur-gallery img,
.tc-poster[data-tpl="urbano"] .ur-gallery .tc-noimg{ width:100%; height:180px; object-fit:cover; border-radius:6px; min-height:0; }

/* ================================================================ */
/* plantilla: volante (vertical 4:5)                                */
/* ================================================================ */

/* min-height y no height: mantiene el 4:5 cuando el contenido cabe, y crece en
   vez de recortar el teléfono si alguien escribe de más. */
.tc-poster[data-tpl="volante"]{ width:900px; min-height:1125px; display:flex; flex-direction:column; background:var(--p-sheet); }
.tc-poster[data-tpl="volante"] .vo-photo{ position:relative; height:520px; flex-shrink:0; overflow:hidden; }
.tc-poster[data-tpl="volante"] .vo-photo img{ width:100%; height:100%; object-fit:cover; }
.tc-poster[data-tpl="volante"] .vo-photo .tc-noimg{ height:100%; }
.tc-poster[data-tpl="volante"] .vo-band{
  position:absolute; top:36px; left:-52px; width:280px; text-align:center;
  background:var(--p-accent); color:#fff; font-weight:700; font-size:17px;
  letter-spacing:5px; text-transform:uppercase; padding:11px 0;
  transform:rotate(-38deg); box-shadow:0 6px 18px rgba(0,0,0,0.25);
}

.tc-poster[data-tpl="volante"] .vo-body{ flex:1; padding:36px 48px 10px; display:flex; flex-direction:column; }
.tc-poster[data-tpl="volante"] .vo-body h1{ font-size:42px; line-height:1.1; text-wrap:balance; }
.tc-poster[data-tpl="volante"] .vo-loc{ font-size:17px; color:var(--p-ink-soft); margin-top:10px; }
.tc-poster[data-tpl="volante"] .vo-price{
  font-family:'Fraunces',Georgia,serif; font-size:52px; font-weight:700; color:var(--p-accent-dark);
  margin-top:20px; line-height:1; display:flex; align-items:baseline; gap:14px; flex-wrap:wrap;
  font-variant-numeric:tabular-nums;
}
.tc-poster[data-tpl="volante"] .vo-pnote{ font-family:'Inter',sans-serif; font-size:15px; font-weight:500; color:var(--p-ink-soft); letter-spacing:0.4px; }

.tc-poster[data-tpl="volante"] .vo-chips{ display:flex; gap:12px; margin-top:26px; flex-wrap:wrap; }
.tc-poster[data-tpl="volante"] .vo-chip{ background:var(--p-bg); border:1px solid var(--p-line); border-radius:9px; padding:12px 18px; min-width:120px; }
.tc-poster[data-tpl="volante"] .vo-chip b{ display:block; font-family:'Fraunces',Georgia,serif; font-size:22px; color:var(--p-ink); }
.tc-poster[data-tpl="volante"] .vo-chip span{ display:block; font-size:11.5px; letter-spacing:1.4px; text-transform:uppercase; color:var(--p-ink-soft); margin-top:3px; }

.tc-poster[data-tpl="volante"] .vo-points{ list-style:none; margin-top:24px; display:flex; flex-direction:column; gap:9px; }
.tc-poster[data-tpl="volante"] .vo-points li{ position:relative; padding-left:26px; font-size:16.5px; color:var(--p-ink); }
.tc-poster[data-tpl="volante"] .vo-points li::before{
  content:""; position:absolute; left:4px; top:9px; width:10px; height:10px; border-radius:50%; background:var(--p-second);
}

.tc-poster[data-tpl="volante"] .vo-foot{
  flex-shrink:0; background:var(--p-deep); color:#fff; padding:26px 48px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.tc-poster[data-tpl="volante"] .vo-cta span{ display:block; font-size:12.5px; letter-spacing:2.6px; text-transform:uppercase; color:var(--p-on-deep-soft); }
.tc-poster[data-tpl="volante"] .vo-cta b{ display:block; font-family:'Fraunces',Georgia,serif; font-size:34px; color:var(--p-on-deep); margin-top:4px; font-variant-numeric:tabular-nums; }
.tc-poster[data-tpl="volante"] .vo-brand{ font-family:'Fraunces',Georgia,serif; font-size:19px; color:var(--p-on-deep-soft); }

/* ================================================================ */
/* impresión                                                        */
/* ================================================================ */

@media print{
  .tc-poster{ width:100%; box-shadow:none; }
  .tc-poster[data-tpl="volante"]{ min-height:0; }
}

/* ================================================================ */
/* pantallas chicas                                                 */
/*                                                                  */
/* En un celular el cartel se reacomoda en vez de encogerse: a 900px */
/* escalados a 0.4 el texto queda ilegible. El editor lo sigue       */
/* mostrando a tamaño real porque ahí el navegador siempre es ancho  */
/* y el encogido lo hace un transform, no estas reglas.              */
/* ================================================================ */

@media (max-width: 940px){
  .tc-poster{ width:100%; }

  /* --- campestre --- */
  .tc-poster[data-tpl="campestre"] .cp-hero{ height:52vw; min-height:280px; max-height:440px; }
  .tc-poster[data-tpl="campestre"] .cp-hero-content{ padding:24px 24px 22px; }
  .tc-poster[data-tpl="campestre"] .cp-hero h1{ font-size:30px; }
  .tc-poster[data-tpl="campestre"] .cp-eyebrow{ font-size:11px; margin-bottom:12px; }
  .tc-poster[data-tpl="campestre"] .cp-loc{ font-size:14px; }
  .tc-poster[data-tpl="campestre"] .cp-statbar{ flex-wrap:wrap; }
  .tc-poster[data-tpl="campestre"] .cp-stat{ flex:1 1 50%; border-bottom:1px solid rgba(255,255,255,0.14); padding:20px 10px; }
  .tc-poster[data-tpl="campestre"] .cp-stat .num{ font-size:23px; }
  .tc-poster[data-tpl="campestre"] .cp-about{ padding:32px 24px 6px; }
  .tc-poster[data-tpl="campestre"] .cp-about p{ font-size:15.5px; }
  .tc-poster[data-tpl="campestre"] .cp-gallery{ padding:26px 24px 6px; }
  .tc-poster[data-tpl="campestre"] .cp-grid{ grid-template-columns:1fr 1fr; grid-template-rows:120px 120px; }
  .tc-poster[data-tpl="campestre"] .cp-features{ padding:28px 24px 14px; grid-template-columns:1fr; gap:0 0; }
  .tc-poster[data-tpl="campestre"] .cp-price-section{ margin:24px; flex-direction:column; text-align:center; padding:24px 20px; }
  .tc-poster[data-tpl="campestre"] .pval{ font-size:34px; }
  .tc-poster[data-tpl="campestre"] .cp-cta{ padding:32px 24px 34px; }
  .tc-poster[data-tpl="campestre"] .cp-cta h2{ font-size:23px; }

  /* --- urbano --- */
  .tc-poster[data-tpl="urbano"] .ur-top{ padding:14px 22px; }
  .tc-poster[data-tpl="urbano"] .ur-hero{ height:54vw; min-height:220px; max-height:340px; }
  .tc-poster[data-tpl="urbano"] .ur-body{ grid-template-columns:1fr; gap:24px; padding:28px 22px 24px; }
  .tc-poster[data-tpl="urbano"] .ur-main h1{ font-size:27px; }
  .tc-poster[data-tpl="urbano"] .ur-points{ grid-template-columns:1fr; }
  .tc-poster[data-tpl="urbano"] .ur-gallery{ grid-template-columns:1fr 1fr; padding:0 22px 30px; }
  .tc-poster[data-tpl="urbano"] .ur-gallery img,
  .tc-poster[data-tpl="urbano"] .ur-gallery .tc-noimg{ height:130px; }

  /* --- volante --- */
  .tc-poster[data-tpl="volante"]{ min-height:0; }
  .tc-poster[data-tpl="volante"] .vo-photo{ height:62vw; min-height:260px; max-height:420px; }
  .tc-poster[data-tpl="volante"] .vo-band{ font-size:14px; letter-spacing:3.5px; width:240px; left:-58px; top:30px; }
  .tc-poster[data-tpl="volante"] .vo-body{ padding:26px 24px 8px; }
  .tc-poster[data-tpl="volante"] .vo-body h1{ font-size:29px; }
  .tc-poster[data-tpl="volante"] .vo-loc{ font-size:15px; }
  .tc-poster[data-tpl="volante"] .vo-price{ font-size:38px; margin-top:16px; }
  .tc-poster[data-tpl="volante"] .vo-chips{ gap:8px; margin-top:20px; }
  .tc-poster[data-tpl="volante"] .vo-chip{ min-width:0; flex:1 1 40%; padding:10px 14px; }
  .tc-poster[data-tpl="volante"] .vo-chip b{ font-size:18px; }
  .tc-poster[data-tpl="volante"] .vo-points li{ font-size:15px; }
  .tc-poster[data-tpl="volante"] .vo-foot{ padding:22px 24px; flex-direction:column; align-items:flex-start; gap:10px; }
  .tc-poster[data-tpl="volante"] .vo-cta b{ font-size:28px; }
}

@media (max-width: 520px){
  .tc-poster[data-tpl="campestre"] .cp-hero h1{ font-size:25px; }
  .tc-poster[data-tpl="campestre"] .cp-stat{ flex:1 1 100%; }
  .tc-poster[data-tpl="campestre"] .cp-grid{ grid-template-rows:100px 100px; }
  .tc-poster[data-tpl="urbano"] .ur-main h1{ font-size:24px; }
  .tc-poster[data-tpl="volante"] .vo-body h1{ font-size:25px; }
  .tc-poster[data-tpl="volante"] .vo-price{ font-size:32px; }
}

/* La galería se adapta a cuántas fotos haya, sin dejar huecos vacíos. */
.tc-poster[data-tpl="campestre"] .cp-grid-1{ grid-template-columns:1fr; grid-template-rows:260px; }
.tc-poster[data-tpl="campestre"] .cp-grid-2{ grid-template-columns:1fr 1fr; grid-template-rows:200px; }
.tc-poster[data-tpl="campestre"] .cp-grid-2 .big{ grid-row:auto; }
.tc-poster[data-tpl="urbano"] .ur-gallery-1{ grid-template-columns:1fr; }
.tc-poster[data-tpl="urbano"] .ur-gallery-1 img{ height:300px; }
.tc-poster[data-tpl="urbano"] .ur-gallery-2{ grid-template-columns:1fr 1fr; }
.tc-poster[data-tpl="urbano"] .ur-gallery-2 img{ height:230px; }

/* ================================================================ */
/* plantillas de publicidad                                          */
/* ================================================================ */

/* ---- Historia: vertical alto, para estados ---- */

.tc-poster[data-tpl="historia"]{ width:900px; display:flex; flex-direction:column; background:var(--p-sheet); }

.tc-poster[data-tpl="historia"] .hi-top{ position:relative; height:820px; overflow:hidden; background:var(--p-deep); }
.tc-poster[data-tpl="historia"] .hi-hero{ width:100%; height:100%; object-fit:cover; }
.tc-poster[data-tpl="historia"] .hi-veil{
  position:absolute; inset:0;
  background:
    linear-gradient(160deg, var(--p-second) 0%, rgba(0,0,0,0) 58%),
    linear-gradient(0deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0) 42%);
}
.tc-poster[data-tpl="historia"] .hi-brand{
  position:absolute; top:34px; right:38px; z-index:2;
  background:rgba(255,255,255,0.92); color:var(--p-deep);
  padding:10px 18px; border-radius:999px;
  font-size:15px; font-weight:700; letter-spacing:0.5px;
}
.tc-poster[data-tpl="historia"] .hi-titles{ position:absolute; left:48px; right:48px; top:52px; z-index:2; }
.tc-poster[data-tpl="historia"] .hi-t1{
  font-size:56px; font-weight:800; line-height:1; letter-spacing:1px;
  text-transform:uppercase; color:#fff; text-shadow:0 3px 18px rgba(0,0,0,0.35);
}
.tc-poster[data-tpl="historia"] .hi-t2{
  font-family:'Inter', system-ui, sans-serif;
  font-size:96px; font-weight:800; line-height:0.95; letter-spacing:-1px;
  text-transform:uppercase; color:#fff; margin-top:2px;
  text-shadow:0 4px 24px rgba(0,0,0,0.4);
}
.tc-poster[data-tpl="historia"] .hi-sub{
  display:inline-block; margin-top:24px; max-width:560px;
  background:var(--p-deep); color:#fff;
  padding:14px 22px; border-radius:6px;
  font-size:26px; font-weight:600; line-height:1.3;
}

.tc-poster[data-tpl="historia"] .hi-tira{ display:grid; gap:12px; padding:26px 40px 0; }
.tc-poster[data-tpl="historia"] .hi-tira-1{ grid-template-columns:1fr; }
.tc-poster[data-tpl="historia"] .hi-tira-2{ grid-template-columns:1fr 1fr; }
.tc-poster[data-tpl="historia"] .hi-tira-3{ grid-template-columns:repeat(3,1fr); }
.tc-poster[data-tpl="historia"] .hi-tira img{ width:100%; height:210px; object-fit:cover; border-radius:8px; }
.tc-poster[data-tpl="historia"] .hi-tira-1 img{ height:320px; }

.tc-poster[data-tpl="historia"] .hi-datos{
  display:flex; align-items:center; justify-content:space-between; gap:28px;
  padding:34px 40px 0;
}
.tc-poster[data-tpl="historia"] .hi-feats{ list-style:none; }
.tc-poster[data-tpl="historia"] .hi-feats li{
  display:flex; align-items:center; gap:12px;
  font-size:27px; font-weight:600; color:var(--p-deep); padding:7px 0;
}
.tc-poster[data-tpl="historia"] .hi-ico{ font-size:24px; color:var(--p-second-dark); width:30px; }
.tc-poster[data-tpl="historia"] .hi-area{
  flex:0 0 auto; text-align:center; min-width:280px;
  border:4px solid var(--p-second); border-radius:16px; padding:18px 26px;
}
.tc-poster[data-tpl="historia"] .hi-area span{
  display:block; font-size:16px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:var(--p-ink-soft);
}
.tc-poster[data-tpl="historia"] .hi-area b{
  display:block; margin-top:4px; font-size:62px; font-weight:800;
  line-height:1; color:var(--p-deep);
}

.tc-poster[data-tpl="historia"] .hi-cierre{
  padding:34px 40px 30px; font-size:26px; font-weight:700;
  color:var(--p-deep); line-height:1.35;
}
.tc-poster[data-tpl="historia"] .hi-foot{
  margin-top:auto; background:var(--p-deep); color:#fff;
  padding:24px 40px; text-align:center;
}
.tc-poster[data-tpl="historia"] .hi-foot-t{
  font-size:17px; font-weight:700; letter-spacing:4px; text-transform:uppercase;
  color:var(--p-on-deep-soft);
}
.tc-poster[data-tpl="historia"] .hi-tel{ margin-top:8px; font-size:34px; font-weight:800; }

/* ---- Panel lateral: cuadrado partido ---- */

.tc-poster[data-tpl="lateral"]{ width:900px; display:flex; flex-direction:column; background:var(--p-sheet); }

.tc-poster[data-tpl="lateral"] .la-cinta{
  padding:18px 40px; text-align:right;
  font-size:17px; font-weight:800; letter-spacing:3px; text-transform:uppercase;
  color:var(--p-deep); background:var(--p-sheet);
}
.tc-poster[data-tpl="lateral"] .la-cuerpo{ display:grid; grid-template-columns:44% 1fr; gap:0; }

.tc-poster[data-tpl="lateral"] .la-panel{
  background:var(--p-deep); color:#fff; padding:34px 30px 30px;
  display:flex; flex-direction:column; gap:20px;
}
.tc-poster[data-tpl="lateral"] .la-logo{
  align-self:flex-start; background:var(--p-sheet); color:var(--p-deep);
  padding:16px 22px; border-radius:8px; font-size:19px; font-weight:800;
}
.tc-poster[data-tpl="lateral"] .la-tit h1{
  font-family:'Inter', system-ui, sans-serif;
  font-size:52px; font-weight:800; line-height:1; letter-spacing:-0.5px; text-transform:uppercase;
}
.tc-poster[data-tpl="lateral"] .la-t2{
  font-size:34px; font-weight:800; line-height:1.05; text-transform:uppercase;
  color:var(--p-on-deep-soft);
}
.tc-poster[data-tpl="lateral"] .la-loc{ margin-top:12px; font-size:20px; color:var(--p-on-deep-soft); }
.tc-poster[data-tpl="lateral"] .la-inset{
  margin-top:auto; border:5px solid var(--p-sheet); border-radius:4px; overflow:hidden;
}
.tc-poster[data-tpl="lateral"] .la-inset img{ width:100%; height:150px; object-fit:cover; }

.tc-poster[data-tpl="lateral"] .la-foto{ position:relative; min-height:430px; background:var(--p-bg); }
.tc-poster[data-tpl="lateral"] .la-foto img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.tc-poster[data-tpl="lateral"] .la-precio{
  position:absolute; left:26px; right:26px; bottom:26px; z-index:2;
  background:var(--p-second-dark); color:#fff; border-radius:6px;
  padding:14px 20px; text-align:center; font-size:38px; font-weight:800;
}

.tc-poster[data-tpl="lateral"] .la-puntos{
  list-style:none; columns:2; column-gap:40px;
  padding:28px 40px 8px;
}
.tc-poster[data-tpl="lateral"] .la-puntos li{
  break-inside:avoid; padding:6px 0 6px 20px; position:relative;
  font-size:23px; font-weight:600; color:var(--p-ink);
}
.tc-poster[data-tpl="lateral"] .la-puntos li::before{
  content:"•"; position:absolute; left:0; color:var(--p-accent); font-weight:800;
}
.tc-poster[data-tpl="lateral"] .la-foot{
  margin-top:22px; background:var(--p-deep); color:#fff;
  padding:22px 40px; display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.tc-poster[data-tpl="lateral"] .la-foot span{
  font-size:17px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
  color:var(--p-on-deep-soft);
}
.tc-poster[data-tpl="lateral"] .la-foot b{ font-size:32px; font-weight:800; }

/* ---- Collage: fotos ladeadas y tablilla ---- */

.tc-poster[data-tpl="collage"]{ width:900px; background:var(--p-bg); }
.tc-poster[data-tpl="collage"] .co-cuerpo{
  display:grid; grid-template-columns:46% 1fr; gap:20px;
  padding:56px 44px 60px;
}
.tc-poster[data-tpl="collage"] .co-fotos{ display:flex; flex-direction:column; gap:26px; padding-top:10px; }
.tc-poster[data-tpl="collage"] .co-foto{
  background:var(--p-sheet); padding:8px; border-radius:2px;
  box-shadow:0 14px 34px rgba(0,0,0,0.18);
}
.tc-poster[data-tpl="collage"] .co-foto img{ width:100%; height:220px; object-fit:cover; }
.tc-poster[data-tpl="collage"] .co-foto-1{ transform:rotate(-3deg); }
.tc-poster[data-tpl="collage"] .co-foto-2{ transform:rotate(2deg); }
.tc-poster[data-tpl="collage"] .co-foto-3{ transform:rotate(-2deg); }

.tc-poster[data-tpl="collage"] .co-lado{ padding-top:16px; }
.tc-poster[data-tpl="collage"] .co-lado h1{
  font-family:'Inter', system-ui, sans-serif;
  font-size:58px; font-weight:800; line-height:0.95; letter-spacing:-1px;
  text-transform:uppercase; color:var(--p-second-dark);
  overflow-wrap:anywhere;
}
.tc-poster[data-tpl="collage"] .co-frase{
  margin-top:22px; font-size:26px; line-height:1.35; color:var(--p-ink-soft);
}
.tc-poster[data-tpl="collage"] .co-tabla{
  position:relative; margin-top:46px;
  background:var(--p-sheet); border:8px solid var(--p-second-dark); border-radius:10px;
  padding:44px 26px 30px; text-align:center;
  box-shadow:0 16px 36px rgba(0,0,0,0.14);
}
.tc-poster[data-tpl="collage"] .co-clip{
  position:absolute; top:-24px; left:50%; transform:translateX(-50%);
  width:70px; height:34px; border-radius:6px;
  background:var(--p-ink-soft); border:3px solid var(--p-sheet);
}
.tc-poster[data-tpl="collage"] .co-medidas b{
  display:block; font-size:40px; font-weight:700; line-height:1.35;
  color:var(--p-second-dark); letter-spacing:1px;
}
.tc-poster[data-tpl="collage"] .co-nota{
  margin-top:22px; font-size:23px; line-height:1.35; color:var(--p-ink);
}
.tc-poster[data-tpl="collage"] .co-tel{
  margin-top:22px; font-size:34px; font-weight:700; color:var(--p-second-dark); letter-spacing:1px;
}
.tc-poster[data-tpl="collage"] .co-dir{ margin-top:12px; font-size:19px; color:var(--p-ink-soft); }

/* ---- Titular: una foto y un título enorme ---- */

.tc-poster[data-tpl="titular"]{ width:900px; background:var(--p-bg); padding:44px 44px 30px; }
.tc-poster[data-tpl="titular"] .ti-tit{
  font-family:'Inter', system-ui, sans-serif;
  font-size:76px; font-weight:800; line-height:0.98; letter-spacing:-2px;
  text-transform:uppercase; text-align:center; color:var(--p-deep);
}
.tc-poster[data-tpl="titular"] .ti-placa{
  margin:20px auto 0; width:fit-content;
  background:var(--p-deep); color:#fff; border-radius:6px;
  padding:12px 30px; font-size:44px; font-weight:800; letter-spacing:0.5px;
}
.tc-poster[data-tpl="titular"] .ti-marco{
  margin-top:30px; border:6px solid var(--p-sheet); border-radius:4px; overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,0.18);
}
.tc-poster[data-tpl="titular"] .ti-marco img{ width:100%; height:430px; object-fit:cover; }
.tc-poster[data-tpl="titular"] .ti-pie{
  margin-top:30px; display:flex; align-items:center; justify-content:space-between;
  gap:18px; flex-wrap:wrap;
}
.tc-poster[data-tpl="titular"] .ti-pie span{
  display:flex; align-items:center; gap:10px;
  font-size:19px; font-weight:600; color:var(--p-ink);
}
.tc-poster[data-tpl="titular"] .ti-pie i{
  font-style:normal; width:34px; height:34px; border-radius:50%;
  background:var(--p-deep); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:17px;
}

/* ---- Tira de fotos: fondo oscuro y lista en tarjeta ---- */

.tc-poster[data-tpl="tira"]{ width:900px; background:var(--p-deep); color:#fff; }
.tc-poster[data-tpl="tira"] .tr-cuerpo{ display:grid; grid-template-columns:1fr 300px; gap:0; }

.tc-poster[data-tpl="tira"] .tr-izq{ padding:48px 34px 40px 44px; }
.tc-poster[data-tpl="tira"] .tr-marca{
  font-size:19px; font-weight:800; letter-spacing:3px; text-transform:uppercase;
  color:var(--p-second);
}
.tc-poster[data-tpl="tira"] .tr-tit{ margin-top:34px; }
.tc-poster[data-tpl="tira"] .tr-tit h1{
  font-family:'Inter', system-ui, sans-serif;
  font-size:92px; font-weight:800; line-height:0.9; letter-spacing:-2px;
  text-transform:uppercase; color:#fff;
}
.tc-poster[data-tpl="tira"] .tr-script{
  font-family:'Fraunces', Georgia, serif; font-style:italic; font-weight:600;
  font-size:62px; line-height:1; margin-top:2px; margin-left:10px;
  color:var(--p-second);
}
.tc-poster[data-tpl="tira"] .tr-frase{
  margin-top:26px; font-size:26px; line-height:1.35; color:var(--p-on-deep-soft); max-width:440px;
}
.tc-poster[data-tpl="tira"] .tr-lista{
  list-style:none; margin-top:34px;
  background:var(--p-sheet); color:var(--p-ink); border-radius:10px; padding:22px 24px;
}
.tc-poster[data-tpl="tira"] .tr-lista li{
  display:flex; align-items:center; gap:14px;
  font-size:24px; font-weight:600; padding:9px 0;
}
.tc-poster[data-tpl="tira"] .tr-lista i{
  font-style:normal; flex:0 0 auto;
  width:28px; height:28px; border-radius:6px;
  background:var(--p-second); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:16px; font-weight:800;
}

.tc-poster[data-tpl="tira"] .tr-der{
  position:relative; padding:34px 30px 34px 0;
  border-left:4px dashed var(--p-second);
  display:flex; flex-direction:column; gap:14px;
}
.tc-poster[data-tpl="tira"] .tr-tira{ display:flex; flex-direction:column; gap:14px; padding-left:26px; }
.tc-poster[data-tpl="tira"] .tr-tira img{ width:100%; height:170px; object-fit:cover; border-radius:8px; }
.tc-poster[data-tpl="tira"] .tr-sello{
  position:absolute; left:-46px; top:300px; z-index:3;
  width:174px; height:174px; border-radius:50%;
  background:var(--p-sheet); color:var(--p-deep);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  box-shadow:0 10px 26px rgba(0,0,0,0.3); text-align:center; padding:14px;
}
.tc-poster[data-tpl="tira"] .tr-sello span{
  font-size:15px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--p-ink-soft);
}
.tc-poster[data-tpl="tira"] .tr-sello b{ font-size:22px; font-weight:800; line-height:1.15; margin-top:4px; overflow-wrap:anywhere; }

.tc-poster[data-tpl="tira"] .tr-foot{
  background:var(--p-second-dark); color:#fff;
  padding:24px 44px; display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.tc-poster[data-tpl="tira"] .tr-cta{
  font-size:23px; font-weight:800; letter-spacing:1px; text-transform:uppercase; line-height:1.15;
}
.tc-poster[data-tpl="tira"] .tr-datos{ display:flex; gap:26px; flex-wrap:wrap; justify-content:flex-end; }
.tc-poster[data-tpl="tira"] .tr-datos span{ font-size:21px; font-weight:600; }

/* ---- Hexágonos: degradado oscuro y fotos recortadas ---- */

.tc-poster[data-tpl="hexagonos"]{
  width:900px; color:#fff;
  background:linear-gradient(135deg, var(--p-deep) 0%, var(--p-deep) 48%, var(--p-second-dark) 100%);
}
.tc-poster[data-tpl="hexagonos"] .hx-cuerpo{ display:grid; grid-template-columns:1fr 330px; gap:20px; padding:48px 40px 34px; }

.tc-poster[data-tpl="hexagonos"] .hx-marca{
  font-size:20px; font-weight:800; letter-spacing:1px; color:var(--p-second);
}
.tc-poster[data-tpl="hexagonos"] .hx-tit{
  font-family:'Inter', system-ui, sans-serif; margin-top:38px;
  font-size:64px; font-weight:800; line-height:0.98; letter-spacing:-1px; text-transform:uppercase;
}
.tc-poster[data-tpl="hexagonos"] .hx-tit span{ display:block; }
.tc-poster[data-tpl="hexagonos"] .hx-ac{ color:var(--p-second); }
.tc-poster[data-tpl="hexagonos"] .hx-frase{
  margin-top:20px; font-size:21px; line-height:1.4; color:var(--p-on-deep-soft); max-width:420px;
}
.tc-poster[data-tpl="hexagonos"] .hx-boton{
  margin-top:24px; width:fit-content;
  background:var(--p-second); color:var(--p-deep);
  padding:12px 26px; border-radius:999px; font-size:19px; font-weight:800;
}
.tc-poster[data-tpl="hexagonos"] .hx-lt{
  margin-top:34px; font-size:24px; font-weight:800; color:var(--p-second);
}
.tc-poster[data-tpl="hexagonos"] .hx-lista{ list-style:none; margin-top:14px; }
.tc-poster[data-tpl="hexagonos"] .hx-lista li{
  position:relative; padding:8px 0 8px 24px; font-size:23px; font-weight:600;
}
.tc-poster[data-tpl="hexagonos"] .hx-lista li::before{
  content:"•"; position:absolute; left:2px; color:var(--p-second); font-weight:800;
}

.tc-poster[data-tpl="hexagonos"] .hx-der{ position:relative; }
.tc-poster[data-tpl="hexagonos"] .hx-hexes{ display:flex; flex-direction:column; align-items:center; gap:10px; }
.tc-poster[data-tpl="hexagonos"] .hx-hex{
  width:270px; height:240px; overflow:hidden;
  clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  background:var(--p-sheet);
}
.tc-poster[data-tpl="hexagonos"] .hx-hex img{ width:100%; height:100%; object-fit:cover; }
.tc-poster[data-tpl="hexagonos"] .hx-hex-2{ transform:translateX(34px); }
.tc-poster[data-tpl="hexagonos"] .hx-sello{
  margin:18px auto 0; width:174px; height:174px; border-radius:50%;
  background:var(--p-second); color:var(--p-deep);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:14px;
}
.tc-poster[data-tpl="hexagonos"] .hx-sello span{
  font-size:15px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
}
.tc-poster[data-tpl="hexagonos"] .hx-sello b{ font-size:22px; font-weight:800; line-height:1.15; margin-top:4px; overflow-wrap:anywhere; }

.tc-poster[data-tpl="hexagonos"] .hx-foot{
  background:rgba(0,0,0,0.28);
  padding:22px 40px; display:flex; align-items:center; gap:16px;
}
.tc-poster[data-tpl="hexagonos"] .hx-foot span{
  font-size:17px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--p-on-deep-soft);
}
.tc-poster[data-tpl="hexagonos"] .hx-foot b{ margin-left:auto; font-size:30px; font-weight:800; }

/* ---- pantallas chicas: las publicitarias se aprietan igual ---- */

@media (max-width: 940px){
  .tc-poster[data-tpl="historia"] .hi-top{ height:520px; }
  .tc-poster[data-tpl="historia"] .hi-titles{ left:26px; right:26px; top:34px; }
  .tc-poster[data-tpl="historia"] .hi-t1{ font-size:34px; }
  .tc-poster[data-tpl="historia"] .hi-t2{ font-size:58px; }
  .tc-poster[data-tpl="historia"] .hi-sub{ font-size:19px; margin-top:16px; }
  .tc-poster[data-tpl="historia"] .hi-tira{ padding:18px 22px 0; gap:8px; }
  .tc-poster[data-tpl="historia"] .hi-tira img{ height:120px; }
  .tc-poster[data-tpl="historia"] .hi-datos{ padding:22px 22px 0; flex-direction:column; align-items:stretch; gap:18px; }
  .tc-poster[data-tpl="historia"] .hi-feats li{ font-size:19px; }
  .tc-poster[data-tpl="historia"] .hi-area b{ font-size:42px; }
  .tc-poster[data-tpl="historia"] .hi-cierre{ padding:22px; font-size:19px; }
  .tc-poster[data-tpl="historia"] .hi-foot{ padding:18px 22px; }
  .tc-poster[data-tpl="historia"] .hi-tel{ font-size:24px; }

  .tc-poster[data-tpl="lateral"] .la-cuerpo{ grid-template-columns:1fr; }
  .tc-poster[data-tpl="lateral"] .la-panel{ padding:22px; gap:14px; }
  .tc-poster[data-tpl="lateral"] .la-tit h1{ font-size:34px; }
  .tc-poster[data-tpl="lateral"] .la-t2{ font-size:24px; }
  .tc-poster[data-tpl="lateral"] .la-foto{ min-height:260px; }
  .tc-poster[data-tpl="lateral"] .la-precio{ font-size:26px; }
  .tc-poster[data-tpl="lateral"] .la-puntos{ padding:20px 22px 4px; column-gap:22px; }
  .tc-poster[data-tpl="lateral"] .la-puntos li{ font-size:16px; }
  .tc-poster[data-tpl="lateral"] .la-foot{ padding:16px 22px; }
  .tc-poster[data-tpl="lateral"] .la-foot b{ font-size:22px; }

  .tc-poster[data-tpl="collage"] .co-cuerpo{ padding:26px 22px 30px; gap:14px; }
  .tc-poster[data-tpl="collage"] .co-foto img{ height:130px; }
  .tc-poster[data-tpl="collage"] .co-lado h1{ font-size:44px; letter-spacing:-1px; }
  .tc-poster[data-tpl="collage"] .co-frase{ font-size:17px; margin-top:14px; }
  .tc-poster[data-tpl="collage"] .co-tabla{ margin-top:28px; padding:30px 16px 20px; border-width:5px; }
  .tc-poster[data-tpl="collage"] .co-medidas b{ font-size:24px; }
  .tc-poster[data-tpl="collage"] .co-nota{ font-size:15px; }
  .tc-poster[data-tpl="collage"] .co-tel{ font-size:22px; }

  .tc-poster[data-tpl="titular"]{ padding:24px 22px 20px; }
  .tc-poster[data-tpl="titular"] .ti-tit{ font-size:42px; letter-spacing:-1px; }
  .tc-poster[data-tpl="titular"] .ti-placa{ font-size:26px; padding:9px 20px; }
  .tc-poster[data-tpl="titular"] .ti-marco img{ height:250px; }
  .tc-poster[data-tpl="titular"] .ti-pie{ gap:10px; }
  .tc-poster[data-tpl="titular"] .ti-pie span{ font-size:14px; }

  .tc-poster[data-tpl="tira"] .tr-cuerpo{ grid-template-columns:1fr 180px; }
  .tc-poster[data-tpl="tira"] .tr-izq{ padding:26px 18px 26px 22px; }
  .tc-poster[data-tpl="tira"] .tr-tit h1{ font-size:50px; }
  .tc-poster[data-tpl="tira"] .tr-script{ font-size:34px; }
  .tc-poster[data-tpl="tira"] .tr-frase{ font-size:17px; margin-top:16px; }
  .tc-poster[data-tpl="tira"] .tr-lista{ margin-top:20px; padding:14px 16px; }
  .tc-poster[data-tpl="tira"] .tr-lista li{ font-size:16px; padding:6px 0; }
  .tc-poster[data-tpl="tira"] .tr-der{ padding:20px 16px 20px 0; }
  .tc-poster[data-tpl="tira"] .tr-tira{ padding-left:14px; gap:8px; }
  .tc-poster[data-tpl="tira"] .tr-tira img{ height:95px; }
  .tc-poster[data-tpl="tira"] .tr-sello{ width:96px; height:96px; left:-30px; top:180px; }
  .tc-poster[data-tpl="tira"] .tr-sello b{ font-size:16px; }
  .tc-poster[data-tpl="tira"] .tr-sello span{ font-size:11px; }
  .tc-poster[data-tpl="tira"] .tr-foot{ padding:16px 22px; gap:12px; }
  .tc-poster[data-tpl="tira"] .tr-cta{ font-size:15px; }
  .tc-poster[data-tpl="tira"] .tr-datos span{ font-size:14px; }

  .tc-poster[data-tpl="hexagonos"] .hx-cuerpo{ grid-template-columns:1fr 190px; padding:26px 22px 20px; }
  .tc-poster[data-tpl="hexagonos"] .hx-tit{ font-size:38px; margin-top:22px; }
  .tc-poster[data-tpl="hexagonos"] .hx-frase{ font-size:15px; margin-top:14px; }
  .tc-poster[data-tpl="hexagonos"] .hx-boton{ font-size:14px; padding:9px 18px; }
  .tc-poster[data-tpl="hexagonos"] .hx-lt{ font-size:17px; margin-top:22px; }
  .tc-poster[data-tpl="hexagonos"] .hx-lista li{ font-size:16px; padding:5px 0 5px 20px; }
  .tc-poster[data-tpl="hexagonos"] .hx-hex{ width:160px; height:145px; }
  .tc-poster[data-tpl="hexagonos"] .hx-hex-2{ transform:translateX(18px); }
  .tc-poster[data-tpl="hexagonos"] .hx-sello{ width:96px; height:96px; }
  .tc-poster[data-tpl="hexagonos"] .hx-sello b{ font-size:16px; }
  .tc-poster[data-tpl="hexagonos"] .hx-sello span{ font-size:11px; }
  .tc-poster[data-tpl="hexagonos"] .hx-foot{ padding:16px 22px; }
  .tc-poster[data-tpl="hexagonos"] .hx-foot b{ font-size:20px; }
}

/* ---------------------------------------------------------------- */
/* textos que agrega el usuario encima del cartel                   */
/* ---------------------------------------------------------------- */

.tc-poster{ position:relative; }
.tc-poster .tc-extras{ position:absolute; inset:0; z-index:60; pointer-events:none; }
.tc-poster .tc-extra{
  position:absolute; transform:translate(-50%, -50%);
  max-width:86%; line-height:1.15; white-space:pre-wrap;
  font-family:'Inter', system-ui, sans-serif;
  /* Doble sombra: el blanco por defecto tiene que leerse tanto sobre una
     foto oscura como sobre el papel claro del cartel. */
  text-shadow:0 1px 2px rgba(0,0,0,0.55), 0 2px 12px rgba(0,0,0,0.45);
}
