.san-nfz { margin: 24px auto; padding: 18px 22px; border: 1px solid #e5d2a8; border-left: 4px solid #ed8c00; border-radius: 8px; background: #fff8e3; display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; }
.san-nfz strong { display: block; color: #2e2419; font-size: 1.1rem; }
.san-nfz p { margin: 4px 0 0; color: #51483d; line-height: 1.5; }
.san-nfz-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.san-nfz .san-nfz-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 11px 17px; border: 1px solid #c66b00; border-radius: 6px; background: #ffa900; color: #23170a; text-decoration: none; font-weight: 700; }
.san-nfz .san-nfz-more { color: #713900; font-weight: 600; text-decoration: underline; }
.san-news-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.san-news-card { display: flex; flex-direction: column; min-width: 0; padding: 22px; border: 1px solid #eadfc9; border-radius: 8px; background: #fffaf0; overflow-wrap: anywhere; }
.san-news-card h3 { font-size: 1.15rem; line-height: 1.35; margin: 8px 0 12px; }
.san-news-card h3 a { color: #2e2419; text-decoration: none; }
.san-news-card p { line-height: 1.55; color: #51483d; }
.san-news-card .san-news-label { color: #8b4a00; font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin: 0; }
.san-news-label time { display: inline-block; margin-left: .5em; font-weight: 400; }
.san-news-more { margin-top: auto; padding-top: 14px; color: #713900; font-weight: 700; }
.san-nfz a:focus-visible, .san-news a:focus-visible { outline: 3px solid #984400; outline-offset: 3px; }
@media (max-width: 900px) { .san-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .san-nfz { padding: 16px; } .san-nfz-actions, .san-nfz .san-nfz-button { width: 100%; } .san-news-grid { grid-template-columns: 1fr; } }

/* Compact homepage map; keep the full catalogue and touch targets accessible. */
#mapa > .wrap.section { padding-block: 48px; }
@media (min-width: 761px) {
  #mapa .map-sidebar { padding: 20px; }
  #mapa .city-list { max-height: 170px; }
  #mapa .map-current { margin-top: 12px; padding-top: 12px; }
  #mapa .map-frame, #mapa #spa-map { min-height: 560px; }
}
@media (max-width: 760px) {
  #mapa > .wrap.section { padding-block: 36px; }
  #mapa .map-frame, #mapa #spa-map { height: 320px; min-height: 320px; }
  .san-nfz { margin-top: 20px; }
}
