/* -------------------------------
   WooCommerce / Events tweaks
   ------------------------------- */

/* Hide WooCommerce additional info tab */
.woocommerce-tabs .additional_information_tab,
.woocommerce-Tabs-panel--additional_information {
    display: none !important;
}

/* Hide Tribe Events page titles */
.single-tribe_events .edgtf-title-holder,
.single-tribe_events .edgtf-title,
.single-tribe_events .edgtf-page-title,
.single-tribe_events .edgtf-title-background,
.single-tribe_events .edgtf-title-wrapper,
.single-tribe_events .edgtf-page-header {
    display: none !important;
    background-image: none !important;
}

/* ------------------------------------
   OpenTable widget – layout (both)
   ------------------------------------ */

.ot-wrapper {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

/* Remove the Make a Booking title */
.ot-title {
    display: none !important;
}

/* Base container styling */
.ot-dtp-picker.ot-multi {
    margin-top: 0 !important;
    padding-top: 0 !important;
    background-color: #000000 !important;
    border-radius: 6px;
    padding: 20px;
}

/* ------------------------------------
   OpenTable widget – dark theme
   ------------------------------------ */

.ot-dtp-picker.ot-multi,
.ot-dtp-picker.ot-multi *,
.ot-dtp-picker-wrapper,
.ot-dtp-picker-calendar,
.ot-dtp-picker-header,
.ot-dtp-picker-form,
.ot-dtp-picker-calendar table,
.ot-dtp-picker-calendar thead,
.ot-dtp-picker-calendar tbody,
.ot-dtp-picker-calendar tr,
.ot-dtp-picker-calendar td,
.ot-dtp-picker-calendar th {
    background-color: #000000 !important;
    color: #ffffff !important;
}

/* Inputs + dropdowns */
.ot-dtp-picker.ot-multi input,
.ot-dtp-picker.ot-multi select {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #ffffff !important;
}

/* Remove dropdown arrow icons */
.ot-dtp-picker-form select {
    background-image: none !important;
}

/* Calendar border styling */
.ot-dtp-picker-calendar,
.ot-dtp-picker-calendar * {
    border-color: #ffffff !important;
}

/* Day cells */
.ot-dtp-picker-calendar .ot-dtp-picker-calendar-day {
    background-color: #000000 !important;
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
}

/* Selected / hover day */
.ot-dtp-picker-calendar .ot-dtp-picker-calendar-day.selected,
.ot-dtp-picker-calendar .ot-dtp-picker-calendar-day:hover {
    background-color: #111111 !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
}

/* Label text */
.ot-dtp-picker-form label {
    color: #ffffff !important;
}

/* ------------------------------------
   Find a Table button
   ------------------------------------ */

form.ot-dtp-picker-form.ot-multi
input.ot-button.ot-dtp-picker-button[type="submit"][value="Find a Table"] {
    background-color: #f35f0d !important;
    border-color: #f35f0d !important;
    color: #ffffff !important;
}

form.ot-dtp-picker-form.ot-multi
input.ot-button.ot-dtp-picker-button[type="submit"][value="Find a Table"]:hover {
    background-color: #cf5f22 !important;
    border-color: #cf5f22 !important;
    color: #ffffff !important;
}

/* ------------------------------------
   DESKTOP – Scale widget
   ------------------------------------ */

.ot-widget-desktop .ot-wrapper .ot-dtp-picker.ot-multi {
    transform: scale(1.15);
    transform-origin: top center;
}

/* Remove scaling on mobile */
@media (max-width: 768px) {
    .ot-widget-desktop .ot-wrapper .ot-dtp-picker.ot-multi {
        transform: none !important;
    }
}

/* ------------------------------------
   Desktop vs Mobile widget visibility
   ------------------------------------ */

/* Desktop: show desktop widget, hide mobile stack */
.ot-widget-desktop {
    display: block;
}
.ot-widget-mobile {
    display: none;
}

/* Mobile: hide desktop widget, show stacked mobile widget */
@media (max-width: 768px) {
    .ot-widget-desktop {
        display: none;
    }

    .ot-widget-mobile {
        display: flex;
        justify-content: center;
        width: 100%;
        margin: 16px auto;
    }
}

/* ------------------------------------
   MOBILE – Full outline + centred stack
   ------------------------------------ */

@media (max-width: 768px) {

    /* Card container styling */
    .ot-widget-mobile .ot-dtp-picker.ot-multi {
        width: 90%;
        max-width: 450px;
        margin: 0 auto;

        border: 1px solid #ffffff !important;
        border-radius: 6px !important;
        background-color: #000000 !important;
        padding: 0 !important;
        display: block !important;
    }

    /* Row dividers */
    .ot-widget-mobile .ot-dtp-picker.ot-multi .ot-dtp-picker-selector,
    .ot-widget-mobile .ot-dtp-picker.ot-multi .ot-dtp-picker-row,
    .ot-widget-mobile .ot-dtp-picker.ot-multi .ot-dtp-picker-form > div {
        border-bottom: 1px solid #ffffff !important;
    }

    /* Remove extra border on last row */
    .ot-widget-mobile .ot-dtp-picker.ot-multi .ot-dtp-picker-row:last-child {
        border-bottom: none !important;
    }

    /* Inputs full width + clean */
    .ot-widget-mobile .ot-dtp-picker.ot-multi select,
    .ot-widget-mobile .ot-dtp-picker.ot-multi input {
        width: 100% !important;
        border: none !important;
        border-radius: 0 !important;
        background-color: #000000 !important;
        color: #ffffff !important;
    }

    /* Button full width */
    .ot-widget-mobile .ot-dtp-picker.ot-multi 
    .ot-button.ot-dtp-picker-button[type="submit"] {
        width: 100% !important;
        margin: 0 !important;
        border-radius: 0 0 6px 6px !important;
        border-top: 1px solid #ffffff !important;
    }
}

    /* Mobile button (full width + attached to bottom) */

/* ---- Make mobile booking widget larger ---- */
@media (max-width: 768px) {

    /* Wider card */
    .ot-widget-mobile .ot-dtp-picker.ot-multi {
        width: 96% !important;       /* was 90% */
        max-width: 520px !important; /* was 450px */
    }

    /* Taller inputs + dropdowns */
    .ot-widget-mobile .ot-dtp-picker.ot-multi select,
    .ot-widget-mobile .ot-dtp-picker.ot-multi input {
        height: 54px !important;     /* increase from default */
        font-size: 17px !important;  /* slightly larger text */
        padding: 0 14px !important;
    }

    /* Taller Find a Table button to match */
    .ot-widget-mobile .ot-dtp-picker.ot-multi
    .ot-button.ot-dtp-picker-button[type="submit"] {
        height: 75px !important;
        font-size: 17px !important;
    }
}
/* ---- Make the MOBILE widget visually bigger ---- */
@media (max-width: 768px) {
  .ot-widget-mobile .ot-dtp-picker.ot-multi {
      transform: scale(1.35);          /* try 1.15–1.25 */
      transform-origin: top center;
      margin-top: 12px;                /* a bit of space from title */
  }
}
/* Remove empty gap above the mobile booking widget */
@media (max-width: 768px) {

    /* Remove margin from wrapper */
    .ot-wrapper {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Remove margin from the widget itself */
    .ot-dtp-picker.ot-multi {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* Remove any spacing from the parent section/row */
    .ot-wrapper,
    .ot-wrapper * {
        margin-top: 0 !important;
    }

    /* Hard override common theme padding */
    .vc_row,
    .wpb_row,
    .edgtf-section-inner,
    .edgtf-content,
    .edgtf-container,
    .elementor-section {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}
/* Tighten vertical spacing for the hero section on mobile */
@media (max-width: 768px) {
    .book-hero-section {
        padding-top: 40px !important;   /* was much larger */
        padding-bottom: 24px !important;
    }

    /* Optional: reduce space just around the headings */
    .book-hero-section h1,
    .book-hero-section h2,
    .book-hero-section h3 {
        margin-top: 0 !important;
        margin-bottom: 12px !important;
    }
}


@media (max-width: 768px) {

    /* Make mobile widget full width */
    .ot-dtp-picker.ot-multi {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;

        /* Remove rounded corners on sides */
        border-left: none !important;
        border-right: none !important;
        border-radius: 0 !important;

        /* Keep top/bottom borders + dark background */
        background-color: #000000 !important;
        border-top: 1px solid #ffffff !important;
        border-bottom: 1px solid #ffffff !important;
    }

    /* Divider lines between each row */
    .ot-dtp-picker.ot-multi .ot-dtp-picker-row,
    .ot-dtp-picker.ot-multi .ot-dtp-picker-selector,
    .ot-dtp-picker.ot-multi .ot-dtp-picker-form > div {
        border-bottom: 1px solid #ffffff !important;
    }

    /* Remove border under last row before button */
    .ot-dtp-picker.ot-multi .ot-dtp-picker-row:last-child {
        border-bottom: none !important;
    }

    /* Clean full-screen inputs */
    .ot-dtp-picker.ot-multi select,
    .ot-dtp-picker.ot-multi input {
        width: 100% !important;
        border: none !important;
        background-color: #000 !important;
        color: #fff !important;
        border-radius: 0 !important;
    }

    /* Full-width orange button at bottom */
    .ot-dtp-picker.ot-multi .ot-button.ot-dtp-picker-button[type="submit"] {
        width: 100% !important;
        border-radius: 0 !important;
        border-top: 1px solid #ffffff !important;
        margin: 0 !important;
    }
}

.tp-loader.spinner0 {
    border-color: #000 !important;
}

.tp-loader.spinner1,
.tp-loader.spinner2,
.tp-loader.spinner3,
.tp-loader.spinner4 {
    border-top-color: #000 !important;
    border-right-color: #000 !important;
    border-bottom-color: #000 !important;
    border-left-color: #000 !important;
}


/* Hide the hamburger (side menu opener) */
.edgtf-side-menu-button-opener,
.edgtf-side-menu-button-opener-holder {
    display: none !important;
}




@media (max-width: 767px) {
    .vc_column_container .wpb_raw_code {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}



@media (max-width: 767px) {
    .hide-mobile {
        display: none !important;
    }
}




/* Stop iPad Safari zooming & text resizing */
html {
    -webkit-text-size-adjust: 100% !important;
}

/* Force tablets into a cleaner tablet layout */
@media (min-width: 768px) and (max-width: 1024px) {
  body {
    zoom: 1 !important;
    font-size: 100% !important;
  }

  /* Ensure rows don’t blow out */
  .wpb_row,
  .vc_row {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Fix booking widget stretch issue */
  .rtb-booking-form,
  .opentable-widget,
  .booking-form-wrapper {
    transform: scale(1) !important;
    width: 100% !important;
  }
}
/* Stop iPad Safari from doing weird text zoom / scaling */
html {
  -webkit-text-size-adjust: 100% !important;
}

/* Tidy up layout on tablet sizes (most iPads in landscape) */
@media (min-width: 768px) and (max-width: 1024px) {
  body {
    font-size: 100% !important;
  }

  /* Make sure rows don’t overflow horizontally */
  .wpb_row,
  .vc_row {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* Keep booking widget nicely contained */
  .booking-form-wrapper,
  .opentable-widget,
  .rtb-booking-form {
    width: 100% !important;
  }
}
