/* Caterina Tuscano dentro Elementor: le sezioni e i contenitori che portano i widget non aggiungono
   spazi né margini, così il disegno resta quello del sito statico (studio.css). Scritto a mano. */
.elementor-section.ct-guscio > .elementor-container { max-width: none; }
.elementor-section.ct-guscio .elementor-column.ct-guscio > .elementor-widget-wrap { padding: 0; }
.e-con.ct-guscio {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --margin-top: 0px; --margin-bottom: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px;
  --content-width: 100%; --container-max-width: 100%; --width: 100%;
  padding: 0; margin: 0;
}
.e-con.ct-guscio > .e-con-inner { padding: 0; max-width: 100%; gap: 0; }
.elementor-widget[class*="elementor-widget-ct_"] { width: 100%; max-width: 100%; margin: 0; }
.elementor-widget[class*="elementor-widget-ct_"]:not(:last-child) { margin-block-end: 0; margin-bottom: 0; }
.elementor-widget[class*="elementor-widget-ct_"] > .elementor-widget-container { margin: 0; padding: 0; }
/* nell'editor di Elementor la testata fissa non deve coprire i comandi di modifica */
body.elementor-editor-active .testata { position: absolute; }
/* collegati (Caterina): la barra di WordPress sta sopra la testata fissa, non la copre */
body.admin-bar .testata { top: var(--wp-admin--admin-bar--height, 32px); }
body.admin-bar .menu-tel { top: calc(var(--testata) + var(--wp-admin--admin-bar--height, 32px)); }
@media (max-width: 600px) { body.admin-bar .testata { top: 0; } body.admin-bar .menu-tel { top: var(--testata); } }   /* lì la barra scorre via con la pagina */

/* ── pagina di una città (1.1.0): testo e foto affiancati, sotto la testata piena ── */
.st-citta { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; max-width: calc(var(--largo) + 2 * var(--margine)); margin: 0 auto;
  padding: calc(var(--testata) + clamp(40px, 7vw, 96px)) var(--margine) clamp(56px, 8vw, 112px); }
.st-citta-occhiello { margin: 0 0 18px; font-size: .875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--testo-2); }
.st-citta-occhiello a { color: inherit; text-decoration: none; display: inline-block; padding: 13px 0; margin: -13px 0; }   /* bersaglio di 44 px senza spostare la riga */
@media (hover: hover) and (pointer: fine) { .st-citta-occhiello a:hover { color: var(--prugna); text-decoration: underline; } }
.st-citta h1 { font-size: clamp(2.4rem, 5.6vw, 4.8rem); line-height: 1; margin-bottom: 26px; }
.st-citta-luogo { display: block; font-style: italic; color: var(--viola); }
.st-citta-testo > p { color: var(--testo-2); font-size: 1.1875rem; max-width: 52ch; }
.st-citta-sedi { list-style: none; margin: 26px 0 30px; padding: 20px 0 0; border-top: 1px solid var(--linea); display: grid; gap: 14px; }
.st-citta-foto { overflow: hidden; aspect-ratio: 4 / 5; background: var(--carta-2); }
.st-citta-foto img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 900px) { .st-citta { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: clamp(48px, 6vw, 104px); } }

/* ── il banner dei cookie (1.1.0): «Accetto» e «Rifiuto» sullo stesso piano, la crocetta vale «Rifiuto» ── */
.ct-consenso { position: fixed; z-index: 80; left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); max-width: 540px;
  padding: 22px 22px 20px; background: var(--notte); color: #fff; box-shadow: 0 24px 60px -20px rgba(20, 6, 26, .6); }
.ct-consenso[hidden] { display: none; }
.ct-consenso-t { font-family: var(--display); font-size: 1.5rem; line-height: 1.15; margin: 0 0 10px; padding-right: 44px; color: #fff; }
.ct-consenso p:not(.ct-consenso-t) { margin: 0 0 16px; font-size: .9375rem; line-height: 1.55; color: #E6DAEB; }
.ct-consenso a { color: #fff; }
.ct-consenso :focus-visible { outline-color: #fff; }
.ct-consenso-azioni { display: flex; flex-wrap: wrap; gap: 12px; }
.ct-consenso-azioni .bottone { flex: 1 1 140px; min-height: 48px; color: #fff; }
.ct-consenso-x { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: #fff; font-size: 1.75rem; line-height: 1; cursor: pointer; }
button.st-piede-privacy { padding: 0; border: 0; background: none; font: inherit; color: #fff; cursor: pointer; }
@media (hover: hover) and (pointer: fine) { button.st-piede-privacy:hover { text-decoration: underline; } }
