/* Ristorante, Figma 214:1039 at 1728px. Mobile adapts the existing content. */
.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-restaurant-intro { padding: 140px max(24px,calc((100% - 1170px)/2)) 51px !important; }
.rama-restaurant-intro .elementor-widget-pxl_heading { margin: 0 0 40px !important; }
.rama-restaurant-intro .heading-title { font: 40px/44px Forum,serif; letter-spacing: .01em; text-align: center !important; width: 100%; }
.rama-restaurant-intro .pxl-heading-inner { width: 100%; }
.rama-restaurant-intro .pxl-text-editor { width: 100%; font: 16px/24px Inter,sans-serif; letter-spacing: .05em; text-align: center; }
.rama-restaurant-hours { max-width: 780px; margin: 0 auto !important; padding: 0 !important; }
.rama-restaurant-hours > .elementor-container { align-items: stretch; }
.rama-restaurant-hours .elementor-column { padding: 0 30px !important; border-color: #e1e1e1; }
.rama-restaurant-hours .elementor-widget-pxl_heading { margin: 0 0 16px !important; min-height: 52px; }
.rama-restaurant-hours .pxl-heading-wrap { justify-content: center !important; height: 52px; align-items: center; }
.rama-restaurant-hours .pxl-heading-inner { width: 100%; }
.rama-restaurant-hours .heading-title { font: 24px/26px Forum,serif; letter-spacing: .08em; text-align: center !important; margin: 0; }
.rama-restaurant-hours .pxl-text-editor-wrap { justify-content: center; }
.rama-restaurant-hours .pxl-text-editor { width: 100%; font: 16px/24px Inter,sans-serif; letter-spacing: .05em; color: #110404; text-align: center; }
.rama-restaurant-table { padding: 39px 24px 125px !important; }
.rama-restaurant-table .elementor-widget-pxl_button { margin: 0 !important; }
.rama-restaurant-table .pxl-button-wrapper { justify-content: center !important; }
.rama-restaurant-table .pxl-btn { position: relative; }
.rama-restaurant-table .pxl-btn:after { content: ''; position: absolute; left: 0; width: 100%; height: 1px; bottom: -5px; background: #e9dcc4; }
.rama-restaurant-feature > .elementor-container { align-items: stretch; }
.rama-restaurant-interior { position: relative; min-height: 778px; }
.rama-restaurant-interior .elementor-widget-pxl_image { position: absolute; inset: 0; height: 100%; }
.rama-restaurant-interior .elementor-widget-container,.rama-restaurant-interior .pxl-image-wg,.rama-restaurant-interior .pxl-image-inner { height: 100%; }
.rama-restaurant-interior img { width: 100%; height: 100% !important; display: block; object-fit: cover; object-position: center; }
.rama-restaurant-copy { padding: 113px 6.3657vw !important; min-width: 0; }
.rama-restaurant-copy > .elementor-widget-wrap { align-content: flex-start; max-width: 604px; }
.rama-restaurant-copy .elementor-widget { margin: 0; }
.rama-restaurant-copy .rama-restaurant-eyebrow { margin: 0 0 19px !important; }
.rama-restaurant-copy .elementor-widget-pxl_heading { margin: 0 0 40px !important; }
.rama-restaurant-copy .pxl-heading { margin: 0; }
.rama-restaurant-copy .pxl-heading-inner { min-width: 0; max-width: 100%; }
.rama-restaurant-copy .heading-title { font: 48px/53px Forum,serif; letter-spacing: .05em; margin: 0; color: white; overflow-wrap: normal; hyphens: none; }
.rama-restaurant-copy .pxl-text-editor { width: 100%; font: 16px/24px Inter,sans-serif; letter-spacing: .05em; }
.rama-restaurant-copy .rama-restaurant-amenities { margin: 25px 0 0 !important; }
.rama-restaurant-copy .pxl-list-style { margin: 0; display: grid; grid-template-columns: minmax(0,257px) minmax(0,1fr); grid-template-rows: repeat(3,auto); grid-auto-flow: column; gap: 22px 0; }
.rama-restaurant-amenities .list-item { padding: 0 !important; margin: 0 !important; gap: 16px; align-items: flex-start; min-width: 0; min-height: 26px; }
.rama-restaurant-amenities .list-icon { display: flex; width: 26px; flex: 0 0 26px; margin: 0 !important; }
.rama-restaurant-amenities .list-icon svg { width: auto !important; height: auto !important; max-width: none; flex-shrink: 0; }
.rama-restaurant-amenities .list-content { flex: 1; min-width: 0; }
.rama-restaurant-amenities .list-content p { margin: 0; font: normal 400 16px/24px Inter,sans-serif; letter-spacing: .05em; color: white; }
.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; }
@media (min-width:768px) and (max-width:1199px) {
  .rama-restaurant-intro { padding: 90px 32px 48px !important; }
  .rama-restaurant-copy { padding: 64px 32px !important; }
  .rama-restaurant-copy .heading-title { font-size: 38px; line-height: 42px; }
  .rama-restaurant-copy .pxl-list-style { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
}
@media (min-width:768px) and (max-width:1023px) {
  .rama-restaurant-feature > .elementor-container { flex-wrap: wrap; }
  .rama-restaurant-interior,.rama-restaurant-copy { width: 100% !important; }
  .rama-restaurant-interior { min-height: 0; }
  .rama-restaurant-interior .elementor-widget-pxl_image { position: relative; inset: auto; height: auto; }
  .rama-restaurant-interior img { height: auto !important; aspect-ratio: 1.5; object-fit: cover; }
  .rama-restaurant-copy { padding: 64px 48px !important; }
  .rama-restaurant-copy > .elementor-widget-wrap { max-width: none; }
  .rama-restaurant-copy .pxl-list-style { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3,auto); grid-auto-flow: column; }
}
@media (max-width:767px) {
  .rama-banner { height: 584px; min-height: 584px; }
  .rama-banner .heading-title { font-size: 40px !important; line-height: 44px !important; }
  .rama-banner-subtitle { padding: 0 24px !important; }
  .rama-banner-subtitle .pxl-text-editor { font-size: 16px !important; }
  .rama-restaurant-intro { padding: 80px 16px 48px !important; }
  .rama-restaurant-intro .heading-title { font-size: 32px; line-height: 35px; }
  .rama-restaurant-intro .elementor-widget-pxl_heading { margin-bottom: 32px !important; }
  .rama-restaurant-intro .pxl-text-editor { text-align: left; letter-spacing: .02em; }
  .rama-restaurant-intro br { display: none; }
  .rama-restaurant-hours { padding: 0 16px !important; max-width: none; }
  .rama-restaurant-hours .elementor-column { width: 100% !important; padding: 24px 16px !important; border: 0; border-bottom: 1px solid #e1e1e1; }
  .rama-restaurant-hours .elementor-column:last-child { border-bottom: 0; }
  .rama-restaurant-hours .elementor-widget-pxl_heading { min-height: 0; margin-bottom: 12px !important; }
  .rama-restaurant-hours .pxl-heading-wrap { height: auto; }
  .rama-restaurant-table { padding: 32px 16px 80px !important; }
  .rama-restaurant-table .pxl-btn { max-width: 100%; white-space: normal; text-align: center; }
  .rama-restaurant-interior,.rama-restaurant-copy { width: 100% !important; }
  .rama-restaurant-interior { min-height: 0; }
  .rama-restaurant-interior .elementor-widget-pxl_image { position: relative; inset: auto; height: auto; }
  .rama-restaurant-interior img { height: auto !important; aspect-ratio: 1.1; object-fit: cover; }
  .rama-restaurant-copy { padding: 64px 24px 72px !important; }
  .rama-restaurant-copy .rama-restaurant-eyebrow { margin-bottom: 16px !important; }
  .rama-restaurant-copy .heading-title { font-size: 32px; line-height: 35px; }
  .rama-restaurant-copy .elementor-widget-pxl_heading { margin-bottom: 32px !important; }
  .rama-restaurant-copy .pxl-text-editor { letter-spacing: .02em; }
  .rama-restaurant-copy .rama-restaurant-amenities { margin-top: 32px !important; }
  .rama-restaurant-copy .pxl-list-style { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px 12px; }
  .rama-restaurant-amenities .list-item { gap: 10px; }
  .rama-restaurant-amenities .list-content p { letter-spacing: .02em; }
  .rama-footer-main { padding: 80px 16px 56px !important; }
  .rama-footer-main .rama-logo img { margin: 0; }
  .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:359px) {
  .rama-restaurant-copy .pxl-list-style { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
  .rama-restaurant-table .pxl-btn { padding-left: 20px; padding-right: 20px; }
}
