/* romagnatourism.it: the practical pages of 17 Oct 2026 (/terme, /mare, /vino-e-sapori, /mercati, /ciclovie, /ztl-e-parcheggi). On top of
   site.css: the cards reuse .castle / .guide-grid, the map .map; here only what is new. */
.castle.is-on, .castle:target, .gd-town.is-on, .gd-town:target { border-color: var(--sea); box-shadow: 0 0 0 2px var(--sea-soft), var(--shadow); }
.gd-facts { display: flex; flex-wrap: wrap; gap: .3rem 1rem; margin: 0; padding: 0; list-style: none; font-size: .88rem; color: var(--muted); }
.gd-facts b { color: var(--ink); font-weight: 600; }
.gd-box { border: 1px solid var(--line); border-left: 4px solid var(--sea); border-radius: var(--radius); background: #fff; padding: 1rem 1.2rem; margin: 1.2rem 0; }
.gd-box.warn { border-left-color: #e07b00; }
.gd-box h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.gd-box p { margin: 0; }
.gd-box ul { margin: .4rem 0 0; padding-left: 1.1rem; }
.gd-flags { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .8rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.gd-flags li { display: flex; gap: .7rem; align-items: flex-start; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: .8rem .9rem; }
.gd-flag { flex: none; width: 34px; height: 24px; border-radius: 3px; border: 1px solid rgba(0,0,0,.15); background: var(--c, #ccc); }
.gd-flags b { display: block; margin-bottom: .15rem; }
.gd-flags p { margin: 0; font-size: .9rem; color: var(--muted); }
.gd-table { width: 100%; border-collapse: collapse; font-size: .93rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.gd-table th, .gd-table td { text-align: left; padding: .55rem .7rem; border-bottom: 1px solid var(--line); vertical-align: top; }
.gd-table th { background: var(--sand); font-weight: 600; font-size: .85rem; color: var(--muted); }
.gd-table tr:last-child td { border-bottom: 0; }
.gd-table td small { color: var(--muted); }
.gd-table .gd-num { text-align: right; white-space: nowrap; }
.gd-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.gd-today { border: 1px solid var(--sea-soft); background: #eef7f8; border-radius: var(--radius); padding: 1rem 1.2rem; margin: 1rem 0 0; }
.gd-today h2 { margin: 0 0 .4rem; font-size: 1.2rem; }
.gd-today p { margin: 0; }
.gd-days { display: flex; flex-wrap: wrap; gap: .3rem; }
.gd-day { display: inline-block; padding: .1rem .45rem; border-radius: 999px; background: var(--sea-soft); color: var(--sea-deep); font-size: .8rem; font-weight: 600; white-space: nowrap; }
.gd-town { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: 1.1rem 1.2rem; scroll-margin-top: 5rem; }
.gd-town h3 { margin: 0 0 .4rem; }
.gd-town h4 { margin: .9rem 0 .3rem; font-size: .95rem; }
.gd-town p { margin: .3rem 0; }
.gd-towns { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.gd-parks { margin: .2rem 0 0; padding: 0; list-style: none; font-size: .9rem; }
.gd-parks li { display: flex; justify-content: space-between; gap: .6rem; padding: .25rem 0; border-bottom: 1px dashed var(--line); }
.gd-parks li:last-child { border-bottom: 0; }
.gd-parks small { color: var(--muted); white-space: nowrap; }
.gd-km { font-family: var(--display); font-size: 1.5rem; font-weight: 600; color: var(--sea-deep); line-height: 1; }
.gd-km small { font-size: .85rem; font-weight: 500; color: var(--muted); }
.gd-swatch { display: inline-block; width: 22px; height: 5px; border-radius: 3px; background: var(--c, #0f6e7a); vertical-align: middle; margin-right: .35rem; }
@media (max-width: 640px) {
  .gd-towns { grid-template-columns: 1fr; }
  .gd-table { font-size: .88rem; }
  .gd-table th, .gd-table td { padding: .45rem .5rem; }
}
.gd-map-short { height: min(50vh, 420px); margin-bottom: .2rem; }
.gd-parks li { flex-direction: column; gap: 0; }
.gd-parks small { white-space: normal; }
.gd-today + .chips { margin-top: 1rem; }
.guide-grid .gd-facts li { border: 0; padding: 0; background: none; box-shadow: none; border-radius: 0; }

/* SOCCORSO STRADALE (/soccorso-stradale, pages/road.php, chat #457, 17 Oct 2026) */
.guide-grid li.rd-warn { border-left: 4px solid #c0271d; }
.rd-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 1rem 2rem; }
.rd-col h3, .rd-zone h3 { margin: .2rem 0 .3rem; font-size: 1.1rem; }
.rd-h24 { display: inline-block; padding: .05rem .45rem; border-radius: 999px; background: #1f7a3d; color: #fff; font-size: .72rem; font-weight: 650; vertical-align: .1em; white-space: nowrap; }
.rd-acts { flex-direction: column; align-items: flex-end; gap: .15rem; }
.rd-tel { white-space: nowrap; }
.rd-tel small { color: var(--muted, #5b6b70); }
.rd-filters { display: grid; gap: .7rem; margin: .4rem 0 1rem; }
.rd-filters .search { max-width: 420px; }
.rd-zone { margin-top: 1.4rem; }
.rd-town { border-top: 1px solid var(--line); }
.rd-town summary { cursor: pointer; padding: .55rem 0; font-weight: 650; }
.rd-town summary small { font-weight: 500; opacity: .7; margin-left: .3rem; }
.rd-town .tw-rows { margin: 0 0 .6rem; }
@media (max-width: 560px) { .rd-acts { align-items: flex-start; } .tw-rows li:has(.rd-acts) { flex-direction: column; align-items: flex-start; } }
