/* ETRUSCA BIZ V4 | Sección de sucursales compacta + tipografía de lectura
   Archivo intencionalmente cargado al final para mantener intacta la V3. */

/* Texto normal: +1 o +2px (los grandes títulos mantienen su jerarquía). */
body { font-size: 17px; line-height: 1.7; }
.hero-lead,
.section-top p:not(.eyebrow),
.pieces-copy p,
.section-heading-row p:not(.eyebrow),
.experience-copy > p:not(.eyebrow),
.moments-heading > p,
.branches-intro > p:not(.eyebrow) { font-size: 17px; line-height: 1.77; }
.stage-body p { font-size: 15px; line-height: 1.68; }
.process-intro p:not(.eyebrow) { font-size: 16px; line-height: 1.7; }
.step p { font-size: 15px; line-height: 1.65; }
.cta-content p { font-size: 15px; line-height: 1.65; }
.stories-copy p:not(.eyebrow) { font-size: 14px; line-height: 1.72; }
.story-card > p { font-size: 13px; line-height: 1.72; }
.faq-intro p:not(.eyebrow) { font-size: 14px; line-height: 1.7; }
.faq-list details > p { font-size: 14px; line-height: 1.75; }
.faq-list summary { font-size: 15px; line-height: 1.52; }
.experience-copy .video-context { font-size: 14px!important; }
.moment figcaption { font-size: 14px; }
/* El tamaño de textos pequeños operativos cambia solo lo suficiente para leerse. */
.hero-note { font-size: 12px; }
.piece strong { font-size: 13px; }
.experience-pill-row span { font-size: 13px; }
.moments-footnote { font-size: 12px; }
.btn { font-size: 14px; }
/* Formulario: labels y ayuda ligeramente mayores; campos 16px también evitan zoom en iOS. */
.booking-top > div > p:last-child { font-size: 17px; }
.booking-notice p { font-size: 14px; }
.booking-step-head p:not(.eyebrow) { font-size: 16px; }
.field, .radio-cards legend, .business-options legend { font-size: 15px; }
.field input, .field textarea, .field select { font-size: 16px; }
.field small, .choice-card small { font-size: 12px; }
.choice-card strong { font-size: 15px; }
.business-choice, .business-more { font-size: 14px; }
.business-more small { font-size: 12px; }
.booking-summary > div { font-size: 15px; }
.booking-bottom, .demo-warning, .booking-notice strong { font-size: 14px; }

/* Directorio ligero: solo nombres y regiones, SIN las 14 fotografías de muestra. */
.branches-section--compact {
  padding: clamp(46px, 5vw, 72px) 0;
  background: #f7f1e7;
  position: relative;
  overflow: hidden;
}
.branches-section--compact::before {
  content: ''; position: absolute; left:-140px; bottom:-165px;
  height: 300px; width: 300px; border-radius: 48% 52% 70% 30%;
  background: rgba(231,170,154,.14); pointer-events:none;
}
.branches-layout {
  display: grid;
  grid-template-columns: minmax(280px,.83fr) minmax(0,1.75fr);
  align-items: center;
  gap: clamp(28px, 5vw, 72px);
}
.branches-intro h2 { max-width:440px; font-size:clamp(32px,3.45vw,49px); line-height:1.13; margin-bottom:15px; }
.branches-intro > p:not(.eyebrow) { max-width:425px; color:#5b554e; margin-bottom:22px; }
.branches-main-cta { display:inline-flex; }
.branches-panel {
  background:rgba(255,254,249,.9); border:1px solid #ecdfcd;
  box-shadow:0 15px 36px rgba(72,43,18,.05);
  border-radius:24px; padding:23px 26px 20px; min-width:0;
}
.branches-panel-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:17px; }
.branches-panel-label { color:#473b2a; display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:700; }
.branches-panel-label .icon { width:19px; height:19px; color:#b28238; }
.branches-count { background:#e8f1ee; color:#42675a; padding:7px 11px; border-radius:99px; font-size:12px; font-weight:700; white-space:nowrap; }
.branches-list { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.branch-list-item {
  background:#fcf8f2; border:1px solid #ede4d8; border-radius:13px;
  display:flex; align-items:center; gap:9px; min-height:64px;
  padding:11px 10px; min-width:0;
  transition:background .2s,border-color .2s,transform .2s;
}
.branch-list-item:hover { background:#fff2e1; border-color:#dfc79c; transform:translateY(-2px); }
.branch-list-marker { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; border-radius:50%; background:#efe1c8; color:#a4762c; }
.branch-list-item:nth-child(4n+2) .branch-list-marker { background:#e4f1f4; color:#517a83; }
.branch-list-item:nth-child(4n+3) .branch-list-marker { background:#fae6e3; color:#a46d67; }
.branch-list-item:nth-child(4n+4) .branch-list-marker { background:#e5eee4; color:#55765a; }
.branch-list-marker .icon { height:14px; width:14px; stroke-width:1.8; }
.branch-list-copy { display:block; min-width:0; }
.branch-list-copy strong { color:#292b31; font-size:13px; font-weight:700; line-height:1.35; letter-spacing:-.02em; display:block; }
.branch-list-copy small { color:#756d63; font-size:11px; line-height:1.4; display:block; margin-top:3px; }
.branches-disclaimer { margin:15px 0 0; color:#756c60; font-size:12px; line-height:1.6; }

@media(max-width:1120px) {
  .branches-layout { grid-template-columns: minmax(245px,.8fr) minmax(0,1.55fr); gap:30px; }
  .branches-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .branches-section--compact { padding:53px 0 60px; }
  .branches-layout { grid-template-columns:1fr; gap:24px; }
  .branches-intro h2 { max-width:none; }
  .branches-intro > p:not(.eyebrow) { font-size:16px; max-width:610px; }
  .branches-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .branches-panel { padding:20px 18px 19px; }
  .hero-lead {font-size:16px;}
  .step p {font-size:14px;}
  .story-card > p {font-size:14px;}
}
@media(max-width:570px) {
  .branches-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .branch-list-item { min-height:58px; padding:10px 8px; gap:7px; }
  .branch-list-marker { width:25px; height:25px; flex-basis:25px; }
  .branch-list-copy strong {font-size:13px;}
  .branch-list-copy small {font-size:11px;}
  .branches-panel-label {font-size:13px;}
  .branches-count {font-size:11px;}
  .branches-intro > p:not(.eyebrow) {font-size:16px;}
  .faq-list summary {font-size:14px;}
}
@media(max-width:370px) {
  .branches-panel {padding-inline:12px;}
  .branch-list-item {gap:5px;}
  .branch-list-marker {width:22px;height:22px;flex-basis:22px;}
  .branch-list-copy strong {font-size:12px;}
}
@media(prefers-reduced-motion:reduce) {.branch-list-item {transition:none;}}
