.arrow-icon{display:inline-flex;width:1em;height:1em;line-height:1;vertical-align:-.13em;flex:0 0 auto}
.language-switch{display:inline-flex;align-items:center;gap:5px;font:12px var(--sans);white-space:nowrap}.language-switch select{max-width:110px;background:transparent;color:inherit;border:0;border-bottom:1px solid currentColor;padding:5px;font:14px var(--sans)}.language-switch option{color:#492b1f;background:#faf9f6}.translation-note{display:block;font-size:12px;margin-top:10px}.week-guide{padding:38px;background:#f0eae1;margin:25px 0 32px}.week-guide h2{font-size:clamp(34px,4vw,54px)}.week-guide>p{max-width:800px}.day-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.day-tabs button{background:none;border:1px solid var(--border);padding:12px 17px;font-size:14px}.day-tabs button[aria-pressed=true]{background:var(--copper);color:white}.day-panel{background:var(--paper);padding:28px}.day-panel h3{font-size:38px;margin:8px 0}.day-panel>p{max-width:850px}.day-stops{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px}.day-stops li{border-top:1px solid var(--border);padding-top:14px}.day-stops strong{font-weight:500;font-size:14px}.day-stops button{display:inline;background:none;border:0;padding:6px 0;text-align:left;font:16px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px}.map-legend{display:flex;gap:16px;flex-wrap:wrap;padding:15px;background:#f0eae1;font-size:13px}.map-legend span,.place-category{display:flex;align-items:center;gap:8px}.soft-basemap{filter:saturate(.14) brightness(1.07)}.rome-marker{display:flex!important;align-items:center;justify-content:center;background:#fffcf5;border:1px solid #a7473e;border-radius:50%;box-shadow:0 2px 7px #492b1f44}.rome-marker img{width:25px;height:25px;object-fit:contain}.rome-marker.is-selected{outline:3px solid #a7473e;outline-offset:3px}.place-card.is-selected{border-left:4px solid var(--copper)}.select-place[aria-pressed=true]::before{content:'✓ ';}.day-panel .solid-button{margin-top:12px}#result-count::after{content:' luoghi'}
@media(max-width:1100px){.site-header{flex-wrap:wrap}.site-header .main-menu{font-size:13px;gap:12px}.day-stops{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.site-header .language-switch{order:5;margin-left:auto}.week-guide{padding:22px 16px}.day-panel{padding:20px}.day-stops{grid-template-columns:1fr}.day-stops li{display:grid;grid-template-columns:90px 1fr;gap:12px}.day-tabs{gap:6px}.day-tabs button{padding:10px 12px}.day-panel h3{font-size:31px}}
.footer-ribbon.platform-ribbon{display:flex!important;justify-content:center!important;gap:clamp(18px,3vw,44px)!important;flex-wrap:wrap;padding:38px 5%!important;min-height:160px!important}
.platform-ribbon>a{flex:0 1 170px;width:170px!important;margin:0!important;min-height:70px;display:flex!important;align-items:center;justify-content:center}
.platform-ribbon>a.footer-house-mark{flex-basis:205px;width:205px!important}
.platform-ribbon .platform-mark img{width:150px!important;height:45px!important;object-fit:contain;filter:brightness(0) invert(1)}
@media(max-width:600px){.platform-ribbon>a,.platform-ribbon>a.footer-house-mark{flex-basis:calc(50% - 20px);width:auto!important}.platform-ribbon .platform-mark img{width:132px!important;height:40px!important}}
.arrow-icon svg{display:block;width:100%;height:100%;overflow:visible;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.booking-submit .arrow-icon{width:1.15em;height:1.15em}
.room-choose .arrow-icon,.outline-button .arrow-icon{margin-left:5px}
.footer-ribbon{display:grid;grid-template-columns:minmax(180px,1.25fr) repeat(3,minmax(150px,1fr));align-items:center;gap:34px;padding:58px 5%;background:var(--copper);min-height:245px}
.footer-house-mark{display:flex;justify-content:center;align-items:center}
.footer-house-mark img{width:min(240px,100%);filter:brightness(0) invert(1)}
.premium-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:100px;color:#fff;text-align:center}
.premium-symbol{font-family:Arial,sans-serif;font-size:48px;font-weight:600;line-height:.75;transform:rotate(-12deg);margin-bottom:3px}
.premium-name{font-family:var(--sans);font-size:30px;font-weight:500;letter-spacing:-.4px;line-height:1}
.premium-booking .premium-name{font-weight:600;letter-spacing:-1px}
.premium-caption{font-family:var(--sans);font-size:11px;letter-spacing:1.7px;line-height:1.3;opacity:.86}
.premium-crest{display:grid;place-items:center;width:52px;height:52px;border:1px solid #fff;border-radius:50%;font:500 18px/1 var(--serif);letter-spacing:1px;margin-bottom:3px}
.premium-rome .premium-name{font-family:var(--serif);font-size:28px;letter-spacing:2px}
.premium-rome .premium-caption{letter-spacing:1.2px}
@media(max-width:950px){.footer-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px;padding:48px 6%}.footer-house-mark{grid-column:1/-1}.footer-house-mark img{width:210px}}
@media(max-width:600px){.footer-ribbon{gap:26px 12px;padding:40px 5%}.footer-house-mark img{width:180px}.premium-name{font-size:25px}.premium-caption{font-size:10px;letter-spacing:1px}.premium-symbol{font-size:40px}.premium-crest{width:44px;height:44px}.premium-rome .premium-name{font-size:22px;letter-spacing:1px}}
.footer-ribbon.recognition-ribbon{grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;padding-top:52px;padding-bottom:52px}
.recognition-mark{display:flex;min-height:110px;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#fff;text-align:center}
.recognition-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #fff;border-radius:50%;font:400 22px/1 var(--serif);letter-spacing:0;margin-bottom:3px}
.recognition-name{font-family:var(--serif);font-size:27px;line-height:1;letter-spacing:2.8px;text-transform:uppercase}
.recognition-mark:nth-child(3) .recognition-name{font-family:var(--sans);font-size:22px;font-weight:600;letter-spacing:2px}
.recognition-mark:nth-child(4) .recognition-name{font-size:30px;letter-spacing:1.5px}
.recognition-mark:nth-child(5) .recognition-name{font-family:var(--sans);font-size:21px;font-weight:500;letter-spacing:1.8px}
.recognition-caption{font-family:var(--sans);font-size:10px;letter-spacing:1.5px;line-height:1.35;opacity:.88;text-transform:uppercase}
@media(max-width:1100px){.footer-ribbon.recognition-ribbon{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 16px}.recognition-ribbon .footer-house-mark{grid-column:1/-1}}
@media(max-width:600px){.footer-ribbon.recognition-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px;padding-top:38px;padding-bottom:38px}.recognition-ribbon .footer-house-mark{grid-column:1/-1}.recognition-name{font-size:23px;letter-spacing:2px}.recognition-mark:nth-child(3) .recognition-name{font-size:19px}.recognition-mark:nth-child(4) .recognition-name{font-size:25px}.recognition-mark:nth-child(5) .recognition-name{font-size:18px}.recognition-caption{font-size:9px;letter-spacing:1px}}
.footer-ribbon.platform-ribbon{display:grid;grid-template-columns:minmax(170px,1.15fr) repeat(3,minmax(120px,1fr));gap:26px;padding:46px 5%;min-height:190px}
.platform-ribbon .footer-house-mark img{width:min(185px,100%);filter:brightness(0) invert(1)}
.platform-mark{display:flex;min-height:82px;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;text-align:center}
.platform-mark img{display:block;width:min(175px,100%);height:46px;max-width:175px;max-height:46px;object-fit:contain}
.platform-airbnb img,.platform-booking img{width:min(175px,100%);height:46px}
.platform-airbnb img,.platform-expedia img{filter:brightness(0) invert(1)}
.platform-expedia img{width:min(175px,100%);height:46px}
.platform-caption{font-family:var(--sans);font-size:9px;letter-spacing:1.4px;line-height:1.3;opacity:.8;text-transform:uppercase}
@media(max-width:950px){.footer-ribbon.platform-ribbon{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;padding:42px 6%}.platform-ribbon .footer-house-mark{grid-column:1/-1}.platform-ribbon .footer-house-mark img{width:170px}}
@media(max-width:700px){.footer-ribbon.platform-ribbon{gap:22px 14px;padding:34px 6%}.platform-mark img{width:min(145px,100%);height:38px;max-height:38px}.platform-airbnb img,.platform-booking img,.platform-expedia img{width:min(145px,100%);height:38px}.platform-caption{font-size:8px;letter-spacing:1px}}
/* Distinct, focused city tools. */
.guide-page .guide-heading{padding:32px 5% 18px}.guide-page .guide-heading h1{font-size:clamp(2.4rem,4vw,4rem);margin:8px 0}.guide-heading>p:last-child{margin-bottom:0}.guide-controls{gap:16px!important}.guide-page .guide-workspace{padding-top:12px}.map-layout{align-items:start!important}.map-panel{position:sticky;top:20px}.places-panel{max-height:660px;overflow:auto;padding-right:12px}#map{height:580px!important}.explore-view{display:none}#result-count::after{content:none}.itinerary-main{padding:44px 6% 64px;max-width:1400px;margin:auto}.itinerary-main .week-guide{margin:0;border:0;padding:0}.day-stops a{font-size:1rem;text-decoration:underline;text-underline-offset:4px}.day-tabs button[aria-pressed=true]{background:var(--rust,#a7473e);color:white}.footer-language a{font-size:14px;color:inherit;text-decoration:none;padding:8px}.footer-language a[aria-current=true]{text-decoration:underline;text-underline-offset:5px}.day-panel h3{font-size:clamp(1.8rem,3vw,2.6rem)}.day-panel>.solid-button{margin-top:20px;display:inline-flex}.guide-page .trip-summary{margin-top:24px}
@media(max-width:760px){.guide-page .guide-heading{padding:22px 5% 10px}.guide-page .guide-heading h1{font-size:2.2rem}.guide-heading .eyebrow{display:none}.guide-controls{display:flex!important;flex-direction:column;align-items:stretch!important}.filter-buttons{flex-wrap:nowrap!important;overflow:auto;padding-bottom:8px}.filter-buttons button{white-space:nowrap;flex-shrink:0;min-height:44px}.search-label{width:100%!important}.explore-view{display:flex;gap:8px;margin:12px 0}.explore-view button{flex:1;padding:11px;background:transparent;border:1px solid #a7473e;color:#a7473e;font:inherit}.explore-view button[aria-pressed=true]{background:#a7473e;color:#fff}.map-layout{display:block!important}.map-layout[data-view=map] .places-panel,.map-layout[data-view=list] .map-panel{display:none}.map-panel{position:static}.places-panel{max-height:none;overflow:visible;padding:0}#map{height:53svh!important;min-height:310px!important}.map-legend{gap:12px;font-size:14px}.itinerary-main{padding:28px 5% 44px}.day-tabs{flex-wrap:nowrap!important;overflow:auto;padding-bottom:10px}.day-tabs button{flex-shrink:0;min-height:44px}.day-stops{gap:0!important}.day-stops li{padding:16px 0;border-bottom:1px solid #a7473e33}.day-panel>.solid-button{width:100%;justify-content:center}.day-panel{padding:20px 16px!important}}
/* One consistent palette and understated separators for the itinerary. */
.itinerary-page .week-guide,.itinerary-page .day-panel{background:transparent;box-shadow:none;border:0}
.itinerary-page .day-panel{padding:24px 0!important}
.itinerary-page .day-tabs{border-bottom:1px solid #a7473e26;padding-bottom:16px}
.itinerary-page .day-tabs button{border:1px solid transparent;border-radius:3px;color:#a7473e;background:transparent;box-shadow:none}
.itinerary-page .day-tabs button:hover{background:#a7473e0d}
.itinerary-page .day-tabs button[aria-pressed=true]{border-color:#a7473e;background:#a7473e;color:#fff}
.itinerary-page .day-stops li{border:0;border-top:1px solid #a7473e26;padding-top:18px}
.itinerary-page .day-stops strong{color:#a7473e}.itinerary-page .day-stops a{text-decoration-color:#a7473e55}
.itinerary-page .solid-button{background:#a7473e;border:1px solid #a7473e;color:#fff}
.itinerary-page .guide-note{border:0;background:none}
@media(max-width:760px){.itinerary-page .day-stops li{border:0;border-bottom:1px solid #a7473e26;padding:18px 0}.itinerary-page .day-panel{padding:12px 0!important}}
.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.room-card.second-room{padding-top:0}.room-art-three{background:#dbbfa2}.room-card-bottom{gap:12px;flex-wrap:wrap}
@media(max-width:900px){.room-grid{grid-template-columns:1fr;gap:44px}}
