.elementor-7870 .elementor-element.elementor-element-bfae2a4{margin-top:50px;margin-bottom:0px;}.elementor-7870 .elementor-element.elementor-element-74cba6e:not(.elementor-motion-effects-element-type-background) > .elementor-widget-wrap, .elementor-7870 .elementor-element.elementor-element-74cba6e > .elementor-widget-wrap > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#2B2F35;}.elementor-7870 .elementor-element.elementor-element-74cba6e > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:25px;}.elementor-7870 .elementor-element.elementor-element-74cba6e > .elementor-element-populated{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:60px 0px 60px 0px;}.elementor-7870 .elementor-element.elementor-element-74cba6e > .elementor-element-populated > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-7870 .elementor-element.elementor-element-48a8c7b > .elementor-widget-container{margin:37px 4px 93px 13px;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading{text-align:center;margin-left:auto;margin-right:auto;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading .exad-heading-separator{text-align:center;margin-left:auto;margin-right:auto;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading .exad-heading-icon{text-align:center;margin-left:auto;margin-right:auto;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading .exad-heading-icon-box-yes .exad-heading-icon{text-align:center;margin-left:auto;margin-right:auto;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading-title{font-family:"Ropa Sans", Sans-serif;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading-title, .elementor-7870 .elementor-element.elementor-element-48a8c7b a .exad-exclusive-heading-title{color:#FFFFFF;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-heading-separator{height:1px;width:100px;background:#FFFFFF;margin-top:7px;margin-bottom:20px;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading-description{color:#8a8d91;}.elementor-7870 .elementor-element.elementor-element-087dc08{width:var( --container-widget-width, 98.334% );max-width:98.334%;--container-widget-width:98.334%;--container-widget-flex-grow:0;align-self:center;}.elementor-7870 .elementor-element.elementor-element-087dc08 > .elementor-widget-container{margin:5px -9px 0px 18px;padding:5px -17px 0px 9px;border-radius:20px 20px 20px 20px;}@media(max-width:1024px){.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading{text-align:left;margin-right:auto;margin-left:unset;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading .exad-heading-separator{text-align:left;margin-right:auto;margin-left:unset;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading .exad-heading-icon{text-align:left;margin-right:auto;margin-left:unset;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading .exad-heading-icon-box-yes .exad-heading-icon{text-align:left;margin-right:auto;margin-left:unset;}}@media(max-width:767px){.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading{text-align:left;margin-right:auto;margin-left:unset;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading .exad-heading-separator{text-align:left;margin-right:auto;margin-left:unset;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading .exad-heading-icon{text-align:left;margin-right:auto;margin-left:unset;}.elementor-7870 .elementor-element.elementor-element-48a8c7b .exad-exclusive-heading .exad-heading-icon-box-yes .exad-heading-icon{text-align:left;margin-right:auto;margin-left:unset;}}/* Start custom CSS for rtb_booking_form, class: .elementor-element-087dc08 */<!-- ============================================================
     PIEMONT — Reservierung Widget (Bellucci Style Light)
     Restila il plugin "Five Star Restaurant Reservations"
     con look luxury sfondo bianco + nero + oro.
     
     ⚠️ COME USARLO IN ELEMENTOR:
     Aggiungi un widget HTML nella SEZIONE che contiene
     il widget Five Star Reservations.
     Il CSS si applica automaticamente - non tocca il plugin.
     ============================================================ -->

<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">

<style>

/* ============================================================
   COLORI BELLUCCI LIGHT
   Bianco crema + nero + oro
   ============================================================ */
:root {
    --rt-bg:#FAF7F2;
    --rt-bg-card:#FFFFFF;
    --rt-ink:#0A0A0A;
    --rt-ink-soft:rgba(10, 10, 10, 0.55);
    --rt-ink-muted:rgba(10, 10, 10, 0.4);
    --rt-gold:#A89968;
    --rt-gold-soft:rgba(168, 153, 104, 0.4);
    --rt-divider:rgba(168, 153, 104, 0.18);
}

/* ============================================================
   CONTAINER ATTORNO AL PLUGIN
   Sfondo bianco crema, watermark scorrevole, header elegante
   ============================================================ */

.rtb-booking-form,
.rtb-results,
.rtb-message,
form[id^="rtb"],
form.rtb-booking-form {
    background:transparent !important;
    color:var(--rt-ink) !important;
    font-family:'Inter', sans-serif !important;
    -webkit-font-smoothing:antialiased !important;
    max-width:680px !important;
    margin:0 auto !important;
    padding:0 !important;
}

/* ============================================================
   TITOLI / LABEL all'interno del plugin
   ============================================================ */

.rtb-booking-form legend,
.rtb-booking-form h2,
.rtb-booking-form h3,
form.rtb-booking-form legend,
form.rtb-booking-form h2,
form.rtb-booking-form h3 {
    font-family:'Cormorant Garamond', serif !important;
    font-size:32px !important;
    font-weight:500 !important;
    color:var(--rt-ink) !important;
    letter-spacing:-0.02em !important;
    line-height:1.1 !important;
    margin:0 0 24px 0 !important;
    padding:0 !important;
    border:none !important;
    text-transform:none !important;
}

/* ============================================================
   FIELDSET (gruppi di campi)
   ============================================================ */

.rtb-booking-form fieldset,
form.rtb-booking-form fieldset {
    border:none !important;
    background:transparent !important;
    padding:0 !important;
    margin:0 0 28px 0 !important;
}

/* ============================================================
   LABEL dei campi
   ============================================================ */

.rtb-booking-form label,
form.rtb-booking-form label {
    display:block !important;
    font-family:'Inter', sans-serif !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:0.18em !important;
    text-transform:uppercase !important;
    color:var(--rt-gold) !important;
    margin-bottom:10px !important;
    padding:0 !important;
}

/* asterisco campi obbligatori */
.rtb-booking-form .rtb-required,
.rtb-booking-form abbr,
form.rtb-booking-form .rtb-required,
form.rtb-booking-form abbr {
    color:var(--rt-gold) !important;
    text-decoration:none !important;
    border:none !important;
    font-weight:700 !important;
}

/* ============================================================
   INPUT — campi di testo, email, telefono, data
   ============================================================ */

.rtb-booking-form input[type="text"],
.rtb-booking-form input[type="email"],
.rtb-booking-form input[type="tel"],
.rtb-booking-form input[type="number"],
.rtb-booking-form input[type="date"],
.rtb-booking-form input[type="time"],
.rtb-booking-form select,
.rtb-booking-form textarea,
form.rtb-booking-form input[type="text"],
form.rtb-booking-form input[type="email"],
form.rtb-booking-form input[type="tel"],
form.rtb-booking-form input[type="number"],
form.rtb-booking-form input[type="date"],
form.rtb-booking-form input[type="time"],
form.rtb-booking-form select,
form.rtb-booking-form textarea {
    width:100% !important;
    padding:14px 0 !important;
    background:transparent !important;
    border:none !important;
    border-bottom:1px solid var(--rt-divider) !important;
    border-radius:0 !important;
    font-family:'Cormorant Garamond', serif !important;
    font-size:20px !important;
    font-weight:500 !important;
    color:var(--rt-ink) !important;
    line-height:1.3 !important;
    transition:border-color 0.4s ease, padding 0.3s ease !important;
    box-shadow:none !important;
    outline:none !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    margin:0 !important;
}

/* placeholder */
.rtb-booking-form input::placeholder,
.rtb-booking-form textarea::placeholder,
form.rtb-booking-form input::placeholder,
form.rtb-booking-form textarea::placeholder {
    color:var(--rt-ink-muted) !important;
    font-style:italic !important;
    font-weight:400 !important;
}

/* focus: linea oro più marcata + leggero indent */
.rtb-booking-form input:focus,
.rtb-booking-form select:focus,
.rtb-booking-form textarea:focus,
form.rtb-booking-form input:focus,
form.rtb-booking-form select:focus,
form.rtb-booking-form textarea:focus {
    border-bottom-color:var(--rt-gold) !important;
    outline:none !important;
    box-shadow:none !important;
}

/* hover */
.rtb-booking-form input:hover,
.rtb-booking-form select:hover,
.rtb-booking-form textarea:hover,
form.rtb-booking-form input:hover,
form.rtb-booking-form select:hover,
form.rtb-booking-form textarea:hover {
    border-bottom-color:var(--rt-gold-soft) !important;
}

/* select - freccetta custom oro */
.rtb-booking-form select,
form.rtb-booking-form select {
    background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='none'%3e%3cpath d='M1 1L8 8L15 1' stroke='%23A89968' stroke-width='1.5' stroke-linecap='round'/%3e%3c/svg%3e") !important;
    background-repeat:no-repeat !important;
    background-position:right 4px center !important;
    background-size:14px !important;
    padding-right:30px !important;
    cursor:pointer !important;
}

/* textarea - altezza minima */
.rtb-booking-form textarea,
form.rtb-booking-form textarea {
    min-height:80px !important;
    resize:vertical !important;
    font-family:'Inter', sans-serif !important;
    font-size:15px !important;
    line-height:1.5 !important;
}

/* date picker icon (Safari/Chrome) */
.rtb-booking-form input[type="date"]::-webkit-calendar-picker-indicator,
.rtb-booking-form input[type="time"]::-webkit-calendar-picker-indicator,
form.rtb-booking-form input[type="date"]::-webkit-calendar-picker-indicator,
form.rtb-booking-form input[type="time"]::-webkit-calendar-picker-indicator {
    filter:invert(56%) sepia(31%) saturate(442%) hue-rotate(15deg) brightness(91%) contrast(86%) !important;
    cursor:pointer !important;
    opacity:0.7 !important;
}

/* ============================================================
   GRID — 2 colonne quando possibile
   ============================================================ */

.rtb-booking-form .rtb-row,
.rtb-booking-form fieldset > div,
form.rtb-booking-form .rtb-row {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:32px !important;
    margin-bottom:0 !important;
}

.rtb-booking-form fieldset > div > p,
form.rtb-booking-form fieldset > div > p {
    margin:0 0 24px 0 !important;
}

@media (max-width:600px) {
    .rtb-booking-form .rtb-row,
    .rtb-booking-form fieldset > div,
    form.rtb-booking-form .rtb-row {
        grid-template-columns:1fr !important;
        gap:0 !important;
    }
}

/* ============================================================
   BOTTONE SUBMIT "Reservieren"
   Pillola elegante con bordo oro
   ============================================================ */

.rtb-booking-form button[type="submit"],
.rtb-booking-form input[type="submit"],
.rtb-booking-form .rtb-submit,
form.rtb-booking-form button[type="submit"],
form.rtb-booking-form input[type="submit"],
form.rtb-booking-form .rtb-submit {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:18px 48px !important;
    background:transparent !important;
    color:var(--rt-ink) !important;
    border:1px solid var(--rt-gold) !important;
    border-radius:999px !important;
    font-family:'Inter', sans-serif !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:0.28em !important;
    text-transform:uppercase !important;
    cursor:pointer !important;
    transition:all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin-top:24px !important;
    box-shadow:none !important;
    text-shadow:none !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    width:auto !important;
    min-width:240px !important;
}

.rtb-booking-form button[type="submit"]:hover,
.rtb-booking-form input[type="submit"]:hover,
.rtb-booking-form .rtb-submit:hover,
form.rtb-booking-form button[type="submit"]:hover,
form.rtb-booking-form input[type="submit"]:hover,
form.rtb-booking-form .rtb-submit:hover {
    background:var(--rt-ink) !important;
    color:#FAF7F2 !important;
    border-color:var(--rt-ink) !important;
    transform:translateY(-2px) !important;
    box-shadow:0 12px 30px rgba(10, 10, 10, 0.18) !important;
}

.rtb-booking-form button[type="submit"]:active,
form.rtb-booking-form button[type="submit"]:active {
    transform:translateY(0) !important;
}

/* ============================================================
   MESSAGGI (success / error)
   ============================================================ */

.rtb-booking-form .rtb-message,
.rtb-message,
.rtb-error,
.rtb-success {
    padding:18px 22px !important;
    border-radius:0 !important;
    font-family:'Inter', sans-serif !important;
    font-size:14px !important;
    line-height:1.5 !important;
    margin-bottom:24px !important;
    border:none !important;
    border-left:2px solid var(--rt-gold) !important;
    background:rgba(168, 153, 104, 0.06) !important;
    color:var(--rt-ink) !important;
}

.rtb-error {
    border-left-color:#C0392B !important;
    background:rgba(192, 57, 43, 0.05) !important;
}

/* errore sotto un campo */
.rtb-booking-form .rtb-error-msg,
form.rtb-booking-form .rtb-error-msg {
    color:#C0392B !important;
    font-size:11px !important;
    font-weight:500 !important;
    letter-spacing:0.05em !important;
    margin-top:6px !important;
    text-transform:none !important;
}

/* ============================================================
   DESCRIZIONE / NOTA sotto i campi
   ============================================================ */

.rtb-booking-form .rtb-description,
.rtb-booking-form small,
form.rtb-booking-form .rtb-description,
form.rtb-booking-form small {
    color:var(--rt-ink-muted) !important;
    font-size:11px !important;
    font-style:italic !important;
    font-weight:400 !important;
    margin-top:6px !important;
    display:block !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}

/* ============================================================
   CHECKBOX / RADIO
   ============================================================ */

.rtb-booking-form input[type="checkbox"],
.rtb-booking-form input[type="radio"],
form.rtb-booking-form input[type="checkbox"],
form.rtb-booking-form input[type="radio"] {
    width:18px !important;
    height:18px !important;
    margin-right:10px !important;
    accent-color:var(--rt-gold) !important;
    cursor:pointer !important;
}

</style>

<!-- ============================================================
     CONTAINER BELLUCCI ATTORNO AL FORM
     Header elegante (eyebrow + titolo) sopra il plugin
     ============================================================ -->

<div class="rtb-bellucci-wrap">

  <style>
    .rtb-bellucci-wrap {
      background:#FAF7F2;
      padding:80px 40px;
      position:relative;
      overflow:hidden;
      font-family:'Inter', sans-serif;
    }

    /* Watermark scorrevole */
    .rtb-bellucci-watermark-wrap {
      position:absolute;
      top:50%;
      left:0;
      right:0;
      height:300px;
      transform:translateY(-50%);
      pointer-events:none;
      user-select:none;
      z-index:1;
      overflow:hidden;
      mask-image:linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
      -webkit-mask-image:linear-gradient(to right, transparent 0%, black 12%, black 88%, transparent 100%);
    }
    .rtb-bellucci-watermark {
      position:absolute;
      top:0;
      left:0;
      display:flex;
      gap:80px;
      font-family:'Cormorant Garamond', serif;
      font-size:clamp(120px, 18vw, 280px);
      font-weight:600;
      letter-spacing:-0.02em;
      color:rgba(10, 10, 10, 0.035);
      line-height:1;
      white-space:nowrap;
      animation:rtbMarquee 50s linear infinite;
    }
    .rtb-bellucci-watermark span { display:inline-block; }
    .rtb-bellucci-watermark .dot { color:#A89968; opacity:0.4; }
    @keyframes rtbMarquee {
      0% { transform:translateX(0); }
      100% { transform:translateX(-50%); }
    }

    /* Inner */
    .rtb-bellucci-inner {
      position:relative;
      z-index:2;
      max-width:780px;
      margin:0 auto;
    }

    /* Header */
    .rtb-bellucci-eyebrow {
      display:flex;
      align-items:center;
      gap:14px;
      margin-bottom:18px;
      opacity:0;
      transform:translateY(20px);
      animation:rtbFadeUp 1s ease 0.2s forwards;
    }
    .rtb-bellucci-eyebrow-line {
      width:0;
      height:1px;
      background:#A89968;
      animation:rtbLineGrow 1.2s ease 0.6s forwards;
    }
    .rtb-bellucci-eyebrow-text {
      font-size:11px;
      font-weight:500;
      letter-spacing:0.3em;
      text-transform:uppercase;
      color:#A89968;
      opacity:0;
      animation:rtbFadeIn 1s ease 0.9s forwards;
    }
    .rtb-bellucci-title {
      font-family:'Cormorant Garamond', serif;
      font-size:clamp(42px, 5.5vw, 72px);
      font-weight:500;
      line-height:1;
      letter-spacing:-0.01em;
      color:#0A0A0A;
      margin:0 0 14px 0;
      opacity:0;
      transform:translateY(30px);
      animation:rtbFadeUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.4s forwards;
    }
    .rtb-bellucci-subtitle {
      font-family:'Inter', sans-serif;
      font-size:15px;
      font-weight:400;
      line-height:1.6;
      color:rgba(10, 10, 10, 0.6);
      max-width:520px;
      margin:0 0 60px 0;
      opacity:0;
      transform:translateY(20px);
      animation:rtbFadeUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) 0.6s forwards;
    }

    @keyframes rtbFadeUp { to { opacity:1; transform:translateY(0); } }
    @keyframes rtbFadeIn { to { opacity:1; } }
    @keyframes rtbLineGrow { to { width:36px; } }

    /* Form wrapper - card bianca con shadow */
    .rtb-bellucci-form-card {
      background:#FFFFFF;
      padding:50px 50px 40px;
      border-radius:4px;
      box-shadow:0 30px 80px -20px rgba(10, 10, 10, 0.15),
                 0 8px 20px -10px rgba(10, 10, 10, 0.08);
      border:1px solid rgba(168, 153, 104, 0.12);
      opacity:0;
      transform:translateY(40px);
      animation:rtbFadeUp 1.4s cubic-bezier(0.16, 1, 0.3, 1) 0.8s forwards;
    }

    /* Footer info sotto il form */
    .rtb-bellucci-info {
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      gap:30px;
      flex-wrap:wrap;
      margin-top:50px;
      padding-top:40px;
      border-top:1px solid rgba(168, 153, 104, 0.18);
      opacity:0;
      transform:translateY(20px);
      animation:rtbFadeUp 1.4s ease 1s forwards;
    }
    .rtb-bellucci-info-item {
      flex:1;
      min-width:180px;
    }
    .rtb-bellucci-info-label {
      font-size:10px;
      font-weight:600;
      letter-spacing:0.3em;
      text-transform:uppercase;
      color:#A89968;
      margin-bottom:8px;
    }
    .rtb-bellucci-info-value {
      font-family:'Cormorant Garamond', serif;
      font-size:18px;
      font-weight:500;
      color:#0A0A0A;
      line-height:1.3;
    }
    .rtb-bellucci-info-value a {
      color:inherit;
      text-decoration:none;
      transition:color 0.3s ease;
    }
    .rtb-bellucci-info-value a:hover {
      color:#A89968;
    }

    @media (max-width:768px) {
      .rtb-bellucci-wrap {
        padding:60px 24px;
      }
      .rtb-bellucci-form-card {
        padding:32px 24px 28px;
      }
      .rtb-bellucci-title {
        margin-bottom:12px;
      }
      .rtb-bellucci-subtitle {
        margin-bottom:40px;
        font-size:14px;
      }
      .rtb-bellucci-info {
        margin-top:36px;
        padding-top:30px;
        gap:24px;
      }
    }
  </style>

  <!-- WATERMARK -->
  <div class="rtb-bellucci-watermark-wrap">
    <div class="rtb-bellucci-watermark">
      <span>RESERVIERUNG</span>
      <span class="dot">·</span>
      <span>PIEMONT</span>
      <span class="dot">·</span>
      <span>BUCHEN</span>
      <span class="dot">·</span>
      <span>RESERVIERUNG</span>
      <span class="dot">·</span>
      <span>PIEMONT</span>
      <span class="dot">·</span>
      <span>BUCHEN</span>
      <span class="dot">·</span>
    </div>
  </div>

  <div class="rtb-bellucci-inner">

    <div class="rtb-bellucci-eyebrow">
      <span class="rtb-bellucci-eyebrow-line"></span>
      <span class="rtb-bellucci-eyebrow-text">Tisch Reservieren</span>
    </div>

    <h2 class="rtb-bellucci-title">Reservierung</h2>

    <p class="rtb-bellucci-subtitle">
      Genießen Sie unvergessliche Momente in eleganter Atmosphäre. 
      Wir freuen uns auf Ihren Besuch im Piemont Restaurant.
    </p>

    <div class="rtb-bellucci-form-card">
      <!-- ⚠️ QUI VA INSERITO IL WIDGET FIVE STAR RESTAURANT RESERVATIONS
           Lo aggiungi DOPO questo widget HTML come Elementor widget separato
           o via shortcode [booking-form] -->
    </div>

    <!-- INFO FOOTER -->
    <div class="rtb-bellucci-info">
      <div class="rtb-bellucci-info-item">
        <div class="rtb-bellucci-info-label">Telefon</div>
        <div class="rtb-bellucci-info-value">
          <a href="tel:+4915238932271">+49 152 3893 2271</a>
        </div>
      </div>
      <div class="rtb-bellucci-info-item">
        <div class="rtb-bellucci-info-label">Öffnungszeiten</div>
        <div class="rtb-bellucci-info-value">
          Di – So<br>
          12:00 – 14:30 · 17:30 – 22:30
        </div>
      </div>
      <div class="rtb-bellucci-info-item">
        <div class="rtb-bellucci-info-label">Adresse</div>
        <div class="rtb-bellucci-info-value">
          Kirchheimbolanden<br>
          Deutschland
        </div>
      </div>
    </div>

  </div>
</div>
<!-- ============================================================
     PIEMONT — Reservierung Widget — FIX v2
     - Più padding orizzontale al form (testi non più attaccati)
     - Bottone "BUCHUNG ANFRAGEN" / "RESERVIEREN" in ORO PIENO
     ============================================================ -->

<link href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">

<style>

/* ============================================================
   PADDING ATTORNO AL FORM
   I campi devono respirare, non toccare i bordi della card
   ============================================================ */

.rtb-booking-form,
form[id^="rtb"],
form.rtb-booking-form {
    padding:20px 40px 30px !important;
    box-sizing:border-box !important;
    background:transparent !important;
    color:#F5F1E8 !important;
    font-family:'Inter', sans-serif !important;
    -webkit-font-smoothing:antialiased !important;
    max-width:100% !important;
    margin:0 auto !important;
}

/* TITOLI sezione (es. "Kontaktdaten") — più padding interno */
.rtb-booking-form legend,
.rtb-booking-form h2,
.rtb-booking-form h3,
form.rtb-booking-form legend,
form.rtb-booking-form h2,
form.rtb-booking-form h3 {
    font-family:'Cormorant Garamond', serif !important;
    font-size:32px !important;
    font-weight:500 !important;
    color:#F5F1E8 !important;
    letter-spacing:-0.02em !important;
    line-height:1.1 !important;
    margin:0 0 32px 0 !important;
    padding:0 !important;
    border:none !important;
    text-transform:none !important;
}

/* FIELDSET con margine */
.rtb-booking-form fieldset,
form.rtb-booking-form fieldset {
    border:none !important;
    background:transparent !important;
    padding:0 !important;
    margin:0 0 36px 0 !important;
}

/* Singolo blocco P (paragrafo dentro il form) */
.rtb-booking-form p,
form.rtb-booking-form p {
    margin:0 0 28px 0 !important;
    padding:0 !important;
}

/* LABEL */
.rtb-booking-form label,
form.rtb-booking-form label {
    display:block !important;
    font-family:'Inter', sans-serif !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:0.18em !important;
    text-transform:uppercase !important;
    color:rgba(168, 153, 104, 0.85) !important;
    margin-bottom:14px !important;
    padding:0 !important;
}

.rtb-booking-form .rtb-required,
.rtb-booking-form abbr,
form.rtb-booking-form .rtb-required,
form.rtb-booking-form abbr {
    color:#A89968 !important;
    text-decoration:none !important;
    border:none !important;
    font-weight:700 !important;
}

/* INPUT — campi di testo, email, telefono, data */
.rtb-booking-form input[type="text"],
.rtb-booking-form input[type="email"],
.rtb-booking-form input[type="tel"],
.rtb-booking-form input[type="number"],
.rtb-booking-form input[type="date"],
.rtb-booking-form input[type="time"],
.rtb-booking-form select,
.rtb-booking-form textarea,
form.rtb-booking-form input[type="text"],
form.rtb-booking-form input[type="email"],
form.rtb-booking-form input[type="tel"],
form.rtb-booking-form input[type="number"],
form.rtb-booking-form input[type="date"],
form.rtb-booking-form input[type="time"],
form.rtb-booking-form select,
form.rtb-booking-form textarea {
    width:100% !important;
    padding:14px 4px !important;
    background:transparent !important;
    border:none !important;
    border-bottom:1px solid rgba(168, 153, 104, 0.25) !important;
    border-radius:0 !important;
    font-family:'Cormorant Garamond', serif !important;
    font-size:20px !important;
    font-weight:500 !important;
    color:#F5F1E8 !important;
    line-height:1.3 !important;
    transition:border-color 0.4s ease !important;
    box-shadow:none !important;
    outline:none !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    margin:0 !important;
}

.rtb-booking-form input::placeholder,
.rtb-booking-form textarea::placeholder,
form.rtb-booking-form input::placeholder,
form.rtb-booking-form textarea::placeholder {
    color:rgba(245, 241, 232, 0.3) !important;
    font-style:italic !important;
    font-weight:400 !important;
}

.rtb-booking-form input:focus,
.rtb-booking-form select:focus,
.rtb-booking-form textarea:focus,
form.rtb-booking-form input:focus,
form.rtb-booking-form select:focus,
form.rtb-booking-form textarea:focus {
    border-bottom-color:#A89968 !important;
    outline:none !important;
    box-shadow:none !important;
}

.rtb-booking-form input:hover,
.rtb-booking-form select:hover,
.rtb-booking-form textarea:hover,
form.rtb-booking-form input:hover,
form.rtb-booking-form select:hover,
form.rtb-booking-form textarea:hover {
    border-bottom-color:rgba(168, 153, 104, 0.6) !important;
}

/* select - freccetta custom oro */
.rtb-booking-form select,
form.rtb-booking-form select {
    background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 9' fill='none'%3e%3cpath d='M1 1L8 8L15 1' stroke='%23A89968' stroke-width='1.5' stroke-linecap='round'/%3e%3c/svg%3e") !important;
    background-repeat:no-repeat !important;
    background-position:right 4px center !important;
    background-size:14px !important;
    padding-right:30px !important;
    cursor:pointer !important;
    color-scheme:dark !important;
}

/* select options - sfondo scuro */
.rtb-booking-form select option,
form.rtb-booking-form select option {
    background:#1a1a1a !important;
    color:#F5F1E8 !important;
}

/* textarea */
.rtb-booking-form textarea,
form.rtb-booking-form textarea {
    min-height:90px !important;
    resize:vertical !important;
    font-family:'Inter', sans-serif !important;
    font-size:15px !important;
    line-height:1.5 !important;
}

/* date picker icon */
.rtb-booking-form input[type="date"]::-webkit-calendar-picker-indicator,
.rtb-booking-form input[type="time"]::-webkit-calendar-picker-indicator,
form.rtb-booking-form input[type="date"]::-webkit-calendar-picker-indicator,
form.rtb-booking-form input[type="time"]::-webkit-calendar-picker-indicator {
    filter:invert(72%) sepia(28%) saturate(442%) hue-rotate(15deg) brightness(91%) contrast(86%) !important;
    cursor:pointer !important;
    opacity:0.85 !important;
}

/* GRID 2 colonne */
.rtb-booking-form .rtb-row,
.rtb-booking-form fieldset > div,
form.rtb-booking-form .rtb-row {
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:36px !important;
    margin-bottom:0 !important;
}

@media (max-width:600px) {
    .rtb-booking-form,
    form.rtb-booking-form {
        padding:16px 20px 24px !important;
    }
    .rtb-booking-form .rtb-row,
    .rtb-booking-form fieldset > div,
    form.rtb-booking-form .rtb-row {
        grid-template-columns:1fr !important;
        gap:0 !important;
    }
}

/* ============================================================
   ⭐ BOTTONE SUBMIT — ORO PIENO
   "BUCHUNG ANFRAGEN" / "RESERVIEREN"
   ============================================================ */

.rtb-booking-form button[type="submit"],
.rtb-booking-form input[type="submit"],
.rtb-booking-form .rtb-submit,
form.rtb-booking-form button[type="submit"],
form.rtb-booking-form input[type="submit"],
form.rtb-booking-form .rtb-submit {
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    padding:18px 48px !important;
    background:#A89968 !important;
    color:#0A0A0A !important;
    border:1px solid #A89968 !important;
    border-radius:999px !important;
    font-family:'Inter', sans-serif !important;
    font-size:11px !important;
    font-weight:700 !important;
    letter-spacing:0.28em !important;
    text-transform:uppercase !important;
    cursor:pointer !important;
    transition:all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    margin-top:24px !important;
    box-shadow:0 8px 24px rgba(168, 153, 104, 0.25) !important;
    text-shadow:none !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    width:auto !important;
    min-width:240px !important;
}

.rtb-booking-form button[type="submit"]:hover,
.rtb-booking-form input[type="submit"]:hover,
.rtb-booking-form .rtb-submit:hover,
form.rtb-booking-form button[type="submit"]:hover,
form.rtb-booking-form input[type="submit"]:hover,
form.rtb-booking-form .rtb-submit:hover {
    background:#C9B88A !important;
    color:#0A0A0A !important;
    border-color:#C9B88A !important;
    transform:translateY(-2px) !important;
    box-shadow:0 14px 36px rgba(168, 153, 104, 0.4) !important;
}

.rtb-booking-form button[type="submit"]:active,
form.rtb-booking-form button[type="submit"]:active {
    transform:translateY(0) !important;
    box-shadow:0 6px 18px rgba(168, 153, 104, 0.3) !important;
}

/* ============================================================
   MESSAGGI (success / error)
   ============================================================ */

.rtb-booking-form .rtb-message,
.rtb-message,
.rtb-error,
.rtb-success {
    padding:18px 22px !important;
    border-radius:0 !important;
    font-family:'Inter', sans-serif !important;
    font-size:14px !important;
    line-height:1.5 !important;
    margin:0 0 24px 0 !important;
    border:none !important;
    border-left:2px solid #A89968 !important;
    background:rgba(168, 153, 104, 0.08) !important;
    color:#F5F1E8 !important;
}

.rtb-error {
    border-left-color:#E07050 !important;
    background:rgba(224, 112, 80, 0.08) !important;
}

.rtb-booking-form .rtb-error-msg,
form.rtb-booking-form .rtb-error-msg {
    color:#E07050 !important;
    font-size:11px !important;
    font-weight:500 !important;
    letter-spacing:0.05em !important;
    margin-top:8px !important;
    text-transform:none !important;
}

/* DESCRIZIONE */
.rtb-booking-form .rtb-description,
.rtb-booking-form small,
form.rtb-booking-form .rtb-description,
form.rtb-booking-form small {
    color:rgba(245, 241, 232, 0.4) !important;
    font-size:11px !important;
    font-style:italic !important;
    font-weight:400 !important;
    margin-top:8px !important;
    display:block !important;
    letter-spacing:0 !important;
    text-transform:none !important;
}

/* CHECKBOX / RADIO */
.rtb-booking-form input[type="checkbox"],
.rtb-booking-form input[type="radio"],
form.rtb-booking-form input[type="checkbox"],
form.rtb-booking-form input[type="radio"] {
    width:18px !important;
    height:18px !important;
    margin-right:10px !important;
    accent-color:#A89968 !important;
    cursor:pointer !important;
}

</style>
<!-- ============================================================
     PIEMONT — Fix Time Picker / Date Picker
     Restila il dropdown orario (.picker) del plugin
     Five Star Restaurant Reservations in dark mode Bellucci.
     
     ⚠️ DOVE METTERLO:
     Aggiungi un widget HTML nella stessa pagina del form
     prenotazione (oppure nel template footer per applicarlo
     ovunque).
     ============================================================ -->

<style>

/* ============================================================
   PICKER CONTAINER — sfondo nero + bordo oro
   ============================================================ */

.picker,
.picker--time,
.picker--date {
    background:transparent !important;
}

.picker__holder {
    background:#0F0F0F !important;
    border:1px solid rgba(168, 153, 104, 0.35) !important;
    border-radius:6px !important;
    box-shadow:0 20px 60px rgba(0, 0, 0, 0.6),
               0 0 0 1px rgba(168, 153, 104, 0.12) !important;
    overflow:hidden !important;
    color:#F5F1E8 !important;
}

.picker__frame {
    background:#0F0F0F !important;
    color:#F5F1E8 !important;
}

.picker__wrap {
    background:#0F0F0F !important;
}

.picker__box {
    background:#0F0F0F !important;
    border:none !important;
    padding:8px 0 !important;
}

/* ============================================================
   LISTA ORARI
   ============================================================ */

.picker__list {
    list-style:none !important;
    margin:0 !important;
    padding:0 !important;
    background:#0F0F0F !important;
    max-height:280px !important;
    overflow-y:auto !important;
    /* scrollbar custom */
    scrollbar-width:thin !important;
    scrollbar-color:rgba(168, 153, 104, 0.4) #0F0F0F !important;
}

/* Webkit scrollbar */
.picker__list::-webkit-scrollbar {
    width:6px !important;
}
.picker__list::-webkit-scrollbar-track {
    background:#0F0F0F !important;
}
.picker__list::-webkit-scrollbar-thumb {
    background:rgba(168, 153, 104, 0.4) !important;
    border-radius:3px !important;
}
.picker__list::-webkit-scrollbar-thumb:hover {
    background:rgba(168, 153, 104, 0.7) !important;
}

/* ============================================================
   SINGOLE VOCI ORARI
   ============================================================ */

.picker__list-item,
.picker__list-item[role="option"] {
    background:transparent !important;
    color:#F5F1E8 !important;
    font-family:'Inter', sans-serif !important;
    font-size:14px !important;
    font-weight:500 !important;
    letter-spacing:0.05em !important;
    padding:11px 24px !important;
    border:none !important;
    border-bottom:1px solid rgba(168, 153, 104, 0.08) !important;
    cursor:pointer !important;
    transition:background 0.2s ease, color 0.2s ease, padding 0.2s ease !important;
    text-align:left !important;
    line-height:1.2 !important;
}

.picker__list-item:last-child {
    border-bottom:none !important;
}

/* Hover: sfondo oro semi-trasparente, testo oro */
.picker__list-item:hover,
.picker__list-item[role="option"]:hover {
    background:rgba(168, 153, 104, 0.12) !important;
    color:#A89968 !important;
    padding-left:30px !important;
}

/* Voce attualmente highlighted (selezione tastiera) */
.picker__list-item--highlighted,
.picker__list-item--viewset {
    background:rgba(168, 153, 104, 0.18) !important;
    color:#A89968 !important;
    font-weight:600 !important;
}

/* Voce selezionata */
.picker__list-item--selected {
    background:#A89968 !important;
    color:#0A0A0A !important;
    font-weight:700 !important;
}

.picker__list-item--selected:hover {
    background:#C9B88A !important;
    color:#0A0A0A !important;
    padding-left:24px !important;
}

/* Voce disabilitata */
.picker__list-item--disabled {
    color:rgba(245, 241, 232, 0.2) !important;
    cursor:not-allowed !important;
    pointer-events:none !important;
}

.picker__list-item--disabled:hover {
    background:transparent !important;
    color:rgba(245, 241, 232, 0.2) !important;
    padding-left:24px !important;
}

/* ============================================================
   BOTTONE "ELIMINARE / CLEAR"
   ============================================================ */

.picker__button--clear {
    display:block !important;
    width:100% !important;
    background:transparent !important;
    border:none !important;
    border-top:1px solid rgba(168, 153, 104, 0.2) !important;
    color:rgba(245, 241, 232, 0.5) !important;
    font-family:'Inter', sans-serif !important;
    font-size:11px !important;
    font-weight:600 !important;
    letter-spacing:0.2em !important;
    text-transform:uppercase !important;
    padding:14px 24px !important;
    margin:8px 0 0 0 !important;
    cursor:pointer !important;
    transition:all 0.3s ease !important;
    text-align:center !important;
    -webkit-appearance:none !important;
    appearance:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
}

.picker__button--clear:hover {
    background:rgba(168, 153, 104, 0.1) !important;
    color:#A89968 !important;
}

.picker__button--clear:active {
    background:rgba(168, 153, 104, 0.18) !important;
}

/* ============================================================
   DATE PICKER (calendario)
   ============================================================ */

.picker--date .picker__box {
    padding:12px !important;
}

/* Header del calendario (mese/anno) */
.picker__header {
    background:#0F0F0F !important;
    color:#F5F1E8 !important;
    padding:12px 8px !important;
    text-align:center !important;
    border-bottom:1px solid rgba(168, 153, 104, 0.18) !important;
    margin-bottom:12px !important;
    position:relative !important;
}

.picker__month,
.picker__year {
    font-family:'Cormorant Garamond', serif !important;
    font-size:18px !important;
    font-weight:500 !important;
    color:#F5F1E8 !important;
    letter-spacing:0.02em !important;
    background:transparent !important;
    border:none !important;
    cursor:pointer !important;
}

.picker__year {
    color:#A89968 !important;
    margin-left:6px !important;
}

/* Pulsanti di navigazione mese */
.picker__nav--prev,
.picker__nav--next {
    background:transparent !important;
    border:1px solid rgba(168, 153, 104, 0.3) !important;
    color:#A89968 !important;
    width:32px !important;
    height:32px !important;
    border-radius:50% !important;
    cursor:pointer !important;
    transition:all 0.3s ease !important;
    font-size:12px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.picker__nav--prev:hover,
.picker__nav--next:hover {
    background:#A89968 !important;
    border-color:#A89968 !important;
    color:#0A0A0A !important;
}

.picker__nav--prev::before,
.picker__nav--next::before {
    border-color:currentColor !important;
}

/* Tabella giorni */
.picker__table {
    width:100% !important;
    border-collapse:collapse !important;
    background:transparent !important;
    color:#F5F1E8 !important;
}

.picker__table th,
.picker__weekday {
    color:#A89968 !important;
    font-family:'Inter', sans-serif !important;
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:0.15em !important;
    text-transform:uppercase !important;
    padding:8px 4px !important;
    background:transparent !important;
    border:none !important;
}

.picker__day {
    padding:8px 4px !important;
    background:transparent !important;
    color:#F5F1E8 !important;
    font-family:'Inter', sans-serif !important;
    font-size:13px !important;
    font-weight:500 !important;
    text-align:center !important;
    cursor:pointer !important;
    border:none !important;
    border-radius:50% !important;
    transition:all 0.2s ease !important;
    width:36px !important;
    height:36px !important;
    line-height:1 !important;
}

.picker__day--outfocus {
    color:rgba(245, 241, 232, 0.2) !important;
}

.picker__day:hover,
.picker__day--highlighted {
    background:rgba(168, 153, 104, 0.18) !important;
    color:#A89968 !important;
}

.picker__day--today {
    color:#A89968 !important;
    font-weight:700 !important;
    border:1px solid rgba(168, 153, 104, 0.4) !important;
}

.picker__day--selected {
    background:#A89968 !important;
    color:#0A0A0A !important;
    font-weight:700 !important;
}

.picker__day--selected:hover {
    background:#C9B88A !important;
    color:#0A0A0A !important;
}

.picker__day--disabled,
.picker__day--disabled:hover {
    background:transparent !important;
    color:rgba(245, 241, 232, 0.15) !important;
    cursor:not-allowed !important;
    pointer-events:none !important;
}

/* Footer del date picker (Today / Clear / Close) */
.picker__footer {
    background:#0F0F0F !important;
    border-top:1px solid rgba(168, 153, 104, 0.18) !important;
    padding:10px 12px !important;
    margin-top:12px !important;
    display:flex !important;
    justify-content:space-between !important;
    gap:8px !important;
}

.picker__button--today,
.picker__button--clear,
.picker__button--close {
    background:transparent !important;
    border:1px solid rgba(168, 153, 104, 0.3) !important;
    color:#F5F1E8 !important;
    font-family:'Inter', sans-serif !important;
    font-size:10px !important;
    font-weight:600 !important;
    letter-spacing:0.15em !important;
    text-transform:uppercase !important;
    padding:8px 14px !important;
    border-radius:999px !important;
    cursor:pointer !important;
    transition:all 0.3s ease !important;
    flex:1 !important;
    -webkit-appearance:none !important;
    appearance:none !important;
}

.picker__button--today:hover,
.picker__button--clear:hover,
.picker__button--close:hover {
    background:#A89968 !important;
    border-color:#A89968 !important;
    color:#0A0A0A !important;
}

</style>/* End custom CSS */