/* Figma typography audit, 10 November 2026.
 * Component-scoped rules outrank Elementor's generated widget selectors.
 * Text height remains content-driven; internal-page mobile sizes stay responsive.
 */
body[class] #pxl-page .rama-top-contact a,
body[class] #pxl-page .rama-top-contact a span { line-height:16px; letter-spacing:.03em; }
body[class] #pxl-page .rama-language-dropdown summary { letter-spacing:.03em; }
body[class] #pxl-page .rama-banner .heading-title { letter-spacing:.03em !important; }
body[class] #pxl-page .rama-legal a,
body[class] #pxl-page .rama-legal a * { font-weight:300; }
body[class] #pxl-page .rama-footer-copyright .pxl-text-editor,
body[class] #pxl-page .rama-footer-copyright .rama-copyright-main,
body[class] #pxl-page .rama-footer-copyright .rama-copyright-credit { letter-spacing:.03em; }
body[class] #pxl-page :is(.rama-header-row,.rama-services-cta,.rama-home-restaurant,.rama-home-meeting,.rama-restaurant-table,.rama-meeting-cta) .pxl-btn:not(:hover),
body[class] .pxl-hidden-template .rama-menu .elementor-widget-pxl_button .pxl-btn:not(:hover) { color:#1e1e1e !important; }
body[class] #pxl-page :is(.rama-header-row,.rama-services-cta,.rama-home-restaurant,.rama-home-meeting,.rama-restaurant-table,.rama-meeting-cta) .pxl-button-text,
body[class] #pxl-page :is(.rama-header-row,.rama-services-cta,.rama-home-restaurant,.rama-home-meeting,.rama-restaurant-table,.rama-meeting-cta) .pxl-button-text *,
body[class] .pxl-hidden-template .rama-menu .elementor-widget-pxl_button .pxl-button-text,
body[class] .pxl-hidden-template .rama-menu .elementor-widget-pxl_button .pxl-button-text * { color:inherit !important; }
body[class] .pxl-hidden-template .rama-menu .elementor-widget-pxl_button .pxl-btn:not(:hover) .pxl-button-text { color:#1e1e1e !important; }

/* Homepage desktop. */
body.home #pxl-page .rama-hero-title .heading-title { letter-spacing:.03em !important; }
body.home #pxl-page :is(.rama-intro-title,.rama-room-intro,.rama-home-restaurant,.rama-meeting-copy) .heading-title { letter-spacing:.05em; }
body.home #pxl-page .rama-intro-text .pxl-text-editor { font-size:24px; letter-spacing:.03em; }
body.home #pxl-page :is(.rama-room-intro,.rama-home-restaurant) .subtitle-text { font-size:18px; line-height:24px; letter-spacing:.05em; }
body.home #pxl-page .rama-room-intro .subtitle-text { color:#000000; }
body.home #pxl-page :is(.rama-room-intro,.rama-home-restaurant) .pxl-text-editor { line-height:24px; }
body.home #pxl-page .rama-room-carousel .room-metas,
body.home #pxl-page .rama-room-carousel .room-metas .meta-item { font-size:18px; line-height:24px; letter-spacing:.05em; color:#000000 !important; }
body.home #pxl-page .rama-room-carousel .room-metas .meta-item > span:last-child { color:#000000 !important; }
body.home #pxl-page .rama-room-carousel .pxl-swiper-pagination-bullet { font:400 16px/24px Inter,sans-serif; letter-spacing:.05em; color:#110404; }
body.home #pxl-page .rama-service-title .pxl-text-editor { color:#110404; }
body.home #pxl-page .rama-service-box .title,
body.home #pxl-page .rama-service-box .title a { font-size:18px; letter-spacing:.05em; }
body.home #pxl-page .rama-home-restaurant h3.heading-title { letter-spacing:.01em; }
body.home #pxl-page .rama-meeting-copy .subtitle-text { font-size:16px; line-height:24px; letter-spacing:.05em; }
body.home #pxl-page .rama-meeting-copy .pxl-text-editor { font-size:18px; line-height:24px; letter-spacing:.05em; }
body.home #pxl-page .rama-reviews :is(.item-info,.item-name,.item-position) { line-height:24px !important; }
body.home #pxl-page .rama-sustainability .heading-title { font-size:56px !important; letter-spacing:.03em; }
body.home #pxl-page .rama-sustainability .pxl-text-editor { font-size:24px; letter-spacing:.03em; color:#110404; }

/* Camere: keep the readable dark navigation on its existing white background. */
body[class] #pxl-page :is(.rama-room-page-intro,.rama-room-detail) .heading-title { letter-spacing:.01em; }
body[class] #pxl-page .rama-room-service-label { font-size:18px; letter-spacing:.05em; }
body[class] #pxl-page .rama-room-times .pxl-text-editor { color:#484545; }
body[class] #pxl-page .rama-room-detail .rama-room-metas .pxl-text-editor { color:#000000; }
body[class] #pxl-page .rama-room-amenities .pxl-text-editor > span:first-child,
body[class] #pxl-page .rama-room-plus,
body[class] #pxl-page .rama-room-plus-label { color:#110404; }
body[class] #pxl-page .rama-room-anchors a,
body[class] #pxl-page .rama-room-anchors a * { letter-spacing:.03em; }

/* Ristorante. */
body[class] #pxl-page .rama-restaurant-intro .heading-title { letter-spacing:.01em; }
body[class] #pxl-page .rama-restaurant-hours .heading-title { letter-spacing:.08em; }
body[class] #pxl-page .rama-restaurant-hours .pxl-text-editor,
body[class] #pxl-page .rama-restaurant-hours .pxl-text-editor a { color:#110404; }
body[class] #pxl-page .rama-restaurant-copy .heading-title { letter-spacing:.05em; }

/* Meeting & Eventi. */
body[class] #pxl-page :is(.rama-meeting-intro,.rama-meeting-room-title,.rama-meeting-form) .heading-title { letter-spacing:.01em; }
body[class] #pxl-page .rama-counter .counter-number,
body[class] #pxl-page .rama-counter .counter-number * { letter-spacing:.03em; }
body[class] #pxl-page .rama-meeting-equipment-title .heading-title { letter-spacing:.05em; }
body[class] #pxl-page .rama-meeting-room-copy .rama-room-metas .pxl-text-editor { color:#110404; }
body[class] #pxl-page .rama-meeting-form form label { color:#343232; }
/* Privacy copy has a separate style from the field labels in this form. */
body[class] #pxl-page .rama-meeting-form form .rama-privacy label { color:#111111; }

/* Info e servizi: open and closed accordion headings have different tracking. */
body[class] #pxl-page .rama-faq-category .heading-title { line-height:36px !important; }
body[class] #pxl-page .rama-faq-main .ac-item:not(.active) .ac-title { letter-spacing:0; }
body[class] #pxl-page .rama-faq-form .pxl-text-editor { color:#111111; }

/* Dove siamo: do not reuse the FAQ text colour for directions. */
body[class] #pxl-page .rama-location-copy h2.heading-title { text-transform:uppercase; }
body[class] #pxl-page .rama-directions h2.heading-title { text-transform:uppercase; }
body[class] #pxl-page .rama-directions .ac-content { color:#484545; }
body[class] #pxl-page .rama-directions .ac-item:not(.active) .ac-title { color:#110404 !important; }

/* Shared desktop menu, outside #pxl-page. */
@media (min-width:768px) {
  body.home #pxl-page .rama-home-slider .pxl-slider-pagination-bullet { font:700 14px/16px Inter,sans-serif; letter-spacing:.03em; }
  body[class] .pxl-hidden-template .rama-menu .rama-menu-info h3 { color:#110404; }
  body[class] .pxl-hidden-template .rama-menu .rama-menu-info h3.heading-title { letter-spacing:.08em; }
  body[class] .pxl-hidden-template .rama-menu .rama-menu-benefits .heading-title { letter-spacing:.01em; }
  body[class] .pxl-hidden-template .rama-menu .rama-menu-address .pxl-text-editor { letter-spacing:.02em; }
  body[class] .pxl-hidden-template .rama-menu .rama-contact-links a,
  body[class] .pxl-hidden-template .rama-menu .rama-contact-links a * { letter-spacing:.02em !important; }
  body[class] .pxl-hidden-template .rama-menu .rama-menu-phone a { letter-spacing:.02em; color:#484545; }
  body[class] .pxl-hidden-template .rama-menu .rama-menu-benefit-list .list-content p { letter-spacing:.02em; }
}
@media (min-width:768px) and (max-width:1199px) {
  body.home #pxl-page .rama-sustainability .heading-title { font-size:38px !important; }
}
@media (max-width:767px) {
  body[class] .pxl-hidden-template .rama-menu .rama-menu-address-title .heading-title { color:#e9dcc4; letter-spacing:.08em; }
  body[class] #pxl-page .rama-footer-contact a { letter-spacing:.05em; }
  body[class] #pxl-page .rama-footer-address .pxl-text-editor { line-height:28px; }
  body[class] #pxl-page .rama-footer-copyright .pxl-text-editor,
  body[class] #pxl-page .rama-footer-copyright .rama-copyright-main,
  body[class] #pxl-page .rama-footer-copyright .rama-copyright-credit { font-size:13px; line-height:19px; letter-spacing:.03em; }
  body[class] .pxl-hidden-template .rama-menu .rama-menu-address .pxl-text-editor { letter-spacing:.02em; }
  body.home #pxl-page .rama-intro-title .heading-title { letter-spacing:.05em; }
  body.home #pxl-page :is(.rama-room-intro,.rama-home-restaurant,.rama-meeting-copy) .heading-title { letter-spacing:.03em; }
  body.home #pxl-page .rama-intro-text .pxl-text-editor { font-size:16px; letter-spacing:.05em; }
  body.home #pxl-page :is(.rama-room-intro,.rama-home-restaurant,.rama-meeting-copy) .subtitle-text { font-size:14px; line-height:24px; letter-spacing:.05em; }
  body.home #pxl-page :is(.rama-room-intro,.rama-home-restaurant) .subtitle-text { color:#000000; }
  body.home #pxl-page .rama-room-carousel .item-title,
  body.home #pxl-page .rama-room-carousel .item-title a { letter-spacing:.01em; }
  body.home #pxl-page .rama-room-carousel .pxl-swiper-pagination-bullet { letter-spacing:.05em !important; }
  body.home #pxl-page .rama-service-title .pxl-text-editor { color:#000000; }
  body.home #pxl-page .rama-service-box .title,
  body.home #pxl-page .rama-service-box .title a { font-size:18px; color:#000000 !important; }
  body.home #pxl-page .rama-home-restaurant h3.heading-title { letter-spacing:.01em; }
  body.home #pxl-page .rama-restaurant-links a { font-size:18px !important; letter-spacing:.08em; }
  body.home #pxl-page .rama-meeting-copy .pxl-text-editor { font-size:16px; line-height:24px; }
  body.home #pxl-page .rama-reviews .item-desc { font-size:20px !important; line-height:28px !important; }
  body.home #pxl-page .rama-sustainability .heading-title { font-size:32px !important; }
  body.home #pxl-page .rama-sustainability .pxl-text-editor { font-size:16px; letter-spacing:.05em; color:#484545; }
  body[class] #pxl-page .rama-room-service-label { font-size:14px; }
  body[class] #pxl-page .rama-faq-category .heading-title { line-height:35px !important; }
}
