/* =========================================================================
   REDFUNE · pages/ciudad.css — páginas /funerarias-<lugar>/ y el índice /funerarias/
   Las genera tools/ciudades/generar_ciudades.py. Prefijo cd-.
   · Páginas de zona e índice: clases de servicios.css (sv-) y tablas de styles.css.
   · Páginas de localidad: cabecera, datos, índice, secciones y preguntas de las fichas
     del directorio (centro.css, ct-); aquí va la hoja de tarifa, el mapa y lo propio.
   ========================================================================= */

/* ---------- Páginas de zona e índice ---------- */

/* Los importes del párrafo de entrada no se parten («2.495 €») */
.sv-lead strong{white-space:nowrap}

/* Tabla de precios de la zona: a medida de lectura; la de localidades usa todo el ancho */
.cd-table{max-width:var(--doc)}
.sv-price-band .data-table{background:transparent}
.sv-section .data-table td,.sv-section .data-table th{font-size:.9375rem}
.sv-section .data-table td a{font-weight:600}

/* Notas bajo las tablas y párrafos que las siguen */
.cd-note{margin:var(--s-3) 0 var(--s-5);font-size:.9375rem;line-height:1.55;color:var(--ink-2);max-width:48rem}
.cd-note+p{margin-top:0}
.sv-section .cd-note:last-child{margin-bottom:0}

/* Recuadro de «acaba de ocurrir» bajo los pasos */
.cd-aside{margin-top:var(--s-6);max-width:48rem}

/* Enlaces al directorio de la zona */
.cd-links{list-style:none;margin:var(--s-4) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6)}
.cd-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}

/* ---------- Comunes a zona y localidad ---------- */

/* Alternativa más económica sujeta a confirmación */
.cd-alt{margin-top:var(--s-6);max-width:48rem;padding-left:var(--s-5);border-left:3px solid var(--ocre)}
.cd-alt h3{font-family:var(--f-sans);font-size:1.0625rem;line-height:1.4;margin:0 0 var(--s-2)}
.cd-alt p{font-size:1rem;margin:0 0 var(--s-3)}
.cd-alt .btn{margin-top:var(--s-1);white-space:normal}

/* Lugares cercanos: filas con filete, enlace a la izquierda y precio a la derecha */
.cd-near{list-style:none;margin:0;padding:0;max-width:var(--doc);border-top:1px solid var(--rule);display:block}
.sv-related .cd-near{display:block}
.cd-near li{display:flex;flex-wrap:wrap;align-items:center;gap:0 var(--s-3);padding:var(--s-1) 0;border-bottom:1px solid var(--rule)}
.cd-near a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}
.cd-near li>span:last-child{margin-left:auto;font-size:.9375rem;color:var(--ink-2);font-variant-numeric:tabular-nums lining-nums;
  padding-bottom:var(--s-2)}
@media (min-width:640px){.cd-near li>span:last-child{padding-bottom:0}}
.cd-more{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-6);margin:var(--s-4) 0 0}
.cd-more a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}

/* ---------- Página de localidad ---------- */

/* Resumen: hoja de tarifa a la izquierda y datos del servicio a la derecha (en móvil, la tarifa primero) */
.cd-overview{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-6);padding-bottom:var(--s-7)}
.cd-overview .ct-facts{grid-row:auto}
@media (min-width:960px){
  .cd-overview{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:var(--s-7);align-items:start}
  /* Los datos (y el teléfono) acompañan mientras se recorre la tarifa */
  .cd-overview .ct-facts{position:sticky;top:calc(var(--header-h) + var(--s-5))}
}

/* Hoja de tarifa: una por familia de servicio, con su dibujo. Hoja blanca con filete de color arriba,
   como las hojas de herramienta; el color distingue incineración y entierro igual que en la portada. */
.cd-tariff{display:grid;gap:var(--s-5);min-width:0}
.cd-family{--cd-accent:var(--cipres);background:var(--sheet);border:1px solid var(--rule);border-top:3px solid var(--cd-accent)}
.cd-family--entierro{--cd-accent:#735A36}
.cd-family-head{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:var(--s-4);padding:var(--s-4)}
.cd-family-head img{width:64px;height:64px;object-fit:contain;mix-blend-mode:multiply}
.cd-family-head h2{margin:0;font-family:var(--f-serif);font-size:1.375rem;font-weight:600;line-height:1.2;color:var(--cd-accent)}
.cd-family-head p{margin:var(--s-1) 0 0;font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.cd-rates{list-style:none;margin:0;padding:0}
.cd-rate{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--s-3) var(--s-4);padding:var(--s-4);
  border-top:1px solid var(--rule)}
.cd-rate-name h3{margin:0;font-family:var(--f-sans);font-size:1.0625rem;font-weight:600;line-height:1.35}
.cd-rate-name p{margin:2px 0 0;font-size:.9375rem;line-height:1.45;color:var(--ink-2)}
.cd-rate-price{margin:0;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}
.cd-rate-price strong{font-family:var(--f-serif);font-weight:500;font-size:1.75rem;line-height:1.1;letter-spacing:0;color:var(--cipres)}
.cd-rate-price span{margin-right:.25rem;font-size:.875rem;color:var(--ink-2)}
.cd-rate-price small{display:block;font-size:.8125rem;color:var(--ink-2)}
.cd-rate-price--ask{font-size:1rem;font-weight:600;color:var(--ink-2)}
.cd-rate>.btn{grid-column:1/-1;width:100%;white-space:normal}
.cd-rate-foot{grid-column:1/-1;display:grid;gap:var(--s-1)}
.cd-rate-foot:empty{display:none}
.cd-rate-notes{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-1)}
.cd-rate-notes li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:var(--s-2);font-size:.875rem;line-height:1.5;color:var(--ink-2)}
.cd-rate-notes .icon{width:18px;height:18px;margin-top:2px;color:var(--cd-accent)}
.cd-rate-notes strong{color:var(--ink);font-weight:600}
.cd-rate-more{justify-self:start;display:inline-flex;align-items:center;min-height:32px;font-size:.875rem}
@media (min-width:600px){
  .cd-family-head{grid-template-columns:80px minmax(0,1fr);padding:var(--s-4) var(--s-5)}
  .cd-family-head img{width:80px;height:80px}
  .cd-rate{grid-template-columns:minmax(0,1fr) auto 12.5rem;padding:var(--s-4) var(--s-5)}
  .cd-rate>.btn{grid-column:auto;padding-inline:var(--s-3);white-space:nowrap}
}
.cd-family-note{margin:0;padding:var(--s-3) var(--s-4);border-top:1px solid var(--rule);background:var(--paper);
  font-size:.875rem;line-height:1.55;color:var(--ink-2)}
@media (min-width:600px){.cd-family-note{padding-inline:var(--s-5)}}
.cd-tariff-note{margin:0;font-size:.875rem;line-height:1.55;color:var(--ink-2);max-width:62ch}

/* Índice de cinco entradas */
@media (min-width:1050px){.ct-index-list.cd-index-list{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Qué incluye: dos columnas de filas con icono (filete ciprés = incluido; ocre = aparte) */
.cd-paths{display:grid;gap:var(--s-6)}
.cd-path{border-top:3px solid var(--cipres);padding-top:var(--s-4)}
.cd-path:nth-child(2){border-color:var(--ocre)}
.cd-path ul{list-style:none;margin:0;padding:0}
.cd-path li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--s-3);padding-block:var(--s-4)}
.cd-path li+li{border-top:1px solid var(--rule)}
.cd-path .icon{width:26px;height:26px;margin-top:3px;color:var(--cipres)}
.cd-path li strong,.cd-path li span{display:block}
.cd-path li span{margin-top:var(--s-1);font-size:.9375rem;color:var(--ink-2)}
@media (min-width:760px){.cd-paths{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-7)}}
.cd-after{margin:var(--s-5) 0 0;max-width:70ch;font-size:.9375rem;color:var(--ink-2)}

/* Cómo lo organizamos: pasos a la izquierda y bloque de ayuda a la derecha */
.cd-how{display:grid;gap:var(--s-6)}
@media (min-width:900px){.cd-how{grid-template-columns:minmax(0,1fr) 24rem;gap:var(--s-8);align-items:start}}
.cd-steps li strong,.cd-steps li span{display:block}
.cd-steps li span{margin-top:var(--s-1);font-size:.9375rem;color:var(--ink-2)}
.cd-small{margin:var(--s-3) 0 0;max-width:62ch;font-size:.8125rem;line-height:1.6;color:var(--ink-2)}
.ct-support small a{color:#fff}

/* Localidades cercanas: mapa de Google (el bloque ct-map de las fichas) y lista con precios */
.cd-around{display:grid;gap:var(--s-5);margin-top:var(--s-5)}
@media (min-width:900px){.cd-around{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--s-7);align-items:start}}
.cd-map{margin:0}
@media (forced-colors:active){.cd-family{background:Canvas}}
@media print{.cd-rate>.btn,.cd-map{display:none}}
