/*
Theme Name: Appetito Child
Theme URI: https://appetito.qodeinteractive.com/
Description: A child theme of Appetito Theme
Author: Mikado Themes
Author URI: https://themeforest.net/user/mikado-themes
Version: 1.0.1
Text Domain: appetito
Template: appetito
*/

/* ------------------------------------- */
/* Generale */
/* ------------------------------------- */
:root {
  --white: #ffffff;
  --red: #b0312b;
  --black: #303030;
}

/* Nessun background demo Mikado sul container homepage */
.home .mkd-content .mkd-content-inner > .mkd-container,
.home .mkd-content .mkd-content-inner > .mkd-full-width {
  background-image: none !important;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}

@media only screen and (min-width: 1025px) {
  html {
    scroll-padding-top: 80px;
  }
}

h2 {
  letter-spacing: 0 !important;
}

body .custom-row {
  padding: 6em 0 !important;
}

@media only screen and (max-width: 768px) {
  body .custom-row {
    padding: 3em 0 !important;
  }
}

body .custom-row.custom-row-4-image {
  padding: 0 !important;
}

body .custom-row.custom-row-small {
  padding: 2em 0 4em !important;
}

body .custom-row.custom-row-small-menu {
  padding: 0em 0 4em !important;
}

/* body .custom-row.custom-row-small-menu-last {
  padding: 0em 0 4em !important;
} */

body .custom-row.custom-row-small-menu .mkd-eh-item-content {
  padding: 0 !important;
}

body .custom-row.custom-row-no-top {
  padding-top: 0 !important;
}

body
  .custom-row.custom-row-small-menu
  .mkd-eh-item-content
  .mkd-section-title-holder {
  padding: 0 !important;
  text-align: left !important;
}

body
  .custom-row.custom-row-small-menu
  .mkd-eh-item-content
  .mkd-st-title.mkd-title-center:before {
  left: 0 !important;
  -webkit-transform: translateX(0%) !important;
  -moz-transform: translateX(0%) !important;
  transform: translateX(0%) !important;
}

body
  .custom-row.custom-row-small-menu.vc_row-has-fill
  > .vc_column_container
  > .vc_column-inner {
  padding-top: 0px;
}

body .custom-pranzo-menu h2.mkd-title-center {
  font-size: 4em !important;
  padding: 0px 0 10px !important;
  margin: 0 !important;
}

body .custom-pranzo-menu p.mkd-st-text {
  font-family: "Catamaran" !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}

body .custom-pranzo-menu .wpb_text_column {
  text-align: center;
  margin-top: 40px;
  color: #303030;
  font-size: 1.2em;
  font-family: "Catamaran";
}

body .custom-pranzo-menu-title {
  padding: 4em 0 2em !important;
}

body .custom-row.custom-row-4-image .vc_column-inner {
  padding: 0 !important;
}

body .custom-big-title {
  margin-bottom: 3em !important;
}

body .custom-big-title p.mkd-st-text {
  font-size: 1.2em !important;
  line-height: 1.3em !important;
  display: block !important;
  margin: 0 !important;
  text-align: center !important;
  color: var(--black) !important;
}

body .custom-big-title.custom-big-title-menu {
  margin-bottom: 1em !important;
}

body .custom-big-title.custom-big-title-menu .mkd-st-title.mkd-title-center {
  color: var(--red) !important;
  font-size: 2em !important;
  margin: 0 !important;
  padding: 0 0 20px !important;
}

body .custom-price-menu {
  padding: 40px 0 0 !important;
}

body
  .mkd-pricing-list
  .mkd-pricing-list-item
  .mkd-pli-content
  .mkd-pli-title-holder
  .mkd-pli-price-holder
  .mkd-pli-price
  span {
  font-weight: 500 !important;
}

body .custom-price-menu .mkd-pricing-list-item {
  margin-bottom: 20px !important;
}

body .custom-price-menu .mkd-pricing-list-item h5 {
  font-size: 0.95em !important;
  letter-spacing: 0 !important;
}

body .custom-price-menu .mkd-pricing-list-item,
body .custom-price-menu .mkd-pli-content,
body .custom-price-menu .mkd-pli-content-holder {
  min-width: 0 !important;
  max-width: 100% !important;
}

body .custom-price-menu .mkd-pli-title-holder {
  display: flex !important;
  align-items: baseline !important;
  gap: 0 0px;
  width: 100% !important;
  min-width: 0 !important;
}

body .custom-price-menu .mkd-pli-title-holder .mkd-pli-title {
  display: block !important;
  width: auto !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 5px 0 0 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.35 !important;
}

body .custom-price-menu .mkd-pli-title-holder .mkd-pli-dots {
  display: block !important;
  flex: 1 1 24px !important;
  min-width: 24px !important;
  top: 0px !important;
  border-width: 0 0 2px !important;
}

body .custom-price-menu .mkd-pli-title-holder .mkd-pli-price-holder {
  display: block !important;
  width: auto !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

body .custom-price-menu .mkd-pli-title-holder .mkd-pli-price {
  margin: 0 !important;
  white-space: nowrap !important;
}

@media only screen and (max-width: 480px) {
  body .custom-price-menu {
    padding: 0 !important;
  }

  body .custom-price-menu .mkd-pli-title-holder {
    gap: 0 0px;
  }

  body .custom-price-menu .mkd-pricing-list-item {
    margin-bottom: 16px !important;
  }
}

body .custom-3-image h2.mkd-st-title {
  margin: 20px 0 10px !important;
  padding: 0 !important;
  font-size: 1.2em !important;
  text-transform: uppercase !important;
  text-align: center !important;
}

body .custom-3-image p.mkd-st-text {
  font-size: 1em !important;
  line-height: 1.2em !important;
  display: block !important;
  margin: 0 !important;
  text-align: center !important;
  color: var(--black) !important;
}

body .custom-row.custom-row-dark .mkd-section-title-inner h2,
body .custom-row.custom-row-dark .mkd-section-title-inner h5,
body .custom-row.custom-row-dark .mkd-section-title-inner p {
  color: var(--white) !important;
}

body
  .custom-row.custom-row-dark
  .mkd-pricing-list
  .mkd-pli-content
  .mkd-pli-title-holder
  h5,
body
  .custom-row.custom-row-dark
  .mkd-pricing-list
  .mkd-pli-content
  .mkd-pli-desc {
  color: var(--white) !important;
}

body
  .custom-row.custom-row-dark
  .mkd-pricing-list
  .mkd-pli-content
  .mkd-pli-title-holder
  .mkd-pli-dots,
body
  .custom-row.custom-row-dark
  .mkd-pricing-list
  .mkd-pli-content
  .mkd-pli-title-holder
  .mkd-pli-price-holder {
  display: none !important;
}

body .custom-row.custom-row-dark .mkd-pricing-list .mkd-pricing-list-item {
  margin: 0 0 30px;
}

body .custom-row.custom-row-dark .mkd-pricing-list .mkd-section-title-holder p {
  font-style: italic !important;
  margin: 0 0 50px !important;
  font-family: Times New Roman;
}

body .custom-row.custom-row-dark .custom-eventi-menu .mkd-section-title-inner {
  margin-bottom: 50px;
}

body .custom-row.custom-row-dark .custom-eventi-menu h2.mkd-st-title {
  font-size: 2.5em !important;
}

body .custom-row.custom-row-dark .custom-eventi-menu p.mkd-st-text {
  font-style: italic !important;
  font-family: Times New Roman;
  font-size: 1.5em;
}

body
  .custom-row.custom-row-dark
  .mkd-pricing-list
  .mkd-pricing-list-item:last-child {
  margin: 0 0 0;
}

body .custom-eventi-menu .mkd-section-title-holder {
  margin: 0 0 0px !important;
}

body .custom-eventi-menu .mkd-section-title-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "title title"
    "date price";
  -moz-column-gap: 24px;
  column-gap: 24px;
  align-items: baseline;
  width: 100%;
}

body .custom-eventi-menu .mkd-section-title-inner .mkd-st-title {
  grid-area: title;
  margin: 0 !important;
}

body .custom-eventi-menu .mkd-section-title-inner .mkd-st-subtitle {
  grid-area: price;
  justify-self: end;
  margin: 0 !important;
  white-space: nowrap;
  font-family: Times New Roman;
  font-style: normal;
  font-size: 1.5em;
  font-weight: 400;
}

body .custom-eventi-menu .mkd-section-title-inner .mkd-st-text {
  grid-area: date;
  min-width: 0;
  margin: 0 !important;
}

@media (min-width: 768px) {
  body .custom-eventi-menu {
    display: flex !important;
    align-items: stretch !important;
  }

  body .custom-eventi-menu > .wpb_column {
    display: flex !important;
    float: none !important;
  }

  body .custom-eventi-menu > .wpb_column:first-child > .vc_column-inner,
  body
    .custom-eventi-menu
    > .wpb_column:first-child
    > .vc_column-inner
    > .wpb_wrapper,
  body .custom-eventi-menu > .wpb_column:first-child .wpb_single_image,
  body .custom-eventi-menu > .wpb_column:first-child .vc_figure,
  body .custom-eventi-menu > .wpb_column:first-child .vc_single_image-wrapper {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
  }

  body .custom-eventi-menu > .wpb_column:first-child .wpb_single_image {
    margin-bottom: 0 !important;
    height: fit-content !important;
  }

  body .custom-eventi-menu > .wpb_column:first-child img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    -o-object-fit: cover !important;
    object-fit: cover !important;
  }
}

body .custom-row .custom-paragraph p {
  font-size: 1.1em !important;
  line-height: 1.2em !important;
  color: var(--black) !important;
}

body
  .custom-paragraph
  > .wpb_column:first-child
  > .vc_column-inner
  > .wpb_wrapper {
  flex-direction: column !important;
  justify-content: center !important;
}

body .custom-paragraph > .wpb_column:first-child img {
  -o-object-fit: contain !important;
  object-fit: contain !important;
  max-width: 150px !important;
}

body .custom-paragraph > .wpb_column:first-child .vc_single_image-wrapper {
  justify-content: flex-end;
}

/* ------------------------------------- */
/* /Generale */
/* ------------------------------------- */

/* ------------------------------------- */
/* Footer */
/* ------------------------------------- */
body .mkd-page-footer .mkd-footer-top-inner.mkd-grid {
  padding: 5em 0 !important;
}

body .mkd-page-footer .mkd-grid-col-3 {
  width: 33.33% !important;
  display: flex !important;
  justify-content: center !important;
}

body .mkd-page-footer .mkd-grid-col-3 .widget_text {
  text-align: center !important;
}

body .mkd-page-footer .mkd-grid-col-3 .widget_text h3 {
  font-family: "Times new roman" !important;
  color: var(--white) !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  position: relative !important;
  margin-bottom: 30px !important;
}

body .mkd-page-footer .mkd-grid-col-3 .widget_text h3:before {
  content: " ";
  position: absolute;
  display: block;
  width: 56px;
  left: calc(50% - 28px);
  bottom: -10px;
  opacity: 1;
  border-top: 4px solid var(--white) !important;
}

body .mkd-page-footer .mkd-grid-col-3 .widget_text p {
  color: var(--white) !important;
}

body .mkd-page-footer .mkd-footer-bottom-holder {
  background: var(--white) !important;
}

body .mkd-page-footer .mkd-footer-bottom-holder .textwidget,
body .mkd-page-footer .mkd-footer-bottom-holder .textwidget p,
body .mkd-page-footer .mkd-footer-bottom-holder .textwidget p a {
  color: var(--black) !important;
}

@media only screen and (max-width: 900px) {
  body .mkd-page-footer .mkd-footer-top-inner.mkd-grid {
    padding: 2.5em 0 !important;
  }

  body .mkd-page-footer .mkd-footer-top .mkd-grid-row {
    display: block !important;
  }

  body .mkd-page-footer .mkd-grid-col-3 {
    width: 100% !important;
    float: none !important;
    display: block !important;
    margin-bottom: 2em !important;
  }

  body .mkd-page-footer .mkd-grid-col-3:last-child {
    margin-bottom: 0 !important;
  }

  body .mkd-page-footer .mkd-footer-column-4:empty,
  body .mkd-page-footer .mkd-footer-column-4:not(:has(.widget)) {
    display: none !important;
    margin: 0 !important;
  }

  body .mkd-page-footer .mkd-grid-col-3 .widget_text h3 {
    margin-bottom: 1em !important;
    padding-bottom: 0.3em !important;
    font-size: 1.25em !important;
  }

  body .mkd-page-footer .mkd-grid-col-3 .widget_text h3:before {
    bottom: -5px;
  }

  body .mkd-page-footer .mkd-grid-col-3 .widget_text p {
    font-size: 0.9375em !important;
    line-height: 1.55 !important;
    margin: 0 0 0.75em !important;
  }

  body .mkd-page-footer .mkd-grid-col-3 .widget_text p:last-child {
    margin-bottom: 0 !important;
  }

  body .mkd-page-footer .mkd-footer-bottom-inner.mkd-grid {
    padding: 1.25em 0 !important;
  }

  body .mkd-page-footer .mkd-footer-bottom-holder .textwidget,
  body .mkd-page-footer .mkd-footer-bottom-holder .textwidget p {
    text-align: center !important;
    font-size: 0.8125em !important;
    line-height: 1.6 !important;
    margin: 0 !important;
  }
}

@media only screen and (max-width: 480px) {
  body .mkd-page-footer .mkd-footer-top-inner.mkd-grid {
    padding: 2em 0 !important;
  }

  body .mkd-page-footer .mkd-grid-col-3 {
    margin-bottom: 1.75em !important;
  }

  body .mkd-page-footer .mkd-footer-bottom-inner.mkd-grid {
    padding: 1em 0 !important;
  }
}

/* ------------------------------------- */
/* /Footer */
/* ------------------------------------- */

/* ------------------------------------- */
/* Header */
/* ------------------------------------- */
body .mkd-page-header {
  background: var(--white) !important;
  box-shadow: none !important;
}

body .mkd-sticky-header.header-appear {
  display: none !important;
}

body .mkd-vertical-align-containers .mkd-position-right {
  display: none !important;
}

body .mkd-main-menu > ul > li > a {
  color: var(--black) !important;
}

body .mkd-vertical-align-containers .mkd-position-center {
  display: flex !important;
  justify-content: end !important;
}

body .mkd-main-menu > ul > li.custom-menu-prenota a span.item_text {
  background: var(--red) !important;
  padding: 10px 30px !important;
  color: var(--white) !important;
}

body .mkd-main-menu > ul > li.custom-menu-chiama a span.item_text {
  background: var(--black) !important;
  padding: 10px 30px !important;
  color: var(--white) !important;
}

body .mkd-main-menu > ul > li > a {
  padding: 0 10px !important;
}

body .mkd-page-header .mkd-menu-area .mkd-logo-wrapper a {
  height: 60px !important;
  max-width: 180px !important;
}

@media only screen and (max-width: 1300px) {
  body.mkd-header-standard .mkd-menu-area .mkd-grid {
    padding: 0 20px !important;
  }
}

body .mkd-mobile-header .mkd-vertical-align-containers {
  display: flex !important;
  flex-direction: row-reverse !important;
}

body .mkd-mobile-header .mkd-position-center-inner {
  display: flex !important;
  align-items: center !important;
}

body .mkd-mobile-header .mkd-vertical-align-containers .mkd-position-center {
  display: flex !important;
  justify-content: start !important;
}

@media only screen and (max-width: 480px) {
  body .mkd-container-inner,
  body .mkd-grid,
  body .mkd-row-grid-section,
  body .mkd-slider .carousel-inner .mkd-slider-content-outer {
    width: calc(100% - 40px) !important;
  }
}

body .mkd-mobile-header .mkd-mobile-header-inner {
  height: 80px !important;
}

body .mkd-mobile-header .mkd-mobile-nav {
  border-top: 1px solid rgba(48, 48, 48, 0.12) !important;
  border-bottom: 1px solid rgba(48, 48, 48, 0.12) !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 0.5em !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul li {
  flex: 0 0 100% !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(48, 48, 48, 0.08) !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul li a {
  font-family: "Catamaran" !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul li.current-menu-item > a,
body .mkd-mobile-header .mkd-mobile-nav ul li.mkd-active-item > a {
  color: var(--red) !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul li.custom-menu-prenota,
body .mkd-mobile-header .mkd-mobile-nav ul li.custom-menu-chiama {
  flex: 0 0 calc(50% - 0.25em) !important;
  width: calc(50% - 0.25em) !important;
  border-bottom: 0 !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul li.custom-menu-prenota {
  background: var(--red) !important;
  padding: 0 !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul li.custom-menu-prenota a {
  color: var(--white) !important;
  text-align: center !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul li.custom-menu-chiama {
  background: var(--black) !important;
  padding: 0 !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul li.custom-menu-chiama a {
  color: var(--white) !important;
  text-align: center !important;
}

body .mkd-mobile-header .mkd-mobile-nav ul li.custom-menu-prenota a,
body .mkd-mobile-header .mkd-mobile-nav ul li.custom-menu-chiama a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 3.25em !important;
  padding: 0 0.75em !important;
  border-bottom: 0 !important;
}

/* ------------------------------------- */
/* Prenota un tavolo */
/* ------------------------------------- */
:root {
  --white: #ffffff;
  --red: #b0312b;
  --black: #303030;
}

/* Reset forzato dentro il form */
.booking-form,
.booking-form * {
  box-sizing: border-box;
}

.booking-form {
  width: 100%;
  max-width: 100%;
  text-align: left;
}

/* Rimuove margini automatici generati da Contact Form 7 */
.booking-form p {
  margin: 0;
  padding: 0;
}

.booking-form br {
  display: none;
}

/* Griglia */
.booking-form .booking-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 26px;
  column-gap: 26px;
  row-gap: 30px;
  margin: 0 0 36px 0;
}

/* Campo */
.booking-form .booking-field {
  width: 100%;
  text-align: left;
}

/* Label */
.booking-form .booking-field label {
  display: block;
  margin: 0 0 10px 0;
  padding: 0;
  color: var(--black);
  font-size: 23px;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
}

/* Wrapper CF7 */
.booking-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

/* Input e select */
.booking-form input[type="text"],
.booking-form input[type="email"],
.booking-form input[type="tel"],
.booking-form input[type="number"],
.booking-form select,
.booking-form textarea {
  display: block;
  width: 100%;
  height: 70px;
  margin: 0;
  padding: 0 34px;
  border: 2px solid var(--black);
  border-radius: 0;
  background-color: var(--white);
  color: var(--black);
  font-size: 17px;
  font-weight: 600;
  line-height: 70px;
  letter-spacing: 2px;
  text-align: left;
  box-shadow: none;
  outline: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

/* Placeholder */
.booking-form input::-webkit-input-placeholder,
.booking-form textarea::-webkit-input-placeholder {
  color: var(--black);
  opacity: 1;
  text-transform: uppercase;
}
.booking-form input::-moz-placeholder,
.booking-form textarea::-moz-placeholder {
  color: var(--black);
  opacity: 1;
  text-transform: uppercase;
}
.booking-form input:-ms-input-placeholder,
.booking-form textarea:-ms-input-placeholder {
  color: var(--black);
  opacity: 1;
  text-transform: uppercase;
}
.booking-form input::-ms-input-placeholder,
.booking-form textarea::-ms-input-placeholder {
  color: var(--black);
  opacity: 1;
  text-transform: uppercase;
}
.booking-form input::placeholder,
.booking-form textarea::placeholder {
  color: var(--black);
  opacity: 1;
  text-transform: uppercase;
}

/* Focus */
.booking-form input:focus,
.booking-form select:focus,
.booking-form textarea:focus {
  border-color: var(--red);
  outline: none;
  box-shadow: none;
}

/* Select ora custom */
.booking-form select {
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--black) 50%),
    linear-gradient(135deg, var(--black) 50%, transparent 50%);
  background-position:
    calc(100% - 28px) 31px,
    calc(100% - 20px) 31px;
  background-size: 8px 8px;
  background-repeat: no-repeat;
}

/* Campo data con icona custom */
.booking-form .js-booking-date {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='3' y='5' width='18' height='16' rx='0' stroke='%23303030' stroke-width='2'/%3E%3Cpath d='M8 3V7' stroke='%23303030' stroke-width='2'/%3E%3Cpath d='M16 3V7' stroke='%23303030' stroke-width='2'/%3E%3Cpath d='M3 10H21' stroke='%23303030' stroke-width='2'/%3E%3C/svg%3E");
  background-position: calc(100% - 34px) center;
  background-repeat: no-repeat;
  background-size: 18px 18px;
}

/* Privacy */
.booking-form .booking-privacy {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 4px 0 36px 0;
  color: var(--black);
  font-size: 18px;
  line-height: 1.4;
  text-align: left;
}

.booking-form .booking-privacy .wpcf7-form-control-wrap,
.booking-form .booking-privacy .wpcf7-form-control,
.booking-form .booking-privacy .wpcf7-list-item {
  display: block;
  margin: 0;
  padding: 0;
}

.booking-form .booking-privacy label {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  padding: 0;
  cursor: pointer;
}

.booking-form .booking-privacy input[type="checkbox"] {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0;
  border: 2px solid var(--black);
  border-radius: 0;
  accent-color: var(--red);
  cursor: pointer;
}

.booking-form .booking-privacy .wpcf7-list-item-label {
  color: var(--black);
  font-size: 18px;
  line-height: 1.4;
}

.booking-form .booking-privacy a {
  color: var(--black);
  text-decoration: underline;
}

/* Submit */
.booking-form .booking-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin: 0;
  text-align: center;
}

.booking-form .booking-submit p {
  width: 100%;
  text-align: center;
}

.booking-form input[type="submit"].wpcf7-submit {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 620px;
  height: 84px;
  margin: 0 auto;
  padding: 0 40px;
  border: 0;
  border-radius: 0;
  background-color: var(--red) !important;
  color: var(--white) !important;
  font-size: 23px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: none;
}

.booking-form input[type="submit"].wpcf7-submit:hover,
.booking-form input[type="submit"].wpcf7-submit:focus {
  background-color: var(--black) !important;
  color: var(--white) !important;
}

/* Spinner CF7 */
.booking-form .wpcf7-spinner {
  display: none;
}

/* Errori */
.booking-form .wpcf7-not-valid-tip {
  margin-top: 8px;
  color: var(--red);
  font-size: 14px;
  line-height: 1.3;
}

.booking-form + .wpcf7-response-output,
.wpcf7 form .wpcf7-response-output {
  margin: 28px 0 0 0;
  padding: 14px 18px;
  border-color: var(--red);
  color: var(--black);
  font-size: 16px;
}

/* Flatpickr custom */
.flatpickr-calendar {
  border: 2px solid var(--black);
  border-radius: 0;
  box-shadow: none;
  font-family: inherit;
}

.flatpickr-months,
.flatpickr-weekdays {
  background-color: var(--white);
}

.flatpickr-current-month,
.flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
  color: var(--black);
  font-weight: 700;
}

.flatpickr-day {
  border-radius: 0;
  color: var(--black);
}

.flatpickr-day.today {
  border-color: var(--red);
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange,
.flatpickr-day.selected:hover {
  background: var(--red);
  border-color: var(--red);
  color: var(--white);
}

.flatpickr-day:hover {
  background: var(--black);
  border-color: var(--black);
  color: var(--white);
}

/* Responsive */
@media (max-width: 900px) {
  .booking-form .booking-row {
    grid-template-columns: 1fr;
    row-gap: 24px;
    margin-bottom: 24px;
  }

  .booking-form .booking-field label {
    font-size: 21px;
  }

  .booking-form input[type="text"],
  .booking-form input[type="email"],
  .booking-form input[type="tel"],
  .booking-form input[type="number"],
  .booking-form select {
    height: 64px;
    padding: 0 22px;
    line-height: 64px;
  }

  .booking-form input[type="submit"].wpcf7-submit {
    max-width: 100%;
    height: 72px;
    font-size: 20px;
  }
}

/* ------------------------------------- */
/* Prenota un tavolo - Five Star Restaurant Reservations */
/* ------------------------------------- */
.rtb-booking-form,
.rtb-booking-form * {
  box-sizing: border-box;
}

.custom-row .widget.widget_text {
  margin-bottom: 0 !important;
}

.rtb-booking-form {
  width: 100%;
  max-width: 100%;
  margin: 0;
  color: var(--black);
  text-align: left;
  margin-bottom: 0 !important;
}

.rtb-booking-form br,
.rtb-booking-form > p:empty,
.rtb-booking-form form.rtb-booking-form-form > p:empty {
  display: none !important;
}

.rtb-booking-form form.rtb-booking-form-form {
  width: 100%;
  margin: 0;
}

.rtb-booking-form fieldset {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 1.625em;
  column-gap: 1.625em;
  row-gap: 1.625em;
  margin: 0 0 1.75em 0;
  padding: 0;
  border: 0;
}

.rtb-booking-form fieldset legend {
  display: none;
}

.rtb-booking-form fieldset > div {
  width: 100%;
  margin: 0;
  padding: 0;
}

.rtb-booking-form label {
  display: block;
  margin: 0 0 0.3125em 0;
  padding: 0;
  color: var(--black);
  font-size: 1em;
  font-weight: 700;
  line-height: 1.2;
  text-align: left;
}

.rtb-booking-form input[type="text"],
.rtb-booking-form input[type="email"],
.rtb-booking-form input[type="tel"],
.rtb-booking-form select,
.rtb-booking-form textarea {
  display: block;
  width: 100%;
  min-width: 100%;
  height: 3.125em;
  margin: 0;
  padding: 0 0.625em;
  border: 0.125em solid var(--black);
  border-radius: 0;
  background-color: var(--white);
  color: var(--black);
  font-size: 1em;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  box-shadow: none;
  outline: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

.rtb-booking-form input[type="text"]:focus,
.rtb-booking-form input[type="email"]:focus,
.rtb-booking-form input[type="tel"]:focus,
.rtb-booking-form select:focus,
.rtb-booking-form textarea:focus {
  border-color: var(--red);
  outline: none;
  box-shadow: none;
}

.rtb-booking-form select {
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--black) 50%),
    linear-gradient(135deg, var(--black) 50%, transparent 50%);
  background-position:
    calc(100% - 1.15em) 50%,
    calc(100% - 0.8em) 50%;
  background-repeat: no-repeat;
  background-size: 0.35em 0.35em;
  background-color: var(--white);
  color: var(--black);
  line-height: 3.125em;
  text-align: left;
  -moz-text-align-last: left;
  text-align-last: left;
  vertical-align: middle;
}

.rtb-booking-form .picker__input {
  cursor: pointer;
  background-image: none;
}

.rtb-booking-form select#rtb-party {
  display: block;
  font-family: inherit;
  height: 3.125em;
  min-height: 3.125em;
  padding-right: 2em;
  border: 0.125em solid var(--black);
  background-color: var(--white);
  color: var(--black);
  font-size: 1em;
  font-weight: 600;
  line-height: 3.125em;
  letter-spacing: 0;
  box-shadow: none;
  outline: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
}

.rtb-booking-form select#rtb-party option {
  color: var(--black);
  background: var(--white);
}

.rtb-booking-form .rtb-form-footer {
  display: block;
  margin-top: 0.5em;
  text-align: center;
  margin-bottom: 0 !important;
  padding-bottom: 0;
}

.rtb-booking-form .rtb-form-submit {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0;
}

.rtb-booking-form .rtb-form-submit button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 19.5em;
  height: 3.125em;
  margin: 0 auto;
  padding: 0 2.5em;
  border: 0;
  border-radius: 0;
  background-color: var(--red) !important;
  color: var(--white) !important;
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: none;
}

.rtb-booking-form .rtb-form-submit button:hover,
.rtb-booking-form .rtb-form-submit button:focus {
  background-color: var(--black) !important;
  color: var(--white) !important;
}

.rtb-booking-form .rtb-form-submit button:disabled,
.rtb-booking-form .rtb-form-submit button:disabled:hover,
.rtb-booking-form .rtb-form-submit button:disabled:focus {
  background-color: rgba(176, 49, 43, 0.45) !important;
  color: rgba(255, 255, 255, 0.85) !important;
  cursor: not-allowed;
  opacity: 1;
}

.rtb-booking-form form.rtb-is-submitting .rtb-form-submit button,
.rtb-booking-form form.rtb-is-submitting .rtb-form-submit button:hover,
.rtb-booking-form form.rtb-is-submitting .rtb-form-submit button:focus {
  background-color: var(--black) !important;
  color: var(--white) !important;
  cursor: wait;
}

.rtb-booking-form .add-message,
.rtb-booking-form .message {
  display: none !important;
}

.rtb-booking-form .rtb-message {
  display: block;
  width: 100%;
  max-width: 42em;
  margin: 0 auto;
  padding: 1.5em 1.75em;
  border: 0.125em solid var(--red);
  background: var(--white);
  color: var(--black);
  text-align: center;
  box-shadow: 0 0.875em 2.5em rgba(48, 48, 48, 0.12);
}

.rtb-booking-form .rtb-message p {
  margin: 0;
  color: var(--black);
  font-size: 1.125em;
  font-weight: 700;
  line-height: 1.45;
}

.rtb-booking-form .rtb-error,
.rtb-booking-form .rtb-booking-form-error {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 0 0.625em 0;
  padding: 0.625em 0.75em;
  border: 0.0625em solid rgba(176, 49, 43, 0.28);
  border-left: 0.25em solid var(--red);
  background: rgba(176, 49, 43, 0.08);
  color: var(--red);
  font-size: 0.875em;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

.rtb-booking-form .rtb-form-footer #rtb_recaptcha {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 0 0 0.75em 0;
}

.rtb-booking-form .rtb-form-footer .rtb-error {
  margin: 0 auto 0.875em auto;
  text-align: center;
}

/* ------------------------------------- */
/* Pickadate — calendario */
/* ------------------------------------- */
.picker {
  color: var(--black);
  font-family: inherit;
  font-size: 1em;
}

.picker:not(.picker--opened) .picker__holder {
  display: none !important;
}

/* Overlay full-screen: pickadate appende il holder al body */
.picker__holder {
  position: fixed !important;
  z-index: 99999 !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  overflow: auto;
  border: 0;
  box-shadow: none;
  padding: 0;
}

/* Frame centrato nell'overlay */
.picker__frame {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  margin: auto !important;
  transform: none !important;
  width: 90%;
  max-width: 20em;
  min-width: 17em;
  max-height: 90vh;
  overflow-y: auto;
  background: var(--white);
  border: 0.125em solid var(--black);
  border-radius: 0 !important;
  box-shadow: 0 0.5em 2em rgba(0, 0, 0, 0.2);
}

.picker__wrap {
  border-radius: 0 !important;
}

.picker__box {
  padding: 0;
  border: 0;
  border-radius: 0 !important;
  background: var(--white);
  color: var(--black);
}

/* Header: mese, anno, frecce */
.picker__header {
  position: relative;
  display: block;
  min-height: 1em;
  padding: 0.9em 3em;
  background: var(--black);
  color: var(--white);
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.picker__month,
.picker__year {
  display: inline-block;
  width: auto;
  margin: 0;
  padding: 0;
  color: var(--white);
  font-size: 0.95em;
  font-weight: 700;
  line-height: 1.5;
  vertical-align: middle;
}

.picker__year {
  margin-left: 0.45em;
  opacity: 0.65;
}

.picker__nav--prev,
.picker__nav--next {
  position: absolute;
  top: 1.5em;
  width: 1.8em;
  height: 1.8em;
  margin: 0;
  padding: 0;
  transform: translateY(-50%);
  border: none !important;
  border-radius: 0 !important;
  color: transparent !important;
  background: transparent !important;
  cursor: pointer;
  font-size: 1em;
  line-height: 1;
  outline: none !important;
  overflow: hidden;
  text-align: center;
}

.picker__nav--prev {
  left: 1em;
}

.picker__nav--next {
  right: 1em;
}

.picker__nav--prev::before,
.picker__nav--next::before,
.picker__nav--prev::after,
.picker__nav--next::after {
  position: absolute !important;
  top: 50%;
  left: 50%;
  display: block !important;
  width: 0.55em !important;
  height: 0.55em !important;
  margin: 0 !important;
  padding: 0 !important;
  border: solid var(--white) !important;
  border-width: 0 0.125em 0.125em 0 !important;
  color: var(--white);
  background: transparent !important;
  content: "" !important;
  font-size: inherit;
  line-height: 1;
}

.picker__nav--prev::before {
  transform: translate(-35%, -50%) rotate(135deg);
}

.picker__nav--next::before {
  transform: translate(-65%, -50%) rotate(-45deg);
}

.picker__nav--prev::after,
.picker__nav--next::after {
  display: none !important;
}

.picker__nav--prev:hover,
.picker__nav--next:hover {
  border: none !important;
  background: transparent !important;
}

.picker__nav--prev:focus,
.picker__nav--next:focus {
  border-color: var(--red) !important;
  outline: none !important;
}

.picker__nav--disabled,
.picker__nav--disabled:hover {
  border: none !important;
  background: transparent !important;
  opacity: 0.25;
  cursor: default;
}

/* Tabella giorni */
.picker__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  margin: 0;
  background: var(--white);
}

.picker__table th,
.picker__table td {
  width: 14.285%;
  padding: 0;
  border: none;
  border-radius: 0 !important;
  text-align: center;
}

.picker__weekday {
  padding: 0.55em 0;
  background: #f5f5f5;
  color: rgba(48, 48, 48, 0.55);
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;
}

.picker__day {
  display: block;
  width: 100%;
  min-height: 1.5em;
  padding: 0.55em 0;
  border: 0.125em solid transparent;
  border-radius: 0 !important;
  background: transparent;
  color: var(--black);
  font-size: 0.875em;
  font-weight: 600;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  outline: none !important;
  transition:
    background 0.1s,
    color 0.1s;
}

.picker__day--infocus {
  color: var(--black);
}

.picker__day--outfocus {
  color: rgba(48, 48, 48, 0.3);
}

.picker__day--today {
  font-weight: 700;
  border-color: var(--red);
  text-decoration: none;
}

.picker__day--today::before {
  display: none;
}

.picker__day--highlighted,
.picker__day--selected {
  border-color: var(--red) !important;
  background: var(--red) !important;
  color: var(--white) !important;
  text-decoration: none;
}

.picker__day--disabled,
.picker__day--outfocus.picker__day--disabled {
  border-color: transparent !important;
  background: transparent;
  color: rgba(48, 48, 48, 0.2);
  cursor: default;
  text-decoration: none;
}

.picker__day--disabled:hover {
  border-color: transparent !important;
  background: transparent;
  color: rgba(48, 48, 48, 0.2);
}

.picker__day--infocus:not(.picker__day--disabled):not(
    .picker__day--selected
  ):hover {
  border-color: var(--black);
  background: var(--black);
  color: var(--white);
}

.picker__day--infocus:not(.picker__day--disabled):focus {
  border-color: var(--red);
  outline: none !important;
}

/* Footer: bottoni oggi/svuota/chiudi */
.picker__footer {
  display: flex;
  justify-content: center;
  gap: 1em;
  padding: 0.75em;
  border-top: 0.0625em solid #e0e0e0;
  background: var(--white);
}

.picker__button--today,
.picker__button--clear,
.picker__button--close {
  padding: 0.5em 0.9em;
  border: 0.125em solid var(--black) !important;
  border-radius: 0 !important;
  background: transparent;
  color: var(--black);
  font-size: 0.8em;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  outline: none !important;
}

.picker__button--today::before,
.picker__button--clear::before,
.picker__button--close::before {
  display: none !important;
}

.picker__button--today:hover,
.picker__button--clear:hover,
.picker__button--close:hover {
  border-color: #eeeeee !important;
  background: #eeeeee;
  color: #000000;
  cursor: pointer;
}

.picker__button--today:focus,
.picker__button--clear:focus,
.picker__button--close:focus {
  border-color: var(--red) !important;
  outline: none !important;
}

/* ------------------------------------- */
/* Pickadate — lista orari */
/* ------------------------------------- */
body .picker.picker--time,
body .picker.picker--time * {
  box-sizing: border-box;
}

.picker--time .picker__frame,
body .picker.picker--opened.picker--time .picker__frame {
  width: min(42em, calc(100vw - 3em)) !important;
  max-width: 42em !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: calc(100vh - 3em) !important;
  overflow: visible !important;
}

.picker--time .picker__wrap,
body .picker.picker--opened.picker--time .picker__wrap {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

.picker--time .picker__box,
body .picker.picker--opened.picker--time .picker__box {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 1em !important;
  overflow: visible !important;
}

#rtb-time_root .picker__list,
#rtb-time_root .picker__list li {
  list-style: none !important;
  margin: 0 !important;
}

body .picker.picker--opened.picker--time .picker__list,
.picker__list.rtb-time-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: minmax(2.5em, auto);
  width: 100% !important;
  max-width: 100% !important;
  gap: 1px;
  padding: 1px;
  margin: 0;
  list-style: none;
  background: #eeeeee;
  border: none;
  border-radius: 0 !important;
}

body .picker.picker--opened.picker--time .rtb-time-list-heading,
.picker__list.rtb-time-list .rtb-time-list-heading {
  display: flex !important;
  align-items: center;
  justify-content: center;
  grid-column: 1 / -1;
  width: 100% !important;
  min-height: 2.25em;
  margin: 0;
  padding: 0.5em 0.75em;
  border: none !important;
  border-radius: 0 !important;
  background: #eeeeee;
  color: var(--black) !important;
  font-size: 1em;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  cursor: default;
  pointer-events: none;
  outline: none !important;
  box-shadow: none !important;
}

body .picker.picker--opened.picker--time .picker__list-item {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 2.5em;
  margin: 0;
  padding: 0.65em 0.4em;
  border: none !important;
  border-radius: 0 !important;
  background: var(--white);
  color: var(--black) !important;
  font-size: 0.95em;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
}

.picker--time .picker__list-item--disabled {
  display: none !important;
}

.picker__list-item:hover,
.picker__list-item--highlighted,
.picker__list-item--viewset,
.picker__list-item--selected,
.picker__list-item--selected:hover,
body .picker.picker--opened.picker--time .picker__list-item:hover,
body .picker.picker--opened.picker--time .picker__list-item--highlighted,
body .picker.picker--opened.picker--time .picker__list-item--viewset,
body .picker.picker--opened.picker--time .picker__list-item--selected {
  background: var(--black) !important;
  color: var(--white) !important;
}

.picker__list-item:focus,
body .picker.picker--opened.picker--time .picker__list-item:focus {
  background: var(--black) !important;
  color: var(--white) !important;
  outline: none !important;
}

.picker--time .picker__button--clear {
  display: none !important;
}

.picker--time
  .picker__list
  > li[role="presentation"]:not(.rtb-time-list-heading) {
  display: none !important;
}

@media (max-width: 900px) {
  .rtb-booking-form fieldset {
    grid-template-columns: 1fr;
    row-gap: 1.375em;
    margin-bottom: 1.5em;
  }

  .rtb-booking-form label {
    font-size: 1em;
    margin-bottom: 0.375em;
  }

  .rtb-booking-form input[type="text"],
  .rtb-booking-form input[type="email"],
  .rtb-booking-form input[type="tel"],
  .rtb-booking-form select,
  .rtb-booking-form textarea {
    height: 3.125em;
    padding: 0 0.75em;
    line-height: 1.2;
  }

  .rtb-booking-form select#rtb-party {
    padding-right: 2em;
  }

  .rtb-booking-form .rtb-form-footer {
    margin-top: 1em;
  }

  .rtb-booking-form .rtb-form-submit button {
    width: 100%;
    max-width: 100%;
    height: 3.125em;
    font-size: 1em;
  }
}

/* Override finali Pickadate: devono vincere sugli stili caricati dal plugin. */
body .picker.picker--opened .picker__header {
  min-height: 1em !important;
}

body .picker.picker--opened .picker__nav--prev,
body .picker.picker--opened .picker__nav--next {
  top: 1.5em !important;
  border: none !important;
}

body .picker.picker--opened .picker__nav--prev::before,
body .picker.picker--opened .picker__nav--next::before {
  display: block !important;
  content: "" !important;
}

body .picker.picker--opened .picker__table th,
body .picker.picker--opened .picker__table td {
  border: none !important;
}

body .picker.picker--opened .picker__day {
  min-height: 1.5em !important;
  border-radius: 0 !important;
}

body .picker.picker--opened .picker__button--today:hover,
body .picker.picker--opened .picker__button--clear:hover,
body .picker.picker--opened .picker__button--close:hover {
  cursor: pointer;
  color: #000000 !important;
  background: #eeeeee !important;
  border-bottom-color: #eeeeee !important;
}

body .picker.picker--opened.picker--time .picker__frame {
  width: min(42em, calc(100vw - 3em)) !important;
  max-width: 42em !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: calc(100vh - 3em) !important;
  overflow: visible !important;
}

body .picker.picker--opened.picker--time .picker__button--clear,
body
  .picker.picker--opened.picker--time
  .picker__list
  > li[role="presentation"]:not(.rtb-time-list-heading) {
  display: none !important;
}

body .picker.picker--opened.picker--time .picker__list-item--disabled,
body
  .picker.picker--opened.picker--time
  .picker__list-item[aria-disabled="true"] {
  display: none !important;
}

@media only screen and (max-height: 520px) and (orientation: landscape) {
  body .picker.picker--opened,
  body .picker.picker--opened *,
  .picker,
  .picker * {
    box-sizing: border-box !important;
  }

  body .picker.picker--opened .picker__holder,
  .picker__holder {
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    overflow: auto !important;
    box-sizing: border-box !important;
  }

  body .picker.picker--opened .picker__frame,
  .picker__frame {
    width: calc(100% - 1em) !important;
    max-width: 28em !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-height: calc(100vh - 1em) !important;
    overflow-y: auto !important;
    box-sizing: border-box !important;
  }

  body .picker.picker--opened .picker__wrap,
  body .picker.picker--opened .picker__box,
  .picker__wrap,
  .picker__box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body .picker.picker--opened .picker__table,
  .picker__table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }

  body .picker.picker--opened .picker__header,
  .picker__header {
    padding: 0.55em 3em !important;
    min-height: 0 !important;
  }

  body .picker.picker--opened .picker__nav--prev,
  body .picker.picker--opened .picker__nav--next,
  .picker__nav--prev,
  .picker__nav--next {
    top: 1.1em !important;
  }

  body .picker.picker--opened .picker__weekday,
  .picker__weekday {
    padding: 0.3em 0 !important;
    font-size: 0.6875em !important;
  }

  body .picker.picker--opened .picker__day,
  .picker__day {
    min-height: 1.8em !important;
    padding: 0.2em 0.1em !important;
    font-size: 0.8125em !important;
    line-height: 1.35 !important;
  }

  body .picker.picker--opened .picker__footer,
  .picker__footer {
    gap: 0.5em !important;
    padding: 0.5em !important;
  }

  body .picker.picker--opened .picker__button--today,
  body .picker.picker--opened .picker__button--clear,
  body .picker.picker--opened .picker__button--close,
  .picker__button--today,
  .picker__button--clear,
  .picker__button--close {
    min-height: 2.25em !important;
    padding: 0.45em 0.8em !important;
    font-size: 0.75em !important;
  }

  body .picker.picker--opened.picker--time .picker__frame {
    width: calc(100% - 1em) !important;
    max-width: 30em !important;
    max-height: calc(100vh - 1em) !important;
    overflow-y: auto !important;
  }

  body .picker.picker--opened.picker--time .picker__list,
  .picker__list.rtb-time-list {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(2.25em, auto) !important;
  }

  body .picker.picker--opened.picker--time .picker__list-item {
    min-height: 2.25em !important;
    padding: 0.5em 0.35em !important;
    font-size: 0.875em !important;
  }
}

/* ------------------------------------- */
/* Contatti */
/* ------------------------------------- */
body .custom-blocco-contatti h2,
body .custom-blocco-contatti h2 span,
body .custom-blocco-contatti p,
body .custom-blocco-contatti a,
body .custom-blocco-contatti strong,
body .custom-blocco-contatti .wpb_text_column,
body .custom-blocco-contatti .wpb_text_column p {
  color: var(--white) !important;
  font-style: normal !important;
}

body .custom-blocco-contatti a:hover,
body .custom-blocco-contatti a:focus {
  color: var(--white) !important;
}

body .custom-blocco-contatti .mkd-section-title-holder .mkd-st-title {
  position: relative !important;
  display: block !important;
  padding: 0 0 10px !important;
  margin: 0 auto 20px !important;
}

body .custom-blocco-contatti .vc_row.vc_inner {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
}

body .custom-blocco-contatti .vc_column-inner {
  padding-top: 0 !important;
}

body .custom-blocco-contatti .vc_row.vc_inner > .wpb_column {
  display: flex !important;
  float: none !important;
}

body .custom-blocco-contatti .vc_row.vc_inner > .wpb_column > .vc_column-inner {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 100% !important;
  padding: 3em 3em 4em !important;
}

body
  .custom-blocco-contatti
  .vc_row.vc_inner
  > .wpb_column
  > .vc_column-inner
  > .wpb_wrapper {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100% !important;
  height: 100% !important;
}

@media only screen and (max-width: 767px) {
  body .custom-blocco-contatti .vc_row.vc_inner {
    display: block !important;
  }

  body
    .custom-blocco-contatti
    .vc_row.vc_inner
    > .wpb_column
    > .vc_column-inner {
    height: auto !important;
    padding: 3em !important;
  }
}

body .custom-d-none {
  display: none !important;
}

body .vc_row-has-fill > .vc_column_container > .vc_column-inner {
  padding-top: 0 !important;
}

@media only screen and (max-width: 480px) {
  body .mkd-eh-item-inner > .mkd-eh-item-content {
    padding: 0 !important;
  }
}

/* ------------------------------------- */
/* Blocchi titolo - Responsive mobile */
/* ------------------------------------- */
@media only screen and (max-width: 900px) {
  body .custom-row {
    padding: 2.5em 0 !important;
  }

  body .custom-row .custom-big-title .mkd-eh-item,
  body .custom-row .custom-big-title .mkd-eh-item-inner {
    padding: 0 !important;
  }

  body .custom-row .custom-big-title .mkd-eh-item-content,
  body .custom-row .custom-big-title .mkd-eh-item-inner > .mkd-eh-item-content {
    padding: 0 1.25em !important;
  }

  body .custom-row .custom-big-title {
    margin-bottom: 1.75em !important;
  }

  body .custom-row .custom-big-title .mkd-section-title-holder {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }

  body .custom-row .custom-big-title .mkd-section-title-inner {
    max-width: 34em;
    margin: 0 auto;
  }

  body .custom-row .custom-big-title .mkd-st-subtitle {
    margin: 0 0 0.5em !important;
    font-size: 0.875em !important;
    letter-spacing: 0.08em;
    line-height: 1.3 !important;
    text-transform: uppercase;
    text-align: center !important;
  }

  body .custom-row .custom-big-title .mkd-st-title.mkd-title-center {
    font-size: 2em !important;
    line-height: 1.15 !important;
    margin: 0 0 0.75em !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body
    .custom-row
    .custom-big-title
    .mkd-section-title-holder
    .mkd-st-title:before,
  body .custom-row .custom-big-title .mkd-st-title.mkd-title-center:before {
    bottom: -5px !important;
  }

  body .custom-row .custom-big-title p.mkd-st-text {
    font-size: 1em !important;
    line-height: 1.5 !important;
    margin: 0 auto !important;
    max-width: 28em;
    text-align: center !important;
  }

  body .custom-row.custom-row-4-image {
    display: flex !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
  }

  body .custom-row.custom-row-4-image > .wpb_column {
    float: none !important;
    width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
    margin: 0 !important;
  }

  body .custom-row.custom-row-4-image .wpb_single_image,
  body .custom-row.custom-row-4-image .vc_figure,
  body .custom-row.custom-row-4-image .vc_single_image-wrapper {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  body .custom-row.custom-row-4-image img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }

  body .custom-pranzo-menu.custom-row-small {
    padding: 2em 0 2.5em !important;
  }

  body .custom-pranzo-menu > .wpb_column > .vc_column-inner {
    padding-left: 1em !important;
    padding-right: 1em !important;
  }

  body
    .custom-pranzo-menu
    > .wpb_column
    > .vc_column-inner
    > .wpb_wrapper
    > .vc_row:first-child {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1em;
  }

  body
    .custom-pranzo-menu
    > .wpb_column
    > .vc_column-inner
    > .wpb_wrapper
    > .vc_row:first-child
    > .wpb_column {
    float: none !important;
    width: 100% !important;
  }

  body .custom-pranzo-menu .mkd-section-title-holder {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }

  body
    .custom-pranzo-menu
    > .wpb_column
    > .vc_column-inner
    > .wpb_wrapper
    > .vc_row:first-child
    > .wpb_column
    > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body .custom-pranzo-menu h2.mkd-title-center {
    font-size: 3em !important;
    line-height: 1 !important;
    padding: 0 0 0.25em !important;
  }

  body .custom-pranzo-menu p.mkd-st-text {
    font-size: 0.875em !important;
    line-height: 1.35 !important;
    margin: 0 !important;
  }

  body .custom-pranzo-menu .wpb_text_column {
    margin-top: 1.5em !important;
    padding: 0 0.25em !important;
    font-size: 1em !important;
    line-height: 1.45 !important;
  }

  body .custom-pranzo-menu .wpb_text_column p {
    margin: 0 !important;
    line-height: 1.45 !important;
  }

  body .custom-row .custom-paragraph {
    display: block !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body .custom-row .custom-paragraph > .wpb_column {
    float: none !important;
    width: 100% !important;
    margin-bottom: 1.75em !important;
  }

  body .custom-row .custom-paragraph > .wpb_column:last-child {
    margin-bottom: 0 !important;
  }

  body .custom-row .custom-paragraph > .wpb_column > .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body .custom-row .custom-paragraph .wpb_text_column {
    margin-bottom: 1.25em !important;
    text-align: left !important;
  }

  body .custom-row .custom-paragraph p {
    font-size: 1em !important;
    line-height: 1.55 !important;
    margin: 0 0 1em !important;
    text-align: left !important;
  }

  body .custom-row .custom-paragraph p:last-child {
    margin-bottom: 0 !important;
  }

  body .custom-row .custom-paragraph .wpb_single_image,
  body .custom-row .custom-paragraph .vc_figure,
  body .custom-row .custom-paragraph .vc_single_image-wrapper {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }

  body .custom-row .custom-paragraph img {
    display: inline-block !important;
    max-width: 100% !important;
    height: auto !important;
  }

  body .custom-row .custom-paragraph > .wpb_column:first-child img {
    max-width: 10em !important;
  }

  body #prenota .rtb-booking-form {
    width: 100%;
    max-width: 28em;
    margin: 0 auto;
    padding: 0;
  }

  body #prenota .vc_wp_text,
  body #prenota .widget.widget_text,
  body #prenota .textwidget,
  body #prenota form.rtb-booking-form-form {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body #prenota .mkd-row-grid-section .vc_column-inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body #prenota .rtb-booking-form fieldset {
    row-gap: 1.25em;
    margin-bottom: 1.25em;
  }

  body #prenota .rtb-booking-form label {
    font-size: 0.9375em;
    margin-bottom: 0.375em;
  }

  body #prenota .rtb-booking-form .rtb-form-footer {
    margin-top: 1em;
    padding-top: 0.25em;
  }

  body .custom-row.custom-row-small-menu {
    padding: 2em 0 3em !important;
  }

  body .custom-row.custom-row-small-menu > .wpb_column {
    float: none !important;
    width: 100% !important;
    margin-bottom: 2em !important;
  }

  body .custom-row.custom-row-small-menu > .wpb_column:last-child {
    margin-bottom: 0 !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-eh-item-content,
  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-eh-item-inner
    > .mkd-eh-item-content {
    padding: 0 !important;
  }

  body .custom-pranzo-menu-title.custom-row {
    padding-bottom: 0 !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu {
    margin-bottom: 0 !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-section-title-holder {
    text-align: left !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-section-title-inner {
    max-width: none;
    margin: 0 !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-st-title.mkd-title-center {
    text-align: left !important;
    margin-bottom: 0.5em !important;
    padding-bottom: 0.3em !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-section-title-holder
    .mkd-st-title:before,
  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-st-title.mkd-title-center:before {
    left: 0 !important;
    -webkit-transform: translateX(0%) !important;
    -moz-transform: translateX(0%) !important;
    transform: translateX(0%) !important;
    bottom: -5px !important;
  }

  body .custom-row.custom-row-small-menu .custom-price-menu {
    padding: 0 !important;
    margin-top: 0.5em !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-price-menu
    > .wpb_column
    > .vc_column-inner {
    padding-left: 1em !important;
    padding-right: 1em !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-price-menu
    .mkd-pricing-list-item {
    margin-bottom: 16px !important;
  }
}

@media only screen and (max-width: 480px) {
  body .custom-row {
    padding: 2em 0 !important;
  }

  body .custom-row .custom-big-title .mkd-eh-item-content,
  body .custom-row .custom-big-title .mkd-eh-item-inner > .mkd-eh-item-content {
    padding: 0 1em !important;
  }

  body .custom-row .custom-big-title {
    margin-bottom: 1.5em !important;
  }

  body .custom-row .custom-big-title.custom-big-title-menu {
    margin-bottom: 0em !important;
  }

  body .custom-pranzo-menu-title.custom-row {
    padding-bottom: 0 !important;
  }

  body .custom-pranzo-menu.custom-row-small {
    padding: 1.75em 1em 2em !important;
  }

  body
    .custom-pranzo-menu
    > .wpb_column
    > .vc_column-inner
    > .wpb_wrapper
    > .vc_row:first-child {
    grid-template-columns: 1fr;
    gap: 3em;
  }

  body .custom-pranzo-menu h2.mkd-title-center {
    font-size: 2.5em !important;
    padding-bottom: 0.3em !important;
    margin-bottom: 0.5em !important;
  }

  body .custom-pranzo-menu p.mkd-st-text {
    font-size: 0.8125em !important;
  }

  body .custom-pranzo-menu .wpb_text_column {
    margin-top: 1.25em !important;
    font-size: 0.9375em !important;
  }

  body .custom-row .custom-big-title .mkd-st-subtitle {
    font-size: 0.8125em !important;
    margin-bottom: 0.375em !important;
  }

  body .custom-row .custom-big-title .mkd-st-title.mkd-title-center {
    font-size: 1.75em !important;
    line-height: 1.2 !important;
    margin-bottom: 1em !important;
    padding-bottom: 0.3em !important;
  }

  body .custom-row .custom-big-title p.mkd-st-text {
    font-size: 0.9375em !important;
    line-height: 1.55 !important;
  }

  body .custom-row .custom-paragraph > .wpb_column {
    margin-bottom: 1.5em !important;
  }

  body .custom-row .custom-paragraph .wpb_text_column {
    margin-bottom: 1em !important;
  }

  body .custom-row .custom-paragraph p {
    font-size: 0.9375em !important;
    line-height: 1.6 !important;
    margin-bottom: 0.875em !important;
  }

  body .custom-row .custom-paragraph > .wpb_column:first-child img {
    max-width: 8.75em !important;
  }

  body #prenota .rtb-booking-form {
    padding: 0;
  }

  body #prenota .rtb-booking-form fieldset {
    row-gap: 1.125em;
    margin-bottom: 1.125em;
  }

  body #prenota .rtb-booking-form input[type="text"],
  body #prenota .rtb-booking-form input[type="email"],
  body #prenota .rtb-booking-form input[type="tel"],
  body #prenota .rtb-booking-form select,
  body #prenota .rtb-booking-form select#rtb-party,
  body #prenota .rtb-booking-form textarea {
    height: 3.25em;
    min-height: 3.25em;
    font-size: 1rem;
    padding: 0 0.75em;
    line-height: 1.2;
  }

  body #prenota .rtb-booking-form select#rtb-party {
    padding-right: 2em;
  }

  body #prenota .rtb-booking-form .rtb-form-submit button {
    height: 3.25em;
    font-size: 0.9375em;
    padding: 0 1.5em;
  }

  body .custom-row.custom-row-small-menu {
    padding: 1.75em 0 2.5em !important;
  }

  body .custom-row.custom-row-small-menu > .wpb_column {
    margin-bottom: 1.75em !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-eh-item-content,
  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-eh-item-inner
    > .mkd-eh-item-content {
    padding: 0 !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-st-title.mkd-title-center {
    font-size: 1.5em !important;
    text-align: left !important;
    margin-bottom: 0.5em !important;
    padding-bottom: 0.3em !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-big-title.custom-big-title-menu
    .mkd-section-title-holder {
    text-align: left !important;
  }

  body .custom-row.custom-row-small-menu .custom-price-menu {
    margin-top: 0.375em !important;
  }

  body
    .custom-row.custom-row-small-menu
    .custom-price-menu
    > .wpb_column
    > .vc_column-inner {
    padding-left: 1em !important;
    padding-right: 1em !important;
  }

  body .custom-pranzo-menu > .wpb_column > .vc_column-inner {
    padding-left: 1em !important;
    padding-right: 1em !important;
  }

  body .custom-pranzo-menu .wpb_text_column {
    padding: 0 !important;
    margin-top: 1em !important;
  }
}

/* ------------------------------------- */
/* CookieYes — banner e gestione consensi */
/* ------------------------------------- */

/* Nascondi pulsante flottante (duplicato nel footer) */
.cky-btn-revisit-wrapper {
  display: none !important;
}

/* Banner principale */
.cky-consent-container {
  font-family:
    "Catamaran",
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    sans-serif !important;
  z-index: 999999 !important;
}

.cky-consent-bar,
.cky-preference-wrapper {
  color: var(--black) !important;
  background-color: var(--white) !important;
  border-color: rgba(48, 48, 48, 0.15) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.cky-consent-bar {
  border-top: 3px solid var(--red) !important;
  padding: 1.125em 1.5em !important;
}

.cky-notice,
.cky-preference {
  font-family: inherit !important;
}

.cky-notice-group {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 1.25em !important;
  align-items: center !important;
}

.cky-title,
.cky-preference-title {
  color: var(--black) !important;
  font-family: inherit !important;
  font-size: 1.0625em !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  margin-bottom: 0.625em !important;
}

.cky-notice-des,
.cky-notice-des p,
.cky-preference-content-wrapper,
.cky-preference-content-wrapper p,
.cky-accordion-header-des,
.cky-accordion-header-des p,
.cky-audit-table,
.cky-cookie-des-table {
  color: var(--black) !important;
  font-family: inherit !important;
  font-size: 0.9375em !important;
  line-height: 1.5 !important;
}

.cky-notice-des p,
.cky-preference-content-wrapper p,
.cky-accordion-header-des p {
  margin-bottom: 0 !important;
}

.cky-notice-btn-wrapper,
.cky-prefrence-btn-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.625em !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  margin-top: 0 !important;
}

.cky-notice-btn-wrapper {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(7.5em, 1fr)) !important;
  width: min(100%, 27em) !important;
}

.cky-prefrence-btn-wrapper {
  flex-wrap: nowrap !important;
}

/* Bottoni — base */
.cky-consent-container .cky-btn,
.cky-preference-wrapper .cky-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 8.25em !important;
  min-height: 2.625em !important;
  padding: 0 1.125em !important;
  border-radius: 0 !important;
  border-width: 2px !important;
  border-style: solid !important;
  font-family: inherit !important;
  font-size: 0.8125em !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease !important;
}

/* Primario — Accetta tutto */
.cky-consent-container .cky-btn-accept,
.cky-preference-wrapper .cky-btn-accept {
  color: var(--white) !important;
  background-color: var(--red) !important;
  border-color: var(--red) !important;
}

.cky-consent-container .cky-btn-accept:hover,
.cky-consent-container .cky-btn-accept:focus,
.cky-preference-wrapper .cky-btn-accept:hover,
.cky-preference-wrapper .cky-btn-accept:focus {
  color: var(--white) !important;
  background-color: var(--black) !important;
  border-color: var(--black) !important;
}

/* Secondari — Gestione, Rifiuta, Salva */
.cky-consent-container .cky-btn-customize,
.cky-consent-container .cky-btn-reject,
.cky-preference-wrapper .cky-btn-preferences,
.cky-preference-wrapper .cky-btn-reject {
  color: var(--black) !important;
  background-color: transparent !important;
  border-color: var(--black) !important;
}

.cky-consent-container .cky-btn-customize::before,
.cky-consent-container .cky-btn-customize::after {
  display: none !important;
  content: none !important;
}

.cky-consent-container .cky-btn-customize:hover,
.cky-consent-container .cky-btn-customize:focus,
.cky-consent-container .cky-btn-reject:hover,
.cky-consent-container .cky-btn-reject:focus,
.cky-preference-wrapper .cky-btn-preferences:hover,
.cky-preference-wrapper .cky-btn-preferences:focus,
.cky-preference-wrapper .cky-btn-reject:hover,
.cky-preference-wrapper .cky-btn-reject:focus {
  color: var(--white) !important;
  background-color: var(--black) !important;
  border-color: var(--black) !important;
}

/* Focus accessibile */
.cky-consent-container .cky-btn:focus-visible,
.cky-preference-wrapper .cky-btn:focus-visible,
.cky-accordion-btn:focus-visible,
.cky-show-desc-btn:focus-visible {
  outline: 2px solid var(--red) !important;
  outline-offset: 2px !important;
}

/* Preference center */
.cky-preference-center {
  border-radius: 0 !important;
  font-family: inherit !important;
}

.cky-preference-header {
  padding: 1em 1.5em !important;
  border-bottom: 1px solid rgba(48, 48, 48, 0.15) !important;
}

.cky-preference-body-wrapper {
  padding: 1.125em 1.5em 0.875em !important;
}

.cky-preference-content-wrapper {
  margin-bottom: 1em !important;
}

.cky-preference-content-wrapper a {
  color: var(--red) !important;
  font-size: inherit !important;
  line-height: inherit !important;
  text-decoration-color: var(--red) !important;
}

.cky-preference-content-wrapper a:hover,
.cky-preference-content-wrapper a:focus {
  color: var(--black) !important;
  text-decoration-color: var(--black) !important;
}

.cky-btn-close {
  border: 0 !important;
  background: transparent !important;
  opacity: 0.7 !important;
  transition: opacity 0.2s ease !important;
}

.cky-btn-close:hover,
.cky-btn-close:focus {
  opacity: 1 !important;
}

.cky-show-desc-btn {
  color: var(--red) !important;
  background: transparent !important;
  border: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 600 !important;
  text-decoration: underline !important;
  cursor: pointer !important;
  padding: 0 !important;
}

.cky-show-desc-btn:hover,
.cky-show-desc-btn:focus {
  color: var(--black) !important;
}

/* Accordion categorie */
.cky-accordion {
  margin-bottom: 0.75em !important;
  border-color: rgba(48, 48, 48, 0.15) !important;
}

.cky-accordion-item {
  padding: 1em 0 !important;
}

.cky-accordion-header-wrapper {
  gap: 0.375em !important;
}

.cky-accordion-header {
  align-items: center !important;
  gap: 0.75em !important;
  justify-content: space-between !important;
}

.cky-accordion-btn {
  color: var(--black) !important;
  font-family: inherit !important;
  font-size: 0.9375em !important;
  font-weight: 700 !important;
  background: transparent !important;
  border: 0 !important;
  cursor: pointer !important;
}

.cky-always-active {
  color: var(--red) !important;
  font-size: 0.875em !important;
  font-weight: 600 !important;
}

.cky-audit-table {
  background-color: rgba(48, 48, 48, 0.05) !important;
  border-color: rgba(48, 48, 48, 0.1) !important;
  border-radius: 0 !important;
  padding: 0.75em !important;
}

.cky-cookie-des-table {
  margin-bottom: 0.75em !important;
}

.cky-cookie-des-table li {
  padding: 0.375em 0 !important;
}

/* Switch toggle */
.cky-switch input[type="checkbox"] {
  background-color: rgba(48, 48, 48, 0.25) !important;
  border-radius: 999px !important;
  overflow: hidden !important;
}

.cky-switch input[type="checkbox"]::before {
  border-radius: 50% !important;
}

.cky-switch input[type="checkbox"]:checked {
  background-color: var(--red) !important;
}

.cky-footer-wrapper {
  padding: 1em 1.5em 1.25em !important;
}

.cky-footer-shadow {
  background: linear-gradient(
    rgba(255, 255, 255, 0) 0%,
    rgb(255, 255, 255) 100%
  ) !important;
}

/* Footer — bottone inline "Gestione cookie" */
body .mkd-page-footer .mkd-footer-bottom-holder .textwidget .cky-btn-revisit,
body .mkd-page-footer .mkd-footer-bottom-holder .textwidget p .cky-btn-revisit {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: var(--black) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  vertical-align: baseline !important;
}

body
  .mkd-page-footer
  .mkd-footer-bottom-holder
  .textwidget
  .cky-btn-revisit:hover,
body
  .mkd-page-footer
  .mkd-footer-bottom-holder
  .textwidget
  .cky-btn-revisit:focus,
body
  .mkd-page-footer
  .mkd-footer-bottom-holder
  .textwidget
  p
  .cky-btn-revisit:hover,
body
  .mkd-page-footer
  .mkd-footer-bottom-holder
  .textwidget
  p
  .cky-btn-revisit:focus {
  color: var(--red) !important;
  background: transparent !important;
  background-color: transparent !important;
  text-decoration: none !important;
}

body
  .mkd-page-footer
  .mkd-footer-bottom-holder
  .textwidget
  .cky-btn-revisit:focus-visible {
  outline: 2px solid var(--red) !important;
  outline-offset: 2px !important;
}

/* Responsive banner */
@media only screen and (max-width: 768px) {
  .cky-consent-container,
  .cky-consent-container *,
  .cky-preference-wrapper,
  .cky-preference-wrapper * {
    box-sizing: border-box !important;
  }

  .cky-consent-container {
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  .cky-consent-bar {
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(72dvh, 34em) !important;
    margin: 0 !important;
    padding: 0.875em !important;
    border: 1px solid rgba(48, 48, 48, 0.15) !important;
    border-top: 3px solid var(--red) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .cky-notice-group {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1em !important;
    align-items: stretch !important;
  }

  .cky-notice-btn-wrapper,
  .cky-prefrence-btn-wrapper {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 0.5em !important;
  }

  .cky-notice-btn-wrapper {
    margin-top: 0 !important;
  }

  .cky-prefrence-btn-wrapper {
    flex-wrap: initial !important;
  }

  .cky-notice-btn-wrapper .cky-btn-accept,
  .cky-prefrence-btn-wrapper .cky-btn-accept {
    grid-column: 1 / -1 !important;
    order: 1 !important;
  }

  .cky-notice-btn-wrapper .cky-btn-reject,
  .cky-prefrence-btn-wrapper .cky-btn-preferences {
    order: 2 !important;
  }

  .cky-notice-btn-wrapper .cky-btn-customize,
  .cky-prefrence-btn-wrapper .cky-btn-reject {
    order: 3 !important;
  }

  .cky-consent-container .cky-btn,
  .cky-preference-wrapper .cky-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 2.75em !important;
    padding: 0 0.75em !important;
    font-size: 0.75em !important;
  }

  .cky-title,
  .cky-preference-title {
    font-size: 1em !important;
    margin-bottom: 0.5em !important;
  }

  .cky-notice-des,
  .cky-notice-des p,
  .cky-preference-content-wrapper,
  .cky-preference-content-wrapper p {
    font-size: 0.875em !important;
    line-height: 1.45 !important;
  }

  .cky-preference-wrapper {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  .cky-preference-center {
    display: flex !important;
    flex-direction: column !important;
    top: auto !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: none !important;
    max-height: 100dvh !important;
    margin: 0 !important;
    overflow: hidden !important;
  }

  .cky-preference {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    max-height: 100dvh !important;
  }

  .cky-preference-header,
  .cky-footer-wrapper {
    flex: 0 0 auto !important;
  }

  .cky-preference-header,
  .cky-preference-body-wrapper,
  .cky-footer-wrapper {
    padding-right: 1em !important;
    padding-left: 1em !important;
  }

  .cky-preference-body-wrapper {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-top: 70px !important;
    padding-bottom: 1em !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .cky-footer-wrapper {
    padding-bottom: max(1em, env(safe-area-inset-bottom)) !important;
  }

  .cky-accordion-item {
    padding: 0.875em 0 !important;
  }

  .cky-accordion-header {
    gap: 0.5em !important;
  }

  .cky-accordion-header-des,
  .cky-accordion-header-des p,
  .cky-audit-table,
  .cky-cookie-des-table {
    font-size: 0.8125em !important;
  }
}

body .rtb-modification-toggle {
  display: none !important;
}

/* ------------------------------------- */
/* Popup Box — chiusura straordinaria */
/* ------------------------------------- */
@keyframes appetito-pb-fade-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

body .ays-pb-modals,
body .ays-pb-modals *,
body .ays-pb-modal.ays-pb-modal_1,
body .ays-pb-modal.ays-pb-modal_1 * {
  box-sizing: border-box !important;
}

body .ays-pb-modals,
body .ays-pb-modals.ays_pb_show,
body .ays-pb-modals .ays_pb_show,
body .ays-pb-modals .ays-pb-viewport {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 1em !important;
  z-index: 999999 !important;
}

body .ays-pb-modals .ays-pb-bg,
body .ays-pb-modals .ays_pb_overlay,
body .ays-pb-modals [class*="ays-pb-bg"] {
  background-color: rgba(0, 0, 0, 0.45) !important;
}

body .ays-pb-modal.ays-pb-modal_1 {
  position: fixed !important;
  inset: auto !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  width: min(36em, calc(100vw - 2em)) !important;
  height: fit-content !important;
  min-height: 0 !important;
  max-height: calc(100dvh - 2em) !important;
  margin: 0 !important;
  padding: 3em 1.5em 3em !important;
  background: var(--red) !important;
  background-color: var(--red) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: 0 0.5em 2em rgba(0, 0, 0, 0.25) !important;
  color: var(--white) !important;
  font-family:
    "Catamaran",
    system-ui,
    -apple-system,
    "Segoe UI",
    Roboto,
    sans-serif !important;
  overflow: visible !important;
  transform: translate(-50%, -50%) !important;
  z-index: 1000000 !important;
}

body .ays-pb-modal.ays-pb-modal_1.fadeIn {
  animation-name: appetito-pb-fade-in !important;
  animation-duration: 1s !important;
  animation-fill-mode: both !important;
}

body .ays-pb-modal.ays-pb-modal_1 hr.ays-popup-hrs-default {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body .ays-pb-modal.ays-pb-modal_1 .ays-pb-dismiss-ad,
body .ays-pb-modal.ays-pb-modal_1 .ays_pb_timer,
body .ays-pb-modal.ays-pb-modal_1 .ays_pb_timer_1 {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

body .ays-pb-modal.ays-pb-modal_1 h2.ays_pb_title_styles_1,
body .ays-pb-modal.ays-pb-modal_1 h2.ays_pb_show_title_on_mobile {
  position: relative !important;
  display: block !important;
  margin: 0 0 0.625em !important;
  padding: 0 2em 0.625em !important;
  color: var(--white) !important;
  -webkit-text-fill-color: var(--white) !important;
  font-family: inherit !important;
  font-size: clamp(1.35em, 4vw, 1.75em) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

body .ays-pb-modal.ays-pb-modal_1 h2.ays_pb_title_styles_1::before,
body .ays-pb-modal.ays-pb-modal_1 h2.ays_pb_show_title_on_mobile::before {
  content: " " !important;
  position: absolute !important;
  display: block !important;
  width: 3.5em !important;
  left: calc(50% - 1.75em) !important;
  bottom: 0 !important;
  border-top: 4px solid var(--white) !important;
}

body .ays-pb-modal.ays-pb-modal_1 .ays_pb_description {
  margin: 0 0 0.625em !important;
  padding: 0 !important;
  color: var(--white) !important;
  font-family: inherit !important;
  font-size: 1em !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

body .ays-pb-modal.ays-pb-modal_1 .ays_pb_description p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--white) !important;
  -webkit-text-fill-color: var(--white) !important;
}

body .ays-pb-modal.ays-pb-modal_1 .ays_pb_description strong {
  color: var(--white) !important;
  -webkit-text-fill-color: var(--white) !important;
  font-weight: 700 !important;
}

body .ays-pb-modal.ays-pb-modal_1 .ays_content_box {
  margin: 0 !important;
  padding: 0 !important;
}

body .ays-pb-modal.ays-pb-modal_1 .ays_content_box p {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--white) !important;
  -webkit-text-fill-color: var(--white) !important;
  font-family: inherit !important;
  font-size: 1em !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

body .ays-pb-modal.ays-pb-modal_1 .ays_content_box strong {
  color: var(--white) !important;
  -webkit-text-fill-color: var(--white) !important;
  font-weight: 700 !important;
}

body .ays-pb-modal.ays-pb-modal_1 .ays-pb-modal-close.ays-pb-modal-close_1 {
  top: 0.5em !important;
  right: 0.5em !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  color: var(--white) !important;
  cursor: pointer !important;
  line-height: 1 !important;
}

body
  .ays-pb-modal.ays-pb-modal_1
  .ays-pb-modal-close_1
  .ays_pb_material_close_icon {
  width: 1.5em !important;
  height: 1.5em !important;
  fill: var(--white) !important;
  transition: opacity 0.2s ease !important;
}

body
  .ays-pb-modal.ays-pb-modal_1
  .ays-pb-modal-close_1:hover
  .ays_pb_material_close_icon,
body
  .ays-pb-modal.ays-pb-modal_1
  .ays-pb-modal-close_1:focus
  .ays_pb_material_close_icon {
  fill: var(--white) !important;
  opacity: 0.75 !important;
}

body .ays-pb-modal.ays-pb-modal_1 .ays-pb-modal-close_1:focus-visible {
  outline: 2px solid var(--white) !important;
  outline-offset: 2px !important;
}

@media only screen and (max-width: 768px) {
  body .ays-pb-modals,
  body .ays-pb-modals.ays_pb_show,
  body .ays-pb-modals .ays_pb_show,
  body .ays-pb-modals .ays-pb-viewport {
    padding: 0.75em !important;
  }

  body .ays-pb-modal.ays-pb-modal_1 {
    width: calc(100vw - 1.5em) !important;
    max-width: calc(100vw - 1.5em) !important;
    padding: 1.75em 1.25em 2em !important;
  }

  body .ays-pb-modal.ays-pb-modal_1 h2.ays_pb_title_styles_1,
  body .ays-pb-modal.ays-pb-modal_1 h2.ays_pb_show_title_on_mobile {
    margin-bottom: 0.75em !important;
    padding: 0 1.75em 0.625em !important;
    font-size: 1.25em !important;
  }

  body .ays-pb-modal.ays-pb-modal_1 .ays_pb_description {
    margin-bottom: 0.75em !important;
    font-size: 0.9375em !important;
    line-height: 1.45 !important;
  }

  body .ays-pb-modal.ays-pb-modal_1 .ays_content_box p {
    font-size: 0.9375em !important;
    line-height: 1.45 !important;
  }

  body .ays-pb-modal.ays-pb-modal_1 .ays-pb-modal-close.ays-pb-modal-close_1 {
    top: 0.375em !important;
    right: 0.375em !important;
  }
}

@media only screen and (max-width: 480px) {
  body .ays-pb-modals,
  body .ays-pb-modals.ays_pb_show,
  body .ays-pb-modals .ays_pb_show,
  body .ays-pb-modals .ays-pb-viewport {
    padding: 0.625em !important;
  }

  body .ays-pb-modal.ays-pb-modal_1 {
    width: calc(100vw - 1.25em) !important;
    max-width: calc(100vw - 1.25em) !important;
    padding: 1.5em 1.125em 1.75em !important;
  }

  body .ays-pb-modal.ays-pb-modal_1 h2.ays_pb_title_styles_1,
  body .ays-pb-modal.ays-pb-modal_1 h2.ays_pb_show_title_on_mobile {
    font-size: 1.125em !important;
    padding-left: 1.5em !important;
    padding-right: 1.5em !important;
  }

  body .ays-pb-modal.ays-pb-modal_1 .ays_pb_description {
    font-size: 0.875em !important;
  }

  body .ays-pb-modal.ays-pb-modal_1 .ays_content_box p {
    font-size: 0.875em !important;
    line-height: 1.5 !important;
  }
}
