/*This stylesheet is wordpress ready*/
/* ============================= */
/*         Customize Styles      */
/* ============================= */
:root{
  /* Colors */
  --nb_primary: #ffffff;
  --nb_primary-text: #000000;
  --nb_primary-border: #000000;
  --nb_btn-primary: #eabe1e;
  --nb_transparent: transparent;

  /* Fonts */
  --nb_font: montserrat;
  --nb_header-font-size: 20px;
  --nb_mobile_header-font-size: 14px;
  --nb-button-font-size: 14px;

  /* Borders / Shadows */
  --nb_general-border-radius-full: 0.5rem;
  --nb_border-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);

  /* Widths */
  --nb_half-width: 65%;
}

/* ============================= */
/* Layout Of the Date Widget     */
/* ============================= */
.nb_container{
  margin: 20px;
}

.nb_grid-container{
  display: grid;
  margin: 0 auto;
  box-shadow: var(--nb_border-shadow);
  width: var(--nb_half-width);
  padding: 20px;
  border-radius: var(--nb_general-border-radius-full);
  background-color: rgba(255, 255, 255, 0.5); /* 50% opacity */
  box-sizing: border-box;
}

.nb_grid-row{
  display: flex;
  justify-content: space-between;
  align-items: center; /* vertical alignment desktop */
}

.nb_grid-cell-1,
.nb_grid-cell-2,
.nb_grid-cell-3{
  width: 30%;
  font-family: var(--nb_font) !important;
  box-sizing: border-box;
}

/* ============================= */
/*   Headings (Arrival/Departure)*/
/* ============================= */
.nb_grid_header{
  margin: 0 0 0.25em 0;  /* bring labels closer to fields */
}

.nb_header{
  font-weight:500 !important;  /* unbolded */
  color: var(--nb_primary-text);
  text-align: center;
  font-size: var(--nb_header-font-size);
  font-family: var(--nb_font) !important;
  width: 100%;
  margin: 0 0 4px 0;              /* tighter gap above inputs */
}

/* ============================= */
/* Inputs & Button Styling       */
/* ============================= */
.nb_datePicker{
  border: 1px solid var(--nb_primary-border);
  border-radius: var(--nb_general-border-radius-full);
  display: flex;
  align-items: center;
  height: 48px;
  font-family: var(--nb_font) !important;
  margin: 10px 0;
  width: 100%;
  box-sizing: border-box;
  background-color: #ffffff;
}

/* remove theme shadows / gradients that made bottom border look lighter */
input{
  border: none !important;
  box-shadow: none !important;
  background-color: #ffffff !important;
  color: var(--nb_primary-text);
  text-align: center;
  border-radius: var(--nb_general-border-radius-full);
  font-size: 18px;
  padding: 10px;
  width: 100%;
  height: 44px !important;
  background-image: url(/wp-content/uploads/nb/nb_calendar.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 20px;
  box-sizing: border-box;
}

input:focus,
input:focus-visible{
  outline: none !important;
  box-shadow: none !important;
}

/* Button – same visual height & aligned with fields */
.nb_btn{
  background-color: var(--nb_btn-primary);
  border: none;
  cursor: pointer;
  border-radius: var(--nb_general-border-radius-full);
  font-weight: 600;
  font-size: var(--nb-button-font-size) !important;
  width: 100%;
  margin: 10px 0;          /* matches field vertical spacing */
  box-sizing: border-box;

  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;            /* matches .nb_datePicker height */
  padding: 0 24px;         /* horizontal only */
}

.nb_buttonText{
  text-align: center;
  font-family: var(--nb_font) !important;
}

/* ============================= */
/* Mobile Layout                 */
/* ============================= */
@media (max-width: 800px){

  .nb_grid-container{
    width: 90%;
  }

  /* hide original header row on mobile (prevents stacked labels) */
  .nb_grid_header{
    display: none;
  }

  /* stack the FIELD row vertically */
  .nb_grid-row{
    display: block;
    width: 100%;
  }

  .nb_grid-cell-1,
  .nb_grid-cell-2,
  .nb_grid-cell-3{
    width: 100%;
    margin: 0 auto 10px auto;
    text-align: center;
  }

  .nb_datePicker{
    width: 100%;
    margin: 4px auto 12px auto;
  }

  input{
    width: 100%;
    margin: 0 auto;
  }

  .nb_btn{
    width: 100%;
    margin: 10px auto 0;
  }

/* re-create labels directly above each input on mobile */
.nb_grid-row:nth-of-type(2) .nb_grid-cell-1::before{
    content: "Arrival";
    display: block;
    font-family: var(--nb_font);
    font-size: var(--nb_mobile_header-font-size);
    font-weight: 600;       /* makes it darker */
    color: #000000;         /* sets label color */
    margin-bottom: 4px;
}

.nb_grid-row:nth-of-type(2) .nb_grid-cell-2::before{
    content: "Departure";
    display: block;
    font-family: var(--nb_font);
    font-size: var(--nb_mobile_header-font-size);
    font-weight: 600;       /* makes it darker */
    color: #000000;         /* sets label color */
    margin-bottom: 4px;
}

}

/* Very small screens */
@media (max-width: 400px){
  input{
    background-color: #ffffff !important;
  }
}

/* ============================= */
/* Flatpickr Calendar tweaks     */
/* ============================= */
.flatpickr-current-month .flatpickr-monthDropdown-months{}

.flatpickr-months .flatpickr-month{
  font-family: var(--nb_font) !important;
}

.flatpickr-input[readonly]{ height: 40px; }

.dayContainer{
  font-family: var(--nb_font) !important;
}

span.flatpickr-weekday{
  font-family: var(--nb_font) !important;
}

.flatpickr-current-month{
  padding: 0.16px 0 0 0;
}

