/*
Theme Name: CercaRoma 2026
Theme URI: https://www.cercaroma.net/
Author: CercaRoma
Description: Tema editoriale e directory locale per il rilancio di CercaRoma.net.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: cercaroma-2026
*/

:root {
  --cr-burgundy: #8d2140;
  --cr-burgundy-dark: #591429;
  --cr-terracotta: #e06443;
  --cr-ink: #201b19;
  --cr-muted: #6f6761;
  --cr-cream: #fff3e4;
  --cr-paper: #fffdfa;
  --cr-line: #e6ded3;
  --cr-gold: #f2ad3b;
  --cr-radius: 18px;
  --cr-shadow: 0 18px 60px rgba(61, 35, 25, .12);
}

/* Citywide gyms guide: activity palette layered on the established directory UI. */
.cr-fitness-guide { display: grid; gap: 8px; margin: 0 0 26px; padding: 22px 24px; border: 1px solid #cfe0db; border-radius: 15px; background: linear-gradient(135deg,#f3faf7,#fff); box-shadow: 0 8px 24px rgba(31,74,72,.06); }
.cr-fitness-guide > span { color: #28736a; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.entry-content .cr-fitness-guide h2 { margin: 0; color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.35rem; }
.cr-fitness-guide p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.68; }
.cr-fitness-guide__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 8px; }
.cr-fitness-guide__grid > div { display: grid; align-content: start; gap: 6px; padding: 15px; border: 1px solid #d9e8e3; border-radius: 11px; background: rgba(255,255,255,.76); }
.cr-fitness-guide__grid strong { color: #276f68; font-family: Georgia,serif; font-size: .84rem; }
.cr-fitness-guide__grid span { color: var(--cr-muted); font-size: .72rem; line-height: 1.55; }
.cr-fitness-guide__note { margin-top: 4px !important; padding: 12px 14px; border-left: 3px solid #276f68; background: #eaf6f2; }
.page-id-3612 .cr-page-hero h1,
.page-id-3612 .cr-page-hero p { max-width: 66%; }
.page-id-3612 .cr-page-hero__inner::after { content: ""; position: absolute; z-index: 0; right: 18px; bottom: -18px; width: 340px; height: 170px; opacity: .30; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 210' fill='none' stroke='%231f716a' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg stroke-width='8'%3E%3Cpath d='M90 107h240'/%3E%3Cpath d='M55 65v84M79 78v58M365 65v84M341 78v58'/%3E%3C/g%3E%3Cg stroke-width='5'%3E%3Cpath d='M166 151c0-25 19-42 44-42s44 17 44 42v22h-88z'/%3E%3Cpath d='M195 108V91h30v17'/%3E%3C/g%3E%3Ccircle cx='210' cy='106' r='92' stroke-width='2' opacity='.38'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
.page-id-3612 .cr-page-hero__inner > * { position: relative; z-index: 1; }
.cr-fitness-directory .cr-restaurant-sidebar__head { background: #eaf6f2; }
.cr-fitness-directory .cr-restaurant-sidebar__head > span,
.cr-fitness-directory .cr-restaurant-sidebar__business,
.cr-fitness-directory .cr-restaurant-details { background: #276f68; }
.cr-fitness-directory .cr-restaurant-sidebar__head strong,
.cr-fitness-directory .cr-restaurant-results-head span,
.cr-fitness-directory .cr-restaurant-highlights strong { color: #276f68; }
.cr-fitness-directory .cr-restaurant-sidebar__group a.is-current { background: #276f68; }
.cr-fitness-directory .cr-listing-card--verified { border-color: #bfd7d1; }
.cr-fitness-directory .cr-restaurant-directory-results .cr-listing-card--verified > h2 { border-bottom-color: #c4ded8; border-left-color: #276f68; background: linear-gradient(90deg,#d8efea,#edf8f5); color: var(--cr-ink); }
.cr-fitness-directory .cr-restaurant-facts li { background: #e8f5f1; color: #275f59; }
.cr-fitness-directory .cr-restaurant-highlights > div { border-color: #d8e8e3; background: #f8fcfa; }
.cr-fitness-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-fitness-card__visual { min-height: 210px; background-color: #dfeee9; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 180'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M93 90h134'/%3E%3Cpath d='M72 61v58M89 70v40M248 61v58M231 70v40'/%3E%3C/g%3E%3Ccircle cx='160' cy='90' r='64' fill='none' stroke='%23ffffff' stroke-opacity='.16' stroke-width='2'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(39,111,104,.96),rgba(73,143,132,.78)); background-position: center; background-repeat: no-repeat; background-size: contain,cover; }
.cr-fitness-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-fitness-card__visual::before { display: none; }
.cr-fitness-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-fitness-card__visual::after { content: "Immagine illustrativa"; display: block; width: auto; height: auto; padding: 5px 8px; border-radius: 999px; background: rgba(21,61,57,.82); transform: none; }

/* Citywide dance-school guide: same directory system, with a muted performing-arts palette. */
.cr-dance-guide { display: grid; gap: 8px; margin: 0 0 26px; padding: 22px 24px; border: 1px solid #e2d3df; border-radius: 15px; background: linear-gradient(135deg,#faf4f8,#fff); box-shadow: 0 8px 24px rgba(91,53,82,.06); }
.cr-dance-guide > span { color: #7b526f; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.entry-content .cr-dance-guide h2 { margin: 0; color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.35rem; }
.cr-dance-guide p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.68; }
.cr-dance-guide__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 8px; }
.cr-dance-guide__grid > div { display: grid; align-content: start; gap: 6px; padding: 15px; border: 1px solid #eadde7; border-radius: 11px; background: rgba(255,255,255,.78); }
.cr-dance-guide__grid strong { color: #754d69; font-family: Georgia,serif; font-size: .84rem; }
.cr-dance-guide__grid span { color: var(--cr-muted); font-size: .72rem; line-height: 1.55; }
.cr-dance-guide__note { margin-top: 4px !important; padding: 12px 14px; border-left: 3px solid #7b526f; background: #f4eaf1; }
.page-id-3617 .cr-page-hero h1,
.page-id-3617 .cr-page-hero p { max-width: 66%; }
.page-id-3617 .cr-page-hero__inner::after { content: ""; position: absolute; z-index: 0; right: 24px; bottom: -16px; width: 320px; height: 178px; opacity: .30; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 420 220' fill='none' stroke='%23754d69' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='221' cy='42' r='14' stroke-width='5'/%3E%3Cpath d='M219 58c-9 30-8 58 5 83M214 78l-62 37M219 77l68-38M224 141l-48 58M225 141l69 42M176 199l-27 2M294 183l26 7' stroke-width='7'/%3E%3Cpath d='M219 61c-23 32-28 61-18 88M224 61c19 24 27 51 22 81' stroke-width='3' opacity='.55'/%3E%3Ccircle cx='220' cy='112' r='94' stroke-width='2' opacity='.30'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
.page-id-3617 .cr-page-hero__inner > * { position: relative; z-index: 1; }
.cr-dance-directory .cr-restaurant-sidebar__head { background: #f4eaf1; }
.cr-dance-directory .cr-restaurant-sidebar__head > span,
.cr-dance-directory .cr-restaurant-sidebar__business,
.cr-dance-directory .cr-restaurant-details { background: #754d69; }
.cr-dance-directory .cr-restaurant-sidebar__head strong,
.cr-dance-directory .cr-restaurant-results-head span,
.cr-dance-directory .cr-restaurant-highlights strong { color: #754d69; }
.cr-dance-directory .cr-restaurant-sidebar__group a.is-current { background: #754d69; }
.cr-dance-directory .cr-listing-card--verified { border-color: #dfcbd9; }
.cr-dance-directory .cr-restaurant-directory-results .cr-listing-card--verified > h2 { border-bottom-color: #dec9d7; border-left-color: #754d69; background: linear-gradient(90deg,#efe0ea,#faf3f8); color: var(--cr-ink); }
.cr-dance-directory .cr-restaurant-facts li { background: #f3e8ef; color: #67445d; }
.cr-dance-directory .cr-restaurant-highlights > div { border-color: #eadde7; background: #fdf9fc; }
.cr-dance-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-dance-card__visual { min-height: 210px; background-color: #eadce6; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 180' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='164' cy='37' r='11' stroke-width='6'/%3E%3Cpath d='M162 52c-7 25-6 48 4 68M157 69l-48 30M162 68l53-31M166 120l-38 47M167 120l54 34M128 167l-21 2M221 154l20 7' stroke-width='8'/%3E%3Ccircle cx='160' cy='90' r='67' stroke-width='2' stroke-opacity='.18'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(117,77,105,.96),rgba(164,123,154,.82)); background-position: center; background-repeat: no-repeat; background-size: contain,cover; }
.cr-dance-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-dance-card__visual::before { display: none; }
.cr-dance-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-dance-card__visual::after { content: "Immagine illustrativa"; display: block; width: auto; height: auto; padding: 5px 8px; border-radius: 999px; background: rgba(62,37,55,.84); transform: none; }

/* Citywide skating guide: cool blue palette for tracks, schools and roller sports. */
.cr-skating-guide { display: grid; gap: 8px; margin: 0 0 26px; padding: 22px 24px; border: 1px solid #cfdfe5; border-radius: 15px; background: linear-gradient(135deg,#f2f8fa,#fff); box-shadow: 0 8px 24px rgba(39,83,101,.06); }
.cr-skating-guide > span { color: #326b80; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.entry-content .cr-skating-guide h2 { margin: 0; color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.35rem; }
.cr-skating-guide p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.68; }
.cr-skating-guide__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 8px; }
.cr-skating-guide__grid > div { display: grid; align-content: start; gap: 6px; padding: 15px; border: 1px solid #dbe8ec; border-radius: 11px; background: rgba(255,255,255,.78); }
.cr-skating-guide__grid strong { color: #2f6578; font-family: Georgia,serif; font-size: .84rem; }
.cr-skating-guide__grid span { color: var(--cr-muted); font-size: .72rem; line-height: 1.55; }
.cr-skating-guide__note { margin-top: 4px !important; padding: 12px 14px; border-left: 3px solid #326b80; background: #e9f3f6; }
.page-id-3607 .cr-page-hero h1,
.page-id-3607 .cr-page-hero p { max-width: 66%; }
.page-id-3607 .cr-page-hero__inner::after { content: ""; position: absolute; z-index: 0; right: 22px; bottom: -15px; width: 330px; height: 176px; opacity: .31; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 220' fill='none' stroke='%23326b80' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M101 123h207c21 0 36 12 38 29H161c-35 0-60-8-74-25l14-4Z' stroke-width='7'/%3E%3Cpath d='M119 121l30-70h74l29 72M151 51l-10-19M181 51l-4-23M213 51l10-19' stroke-width='6'/%3E%3Ccircle cx='146' cy='176' r='18' stroke-width='7'/%3E%3Ccircle cx='235' cy='176' r='18' stroke-width='7'/%3E%3Ccircle cx='318' cy='176' r='18' stroke-width='7'/%3E%3Ccircle cx='220' cy='112' r='94' stroke-width='2' opacity='.30'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
.page-id-3607 .cr-page-hero__inner > * { position: relative; z-index: 1; }
.cr-skating-directory .cr-restaurant-sidebar__head { background: #e9f3f6; }
.cr-skating-directory .cr-restaurant-sidebar__head > span,
.cr-skating-directory .cr-restaurant-sidebar__business,
.cr-skating-directory .cr-restaurant-details { background: #326b80; }
.cr-skating-directory .cr-restaurant-sidebar__head strong,
.cr-skating-directory .cr-restaurant-results-head span,
.cr-skating-directory .cr-restaurant-highlights strong { color: #326b80; }
.cr-skating-directory .cr-restaurant-sidebar__group a.is-current { background: #326b80; }
.cr-skating-directory .cr-listing-card--verified { border-color: #c9dce3; }
.cr-skating-directory .cr-restaurant-directory-results .cr-listing-card--verified > h2 { border-bottom-color: #c9dce3; border-left-color: #326b80; background: linear-gradient(90deg,#dcecf1,#f1f8fa); color: var(--cr-ink); }
.cr-skating-directory .cr-restaurant-facts li { background: #e8f2f5; color: #285a6c; }
.cr-skating-directory .cr-restaurant-highlights > div { border-color: #dbe8ec; background: #f8fbfc; }
.cr-skating-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-skating-card__visual { min-height: 210px; background-color: #dcebef; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 180' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M62 96h154c18 0 31 10 34 25H108c-28 0-48-7-60-21l14-4Z' stroke-width='7'/%3E%3Cpath d='M78 94l23-55h62l25 57M102 39l-8-16M130 39l-3-19M159 39l9-15' stroke-width='6'/%3E%3Ccircle cx='97' cy='145' r='13' stroke-width='6'/%3E%3Ccircle cx='167' cy='145' r='13' stroke-width='6'/%3E%3Ccircle cx='231' cy='145' r='13' stroke-width='6'/%3E%3Ccircle cx='160' cy='91' r='70' stroke-width='2' stroke-opacity='.18'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(50,107,128,.96),rgba(91,151,171,.80)); background-position: center; background-repeat: no-repeat; background-size: contain,cover; }
.cr-skating-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-skating-card__visual::before { display: none; }
.cr-skating-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-skating-card__visual::after { content: "Immagine illustrativa"; display: block; width: auto; height: auto; padding: 5px 8px; border-radius: 999px; background: rgba(26,66,80,.84); transform: none; }

/* Citywide game-venue guide: muted indigo palette for arcades, bowling and social play. */
.cr-games-guide { display: grid; gap: 8px; margin: 0 0 26px; padding: 22px 24px; border: 1px solid #ded8ea; border-radius: 15px; background: linear-gradient(135deg,#f5f3fa,#fff); box-shadow: 0 8px 24px rgba(72,65,100,.06); }
.cr-games-guide > span { color: #5b537d; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.entry-content .cr-games-guide h2 { margin: 0; color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.35rem; }
.cr-games-guide p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.68; }
.cr-games-guide__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 8px; }
.cr-games-guide__grid > div { display: grid; align-content: start; gap: 6px; padding: 15px; border: 1px solid #e5e0ee; border-radius: 11px; background: rgba(255,255,255,.80); }
.cr-games-guide__grid strong { color: #554d75; font-family: Georgia,serif; font-size: .84rem; }
.cr-games-guide__grid span { color: var(--cr-muted); font-size: .72rem; line-height: 1.55; }
.cr-games-guide__note { margin-top: 4px !important; padding: 12px 14px; border-left: 3px solid #5b537d; background: #efedf6; }
.page-id-3537 .cr-page-hero h1,
.page-id-3537 .cr-page-hero p { max-width: 66%; }
.page-id-3537 .cr-page-hero__inner::after { content: ""; position: absolute; z-index: 0; right: 25px; bottom: -16px; width: 325px; height: 180px; opacity: .31; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 220' fill='none' stroke='%235b537d' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M136 82h157c25 0 42 13 49 38l15 51c6 21-18 35-34 20l-38-34H145l-38 34c-16 15-40 1-34-20l15-51c7-25 24-38 48-38Z' stroke-width='7'/%3E%3Cpath d='M125 121h42M146 100v42' stroke-width='7'/%3E%3Ccircle cx='282' cy='116' r='8' stroke-width='6'/%3E%3Ccircle cx='310' cy='140' r='8' stroke-width='6'/%3E%3Cpath d='M181 82l13-25h42l13 25' stroke-width='6'/%3E%3Ccircle cx='216' cy='125' r='91' stroke-width='2' opacity='.28'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
.page-id-3537 .cr-page-hero__inner > * { position: relative; z-index: 1; }
.cr-games-directory .cr-restaurant-sidebar__head { background: #efedf6; }
.cr-games-directory .cr-restaurant-sidebar__head > span,
.cr-games-directory .cr-restaurant-sidebar__business,
.entry-content .cr-games-directory .cr-restaurant-details { background: #5b537d; }
.cr-games-directory .cr-restaurant-sidebar__head strong,
.cr-games-directory .cr-restaurant-results-head span,
.cr-games-directory .cr-restaurant-highlights strong { color: #5b537d; }
.entry-content .cr-games-directory .cr-restaurant-sidebar__group a.is-current { background: #5b537d; }
.cr-games-directory .cr-listing-card--verified { border-color: #d9d3e7; }
.cr-games-directory .cr-restaurant-directory-results .cr-listing-card--verified > h2 { border-bottom-color: #d9d3e7; border-left-color: #5b537d; background: linear-gradient(90deg,#e9e5f2,#f7f5fb); color: var(--cr-ink); }
.cr-games-directory .cr-restaurant-facts li { background: #efedf6; color: #4d466b; }
.cr-games-directory .cr-restaurant-highlights > div { border-color: #e5e0ee; background: #fbfafe; }
.cr-games-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-games-card__visual { min-height: 210px; background-color: #e6e2ef; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 180' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M101 65h118c19 0 32 10 37 29l11 39c5 16-13 27-25 15l-29-26H107l-29 26c-12 12-30 1-25-15l11-39c5-19 18-29 37-29Z' stroke-width='7'/%3E%3Cpath d='M91 99h36M109 81v36' stroke-width='7'/%3E%3Ccircle cx='205' cy='92' r='7' stroke-width='5'/%3E%3Ccircle cx='227' cy='111' r='7' stroke-width='5'/%3E%3Cpath d='M134 65l10-20h33l10 20' stroke-width='5'/%3E%3Ccircle cx='160' cy='90' r='70' stroke-width='2' stroke-opacity='.18'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(91,83,125,.97),rgba(132,120,169,.82)); background-position: center; background-repeat: no-repeat; background-size: contain,cover; }
.cr-games-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-games-card__visual::before { display: none; }
.cr-games-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-games-card__visual::after { content: "Immagine illustrativa"; display: block; width: auto; height: auto; padding: 5px 8px; border-radius: 999px; background: rgba(52,46,75,.85); transform: none; }

/* Citywide bookshop guide: warm ink-blue and ochre palette for books and cultural spaces. */
.cr-books-guide { display: grid; gap: 8px; margin: 0 0 26px; padding: 22px 24px; border: 1px solid #d9dfdf; border-radius: 15px; background: linear-gradient(135deg,#f4f7f6,#fffaf1); box-shadow: 0 8px 24px rgba(37,65,69,.06); }
.cr-books-guide > span { color: #315f64; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.entry-content .cr-books-guide h2 { margin: 0; color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.35rem; }
.cr-books-guide p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.68; }
.cr-books-guide__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 8px; }
.cr-books-guide__grid > div { display: grid; align-content: start; gap: 6px; padding: 15px; border: 1px solid #dde5e3; border-radius: 11px; background: rgba(255,255,255,.82); }
.cr-books-guide__grid strong { color: #2c595e; font-family: Georgia,serif; font-size: .84rem; }
.cr-books-guide__grid span { color: var(--cr-muted); font-size: .72rem; line-height: 1.55; }
.cr-books-guide__note { margin-top: 4px !important; padding: 12px 14px; border-left: 3px solid #b57937; background: #f3f6f4; }
.page-id-3638 .cr-page-hero h1,
.page-id-3638 .cr-page-hero p { max-width: 66%; }
.page-id-3638 .cr-page-hero__inner::after { content: ""; position: absolute; z-index: 0; right: 24px; bottom: -15px; width: 330px; height: 178px; opacity: .34; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 220' fill='none' stroke='%23315f64' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M70 62c55-13 98-3 137 30v102c-39-28-82-39-137-26V62ZM360 62c-55-13-98-3-137 30v102c39-28 82-39 137-26V62Z' stroke-width='7'/%3E%3Cpath d='M207 92v102M223 92v102M92 88c37-5 67 3 94 22M92 116c37-5 67 3 94 22M338 88c-37-5-67 3-94 22M338 116c-37-5-67 3-94 22' stroke-width='4' opacity='.65'/%3E%3Ccircle cx='215' cy='116' r='102' stroke-width='2' opacity='.22'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
.page-id-3638 .cr-page-hero__inner > * { position: relative; z-index: 1; }
.cr-books-directory .cr-restaurant-sidebar__head { background: #eef3f1; }
.cr-books-directory .cr-restaurant-sidebar__head > span,
.cr-books-directory .cr-restaurant-sidebar__business,
.entry-content .cr-books-directory .cr-restaurant-details { background: #315f64; }
.cr-books-directory .cr-restaurant-sidebar__head strong,
.cr-books-directory .cr-restaurant-results-head span,
.cr-books-directory .cr-restaurant-highlights strong { color: #315f64; }
.entry-content .cr-books-directory .cr-restaurant-sidebar__group a.is-current { background: #315f64; }
.cr-books-directory .cr-listing-card--verified { border-color: #d5dfdd; }
.cr-books-directory .cr-restaurant-directory-results .cr-listing-card--verified > h2 { border-bottom-color: #d8e1df; border-left-color: #b57937; background: linear-gradient(90deg,#e8efed,#fbf4e8); color: var(--cr-ink); }
.cr-books-directory .cr-restaurant-facts li { background: #edf3f1; color: #294f53; }
.cr-books-directory .cr-restaurant-highlights > div { border-color: #dde5e3; background: #fafcfb; }
.cr-books-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-books-card__visual { min-height: 210px; background-color: #315f64; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 180' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M50 45c42-11 78-3 110 24v83c-32-23-68-32-110-21V45ZM270 45c-42-11-78-3-110 24v83c32-23 68-32 110-21V45Z' stroke-width='7'/%3E%3Cpath d='M160 69v83M72 69c28-4 50 2 69 17M72 92c28-4 50 2 69 17M248 69c-28-4-50 2-69 17M248 92c-28-4-50 2-69 17' stroke-width='4' stroke-opacity='.8'/%3E%3Ccircle cx='160' cy='90' r='71' stroke-width='2' stroke-opacity='.16'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(42,83,88,.98),rgba(181,121,55,.82)); background-position: center; background-repeat: no-repeat; background-size: contain,cover; }
.cr-books-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-books-card__visual::before { display: none; }
.cr-books-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-books-card__visual::after { content: "Immagine illustrativa"; display: block; width: auto; height: auto; padding: 5px 8px; border-radius: 999px; background: rgba(28,57,60,.86); transform: none; }

/* Citywide comic-shop guide: editorial cobalt with a restrained coral accent. */
.cr-comics-guide { display: grid; gap: 8px; margin: 0 0 26px; padding: 22px 24px; border: 1px solid #d9deeb; border-radius: 15px; background: linear-gradient(135deg,#f3f5fb,#fff7f2); box-shadow: 0 8px 24px rgba(41,53,99,.06); }
.cr-comics-guide > span { color: #3d4f91; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.entry-content .cr-comics-guide h2 { margin: 0; color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.35rem; }
.cr-comics-guide p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.68; }
.cr-comics-guide__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 8px; }
.cr-comics-guide__grid > div { display: grid; align-content: start; gap: 6px; padding: 15px; border: 1px solid #dfe3ee; border-radius: 11px; background: rgba(255,255,255,.84); }
.cr-comics-guide__grid strong { color: #354783; font-family: Georgia,serif; font-size: .84rem; }
.cr-comics-guide__grid span { color: var(--cr-muted); font-size: .72rem; line-height: 1.55; }
.cr-comics-guide__note { margin-top: 4px !important; padding: 12px 14px; border-left: 3px solid #cc6e58; background: #f1f3f9; }
.page-id-3633 .cr-page-hero h1,
.page-id-3633 .cr-page-hero p { max-width: 66%; }
.page-id-3633 .cr-page-hero__inner::after { content: ""; position: absolute; z-index: 0; right: 25px; bottom: -11px; width: 326px; height: 185px; opacity: .38; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 230' fill='none' stroke='%233d4f91' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M72 48h122c20 0 36 16 36 36v62c0 20-16 36-36 36h-52l-42 31 12-31H72c-20 0-36-16-36-36V84c0-20 16-36 36-36Z' stroke-width='7'/%3E%3Cpath d='M257 60h103c18 0 32 14 32 32v48c0 18-14 32-32 32h-24l9 27-37-27h-51c-18 0-32-14-32-32V92c0-18 14-32 32-32Z' stroke-width='6'/%3E%3Cpath d='M69 91h117M69 116h92M262 101h91M262 126h69' stroke-width='5' opacity='.7'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
.page-id-3633 .cr-page-hero__inner > * { position: relative; z-index: 1; }
.cr-comics-directory .cr-restaurant-sidebar__head { background: #eef0f8; }
.cr-comics-directory .cr-restaurant-sidebar__head > span,
.cr-comics-directory .cr-restaurant-sidebar__business,
.entry-content .cr-comics-directory .cr-restaurant-details { background: #3d4f91; }
.cr-comics-directory .cr-restaurant-sidebar__head strong,
.cr-comics-directory .cr-restaurant-results-head span,
.cr-comics-directory .cr-restaurant-highlights strong { color: #3d4f91; }
.entry-content .cr-comics-directory .cr-restaurant-sidebar__group a.is-current { background: #3d4f91; }
.cr-comics-directory .cr-listing-card--verified { border-color: #d8ddea; }
.cr-comics-directory .cr-restaurant-directory-results .cr-listing-card--verified > h2 { border-bottom-color: #d8ddea; border-left-color: #cc6e58; background: linear-gradient(90deg,#e8ebf5,#fff0e9); color: var(--cr-ink); }
.cr-comics-directory .cr-restaurant-facts li { background: #eef0f8; color: #34447e; }
.cr-comics-directory .cr-restaurant-highlights > div { border-color: #e1e4ee; background: #fbfbfd; }
.cr-comics-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-comics-card__visual { min-height: 210px; background-color: #3d4f91; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 180' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M45 31h230v124H45z' stroke-width='7'/%3E%3Cpath d='M160 34v118M48 94h109M164 94h108' stroke-width='5'/%3E%3Cpath d='M76 62h52M190 61h51M74 124h58M190 124h48' stroke-width='5' opacity='.78'/%3E%3Cpath d='M118 44l11 11-11 11M224 106l12 11-12 11' stroke-width='4'/%3E%3Ccircle cx='160' cy='90' r='75' stroke-width='2' opacity='.17'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(61,79,145,.98),rgba(204,110,88,.84)); background-position: center; background-repeat: no-repeat; background-size: contain,cover; }
.cr-comics-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-comics-card__visual::before { display: none; }
.cr-comics-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-comics-card__visual::after { content: "Immagine illustrativa"; display: block; width: auto; height: auto; padding: 5px 8px; border-radius: 999px; background: rgba(38,49,91,.86); transform: none; }

/* Live-music city guide: deep petrol blue with restrained warm stage accents. */
.cr-live-guide { display: grid; gap: 8px; margin: 0 0 26px; padding: 22px 24px; border: 1px solid #cddfe0; border-radius: 15px; background: linear-gradient(135deg,#f1f8f8,#fff); box-shadow: 0 8px 24px rgba(31,75,79,.06); }
.cr-live-guide > span { color: #2d686d; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.entry-content .cr-live-guide h2 { margin: 0; color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.35rem; }
.cr-live-guide p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.68; }
.cr-live-guide__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 8px; }
.cr-live-guide__grid > div { display: grid; align-content: start; gap: 6px; padding: 15px; border: 1px solid #d9e7e8; border-radius: 11px; background: rgba(255,255,255,.82); }
.cr-live-guide__grid strong { color: #295f64; font-family: Georgia,serif; font-size: .84rem; }
.cr-live-guide__grid span { color: var(--cr-muted); font-size: .72rem; line-height: 1.55; }
.cr-live-guide__note { margin-top: 4px !important; padding: 12px 14px; border-left: 3px solid #bf724f; background: #edf5f5; }
.page-id-3513 .cr-page-hero h1,
.page-id-3513 .cr-page-hero p,
.page-id-3826 .cr-page-hero h1,
.page-id-3826 .cr-page-hero p,
.page-id-3837 .cr-page-hero h1,
.page-id-3837 .cr-page-hero p,
.page-id-3843 .cr-page-hero h1,
.page-id-3843 .cr-page-hero p,
.page-id-3852 .cr-page-hero h1,
.page-id-3852 .cr-page-hero p,
.page-id-3868 .cr-page-hero h1,
.page-id-3868 .cr-page-hero p,
.page-id-3877 .cr-page-hero h1,
.page-id-3877 .cr-page-hero p,
.page-id-3894 .cr-page-hero h1,
.page-id-3894 .cr-page-hero p,
.page-id-3909 .cr-page-hero h1,
.page-id-3909 .cr-page-hero p,
.page-id-3919 .cr-page-hero h1,
.page-id-3919 .cr-page-hero p { max-width: 66%; }
.page-id-3513 .cr-page-hero__inner::after,
.page-id-3826 .cr-page-hero__inner::after,
.page-id-3837 .cr-page-hero__inner::after,
.page-id-3843 .cr-page-hero__inner::after,
.page-id-3852 .cr-page-hero__inner::after,
.page-id-3868 .cr-page-hero__inner::after,
.page-id-3877 .cr-page-hero__inner::after,
.page-id-3894 .cr-page-hero__inner::after,
.page-id-3909 .cr-page-hero__inner::after { content: ""; position: absolute; z-index: 0; right: 25px; bottom: -17px; width: 325px; height: 182px; opacity: .34; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 220' fill='none' stroke='%232d686d' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='166' y='40' width='78' height='105' rx='39' stroke-width='7'/%3E%3Cpath d='M142 111v5c0 35 28 62 63 62s63-27 63-62v-5M205 178v25M172 203h66' stroke-width='7'/%3E%3Cpath d='M112 77c-22 20-22 54 0 74M298 77c22 20 22 54 0 74M80 56c-35 34-35 90 0 124M330 56c35 34 35 90 0 124' stroke-width='4' opacity='.62'/%3E%3Ccircle cx='205' cy='111' r='98' stroke-width='2' opacity='.23'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
.page-id-3919 .cr-page-hero__inner::after { content: ""; position: absolute; z-index: 0; right: 25px; bottom: -17px; width: 325px; height: 182px; opacity: .34; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 430 220' fill='none' stroke='%232d686d' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='166' y='40' width='78' height='105' rx='39' stroke-width='7'/%3E%3Cpath d='M142 111v5c0 35 28 62 63 62s63-27 63-62v-5M205 178v25M172 203h66' stroke-width='7'/%3E%3Cpath d='M112 77c-22 20-22 54 0 74M298 77c22 20 22 54 0 74M80 56c-35 34-35 90 0 124M330 56c35 34 35 90 0 124' stroke-width='4' opacity='.62'/%3E%3Ccircle cx='205' cy='111' r='98' stroke-width='2' opacity='.23'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
.page-id-3513 .cr-page-hero__inner > *,
.page-id-3826 .cr-page-hero__inner > *,
.page-id-3837 .cr-page-hero__inner > *,
.page-id-3843 .cr-page-hero__inner > *,
.page-id-3852 .cr-page-hero__inner > *,
.page-id-3868 .cr-page-hero__inner > *,
.page-id-3877 .cr-page-hero__inner > *,
.page-id-3894 .cr-page-hero__inner > *,
.page-id-3909 .cr-page-hero__inner > *,
.page-id-3919 .cr-page-hero__inner > * { position: relative; z-index: 1; }
.cr-live-card { scroll-margin-top: 24px; }
.cr-live-directory .cr-restaurant-sidebar__head { background: #eaf3f3; }
.cr-live-directory .cr-restaurant-sidebar__head > span,
.cr-live-directory .cr-restaurant-sidebar__business,
.entry-content .cr-live-directory .cr-restaurant-details { background: #2d686d; }
.cr-live-directory .cr-restaurant-sidebar__head strong,
.cr-live-directory .cr-restaurant-results-head span,
.cr-live-directory .cr-restaurant-highlights strong { color: #2d686d; }
.entry-content .cr-live-directory .cr-restaurant-sidebar__group a.is-current { background: #2d686d; }
.cr-live-directory .cr-listing-card--verified { border-color: #cbdfe0; }
.cr-live-directory .cr-restaurant-directory-results .cr-listing-card--verified > h2 { border-bottom-color: #cbdfe0; border-left-color: #2d686d; background: linear-gradient(90deg,#dceced,#f3f8f8); color: var(--cr-ink); }
.cr-live-directory .cr-restaurant-facts li { background: #e8f2f2; color: #285c61; }
.cr-live-directory .cr-restaurant-highlights > div { border-color: #d9e7e8; background: #f8fbfb; }
.cr-live-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-live-card__visual { min-height: 210px; background-color: #dcebec; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 180' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='133' y='31' width='54' height='78' rx='27' stroke-width='7'/%3E%3Cpath d='M114 86v4c0 26 20 46 46 46s46-20 46-46v-4M160 136v22M136 158h48' stroke-width='7'/%3E%3Cpath d='M88 59c-16 16-16 42 0 58M232 59c16 16 16 42 0 58M66 43c-27 26-27 70 0 96M254 43c27 26 27 70 0 96' stroke-width='4' stroke-opacity='.78'/%3E%3Ccircle cx='160' cy='90' r='70' stroke-width='2' stroke-opacity='.18'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(45,104,109,.97),rgba(70,139,143,.82)); background-position: center; background-repeat: no-repeat; background-size: contain,cover; }
.cr-live-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-live-card__visual::before { display: none; }
.cr-live-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-live-card__visual::after { content: "Immagine illustrativa"; display: block; width: auto; height: auto; padding: 5px 8px; border-radius: 999px; background: rgba(24,67,71,.86); transform: none; }
.cr-club-guide { display: grid; gap: 8px; margin: 0 0 26px; padding: 22px 24px; border: 1px solid #d8cfe0; border-radius: 15px; background: linear-gradient(135deg,#f7f3f8,#fff); box-shadow: 0 8px 24px rgba(63,40,72,.06); }
.cr-club-guide > span { color: #70456f; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.entry-content .cr-club-guide h2 { margin: 0; color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.35rem; }
.cr-club-guide p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.68; }
.cr-club-guide__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 8px; }
.cr-club-guide__grid > div { display: grid; align-content: start; gap: 6px; padding: 15px; border: 1px solid #e4dce8; border-radius: 11px; background: rgba(255,255,255,.84); }
.cr-club-guide__grid strong { color: #684068; font-family: Georgia,serif; font-size: .84rem; }
.cr-club-guide__grid span { color: var(--cr-muted); font-size: .72rem; line-height: 1.55; }
.cr-club-guide__note { margin-top: 4px !important; padding: 12px 14px; border-left: 3px solid #bd6f57; background: #f3edf4; }
.page-id-3464 .cr-page-hero h1,
.page-id-3464 .cr-page-hero p,
.page-id-3777 .cr-page-hero h1,
.page-id-3777 .cr-page-hero p,
.page-id-3782 .cr-page-hero h1,
.page-id-3782 .cr-page-hero p,
.page-id-3787 .cr-page-hero h1,
.page-id-3787 .cr-page-hero p,
.page-id-3796 .cr-page-hero h1,
.page-id-3796 .cr-page-hero p,
.page-id-3801 .cr-page-hero h1,
.page-id-3801 .cr-page-hero p,
.page-id-3806 .cr-page-hero h1,
.page-id-3806 .cr-page-hero p,
.page-id-3811 .cr-page-hero h1,
.page-id-3811 .cr-page-hero p,
.page-id-3792 .cr-page-hero h1,
.page-id-3792 .cr-page-hero p { max-width: 66%; }
.page-id-3464 .cr-page-hero__inner::after,
.page-id-3777 .cr-page-hero__inner::after,
.page-id-3782 .cr-page-hero__inner::after,
.page-id-3787 .cr-page-hero__inner::after,
.page-id-3796 .cr-page-hero__inner::after,
.page-id-3801 .cr-page-hero__inner::after,
.page-id-3806 .cr-page-hero__inner::after,
.page-id-3811 .cr-page-hero__inner::after,
.page-id-3792 .cr-page-hero__inner::after { content: ""; position: absolute; z-index: 0; right: 28px; bottom: -13px; width: 310px; height: 176px; opacity: .42; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 220' fill='none' stroke='%2370456f' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M200 18v23M174 25l10 20M226 25l-10 20M200 45c-47 0-85 38-85 85s38 85 85 85 85-38 85-85-38-85-85-85Z' stroke-width='5'/%3E%3Cpath d='M121 104h158M118 133h164M129 162h142M147 75h106M200 46v168M164 52c-20 43-20 113 0 156M236 52c20 43 20 113 0 156' stroke-width='3' opacity='.7'/%3E%3Cpath d='M72 72v82M48 91v44M328 72v82M352 91v44' stroke-width='7'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: contain; pointer-events: none; }
.page-id-3464 .cr-page-hero__inner > *,
.page-id-3777 .cr-page-hero__inner > *,
.page-id-3782 .cr-page-hero__inner > *,
.page-id-3787 .cr-page-hero__inner > *,
.page-id-3796 .cr-page-hero__inner > *,
.page-id-3801 .cr-page-hero__inner > *,
.page-id-3806 .cr-page-hero__inner > *,
.page-id-3811 .cr-page-hero__inner > *,
.page-id-3792 .cr-page-hero__inner > * { position: relative; z-index: 1; }
.cr-club-card { scroll-margin-top: 24px; }
.cr-club-directory .cr-restaurant-sidebar__head { background: #f0e8f2; }
.cr-club-directory .cr-restaurant-sidebar__head > span,
.cr-club-directory .cr-restaurant-sidebar__business,
.entry-content .cr-club-directory .cr-restaurant-details { background: #70456f; }
.cr-club-directory .cr-restaurant-sidebar__head strong,
.cr-club-directory .cr-restaurant-results-head span,
.cr-club-directory .cr-restaurant-highlights strong { color: #70456f; }
.entry-content .cr-club-directory .cr-restaurant-sidebar__group a.is-current { background: #70456f; }
.cr-club-directory .cr-listing-card--verified { border-color: #dccfe1; }
.cr-club-directory .cr-restaurant-directory-results .cr-listing-card--verified > h2 { border-bottom-color: #dccfe1; border-left-color: #70456f; background: linear-gradient(90deg,#eadfec,#f8f4f8); color: var(--cr-ink); }
.cr-club-directory .cr-restaurant-facts li { background: #f0e8f2; color: #633d63; }
.cr-club-directory .cr-restaurant-highlights > div { border-color: #e6dce9; background: #fcf9fc; }
.cr-club-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-club-card__visual { min-height: 210px; background-color: #5f3b63; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 180' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M160 13v18M140 18l8 16M180 18l-8 16M160 34c-39 0-70 31-70 70s31 70 70 70 70-31 70-70-31-70-70-70Z' stroke-width='5'/%3E%3Cpath d='M95 83h130M90 106h140M99 130h122M116 58h88M160 35v138M131 40c-17 36-17 93 0 128M189 40c17 36 17 93 0 128' stroke-width='3' stroke-opacity='.75'/%3E%3Cpath d='M55 61v78M34 82v36M265 61v78M286 82v36' stroke-width='7'/%3E%3C/svg%3E"),linear-gradient(135deg,rgba(70,38,73,.98),rgba(132,75,125,.84)); background-position: center; background-repeat: no-repeat; background-size: contain,cover; }
.cr-club-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-club-card__visual::before { display: none; }
.cr-club-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-club-card__visual::after { content: "Immagine illustrativa"; display: block; width: auto; height: auto; padding: 5px 8px; border-radius: 999px; background: rgba(48,24,51,.87); transform: none; }

@media (max-width: 760px) {
  .cr-fitness-guide__grid { grid-template-columns: 1fr; }
  .page-id-3612 .cr-page-hero h1,
  .page-id-3612 .cr-page-hero p { max-width: 100%; }
  .page-id-3612 .cr-page-hero__inner::after { display: none; }
  .cr-dance-guide__grid { grid-template-columns: 1fr; }
  .page-id-3617 .cr-page-hero h1,
  .page-id-3617 .cr-page-hero p { max-width: 100%; }
  .page-id-3617 .cr-page-hero__inner::after { display: none; }
  .cr-skating-guide__grid { grid-template-columns: 1fr; }
  .page-id-3607 .cr-page-hero h1,
  .page-id-3607 .cr-page-hero p { max-width: 100%; }
  .page-id-3607 .cr-page-hero__inner::after { display: none; }
  .cr-games-guide__grid { grid-template-columns: 1fr; }
  .page-id-3537 .cr-page-hero h1,
  .page-id-3537 .cr-page-hero p { max-width: 100%; }
  .page-id-3537 .cr-page-hero__inner::after { display: none; }
  .cr-books-guide__grid { grid-template-columns: 1fr; }
  .page-id-3638 .cr-page-hero h1,
  .page-id-3638 .cr-page-hero p { max-width: 100%; }
  .page-id-3638 .cr-page-hero__inner::after { display: none; }
  .cr-comics-guide__grid { grid-template-columns: 1fr; }
  .page-id-3633 .cr-page-hero h1,
  .page-id-3633 .cr-page-hero p { max-width: 100%; }
  .page-id-3633 .cr-page-hero__inner::after { display: none; }
  .cr-live-guide__grid { grid-template-columns: 1fr; }
  .cr-club-guide__grid { grid-template-columns: 1fr; }
  .page-id-3513 .cr-page-hero h1,
  .page-id-3513 .cr-page-hero p,
  .page-id-3826 .cr-page-hero h1,
  .page-id-3826 .cr-page-hero p,
  .page-id-3837 .cr-page-hero h1,
  .page-id-3837 .cr-page-hero p,
  .page-id-3843 .cr-page-hero h1,
  .page-id-3843 .cr-page-hero p,
  .page-id-3852 .cr-page-hero h1,
  .page-id-3852 .cr-page-hero p,
  .page-id-3868 .cr-page-hero h1,
  .page-id-3868 .cr-page-hero p,
  .page-id-3877 .cr-page-hero h1,
  .page-id-3877 .cr-page-hero p,
  .page-id-3894 .cr-page-hero h1,
  .page-id-3894 .cr-page-hero p,
  .page-id-3909 .cr-page-hero h1,
  .page-id-3909 .cr-page-hero p,
  .page-id-3919 .cr-page-hero h1,
  .page-id-3919 .cr-page-hero p { max-width: 100%; }
  .page-id-3464 .cr-page-hero h1,
  .page-id-3464 .cr-page-hero p,
  .page-id-3777 .cr-page-hero h1,
  .page-id-3777 .cr-page-hero p,
  .page-id-3782 .cr-page-hero h1,
  .page-id-3782 .cr-page-hero p,
  .page-id-3787 .cr-page-hero h1,
  .page-id-3787 .cr-page-hero p,
  .page-id-3796 .cr-page-hero h1,
  .page-id-3796 .cr-page-hero p,
  .page-id-3801 .cr-page-hero h1,
  .page-id-3801 .cr-page-hero p,
  .page-id-3806 .cr-page-hero h1,
  .page-id-3806 .cr-page-hero p,
  .page-id-3811 .cr-page-hero h1,
  .page-id-3811 .cr-page-hero p,
  .page-id-3792 .cr-page-hero h1,
  .page-id-3792 .cr-page-hero p { max-width: 100%; }
  .page-id-3513 .cr-page-hero__inner::after,
  .page-id-3826 .cr-page-hero__inner::after,
  .page-id-3837 .cr-page-hero__inner::after,
  .page-id-3843 .cr-page-hero__inner::after,
  .page-id-3852 .cr-page-hero__inner::after,
  .page-id-3868 .cr-page-hero__inner::after,
  .page-id-3877 .cr-page-hero__inner::after,
  .page-id-3894 .cr-page-hero__inner::after,
  .page-id-3909 .cr-page-hero__inner::after,
  .page-id-3919 .cr-page-hero__inner::after { display: none; }
  .page-id-3464 .cr-page-hero__inner::after,
  .page-id-3777 .cr-page-hero__inner::after,
  .page-id-3782 .cr-page-hero__inner::after,
  .page-id-3787 .cr-page-hero__inner::after,
  .page-id-3796 .cr-page-hero__inner::after,
  .page-id-3801 .cr-page-hero__inner::after,
  .page-id-3806 .cr-page-hero__inner::after,
  .page-id-3811 .cr-page-hero__inner::after,
  .page-id-3792 .cr-page-hero__inner::after { display: none; }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cr-paper);
  color: var(--cr-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, select { font: inherit; }
.cr-container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.cr-eyebrow { color: var(--cr-terracotta); font-size: .76rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.cr-section { padding: 78px 0; }
.cr-section--cream { background: var(--cr-cream); }
.cr-section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 34px; }
.cr-section-head h2 { max-width: 720px; margin: 8px 0 0; font-family: Georgia, serif; font-size: clamp(1.9rem, 3.5vw, 3rem); line-height: 1.07; }
.cr-link { color: var(--cr-burgundy); font-weight: 750; white-space: nowrap; }
.cr-link:hover { color: var(--cr-terracotta); }

.cr-topbar { background: var(--cr-burgundy-dark); color: #fff; font-size: .8rem; }
.cr-topbar .cr-container { display: flex; justify-content: space-between; gap: 24px; padding-block: 8px; }
.cr-topbar a { color: #f5d8be; font-weight: 700; }
.cr-header { position: relative; z-index: 20; background: rgba(255,253,249,.96); border-bottom: 1px solid var(--cr-line); }
.cr-header__inner { min-height: 78px; display: flex; align-items: center; justify-content: flex-start; gap: 24px; }
.cr-brand { display: inline-flex; align-items: center; padding: 3px 0; }
.cr-brand__text { color: var(--cr-ink); font-family: Georgia, serif; font-size: 1.62rem; font-weight: 700; letter-spacing: -.045em; }
.cr-brand__lens { position: relative; display: inline-grid; width: .86em; height: .86em; margin: 0 .06em; place-items: center; border: .1em solid var(--cr-terracotta); border-radius: 50%; color: var(--cr-burgundy); font-size: 1.04em; line-height: .7; transform: translateY(.05em) rotate(-7deg); }
.cr-brand__lens::after { content: ""; position: absolute; right: -.28em; bottom: -.2em; width: .34em; height: .1em; border-radius: 99px; background: var(--cr-terracotta); transform: rotate(45deg); transform-origin: left center; }
.cr-nav { flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: 8px; font-size: .86rem; font-weight: 700; }
.cr-nav a { white-space: nowrap; }
.cr-nav > a:not(.cr-nav__cta) { padding: 8px 12px; border: 1px solid #eadbd2; border-radius: 999px; background: #fffaf5; color: #49362f; transition: color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease; }
.cr-nav > a:not(.cr-nav__cta):hover { border-color: #dfb69f; background: #fff0e3; color: var(--cr-burgundy); transform: translateY(-1px); }
.cr-nav__cta { padding: 10px 16px; border: 1px solid var(--cr-burgundy); border-radius: 999px; color: var(--cr-burgundy); transition: color .2s ease,background .2s ease,transform .2s ease; }
.cr-nav__cta:hover { background: var(--cr-burgundy); color: #fff; transform: translateY(-1px); }
.cr-mega { position: relative; flex: 0 0 auto; }
.cr-mega__toggle { display: inline-flex; align-items: center; gap: 7px; padding: 9px 13px; border: 1px solid #e7c4b3; border-radius: 999px; background: #fff5ea; color: var(--cr-burgundy); font-weight: 800; cursor: pointer; transition: background .2s ease,border-color .2s ease,transform .2s ease; }
.cr-mega__toggle:hover { border-color: var(--cr-terracotta); background: #ffead7; transform: translateY(-1px); }
.cr-mega__icon { color: var(--cr-terracotta); font-size: 1.05rem; line-height: 1; }
.cr-mega__chevron { color: var(--cr-terracotta); font-size: 1rem; transition: transform .2s ease; }
.cr-mega.is-open .cr-mega__chevron { transform: rotate(180deg); }
.cr-mega__panel { position: absolute; top: calc(100% + 20px); left: 0; width: min(900px,calc(100vw - 220px)); max-height: calc(100dvh - 132px); overflow-y: auto; overscroll-behavior: contain; padding: 22px; border: 1px solid var(--cr-line); border-radius: 18px; background: #fffdfa; box-shadow: 0 24px 70px rgba(47,25,20,.18); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .18s ease,transform .18s ease,visibility .18s; }
.cr-mega.is-open .cr-mega__panel { opacity: 1; visibility: visible; transform: translateY(0); }
.cr-mega__intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 15px; padding-bottom: 13px; border-bottom: 1px solid var(--cr-line); }
.cr-mega__intro strong { color: var(--cr-burgundy); font-family: Georgia,serif; font-size: 1.15rem; }
.cr-mega__intro a { color: var(--cr-terracotta); font-size: .78rem; }
.cr-mega__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px 28px; }
.cr-mega__grid > div { display: flex; flex-direction: column; }
.cr-mega__grid > div > a { flex: 1; display: flex; align-items: center; }
.cr-mega__business { margin-top: 12px; }
.cr-mega__grid h3 { margin: 0 0 7px; color: var(--cr-burgundy); font-family: Georgia,serif; font-size: .94rem; }
.cr-mega__grid h3 .cr-mega__section-link { display: inline; padding: 0; color: inherit; font: inherit; }
.cr-mega__grid h3 .cr-mega__section-link:hover { color: var(--cr-terracotta); }
.cr-mega__grid a { display: block; padding: 4px 0; color: var(--cr-muted); font-size: .75rem; font-weight: 650; line-height: 1.35; }
.cr-mega__grid a:hover { color: var(--cr-terracotta); }
.cr-menu-toggle { display: none; margin-left: auto; border: 0; background: transparent; font-weight: 800; }

@media (max-width: 1100px) {
  html.cr-mega-open, html.cr-mega-open body { overflow: hidden; }
  .cr-nav { display: none; }
  .cr-nav.is-open { position: absolute; top: 100%; left: 20px; right: 20px; display: grid; gap: 4px; padding: 16px; border: 1px solid var(--cr-line); border-radius: 15px; background: #fff; box-shadow: var(--cr-shadow); }
  .cr-nav.is-open a { padding: 9px 10px; }
  .cr-menu-toggle { display: block; }
  .cr-mega__panel { position: fixed; top: 112px; left: 20px; width: calc(100vw - 40px); }
}

.cr-hero { position: relative; min-height: 560px; display: grid; align-items: center; overflow: hidden; background: #3d2019; color: #fff; }
.cr-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(32,15,13,.86) 0%, rgba(51,23,18,.7) 36%, rgba(45,20,16,.14) 72%), url('assets/images/cercaroma-hero.png') center/cover no-repeat; }
.cr-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 130px; background: linear-gradient(transparent, rgba(25,12,10,.38)); }
.cr-hero__content { position: relative; z-index: 2; max-width: 660px; padding: 76px 0 88px; }
.cr-hero .cr-eyebrow { color: #f4be78; }
.cr-hero h1 { margin: 12px 0 18px; font-family: Georgia, serif; font-size: clamp(2.8rem, 6vw, 5.05rem); line-height: .98; letter-spacing: -.05em; }
.cr-hero p { max-width: 590px; margin: 0 0 30px; color: rgba(255,255,255,.88); font-size: clamp(1rem, 2vw, 1.25rem); }
.cr-search { display: grid; grid-template-columns: 1fr 170px auto; gap: 8px; padding: 8px; background: #fff; border-radius: 16px; box-shadow: var(--cr-shadow); }
.cr-search input, .cr-search select { min-width: 0; border: 0; outline: 0; padding: 13px 14px; color: var(--cr-ink); background: #fff; }
.cr-search select { border-left: 1px solid var(--cr-line); }
.cr-search button { border: 0; border-radius: 11px; padding: 13px 22px; background: var(--cr-burgundy); color: #fff; font-weight: 800; cursor: pointer; }
.cr-search button:hover { background: var(--cr-terracotta); }
.cr-hero__chips { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 18px; }
.cr-hero__chips a { padding: 7px 12px; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; background: rgba(20,10,8,.2); font-size: .8rem; font-weight: 700; backdrop-filter: blur(8px); }
.cr-hero__chips a:hover { background: rgba(255,255,255,.18); }

.cr-category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.cr-category { display: grid; grid-template-columns: 118px minmax(0,1fr); min-height: 152px; overflow: hidden; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); background: rgba(255,255,255,.78); color: var(--cr-ink); box-shadow: 0 6px 22px rgba(61,35,25,.07); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.cr-category:hover { transform: translateY(-3px); border-color: #dcc6b7; box-shadow: 0 12px 28px rgba(61,35,25,.11); }
.cr-category__visual { min-height: 100%; background-color: #775044; background-image: var(--category-image); background-position: var(--category-position, center); background-size: cover; background-repeat: no-repeat; }
.cr-category__body { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 17px 18px; }
.cr-category h3 { margin: 0; font-family: Georgia, serif; font-size: 1.28rem; line-height: 1.08; }
.cr-category p { margin: 6px 0 10px; color: var(--cr-muted); font-size: .79rem; line-height: 1.4; }
.cr-category__cta { color: var(--cr-burgundy); font-size: .74rem; font-weight: 850; }

.cr-neighborhoods { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); grid-auto-rows: 170px; gap: 14px; }
.cr-place { position: relative; display: flex; align-items: end; overflow: hidden; padding: 18px; border-radius: 16px; background: linear-gradient(135deg, var(--shade1), var(--shade2)); color: #fff; }
.cr-place::after { content: ""; position: absolute; inset: 0; background: linear-gradient(transparent 30%, rgba(30,13,12,.7)); }
.cr-place__pattern { position: absolute; inset: 0; opacity: .1; background-image: radial-gradient(circle at 20% 25%, transparent 0 18%, #fff 19% 20%, transparent 21%), radial-gradient(circle at 75% 65%, transparent 0 24%, #fff 25% 26%, transparent 27%); }
.cr-place__icon { position: absolute; z-index: 1; top: 15px; right: 15px; width: clamp(56px, 6vw, 74px); height: auto; fill: none; stroke: rgba(255,255,255,.66); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; opacity: .82; transition: transform .25s ease, opacity .25s ease; }
.cr-place:hover .cr-place__icon { transform: translateY(-3px) rotate(1deg); opacity: 1; }
.cr-place div:last-child { position: relative; z-index: 2; }
.cr-place h3 { margin: 0; font-family: Georgia, serif; font-size: 1.28rem; line-height: 1.08; }
.cr-place p { margin: 5px 0 0; color: rgba(255,255,255,.82); font-size: .78rem; line-height: 1.35; }
.cr-place--pending { cursor: default; }
.cr-place--pending::after { background: linear-gradient(transparent 20%, rgba(30,13,12,.73)); }
.cr-place__status { position: absolute; z-index: 2; top: 17px; left: 17px; padding: 5px 8px; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; background: rgba(26,24,28,.22); color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }

.cr-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.cr-card { overflow: hidden; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); background: #fff; color: var(--cr-ink); text-decoration: none; }
.cr-card__visual { position: relative; aspect-ratio: 16/10; display: flex; align-items: end; overflow: hidden; padding: 22px; background-color: #7e3040; background-position: center; background-size: cover; color: #fff; }
.cr-card__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(28,15,12,.04) 25%,rgba(28,15,12,.78) 100%); }
.cr-card__visual span { position: relative; z-index: 1; font-family: Georgia,serif; font-size: 1.7rem; font-weight: 700; line-height: 1.05; text-shadow: 0 2px 14px rgba(0,0,0,.34); }
.cr-card__visual--food { background-image: url('assets/images/category-mangiare.webp'); }
.cr-card__visual--weekend { background-image: url('assets/images/category-cose-da-fare.webp'); }
.cr-card__visual--night { background-image: url('assets/images/category-uscire.webp'); }
.cr-card__body { padding: 22px; }
.cr-card__meta { display: flex; justify-content: space-between; gap: 12px; color: var(--cr-terracotta); font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.cr-card h3 { margin: 9px 0 8px; font-family: Georgia, serif; font-size: 1.45rem; line-height: 1.2; }
.cr-card p { margin: 0; color: var(--cr-muted); font-size: .9rem; }

.cr-guide-showcase { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: 16px; }
.cr-guide-showcase__featured, .cr-guide-tile { overflow: hidden; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); background: #fff; color: var(--cr-ink); text-decoration: none; box-shadow: 0 8px 28px rgba(61,35,25,.06); transition: transform .2s ease, box-shadow .2s ease; }
.cr-guide-showcase__featured:hover, .cr-guide-tile:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(61,35,25,.12); }
.cr-guide-showcase__featured { display: grid; grid-template-columns: minmax(215px,.84fr) minmax(0,1.16fr); min-height: 344px; }
.cr-guide-showcase__image, .cr-guide-tile__image { position: relative; display: flex; align-items: flex-end; min-height: 100%; padding: 18px; background: #56312d var(--guide-image) center/cover no-repeat; color: #fff; }
.cr-guide-showcase__image::after, .cr-guide-tile__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(20,14,17,.02) 35%,rgba(20,14,17,.74) 100%); }
.cr-guide-showcase__image > span, .cr-guide-tile__image > span { position: relative; z-index: 1; padding: 6px 9px; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; background: rgba(21,18,24,.22); font-size: .7rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.cr-guide-showcase__body { display: flex; flex-direction: column; justify-content: center; padding: 26px; }
.cr-guide-showcase h3 { margin: 10px 0 10px; font-family: Georgia,serif; line-height: 1.15; }
.cr-guide-showcase__featured h3 { font-size: clamp(1.55rem,2.2vw,1.98rem); }
.cr-guide-showcase p { margin: 0; color: var(--cr-muted); line-height: 1.55; }
.cr-guide-showcase strong { display: inline-flex; gap: 7px; margin-top: 18px; color: var(--cr-burgundy); font-size: .79rem; }
.cr-guide-showcase__compact { display: grid; grid-template-columns: 1fr; gap: 14px; }
.cr-guide-tile { display: grid; grid-template-columns: 130px minmax(0,1fr); min-height: 165px; }
.cr-guide-tile > div:last-child { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 14px 16px; }
.cr-guide-tile h3 { margin: 7px 0; font-size: 1.1rem; }
.cr-guide-tile p { font-size: .75rem; line-height: 1.4; }
.cr-guide-tile strong { margin-top: 6px; font-size: .72rem; }

.cr-guides-index { background: #fffdf9; }
.cr-guides-index__hero { overflow: hidden; padding: 32px 0 76px; background: linear-gradient(135deg,#251d3d 0%,#48294b 52%,#6f3447 100%); color: #fff; }
.cr-guides-index__hero .cr-breadcrumbs { color: rgba(255,255,255,.7); }
.cr-guides-index__hero .cr-breadcrumbs a { color: #fff; }
.cr-guides-index__hero-grid { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(420px,.98fr); align-items: center; gap: 62px; padding-top: 45px; }
.cr-guides-index__hero-copy .cr-eyebrow { color: #f6c36e; }
.cr-guides-index__hero-copy { min-width: 0; }
.cr-guides-index__hero-copy h1 { max-width: 760px; margin: 13px 0 23px; font-family: Georgia,serif; font-size: clamp(2.8rem,5.2vw,5rem); line-height: .98; letter-spacing: -.045em; }
.cr-guides-index__title-lead { white-space: nowrap; }
.cr-guides-index__hero-copy > p { max-width: 690px; margin: 0; color: rgba(255,255,255,.82); font-size: 1.08rem; line-height: 1.75; }
.cr-guides-index__facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 31px; }
.cr-guides-index__facts span { padding: 14px 15px; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.68); font-size: .72rem; line-height: 1.35; }
.cr-guides-index__facts strong { display: block; margin-bottom: 3px; color: #fff; font-size: .82rem; }
.cr-guides-index__mosaic { display: grid; grid-template-columns: 1.16fr .84fr; grid-template-rows: repeat(2,190px); gap: 13px; transform: rotate(1.3deg); }
.cr-guides-index__mosaic a { position: relative; display: flex; align-items: end; overflow: hidden; padding: 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: #2f2340 var(--guide-cover) center/cover no-repeat; color: #fff; box-shadow: 0 20px 55px rgba(14,8,22,.3); }
.cr-guides-index__mosaic a:first-child { grid-row: 1/3; }
.cr-guides-index__mosaic a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 36%,rgba(18,10,24,.72)); }
.cr-guides-index__mosaic span { position: relative; z-index: 1; padding: 7px 11px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(27,14,35,.25); font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.cr-guides-index__section-head { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(260px,.55fr); align-items: end; gap: 50px; margin-bottom: 34px; }
.cr-guides-index__section-head h2 { max-width: 780px; margin: 9px 0 0; font-family: Georgia,serif; font-size: clamp(2.15rem,4vw,3.75rem); line-height: 1.05; letter-spacing: -.03em; }
.cr-guides-index__section-head > p { margin: 0; color: var(--cr-muted); line-height: 1.7; }
.cr-guides-index__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.cr-guides-index-card { display: grid; grid-template-columns: 220px minmax(0,1fr); overflow: hidden; border: 1px solid var(--cr-line); border-radius: 22px; background: #fff; box-shadow: 0 10px 34px rgba(61,35,25,.07); }
.cr-guides-index-card--featured { grid-column: 1/-1; grid-template-columns: minmax(340px,.86fr) minmax(0,1.14fr); min-height: 390px; }
.cr-guides-index-card__visual { position: relative; display: block; min-height: 100%; overflow: hidden; background: #4b2a32; }
.cr-guides-index-card__visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(27,13,20,.03) 35%,rgba(27,13,20,.72)); }
.cr-guides-index-card__visual img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; transition: transform .35s ease; }
.cr-guides-index-card:hover .cr-guides-index-card__visual img { transform: scale(1.025); }
.cr-guides-index-card__visual > span { position: absolute; z-index: 1; left: 18px; bottom: 18px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.38); border-radius: 999px; background: rgba(32,17,30,.34); color: #fff; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.cr-guides-index-card__body { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 30px; }
.cr-guides-index-card__number { position: absolute; top: 21px; right: 24px; color: #ead8cc; font-family: Georgia,serif; font-size: 2.4rem; font-weight: 700; }
.cr-guides-index-card h3 { max-width: calc(100% - 50px); margin: 0 0 13px; font-family: Georgia,serif; font-size: 1.55rem; line-height: 1.12; }
.cr-guides-index-card--featured h3 { font-size: clamp(2rem,3.2vw,3rem); }
.cr-guides-index-card h3 a { color: var(--cr-ink); }
.cr-guides-index-card p { margin: 0; color: var(--cr-muted); line-height: 1.65; }
.cr-guides-index-card__cta { align-self: flex-start; margin-top: 21px; color: var(--cr-burgundy); font-size: .82rem; font-weight: 850; }
.cr-guides-index__principles { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.cr-guides-index__principles article { padding: 27px; border: 1px solid #ecdccc; border-radius: 19px; background: rgba(255,255,255,.72); }
.cr-guides-index__principles article > span { color: var(--cr-terracotta); font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.cr-guides-index__principles h3 { margin: 12px 0 9px; font-family: Georgia,serif; font-size: 1.45rem; }
.cr-guides-index__principles p { margin: 0; color: var(--cr-muted); line-height: 1.65; }
.cr-guides-index__zones { padding: 72px 0; background: #211a31; color: #fff; }
.cr-guides-index__zones-inner { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.8fr); align-items: center; gap: 70px; }
.cr-guides-index__zones .cr-eyebrow { color: #f6c36e; }
.cr-guides-index__zones h2 { margin: 10px 0 15px; font-family: Georgia,serif; font-size: clamp(2.2rem,4.5vw,4rem); line-height: 1; }
.cr-guides-index__zones p { max-width: 650px; margin: 0; color: rgba(255,255,255,.7); line-height: 1.7; }
.cr-guides-index__zones nav { display: flex; flex-wrap: wrap; gap: 9px; }
.cr-guides-index__zones nav a { padding: 10px 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #fff; font-size: .82rem; font-weight: 750; }
.cr-guides-index__zones nav a:hover, .cr-guides-index__zones .cr-guides-index__zones-all { border-color: #f6c36e; background: #f6c36e; color: #271a20; }

@media (max-width: 920px) {
  .cr-guides-index__hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .cr-guides-index__mosaic { grid-template-rows: repeat(2,160px); }
  .cr-guides-index__section-head { grid-template-columns: 1fr; gap: 16px; }
  .cr-guides-index-card { grid-template-columns: 180px minmax(0,1fr); }
  .cr-guides-index-card--featured { grid-template-columns: minmax(270px,.75fr) minmax(0,1.25fr); }
  .cr-guides-index__zones-inner { grid-template-columns: 1fr; gap: 32px; }
}

@media (min-width: 921px) {
  .cr-guides-index__hero-copy { padding-right: 18px; }
  .cr-guides-index__mosaic { transform: translateX(16px) rotate(1.3deg); }
}

@media (max-width: 620px) {
  .cr-guides-index__hero { padding: 22px 0 54px; }
  .cr-guides-index__hero-grid { padding-top: 30px; }
  .cr-guides-index__hero-copy h1 { font-size: 2.55rem; }
  .cr-guides-index__hero-copy > p { font-size: .96rem; }
  .cr-guides-index__facts { grid-template-columns: 1fr; }
  .cr-guides-index__mosaic { grid-template-columns: 1.2fr .8fr; grid-template-rows: repeat(2,118px); gap: 8px; transform: none; }
  .cr-guides-index__mosaic a { padding: 11px; border-radius: 15px; }
  .cr-guides-index__mosaic span { padding: 5px 7px; font-size: .59rem; }
  .cr-guides-index__section-head h2 { font-size: 2.15rem; }
  .cr-guides-index__grid { grid-template-columns: 1fr; }
  .cr-guides-index-card, .cr-guides-index-card--featured { grid-column: auto; grid-template-columns: 1fr; min-height: 0; }
  .cr-guides-index-card__visual { min-height: 210px; }
  .cr-guides-index-card__body { padding: 24px 21px 26px; }
  .cr-guides-index-card__number { top: 17px; right: 19px; font-size: 2rem; }
  .cr-guides-index-card h3, .cr-guides-index-card--featured h3 { max-width: calc(100% - 40px); font-size: 1.65rem; }
  .cr-guides-index__principles { grid-template-columns: 1fr; }
  .cr-guides-index__zones { padding: 58px 0; }
}

.cr-business { background: linear-gradient(135deg, #f5ece4, #fffaf5); color: var(--cr-ink); }
.cr-business__inner { display: block; }
.cr-business__head { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr); align-items: end; gap: 50px; margin-bottom: 24px; }
.cr-business h2 { margin: 8px 0 0; font-family: Georgia, serif; font-size: clamp(2rem, 3.7vw, 3.25rem); line-height: 1.05; }
.cr-business__head p { margin: 0; color: var(--cr-muted); line-height: 1.65; }
.cr-business .cr-eyebrow { color: var(--cr-coral); }
.cr-business__paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.cr-business-path { display: flex; flex-direction: column; min-height: 100%; padding: 26px; border: 1px solid #ead5c7; border-radius: 19px; background: #fff; box-shadow: 0 10px 28px rgba(61,35,25,.06); }
.cr-business-path--promo { border-color: #d7b09b; background: linear-gradient(145deg, #fff, #fff7ef); }
.cr-business-path__label { color: var(--cr-coral); font-size: .64rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.cr-business-path h3 { margin: 8px 0 9px; font-family: Georgia, serif; font-size: 1.5rem; }
.cr-business-path p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.6; }
.cr-business-path ul { display: grid; gap: 0; margin: 18px 0 22px; padding: 0; list-style: none; }
.cr-business-path li { padding: 9px 0; border-top: 1px solid #efe0d6; color: #5b4942; font-size: .78rem; }
.cr-business-path li::before { content: "✓"; margin-right: 9px; color: var(--cr-coral); font-weight: 900; }
.cr-business-path .cr-button { width: fit-content; min-height: 43px; margin-top: auto; padding: 10px 16px; background: var(--cr-burgundy); color: #fff; font-size: .76rem; }
.cr-business-path .cr-button--outline { border: 1px solid var(--cr-burgundy); background: #fff; color: var(--cr-burgundy); }
.cr-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 20px; border-radius: 999px; background: var(--cr-gold); color: #2c180d; font-weight: 850; }

.cr-newsletter { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 35px; padding: 35px 40px; border-radius: 24px; background: var(--cr-cream); }
.cr-newsletter h2 { margin: 0 0 4px; font-family: Georgia, serif; font-size: 2rem; }
.cr-newsletter p { margin: 0; color: var(--cr-muted); }
.cr-newsletter form { display: flex; gap: 8px; }
.cr-newsletter input { min-width: 260px; padding: 13px 16px; border: 1px solid var(--cr-line); border-radius: 999px; background: #fff; }
.cr-newsletter button { border: 0; border-radius: 999px; padding: 13px 20px; background: var(--cr-burgundy); color: #fff; font-weight: 800; }

.home .cr-hero h1 { font-size: clamp(2.65rem,5.3vw,4.45rem); }
.home .cr-section-head h2 { font-size: clamp(1.8rem,3vw,2.55rem); }
.home .cr-business h2 { font-size: clamp(2rem,3.7vw,3.25rem); }

.cr-page-hero { position: relative; overflow: hidden; padding: 55px 0 48px; background: linear-gradient(125deg, #fff2df 0%, #ffe5dc 55%, #f7d3aa 100%); border-bottom: 1px solid #f0d7c2; }
.cr-page-hero::after { content: ""; position: absolute; right: -70px; top: -105px; width: 310px; height: 310px; border: 42px solid rgba(224,100,67,.1); border-radius: 50%; }
.cr-page-hero__inner { position: relative; z-index: 1; }
.cr-page-hero h1 { max-width: 880px; margin: 8px 0 12px; font-family: Georgia, serif; font-size: clamp(2.15rem, 4.4vw, 3.65rem); line-height: 1.04; letter-spacing: -.035em; }
.cr-page-hero p { max-width: 760px; margin: 0; color: #5f4e47; font-size: 1.02rem; }
.cr-breadcrumbs { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 22px; color: #806b61; font-size: .76rem; }
.cr-breadcrumbs a:hover { color: var(--cr-burgundy); }
.cr-content { width: min(850px, calc(100% - 40px)); margin: 64px auto 90px; }
.cr-content--page { width: min(1180px, calc(100% - 40px)); }
.cr-content h1 { font-family: Georgia, serif; font-size: clamp(2.3rem, 5vw, 4rem); line-height: 1.05; }
.cr-content a { color: var(--cr-burgundy); text-decoration: underline; }
.cr-article { width: min(820px, 100%); margin-inline: auto; }
.cr-article:has(.cr-listing-grid), .cr-article:has(.cr-directory-hub), .cr-article:has(.cr-hotel-selection), .cr-article:has(.cr-hotel-hub) { width: 100%; }
.cr-article__image { margin-bottom: 32px; overflow: hidden; border-radius: var(--cr-radius); }
.entry-content { color: #352e2b; font-size: 1rem; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2, .entry-content h3, .entry-content h4 { margin: 1.6em 0 .55em; font-family: Georgia, serif; line-height: 1.15; }
.entry-content h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }
.entry-content h3 { font-size: 1.35rem; }
.entry-content img { margin-block: 24px; border-radius: 12px; }
.entry-content table { width: 100%; margin: 25px 0; border-collapse: separate; border-spacing: 0; overflow: hidden; border: 1px solid var(--cr-line); border-radius: 12px; font-size: .88rem; }
.entry-content th, .entry-content td { padding: 10px 12px; border-right: 1px solid var(--cr-line); border-bottom: 1px solid var(--cr-line); text-align: left; vertical-align: top; }
.entry-content th { background: #fff0dc; color: var(--cr-burgundy); }
.entry-content tr:nth-child(even) td { background: #fffaf4; }
.entry-content tr:last-child > * { border-bottom: 0; }
.entry-content tr > *:last-child { border-right: 0; }
.entry-content img[src*="pizzatext.png"], .entry-content img[src*="romanatext.png"], .entry-content img[src$="avanti.gif"] { display: none; }
.cr-stextbox { box-sizing: border-box; height: 294px; min-height: 294px; padding: 20px; border: 1px solid #f0cdb9; border-radius: 15px; background: linear-gradient(145deg,#fff,#fff5ea); box-shadow: 0 9px 28px rgba(85,39,26,.08); }
.cr-stextbox h3 { min-height: 2.45em; margin: 0 0 12px; color: var(--cr-burgundy); font-family: Georgia,serif; font-size: 1.18rem; }
.cr-stextbox__links { display: grid; gap: 6px; }
.cr-stextbox__links > p:empty { display: none; }
.cr-stextbox__links div { margin: 0; }
.cr-stextbox__links a { display: block; padding: 6px 9px; border-radius: 8px; text-decoration: none; font-size: .86rem; }
.cr-stextbox__links a:hover { background: #ffe8d3; }
.cr-category-intro-visual { position: relative; min-height: 280px; margin: 0 0 32px; overflow: hidden; border-radius: 20px; background: #5b2922; box-shadow: 0 16px 45px rgba(61,35,25,.12); }
.entry-content .cr-category-intro-visual img { width: 100%; height: 100%; min-height: 280px; margin: 0; border-radius: 0; aspect-ratio: 16/7; object-fit: cover; object-position: center; }
.cr-category-intro-visual--food, .cr-hotel-hub__visual { min-height: 225px; }
.entry-content .cr-category-intro-visual--food img, .entry-content .cr-hotel-hub__visual img { min-height: 225px; aspect-ratio: 16/5; }
.entry-content .cr-hotel-hub__visual img { object-position: center top; }
.cr-category-intro-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(27,13,10,.02) 30%,rgba(27,13,10,.78) 100%); }
.cr-category-intro-visual figcaption { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: grid; gap: 2px; padding: 25px 28px; color: #fff; }
.cr-category-intro-visual figcaption strong { font-family: Georgia,serif; font-size: 1.55rem; line-height: 1.1; }
.cr-category-intro-visual figcaption span { color: rgba(255,255,255,.84); font-size: .88rem; }
.cr-restaurant-hub-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 0 0 12px; }
.cr-restaurant-hub-card { display: grid; align-content: start; gap: 14px; min-width: 0; padding: 22px; border: 1px solid #f0cdb9; border-radius: 15px; background: linear-gradient(145deg,#fff,#fff5ea); box-shadow: 0 9px 28px rgba(85,39,26,.08); }
.cr-restaurant-hub-card h2 { margin: 0; color: var(--cr-burgundy); font-family: Georgia,serif; font-size: 1.2rem; }
.cr-restaurant-hub-card > p { margin: -5px 0 0; color: var(--cr-muted); font-size: .84rem; }
.cr-restaurant-hub-card__links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.entry-content .cr-restaurant-hub-card__links a { display: block; min-width: 0; padding: 8px 10px; border-radius: 8px; color: var(--cr-burgundy); font-size: .84rem; font-weight: 760; text-decoration: none; }
.entry-content .cr-restaurant-hub-card__links a:hover { background: #ffe8d3; }
.cr-restaurant-hub-card--typical { grid-column: 1/-1; }
.cr-restaurant-hub-card--typical .cr-restaurant-hub-card__links { grid-template-columns: repeat(4,minmax(0,1fr)); }
.entry-content table:has(.cr-stextbox) { display: block; border: 0; background: transparent; }
.entry-content table:has(.cr-stextbox) tbody { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.entry-content table:has(.cr-stextbox) tr { display: contents; }
.entry-content table:has(.cr-stextbox) td { display: block; width: auto; padding: 0; border: 0; background: transparent; white-space: normal; }
.entry-content table:has(.cr-stextbox) td:empty { display: none; }
.cr-listing-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; clear: both; margin: 34px 0 10px; }
.cr-zone-nav { display: flex; align-items: center; gap: 14px; margin: 0 0 24px; padding: 13px 15px; border: 1px solid #ecd2c3; border-radius: 14px; background: #fffaf4; }
.cr-zone-nav > strong { flex: 0 0 auto; color: var(--cr-burgundy); font-family: Georgia,serif; font-size: .94rem; }
.cr-zone-nav__links { display: flex; flex-wrap: wrap; gap: 7px; }
.entry-content .cr-zone-nav__links a { display: inline-flex; padding: 6px 9px; border: 1px solid #e8c5b1; border-radius: 999px; background: #fff; color: var(--cr-ink); font-size: .73rem; font-weight: 750; line-height: 1; text-decoration: none; }
.cr-zone-nav__links .is-current { display: inline-flex; padding: 6px 9px; border: 1px solid var(--cr-burgundy); border-radius: 999px; background: var(--cr-burgundy); color: #fff; font-size: .73rem; font-weight: 800; line-height: 1; }
.entry-content .cr-zone-nav__links a:hover { border-color: var(--cr-coral); color: var(--cr-burgundy); }
.cr-zone-nav + br, .cr-zone-nav + br + br { display: none; }
.cr-zone-nav ~ .cr-listing-grid { margin-top: 18px; }
.cr-hotel-search { margin: 24px 0; padding: 24px; border: 1px solid #ecd2c3; border-radius: 18px; background: linear-gradient(135deg,#fff8ef,#fce8dc); box-shadow: 0 10px 30px rgba(85,39,26,.07); }
.cr-hotel-search h2 { margin: 0 0 7px; color: var(--cr-burgundy); font-family: Georgia,serif; font-size: 1.25rem; }
.cr-hotel-search p { margin: 0 0 15px; color: var(--cr-muted); font-size: .9rem; }
.entry-content .cr-hotel-search a { display: inline-flex; padding: 10px 15px; border-radius: 999px; background: var(--cr-burgundy); color: #fff; font-size: .79rem; font-weight: 800; text-decoration: none; }
.entry-content .cr-hotel-search a:hover { background: var(--cr-coral); color: #fff; }
.entry-content .cr-page-step { display: inline-flex; align-items: center; gap: 9px; margin: 4px 6px 18px 0; padding: 9px 13px; border: 1px solid #e5bfa9; border-radius: 999px; background: #fff7ee; color: var(--cr-burgundy); text-decoration: none; box-shadow: 0 5px 16px rgba(85,39,26,.06); }
.entry-content .cr-page-step span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--cr-burgundy); color: #fff; font-size: .9rem; line-height: 1; }
.entry-content .cr-page-step strong { font-size: .76rem; font-weight: 800; }
.entry-content .cr-page-step:hover { border-color: var(--cr-coral); background: #fff; transform: translateY(-1px); }
.cr-listing-card { display: grid; grid-template-columns: 160px minmax(0,1fr); min-height: 176px; overflow: hidden; border: 1px solid var(--cr-line); border-radius: 16px; background: #fff; box-shadow: 0 10px 32px rgba(61,35,25,.08); }
.cr-listing-card__visual { position: relative; display: grid; place-items: center; overflow: hidden; background-color: #8d2140; background-position: center; background-size: cover; color: rgba(255,255,255,.74); }
.cr-listing-card__visual--food { background-image: linear-gradient(rgba(92,25,36,.25),rgba(92,25,36,.3)),url('assets/images/category-mangiare.webp'); }
.cr-listing-card__visual--sleep { background-image: linear-gradient(rgba(45,49,75,.22),rgba(45,49,75,.32)),url('assets/images/category-dormire.webp'); }
.cr-listing-card__visual--nightlife { background-image: linear-gradient(rgba(75,21,53,.25),rgba(75,21,53,.35)),url('assets/images/category-uscire.webp'); }
.cr-listing-card__visual--culture { background-image: linear-gradient(rgba(40,39,67,.2),rgba(40,39,67,.32)),url('assets/images/category-cultura.webp'); }
.cr-listing-card__visual--activity { background-image: linear-gradient(rgba(31,74,72,.2),rgba(31,74,72,.32)),url('assets/images/category-cose-da-fare.webp'); }
.cr-listing-card__visual--has-image { place-items: start center; padding: 18px 10px 10px; background: #f7eee7; }
.entry-content .cr-listing-card__visual img { width: auto; max-width: 100%; height: auto; max-height: 100%; min-height: 0; margin: 0; border-radius: 7px; object-fit: contain; }
.cr-listing-card__visual::before { content: ""; width: 42px; height: 42px; border: 3px solid rgba(255,255,255,.72); border-radius: 50%; box-shadow: inset 0 0 0 7px rgba(255,255,255,.08); }
.cr-listing-card__visual::after { content: ""; position: absolute; width: 34px; height: 3px; border-radius: 9px; background: rgba(255,255,255,.72); transform: rotate(-40deg) translate(-15px,21px); }
.cr-listing-card__visual--has-image::before, .cr-listing-card__visual--has-image::after { display: none; }
.cr-listing-card__body { padding: 18px 18px 16px; }
.cr-listing-card h2 { margin: 0 0 8px; color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.25rem; }
.cr-listing-card p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--cr-muted); font-size: .86rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.cr-listing-card address { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--cr-line); color: var(--cr-burgundy); font-size: .78rem; font-style: normal; font-weight: 750; }
.cr-directory-hub__intro { max-width: 720px; margin: 0 0 22px; color: var(--cr-muted); font-size: .98rem; }
.cr-directory-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.cr-directory-link { display: flex; align-items: center; justify-content: space-between; min-height: 62px; padding: 14px 16px; border: 1px solid #f0cdb9; border-radius: 13px; background: linear-gradient(145deg,#fff,#fff7ee); color: var(--cr-ink); text-decoration: none; box-shadow: 0 7px 22px rgba(85,39,26,.06); }
.cr-directory-link span { font-size: .87rem; font-weight: 750; line-height: 1.3; }
.cr-directory-link b { color: var(--cr-coral); font-size: 1.15rem; transition: transform .2s ease; }
.cr-directory-link:hover { border-color: var(--cr-coral); color: var(--cr-burgundy); }
.cr-directory-link:hover b { transform: translateX(3px); }
.cr-hotel-hub__groups { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; align-items: stretch; }
.cr-hotel-hub__group { display: flex; flex-direction: column; padding: 24px; border: 1px solid #efcfbd; border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(85,39,26,.07); }
.cr-hotel-hub__group h2 { margin: 6px 0 4px; font-family: Georgia,serif; font-size: 1.4rem; line-height: 1.1; }
.cr-hotel-hub__group > p { min-height: 58px; margin: 0 0 8px; color: var(--cr-muted); font-size: .88rem; line-height: 1.42; }
.cr-hotel-hub__group > p:empty { display: none; }
.cr-hotel-hub__group nav { display: grid; grid-auto-rows: 1fr; flex: 1; margin-top: 0; }
.cr-hotel-hub__group a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 8px 2px; border-top: 1px solid #f3dfd2; color: var(--cr-ink); font-size: .88rem; font-weight: 750; text-decoration: none; }
.cr-hotel-hub__group a b { color: var(--cr-coral); font-size: 1.05rem; transition: transform .2s ease; }
.cr-hotel-hub__group a:hover { color: var(--cr-burgundy); }
.cr-hotel-hub__group a:hover b { transform: translateX(3px); }
.cr-bnb-hub__visual img { object-position: center; }
.cr-bnb-hub__guide { margin: 18px 0; padding: 26px 28px; border: 1px solid #ead8ca; border-radius: 18px; background: linear-gradient(135deg,#fffaf5,#f7ede3); }
.cr-bnb-hub__guide-copy { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; }
.cr-bnb-hub__guide-copy > .cr-eyebrow, .cr-bnb-hub__guide-copy > h2 { grid-column: 1 / -1; }
.cr-bnb-hub__guide-copy h2 { margin: 7px 0 12px; font-family: Georgia,serif; font-size: clamp(1.55rem,2.2vw,2rem); line-height: 1.1; }
.cr-bnb-hub__guide-copy p { margin: 0 0 11px; color: var(--cr-muted); font-size: .94rem; line-height: 1.62; }
.cr-bnb-hub__guide-copy p:last-child { margin-bottom: 0; }
.cr-bnb-hub__checks { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 15px; }
.cr-bnb-hub__checks article { display: flex; flex-direction: column; gap: 5px; min-height: 100px; padding: 14px; border: 1px solid #ecdccf; border-radius: 13px; background: rgba(255,255,255,.82); }
.cr-bnb-hub__checks strong { color: var(--cr-burgundy); font-size: .87rem; }
.cr-bnb-hub__checks span { color: var(--cr-muted); font-size: .78rem; line-height: 1.45; }
.cr-bnb-hub__note { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 18px; padding: 20px 24px; border: 1px solid #ead8ca; border-radius: 16px; background: #fbf5ee; }
.cr-bnb-hub__note div { display: grid; gap: 4px; }
.cr-bnb-hub__note strong { font-family: Georgia,serif; font-size: 1.08rem; color: var(--cr-ink); }
.cr-bnb-hub__note span { max-width: 760px; color: var(--cr-muted); font-size: .88rem; line-height: 1.5; }
.cr-bnb-hub__note a { flex: 0 0 auto; color: var(--cr-burgundy); font-size: .86rem; font-weight: 800; text-decoration: none; }
.cr-bnb-hub__note a:hover { color: var(--cr-coral); }
.cr-hub-guide { margin: 18px 0; padding: 26px 28px; border: 1px solid #ead8ca; border-radius: 18px; background: linear-gradient(135deg,#fffaf5,#f7ede3); }
.cr-hub-guide__copy { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; }
.cr-hub-guide__copy > .cr-eyebrow, .cr-hub-guide__copy > h2 { grid-column: 1 / -1; }
.cr-hub-guide__copy h2 { margin: 7px 0 12px; font-family: Georgia,serif; font-size: clamp(1.55rem,2.2vw,2rem); line-height: 1.1; }
.cr-hub-guide__copy p { margin: 0 0 11px; color: var(--cr-muted); font-size: .94rem; line-height: 1.62; }
.cr-hub-guide__copy p:last-child { margin-bottom: 0; }
.cr-hub-guide__checks { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 15px; }
.cr-hub-guide__checks article { display: flex; flex-direction: column; gap: 5px; min-height: 100px; padding: 14px; border: 1px solid #ecdccf; border-radius: 13px; background: rgba(255,255,255,.82); }
.cr-hub-guide__checks strong { color: var(--cr-burgundy); font-size: .87rem; }
.cr-hub-guide__checks span { color: var(--cr-muted); font-size: .78rem; line-height: 1.45; }
.cr-culture-hub__visual img { object-position: center; }
.cr-culture-hub__groups { grid-template-columns: repeat(3,minmax(0,1fr)); }
.cr-pub-hub__visual img { object-position: center 58%; }
.cr-pub-hub__note { display: flex; align-items: center; gap: 14px; margin-top: 18px; padding: 14px 17px; border: 1px solid #e9c7b4; border-radius: 13px; background: #fff8ef; }
.cr-pub-hub__note strong { flex: 0 0 auto; color: var(--cr-burgundy); font-family: Georgia,serif; font-size: .9rem; }
.cr-pub-hub__note span { color: var(--cr-muted); font-size: .76rem; line-height: 1.45; }
.cr-home-quicklinks { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 20px; }
.cr-home-quicklinks span { color: var(--cr-muted); font-size: .78rem; font-weight: 750; }
.cr-home-quicklinks a { padding: 7px 11px; border: 1px solid #e9c7b4; border-radius: 999px; background: rgba(255,255,255,.74); color: var(--cr-burgundy); font-size: .78rem; font-weight: 750; text-decoration: none; }
.cr-home-quicklinks a:hover { border-color: var(--cr-coral); background: #fff; }
.cr-section-head--directory { margin-top: 48px; }
.cr-category-directory { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.cr-category-directory__group { padding: 19px; border: 1px solid #efcfbd; border-radius: 16px; background: rgba(255,255,255,.82); box-shadow: 0 8px 24px rgba(85,39,26,.06); }
.cr-category-directory__group h3 { margin: 0 0 11px; color: var(--cr-burgundy); font-family: Georgia,serif; font-size: 1.08rem; }
.cr-category-directory__group a { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid #f3dfd2; color: var(--cr-ink); font-size: .82rem; font-weight: 700; text-decoration: none; }
.cr-category-directory__group a:first-of-type { border-top: 0; }
.cr-category-directory__group a b { color: var(--cr-coral); }
.cr-cinema-notice { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 16px; padding: 18px 20px; border: 1px solid #e9c7b4; border-radius: 15px; background: #fff; }
.cr-now-playing { margin-bottom: 32px; }
.cr-section-head--compact { align-items: end; margin-bottom: 20px; }
.cr-section-head--compact h2 { margin-bottom: 7px; }
.cr-section-head--compact p { max-width: 690px; margin: 0; color: var(--cr-muted); font-size: .9rem; }
.cr-now-playing__updated { flex: 0 0 auto; padding: 7px 10px; border: 1px solid #e8c5b1; border-radius: 999px; background: rgba(255,255,255,.75); color: var(--cr-muted); font-size: .66rem; font-weight: 800; }
.cr-now-playing__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.cr-now-film { display: grid; grid-template-columns: 96px minmax(0,1fr); min-height: 150px; overflow: hidden; border: 1px solid #ead0c1; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(85,39,26,.06); }
.cr-now-film__visual { position: relative; display: block; min-height: 150px; overflow: hidden; background: linear-gradient(145deg,#8d2140,#d06449); color: #fff; }
.cr-now-film__visual img { width: 100%; height: 100%; min-height: 150px; object-fit: cover; object-position: center top; transition: transform .25s ease; }
.cr-now-film__visual:hover img { transform: scale(1.035); }
.cr-now-film__visual b { position: absolute; z-index: 1; right: 7px; bottom: 7px; padding: 4px 6px; border-radius: 999px; background: rgba(82,20,39,.9); color: #fff; font-size: .53rem; text-transform: uppercase; letter-spacing: .06em; box-shadow: 0 3px 12px rgba(0,0,0,.25); }
.cr-now-film--two .cr-now-film__visual { background: linear-gradient(145deg,#177a7a,#57a9a0); }
.cr-now-film--three .cr-now-film__visual { background: linear-gradient(145deg,#263f69,#6584b4); }
.cr-now-film--four .cr-now-film__visual { background: linear-gradient(145deg,#60482e,#bc8651); }
.cr-now-film--five .cr-now-film__visual { background: linear-gradient(145deg,#7d3e67,#c06b8f); }
.cr-now-film--six .cr-now-film__visual { background: linear-gradient(145deg,#a34832,#e68d62); }
.cr-now-film__body { align-self: center; padding: 14px 13px; }
.cr-now-film small { color: var(--cr-coral); font-size: .61rem; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
.cr-now-film h3 { margin: 5px 0 6px; font-family: Georgia,serif; font-size: 1rem; line-height: 1.12; }
.cr-now-film h3 a { color: var(--cr-ink); text-decoration: none; }
.cr-now-film h3 a:hover { color: var(--cr-burgundy); }
.cr-now-film p { margin: 0; color: var(--cr-muted); font-size: .7rem; line-height: 1.4; }
.cr-now-film__link { display: inline-flex; margin-top: 8px; color: var(--cr-burgundy); font-size: .65rem; font-weight: 850; text-decoration: none; }
.cr-now-film__link:hover { color: var(--cr-coral); }
.cr-now-playing__note { display: flex; align-items: center; gap: 10px; margin-top: 13px; padding: 11px 14px; border-radius: 12px; background: #fff6e9; color: var(--cr-muted); }
.cr-now-playing__note p { flex: 1; margin: 0; font-size: .74rem; }
.cr-now-playing__note a { flex: 0 0 auto; color: var(--cr-burgundy); font-size: .72rem; font-weight: 850; text-decoration: none; }
.cr-cinema-notice strong { color: var(--cr-burgundy); font-family: Georgia,serif; }
.cr-cinema-notice p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.5; }
.cr-cinema-notice a { color: var(--cr-coral); font-size: .78rem; font-weight: 800; text-decoration: none; }
.cr-section-head--cinema { margin-top: 38px; }
.cr-cinema-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.cr-cinema-card { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 12px 14px; border: 1px solid #efd4c4; border-radius: 12px; background: rgba(255,255,255,.82); }
.cr-cinema-card > span { font-size: 1rem; }
.cr-cinema-card h3 { margin: 0; color: var(--cr-ink); font-family: inherit; font-size: .8rem; line-height: 1.3; }
.cr-cinema-card--linked { color: var(--cr-ink); text-decoration: none; box-shadow: 0 7px 20px rgba(85,39,26,.06); transition: .2s ease; }
.cr-cinema-card--linked > span:nth-child(2) { flex: 1; }
.cr-cinema-card--linked small { display: block; margin-top: 3px; color: var(--cr-coral); font-size: .66rem; font-weight: 800; }
.cr-cinema-card--linked b { color: var(--cr-coral); transition: transform .2s ease; }
.cr-cinema-card--linked:hover { border-color: var(--cr-coral); background: #fff; transform: translateY(-2px); }
.cr-cinema-card--linked:hover b { transform: translateX(3px); }
.cr-cinema-detail { display: grid; grid-template-columns: minmax(0,1fr) 340px; align-items: start; gap: 52px; }
.cr-cinema-detail__main { min-width: 0; }
.cr-cinema-detail__main section { margin-top: 42px; }
.cr-cinema-lead { color: #3e342f; font-size: 1.06rem; line-height: 1.75; }
.cr-cinema-highlights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 26px 0 34px; }
.cr-cinema-highlights > div { display: grid; grid-template-columns: 34px minmax(0,1fr); grid-template-rows: auto auto; column-gap: 9px; align-items: center; padding: 13px; border: 1px solid #ead0c1; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(85,39,26,.05); }
.cr-cinema-highlights span { grid-row: 1 / 3; display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #ffe7cf; color: var(--cr-burgundy); font-size: .7rem; font-weight: 900; }
.cr-cinema-highlights strong { color: var(--cr-ink); font-size: .76rem; line-height: 1.2; }
.cr-cinema-highlights small { color: var(--cr-muted); font-size: .63rem; }
.cr-cinema-detail__main .cr-cinema-editorial-panel { margin-top: 0; padding: 26px 28px; border: 1px solid #edd5c6; border-radius: 18px; background: linear-gradient(135deg,#fff9f1,#fff1e5); }
.cr-cinema-editorial-panel h2 { margin-top: 5px; }
.cr-cinema-editorial-panel p:last-child { margin-bottom: 0; }
.cr-cinema-tip { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 14px; margin-top: 18px; padding: 20px 22px; border-left: 4px solid var(--cr-coral); border-radius: 4px 14px 14px 4px; background: #fff4e3; }
.cr-cinema-tip__icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--cr-burgundy); color: #fff; font-family: Georgia,serif; font-weight: 900; }
.cr-cinema-tip > p { display: none; }
.cr-cinema-tip > div:last-child { grid-column: 2; grid-row: 1; min-width: 0; }
.cr-cinema-tip h2 { margin: 1px 0 7px; font-size: 1.28rem; }
.cr-cinema-tip p { margin: 0; color: var(--cr-muted); font-size: .87rem; }
.cr-cinema-detail__main h2, .cr-cinema-more h2 { margin: 0 0 14px; font-family: Georgia,serif; font-size: clamp(1.7rem,3vw,2.35rem); }
.cr-cinema-info { position: sticky; top: 112px; padding: 25px; border: 1px solid #e8c5b1; border-radius: 20px; background: linear-gradient(145deg,#fff,#fff5e9); box-shadow: 0 18px 50px rgba(85,39,26,.1); }
.cr-cinema-info__icon { display: grid; width: 44px; height: 44px; place-items: center; margin-bottom: 13px; border-radius: 14px; background: #ffe3ca; font-size: 1.25rem; }
.cr-cinema-info h2 { margin: 0 0 18px; color: var(--cr-burgundy); font-family: Georgia,serif; font-size: 1.35rem; }
.cr-cinema-info > div:not(.cr-cinema-info__actions) { display: grid; gap: 3px; padding: 11px 0; border-top: 1px solid #efd9ca; }
.cr-cinema-info small { color: var(--cr-muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.cr-cinema-info strong, .cr-cinema-info > div > a { color: var(--cr-ink); font-size: .88rem; text-decoration: none; }
.cr-cinema-info__actions { display: grid; gap: 9px; margin-top: 18px; }
.cr-cinema-info .cr-button { width: 100%; min-height: 44px; padding: 10px 14px; background: var(--cr-burgundy); color: #fff; font-size: .76rem; text-decoration: none; }
.cr-cinema-info .cr-button--light { border: 1px solid #e3bda6; background: #fff; color: var(--cr-burgundy); }
.cr-cinema-site { padding: 7px; color: var(--cr-burgundy); font-size: .75rem; font-weight: 800; text-align: center; }
.cr-cinema-verified { margin: 18px 0 0; color: var(--cr-muted); font-size: .68rem; line-height: 1.45; }
.cr-cinema-facts { display: grid; gap: 10px; padding: 0; list-style: none; }
.cr-cinema-facts li { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 15px; padding: 14px 16px; border: 1px solid var(--cr-line); border-radius: 12px; background: #fffaf4; }
.cr-cinema-facts strong { color: var(--cr-burgundy); }
.cr-cinema-more { padding-top: 58px; }
.cr-zone-hero { position: relative; overflow: hidden; padding: 62px 0 68px; background: linear-gradient(125deg,#7f2632,#b9473f 58%,#e37b51); color: #fff; }
.cr-zone-hero::before, .cr-zone-hero::after { content: ""; position: absolute; border: 32px solid rgba(255,255,255,.08); border-radius: 50%; }
.cr-zone-hero::before { right: 7%; top: -80px; width: 290px; height: 290px; }
.cr-zone-hero::after { right: -50px; bottom: -120px; width: 220px; height: 220px; }
.cr-zone-hero__inner { position: relative; z-index: 1; }
.cr-zone-hero .cr-breadcrumbs, .cr-zone-hero .cr-breadcrumbs a { color: rgba(255,255,255,.73); }
.cr-zone-hero .cr-eyebrow { color: #ffd198; }
.cr-zone-hero h1 { max-width: 900px; margin: 8px 0 16px; font-family: Georgia,serif; font-size: clamp(2.5rem,5vw,4.45rem); line-height: 1.02; letter-spacing: -.04em; }
.cr-zone-hero p { max-width: 760px; margin: 0; color: rgba(255,255,255,.84); font-size: 1.02rem; line-height: 1.65; }
.cr-zone-hero__nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 27px; }
.cr-zone-hero__nav a { padding: 8px 12px; border: 1px solid rgba(255,255,255,.34); border-radius: 999px; background: rgba(255,255,255,.09); color: #fff; font-size: .73rem; font-weight: 800; text-decoration: none; }
.cr-zone-hero__nav a:hover { background: #fff; color: var(--cr-burgundy); }
.cr-zone-intro__grid { display: grid; grid-template-columns: 1fr; align-items: start; gap: 22px; }
.cr-zone-intro article { max-width: 940px; }
.cr-zone-intro h2, .cr-zone-stay h2, .cr-zone-map-grid h2 { margin: 7px 0 17px; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3.25rem); line-height: 1.08; }
.cr-zone-intro article p { color: var(--cr-muted); line-height: 1.72; }
.cr-zone-summary { padding: 19px 20px; border: 1px solid #ead0c1; border-radius: 17px; background: #fffaf3; box-shadow: 0 10px 30px rgba(85,39,26,.06); }
.cr-zone-summary h2 { margin: 0 0 12px; color: var(--cr-burgundy); font-family: Georgia,serif; font-size: 1.08rem; }
.cr-zone-summary ul { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 18px; margin: 0; padding: 0; list-style: none; }
.cr-zone-summary li { display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 8px; align-items: center; min-width: 0; padding: 10px 0; border-top: 1px solid #efd9ca; }
.cr-zone-summary li { border-top: 0; }
.cr-zone-summary li > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 9px; background: #ffe9d4; font-size: .82rem; }
.cr-zone-summary li div { display: grid; gap: 2px; }
.cr-zone-summary strong { font-size: .74rem; line-height: 1.15; }
.cr-zone-summary small { color: var(--cr-muted); font-size: .62rem; line-height: 1.3; }
.cr-featured-slot { padding: 0 0 32px; }
.cr-featured-slot__empty { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 17px; padding: 20px 22px; border: 1px solid #d9a989; border-radius: 16px; background: linear-gradient(120deg,#6c2035,#8b2942); color: #fff; box-shadow: 0 12px 32px rgba(85,39,26,.12); }
.cr-featured-slot__icon { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: rgba(255,255,255,.14); color: #ffd297; font-size: 1.15rem; }
.cr-featured-slot__empty .cr-eyebrow { color: #ffd297; }
.cr-featured-slot__empty h2 { margin: 3px 0 3px; font-family: Georgia,serif; font-size: 1.32rem; }
.cr-featured-slot__empty p { margin: 0; color: rgba(255,255,255,.74); font-size: .76rem; line-height: 1.45; }
.cr-featured-slot__empty .cr-button { white-space: nowrap; }
.cr-featured-slot__head { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 18px; }
.cr-featured-slot__head h2 { margin: 5px 0 0; font-family: Georgia,serif; font-size: 2rem; }
.cr-featured-slot__head > a { color: var(--cr-burgundy); font-size: .74rem; font-weight: 800; text-decoration: none; }
.cr-featured-slot__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.cr-featured-slot__grid article { padding: 20px; border: 1px solid var(--cr-line); border-radius: 15px; background: #fff; }
.cr-featured-slot__grid article > span { color: var(--cr-coral); font-size: .6rem; font-weight: 900; text-transform: uppercase; }
.cr-featured-slot__grid h3 { margin: 8px 0 5px; font-family: Georgia,serif; }
.cr-featured-slot__grid p { color: var(--cr-muted); font-size: .76rem; }
.cr-featured-slot__grid a { color: var(--cr-burgundy); font-size: .72rem; font-weight: 800; text-decoration: none; }
.cr-zone-nav.cr-hotel-category-picker { margin: 18px 0 24px; }
.cr-hotel-guide-intro { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(240px,.5fr); gap: 24px; align-items: stretch; margin-bottom: 20px; }
.cr-hotel-guide-intro h2, .cr-hotel-selection h2, .cr-hotel-search-box h2 { margin: 6px 0 12px; font-family: Georgia,serif; line-height: 1.12; }
.cr-hotel-guide-intro h2 { font-size: clamp(1.75rem,3vw,2.55rem); }
.cr-hotel-guide-intro p { margin: 0; color: var(--cr-muted); font-size: .9rem; line-height: 1.68; }
.cr-hotel-guide-intro aside { display: flex; flex-direction: column; justify-content: center; gap: 7px; padding: 21px; border-left: 4px solid var(--cr-coral); border-radius: 4px 14px 14px 4px; background: #fff3e1; }
.cr-hotel-guide-intro aside strong { color: var(--cr-burgundy); font-family: Georgia,serif; font-size: 1rem; }
.cr-hotel-guide-intro aside span { color: var(--cr-muted); font-size: .74rem; line-height: 1.5; }
.cr-hotel-area-nav { margin: 24px 0 35px; }
.cr-hotel-selection > header { max-width: 760px; margin-bottom: 20px; }
.cr-hotel-selection h2 { font-size: clamp(1.65rem,2.8vw,2.35rem); }
.cr-hotel-selection > header p { margin: 0; color: var(--cr-muted); font-size: .82rem; }
.cr-hotel-selection > .cr-booking-affiliation-note { margin: -6px 0 22px; color: var(--cr-muted); font-size: .82rem; line-height: 1.6; }
.cr-hotel-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.cr-hotel-card { display: grid; grid-template-columns: 185px minmax(0,1fr); overflow: hidden; border: 1px solid #e7cbbb; border-radius: 16px; background: #fff; box-shadow: 0 9px 26px rgba(85,39,26,.06); }
.cr-hotel-card__visual { position: relative; min-height: 100%; margin: 0; overflow: hidden; background: #ead7ca; }
.entry-content .cr-hotel-card__visual img { display: block; width: 100%; height: 100%; min-height: 300px; margin: 0; border-radius: 0; object-fit: cover; }
.cr-hotel-card__visual figcaption { position: absolute; left: 9px; bottom: 9px; padding: 4px 7px; border-radius: 999px; background: rgba(40,24,20,.72); color: rgba(255,255,255,.9); font-size: .52rem; font-weight: 750; }
.cr-hotel-carousel__slides { position: absolute; inset: 0; }
.entry-content .cr-hotel-carousel__slide { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; margin: 0; border-radius: 0; object-fit: cover; }
.entry-content .cr-hotel-carousel__slide[hidden] { display: none; }
.cr-hotel-carousel__arrow { position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(255,255,255,.68); border-radius: 50%; background: rgba(43,29,24,.72); color: #fff; box-shadow: 0 3px 12px rgba(0,0,0,.2); cursor: pointer; transform: translateY(-50%); transition: background .2s ease, transform .2s ease; }
.cr-hotel-carousel__arrow:hover { background: rgba(116,31,53,.92); transform: translateY(-50%) scale(1.06); }
.cr-hotel-carousel__arrow:focus-visible, .cr-hotel-carousel__dots button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.cr-hotel-carousel__arrow--prev { left: 10px; }
.cr-hotel-carousel__arrow--next { right: 10px; }
.cr-hotel-carousel__arrow span { display: block; margin-top: -3px; font-size: 1.75rem; line-height: 1; }
.cr-hotel-carousel__dots { position: absolute; z-index: 2; left: 50%; bottom: 14px; display: flex; gap: 7px; padding: 6px 8px; border-radius: 999px; background: rgba(43,29,24,.58); transform: translateX(-50%); }
.cr-hotel-carousel__dots button { width: 8px; height: 8px; padding: 0; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: transparent; cursor: pointer; }
.cr-hotel-carousel__dots button.is-active { background: #fff; }
.cr-hotel-carousel__count { position: absolute; z-index: 2; top: 10px; right: 10px; padding: 4px 8px; border-radius: 999px; background: rgba(43,29,24,.68); color: #fff; font-size: .62rem; font-weight: 800; }
.cr-hotel-card__mark { display: grid; place-items: center; min-height: 100%; background: linear-gradient(155deg,#741f35,#b34d45); color: rgba(255,255,255,.92); font-family: Georgia,serif; font-size: 2.15rem; font-weight: 900; }
.cr-hotel-card:nth-child(2) .cr-hotel-card__mark { background: linear-gradient(155deg,#87412f,#d07b4f); }
.cr-hotel-card:nth-child(3) .cr-hotel-card__mark { background: linear-gradient(155deg,#403762,#766ca0); }
.cr-hotel-card:nth-child(4) .cr-hotel-card__mark { background: linear-gradient(155deg,#59432b,#a5824f); }
.cr-hotel-card__body { display: flex; flex-direction: column; align-items: flex-start; padding: 19px; }
.cr-hotel-card__labels { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 7px; width: 100%; }
.cr-hotel-card__type { color: var(--cr-coral); font-size: .61rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.cr-hotel-card__bookable { padding: 4px 7px; border-radius: 999px; background: #eaf5e8; color: #35613a; font-size: .54rem; font-weight: 850; text-transform: uppercase; }
.cr-hotel-card h3 { margin: 5px 0 5px; font-family: Georgia,serif; font-size: 1.18rem; line-height: 1.18; }
.cr-hotel-card__address { margin: 0 0 12px !important; color: #8d6c60 !important; font-size: .67rem !important; font-weight: 750; }
.cr-hotel-card__body > p:not(.cr-hotel-card__address) { margin: 0 0 14px; color: var(--cr-muted); font-size: .75rem; line-height: 1.55; }
.cr-hotel-card__best { display: grid; gap: 2px; margin-top: auto; padding-top: 11px; border-top: 1px solid #f0dfd5; width: 100%; }
.cr-hotel-card__best strong { color: var(--cr-burgundy); font-size: .65rem; text-transform: uppercase; }
.cr-hotel-card__best span { color: var(--cr-muted); font-size: .69rem; }
.entry-content .cr-hotel-card__cta { margin-top: 14px; padding: 9px 12px; color: #fff; font-size: .68rem; text-decoration: none; }
.cr-hotel-search-box { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 14px 28px; align-items: center; margin-top: 22px; padding: 24px; border-radius: 17px; background: var(--cr-burgundy-dark); color: #fff; }
.cr-hotel-search-box .cr-eyebrow { color: #f3bd76; }
.cr-hotel-search-box h2 { margin-bottom: 5px; font-size: clamp(1.35rem,2.4vw,1.9rem); }
.cr-hotel-search-box p { margin: 0; color: rgba(255,255,255,.7); font-size: .75rem; }
.cr-hotel-search-box small { grid-column: 1/-1; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.55); font-size: .61rem; }
.cr-hotel-directory-layout { display: grid; grid-template-columns: 255px minmax(0,1fr); gap: 32px; align-items: start; margin-top: 30px; }
.cr-hotel-directory-results { min-width: 0; }
.cr-hotel-sidebar { position: sticky; top: 20px; overflow: hidden; border: 1px solid #dfcbbb; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(64,39,28,.06); }
.cr-hotel-sidebar__head { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; align-items: center; padding: 17px; background: #fff3e3; }
.cr-hotel-sidebar__head > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--cr-burgundy); color: #fff; font-size: 1.1rem; }
.cr-hotel-sidebar__head strong, .cr-hotel-sidebar__head small { display: block; }
.cr-hotel-sidebar__head strong { color: var(--cr-burgundy); font-family: Georgia,serif; font-size: .98rem; }
.cr-hotel-sidebar__head small { margin-top: 2px; color: var(--cr-muted); font-size: .58rem; }
.cr-hotel-sidebar__group { display: grid; padding: 15px 17px; border-top: 1px solid #eee0d6; }
.cr-hotel-sidebar__group > strong { margin-bottom: 8px; color: #765145; font-size: .63rem; letter-spacing: .06em; text-transform: uppercase; }
.entry-content .cr-hotel-sidebar__group a { position: relative; padding: 6px 8px 6px 17px; border-radius: 7px; color: var(--cr-ink); font-size: .71rem; font-weight: 720; text-decoration: none; }
.entry-content .cr-hotel-sidebar__group a::before { content: "›"; position: absolute; left: 6px; color: var(--cr-coral); }
.entry-content .cr-hotel-sidebar__group a:hover { background: #fff5ea; color: var(--cr-burgundy); }
.entry-content .cr-hotel-sidebar__group a.is-current { background: var(--cr-burgundy); color: #fff; }
.entry-content .cr-hotel-sidebar__group a.is-current::before { color: #ffd3a2; }
.cr-hotel-sidebar__booking { display: grid; gap: 6px; margin: 0 12px 12px; padding: 14px; border-radius: 11px; background: var(--cr-burgundy-dark); color: #fff; }
.cr-hotel-sidebar__booking strong { font-family: Georgia,serif; font-size: .9rem; }
.cr-hotel-sidebar__booking span { color: rgba(255,255,255,.7); font-size: .62rem; line-height: 1.4; }
.entry-content .cr-hotel-sidebar__booking a { margin-top: 4px; color: #ffd08b; font-size: .67rem; font-weight: 850; text-decoration: none; }
.cr-hotel-directory-layout .cr-hotel-selection > header { max-width: 700px; }
.cr-hotel-directory-layout .cr-hotel-card { scroll-margin-top: 24px; }
.cr-restaurant-directory-layout { display: grid; grid-template-columns: 245px minmax(0,1fr); gap: 28px; align-items: start; clear: both; margin: 24px 0 10px; }
.cr-article:has(.cr-restaurant-directory-layout) > .entry-content > .cr-zone-nav { display: none; }
.cr-restaurant-directory-results { min-width: 0; }
.cr-restaurant-sidebar { position: sticky; top: 20px; overflow: hidden; border: 1px solid #dfcbbb; border-radius: 15px; background: #fff; box-shadow: 0 8px 24px rgba(64,39,28,.06); }
.cr-restaurant-sidebar__head { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; align-items: center; padding: 17px; background: #fff3e3; }
.cr-restaurant-sidebar__head > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: var(--cr-burgundy); color: #fff; font-size: 1.15rem; }
.cr-restaurant-sidebar__head strong, .cr-restaurant-sidebar__head small { display: block; }
.cr-restaurant-sidebar__head strong { color: var(--cr-burgundy); font-family: Georgia,serif; font-size: .94rem; }
.cr-restaurant-sidebar__head small { margin-top: 2px; color: var(--cr-muted); font-size: .58rem; line-height: 1.35; }
.cr-restaurant-sidebar__group { display: grid; padding: 14px 16px; border-top: 1px solid #eee0d6; }
.cr-restaurant-sidebar__group > strong { margin-bottom: 7px; color: #765145; font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }
.entry-content .cr-restaurant-sidebar__group a { position: relative; padding: 6px 8px 6px 17px; border-radius: 7px; color: var(--cr-ink); font-size: .7rem; font-weight: 720; text-decoration: none; }
.entry-content .cr-restaurant-sidebar__group a::before { content: "›"; position: absolute; left: 6px; color: var(--cr-coral); }
.entry-content .cr-restaurant-sidebar__group a:hover { background: #fff5ea; color: var(--cr-burgundy); }
.entry-content .cr-restaurant-sidebar__group a.is-current { background: var(--cr-burgundy); color: #fff; }
.cr-restaurant-sidebar__group > .cr-sidebar-zone-pending { padding: 6px 8px 6px 17px; color: #927f76; font-size: .7rem; font-weight: 720; }
.cr-restaurant-sidebar__occasions span { padding: 4px 5px; color: var(--cr-muted); font-size: .68rem; }
.cr-restaurant-sidebar__business { display: grid; gap: 5px; margin: 0 12px 12px; padding: 14px; border-radius: 11px; background: var(--cr-burgundy-dark); color: #fff; }
.cr-restaurant-sidebar__business strong { font-family: Georgia,serif; font-size: .88rem; }
.cr-restaurant-sidebar__business span { color: rgba(255,255,255,.7); font-size: .61rem; line-height: 1.4; }
.entry-content .cr-restaurant-sidebar__business a { margin-top: 4px; color: #ffd08b; font-size: .67rem; font-weight: 850; text-decoration: none; }
.cr-restaurant-results-head { display: grid; gap: 3px; margin: 0 0 15px; }
.cr-restaurant-results-head span { color: var(--cr-coral); font-size: .61rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.cr-restaurant-results-head strong { color: var(--cr-ink); font-family: Georgia,serif; font-size: 1.45rem; }
.cr-restaurant-results-head small { color: var(--cr-muted); font-size: .72rem; }
.cr-restaurant-directory-results .cr-listing-grid { grid-template-columns: 1fr; gap: 18px; margin-top: 0; }
.cr-restaurant-directory-results .cr-listing-card { grid-template-columns: 1fr; min-height: 0; }
.cr-restaurant-directory-results .cr-listing-card__visual { display: none; }
.cr-restaurant-directory-results .cr-listing-card__visual--has-image { place-items: start center; }
.entry-content .cr-restaurant-directory-results .cr-listing-card__visual img { width: auto; max-width: 104px; height: auto; max-height: 126px; object-fit: contain; object-position: top center; }
.cr-restaurant-directory-results .cr-listing-card__body { padding: 18px 20px 16px; }
.cr-cuisine-label { display: inline-flex; margin: 0 0 10px; padding: 5px 9px; border: 1px solid #ead3c2; border-radius: 999px; background: #fff3e8; color: var(--cr-burgundy); font-size: .68rem; font-weight: 800; letter-spacing: .035em; line-height: 1.2; text-transform: uppercase; }
.cr-restaurant-directory-results .cr-listing-card h2 { position: relative; margin: -18px -20px 14px; padding: 15px 68px 15px 16px; border-bottom: 1px solid #ead6c8; border-left: 5px solid var(--cr-burgundy); background: linear-gradient(90deg,#f9e8d9,#fff7ee); font-size: 1.18rem; }
.cr-restaurant-directory-results .cr-listing-card h2::after { content: ""; position: absolute; top: 50%; right: 17px; width: 38px; height: 38px; border: 1px solid #dfbfa9; border-radius: 12px; background-color: rgba(255,255,255,.62); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='%238d2140' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='20' cy='21' r='9'/%3E%3Ccircle cx='20' cy='21' r='4.5' opacity='.45'/%3E%3Cpath d='M7 9v9M4.5 9v5.5c0 2 5 2 5 0V9M7 18v13M33 9c-3 3-3.5 8.5 0 10v12M30.5 9v10'/%3E%3C/svg%3E"); background-position: center; background-repeat: no-repeat; background-size: 29px; transform: translateY(-50%); }
.cr-restaurant-directory-results .cr-listing-card p { -webkit-line-clamp: 4; font-size: .81rem; line-height: 1.58; }
.cr-restaurant-directory-results .cr-listing-card--verified { grid-template-columns: 1fr; grid-template-areas: "title" "visual" "content"; border-color: #d9b9a5; }
.cr-restaurant-directory-results .cr-listing-card--verified > h2 { display: flex; grid-area: title; align-items: center; min-height: 64px; margin: 0; background: linear-gradient(90deg,#f9e8d9,#fff7ee); }
.cr-restaurant-directory-results .cr-listing-card--verified > h2::after { display: none; }
.cr-restaurant-directory-results .cr-listing-card--verified .cr-listing-card__visual { position: relative; display: block; grid-area: visual; min-height: 0; padding: 0; background: #eee8e2; }
.cr-restaurant-directory-results .cr-listing-card--verified .cr-listing-card__visual::after { content: "Foto ufficiale · anteprima"; position: absolute; right: 10px; bottom: 9px; padding: 5px 8px; border-radius: 999px; background: rgba(38,28,25,.76); color: #fff; font-size: .56rem; font-weight: 750; letter-spacing: .02em; }
.cr-restaurant-directory-results .cr-listing-card--verified .cr-listing-card__visual--placeholder::after { content: "Immagine illustrativa"; display: block; }
.cr-pub-directory-results .cr-pub-card--verified .cr-listing-card__visual::after { content: "Foto del locale · 2025"; }
.entry-content .cr-pub-directory-results .cr-pub-card--verified > h2 { border-bottom-color: rgba(141,33,64,.2); border-left-color: var(--cr-burgundy); background: linear-gradient(110deg,rgba(141,33,64,.14) 0%,rgba(141,33,64,.045) 100%); color: #3a242b; text-shadow: none; }
.cr-pub-directory-results .cr-pub-card--verified .cr-listing-card__visual { padding: 16px; background: #f5eee7; }
.entry-content .cr-pub-directory-results .cr-pub-card--verified .cr-listing-card__visual img { width: 72%; max-width: 560px; height: auto; max-height: none; margin: 0 auto; border-radius: 8px; object-fit: contain; object-position: center; }
.cr-restaurant-directory-results .cr-listing-card--verified .cr-listing-card__body { grid-area: content; }
.entry-content .cr-restaurant-directory-results .cr-listing-card--verified .cr-listing-card__visual img { display: block; width: 100%; max-width: none; height: clamp(220px,28vw,300px); max-height: none; margin: 0; border-radius: 0; object-fit: cover; object-position: center 67%; }
.entry-content .cr-restaurant-directory-results .cr-restaurant-card--aromaticus .cr-listing-card__visual img { object-position: center 28%; }
.entry-content .cr-pub-directory-results .cr-pub-card--mahalo .cr-listing-card__visual img { object-position: center 92%; }
.entry-content .cr-pub-directory-results .cr-pub-card--naos .cr-listing-card__visual img { object-position: center 82%; }
.cr-restaurant-directory-results .cr-listing-card--verified p { display: block; overflow: visible; }
.cr-restaurant-facts { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 13px; padding: 0; list-style: none; }
.cr-restaurant-facts li { padding: 5px 8px; border-radius: 999px; background: #f8eadf; color: #704235; font-size: .61rem; font-weight: 780; }
.cr-restaurant-highlights { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin: 14px 0 16px; }
.cr-restaurant-highlights > div { display: grid; align-content: start; gap: 5px; padding: 12px 13px; border: 1px solid #eadbd0; border-radius: 10px; background: #fffaf5; }
.cr-restaurant-highlights strong { color: var(--cr-burgundy); font-family: Georgia,serif; font-size: .76rem; }
.cr-restaurant-highlights span { color: var(--cr-muted); font-size: .66rem; line-height: 1.48; }
.cr-restaurant-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.entry-content .cr-restaurant-details { display: inline-flex; padding: 8px 11px; border-radius: 999px; background: var(--cr-burgundy); color: #fff; font-size: .68rem; font-weight: 850; text-decoration: none; }
.entry-content .cr-restaurant-details:hover { background: var(--cr-coral); color: #fff; }
.cr-restaurant-checked { color: #4f7450; font-size: .6rem; font-weight: 800; }
.cr-restaurant-checked--pending { color: #9a5a22; }
.cr-restaurant-directory-results .cr-listing-card--provisional .cr-listing-card__visual::after { content: "Foto d’archivio · da verificare"; background: rgba(121,68,24,.84); }

.cr-hotel-selection--booking .cr-hotel-card-grid { grid-template-columns: 1fr; gap: 28px; }
.cr-hotel-selection--booking .cr-hotel-card { grid-template-columns: 285px minmax(0,1fr); border-color: #d9c8bb; border-radius: 12px; box-shadow: 0 5px 18px rgba(53,38,31,.06); }
.cr-hotel-selection--booking .cr-hotel-card__visual { min-height: 250px; }
.entry-content .cr-hotel-selection--booking .cr-hotel-card__visual img { min-height: 250px; }
.cr-hotel-selection--booking .cr-hotel-card__body { padding: 25px 28px; }
.cr-hotel-selection--booking .cr-hotel-card h3 { margin-top: 7px; font-size: 1.4rem; }
.cr-hotel-card__features { display: flex; flex-wrap: wrap; gap: 6px 15px; margin: 0 0 13px; padding: 0; list-style: none; }
.cr-hotel-card__features li { position: relative; padding-left: 13px; color: #4f664d; font-size: .68rem; font-weight: 750; }
.cr-hotel-card__features li::before { content: "✓"; position: absolute; left: 0; color: #4f884e; font-weight: 900; }
.cr-hotel-card__more { width: 100%; margin: -3px 0 14px; }
.cr-hotel-card__more summary { width: fit-content; cursor: pointer; color: var(--cr-burgundy); font-size: .69rem; font-weight: 850; list-style-position: inside; }
.cr-hotel-card__more summary:hover { color: var(--cr-coral); }
.cr-hotel-card__more p { margin: 10px 0 0; padding: 12px 14px; border-left: 3px solid #e2aa86; border-radius: 0 10px 10px 0; background: #fff8f0; color: var(--cr-muted); font-size: .74rem; line-height: 1.58; }
.cr-hotel-selection--booking .cr-hotel-card__best { display: flex; align-items: baseline; gap: 8px; }
.entry-content .cr-hotel-selection--booking .cr-hotel-card__cta { align-self: flex-end; padding: 11px 15px; font-size: .73rem; }
.cr-zone-section-copy { max-width: 670px; margin: 6px 0 0; color: var(--cr-muted); font-size: .88rem; }
.cr-zone-paths { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.cr-zone-paths > a { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 14px; align-items: center; min-height: 104px; padding: 18px; border: 1px solid #ead0c1; border-radius: 15px; background: #fff; color: var(--cr-ink); text-decoration: none; box-shadow: 0 8px 24px rgba(85,39,26,.05); transition: .2s ease; }
.cr-zone-paths > a > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #ffe7d2; color: var(--cr-burgundy); font-family: Georgia,serif; font-weight: 900; }
.cr-zone-paths h3 { margin: 0 0 4px; font-family: Georgia,serif; font-size: 1.08rem; }
.cr-zone-paths p { margin: 0; color: var(--cr-muted); font-size: .75rem; }
.cr-zone-paths b { color: var(--cr-coral); }
.cr-zone-paths > a:hover { border-color: var(--cr-coral); transform: translateY(-2px); }
.cr-zone-sponsored { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; margin-top: 18px; padding: 18px 20px; border: 1px dashed #d9a989; border-radius: 14px; background: #fff6e9; }
.cr-zone-sponsored > span { padding: 5px 8px; border-radius: 999px; background: #f4d5b6; color: #754027; font-size: .59rem; font-weight: 900; text-transform: uppercase; }
.cr-zone-sponsored h3 { margin: 0 0 2px; font-family: Georgia,serif; font-size: 1rem; }
.cr-zone-sponsored p { margin: 0; color: var(--cr-muted); font-size: .72rem; }
.cr-zone-sponsored a { color: var(--cr-burgundy); font-size: .72rem; font-weight: 850; text-decoration: none; }
.cr-zone-feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.cr-zone-feature-grid a { position: relative; min-height: 220px; padding: 25px; overflow: hidden; border-radius: 18px; background: linear-gradient(145deg,#6c2035,#a93d50); color: #fff; text-decoration: none; box-shadow: 0 15px 36px rgba(85,39,26,.14); }
.cr-zone-feature-grid a:nth-child(2) { background: linear-gradient(145deg,#774331,#c1784f); }
.cr-zone-feature-grid a:nth-child(3) { background: linear-gradient(145deg,#332d59,#6b5e99); }
.cr-zone-feature-grid a > span { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: rgba(255,255,255,.14); font-size: 1.25rem; }
.cr-zone-feature-grid h3 { margin: 35px 0 8px; font-family: Georgia,serif; font-size: 1.45rem; }
.cr-zone-feature-grid p { margin: 0 0 18px; color: rgba(255,255,255,.76); font-size: .82rem; }
.cr-zone-feature-grid b { font-size: .75rem; }
.cr-zone-stay { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.8fr); align-items: center; gap: 60px; }
.cr-zone-stay > div > p { max-width: 700px; color: var(--cr-muted); line-height: 1.7; }
.cr-zone-stay__actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.cr-zone-stay .cr-button--outline { border: 1px solid #d9aa90; background: #fff; color: var(--cr-burgundy); }
.cr-zone-stay aside { padding: 27px; border: 1px solid #e4c4b0; border-radius: 19px; background: linear-gradient(145deg,#fff,#fff1df); box-shadow: 0 14px 38px rgba(85,39,26,.07); }
.cr-zone-stay aside > span { color: var(--cr-coral); font-size: .64rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.cr-zone-stay aside h3 { margin: 8px 0; font-family: Georgia,serif; font-size: 1.45rem; }
.cr-zone-stay aside p { color: var(--cr-muted); font-size: .82rem; }
.cr-zone-stay aside small { display: block; padding-top: 12px; border-top: 1px solid var(--cr-line); color: #9b7b6c; font-size: .65rem; }
.cr-zone-sights { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.cr-zone-sights article { min-height: 190px; padding: 22px; border: 1px solid #ead0c1; border-radius: 16px; background: #fff; }
.cr-zone-sights span { color: var(--cr-coral); font-family: Georgia,serif; font-size: 1.2rem; font-weight: 900; }
.cr-zone-sights h3 { margin: 25px 0 8px; font-family: Georgia,serif; font-size: 1.12rem; }
.cr-zone-sights p { margin: 0; color: var(--cr-muted); font-size: .76rem; line-height: 1.5; }
.cr-zone-dayplan { display: flex; align-items: center; gap: 18px; margin-top: 16px; padding: 18px 21px; border-left: 4px solid var(--cr-coral); border-radius: 4px 14px 14px 4px; background: #fff4e4; }
.cr-zone-dayplan strong { flex: 0 0 auto; color: var(--cr-burgundy); font-family: Georgia,serif; }
.cr-zone-dayplan p { margin: 0; color: var(--cr-muted); font-size: .8rem; }
.cr-zone-map-grid { display: grid; grid-template-columns: minmax(280px,.7fr) minmax(0,1.3fr); align-items: center; gap: 50px; }
.cr-zone-map-grid > div:first-child p { color: var(--cr-muted); line-height: 1.65; }
.cr-zone-map-grid > div:first-child a { color: var(--cr-burgundy); font-size: .78rem; font-weight: 850; text-decoration: none; }
.cr-zone-map { overflow: hidden; aspect-ratio: 16/8; border: 1px solid #e2bdA7; border-radius: 18px; background: #eee; box-shadow: 0 14px 40px rgba(85,39,26,.09); }
.cr-zone-map iframe { width: 100%; height: 100%; border: 0; }
.cr-zone-business { padding: 54px 0; background: var(--cr-burgundy-dark); color: #fff; }
.cr-zone-business .cr-container { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.cr-zone-business .cr-eyebrow { color: #f3bd76; }
.cr-zone-business h2 { margin: 7px 0 9px; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3rem); }
.cr-zone-business p { max-width: 720px; margin: 0; color: rgba(255,255,255,.7); }
.cr-zone-story { padding-top: 30px; }
.cr-zone-story__head { max-width: 900px; margin-bottom: 25px; }
.cr-zone-story__grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(340px,.95fr); align-items: start; gap: 44px; }
.cr-zone-story h2 { margin: 7px 0 18px; font-family: Georgia,serif; font-size: clamp(2rem,3.6vw,3.15rem); line-height: 1.08; }
.cr-zone-story__head > p, .cr-zone-story__copy > p { color: var(--cr-muted); line-height: 1.65; }
.cr-zone-story__head > p { max-width: 820px; margin: 0; }
.cr-zone-story__copy > p:first-child { margin-top: 0; }
.cr-zone-photo { margin: 0; }
.cr-zone-photo img { display: block; width: 100%; height: auto; border-radius: 20px; box-shadow: 0 18px 48px rgba(70,34,25,.14); }
.cr-zone-photo figcaption { margin-top: 10px; color: #8d7166; font-size: .69rem; line-height: 1.45; }
.cr-zone-photo--large img { aspect-ratio: 3/2; object-fit: cover; }
.cr-zone-photo--wide { margin-top: 25px; }
.cr-zone-photo--wide img { aspect-ratio: 16/7; object-fit: cover; object-position: center 62%; }
.cr-zone-note { margin-top: 22px; padding: 17px 19px; border-left: 4px solid var(--cr-coral); border-radius: 4px 14px 14px 4px; background: #fff3e1; }
.cr-zone-note strong { color: var(--cr-burgundy); font-family: Georgia,serif; }
.cr-zone-note p { margin: 5px 0 0; color: var(--cr-muted); font-size: .78rem; line-height: 1.55; }
.cr-zone-hub .cr-section { padding: 58px 0; }
.cr-zone-hub .cr-zone-intro { padding-bottom: 26px; }
.cr-zone-hub .cr-zone-hero { padding: 76px 0 62px; }
.cr-zone-hub .cr-zone-hero h1 { max-width: 850px; font-size: clamp(2.3rem,4.35vw,3.85rem); }
.cr-zone-hub .cr-zone-hero p { font-size: .94rem; }
.cr-zone-hub .cr-zone-intro__grid { gap: 22px; }
.cr-zone-hub .cr-zone-intro h2, .cr-zone-hub .cr-zone-stay h2, .cr-zone-hub .cr-zone-map-grid h2 { font-size: clamp(1.8rem,3.3vw,2.75rem); }
.cr-zone-hub .cr-zone-story__grid { gap: 44px; }
.cr-zone-hub .cr-zone-story h2 { font-size: clamp(1.85rem,3.05vw,2.65rem); }
.cr-zone-hub .cr-zone-story__head > p, .cr-zone-hub .cr-zone-story__copy > p { margin-bottom: 11px; font-size: .88rem; line-height: 1.62; }
.cr-zone-hub .cr-zone-photo--large { max-width: 560px; }
.cr-zone-hub .cr-zone-photo--large img { aspect-ratio: 16/10; }
.cr-zone-hub .cr-zone-photo--wide img { aspect-ratio: 16/5.3; }
.cr-zone-hub .cr-section-head { margin-bottom: 25px; }
.cr-zone-hub .cr-section-head h2 { font-size: clamp(1.75rem,3vw,2.55rem); }
.cr-zone-hub .cr-zone-paths > a { min-height: 88px; padding: 14px 16px; }
.cr-zone-hub .cr-zone-feature-grid a { min-height: 185px; padding: 21px; }
.cr-zone-hub .cr-zone-feature-grid h3 { margin-top: 25px; font-size: 1.25rem; }
.cr-zone-hub .cr-zone-sights article { min-height: 165px; padding: 18px; }
.cr-zone-hub .cr-zone-sights h3 { margin-top: 18px; }

/* Prati zone guide: a cooler, more architectural variation of the zone hub. */
.cr-zone-hub--prati .cr-zone-hero { background: linear-gradient(125deg,#244f58,#376b73 56%,#73b6a5); }
.cr-zone-hub--prati .cr-zone-hero .cr-eyebrow { color: #d4f4e8; }
.cr-zone-hub--prati .cr-zone-hero__nav a:hover { color: #244f58; }
.cr-zone-hub--prati .cr-zone-summary { border-color: #c8dfd8; background: #f2faf7; box-shadow: 0 10px 30px rgba(36,79,88,.07); }
.cr-zone-hub--prati .cr-zone-summary h2,
.cr-zone-hub--prati .cr-zone-note strong,
.cr-zone-hub--prati .cr-zone-dayplan strong,
.cr-zone-hub--prati .cr-zone-map-grid > div:first-child a { color: #285c63; }
.cr-zone-hub--prati .cr-zone-summary li > span,
.cr-zone-hub--prati .cr-zone-paths > a > span { background: #ddf2eb; color: #285c63; }
.cr-zone-hub--prati .cr-zone-note,
.cr-zone-hub--prati .cr-zone-dayplan { border-left-color: #4f998d; background: #edf8f4; }
.cr-zone-hub--prati .cr-zone-paths > a,
.cr-zone-hub--prati .cr-zone-sights article { border-color: #c8dfd8; box-shadow: 0 8px 24px rgba(36,79,88,.05); }
.cr-zone-hub--prati .cr-zone-paths > a:hover { border-color: #4f998d; }
.cr-zone-hub--prati .cr-zone-paths b,
.cr-zone-hub--prati .cr-zone-sights span,
.cr-zone-hub--prati .cr-zone-stay aside > span { color: #3d877d; }
.cr-zone-hub--prati .cr-zone-feature-grid a { background: linear-gradient(145deg,#244f58,#3f7f82); box-shadow: 0 15px 36px rgba(36,79,88,.14); }
.cr-zone-hub--prati .cr-zone-feature-grid a:nth-child(2) { background: linear-gradient(145deg,#315e66,#73a89b); }
.cr-zone-hub--prati .cr-zone-feature-grid a:nth-child(3) { background: linear-gradient(145deg,#314b5c,#59768a); }
.cr-zone-hub--prati .cr-zone-stay .cr-button--outline { border-color: #8fbeb3; color: #285c63; }
.cr-zone-hub--prati .cr-zone-stay aside { border-color: #bedbd3; background: linear-gradient(145deg,#fff,#eaf7f3); box-shadow: 0 14px 38px rgba(36,79,88,.08); }
.cr-zone-hub--prati .cr-zone-map { border-color: #9dc9be; box-shadow: 0 14px 40px rgba(36,79,88,.1); }
.cr-zone-hub--prati .cr-zone-business { background: #183f48; }
.cr-zone-hub--prati .cr-zone-business .cr-eyebrow { color: #aee4d6; }

/* Monti zone guide: ochre and earth tones inspired by its historic streets. */
.cr-zone-hub--monti .cr-zone-hero { background: linear-gradient(125deg,#53311f,#81502d 56%,#d69a4d); }
.cr-zone-hub--monti .cr-zone-hero .cr-eyebrow { color: #ffe0a6; }
.cr-zone-hub--monti .cr-zone-hero__nav a:hover { color: #633c25; }
.cr-zone-hub--monti .cr-zone-summary { border-color: #dfc6a4; background: #fff9ec; box-shadow: 0 10px 30px rgba(95,58,32,.07); }
.cr-zone-hub--monti .cr-zone-summary h2,
.cr-zone-hub--monti .cr-zone-note strong,
.cr-zone-hub--monti .cr-zone-dayplan strong,
.cr-zone-hub--monti .cr-zone-map-grid > div:first-child a { color: #75441f; }
.cr-zone-hub--monti .cr-zone-summary li > span,
.cr-zone-hub--monti .cr-zone-paths > a > span { background: #f7e5c5; color: #75441f; }
.cr-zone-hub--monti .cr-zone-note,
.cr-zone-hub--monti .cr-zone-dayplan { border-left-color: #c47d32; background: #fff4df; }
.cr-zone-hub--monti .cr-zone-paths > a,
.cr-zone-hub--monti .cr-zone-sights article { border-color: #dfc6a4; box-shadow: 0 8px 24px rgba(95,58,32,.05); }
.cr-zone-hub--monti .cr-zone-paths > a:hover { border-color: #c47d32; }
.cr-zone-hub--monti .cr-zone-paths b,
.cr-zone-hub--monti .cr-zone-sights span,
.cr-zone-hub--monti .cr-zone-stay aside > span { color: #b2682b; }
.cr-zone-hub--monti .cr-zone-feature-grid a { background: linear-gradient(145deg,#5b3423,#96613d); box-shadow: 0 15px 36px rgba(95,58,32,.14); }
.cr-zone-hub--monti .cr-zone-feature-grid a:nth-child(2) { background: linear-gradient(145deg,#7a4b2f,#c1874c); }
.cr-zone-hub--monti .cr-zone-feature-grid a:nth-child(3) { background: linear-gradient(145deg,#443a31,#776453); }
.cr-zone-hub--monti .cr-zone-stay .cr-button--outline { border-color: #d5a56d; color: #75441f; }
.cr-zone-hub--monti .cr-zone-stay aside { border-color: #e2c39d; background: linear-gradient(145deg,#fff,#fff1d9); box-shadow: 0 14px 38px rgba(95,58,32,.08); }
.cr-zone-hub--monti .cr-zone-map { border-color: #d2aa7b; box-shadow: 0 14px 40px rgba(95,58,32,.1); }
.cr-zone-hub--monti .cr-zone-business { background: #3f281c; }
.cr-zone-hub--monti .cr-zone-business .cr-eyebrow { color: #f0c47d; }

/* Testaccio zone guide: dusty rose and burgundy inspired by brick, market and nightlife. */
.cr-zone-hub--testaccio .cr-zone-hero { background: linear-gradient(125deg,#5d2438,#81394d 56%,#d36f7d); }
.cr-zone-hub--testaccio .cr-zone-hero .cr-eyebrow { color: #ffd7df; }
.cr-zone-hub--testaccio .cr-zone-hero__nav a:hover { color: #6f2e42; }
.cr-zone-hub--testaccio .cr-zone-summary { border-color: #e2bdc5; background: #fff7f8; box-shadow: 0 10px 30px rgba(99,39,59,.07); }
.cr-zone-hub--testaccio .cr-zone-summary h2,
.cr-zone-hub--testaccio .cr-zone-note strong,
.cr-zone-hub--testaccio .cr-zone-dayplan strong,
.cr-zone-hub--testaccio .cr-zone-map-grid > div:first-child a { color: #772f46; }
.cr-zone-hub--testaccio .cr-zone-summary li > span,
.cr-zone-hub--testaccio .cr-zone-paths > a > span { background: #f8dfe4; color: #772f46; }
.cr-zone-hub--testaccio .cr-zone-note,
.cr-zone-hub--testaccio .cr-zone-dayplan { border-left-color: #c3586f; background: #fff0f3; }
.cr-zone-hub--testaccio .cr-zone-paths > a,
.cr-zone-hub--testaccio .cr-zone-sights article { border-color: #e2bdc5; box-shadow: 0 8px 24px rgba(99,39,59,.05); }
.cr-zone-hub--testaccio .cr-zone-paths > a:hover { border-color: #c3586f; }
.cr-zone-hub--testaccio .cr-zone-paths b,
.cr-zone-hub--testaccio .cr-zone-sights span,
.cr-zone-hub--testaccio .cr-zone-stay aside > span { color: #b64c64; }
.cr-zone-hub--testaccio .cr-zone-feature-grid a { background: linear-gradient(145deg,#66293d,#9d4961); box-shadow: 0 15px 36px rgba(99,39,59,.14); }
.cr-zone-hub--testaccio .cr-zone-feature-grid a:nth-child(2) { background: linear-gradient(145deg,#84384d,#cf6b79); }
.cr-zone-hub--testaccio .cr-zone-feature-grid a:nth-child(3) { background: linear-gradient(145deg,#4c3940,#75555f); }
.cr-zone-hub--testaccio .cr-zone-stay .cr-button--outline { border-color: #d693a1; color: #772f46; }
.cr-zone-hub--testaccio .cr-zone-stay aside { border-color: #e4bdc5; background: linear-gradient(145deg,#fff,#ffeef1); box-shadow: 0 14px 38px rgba(99,39,59,.08); }
.cr-zone-hub--testaccio .cr-zone-map { border-color: #d99ca8; box-shadow: 0 14px 40px rgba(99,39,59,.1); }
.cr-zone-hub--testaccio .cr-zone-business { background: #48202d; }
.cr-zone-hub--testaccio .cr-zone-business .cr-eyebrow { color: #efadba; }

/* EUR zone guide: architectural blue and muted periwinkle from the homepage card. */
.cr-zone-hub--eur .cr-zone-hero { background: linear-gradient(125deg,#2c3f67,#435b86 56%,#829ed1); }
.cr-zone-hub--eur .cr-zone-hero .cr-eyebrow { color: #dce8ff; }
.cr-zone-hub--eur .cr-zone-hero__nav a:hover { color: #344e7b; }
.cr-zone-hub--eur .cr-zone-summary { border-color: #c4d0e5; background: #f7f9fd; box-shadow: 0 10px 30px rgba(48,69,108,.07); }
.cr-zone-hub--eur .cr-zone-summary h2,
.cr-zone-hub--eur .cr-zone-note strong,
.cr-zone-hub--eur .cr-zone-dayplan strong,
.cr-zone-hub--eur .cr-zone-map-grid > div:first-child a { color: #3d5683; }
.cr-zone-hub--eur .cr-zone-summary li > span,
.cr-zone-hub--eur .cr-zone-paths > a > span { background: #e3eaf6; color: #3d5683; }
.cr-zone-hub--eur .cr-zone-note,
.cr-zone-hub--eur .cr-zone-dayplan { border-left-color: #6f8cbd; background: #f0f4fb; }
.cr-zone-hub--eur .cr-zone-paths > a,
.cr-zone-hub--eur .cr-zone-sights article { border-color: #c4d0e5; box-shadow: 0 8px 24px rgba(48,69,108,.05); }
.cr-zone-hub--eur .cr-zone-paths > a:hover { border-color: #6f8cbd; }
.cr-zone-hub--eur .cr-zone-paths b,
.cr-zone-hub--eur .cr-zone-sights span,
.cr-zone-hub--eur .cr-zone-stay aside > span { color: #5775a6; }
.cr-zone-hub--eur .cr-zone-feature-grid a { background: linear-gradient(145deg,#324873,#526c9d); box-shadow: 0 15px 36px rgba(48,69,108,.14); }
.cr-zone-hub--eur .cr-zone-feature-grid a:nth-child(2) { background: linear-gradient(145deg,#48628f,#7691c3); }
.cr-zone-hub--eur .cr-zone-feature-grid a:nth-child(3) { background: linear-gradient(145deg,#3b465e,#64728e); }
.cr-zone-hub--eur .cr-zone-stay .cr-button--outline { border-color: #9eb1d1; color: #3d5683; }
.cr-zone-hub--eur .cr-zone-stay aside { border-color: #c4d0e5; background: linear-gradient(145deg,#fff,#eff3fb); box-shadow: 0 14px 38px rgba(48,69,108,.08); }
.cr-zone-hub--eur .cr-zone-map { border-color: #aabbd7; box-shadow: 0 14px 40px rgba(48,69,108,.1); }
.cr-zone-hub--eur .cr-zone-business { background: #263653; }
.cr-zone-hub--eur .cr-zone-business .cr-eyebrow { color: #b9cbed; }

/* Centro Storico guide: warm terracotta and travertine, matching the homepage card. */
.cr-zone-hub--centro-storico .cr-zone-hero { background: linear-gradient(125deg,#4f2b29,#77443d 56%,#c67b5b); }
.cr-zone-hub--centro-storico .cr-zone-hero .cr-eyebrow { color: #ffe0c5; }
.cr-zone-hub--centro-storico .cr-zone-hero__nav a:hover { color: #6d3b35; }
.cr-zone-hub--centro-storico .cr-zone-summary { border-color: #e5c8ba; background: #fff8f4; box-shadow: 0 10px 30px rgba(93,50,44,.07); }
.cr-zone-hub--centro-storico .cr-zone-summary h2,
.cr-zone-hub--centro-storico .cr-zone-note strong,
.cr-zone-hub--centro-storico .cr-zone-dayplan strong,
.cr-zone-hub--centro-storico .cr-zone-map-grid > div:first-child a { color: #793f37; }
.cr-zone-hub--centro-storico .cr-zone-summary li > span,
.cr-zone-hub--centro-storico .cr-zone-paths > a > span { background: #f6ded2; color: #793f37; }
.cr-zone-hub--centro-storico .cr-zone-note,
.cr-zone-hub--centro-storico .cr-zone-dayplan { border-left-color: #bd6a50; background: #fff1e9; }
.cr-zone-hub--centro-storico .cr-zone-paths > a,
.cr-zone-hub--centro-storico .cr-zone-sights article { border-color: #e5c8ba; box-shadow: 0 8px 24px rgba(93,50,44,.05); }
.cr-zone-hub--centro-storico .cr-zone-paths > a:hover { border-color: #bd6a50; }
.cr-zone-hub--centro-storico .cr-zone-paths b,
.cr-zone-hub--centro-storico .cr-zone-sights span,
.cr-zone-hub--centro-storico .cr-zone-stay aside > span { color: #a75542; }
.cr-zone-hub--centro-storico .cr-zone-feature-grid a { background: linear-gradient(145deg,#5a302d,#8f5146); box-shadow: 0 15px 36px rgba(93,50,44,.14); }
.cr-zone-hub--centro-storico .cr-zone-feature-grid a:nth-child(2) { background: linear-gradient(145deg,#7d4939,#bd7556); }
.cr-zone-hub--centro-storico .cr-zone-feature-grid a:nth-child(3) { background: linear-gradient(145deg,#43363b,#715864); }
.cr-zone-hub--centro-storico .cr-zone-stay .cr-button--outline { border-color: #d6a995; color: #793f37; }
.cr-zone-hub--centro-storico .cr-zone-stay aside { border-color: #e3c2b3; background: linear-gradient(145deg,#fff,#fff0e7); box-shadow: 0 14px 38px rgba(93,50,44,.08); }
.cr-zone-hub--centro-storico .cr-zone-map { border-color: #d5a995; box-shadow: 0 14px 40px rgba(93,50,44,.1); }
.cr-zone-hub--centro-storico .cr-zone-business { background: #402522; }
.cr-zone-hub--centro-storico .cr-zone-business .cr-eyebrow { color: #efb79f; }

/* San Pietro–Vaticano guide: muted olive and antique gold from the homepage card. */
.cr-zone-hub--san-pietro .cr-zone-hero { background: linear-gradient(125deg,#44412d,#6f6847 56%,#bca363); }
.cr-zone-hub--san-pietro .cr-zone-hero .cr-eyebrow { color: #f6e8bd; }
.cr-zone-hub--san-pietro .cr-zone-hero__nav a:hover { color: #5d5839; }
.cr-zone-hub--san-pietro .cr-zone-summary { border-color: #ddd3ad; background: #fbfaf1; box-shadow: 0 10px 30px rgba(79,75,48,.07); }
.cr-zone-hub--san-pietro .cr-zone-summary h2,
.cr-zone-hub--san-pietro .cr-zone-note strong,
.cr-zone-hub--san-pietro .cr-zone-dayplan strong,
.cr-zone-hub--san-pietro .cr-zone-map-grid > div:first-child a { color: #6a623a; }
.cr-zone-hub--san-pietro .cr-zone-summary li > span,
.cr-zone-hub--san-pietro .cr-zone-paths > a > span { background: #eee8ce; color: #6a623a; }
.cr-zone-hub--san-pietro .cr-zone-note,
.cr-zone-hub--san-pietro .cr-zone-dayplan { border-left-color: #a78e49; background: #f8f5e5; }
.cr-zone-hub--san-pietro .cr-zone-paths > a,
.cr-zone-hub--san-pietro .cr-zone-sights article { border-color: #ddd3ad; box-shadow: 0 8px 24px rgba(79,75,48,.05); }
.cr-zone-hub--san-pietro .cr-zone-paths > a:hover { border-color: #a78e49; }
.cr-zone-hub--san-pietro .cr-zone-paths b,
.cr-zone-hub--san-pietro .cr-zone-sights span,
.cr-zone-hub--san-pietro .cr-zone-stay aside > span { color: #8b773f; }
.cr-zone-hub--san-pietro .cr-zone-feature-grid a { background: linear-gradient(145deg,#4b482f,#77704a); box-shadow: 0 15px 36px rgba(79,75,48,.14); }
.cr-zone-hub--san-pietro .cr-zone-feature-grid a:nth-child(2) { background: linear-gradient(145deg,#70613c,#aa9152); }
.cr-zone-hub--san-pietro .cr-zone-feature-grid a:nth-child(3) { background: linear-gradient(145deg,#3f4140,#696c66); }
.cr-zone-hub--san-pietro .cr-zone-stay .cr-button--outline { border-color: #cbbd83; color: #6a623a; }
.cr-zone-hub--san-pietro .cr-zone-stay aside { border-color: #ddd1a5; background: linear-gradient(145deg,#fff,#f7f3df); box-shadow: 0 14px 38px rgba(79,75,48,.08); }
.cr-zone-hub--san-pietro .cr-zone-map { border-color: #cbbd83; box-shadow: 0 14px 40px rgba(79,75,48,.1); }
.cr-zone-hub--san-pietro .cr-zone-business { background: #353522; }
.cr-zone-hub--san-pietro .cr-zone-business .cr-eyebrow { color: #ddca85; }
.cr-zone-hub--san-pietro .cr-zone-itineraries article,
.cr-zone-hub--san-pietro .cr-zone-tickets article { border-color: #ddd3ad; box-shadow: 0 9px 27px rgba(79,75,48,.055); }
.cr-zone-hub--san-pietro .cr-zone-itineraries article > span,
.cr-zone-hub--san-pietro .cr-zone-itineraries small,
.cr-zone-hub--san-pietro .cr-zone-tickets article > span,
.cr-zone-hub--san-pietro .cr-zone-tickets a { color: #76683b; }
.cr-zone-hub--san-pietro .cr-zone-planning { border-left-color: #a78e49; background: #fff; }
.cr-zone-hub--san-pietro .cr-zone-planning strong { color: #6a623a; }
.cr-zone-hub--san-pietro .cr-zone-practical__grid article { border-top-color: #a78e49; }

/* Ostiense–Garbatella guide: industrial teal, brick and weathered copper. */
.cr-zone-hub--ostiense .cr-zone-hero { background: linear-gradient(125deg,#263f44,#34565e 56%,#71999b); }
.cr-zone-hub--ostiense .cr-zone-hero .cr-eyebrow { color: #d8efea; }
.cr-zone-hub--ostiense .cr-zone-hero__nav a:hover { color: #31545a; }
.cr-zone-hub--ostiense .cr-zone-summary { border-color: #bfd4d2; background: #f5fbfa; box-shadow: 0 10px 30px rgba(43,78,82,.07); }
.cr-zone-hub--ostiense .cr-zone-summary h2,
.cr-zone-hub--ostiense .cr-zone-note strong,
.cr-zone-hub--ostiense .cr-zone-dayplan strong,
.cr-zone-hub--ostiense .cr-zone-map-grid > div:first-child a { color: #35656b; }
.cr-zone-hub--ostiense .cr-zone-summary li > span,
.cr-zone-hub--ostiense .cr-zone-paths > a > span { background: #dceceb; color: #35656b; }
.cr-zone-hub--ostiense .cr-zone-note,
.cr-zone-hub--ostiense .cr-zone-dayplan { border-left-color: #5f8586; background: #edf6f4; }
.cr-zone-hub--ostiense .cr-zone-paths > a,
.cr-zone-hub--ostiense .cr-zone-sights article { border-color: #bfd4d2; box-shadow: 0 8px 24px rgba(43,78,82,.05); }
.cr-zone-hub--ostiense .cr-zone-paths > a:hover { border-color: #5f8586; }
.cr-zone-hub--ostiense .cr-zone-paths b,
.cr-zone-hub--ostiense .cr-zone-sights span,
.cr-zone-hub--ostiense .cr-zone-stay aside > span { color: #48787b; }
.cr-zone-hub--ostiense .cr-zone-feature-grid a { background: linear-gradient(145deg,#28484e,#48757a); box-shadow: 0 15px 36px rgba(43,78,82,.14); }
.cr-zone-hub--ostiense .cr-zone-feature-grid a:nth-child(2) { background: linear-gradient(145deg,#714735,#a46d50); }
.cr-zone-hub--ostiense .cr-zone-feature-grid a:nth-child(3) { background: linear-gradient(145deg,#3d4947,#66746f); }
.cr-zone-hub--ostiense .cr-zone-stay .cr-button--outline { border-color: #91b4b1; color: #35656b; }
.cr-zone-hub--ostiense .cr-zone-stay aside { border-color: #bdd2cf; background: linear-gradient(145deg,#fff,#edf6f4); box-shadow: 0 14px 38px rgba(43,78,82,.08); }
.cr-zone-hub--ostiense .cr-zone-map { border-color: #91b4b1; box-shadow: 0 14px 40px rgba(43,78,82,.1); }
.cr-zone-hub--ostiense .cr-zone-business { background: #24383c; }
.cr-zone-hub--ostiense .cr-zone-business .cr-eyebrow { color: #a8cfcb; }
.cr-zone-hub--ostiense .cr-zone-itineraries article,
.cr-zone-hub--ostiense .cr-zone-tickets article { border-color: #bfd4d2; box-shadow: 0 9px 27px rgba(43,78,82,.055); }
.cr-zone-hub--ostiense .cr-zone-itineraries article > span,
.cr-zone-hub--ostiense .cr-zone-itineraries small,
.cr-zone-hub--ostiense .cr-zone-tickets article > span,
.cr-zone-hub--ostiense .cr-zone-tickets a { color: #48787b; }
.cr-zone-hub--ostiense .cr-zone-planning { border-left-color: #5f8586; background: #fff; }
.cr-zone-hub--ostiense .cr-zone-planning strong { color: #35656b; }
.cr-zone-hub--ostiense .cr-zone-practical__grid article { border-top-color: #5f8586; }

/* Quartieri e zone index. */
.cr-zones-index__hero { background: linear-gradient(125deg,#4a1d2a,#742e3f 52%,#b65f50); }
.cr-zones-index__hero .cr-eyebrow { color: #ffd0a8; }
.cr-zones-index__hero h1 { max-width: 860px; }
.cr-zones-index__intro { padding-bottom: 54px; }
.cr-zones-index__intro-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(310px,.8fr); gap: 58px; align-items: start; }
.cr-zones-index__intro h2 { margin: 7px 0 18px; font-family: Georgia,serif; font-size: clamp(2rem,4vw,3.2rem); line-height: 1.08; }
.cr-zones-index__intro-grid > div p { max-width: 760px; color: var(--cr-muted); line-height: 1.7; }
.cr-zones-index__chooser { padding: 24px; border: 1px solid #dfc4b6; border-radius: 19px; background: #fff9f3; box-shadow: 0 13px 36px rgba(85,39,26,.07); }
.cr-zones-index__chooser > span { color: var(--cr-coral); font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cr-zones-index__chooser ul { display: grid; gap: 0; margin: 14px 0 0; padding: 0; list-style: none; }
.cr-zones-index__chooser li { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; align-items: center; padding: 13px 0; border-top: 1px solid #ecd9ce; }
.cr-zones-index__chooser li:first-child { border-top: 0; }
.cr-zones-index__chooser strong { font-family: Georgia,serif; font-size: .88rem; }
.cr-zones-index__chooser a { padding: 6px 8px; border-radius: 999px; background: #fff; color: var(--cr-burgundy); font-size: .64rem; font-weight: 800; text-decoration: none; }
.cr-zones-index__chooser a:hover { background: var(--cr-burgundy); color: #fff; }
.cr-zones-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.cr-zones-card { display: grid; grid-template-columns: minmax(190px,.82fr) minmax(0,1.18fr); min-height: 310px; overflow: hidden; border: 1px solid #e1cdc1; border-radius: 20px; background: #fff; box-shadow: 0 12px 34px rgba(67,39,30,.07); }
.cr-zones-card__image { min-height: 100%; overflow: hidden; background: var(--zone-accent); }
.cr-zones-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.cr-zones-card:hover .cr-zones-card__image img { transform: scale(1.025); }
.cr-zones-card__body { display: flex; min-width: 0; padding: 23px; flex-direction: column; border-top: 4px solid var(--zone-accent); }
.cr-zones-card__body > span { color: var(--zone-accent); font-size: .62rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }
.cr-zones-card h3 { margin: 8px 0 9px; font-family: Georgia,serif; font-size: 1.55rem; line-height: 1.08; }
.cr-zones-card h3 a { color: var(--cr-ink); text-decoration: none; }
.cr-zones-card p { margin: 0 0 17px; color: var(--cr-muted); font-size: .78rem; line-height: 1.58; }
.cr-zones-card__body > div { display: grid; gap: 2px; margin-top: auto; padding-top: 13px; border-top: 1px solid var(--cr-line); }
.cr-zones-card small { color: #9a7b6e; font-size: .58rem; font-weight: 850; text-transform: uppercase; }
.cr-zones-card strong { color: #5d463d; font-size: .7rem; }
.cr-zones-card__cta { margin-top: 15px; color: var(--zone-accent); font-size: .72rem; font-weight: 900; text-decoration: none; }
.cr-zones-index__paths { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.cr-zones-index__paths > a { display: flex; min-height: 190px; padding: 21px; flex-direction: column; border: 1px solid #e2cbbf; border-radius: 17px; background: #fff; color: var(--cr-ink); text-decoration: none; box-shadow: 0 9px 28px rgba(67,39,30,.055); }
.cr-zones-index__paths > a > span { color: var(--cr-coral); font-family: Georgia,serif; font-size: 1.16rem; font-weight: 900; }
.cr-zones-index__paths h3 { margin: 25px 0 8px; font-family: Georgia,serif; font-size: 1.27rem; }
.cr-zones-index__paths p { margin: 0 0 16px; color: var(--cr-muted); font-size: .76rem; line-height: 1.52; }
.cr-zones-index__paths b { margin-top: auto; color: var(--cr-burgundy); }
.cr-zones-index__paths > a:hover { border-color: var(--cr-coral); transform: translateY(-2px); }
.cr-zones-index__note { display: flex; align-items: center; gap: 22px; margin-top: 17px; padding: 19px 22px; border-left: 4px solid var(--cr-coral); border-radius: 4px 14px 14px 4px; background: #fff4e7; }
.cr-zones-index__note strong { flex: 0 0 auto; color: var(--cr-burgundy); font-family: Georgia,serif; }
.cr-zones-index__note p { margin: 0; color: var(--cr-muted); font-size: .8rem; line-height: 1.55; }
.cr-zones-index .cr-featured-slot { padding: 0 0 55px; }
.cr-zones-index__business { background: #401b28; }

@media (max-width: 980px) {
    .cr-zones-directory { grid-template-columns: 1fr; }
    .cr-zones-index__paths { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .cr-zones-index__intro-grid { grid-template-columns: 1fr; gap: 28px; }
    .cr-zones-card { grid-template-columns: 1fr; }
    .cr-zones-card__image { aspect-ratio: 16/9; min-height: 0; }
    .cr-zones-card__body { min-height: 285px; }
    .cr-zones-index__note { align-items: flex-start; flex-direction: column; gap: 7px; }
}
@media (max-width: 520px) {
    .cr-zones-index__chooser li { grid-template-columns: 1fr 1fr; }
    .cr-zones-index__chooser strong { grid-column: 1/-1; }
    .cr-zones-index__chooser a { text-align: center; }
    .cr-zones-index__paths { grid-template-columns: 1fr; }
    .cr-zones-index__paths > a { min-height: 0; }
}

.cr-zone-itineraries { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.cr-zone-itineraries article { position: relative; min-height: 235px; padding: 24px; border: 1px solid #e5c8ba; border-radius: 17px; background: #fff; box-shadow: 0 9px 27px rgba(93,50,44,.055); }
.cr-zone-itineraries article > span { display: inline-block; color: #a75542; font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cr-zone-itineraries h3 { margin: 24px 0 10px; font-family: Georgia,serif; font-size: 1.25rem; }
.cr-zone-itineraries p { margin: 0; color: var(--cr-muted); font-size: .8rem; line-height: 1.6; }
.cr-zone-itineraries small { display: block; margin-top: 17px; color: #8f655b; font-size: .67rem; font-weight: 800; }
.cr-zone-planning { margin-top: 16px; padding: 20px 22px; border-left: 4px solid #bd6a50; border-radius: 4px 14px 14px 4px; background: #fff; }
.cr-zone-planning strong { color: #793f37; font-family: Georgia,serif; }
.cr-zone-planning p { margin: 7px 0 0; color: var(--cr-muted); font-size: .82rem; line-height: 1.6; }
.cr-zone-tickets { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; }
.cr-zone-tickets article { display: flex; min-height: 255px; padding: 21px; flex-direction: column; border: 1px solid #dfbfb1; border-radius: 17px; background: #fff; box-shadow: 0 9px 27px rgba(93,50,44,.055); }
.cr-zone-tickets article > span { color: #a75542; font-family: Georgia,serif; font-size: 1.15rem; font-weight: 900; }
.cr-zone-tickets h3 { margin: 21px 0 9px; font-family: Georgia,serif; font-size: 1.1rem; }
.cr-zone-tickets p { margin: 0 0 18px; color: var(--cr-muted); font-size: .76rem; line-height: 1.55; }
.cr-zone-tickets a { margin-top: auto; color: #793f37; font-size: .71rem; font-weight: 850; text-decoration: none; }
.cr-zone-disclosure { margin: 15px 0 0; color: #846961; font-size: .7rem; line-height: 1.55; }
.cr-zone-sights--six { grid-template-columns: repeat(3,minmax(0,1fr)); }
.cr-zone-practical__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.cr-zone-practical__grid article { padding: 20px; border-top: 3px solid #bd6a50; border-radius: 5px 5px 14px 14px; background: #fff; }
.cr-zone-practical__grid h3 { margin: 0 0 9px; font-family: Georgia,serif; font-size: 1.05rem; }
.cr-zone-practical__grid p { margin: 0; color: var(--cr-muted); font-size: .76rem; line-height: 1.58; }

@media (max-width: 860px) {
    .cr-zone-itineraries, .cr-zone-sights--six { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cr-zone-tickets, .cr-zone-practical__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
    .cr-zone-itineraries, .cr-zone-sights--six, .cr-zone-tickets, .cr-zone-practical__grid { grid-template-columns: 1fr; }
    .cr-zone-itineraries article, .cr-zone-tickets article { min-height: 0; }
}
.cr-cinema-map { padding-top: 4px; }
.cr-cinema-map__head { display: flex; align-items: end; justify-content: space-between; gap: 22px; margin-bottom: 15px; }
.cr-cinema-map__head h2 { margin: 5px 0 0; }
.entry-content + .cr-cinema-map a, .cr-cinema-map__head a { flex: 0 0 auto; color: var(--cr-burgundy); font-size: .76rem; font-weight: 800; text-decoration: none; }
.cr-cinema-map__frame { position: relative; overflow: hidden; aspect-ratio: 16/8; border: 1px solid #e7c6b2; border-radius: 18px; background: #f2e6dc; box-shadow: 0 14px 38px rgba(85,39,26,.09); }
.cr-cinema-map iframe { width: 100%; height: 100%; border: 0; }
.cr-related { margin-top: 58px; padding-top: 35px; border-top: 1px solid var(--cr-line); }
.cr-related h2 { margin: 6px 0 22px; font-family: Georgia, serif; font-size: 2rem; }
.cr-subpage-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.cr-subpage-grid a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 58px; padding: 12px 15px; border: 1px solid var(--cr-line); border-radius: 12px; background: #fff; color: var(--cr-ink); text-decoration: none; font-size: .88rem; font-weight: 720; transition: .2s ease; }
.cr-subpage-grid a:hover { border-color: #e9a483; background: #fff5ea; transform: translateY(-2px); }
.cr-subpage-grid strong { color: var(--cr-terracotta); font-size: 1.1rem; }
.cr-lead-form { display: grid; gap: 18px; margin-top: 34px; padding: 30px; border: 1px solid var(--cr-line); border-radius: var(--cr-radius); background: var(--cr-cream); }
.cr-lead-form label { display: grid; gap: 7px; font-weight: 750; }
.cr-lead-form input, .cr-lead-form textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--cr-line); border-radius: 10px; background: #fff; }
.cr-lead-form .cr-button { width: fit-content; border: 0; cursor: pointer; }
.cr-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
+
/* Inserisci attività */
.cr-submit-page { background: #fff; color: var(--cr-ink); }
.cr-submit-hero { overflow: hidden; padding: 72px 0; border-bottom: 1px solid #ecd9cd; background: linear-gradient(130deg,#fff8ef 0%,#f7e7dc 62%,#efd4c8 100%); }
.cr-submit-hero__grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(330px,.65fr); align-items: center; gap: 64px; }
.cr-submit-hero__copy { max-width: 760px; }
.cr-submit-hero h1 { max-width: 720px; margin: 11px 0 20px; font-family: Georgia,serif; font-size: clamp(2.7rem,5.3vw,4.85rem); line-height: .98; letter-spacing: -.035em; }
.cr-submit-hero__copy > p { max-width: 710px; margin: 0; color: #5f4c44; font-size: 1.03rem; line-height: 1.75; }
.cr-submit-hero .cr-button { margin-top: 28px; background: var(--cr-burgundy); color: #fff; }
.cr-submit-hero__note { padding: 28px; border: 1px solid rgba(120,49,40,.18); border-radius: 22px; background: rgba(255,255,255,.8); box-shadow: 0 20px 50px rgba(91,49,38,.09); }
.cr-submit-hero__note > strong { display: block; font-family: Georgia,serif; font-size: 1.65rem; }
.cr-submit-hero__note p { margin: 8px 0 18px; color: var(--cr-muted); line-height: 1.55; }
.cr-submit-hero__note ul { margin: 0; padding: 0; list-style: none; }
.cr-submit-hero__note li { padding: 11px 0; border-top: 1px solid #eadbd2; color: #57463f; font-size: .88rem; }
.cr-submit-hero__note li::before { content: "✓"; margin-right: 10px; color: var(--cr-coral); font-weight: 900; }
.cr-submit-process { padding-bottom: 54px; }
.cr-submit-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.62fr); column-gap: 52px; align-items: end; margin-bottom: 28px; }
.cr-submit-section-head .cr-eyebrow { grid-column: 1 / -1; }
.cr-submit-section-head h2 { max-width: 720px; margin: 10px 0 0; font-family: Georgia,serif; font-size: clamp(2rem,3.7vw,3.15rem); line-height: 1.05; }
.cr-submit-section-head p { margin: 0; color: var(--cr-muted); line-height: 1.65; }
.cr-submit-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.cr-submit-steps article { padding: 24px; border: 1px solid #ecddd3; border-radius: 18px; background: #fff; }
.cr-submit-steps article > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: #f2ded1; color: var(--cr-burgundy); font-size: .78rem; font-weight: 900; }
.cr-submit-steps h3 { margin: 15px 0 7px; font-family: Georgia,serif; font-size: 1.25rem; }
.cr-submit-steps p { margin: 0; color: var(--cr-muted); font-size: .85rem; line-height: 1.6; }
.cr-submit-main { padding-top: 60px; background: #f6f1ec; }
.cr-submit-main__grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.6fr); align-items: start; gap: 28px; }
.cr-submit-form-card { padding: 34px; border: 1px solid #eadbd2; border-radius: 22px; background: #fff; box-shadow: 0 14px 38px rgba(63,40,31,.06); }
.cr-submit-form-card h2 { margin: 8px 0 8px; font-family: Georgia,serif; font-size: clamp(2rem,3vw,2.7rem); }
.cr-submit-form-card__intro { margin: 0; color: var(--cr-muted); }
.cr-submit-form { gap: 20px; margin: 28px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.cr-submit-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.cr-submit-form label { color: #382a25; font-size: .86rem; }
.cr-submit-form input, .cr-submit-form select, .cr-submit-form textarea { width: 100%; padding: 13px 14px; border: 1px solid #dacabf; border-radius: 10px; background: #fffdfb; color: var(--cr-ink); font: inherit; }
.cr-submit-form textarea { resize: vertical; line-height: 1.55; }
.cr-submit-form input:focus, .cr-submit-form select:focus, .cr-submit-form textarea:focus { outline: 3px solid rgba(204,94,62,.14); border-color: var(--cr-coral); }
.cr-submit-form .cr-submit-consent { display: flex; grid-template-columns: none; align-items: flex-start; gap: 10px; color: var(--cr-muted); font-size: .78rem; font-weight: 550; line-height: 1.5; }
.cr-submit-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 2px; accent-color: var(--cr-burgundy); }
.cr-submit-consent a { color: var(--cr-burgundy); font-weight: 750; text-decoration: underline; }
.cr-submit-form .cr-button { min-height: 46px; padding-inline: 22px; background: var(--cr-burgundy); color: #fff; }
.cr-submit-form__note { max-width: 680px; color: #7a6860; line-height: 1.5; }
.cr-submit-alert { display: grid; gap: 3px; margin-top: 22px; padding: 15px 17px; border-radius: 12px; }
.cr-submit-alert--success { border: 1px solid #b9d8c4; background: #eef8f1; color: #285c3a; }
.cr-submit-alert--error { border: 1px solid #e6bcb3; background: #fff0ed; color: #8a332b; }
.cr-submit-aside { position: sticky; top: 96px; display: grid; gap: 18px; }
.cr-submit-aside section { padding: 25px; border: 1px solid #e5d5ca; border-radius: 19px; background: #fff; }
.cr-submit-aside__icon { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #e4efe7; color: #2d6944; font-weight: 900; }
.cr-submit-aside h2 { margin: 13px 0 12px; font-family: Georgia,serif; font-size: 1.45rem; line-height: 1.12; }
.cr-submit-aside ul { margin: 0; padding-left: 19px; color: var(--cr-muted); }
.cr-submit-aside li { margin: 10px 0; font-size: .82rem; line-height: 1.55; }
.cr-submit-aside__commercial { background: linear-gradient(145deg,#6f1736,#4d1027) !important; color: #fff; }
.cr-submit-aside__commercial .cr-eyebrow { color: #f5bc82; }
.cr-submit-aside__commercial p { color: rgba(255,255,255,.78); font-size: .85rem; line-height: 1.6; }
.cr-submit-aside__commercial a { color: #fff; font-size: .82rem; font-weight: 850; }
.cr-submit-faq { background: #fffaf5; }
.cr-submit-faq__grid { display: grid; grid-template-columns: minmax(260px,.65fr) minmax(0,1.35fr); align-items: start; gap: 60px; }
.cr-submit-faq header h2 { margin: 9px 0 10px; font-family: Georgia,serif; font-size: clamp(2rem,3vw,2.75rem); line-height: 1.05; }
.cr-submit-faq header p { color: var(--cr-muted); line-height: 1.6; }
.cr-submit-faq__items { display: grid; gap: 10px; }
.cr-submit-faq details { padding: 17px 19px; border: 1px solid #eadbd0; border-radius: 13px; background: #fff; }
.cr-submit-faq summary { cursor: pointer; font-family: Georgia,serif; font-size: 1.08rem; font-weight: 700; }
.cr-submit-faq details p { margin: 11px 0 0; color: var(--cr-muted); font-size: .86rem; line-height: 1.65; }
+
/* Pubblicità e collaborazioni */
.cr-ads-page { color: var(--cr-ink); }
.cr-ads-hero { overflow: hidden; padding: 76px 0; background: linear-gradient(128deg,#4c1026 0%,#70183a 62%,#9c4b45 145%); color: #fff; }
.cr-ads-hero__grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(330px,.58fr); align-items: center; gap: 68px; }
.cr-ads-hero .cr-eyebrow { color: #f3bb7a; }
.cr-ads-hero h1 { max-width: 800px; margin: 10px 0 22px; font-family: Georgia,serif; font-size: clamp(2.7rem,5.4vw,4.9rem); line-height: .98; letter-spacing: -.035em; }
.cr-ads-hero__copy > p { max-width: 760px; margin: 0; color: rgba(255,255,255,.78); font-size: 1.02rem; line-height: 1.75; }
.cr-ads-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.cr-ads-hero .cr-button { min-height: 46px; background: #f1b55f; color: #3f1c15; }
.cr-ads-hero .cr-button--outline { border: 1px solid rgba(255,255,255,.5); background: transparent; color: #fff; }
.cr-ads-hero__panel { padding: 28px; border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: rgba(255,255,255,.08); box-shadow: 0 24px 60px rgba(0,0,0,.16); }
.cr-ads-hero__panel > span { display: block; color: #f4be78; font-size: .68rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.cr-ads-hero__panel ul { margin: 17px 0 0; padding: 0; list-style: none; }
.cr-ads-hero__panel li { padding: 13px 0; border-top: 1px solid rgba(255,255,255,.13); font-size: .88rem; line-height: 1.5; }
.cr-ads-hero__panel li::before { content: "✓"; margin-right: 10px; color: #f4be78; font-weight: 900; }
.cr-ads-section-head { display: grid; grid-template-columns: minmax(0,1fr) minmax(310px,.62fr); align-items: end; gap: 52px; margin-bottom: 28px; }
.cr-ads-section-head h2 { max-width: 740px; margin: 9px 0 0; font-family: Georgia,serif; font-size: clamp(2rem,3.8vw,3.2rem); line-height: 1.04; }
.cr-ads-section-head > p { margin: 0; color: var(--cr-muted); line-height: 1.65; }
.cr-ads-value__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.cr-ads-value__grid article { padding: 25px; border: 1px solid #ebddd3; border-radius: 18px; background: #fff; }
.cr-ads-value__grid article > span { color: var(--cr-coral); font-family: Georgia,serif; font-size: 1.55rem; }
.cr-ads-value__grid h3 { margin: 16px 0 7px; font-family: Georgia,serif; font-size: 1.28rem; }
.cr-ads-value__grid p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.62; }
.cr-ads-packages { background: #f6f0ea; }
.cr-ads-packages__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 17px; }
.cr-ads-package { display: flex; flex-direction: column; padding: 27px; border: 1px solid #e5d3c7; border-radius: 20px; background: #fff; box-shadow: 0 12px 34px rgba(65,39,30,.05); }
.cr-ads-package--featured { border-color: #b76554; box-shadow: 0 16px 42px rgba(109,31,51,.11); }
.cr-ads-package__label { color: var(--cr-coral); font-size: .64rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.cr-ads-package h3 { margin: 9px 0 13px; font-family: Georgia,serif; font-size: 1.55rem; }
.cr-ads-package > p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.6; }
.cr-ads-package ul { margin: 20px 0 24px; padding: 0; list-style: none; }
.cr-ads-package li { padding: 9px 0; border-top: 1px solid #eee1d8; color: #594841; font-size: .79rem; }
.cr-ads-package li::before { content: "✓"; margin-right: 8px; color: var(--cr-coral); font-weight: 900; }
.cr-ads-package > a { width: fit-content; margin-top: auto; color: var(--cr-burgundy); font-size: .78rem; font-weight: 850; }
.cr-ads-packages__note { max-width: 940px; margin: 24px auto 0; color: #77645c; font-size: .72rem; line-height: 1.55; text-align: center; }
.cr-ads-transparency { background: #fff; }
.cr-ads-transparency__grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); align-items: start; gap: 70px; }
.cr-ads-transparency h2 { margin: 9px 0 13px; font-family: Georgia,serif; font-size: clamp(2rem,3.6vw,3.05rem); line-height: 1.05; }
.cr-ads-transparency p { color: var(--cr-muted); line-height: 1.65; }
.cr-ads-transparency ul { margin: 0; padding: 0; list-style: none; }
.cr-ads-transparency li { display: grid; gap: 4px; padding: 16px 0; border-top: 1px solid #eadbd1; }
.cr-ads-transparency li:first-child { border-top: 0; padding-top: 0; }
.cr-ads-transparency li strong { font-family: Georgia,serif; font-size: 1.08rem; }
.cr-ads-transparency li span { color: var(--cr-muted); font-size: .83rem; line-height: 1.55; }
.cr-ads-contact { background: linear-gradient(135deg,#f6e9de,#fff8f0); }
.cr-ads-contact__grid { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(0,1.3fr); align-items: start; gap: 45px; }
.cr-ads-contact__intro { position: sticky; top: 96px; }
.cr-ads-contact__intro h2 { margin: 9px 0 14px; font-family: Georgia,serif; font-size: clamp(2.1rem,3.5vw,3.1rem); line-height: 1.04; }
.cr-ads-contact__intro > p { color: var(--cr-muted); line-height: 1.65; }
.cr-ads-contact__free { margin-top: 28px; padding: 20px; border: 1px solid #dec9bb; border-radius: 15px; background: rgba(255,255,255,.65); }
.cr-ads-contact__free strong { font-family: Georgia,serif; font-size: 1rem; }
.cr-ads-contact__free p { margin: 7px 0; color: var(--cr-muted); font-size: .8rem; }
.cr-ads-contact__free a { color: var(--cr-burgundy); font-size: .78rem; font-weight: 850; }
.cr-ads-form-card { padding: 31px; border: 1px solid #e1cfc2; border-radius: 21px; background: #fff; box-shadow: 0 15px 40px rgba(70,40,29,.07); }
.cr-ads-form { gap: 19px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.cr-ads-form__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.cr-ads-form label { color: #392b26; font-size: .85rem; }
.cr-ads-form input, .cr-ads-form select, .cr-ads-form textarea { width: 100%; padding: 13px 14px; border: 1px solid #dacabf; border-radius: 10px; background: #fffdfb; color: var(--cr-ink); font: inherit; }
.cr-ads-form textarea { resize: vertical; line-height: 1.55; }
.cr-ads-form input:focus, .cr-ads-form select:focus, .cr-ads-form textarea:focus { outline: 3px solid rgba(204,94,62,.14); border-color: var(--cr-coral); }
.cr-ads-form .cr-submit-consent { display: flex; align-items: flex-start; gap: 10px; color: var(--cr-muted); font-size: .78rem; font-weight: 550; line-height: 1.5; }
.cr-ads-form .cr-submit-consent input { flex: 0 0 auto; width: 17px; height: 17px; margin-top: 2px; }
.cr-ads-form .cr-button { min-height: 46px; padding-inline: 22px; background: var(--cr-burgundy); color: #fff; }
.cr-ads-form > small { color: #78665e; line-height: 1.5; }
.cr-ads-faq { background: #fffaf5; }
.cr-ads-faq__grid { display: grid; grid-template-columns: minmax(240px,.55fr) minmax(0,1.45fr); align-items: start; gap: 58px; }
.cr-ads-faq h2 { margin: 9px 0 0; font-family: Georgia,serif; font-size: clamp(2rem,3vw,2.7rem); }
.cr-ads-faq__grid > div { display: grid; gap: 10px; }
.cr-ads-faq details { padding: 17px 19px; border: 1px solid #eadbd0; border-radius: 13px; background: #fff; }
.cr-ads-faq summary { cursor: pointer; font-family: Georgia,serif; font-size: 1.07rem; font-weight: 750; }
.cr-ads-faq details p { margin: 11px 0 0; color: var(--cr-muted); font-size: .85rem; line-height: 1.62; }


.cr-footer { padding: 58px 0 28px; background: #211714; color: #fff; }
.cr-footer .cr-brand__text { color: #fff5e8; }
.cr-footer__grid { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 44px; }
.cr-footer h3 { margin: 0 0 15px; font-family: Georgia, serif; }
.cr-footer p, .cr-footer a { color: rgba(255,255,255,.7); font-size: .88rem; }
.cr-footer a { display: block; margin: 7px 0; }
.cr-footer__bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 45px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.5); font-size: .75rem; }

@media (max-width: 900px) {
  .cr-ads-hero__grid, .cr-ads-section-head, .cr-ads-transparency__grid, .cr-ads-contact__grid, .cr-ads-faq__grid { grid-template-columns: 1fr; }
  .cr-ads-hero__grid { gap: 30px; }
  .cr-ads-section-head { gap: 12px; }
  .cr-ads-value__grid, .cr-ads-packages__grid { grid-template-columns: 1fr; }
  .cr-ads-contact__intro { position: static; }
  .cr-submit-hero__grid, .cr-submit-section-head, .cr-submit-main__grid, .cr-submit-faq__grid { grid-template-columns: 1fr; }
  .cr-submit-hero__grid { gap: 30px; }
  .cr-submit-section-head { gap: 12px; }
  .cr-submit-aside { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-bnb-hub__checks { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-hub-guide__checks { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-culture-hub__groups { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-culture-hub__group:last-child { grid-column: 1 / -1; }
  .cr-restaurant-hub-card__links, .cr-restaurant-hub-card--typical .cr-restaurant-hub-card__links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .entry-content table:has(.cr-stextbox) tbody { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-restaurant-directory-layout { grid-template-columns: 1fr; gap: 24px; }
  .cr-restaurant-directory-results .cr-listing-grid { grid-template-columns: 1fr; }
  .cr-restaurant-sidebar { position: static; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .cr-restaurant-sidebar__head, .cr-restaurant-sidebar__business { grid-column: 1/-1; }
  .cr-restaurant-directory-results .cr-listing-card--verified { grid-template-columns: 1fr; grid-template-areas: "title" "visual" "content"; }
  .cr-restaurant-directory-results .cr-listing-card--verified > h2 { min-height: 64px; padding-right: 68px; background: linear-gradient(90deg,#f9e8d9,#fff7ee); }
  .cr-restaurant-highlights { grid-template-columns: 1fr; }
  .cr-hotel-directory-layout { grid-template-columns: 1fr; gap: 26px; }
  .cr-hotel-sidebar { position: static; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .cr-hotel-sidebar__head, .cr-hotel-sidebar__booking { grid-column: 1/-1; }
  .cr-hotel-sidebar__group { border-top: 1px solid #eee0d6; border-right: 1px solid #eee0d6; }
  .cr-hotel-guide-intro { grid-template-columns: 1fr; }
  .cr-hotel-card-grid { grid-template-columns: 1fr; }
  .cr-hotel-selection--booking .cr-hotel-card { grid-template-columns: 1fr; }
  .entry-content .cr-hotel-selection--booking .cr-hotel-card__visual img { min-height: 0; aspect-ratio: 16/7; }
  .cr-nav { display: none; }
  .cr-nav.is-open { position: absolute; top: 100%; left: 20px; right: 20px; display: grid; gap: 4px; padding: 16px; border: 1px solid var(--cr-line); border-radius: 15px; background: #fff; box-shadow: var(--cr-shadow); }
  .cr-nav.is-open a { padding: 9px 10px; }
  .cr-mega__panel { left: 0; right: auto; }
  .cr-mega__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-menu-toggle { display: block; }
  .cr-category-grid, .cr-feature-grid { grid-template-columns: repeat(2, 1fr); }
  .cr-guide-showcase { grid-template-columns: 1fr; }
  .cr-guide-showcase__featured { min-height: 310px; }
  .cr-guide-showcase__compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-guide-tile { grid-template-columns: 1fr; }
  .cr-guide-tile__image { min-height: 118px; }
  .cr-neighborhoods { grid-template-columns: 1fr 1fr; }
  .cr-neighborhoods .cr-place { grid-column: auto; }
  .cr-neighborhoods .cr-place:last-child { grid-column: auto; }
  .cr-business__head { grid-template-columns: 1fr; gap: 12px; }
  .cr-newsletter { grid-template-columns: 1fr; }
  .cr-footer__grid { grid-template-columns: 1fr 1fr; }
  .cr-subpage-grid { grid-template-columns: repeat(2, 1fr); }
  .cr-listing-grid { grid-template-columns: 1fr; }
  .cr-now-playing__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-cinema-detail { grid-template-columns: 1fr; gap: 38px; }
  .cr-zone-intro__grid, .cr-zone-story__grid, .cr-zone-stay, .cr-zone-map-grid { grid-template-columns: 1fr; gap: 35px; }
  .cr-zone-hub .cr-zone-intro__grid { gap: 20px; }
  .cr-zone-summary ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-zone-summary li:nth-child(n+3) { border-top: 1px solid #efd9ca; }
  .cr-featured-slot__empty { grid-template-columns: 42px minmax(0,1fr); }
  .cr-featured-slot__empty .cr-button { grid-column: 2; width: fit-content; }
  .cr-featured-slot__grid { grid-template-columns: 1fr; }
  .cr-zone-hub .cr-zone-story__grid { gap: 16px; }
  .cr-zone-story__copy > p:first-child { margin-top: 0; }
  .cr-zone-sights { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-zone-business .cr-container { align-items: flex-start; flex-direction: column; gap: 25px; }
  .cr-cinema-info { position: static; }
}

@media (max-width: 620px) {
  .cr-ads-hero { padding: 50px 0; }
  .cr-ads-hero h1 { font-size: 2.5rem; }
  .cr-ads-hero__actions { align-items: stretch; flex-direction: column; }
  .cr-ads-hero__actions .cr-button { width: 100%; }
  .cr-ads-hero__panel, .cr-ads-package, .cr-ads-form-card { padding: 22px; }
  .cr-ads-form__grid { grid-template-columns: 1fr; }
  .cr-ads-transparency__grid, .cr-ads-faq__grid { gap: 28px; }
  .cr-submit-hero { padding: 48px 0; }
  .cr-submit-hero h1 { font-size: 2.55rem; }
  .cr-submit-hero__note, .cr-submit-form-card { padding: 22px; }
  .cr-submit-steps, .cr-submit-form__grid, .cr-submit-aside { grid-template-columns: 1fr; }
  .cr-submit-process { padding-bottom: 44px; }
  .cr-submit-main { padding-top: 48px; }
  .cr-submit-faq__grid { gap: 28px; }
  .cr-restaurant-hub-grid { grid-template-columns: 1fr; }
  .cr-restaurant-hub-card--typical { grid-column: auto; }
  .cr-restaurant-hub-card__links, .cr-restaurant-hub-card--typical .cr-restaurant-hub-card__links { grid-template-columns: 1fr; }
  .cr-page-hero h1 { max-width: 100%; font-size: 2rem; overflow-wrap: anywhere; }
  .cr-content--page, .cr-article, .entry-content, .cr-restaurant-sidebar, .cr-restaurant-sidebar__group, .cr-restaurant-sidebar__business { min-width: 0; max-width: 100%; }
  .cr-restaurant-directory-layout, .cr-restaurant-directory-results { min-width: 0; width: 100%; }
  .cr-restaurant-sidebar { grid-template-columns: 1fr; }
  .cr-restaurant-sidebar__head, .cr-restaurant-sidebar__business { grid-column: auto; }
  .cr-category-intro-visual--food, .cr-hotel-hub__visual { min-height: 180px; }
  .entry-content .cr-category-intro-visual--food img, .entry-content .cr-hotel-hub__visual img { min-height: 180px; aspect-ratio: 16/6; }
  .cr-hotel-sidebar { grid-template-columns: 1fr; }
  .cr-hotel-sidebar__head, .cr-hotel-sidebar__booking { grid-column: auto; }
  .cr-hotel-sidebar__group { border-right: 0; }
  .cr-hotel-card { grid-template-columns: 1fr; }
  .cr-hotel-selection--booking .cr-hotel-card { grid-template-columns: 1fr; }
  .entry-content .cr-hotel-card__visual img { min-height: 0; aspect-ratio: 16/8.5; }
  .cr-hotel-card__body { padding: 16px; }
  .cr-hotel-search-box { grid-template-columns: 1fr; padding: 20px; }
  .cr-container { width: min(100% - 24px, 1180px); }
  .cr-topbar .cr-container { justify-content: center; }
  .cr-topbar span:last-child { display: none; }
  .cr-header__inner { min-height: 68px; }
  .cr-header__inner { gap: 10px; }
  .cr-mega__roma { display: none; }
  .cr-mega__toggle { padding: 8px 10px; }
  .cr-mega__panel { top: 104px; left: 12px; width: calc(100vw - 24px); }
  .cr-hero { min-height: 650px; }
  .cr-hero__content { padding: 70px 0 86px; }
  .cr-search { grid-template-columns: 1fr; }
  .cr-search select { border-left: 0; border-top: 1px solid var(--cr-line); }
  .cr-section { padding: 66px 0; }
  .cr-section-head { align-items: start; flex-direction: column; }
  .cr-category-grid, .cr-feature-grid, .cr-neighborhoods { grid-template-columns: 1fr; }
  .cr-neighborhoods { grid-auto-rows: 148px; }
  .cr-guide-showcase__featured { grid-template-columns: 1fr; min-height: 0; }
  .cr-guide-showcase__image { min-height: 190px; }
  .cr-guide-showcase__body { padding: 20px; }
  .cr-guide-showcase__compact { grid-template-columns: 1fr; }
  .cr-guide-tile { grid-template-columns: 106px minmax(0,1fr); min-height: 144px; }
  .cr-guide-tile__image { min-height: 100%; padding: 12px; }
  .cr-guide-tile > div:last-child { padding: 14px; }
  .cr-guide-tile h3 { font-size: 1.04rem; }
  .cr-guide-tile p { display: none; }
  .cr-neighborhoods .cr-place, .cr-neighborhoods .cr-place:last-child { grid-column: auto; }
  .cr-place { min-height: 148px; }
  .cr-business__paths { grid-template-columns: 1fr; }
  .cr-business-path { padding: 22px; }
  .cr-newsletter { padding: 28px 22px; }
  .cr-newsletter form { flex-direction: column; }
  .cr-newsletter input { min-width: 0; width: 100%; }
  .cr-footer__grid { grid-template-columns: 1fr; }
  .cr-footer__bottom { flex-direction: column; }
  .cr-page-hero { padding: 38px 0 34px; }
  .cr-page-hero p { font-size: .93rem; }
  .cr-subpage-grid { grid-template-columns: 1fr; }
  .entry-content { font-size: .95rem; }
  .entry-content table { display: block; overflow-x: auto; white-space: nowrap; }
  .entry-content table:has(.cr-stextbox) tbody { display: grid; grid-template-columns: 1fr; }
  .entry-content table:has(.cr-stextbox) tr { display: contents; }
  .entry-content table:has(.cr-stextbox) td { display: block; width: 100%; }
  .cr-stextbox { height: auto; min-height: 0; }
  .cr-stextbox h3 { min-height: 0; }
  .cr-listing-card { grid-template-columns: 108px minmax(0,1fr); min-height: 158px; }
  .cr-zone-nav { align-items: flex-start; flex-direction: column; gap: 9px; }
  .cr-directory-links { grid-template-columns: 1fr; }
  .cr-category-directory { grid-template-columns: 1fr; }
  .cr-hotel-hub__groups { grid-template-columns: 1fr; }
  .cr-hotel-hub__group > p { min-height: 0; }
  .cr-hotel-hub__group h2 { min-height: 0; }
  .cr-bnb-hub__guide { padding: 22px; }
  .cr-bnb-hub__guide-copy { grid-template-columns: 1fr; }
  .cr-bnb-hub__checks { grid-template-columns: 1fr; }
  .cr-bnb-hub__checks article { min-height: 0; }
  .cr-bnb-hub__note { align-items: flex-start; flex-direction: column; gap: 14px; }
  .cr-hub-guide { padding: 22px; }
  .cr-hub-guide__copy { grid-template-columns: 1fr; }
  .cr-hub-guide__checks { grid-template-columns: 1fr; }
  .cr-hub-guide__checks article { min-height: 0; }
  .cr-culture-hub__groups { grid-template-columns: 1fr; }
  .cr-culture-hub__group:last-child { grid-column: auto; }
  .cr-cinema-notice { grid-template-columns: 1fr; gap: 7px; }
  .cr-cinema-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cr-now-playing__grid { grid-template-columns: 1fr; }
  .cr-now-playing__updated { align-self: flex-start; }
  .cr-now-playing__note { align-items: flex-start; flex-wrap: wrap; }
  .cr-cinema-facts li { grid-template-columns: 1fr; gap: 4px; }
  .cr-zone-hero { padding: 42px 0 48px; }
  .cr-zone-hero h1 { font-size: 2.35rem; }
  .cr-zone-paths, .cr-zone-feature-grid, .cr-zone-sights { grid-template-columns: 1fr; }
  .cr-zone-sponsored { align-items: flex-start; grid-template-columns: 1fr; gap: 8px; }
  .cr-zone-dayplan { align-items: flex-start; flex-direction: column; }
  .cr-zone-map { aspect-ratio: 4/3; }
  .cr-cinema-highlights { grid-template-columns: 1fr; }
  .cr-cinema-map__head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .cr-cinema-map__frame { aspect-ratio: 4/3; }
  .cr-mega__intro { align-items: flex-start; flex-direction: column; gap: 4px; }
  .cr-mega__grid { grid-template-columns: 1fr; }
}
/* Keep controls contained on narrow screens without changing wider layouts. */
@media (max-width: 389.98px) {
  .cr-header__inner { gap: 6px; }
  .cr-header .cr-brand { flex-shrink: 0; }
  .cr-header .cr-brand__text { font-size: clamp(1.3rem,6.5vw,1.62rem); white-space: nowrap; }
  .cr-mega__toggle { gap: 4px; padding-inline: 7px; font-size: .85rem; }
  .cr-menu-toggle { padding-inline: 3px; min-height: 32px; font-size: .85rem; }
}
@media (max-width: 360px) {
  .cr-featured-slot__empty .cr-button { grid-column: 1 / -1; max-width: 100%; white-space: normal; text-align: center; }
}
/* Editorial guide: Roma in 48 ore */
.cr-editorial-guide { --cr-guide-navy: #183c46; --cr-guide-teal: #2e6870; --cr-guide-gold: #d99b4f; --cr-guide-paper: #f7f1e8; }
.cr-guide-hero { overflow: hidden; padding: 38px 0 0; background: linear-gradient(132deg,#12333d 0%,#285d64 58%,#d39250 150%); color: #fff; }
.cr-guide-hero .cr-breadcrumbs, .cr-guide-hero .cr-breadcrumbs a { color: rgba(255,255,255,.72); }
.cr-guide-hero__grid { display: grid; grid-template-columns: minmax(0,.92fr) minmax(430px,1.08fr); align-items: center; gap: 48px; padding: 34px 0 42px; }
.cr-editorial-guide .cr-guide-hero .cr-eyebrow { color: #f4c889; }
.cr-guide-hero h1 { max-width: 720px; margin: 9px 0 18px; font-family: Georgia,serif; font-size: clamp(2.55rem,4.7vw,4.55rem); line-height: 1; letter-spacing: -.045em; }
.cr-guide-hero__copy > p { max-width: 700px; margin: 0; color: rgba(255,255,255,.84); font-size: .98rem; line-height: 1.7; }
.cr-guide-hero__facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 26px; }
.cr-guide-hero__facts span { display: grid; gap: 3px; padding: 12px 13px; border: 1px solid rgba(255,255,255,.17); border-radius: 13px; background: rgba(255,255,255,.07); color: rgba(255,255,255,.7); font-size: .64rem; line-height: 1.35; }
.cr-guide-hero__facts strong { color: #fff; font-size: .72rem; }
.cr-guide-hero__visual { position: relative; margin: 0; }
.cr-guide-hero__visual::before { content: "48"; position: absolute; z-index: 2; right: -20px; top: -54px; color: rgba(255,255,255,.11); font-family: Georgia,serif; font-size: 9rem; font-weight: 900; line-height: 1; }
.cr-guide-hero__visual img { display: block; width: 100%; aspect-ratio: 16/10.4; object-fit: cover; border: 1px solid rgba(255,255,255,.18); border-radius: 25px 25px 0 0; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.cr-guide-anchor-nav { display: flex; flex-wrap: wrap; gap: 7px; padding: 16px 0 18px; border-top: 1px solid rgba(255,255,255,.13); }
.cr-guide-anchor-nav a { padding: 7px 11px; border-radius: 999px; color: rgba(255,255,255,.82); font-size: .7rem; font-weight: 800; text-decoration: none; }
.cr-guide-anchor-nav a:hover { background: rgba(255,255,255,.12); color: #fff; }
.cr-editorial-guide .cr-eyebrow { color: var(--cr-guide-teal); }
.cr-guide-opening .cr-zone-intro__grid { grid-template-columns: minmax(0,1.45fr) minmax(320px,.55fr); gap: 46px; }
.cr-guide-opening .cr-zone-intro article { max-width: none; }
.cr-guide-opening .cr-zone-intro article p { font-size: .92rem; }
.cr-guide-opening .cr-zone-summary { border-color: #c8d9d6; background: #f1f8f6; }
.cr-guide-opening .cr-zone-summary h2 { color: var(--cr-guide-navy); }
.cr-guide-opening .cr-zone-summary ul { grid-template-columns: 1fr; }
.cr-guide-opening .cr-zone-summary li { border-top: 1px solid #d6e5e1; }
.cr-guide-opening .cr-zone-summary li:first-child { border-top: 0; }
.cr-guide-opening .cr-zone-summary li > span { background: #dbeee9; color: var(--cr-guide-teal); font-family: Georgia,serif; font-size: .7rem; font-weight: 900; }
.cr-guide-decision { display: grid; grid-template-columns: minmax(240px,.7fr) minmax(0,1.1fr) auto; align-items: center; gap: 25px; margin-top: 30px; padding: 24px 26px; border-left: 5px solid var(--cr-guide-gold); border-radius: 4px 18px 18px 4px; background: #fff7e9; }
.cr-guide-decision span { color: #a66021; font-size: .63rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.cr-guide-decision h3 { margin: 6px 0 0; font-family: Georgia,serif; font-size: 1.3rem; }
.cr-guide-decision > p { margin: 0; color: var(--cr-muted); font-size: .78rem; line-height: 1.58; }
.cr-guide-decision__links { display: grid; gap: 7px; }
.cr-guide-decision__links a { color: var(--cr-guide-navy); font-size: .68rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.cr-guide-day__head { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(300px,.82fr); align-items: end; gap: 55px; margin-bottom: 34px; }
.cr-guide-day__number { display: inline-flex; margin-right: 10px; padding: 6px 9px; border-radius: 999px; background: var(--cr-guide-navy); color: #fff; font-size: .62rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.cr-guide-day__head h2 { max-width: 760px; margin: 9px 0 0; font-family: Georgia,serif; font-size: clamp(2rem,3.6vw,3.1rem); line-height: 1.07; }
.cr-guide-day__head > p { margin: 0; color: var(--cr-muted); font-size: .84rem; line-height: 1.65; }
.cr-guide-timeline { position: relative; display: grid; gap: 16px; margin-left: 39px; }
.cr-guide-timeline::before { content: ""; position: absolute; left: 70px; top: 25px; bottom: 25px; width: 1px; background: #d7c4b7; }
.cr-guide-timeline article { position: relative; display: grid; grid-template-columns: 105px minmax(0,1fr); gap: 24px; align-items: start; }
.cr-guide-timeline article::before { content: ""; position: absolute; left: 63px; top: 27px; width: 15px; height: 15px; border: 4px solid #fff; border-radius: 50%; background: var(--cr-guide-gold); box-shadow: 0 0 0 1px #d7c4b7; }
.cr-guide-timeline time { padding-top: 23px; color: var(--cr-guide-navy); font-family: Georgia,serif; font-size: .76rem; font-weight: 900; }
.cr-guide-timeline article > div { padding: 23px 25px; border: 1px solid #e5d4c7; border-radius: 17px; background: #fff; box-shadow: 0 9px 28px rgba(59,40,30,.045); }
.cr-guide-timeline article > div > span, .cr-guide-choice article > span { color: var(--cr-guide-teal); font-size: .62rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.cr-guide-timeline h3 { margin: 7px 0 10px; font-family: Georgia,serif; font-size: 1.35rem; line-height: 1.2; }
.cr-guide-timeline p { margin: 8px 0 0; color: var(--cr-muted); font-size: .82rem; line-height: 1.65; }
.cr-guide-timeline p a { color: var(--cr-guide-teal); font-weight: 800; }
.cr-editorial-guide .cr-zone-note { margin: 24px 0 0 168px; border-left-color: var(--cr-guide-gold); background: #fff8eb; }
.cr-editorial-guide .cr-zone-note strong { color: var(--cr-guide-navy); }
.cr-guide-interlude { padding-top: 0 !important; padding-bottom: 22px !important; background: linear-gradient(#f7f1e8 0 46%,#fff 46%); }
.cr-guide-interlude .cr-zone-photo--wide { margin-top: 0; }
.cr-guide-interlude .cr-zone-photo--wide img { aspect-ratio: 16/6; object-position: center 54%; }
.cr-guide-interlude figcaption { max-width: 780px; }
.cr-guide-choice { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 30px; }
.cr-guide-choice article { padding: 27px; border: 1px solid #c9dcda; border-radius: 19px; background: linear-gradient(145deg,#f7fbfa,#edf6f4); }
.cr-guide-choice article:nth-child(2) { border-color: #e4d3b9; background: linear-gradient(145deg,#fffaf2,#f8eedf); }
.cr-guide-choice h3 { margin: 8px 0 13px; font-family: Georgia,serif; font-size: 1.45rem; }
.cr-guide-choice p { color: var(--cr-muted); font-size: .8rem; line-height: 1.62; }
.cr-guide-choice a { display: inline-block; margin-top: 6px; color: var(--cr-guide-navy); font-size: .7rem; font-weight: 850; text-decoration: none; }
.cr-guide-timeline--day-two { margin-top: 8px; }
.cr-guide-stay-list { display: grid; gap: 0; margin: 12px 0 0; padding: 0; list-style: none; }
.cr-guide-stay-list li { display: grid; gap: 2px; padding: 10px 0; border-top: 1px solid #e7d8c7; }
.cr-guide-stay-list a { color: var(--cr-guide-navy); font-family: Georgia,serif; font-size: .88rem; font-weight: 900; text-decoration: none; }
.cr-guide-stay-list small { color: var(--cr-muted); font-size: .65rem; }
.cr-guide-practical-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.cr-guide-practical-grid article { min-height: 215px; padding: 22px; border: 1px solid #dfd0c5; border-radius: 17px; background: #fff; }
.cr-guide-practical-grid span { color: var(--cr-guide-gold); font-family: Georgia,serif; font-size: 1.15rem; font-weight: 900; }
.cr-guide-practical-grid h3 { margin: 24px 0 8px; font-family: Georgia,serif; font-size: 1.12rem; line-height: 1.22; }
.cr-guide-practical-grid p { margin: 0; color: var(--cr-muted); font-size: .75rem; line-height: 1.55; }
.cr-guide-commercial { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 35px; margin-top: 20px; padding: 24px 26px; border: 1px dashed #c69f73; border-radius: 17px; background: #fff8ec; }
.cr-guide-commercial span { color: #a66021; font-size: .62rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.cr-guide-commercial h3 { margin: 6px 0 5px; font-family: Georgia,serif; font-size: 1.18rem; }
.cr-guide-commercial p { max-width: 820px; margin: 0; color: var(--cr-muted); font-size: .75rem; }
.cr-guide-commercial > a { color: var(--cr-guide-navy); font-size: .72rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.cr-guide-faq__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.cr-guide-faq details { padding: 0 19px; border: 1px solid #dfd0c5; border-radius: 15px; background: #fff; }
.cr-guide-faq summary { padding: 17px 25px 17px 0; cursor: pointer; color: var(--cr-guide-navy); font-family: Georgia,serif; font-size: .92rem; font-weight: 900; }
.cr-guide-faq details p { margin: 0 0 18px; color: var(--cr-muted); font-size: .77rem; line-height: 1.58; }
.cr-guide-next { padding: 56px 0; background: var(--cr-guide-navy); color: #fff; }
.cr-guide-next .cr-container { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 55px; }
.cr-guide-next .cr-eyebrow { color: #f2bd76; }
.cr-guide-next h2 { max-width: 760px; margin: 7px 0 9px; font-family: Georgia,serif; font-size: clamp(1.8rem,3.5vw,2.8rem); }
.cr-guide-next p { max-width: 780px; margin: 0; color: rgba(255,255,255,.72); font-size: .84rem; }
.cr-guide-next__links { display: grid; gap: 9px; }
.cr-guide-next__links a { padding: 11px 14px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; color: #fff; font-size: .72rem; font-weight: 850; text-align: center; text-decoration: none; }
.cr-guide-next__links a:first-child { border-color: #f2bd76; background: #f2bd76; color: #183c46; }

/* Editorial guide: carbonara in Rome */
.cr-editorial-guide--carbonara { --cr-guide-navy: #4b281e; --cr-guide-teal: #7f432b; --cr-guide-gold: #d58a35; --cr-guide-paper: #f8efe4; }
.cr-editorial-guide--carbonara .cr-guide-hero { background: linear-gradient(132deg,#3b2019 0%,#743c28 57%,#d39144 145%); }
.cr-editorial-guide--carbonara .cr-guide-hero__visual::before { content: "C"; right: -2px; color: rgba(255,241,218,.12); }
.cr-editorial-guide--carbonara .cr-guide-opening .cr-zone-summary { border-color: #e3c8ad; background: #fff8ee; }
.cr-editorial-guide--carbonara .cr-guide-opening .cr-zone-summary li { border-top-color: #ead6c2; }
.cr-editorial-guide--carbonara .cr-guide-opening .cr-zone-summary li > span { background: #f1dcc5; color: #7f432b; }
.cr-editorial-guide--carbonara .cr-guide-decision { border-left-color: #c86f31; background: #fff4e4; }
.cr-editorial-guide--carbonara .cr-guide-interlude { background: linear-gradient(#f7efe5 0 46%,#fff 46%); }
.cr-editorial-guide--carbonara .cr-guide-interlude .cr-zone-photo--wide img { aspect-ratio: 16/7; object-position: center 57%; }
.cr-guide-restaurant-list time { display: grid; place-items: center; width: 44px; height: 44px; margin-top: 11px; padding: 0; border-radius: 50%; background: var(--cr-guide-navy); color: #fff; font-size: .88rem; }
.cr-guide-restaurant-list article::before { top: 27px; }
.cr-guide-official { display: inline-flex; margin-top: 15px; color: var(--cr-guide-navy); font-size: .7rem; font-weight: 850; text-decoration: none; }
.cr-guide-official:hover { text-decoration: underline; }
.cr-editorial-guide--carbonara .cr-guide-next__links a:first-child { color: #4b281e; }

/* Editorial guide: Rome after dark */
.cr-editorial-guide--night { --cr-guide-navy: #1b203b; --cr-guide-teal: #3c466d; --cr-guide-gold: #d29a58; --cr-guide-paper: #f5efe8; }
.cr-editorial-guide--night .cr-guide-hero { background: linear-gradient(132deg,#11162d 0%,#293554 58%,#9b5f43 145%); }
.cr-editorial-guide--night .cr-guide-hero__visual::before { content: "22"; right: -4px; color: rgba(255,226,190,.11); }
.cr-editorial-guide--night .cr-guide-opening .cr-zone-summary { border-color: #ced1df; background: #f6f7fb; }
.cr-editorial-guide--night .cr-guide-opening .cr-zone-summary li { border-top-color: #dfe1ea; }
.cr-editorial-guide--night .cr-guide-opening .cr-zone-summary li > span { background: #e2e5f0; color: #354266; }
.cr-editorial-guide--night .cr-guide-decision { border-left-color: #9f654c; background: #f8eee8; }
.cr-editorial-guide--night .cr-guide-interlude { background: linear-gradient(#f0edf2 0 46%,#fff 46%); }
.cr-editorial-guide--night .cr-guide-interlude .cr-zone-photo--wide img { aspect-ratio: 16/7; object-position: center 55%; }
.cr-editorial-guide--night .cr-guide-day__number { color: #3c466d; }
.cr-editorial-guide--night .cr-guide-timeline article::before { background: #d29a58; }
.cr-editorial-guide--night .cr-guide-official { color: #354266; }
.cr-editorial-guide--night .cr-guide-next__links a:first-child { color: #1b203b; }
.cr-guide-night-routes { grid-template-columns: repeat(3,minmax(0,1fr)); }

@media (max-width: 760px) {
  .cr-guide-night-routes { grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
    .cr-guide-hero__grid { grid-template-columns: 1fr; gap: 28px; }
    .cr-guide-hero__visual { max-width: 760px; }
    .cr-guide-opening .cr-zone-intro__grid { grid-template-columns: 1fr; }
    .cr-guide-opening .cr-zone-summary ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .cr-guide-decision { grid-template-columns: 1fr; gap: 12px; }
    .cr-guide-decision__links { display: flex; flex-wrap: wrap; gap: 12px; }
    .cr-guide-day__head { grid-template-columns: 1fr; gap: 15px; }
    .cr-guide-practical-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
    .cr-guide-hero { padding-top: 24px; }
    .cr-guide-hero__grid { padding: 25px 0 30px; }
    .cr-guide-hero h1 { font-size: clamp(2.35rem,12vw,3.3rem); }
    .cr-guide-hero__facts { grid-template-columns: 1fr; }
    .cr-guide-hero__visual::before { display: none; }
    .cr-guide-hero__visual img { border-radius: 18px 18px 0 0; }
    .cr-guide-anchor-nav { flex-wrap: nowrap; overflow-x: auto; }
    .cr-guide-anchor-nav a { flex: 0 0 auto; }
    .cr-guide-opening .cr-zone-summary ul { grid-template-columns: 1fr; }
    .cr-guide-timeline { margin-left: 0; }
    .cr-guide-timeline::before { left: 6px; }
    .cr-guide-timeline article { grid-template-columns: 1fr; gap: 7px; padding-left: 25px; }
    .cr-guide-timeline article::before { left: 0; top: 9px; }
    .cr-guide-timeline time { padding-top: 6px; }
    .cr-guide-timeline article > div { padding: 20px; }
    .cr-editorial-guide .cr-zone-note { margin-left: 0; }
    .cr-guide-choice { grid-template-columns: 1fr; }
    .cr-guide-interlude .cr-zone-photo--wide img { aspect-ratio: 4/3; }
    .cr-guide-practical-grid, .cr-guide-faq__list { grid-template-columns: 1fr; }
    .cr-guide-practical-grid article { min-height: 0; }
    .cr-guide-commercial { grid-template-columns: 1fr; gap: 15px; }
    .cr-guide-commercial > a { white-space: normal; }
    .cr-guide-next .cr-container { grid-template-columns: 1fr; gap: 25px; }
    .cr-guide-next__links { width: 100%; }
}

/* Privacy, cookie consent and legal pages */
.cr-footer__privacy-button { display: block; margin: 8px 0 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.cr-footer__privacy-button:hover { text-decoration: underline; }
.cr-consent-banner[hidden], .cr-consent-modal[hidden] { display: none !important; }
.cr-consent-banner { position: fixed; z-index: 10020; right: 24px; bottom: 24px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 20px 28px; width: min(760px,calc(100vw - 48px)); padding: 24px; border: 1px solid #d8c7ba; border-radius: 20px; background: #fffdf9; box-shadow: 0 24px 80px rgba(48,31,22,.2); }
.cr-consent-banner__copy { max-width: 530px; }
.cr-consent-banner__copy > span { color: var(--cr-terracotta); font-size: .65rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.cr-consent-banner h2 { margin: 6px 0 8px; font-family: Georgia,serif; font-size: 1.35rem; line-height: 1.15; }
.cr-consent-banner p { margin: 0; color: var(--cr-muted); font-size: .78rem; line-height: 1.55; }
.cr-consent-banner a { display: inline-block; margin-top: 8px; color: var(--cr-burgundy); font-size: .7rem; font-weight: 850; }
.cr-consent-banner__close, .cr-consent-modal__close { position: absolute; top: 11px; right: 13px; display: grid; width: 32px; height: 32px; padding: 0; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--cr-ink); font-size: 1.35rem; cursor: pointer; }
.cr-consent-banner__close:hover, .cr-consent-modal__close:hover { background: #f2e8df; }
.cr-consent-banner__actions { align-self: end; display: grid; gap: 8px; min-width: 138px; padding-right: 12px; }
.cr-consent-banner__actions button, .cr-consent-modal__actions button { padding: 9px 13px; border: 1px solid #bda99b; border-radius: 999px; background: #fff; color: var(--cr-ink); font-size: .69rem; font-weight: 850; cursor: pointer; }
.cr-consent-banner__actions button.is-primary, .cr-consent-modal__actions button.is-primary { border-color: var(--cr-burgundy); background: var(--cr-burgundy); color: #fff; }
.cr-consent-modal { position: fixed; z-index: 10030; inset: 0; display: grid; padding: 24px; place-items: center; }
.cr-consent-modal__backdrop { position: absolute; inset: 0; background: rgba(22,17,15,.64); }
.cr-consent-modal__panel { position: relative; z-index: 1; width: min(620px,100%); max-height: calc(100vh - 48px); overflow-y: auto; padding: 30px; border-radius: 22px; background: #fffdf9; box-shadow: 0 30px 100px rgba(0,0,0,.34); }
.cr-consent-modal__panel h2 { margin: 7px 0 8px; font-family: Georgia,serif; font-size: 1.8rem; }
.cr-consent-modal__panel > p { margin: 0 0 19px; color: var(--cr-muted); font-size: .8rem; }
.cr-consent-option { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 18px; padding: 17px 0; border-top: 1px solid var(--cr-line); }
.cr-consent-option div { display: grid; gap: 5px; }
.cr-consent-option strong { font-size: .8rem; }
.cr-consent-option small { color: var(--cr-muted); font-size: .7rem; line-height: 1.45; }
.cr-consent-option > span { color: var(--cr-teal); font-size: .65rem; font-weight: 850; white-space: nowrap; }
.cr-consent-option input { width: 42px; height: 22px; accent-color: var(--cr-burgundy); cursor: pointer; }
.cr-consent-modal__actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 18px; }
.cr-consent-modal__policy { display: inline-block; margin-top: 18px; color: var(--cr-burgundy); font-size: .7rem; font-weight: 850; }
.cr-consent-open { overflow: hidden; }
.cr-consent-embed { position: relative; display: grid; overflow: hidden; background: #eee6dc; }
.cr-consent-embed__placeholder { display: grid; min-height: 100%; padding: 28px; place-content: center; justify-items: center; text-align: center; }
.cr-consent-embed__placeholder > span { display: grid; width: 48px; height: 48px; margin-bottom: 12px; place-items: center; border-radius: 50%; background: #e3d1c2; color: var(--cr-burgundy); font-size: 1.5rem; }
.cr-consent-embed__placeholder strong { font-family: Georgia,serif; font-size: 1.12rem; }
.cr-consent-embed__placeholder p { max-width: 430px; margin: 8px 0 15px; color: var(--cr-muted); font-size: .72rem; line-height: 1.5; }
.cr-consent-embed__placeholder button { padding: 9px 13px; border: 1px solid var(--cr-burgundy); border-radius: 999px; background: var(--cr-burgundy); color: #fff; font-size: .68rem; font-weight: 850; cursor: pointer; }
.cr-consent-embed.is-loaded .cr-consent-embed__placeholder { display: none; }
.cr-consent-embed iframe { width: 100%; height: 100%; min-height: inherit; border: 0; }
.cr-legal-hero { padding: 72px 0 62px; background: linear-gradient(130deg,#f7efe6 0%,#efe1d3 62%,#e8d2c2 100%); }
.cr-legal-hero--cookie { background: linear-gradient(130deg,#eef5f2 0%,#dceae4 62%,#cbded6 100%); }
.cr-legal-hero h1 { max-width: 850px; margin: 9px 0 14px; font-family: Georgia,serif; font-size: clamp(2.5rem,5vw,4.6rem); line-height: 1; letter-spacing: -.045em; }
.cr-legal-hero p { max-width: 790px; margin: 0 0 13px; color: var(--cr-muted); font-size: .95rem; line-height: 1.7; }
.cr-legal-hero small { color: var(--cr-muted); font-size: .68rem; }
.cr-legal-layout { display: grid; grid-template-columns: 240px minmax(0,800px); justify-content: center; gap: 70px; padding-top: 64px; padding-bottom: 90px; }
.cr-legal-index { position: sticky; top: 125px; align-self: start; display: grid; gap: 0; padding: 20px; border: 1px solid var(--cr-line); border-radius: 16px; background: #fbf8f4; }
.cr-legal-index strong { margin-bottom: 8px; font-family: Georgia,serif; font-size: .94rem; }
.cr-legal-index a, .cr-legal-index button { padding: 9px 0; border: 0; border-top: 1px solid #eadfd6; background: none; color: var(--cr-muted); font: inherit; font-size: .7rem; font-weight: 750; text-align: left; text-decoration: none; cursor: pointer; }
.cr-legal-index a:hover, .cr-legal-index button:hover { color: var(--cr-burgundy); }
.cr-legal-content { min-width: 0; }
.cr-legal-content > section { scroll-margin-top: 130px; padding: 38px 0; border-top: 1px solid var(--cr-line); }
.cr-legal-content > section:first-child { padding-top: 0; border-top: 0; }
.cr-legal-content h2 { margin: 8px 0 17px; font-family: Georgia,serif; font-size: clamp(1.65rem,3vw,2.25rem); line-height: 1.12; }
.cr-legal-content h3 { margin: 25px 0 8px; font-family: Georgia,serif; font-size: 1.1rem; }
.cr-legal-content p, .cr-legal-content li { color: var(--cr-muted); font-size: .84rem; line-height: 1.72; }
.cr-legal-content a:not(.cr-button) { color: var(--cr-burgundy); font-weight: 750; }
.cr-legal-content ul { display: grid; gap: 9px; padding-left: 19px; }
.cr-legal-alert { padding: 25px !important; border: 1px solid #d5b08b !important; border-radius: 17px; background: #fff8ed; }
.cr-legal-alert.is-complete { border-color: #b9d1c7 !important; background: #f1f7f4; }
.cr-legal-alert > span { color: #99551f; font-size: .64rem; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.cr-legal-alert dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 20px 0 0; }
.cr-legal-alert dl div { padding: 13px; border-radius: 10px; background: #fff; }
.cr-legal-alert dt { color: var(--cr-muted); font-size: .62rem; font-weight: 850; text-transform: uppercase; }
.cr-legal-alert dd { margin: 5px 0 0; font-size: .8rem; font-weight: 800; }
.cr-legal-provider { margin: 20px 0; padding: 18px 20px; border-left: 4px solid var(--cr-teal); border-radius: 4px 13px 13px 4px; background: #f1f7f4; }
.cr-legal-provider > strong { font-family: Georgia,serif; font-size: .95rem; }
.cr-legal-provider p { margin: 8px 0; font-size: .76rem; }
.cr-legal-provider a { font-size: .68rem; }
.cr-legal-table { display: grid; overflow: hidden; margin: 20px 0; border: 1px solid var(--cr-line); border-radius: 14px; }
.cr-legal-table > div { display: grid; grid-template-columns: 1fr 1fr; }
.cr-legal-table > div + div { border-top: 1px solid var(--cr-line); }
.cr-legal-table span, .cr-legal-table strong { padding: 14px; font-size: .72rem; line-height: 1.5; }
.cr-legal-table span + span, .cr-legal-table strong + strong { border-left: 1px solid var(--cr-line); }
.cr-legal-table > div:first-child { background: #f2e9e1; }
.cr-cookie-list { display: grid; gap: 12px; }
.cr-cookie-list article { display: grid; grid-template-columns: 180px minmax(0,1fr) 130px; align-items: center; gap: 20px; padding: 18px; border: 1px solid var(--cr-line); border-radius: 14px; }
.cr-cookie-list article > div { display: grid; gap: 3px; }
.cr-cookie-list strong { font-size: .78rem; }
.cr-cookie-list span, .cr-cookie-list small { color: var(--cr-muted); font-size: .62rem; }
.cr-cookie-list p { margin: 0; font-size: .72rem; }
.cr-cookie-list small { text-align: right; }

@media (max-width: 800px) {
  .cr-consent-banner { right: 12px; bottom: 12px; grid-template-columns: 1fr; width: calc(100vw - 24px); max-height: calc(100vh - 24px); overflow-y: auto; padding: 21px; }
  .cr-consent-banner__actions { grid-template-columns: repeat(3,minmax(0,1fr)); min-width: 0; padding-right: 0; }
  .cr-consent-banner__actions button { padding: 9px 6px; }
  .cr-consent-modal { padding: 12px; }
  .cr-consent-modal__panel { max-height: calc(100vh - 24px); padding: 24px 20px; }
  .cr-consent-modal__actions { flex-direction: column; }
  .cr-legal-layout { grid-template-columns: 1fr; gap: 32px; padding-top: 35px; padding-bottom: 65px; }
  .cr-legal-index { position: static; }
  .cr-legal-alert dl, .cr-legal-table > div { grid-template-columns: 1fr; }
  .cr-legal-table span + span, .cr-legal-table strong + strong { border-left: 0; border-top: 1px solid var(--cr-line); }
  .cr-cookie-list article { grid-template-columns: 1fr; gap: 10px; }
  .cr-cookie-list small { text-align: left; }
}

/* Services index illustration: keep every category visible on small screens. */
@media (max-width: 600px) {
  .cr-services-hub .cr-hotel-hub__visual { min-height: 0; }
  .cr-services-hub .cr-hotel-hub__visual::after { display: none; }
  .entry-content .cr-services-hub .cr-hotel-hub__visual img { height: auto; min-height: 0; aspect-ratio: auto; }
  .cr-services-hub .cr-hotel-hub__visual figcaption { position: static; background: #5b2922; }
}

/* User logos replace illustrations; desktop frames retain their approved dimensions. */
.cr-skating-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-skating-card__logo::after { display: none; }
@media (max-width: 760px) {
  .cr-skating-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-skating-card__logo { min-height: 0; aspect-ratio: var(--cr-services-logo-ratio, 870 / 200); }
}

/* User logos replace illustrations; desktop frames retain their approved dimensions. */
.cr-games-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-games-card__logo::after { display: none; }
@media (max-width: 760px) {
  .cr-games-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-games-card__logo { min-height: 0; aspect-ratio: var(--cr-services-logo-ratio, 870 / 200); }
}

/* User logos replace illustrations; desktop frames retain their approved dimensions. */
.cr-books-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-books-card__logo::after { display: none; }
@media (max-width: 760px) {
  .cr-books-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-books-card__logo { min-height: 0; aspect-ratio: var(--cr-services-logo-ratio, 870 / 200); }
}

/* User logos replace illustrations; desktop frames retain their approved dimensions. */
.cr-comics-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-comics-card__logo::after { display: none; }
@media (max-width: 760px) {
  .cr-comics-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-comics-card__logo { min-height: 0; aspect-ratio: var(--cr-services-logo-ratio, 870 / 200); }
}

/* User logos replace illustrations; desktop frames retain their approved dimensions. */
.cr-fitness-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-fitness-card__logo::after { display: none; }
@media (max-width: 760px) {
  .cr-fitness-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-fitness-card__logo { min-height: 0; aspect-ratio: var(--cr-services-logo-ratio, 725 / 170); }
}

/* User logos replace illustrations; desktop frames retain their approved dimensions. */
.cr-dance-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-dance-card__logo::after { display: none; }
@media (max-width: 760px) {
  .cr-dance-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-dance-card__logo { min-height: 0; aspect-ratio: var(--cr-services-logo-ratio, 725 / 170); }
}

/* Live-music venue photos: same responsive frame height as restaurant photography. */
.cr-live-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-live-card__photo { min-height: 0; padding: 0; background: #eee8e2; }
.cr-live-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-live-card__photo::before,
.cr-live-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-live-card__photo::after { display: none; }
.entry-content .cr-live-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-live-card__photo img { display: block; width: 100%; max-width: none; height: clamp(220px,28vw,300px); max-height: none; margin: 0; border-radius: 0; object-fit: cover; object-position: center; }

/* Nightclub venue photos: responsive frames matching restaurant and live-music photos. */
.cr-club-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-club-card__photo { min-height: 0; padding: 0; background: #eee8e2; }
.cr-club-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-club-card__photo::before,
.cr-club-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-club-card__photo::after { display: none; }
.entry-content .cr-club-directory .cr-restaurant-directory-results .cr-listing-card--verified .cr-club-card__photo img { display: block; width: 100%; max-width: none; height: clamp(220px,28vw,300px); max-height: none; margin: 0; border-radius: 0; object-fit: cover; object-position: center; }

