.rama-topbar { height: 55px; padding: 0 60px !important; }
.rama-topbar > .elementor-container { height: 55px; padding: 0; align-items: center; }
.rama-top-contact a { display: inline-flex; align-items: center; gap: 8px; }
.rama-top-contact a:before { content: ''; display: inline-block; width: 16px; height: 16px; background: center / contain no-repeat url('figma/9c147541-31b8-4cb9-b518-dcc15805e1b2.svg'); }
.rama-top-contact a[href^="mailto:"]:before { height: 11px; background-image: url('figma/09d23c85-b3b5-4182-8d59-730a005ab407.svg'); }
.rama-header-row:not(.rama-header-sticky) { height: 177px; padding: 18px 60px 15px !important; }
.rama-header-row > .elementor-container { align-items: center; }
.rama-header-book .pxl-button-wrapper { justify-content: flex-end !important; text-align: right; }
.elementor-widget-pxl_button .pxl-button-text,.elementor-widget-pxl_button .pxl-button-text * { opacity: 1 !important; visibility: visible !important; transform: none !important; }
.rama-banner-title { margin-bottom: 24px !important; }
.rama-banner .heading-title { font-size: 56px !important; line-height: 62px !important; }
.rama-banner-subtitle .pxl-text-editor { line-height: 24px !important; }
.rama-footer-main { padding: 80px 2.84% 72px !important; }
.rama-footer-main .elementor-widget-wrap > .elementor-widget { margin: 0; }
.rama-footer-main .elementor-widget-wrap > .rama-logo { margin-bottom: 48px; }
.rama-footer-main .rama-logo img { margin: 0 !important; }
.rama-footer-nav .pxl-links { font-size: 18px; line-height: 24px; }
.rama-legal .pxl-links { font-size: 16px; line-height: 16px; }
.rama-footer-main .elementor-widget-wrap > .rama-footer-nav,.rama-footer-main .elementor-widget-wrap > .elementor-widget-pxl_divider { margin-bottom: 40px; }
.rama-footer-main .pxl-divider-separator { width: 100% !important; height: 1px; background: white; transform: none !important; opacity: 1 !important; }
.rama-footer-main .elementor-widget-wrap > .elementor-widget-pxl_text_editor { margin-bottom: 32px; }
.rama-footer-main .elementor-widget-wrap > .elementor-widget-pxl_text_editor + .elementor-widget-pxl_text_editor { margin-bottom: 64px; }
.rama-footer-main .pxl-text-editor { line-height: 24px; }
.rama-footer-main .rama-legal a { font-size: 16px; line-height: 16px; }
.rama-footer-bottom { min-height: 80px; padding: 30px 26px !important; }
.rama-footer-bottom .pxl-text-editor { font-size: 14px; line-height: 16px; }
/* Info e Servizi — Figma 349:1256, responsive adaptation of the desktop artboard. */
.rama-banner { background-position: left center !important; }
.rama-banner-title { margin: 0 !important; transform: translateY(-24px); }
.rama-banner-subtitle { display: none; }
.rama-faq-layout { padding: 140px max(24px,calc((100% - 1170px)/2)) 140px !important; }
.rama-faq-layout > .elementor-container { display: grid; grid-template-columns: minmax(0,770fr) minmax(0,370fr); gap: 30px; align-items: start; }
.rama-faq-main,.rama-faq-form { width: 100% !important; min-width: 0; padding: 0 !important; }
.rama-faq-main > .elementor-widget-wrap { display: block; }
.rama-faq-category { position: relative; min-height: 70px; margin: 0 0 50px !important; padding-left: 100px !important; }
.rama-faq-category .pxl-heading-wrap { min-height: 70px; align-items: center; }
.rama-faq-category .pxl-heading-inner { min-width: 0; max-width: 100%; }
.rama-faq-category .heading-title { font: 40px/44px Forum,serif; letter-spacing: 0 !important; margin: 0; overflow-wrap: normal; }
.rama-faq-category:before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 70px; height: 70px; background: #781a1d; }
.rama-faq-category:after { content: ''; position: absolute; left: 15px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; background: center no-repeat; }
.rama-faq-hotel:after { background-image: url('figma/9202ee1f-304d-4058-99fe-f9c426fb4838.svg'); }
.rama-faq-services:after { background-image: url('figma/5eb51e7e-0135-48a9-a6a9-71fceeec540b.svg'); }
.rama-faq-restaurant:after { background-image: url('figma/df940594-8561-4034-bf70-03ebf870bb7f.svg'); }
.rama-faq-meetings:after { background-image: url('figma/29ab4cfa-37df-4ab7-8180-920f4b6021cc.svg'); }
.rama-faq-main .rama-accordion { margin: 0 0 40px !important; }
.rama-faq-main .rama-accordion:last-child { margin-bottom: 0 !important; }
.rama-accordion .pxl-accordion .ac-item { margin: 0 !important; border: 0; border-left: 1px solid #7c7c7c; border-right: 1px solid #7c7c7c; }
.rama-accordion .pxl-accordion .ac-item:last-child { border-bottom: 1px solid #7c7c7c; }
.rama-accordion .pxl-accordion .ac-title { position: relative; min-height: 47px; height: auto; padding: 10px 64px 10px 29px !important; border: 0; border-top: 1px solid #7c7c7c; background: #e1e1e1 !important; color: #111 !important; font: 400 18px/26px Forum,serif !important; letter-spacing: .03em; text-transform: none; }
.rama-accordion .pxl-accordion .ac-title > .col { padding: 0; min-width: 0; }
.rama-accordion .pxl-accordion .ac-title .pxl-icon { display: none !important; }
.rama-accordion .pxl-accordion .ac-title:after { content: ''; position: absolute; right: 30px; top: 50%; transform: translateY(-50%); width: 14.02px; height: 24px; background: center no-repeat url('figma/ab2e3e10-cdd9-40ef-b811-80808bcf7a99.svg'); }
.rama-accordion .pxl-accordion .ac-item.active .ac-title { background: #470b0d !important; color: white !important; }
.rama-accordion .pxl-accordion .ac-item.active .ac-title:after { background-image: url('figma/bef86a06-52e5-4a70-950d-3f89d4820aa7.svg'); }
.rama-accordion .ac-title:focus-visible { outline: 2px solid #897145; outline-offset: -3px; }
.rama-accordion .pxl-accordion .ac-content { padding: 30px !important; margin: 0; border: 0; color: #646464; font: 400 16px/24.38px Inter,sans-serif; letter-spacing: 0; }
.rama-faq-answer { max-width: 568px; }
.rama-faq-answer p:last-child { margin: 0; }
.rama-faq-form { margin-top: 120px; border: 1px solid #7c7c7c; background: white !important; }
.rama-faq-form > .elementor-widget-wrap { display: block; }
.rama-faq-form .elementor-widget { margin: 0; }
.rama-faq-form .elementor-widget-pxl_heading { padding: 16px 23px !important; background: #470b0d; margin: -1px -1px 0 !important; width: calc(100% + 2px); }
.rama-faq-form .elementor-widget-pxl_heading .heading-title { font: 22px/26.4px Forum,serif; letter-spacing: 0 !important; color: white !important; text-transform: none; margin: 0; padding: 0 !important; }
.rama-faq-form .elementor-widget-pxl_text_editor { padding: 16px 23px 0 !important; }
.rama-faq-form .pxl-text-editor { font: 15px/24.38px Inter,sans-serif; letter-spacing: 0; color: #111; width: 100%; }
.rama-faq-form .elementor-widget-shortcode { margin-top: 24px !important; }
.rama-faq-form form { padding: 0 23px; margin: 0; }
.rama-faq-form form > p { margin: 0; }
.rama-faq-form form label { display: block; margin: 0 0 12px; }
.rama-info-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.rama-faq-form form label br { display: none; }
.rama-faq-form form label > .wpcf7-form-control-wrap { display: block; }
.rama-faq-form form input:not([type=checkbox]):not([type=submit]),.rama-faq-form form textarea { display: block; width: 100%; min-width: 0; height: 45px; padding: 12px 16px; background: white; border: 1px solid #7c7c7c; border-radius: 0; font: 400 14px/19px Inter,sans-serif; letter-spacing: 0; text-transform: none; color: #111; }
.rama-faq-form form textarea.wpcf7-textarea { height: 230px !important; min-height: 230px !important; resize: vertical; }
.rama-faq-form form .rama-privacy { margin: 4px 0 24px; }
.rama-faq-form form .rama-privacy p { margin: 0; }
.rama-faq-form form .rama-privacy label { display: flex; align-items: flex-start; gap: 10px; margin: 0; font: 400 14px/22.75px Inter,sans-serif; text-transform: none; letter-spacing: 0; }
.rama-faq-form form .wpcf7-list-item { margin: 0; }
.rama-faq-form input[type=checkbox] { flex: 0 0 15px; width: 15px; height: 15px; margin: 3px 0 0; accent-color: #1c2c34; }
.rama-faq-form .g-recaptcha { display: block; margin-bottom: 24px; }
.rama-info-submit { position: relative; width: calc(100% + 48px); margin: 0 -24px -1px; }
.rama-info-submit p { margin: 0; }
.rama-faq-form input[type=submit] { width: 100%; height: 46px; min-height: 46px; padding: 10px 16px; border: 0; border-radius: 0; background: #e9dcc4; color: #110404; font: 500 12px/24px Inter,sans-serif; letter-spacing: .15em; text-transform: uppercase; white-space: normal; }
.rama-info-submit .wpcf7-spinner { position: absolute; right: 12px; top: 11px; margin: 0; }
.rama-faq-form .wpcf7-not-valid-tip { font: 14px/22px Inter,sans-serif; text-transform: none; letter-spacing: 0; }
@media (min-width:1024px) and (max-width:1399px) {
  .rama-faq-layout { padding-left: 32px !important; padding-right: 32px !important; }
  .rama-faq-layout > .elementor-container { grid-template-columns: minmax(0,1fr) 350px; gap: 24px; }
}
@media (max-width:1023px) {
  .rama-faq-layout { padding: 80px 24px !important; }
  .rama-faq-layout > .elementor-container { display: block; }
  .rama-faq-form { margin: 64px auto 0; max-width: 600px; }
}
@media (max-width:767px) {
  .rama-banner { height: 584px; min-height: 584px; background-position: center center !important; }
  .rama-banner .heading-title { font-size: 40px !important; line-height: 44px !important; }
  .rama-faq-layout { padding: 80px 16px !important; }
  .rama-faq-category { min-height: 56px; margin-bottom: 32px !important; padding-left: 80px !important; }
  .rama-faq-category .pxl-heading-wrap { min-height: 56px; }
  .rama-faq-category .heading-title { font-size: 32px; line-height: 35px; }
  .rama-faq-category:before { width: 56px; height: 56px; }
  .rama-faq-category:after { left: 8px; }
  .rama-accordion .pxl-accordion .ac-title { padding: 12px 46px 12px 19px !important; }
  .rama-accordion .pxl-accordion .ac-title:after { right: 16px; }
  .rama-accordion .pxl-accordion .ac-content { padding: 24px 19px !important; }
  .rama-faq-form { margin-top: 64px; }
  .rama-footer-main { padding: 80px 16px 56px !important; }
  .rama-footer-main .elementor-widget-wrap > .rama-logo { margin-bottom: 40px; }
  .rama-footer-nav .pxl-links { gap: 16px 24px; }
  .rama-footer-nav a { font-size: 16px; }
  .rama-footer-main .rama-legal a { font-size: 14px; }
  .rama-footer-bottom { padding: 30px 36px !important; }
}
@media (max-width:399px) {
  .rama-faq-form .g-recaptcha { transform: scale(.9); transform-origin: left top; margin-bottom: 16px; }
}
@media (max-width:359px) {
  .rama-faq-form .g-recaptcha { transform: scale(.75); margin-bottom: 4px; }
}
