/* ztlroma.it, design custom sopra YOOtheme Pro. Mobile first. Palette dalla segnaletica: rosso divieto, verde, blu, nero. */
:root{
  --zr-ink:#12161c; --zr-ink2:#3a4350; --zr-mute:#5b6572;
  --zr-red:#c8102e; --zr-red-d:#9d0c24; --zr-red-bg:#fdf1f3;
  --zr-green:#0a7d3b; --zr-green-bg:#eef8f2;
  --zr-orange:#b45309; --zr-orange-bg:#fff6ea;
  --zr-blue:#0b3f91; --zr-line:#dde1e7; --zr-soft:#f4f5f7; --zr-white:#fff;
  --zr-radius:10px;
}
html{scroll-behavior:smooth}
:root{--zr-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
body,button,input,select,textarea,.uk-button,.uk-navbar-nav>li>a,.uk-navbar-item,.uk-navbar-toggle,.uk-accordion-default .uk-accordion-title,.uk-accordion-title,.uk-breadcrumb,.zr-logo,.uk-nav,.uk-nav-default>li>a,.uk-offcanvas-bar,.uk-h1,.uk-h2,.uk-h3,h1,h2,h3,h4,.uk-navbar-dropdown-nav,.uk-search-input{font-family:var(--zr-font)!important}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--zr-ink);background:#fff;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.uk-h1,.uk-h2,.uk-h3,.uk-h4,.uk-heading-medium,.uk-heading-large{font-family:inherit;color:var(--zr-ink);font-weight:800;letter-spacing:-.015em;line-height:1.15}
a{color:var(--zr-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--zr-red)}
:focus-visible{outline:3px solid #1a73e8;outline-offset:2px}
::selection{background:#ffd9de}

/* Header */
.tm-header,.tm-header-mobile{border-top:4px solid var(--zr-red);border-bottom:1px solid var(--zr-line);background:#fff}
.tm-header .uk-navbar-container,.tm-header-mobile .uk-navbar-container{background:#fff}
.uk-navbar-nav>li>a,.uk-navbar-item,.uk-navbar-toggle{font-size:14.5px;font-weight:650;letter-spacing:0;text-transform:none;color:var(--zr-ink);min-height:68px}
.uk-navbar-nav>li:hover>a,.uk-navbar-nav>li>a[aria-expanded=true]{color:var(--zr-red)}
.uk-navbar-nav>li.uk-active>a{color:var(--zr-red);box-shadow:inset 0 -3px 0 var(--zr-red)}
.zr-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--zr-ink)}
.zr-logo svg{width:36px;height:36px;flex:none}
.zr-logo b{font-size:21px;font-weight:850;letter-spacing:-.02em;line-height:1}
.zr-logo b i{font-style:normal;color:var(--zr-red)}
.zr-logo small{display:block;font-size:10.5px;font-weight:600;color:var(--zr-mute);letter-spacing:.03em;text-transform:none;margin-top:3px}
.zr-logo:hover{color:var(--zr-ink)}

/* Bottoni */
.uk-button{font-size:1rem;font-weight:700;border-radius:8px;text-transform:none;letter-spacing:0;line-height:46px;padding:0 22px}
.uk-button-large{line-height:54px;padding:0 28px}
.uk-button-primary{background:var(--zr-red);color:#fff}
.uk-button-primary:hover,.uk-button-primary:focus{background:var(--zr-red-d);color:#fff}
.uk-button-default{border:2px solid var(--zr-ink);color:var(--zr-ink);line-height:42px}
.uk-button-default:hover{background:var(--zr-ink);color:#fff;border-color:var(--zr-ink)}

/* Hero e testate pagina */
.zr-hero h1,.zr-h1{font-size:clamp(2rem,5.2vw,3rem);line-height:1.1}
.zr-hero{background:linear-gradient(180deg,#fff 0,#f6f7f9 100%);position:relative;overflow:hidden}
.zr-hero::before{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;border:44px solid var(--zr-red);opacity:.07;pointer-events:none}
.zr-eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.07em;text-transform:none;color:var(--zr-red);margin:0 0 14px}
.zr-eyebrow::before{content:"";width:22px;height:4px;background:var(--zr-red);border-radius:2px}
.zr-lead{font-size:1.2rem;line-height:1.55;color:var(--zr-ink2);max-width:60ch;margin:0}
.zr-pagehead{background:#fff;border-bottom:1px solid var(--zr-line);background-image:linear-gradient(90deg,var(--zr-red) 0,var(--zr-red) 56px,transparent 56px);background-repeat:no-repeat;background-size:100% 4px}
.zr-pagehead h1{font-size:clamp(1.9rem,5.2vw,3rem);margin:0 0 14px}
.zr-updated{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;color:var(--zr-mute);margin:0 0 18px;font-weight:600}
.zr-updated::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--zr-green)}
#tm-main .uk-breadcrumb{font-size:.85rem}

/* Avviso non ufficiale */
.zr-notice{display:flex;gap:12px;align-items:flex-start;background:var(--zr-red-bg);border:1px solid #f3c3cb;border-left:5px solid var(--zr-red);border-radius:var(--zr-radius);padding:14px 16px;margin:0 0 28px;color:var(--zr-ink);font-size:.95rem;line-height:1.5}
.zr-notice svg{flex:none;width:22px;height:22px;margin-top:1px}
.zr-notice p{margin:0}

/* Prosa */
.zr-prose{font-size:1.0625rem;line-height:1.7;color:#1c222b}
.zr-prose>p,.zr-prose>ul,.zr-prose>ol{max-width:68ch}
.zr-prose p{margin:0 0 1.1em}
.zr-prose h2{font-size:clamp(1.45rem,3.6vw,1.9rem);margin:2.1em 0 .6em;scroll-margin-top:96px}
.zr-prose h2::before{content:"";display:block;width:40px;height:4px;background:var(--zr-red);border-radius:2px;margin-bottom:14px}
.zr-prose h2:first-child{margin-top:0}
.zr-prose h3{font-size:1.2rem;margin:1.6em 0 .5em}
.zr-prose ul,.zr-prose ol{padding-left:1.2em;margin:0 0 1.2em}
.zr-prose li{margin-bottom:.4em}
.zr-prose li::marker{color:var(--zr-red);font-weight:700}
.zr-prose strong{font-weight:750}
.zr-callout{border-radius:var(--zr-radius);padding:16px 18px;margin:1.4em 0;border:1px solid var(--zr-line);background:var(--zr-soft);max-width:68ch}
.zr-callout.green{background:var(--zr-green-bg);border-color:#bfe3cd;border-left:5px solid var(--zr-green)}
.zr-callout.orange{background:var(--zr-orange-bg);border-color:#f3d9b3;border-left:5px solid var(--zr-orange)}
.zr-callout.red{background:var(--zr-red-bg);border-color:#f3c3cb;border-left:5px solid var(--zr-red)}
.zr-callout>*:last-child{margin-bottom:0}
.zr-callout h3{margin:0 0 .4em;font-size:1.05rem}

/* Tabelle (mobile: cartoline) */
.zr-tablewrap{margin:1.2em 0 1.6em}
.zr-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.97rem;line-height:1.45;background:#fff}
.zr-table th,.zr-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--zr-line)}
.zr-table thead th{background:var(--zr-ink);color:#fff;font-size:.78rem;letter-spacing:.07em;text-transform:none;font-weight:700;border:0}
.zr-table thead th:first-child{border-top-left-radius:var(--zr-radius)}
.zr-table thead th:last-child{border-top-right-radius:var(--zr-radius)}
.zr-table tbody th{font-weight:800;white-space:nowrap}
.zr-table tbody tr:nth-child(even){background:#fafbfc}
.zr-table b{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.zr-tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.05em;text-transform:none;border-radius:4px;padding:2px 7px;margin-right:6px;color:#fff;background:var(--zr-red);vertical-align:1px}
.zr-tag.night{background:var(--zr-ink)}
.zr-tag.green{background:var(--zr-green)}
.zr-tag.orange{background:var(--zr-orange)}
.zr-none{color:var(--zr-mute)}
@media (max-width:639px){
  .zr-table thead{position:absolute;left:-9999px}
  .zr-table,.zr-table tbody,.zr-table tr{display:block}
  .zr-table tr{border:1px solid var(--zr-line);border-radius:var(--zr-radius);margin:0 0 14px;overflow:hidden;background:#fff!important}
  .zr-table tbody th{display:block;background:var(--zr-ink);color:#fff;border:0;font-size:1.05rem}
  .zr-table td{display:block;border-bottom:1px solid var(--zr-line);padding:11px 16px}
  .zr-table td:last-child{border-bottom:0}
  .zr-table td::before{content:attr(data-label);display:block;margin-bottom:4px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:none;color:var(--zr-mute)}
}

/* Indice e riquadro fonti (laterale) */
.zr-card{background:#fff;border:1px solid var(--zr-line);border-radius:var(--zr-radius);padding:18px 20px;margin:0 0 18px}
.zr-card h3,.zr-card .zr-card-t{font-size:.78rem;letter-spacing:.08em;text-transform:none;font-weight:800;color:var(--zr-mute);margin:0 0 10px}
.zr-toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.zr-toc li{counter-increment:t;margin:0}
.zr-toc a{display:flex;gap:10px;padding:7px 0;text-decoration:none;color:var(--zr-ink);font-weight:600;font-size:.94rem;border-bottom:1px solid #eef0f3}
.zr-toc li:last-child a{border-bottom:0}
.zr-toc a::before{content:counter(t);flex:none;width:22px;height:22px;border-radius:50%;background:var(--zr-soft);color:var(--zr-ink);font-size:.75rem;font-weight:800;display:inline-grid;place-items:center}
.zr-toc a:hover{color:var(--zr-red)}
.zr-fonti{background:var(--zr-ink);color:#e9edf2;border:0;border-top:5px solid var(--zr-red)}
.zr-fonti h3,.zr-fonti .zr-card-t{color:#fff;font-size:1.05rem;letter-spacing:0;text-transform:none;font-weight:800;margin-bottom:12px}
.zr-fonti ul{list-style:none;margin:0;padding:0;font-size:.93rem;line-height:1.45}
.zr-fonti li{padding:9px 0;border-bottom:1px solid #2b333f}
.zr-fonti li:last-child{border-bottom:0}
.zr-fonti a{color:#fff;font-weight:650;text-decoration-color:#ff6b81}
.zr-fonti a:hover{color:#ffb3be}
.zr-fonti small{display:block;color:#aeb7c4;font-size:.8rem;margin-top:2px}
.zr-fonti .zr-fine{font-size:.78rem;color:#aeb7c4;margin:12px 0 0}
@media (min-width:960px){.zr-side{position:sticky;top:96px;align-self:flex-start}}

/* Card sezioni */
.zr-cards{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:640px){.zr-cards{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.zr-cards{grid-template-columns:repeat(3,1fr)}}
.zr-tile{position:relative;display:block;background:#fff;border:1px solid var(--zr-line);border-top:5px solid var(--zr-red);border-radius:var(--zr-radius);padding:22px 22px 24px;text-decoration:none;color:var(--zr-ink);transition:transform .15s,box-shadow .15s}
.zr-tile.green{border-top-color:var(--zr-green)}
.zr-tile.orange{border-top-color:var(--zr-orange)}
.zr-tile.blue{border-top-color:var(--zr-blue)}
.zr-tile.dark{border-top-color:var(--zr-ink)}
.zr-tile:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(18,22,28,.12);color:var(--zr-ink)}
.zr-tile .ic{width:44px;height:44px;border-radius:10px;background:var(--zr-red-bg);color:var(--zr-red);display:grid;place-items:center;margin-bottom:14px}
.zr-tile.green .ic{background:var(--zr-green-bg);color:var(--zr-green)}
.zr-tile.orange .ic{background:var(--zr-orange-bg);color:var(--zr-orange)}
.zr-tile.blue .ic{background:#eaf0fa;color:var(--zr-blue)}
.zr-tile.dark .ic{background:#eceef1;color:var(--zr-ink)}
.zr-tile h3{margin:0 0 6px;font-size:1.2rem}
.zr-tile p{margin:0 0 14px;color:var(--zr-ink2);font-size:.97rem;line-height:1.5}
.zr-tile .go{font-weight:800;font-size:.92rem;color:var(--zr-red)}
.zr-tile.green .go{color:var(--zr-green)}.zr-tile.orange .go{color:var(--zr-orange)}.zr-tile.blue .go{color:var(--zr-blue)}.zr-tile.dark .go{color:var(--zr-ink)}
.zr-tile .go::after{content:" \2192"}

/* Hero: scheda risposta rapida */
.zr-answer{background:#fff;border:1px solid var(--zr-line);border-radius:14px;padding:26px 26px 22px;box-shadow:0 18px 40px rgba(18,22,28,.10);position:relative}
.zr-answer .zr-roundel{position:absolute;right:20px;top:-26px;width:64px;height:64px;filter:drop-shadow(0 4px 8px rgba(18,22,28,.2))}
.zr-answer h2{font-size:1.5rem;margin:0 0 4px}
.zr-answer .sub{margin:0 0 16px;color:var(--zr-mute);font-size:.95rem}
.zr-steps{list-style:none;margin:0;padding:0;counter-reset:s}
.zr-steps li{counter-increment:s;display:grid;grid-template-columns:34px 1fr;gap:12px;padding:11px 0;border-top:1px solid #edf0f3;font-size:.98rem;line-height:1.45}
.zr-steps li::before{content:counter(s);width:30px;height:30px;border-radius:50%;background:var(--zr-red);color:#fff;font-weight:800;display:grid;place-items:center;font-size:.9rem}
.zr-steps b{display:block;font-weight:800}

/* Sezione scura fonti (home) */
.zr-band{background:var(--zr-ink);color:#e9edf2}
.zr-band h2,.zr-band h3{color:#fff}
.zr-band a{color:#fff}
.zr-contacts{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:700px){.zr-contacts{grid-template-columns:repeat(2,1fr)}}
.zr-contact{background:#1b222c;border:1px solid #2b333f;border-radius:var(--zr-radius);padding:16px 18px;font-size:.95rem;line-height:1.5}
.zr-contact b{display:block;color:#fff;margin-bottom:4px;font-size:1rem}
.zr-contact a{text-decoration-color:#ff6b81}

/* FAQ (accordion YOOtheme) */
.uk-accordion>li{border-top:1px solid var(--zr-line);margin:0!important}
.uk-accordion>li:last-child{border-bottom:1px solid var(--zr-line)}
.uk-accordion-title{font-size:1.06rem;font-weight:750;color:var(--zr-ink);padding:16px 0}
.uk-accordion-title,.uk-accordion-title:hover{text-decoration:none}
.uk-accordion-title:hover{color:var(--zr-red)}
.uk-accordion-content{font-size:1rem;line-height:1.65;color:#1c222b;padding-bottom:6px}
.uk-accordion-content p{margin:0 0 1em;max-width:68ch}

/* Sezioni */
.zr-sec-soft{background:var(--zr-soft)}
.zr-h2{font-size:clamp(1.6rem,4.2vw,2.3rem);margin:0 0 8px}
.zr-sub{color:var(--zr-ink2);font-size:1.05rem;margin:0 0 26px;max-width:62ch}

/* Footer */
.zr-footer{background:#0d1117;color:#c9d1db;font-size:.95rem;line-height:1.6;border-top:6px solid var(--zr-red)}
.zr-footer a{color:#fff;text-decoration-color:#ff6b81}
.zr-footer h4{color:#fff;font-size:.8rem;text-transform:none;letter-spacing:.09em;margin:0 0 12px;font-weight:800}
.zr-footer ul{list-style:none;margin:0;padding:0}
.zr-footer li{margin:0 0 7px}
.zr-footer .zr-logo{color:#fff}.zr-footer .zr-logo small{color:#9aa5b4}
.zr-footer .zr-disc{margin-top:14px;max-width:56ch;font-size:.88rem;line-height:1.55;color:#9aa5b4}
.zr-footer .zr-copy{border-top:1px solid #222a35;margin-top:30px;padding-top:18px;font-size:.84rem;color:#8f9bab}
.zr-fgrid{display:grid;gap:28px;grid-template-columns:1fr}
@media (min-width:760px){.zr-fgrid{grid-template-columns:1.3fr 1fr 1.2fr}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.zr-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.85rem;color:var(--zr-mute);font-weight:600}
.zr-crumbs a{color:var(--zr-mute);text-decoration:none}
.zr-crumbs a:hover{color:var(--zr-red);text-decoration:underline}
.zr-crumbs span[aria-current]{color:var(--zr-ink)}

/* ===== Restyling 14-10 sera: minuscolo, spazi, riquadri tenui, illustrazioni al tratto ===== */
:root{--zr-sp:clamp(36px,4.4vw,60px);--zr-sp-s:clamp(22px,2.8vw,34px);--zr-edge:max(24px,calc(50% - 600px))}

/* Stile: niente maiuscolo, mai (anche se un testo futuro lo scrive in maiuscolo non viene forzato, ma niente uppercase da CSS) */
.zr-eyebrow{font-size:.95rem;letter-spacing:.005em;font-weight:650;margin:0 0 12px}
.zr-eyebrow::before{width:18px;height:3px}
.zr-card h3,.zr-card .zr-card-t{font-size:.95rem;letter-spacing:0;font-weight:750;color:var(--zr-ink2);margin:0 0 8px}
.zr-footer h4{font-size:.95rem;letter-spacing:0;font-weight:750;margin:0 0 10px}
.zr-tag{font-size:.8rem;letter-spacing:0;font-weight:700;padding:1px 8px;border-radius:999px;background:var(--zr-red-bg);color:var(--zr-red-d);border:1px solid #f3c3cb}
.zr-tag.night{background:#eceef2;color:var(--zr-ink);border-color:#d5dae1}
.zr-tag.green{background:var(--zr-green-bg);color:var(--zr-green);border-color:#bfe3cd}
.zr-tag.orange{background:var(--zr-orange-bg);color:var(--zr-orange);border-color:#f3d9b3}

/* Ritmo verticale: un solo passo di spazio fra le sezioni, variato di poco */
#tm-main .uk-section{padding-top:var(--zr-sp);padding-bottom:var(--zr-sp)}
#tm-main .uk-section-small-top{padding-top:var(--zr-sp-s)}
#tm-main .zr-pagehead{padding-top:clamp(18px,2.2vw,28px);padding-bottom:clamp(22px,2.6vw,32px)}
.zr-footer.uk-section{padding-top:clamp(32px,4vw,48px);padding-bottom:20px}
.zr-footer .zr-copy{margin-top:24px;padding-top:16px}
#tm-main .uk-grid>.uk-grid-margin{margin-top:26px}
.zr-h2{margin:0 0 6px}
.zr-sub{margin:0 0 20px}
.zr-pagehead h1{margin:0 0 10px}
.zr-updated{margin:0 0 12px}
.zr-notice{margin:0 0 22px}
.zr-prose h2{margin:1.8em 0 .55em}
.zr-prose h2::before{margin-bottom:12px}
.zr-callout{margin:1.2em 0}
.zr-tablewrap{margin:1em 0 1.3em}

/* Hero: meno vuoto, scheda dentro la sezione */
#tm-main .zr-hero{padding-top:var(--zr-sp);padding-bottom:clamp(78px,8vw,104px)}
.zr-hero::before{display:none}
.zr-hero h1,.zr-h1{font-size:clamp(1.95rem,4.4vw,2.7rem)}
.zr-hero .zr-lead{font-size:1.12rem}
.zr-answer{box-shadow:0 8px 24px rgba(18,22,28,.07);padding:22px 24px 14px;border-radius:12px}
.zr-answer .zr-roundel{top:16px;right:16px;width:50px;height:50px;filter:none}
.zr-answer h2{font-size:1.4rem;padding-right:62px}
.zr-answer .sub{margin-bottom:12px}
.zr-steps li{padding:10px 0}

/* Card sezioni: altezze pari, "Apri la guida" sempre in fondo, bordo tenue */
.zr-cards{gap:14px;margin-top:20px}
.zr-tile{display:flex;flex-direction:column;border-top-width:3px;padding:20px 20px 18px}
.zr-tile p{flex:1;margin-bottom:12px}
.zr-tile .ic{width:40px;height:40px;margin-bottom:12px}
.zr-tile h3{font-size:1.15rem}
.zr-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(18,22,28,.09)}

/* Riquadri tenui: niente barre laterali spesse */
.zr-notice{border:1px solid #f1cdd3;border-left-width:1px;background:#fef6f7}
.zr-callout.green{border:1px solid #cde8d8;background:#f4fbf7}
.zr-callout.orange{border:1px solid #f1dfc2;background:#fffaf2}
.zr-callout.red{border:1px solid #f1cdd3;background:#fef6f7}
.zr-fonti{background:var(--zr-soft);color:var(--zr-ink2);border:1px solid var(--zr-line);border-top-width:1px}
.zr-fonti h3,.zr-fonti .zr-card-t{color:var(--zr-ink);font-size:.95rem;font-weight:750;margin-bottom:8px}
.zr-fonti li{border-bottom:1px solid var(--zr-line);padding:8px 0}
.zr-fonti a{color:var(--zr-blue);text-decoration-color:rgba(11,63,145,.4)}
.zr-fonti a:hover{color:var(--zr-red)}
.zr-fonti small,.zr-fonti .zr-fine{color:var(--zr-mute)}

/* Tabella orari: intestazione chiara, bordo leggero, righe compatte */
.zr-table{border:1px solid var(--zr-line);border-radius:var(--zr-radius);overflow:hidden}
.zr-table th,.zr-table td{padding:12px 14px}
.zr-table thead th{background:var(--zr-soft);color:var(--zr-ink2);font-size:.88rem;letter-spacing:0;font-weight:750;border-bottom:1px solid var(--zr-line);border-radius:0!important}
.zr-table tbody tr:last-child>*{border-bottom:0}
@media (max-width:639px){
  .zr-table{border:0;border-radius:0;overflow:visible;background:none}
  .zr-table tr{margin:0 0 10px;border-radius:var(--zr-radius)}
  .zr-table tbody th{background:var(--zr-soft);color:var(--zr-ink);font-size:1rem;padding:10px 14px;border-bottom:1px solid var(--zr-line)}
  .zr-table td{display:block;position:relative;padding:9px 14px 9px 6.4rem}
  .zr-table td::before{position:absolute;left:14px;top:9px;margin:0;font-size:.82rem;font-weight:700;letter-spacing:0;color:var(--zr-mute);line-height:1.6}
  .zr-table td .zr-tag{display:none}
  .zr-table td br:first-of-type{display:none}
  .zr-table td:last-child{border-bottom:0}
}

/* Illustrazioni al tratto (SVG originali in /images/ztlroma/ill/, 1-6 KB l'una). Opacita dentro il file, 7-8 per cento. */
#tm-main .zr-hero{background:url(/images/ztlroma/ill/hero-roma.svg) no-repeat center bottom/min(100%,1440px) auto,linear-gradient(180deg,#fff 0,#f6f7f9 100%)}
@media (max-width:639px){
  #tm-main .zr-hero{background-size:880px auto;background-position:72% bottom;padding-bottom:62px}
}
@media (min-width:960px){
  #tm-main .zr-pagehead{background:url(/images/ztlroma/ill/testata-varco.svg) no-repeat right var(--zr-edge) bottom 0/auto 112px,linear-gradient(90deg,var(--zr-red) 0,var(--zr-red) 56px,transparent 56px) no-repeat left top/100% 4px,#fff}
  #tm-main #orari{background:url(/images/ztlroma/ill/orari-cartello.svg) no-repeat right var(--zr-edge) top clamp(36px,4vw,52px)/auto 100px}
  #tm-main .zr-sec-soft{background:url(/images/ztlroma/ill/sezione-tram.svg) no-repeat right var(--zr-edge) top clamp(34px,4vw,50px)/auto 100px,var(--zr-soft)}
  #tm-main .zr-band{background:url(/images/ztlroma/ill/fonti-colosseo.svg) no-repeat right var(--zr-edge) top clamp(34px,4vw,50px)/auto 100px,var(--zr-ink)}
  #tm-main .zr-band+.uk-section,#tm-main .zr-pagehead+.uk-section{background:url(/images/ztlroma/ill/faq-pini.svg) no-repeat right var(--zr-edge) bottom 0/auto 70px;padding-bottom:clamp(72px,7vw,92px)}
}

/* Margini inline del builder (uk-margin-*-bottom e' !important): stringo i soli passaggi titolo, sottotitolo, testo */
#tm-main .uk-margin-medium-bottom:has(>.zr-sub){margin-bottom:18px!important}
#tm-main .uk-margin-medium-bottom:has(>.zr-lead){margin-bottom:24px!important}
#tm-main .uk-margin-medium-bottom:has(>.zr-notice){margin-bottom:20px!important}
#tm-main h2.zr-h2.uk-margin-medium-bottom{margin-bottom:16px!important}

/* Pagine categoria (blog Joomla: il main e' esso stesso la sezione) */
main#tm-main.uk-section{padding-top:var(--zr-sp);padding-bottom:calc(var(--zr-sp) + 40px);background-color:var(--zr-soft);background-repeat:no-repeat}
main#tm-main.uk-section .uk-article{max-width:72ch;background:#fff;border:1px solid var(--zr-line);border-radius:12px;padding:22px 24px}
main#tm-main.uk-section .uk-article .uk-margin-medium-top{margin-top:0!important}
main#tm-main.uk-section .uk-article p.uk-margin-medium{margin:18px 0 0!important}
main#tm-main.uk-section .uk-article>div[property=text]>p{margin:0;font-size:1.06rem;line-height:1.65}
@media (min-width:960px){
  main#tm-main.uk-section{background-image:url(/images/ztlroma/ill/hero-roma.svg);background-position:center bottom;background-size:min(100%,1440px) auto}
}

/* Footer: link legali (privacy, cookie, gestisci consenso) e tabelle con prima colonna lunga o celle vuote */
.zr-footer .zr-flinks{display:flex;flex-wrap:wrap;gap:6px 24px;list-style:none;margin:26px 0 0;padding:0;font-size:.92rem}
.zr-footer .zr-flinks li{margin:0}
.zr-table.zr-wrap tbody th{white-space:normal;font-weight:700}
.zr-prose a.zr-consenso,.zr-footer a.zr-consenso{cursor:pointer}
@media (max-width:639px){.zr-table td:empty{display:none}}
/* Tabelle a due colonne (varchi): su mobile restano tabelle, non cartoline */
@media (max-width:639px){
  .zr-table.zr-flat{display:table;width:100%;border:1px solid var(--zr-line);border-radius:var(--zr-radius);overflow:hidden}
  .zr-table.zr-flat thead{display:table-header-group;position:static}
  .zr-table.zr-flat tbody{display:table-row-group}
  .zr-table.zr-flat tr{display:table-row;margin:0;border:0;border-radius:0;background:none!important}
  .zr-table.zr-flat thead th,.zr-table.zr-flat tbody th,.zr-table.zr-flat td{display:table-cell;padding:9px 12px;font-size:.95rem;border-bottom:1px solid var(--zr-line);background:none;color:var(--zr-ink)}
  .zr-table.zr-flat thead th{background:var(--zr-soft);font-weight:750;color:var(--zr-ink2)}
  .zr-table.zr-flat tbody th{font-weight:700;white-space:normal}
  .zr-table.zr-flat td{padding-left:12px}
  .zr-table.zr-flat td::before{display:none}
  .zr-table.zr-flat td:empty{display:table-cell}
  .zr-table.zr-flat tbody tr:last-child>*{border-bottom:0}
}

/* ===== Giro 5 (14-10 notte): sezioni a fondo alternato e chiaro, niente nero, illustrazione in ogni prima sezione, mappa, contatti ===== */
:root{
  --zr-ink:#1f2a37; --zr-ink2:#3d4a5a; --zr-mute:#5d6877;
  --zr-slate:#3b4c63;                                   /* blu/grigio scuro morbido, solo dove serve contrasto */
  --zr-rose:#fdf1f3; --zr-sand:#f9f2eb; --zr-warm:#f2e9df; /* tinte chiare parenti del rosso del marchio */
  --zr-line:#e3dcd5;
}
body{color:var(--zr-ink)}
h1,h2,h3,h4,.uk-h1,.uk-h2,.uk-h3,.uk-h4,.uk-heading-medium,.uk-heading-large{color:var(--zr-ink);font-weight:780}

/* Fondi alternati: bianco, rosa tenue, sabbia. Solo background-color, cosi le illustrazioni dei singoli blocchi restano. */
#tm-main .uk-section.zr-s-white{background-color:#fff}
#tm-main .uk-section.zr-s-rose{background-color:var(--zr-rose)}
#tm-main .uk-section.zr-s-sand{background-color:var(--zr-sand)}
#tm-main .uk-section.zr-sec-soft{background-color:var(--zr-sand)}
#tm-main .uk-section.zr-hero{background-color:#fff}

/* La fascia scura "Fonti ufficiali e contatti" diventa chiara */
#tm-main .zr-band{background:url(/images/ztlroma/ill/ph-colosseo.svg) no-repeat right var(--zr-edge) top clamp(34px,4vw,50px)/auto 100px,var(--zr-rose);color:var(--zr-ink2)}
.zr-band h2,.zr-band h3{color:var(--zr-ink)}
.zr-band a{color:var(--zr-blue)}
.zr-band a:hover{color:var(--zr-red)}
.zr-contact{background:#fff;border:1px solid #f0d6dc;color:var(--zr-ink2)}
.zr-contact b{color:var(--zr-ink)}
.zr-contact a{text-decoration-color:rgba(11,63,145,.4)}
@media (max-width:959px){#tm-main .zr-band{background:var(--zr-rose)}}

/* Bottoni, tag, card: grigio-blu morbido al posto del nero */
.uk-button-default{border-color:var(--zr-slate);color:var(--zr-slate)}
.uk-button-default:hover,.uk-button-default:focus{background:var(--zr-slate);border-color:var(--zr-slate);color:#fff}
.zr-tile.dark{border-top-color:var(--zr-slate)}
.zr-tile.dark .ic{background:#e9edf3;color:var(--zr-slate)}
.zr-tile.dark .go{color:var(--zr-slate)}
.zr-tag.night{background:#e8edf4;color:var(--zr-slate);border-color:#d3dbe6}
.zr-table thead th{background:#f6efe9;color:var(--zr-ink2)}
.zr-table tbody tr:nth-child(even){background:#fdfaf7}
.zr-table tbody th{color:var(--zr-ink)}
@media (max-width:639px){.zr-table tbody th{background:#f6efe9}}
.zr-card{background:#fff}
.zr-fonti{background:#fff;border:1px solid var(--zr-line)}
.zr-toc a::before{background:var(--zr-warm)}

/* Footer chiaro */
.zr-footer{background:var(--zr-warm);color:var(--zr-ink2);border-top:4px solid var(--zr-red)}
.zr-footer a{color:var(--zr-blue);text-decoration-color:rgba(11,63,145,.4)}
.zr-footer a:hover{color:var(--zr-red)}
.zr-footer h4{color:var(--zr-ink)}
.zr-footer .zr-logo{color:var(--zr-ink)}
.zr-footer .zr-logo small{color:var(--zr-mute)}
.zr-footer .zr-disc{color:var(--zr-ink2)}
.zr-footer .zr-copy{border-top:1px solid #dccfc2;color:var(--zr-mute)}
.zr-footer .zr-flinks{margin-top:22px}
@media (min-width:760px){.zr-fgrid{grid-template-columns:1.5fr 1fr 1fr}}

/* Prima sezione di ogni pagina: illustrazione al tratto per tema, su tutte le larghezze */
#tm-main .zr-pagehead{background:var(--ph,none) no-repeat right 16px bottom 0/auto 104px,linear-gradient(90deg,var(--zr-red) 0,var(--zr-red) 56px,transparent 56px) no-repeat left top/100% 4px,#fff;border-bottom:1px solid var(--zr-line)}
@media (min-width:960px){
  #tm-main .zr-pagehead{background:var(--ph,none) no-repeat right var(--zr-edge) bottom 0/auto 136px,linear-gradient(90deg,var(--zr-red) 0,var(--zr-red) 56px,transparent 56px) no-repeat left top/100% 4px,#fff}
}
.zr-pagehead.ph-mappa{--ph:url(/images/ztlroma/ill/ph-mappa.svg)}
.zr-pagehead.ph-orari{--ph:url(/images/ztlroma/ill/ph-orari.svg)}
.zr-pagehead.ph-permessi{--ph:url(/images/ztlroma/ill/ph-permessi.svg)}
.zr-pagehead.ph-verde{--ph:url(/images/ztlroma/ill/ph-verde.svg)}
.zr-pagehead.ph-segnali{--ph:url(/images/ztlroma/ill/ph-segnali.svg)}
.zr-pagehead.ph-contatti{--ph:url(/images/ztlroma/ill/ph-contatti.svg)}
.zr-pagehead.ph-multe{--ph:url(/images/ztlroma/ill/ph-multe.svg)}
.zr-pagehead.ph-palazzo{--ph:url(/images/ztlroma/ill/ph-palazzo.svg)}
/* pagine blog di categoria e hero home anche su telefono */
@media (max-width:639px){
  main#tm-main.uk-section{background-image:url(/images/ztlroma/ill/hero-roma.svg);background-position:72% bottom;background-size:880px auto}
}
/* la sezione FAQ non porta piu l'illustrazione "pini" (e la sezione successiva alla testata): ora ogni pagina ha la sua */
@media (min-width:960px){
  #tm-main .zr-pagehead+.uk-section{background-image:none;padding-bottom:var(--zr-sp)}
  #tm-main .zr-band+.uk-section{background-image:none;padding-bottom:var(--zr-sp)}
}

/* Sezione FAQ e riquadro fonti a tutta larghezza (pagine articolo) */
.zr-faqsec .uk-accordion>li{border-color:#e6d9cd}
.zr-fonti-wide{margin:0}
.zr-fonti-wide ul{display:grid;gap:0 36px;grid-template-columns:1fr}
@media (min-width:800px){.zr-fonti-wide ul{grid-template-columns:1fr 1fr}}
.zr-fonti-wide li:last-child{border-bottom:1px solid var(--zr-line)}
@media (min-width:800px){.zr-fonti-wide li:nth-last-child(2):nth-child(odd){border-bottom:0}.zr-fonti-wide li:nth-last-child(2):nth-child(odd){border-bottom:1px solid var(--zr-line)}}

/* Paragrafo "cos'e ztlroma.it" in fondo alla home */
.zr-about{max-width:70ch;font-size:1.02rem;line-height:1.65;color:var(--zr-ink2)}
.zr-about h2{font-size:1.25rem;margin:0 0 8px}
.zr-about p{margin:0}

/* Mappa (componente .zr-mappa): altezza riservata, nessun salto di layout */
.zr-mappa{position:relative;height:540px;border:1px solid var(--zr-line);border-radius:12px;overflow:hidden;background:#e9eef2 url(/images/ztlroma/ill/ph-mappa.svg) no-repeat center/min(360px,70%) auto;margin:0}
.zr-mappa::after{content:"Caricamento della mappa";position:absolute;left:0;right:0;top:calc(50% + 70px);text-align:center;font-size:.92rem;color:var(--zr-mute)}
.zr-mappa.is-ready::after,.zr-mappa.is-error::after{display:none}
.zr-mappa.is-ready{background-image:none}
.zr-mappa.zr-mappa-s{height:420px}
.zr-mappa-canvas{position:absolute;inset:0}
.zr-mappa .leaflet-container{font-family:var(--zr-font);font-size:.9rem;background:#e9eef2}
.zr-mappa .leaflet-popup-content{margin:12px 14px;line-height:1.45}
.zr-mappa .zr-pop b{display:block;font-size:1rem;margin-bottom:2px;color:var(--zr-ink)}
.zr-mappa .zr-pop span{display:block;color:var(--zr-ink2)}
.zr-mappa .zr-pop a{display:inline-block;margin-top:6px;color:var(--zr-blue);font-weight:650}
.zr-mappa .leaflet-control-attribution{font-size:11px;max-width:min(70%,520px)}
.zr-mappa .zr-leg{background:rgba(255,255,255,.94);border:1px solid var(--zr-line);border-radius:8px;padding:8px 10px;font-size:.82rem;line-height:1.5;color:var(--zr-ink2);box-shadow:0 2px 8px rgba(31,42,55,.12)}
.zr-mappa .zr-leg b{display:block;color:var(--zr-ink);margin-bottom:2px}
.zr-mappa .zr-leg span{display:flex;align-items:center;gap:8px}
.zr-mappa .zr-leg i{flex:none;display:inline-block;width:14px;height:14px;border-radius:50%}
.zr-mappa .zr-leg i.a{border-radius:3px;border:2px solid var(--zr-red);background:rgba(200,16,46,.14)}
.zr-mappa .zr-leg i.a.n{border-color:var(--zr-blue);background:rgba(11,63,145,.08);border-style:dashed}
.zr-mappa .zr-leg i.v{background:var(--zr-red);border:2px solid #fff;box-shadow:0 0 0 1px #c9c0b8}
.zr-mappa .zr-leg i.v.n{background:var(--zr-blue)}
.zr-mappa .zr-leg i.v.dn{background:var(--zr-red);border:3px solid var(--zr-blue);box-shadow:none}
.zr-mappa .zr-pan{background:#fff;border:1px solid var(--zr-line);border-radius:8px;padding:8px 12px;font:650 .85rem/1 var(--zr-font);color:var(--zr-slate);box-shadow:0 2px 8px rgba(31,42,55,.15);cursor:pointer}
.zr-mappa .zr-pan[aria-pressed=true]{background:var(--zr-slate);color:#fff;border-color:var(--zr-slate)}
.zr-mappa-msg{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;margin:0;color:var(--zr-ink2)}
.zr-mappa-note{font-size:.85rem;color:var(--zr-mute);margin:10px 2px 0;max-width:80ch}
@media (max-width:639px){
  .zr-mappa{height:440px}
  .zr-mappa.zr-mappa-s{height:380px}
  .zr-mappa .leaflet-control-attribution{max-width:100%}
}

/* Pagine contatti: due scelte, modulo, enti */
.zr-cards.two{grid-template-columns:1fr;margin-top:0}
@media (min-width:760px){.zr-cards.two{grid-template-columns:repeat(2,1fr)}}
.zr-tile .zr-who{display:block;font-size:.85rem;font-weight:700;color:var(--zr-mute);margin-bottom:4px}
.zr-tile.big{padding:26px 26px 24px}
.zr-tile.big h3{font-size:1.35rem}
.zr-formwrap{max-width:660px}
.zr-formwrap .uk-input,.zr-formwrap .uk-select,.zr-formwrap .uk-textarea{border:1px solid #cfc6bd;border-radius:8px;background:#fff;color:var(--zr-ink)}
.zr-formwrap .uk-textarea{min-height:170px}
.zr-formwrap .uk-input:focus,.zr-formwrap .uk-select:focus,.zr-formwrap .uk-textarea:focus{border-color:var(--zr-blue)}
.zr-formwrap .uk-button-default{border-color:var(--zr-red);background:var(--zr-red);color:#fff}
.zr-formwrap .uk-button-default:hover{background:var(--zr-red-d);border-color:var(--zr-red-d);color:#fff}
.zr-formwrap .uk-checkbox{accent-color:var(--zr-red)}
.zr-formnote{font-size:.9rem;color:var(--zr-mute);max-width:62ch}
.zr-enti{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:800px){.zr-enti{grid-template-columns:repeat(2,1fr)}}
.zr-ente{background:#fff;border:1px solid var(--zr-line);border-radius:var(--zr-radius);padding:20px 22px;line-height:1.55}
.zr-ente h3{margin:0 0 6px;font-size:1.2rem}
.zr-ente p{margin:0 0 .6em;color:var(--zr-ink2)}
.zr-ente ul{margin:0;padding-left:1.1em}
.zr-ente li{margin-bottom:.35em}

/* Schede zona: riepilogo orari */
.zr-zona-orari{display:grid;gap:12px;grid-template-columns:1fr;margin:1em 0 1.4em}
@media (min-width:700px){.zr-zona-orari{grid-template-columns:repeat(3,1fr)}}
.zr-zona-orari>div{background:#fff;border:1px solid var(--zr-line);border-radius:var(--zr-radius);padding:14px 16px;line-height:1.5}
.zr-zona-orari b{display:block;color:var(--zr-ink);margin-bottom:2px}
.zr-varchi-list{columns:2 280px;column-gap:28px;margin:0 0 1.2em;padding-left:1.1em;max-width:none!important}
.zr-varchi-list li{break-inside:avoid;margin-bottom:.45em}
.zr-varchi-list small{display:block;color:var(--zr-mute)}

/* Tabelle dei testi (varchi, orari per zona): scorrono di lato se strette */
.zr-tablewrap{overflow-x:auto}
.zr-table.zr-wrap td{vertical-align:top}
.zr-table.zr-wrap td:first-child{font-weight:650}
.zr-prose .zr-mappa{margin:1.2em 0 .2em}
.zr-prose .zr-mappa-note{margin-bottom:1.4em}
.zr-fine{font-size:.82rem;color:var(--zr-mute);margin:12px 0 0}
.zr-tile.big{transform:none!important;box-shadow:none}
.zr-tile.big p{flex:none}
.zr-tile.big .uk-button{margin-top:6px}
.zr-callout{background:#fff}

/* Mai maiuscolo forzato da CSS, nemmeno nel menu a scomparsa del telefono (uk-nav) */
body *,body *::before,body *::after{text-transform:none!important}

/* Audit 14-10-2026: accessibilita' (area di tocco, contrasto attribuzione mappa) */
.zr-crumbs a{display:inline-block;padding:4px 2px}
.uk-navbar-toggle{min-width:44px;justify-content:center}
.zr-mappa .leaflet-control-attribution,.zr-mappa .leaflet-control-attribution a{color:#3a4350}
.zr-mappa .leaflet-control-attribution a{color:var(--zr-blue)}

/* Giro 6 (15-10-2026): testata della pagina ZTL Appia Antica */
.zr-pagehead.ph-appia{--ph:url(/images/ztlroma/ill/ph-appia.svg)}
