/* =========================================================
   BM_V1.rwd.css
   Beach Music Cruise / Tropical Party Theme

   Direction:
   - Polished but fun
   - Tropical getaway with classic 60s/70s beach music
   - Main colors: blue, sand, white, hibiscus red
   - Hibiscus red buttons
   - No bubble/gloss effects
   - Includes RezMagic standard fixes:
     .cat-price sizing fix
     "Your Reservations" button sizing fix
     compact top account/header treatment
     mobile optimization
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --bm-ocean-deep: #0a3b66;
  --bm-ocean-dark: #0f4a7a;
  --bm-ocean: #1b82c5;
  --bm-tropical-blue: #28a9d6;
  --bm-sky: #58c3ee;

  --bm-sand: #f6d28b;
  --bm-sand-light: #fff4d2;
  --bm-sand-soft: #fff9ea;
  --bm-driftwood: #73563f;

  --bm-hibiscus: #d9332f;
  --bm-hibiscus-dark: #aa2422;
  --bm-hibiscus-soft: rgba(217, 51, 47, .11);

  --bm-gold: #f2b84b;
  --bm-palm: #2e7b4d;

  --bm-white: #ffffff;
  --bm-foam: #f8fbfd;
  --bm-ink: #172736;
  --bm-muted: #637381;
  --bm-border: #d8e6ee;
  --bm-shadow: 0 8px 24px rgba(10, 59, 102, .13);
  --bm-radius: 12px;
}

/* MASTER BACKGROUND */
html,
body {
  background-color: var(--bm-sand);
  background-image:
    radial-gradient(circle at 10% 4%, rgba(255,255,255,.42), transparent 26%),
    radial-gradient(circle at 90% 6%, rgba(40,169,214,.18), transparent 30%),
    linear-gradient(180deg, var(--bm-sand-light) 0%, var(--bm-sand) 45%, #efbf64 100%);
  color: var(--bm-ink);
  font-family: "Inter", Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.56;
  min-height: 100vh;
}

body:before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image:
    radial-gradient(circle, rgba(10,59,102,.10) 0 1px, transparent 1.4px),
    repeating-linear-gradient(115deg, rgba(115,86,63,.045) 0 2px, transparent 2px 18px);
  background-size: 22px 22px, auto;
  z-index: -1;
}

/* MAIN CONTAINERS / PANELS */
.container,
.content,
.main-content,
#content,
.rwd-content,
.panel,
.card,
.box,
.resBox,
.category,
.package,
.cabin-category,
.room-category,
.checkout-box,
.summary-box,
fieldset {
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(216,230,238,.95);
  border-radius: var(--bm-radius);
  box-shadow: var(--bm-shadow);
}

.container,
.content,
.main-content,
#content,
.rwd-content {
  padding: clamp(16px, 2.5vw, 30px);
}

.panel,
.card,
.box,
.resBox,
.category,
.package,
.cabin-category,
.room-category,
.checkout-box,
.summary-box,
fieldset {
  padding: 18px;
  margin-bottom: 18px;
}

/* CLEAN TOP RESERVATION / ACCOUNT BAR - NO BUBBLE EFFECT */
.header,
.site-header,
.top-header,
.navbar,
.navbar-default,
.navbar-inverse,
.navigation,
.nav,
.menu,
#header,
#nav {
  background: var(--bm-ocean-deep) !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-bottom: 3px solid var(--bm-sand) !important;
  box-shadow: none !important;
  color: var(--bm-white) !important;
  min-height: 70px !important;
  height: 70px !important;
  max-height: 70px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.header > .container,
.site-header > .container,
.top-header > .container,
.navbar > .container,
.navbar-default > .container,
.navbar-inverse > .container,
.navigation > .container,
.nav > .container,
.menu > .container,
#header > .container,
#nav > .container,
.header .container:first-child,
.site-header .container:first-child,
.top-header .container:first-child,
.navbar .container:first-child,
.navbar-default .container:first-child,
.navbar-inverse .container:first-child,
#header .container:first-child,
#nav .container:first-child {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  min-height: 70px !important;
  height: 70px !important;
  max-height: 70px !important;
  margin: 0 auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.header .row,
.site-header .row,
.top-header .row,
.navbar .row,
.navbar-default .row,
.navbar-inverse .row,
#header .row,
#nav .row,
.header [class*="col-"],
.site-header [class*="col-"],
.top-header [class*="col-"],
.navbar [class*="col-"],
.navbar-default [class*="col-"],
.navbar-inverse [class*="col-"],
#header [class*="col-"],
#nav [class*="col-"] {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Top title */
.header h1,
.header h2,
.header .navbar-brand,
.site-header h1,
.site-header h2,
.site-header .navbar-brand,
.top-header h1,
.top-header h2,
.top-header .navbar-brand,
.navbar h1,
.navbar h2,
.navbar .navbar-brand,
#header h1,
#header h2,
#header .navbar-brand,
#tripname,
li#tripname {
  color: var(--bm-white) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  line-height: 70px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-shadow: none !important;
}

/* Your Account as quiet nav text */
#account-status-link,
a#account-status-link,
.account-status a,
.account-status .btn,
#account-status .btn,
.account-actions a,
.navbar .dropdown-toggle,
.navbar-default .dropdown-toggle,
.navbar-inverse .dropdown-toggle,
.header .dropdown-toggle,
.site-header .dropdown-toggle,
.top-header .dropdown-toggle,
#header .dropdown-toggle,
.your-account,
.account-menu,
.account-menu > a,
.account-menu a {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--bm-white) !important;
  display: inline-block !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  height: auto !important;
  line-height: 1.15 !important;
  margin: 0 !important;
  min-height: 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 0 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  vertical-align: middle !important;
}

.account-status,
#account-status,
.account-actions,
.navbar-right {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  height: 70px !important;
  line-height: 70px !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: center !important;
}

#account-status-link:hover,
a#account-status-link:hover,
.account-status a:hover,
.account-status .btn:hover,
#account-status .btn:hover,
.navbar .dropdown-toggle:hover,
.header .dropdown-toggle:hover,
.account-menu a:hover {
  background: transparent !important;
  color: var(--bm-sand) !important;
  box-shadow: none !important;
  text-decoration: none !important;
  transform: none !important;
}

.dropdown-menu,
.account-menu .dropdown-menu,
.navbar .dropdown-menu {
  background: var(--bm-white) !important;
  border: 1px solid rgba(10,59,102,.18) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 22px rgba(10,59,102,.18) !important;
}

.dropdown-menu a,
.account-menu .dropdown-menu a,
.navbar .dropdown-menu a {
  color: var(--bm-ocean-deep) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  padding: 8px 12px !important;
}

/* Hero/header image */
.banner,
.hero,
.event-header,
.header-image,
.headerRezbanner,
.rez-banner,
#banner,
.trip-banner {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-radius: 0 0 18px 18px;
  box-shadow: 0 8px 28px rgba(10,59,102,.18);
  overflow: hidden;
}

img,
.header-image,
.banner img {
  max-width: 100%;
  height: auto;
}

/* TYPOGRAPHY */
a {
  color: var(--bm-ocean);
  font-weight: 700;
  text-decoration: none;
  transition: color .22s ease, opacity .22s ease;
}

a:hover,
a:focus {
  color: var(--bm-hibiscus);
  text-decoration: underline;
}

h1,
h2,
h3,
h4,
h5,
h6,
legend,
.cat-header h3,
.category-header,
.section-title {
  color: var(--bm-ocean-deep);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 700;
  letter-spacing: .01em;
}

h1,
.page-title {
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.05;
  margin-bottom: .65rem;
  text-shadow: 0 1px 0 rgba(255,255,255,.8);
}

h2,
legend {
  font-size: clamp(1.55rem, 2.6vw, 2.2rem);
}

/* Fun but polished section headers */
.category-header,
.cat-header,
.catHeader,
.section-header,
.package-header,
.rate-header,
.table-header,
.res-header,
.checkout-header,
.summary-header {
  background:
    linear-gradient(90deg, rgba(115,86,63,.30), transparent 18%, transparent 82%, rgba(115,86,63,.30)),
    linear-gradient(90deg, var(--bm-ocean-deep), var(--bm-ocean));
  color: var(--bm-white) !important;
  border-radius: var(--bm-radius) var(--bm-radius) 0 0;
  border-bottom: 4px solid var(--bm-hibiscus);
  padding: 12px 16px;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: .02em;
}

.category-header *,
.cat-header *,
.catHeader *,
.section-header *,
.package-header *,
.rate-header *,
.table-header *,
.res-header *,
.checkout-header *,
.summary-header * {
  color: var(--bm-white) !important;
}

/* Small music/tropical accents */
.category-header:before,
.cat-header:before,
.section-header:before,
.package-header:before,
.res-header:before,
.summary-header:before {
  content: "♪";
  color: var(--bm-sand);
  margin-right: 9px;
  text-shadow: 0 1px 0 rgba(0,0,0,.30);
}

hr {
  border: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--bm-sand), var(--bm-hibiscus), var(--bm-ocean), transparent);
  margin: 1.75rem 0;
}

/* BUTTONS - HIBISCUS RED, FLAT, NO BUBBLE */
button,
.button,
.btn,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button,
a.btn,
.submit,
.continue,
.checkout,
.reserve,
.book-now,
.add-to-cart {
  appearance: none;
  background: var(--bm-hibiscus) !important;
  background-image: none !important;
  border: 1px solid var(--bm-hibiscus-dark) !important;
  border-bottom: 3px solid var(--bm-hibiscus-dark) !important;
  border-radius: 8px !important;
  box-shadow: 0 5px 12px rgba(170,36,34,.18) !important;
  color: var(--bm-white) !important;
  cursor: pointer;
  display: inline-block;
  font-family: "Inter", Arial, sans-serif;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1.2;
  padding: 11px 20px;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  text-shadow: none !important;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

button:hover,
.button:hover,
.btn:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
a.button:hover,
a.btn:hover,
.submit:hover,
.continue:hover,
.checkout:hover,
.reserve:hover,
.book-now:hover,
.add-to-cart:hover {
  background: var(--bm-hibiscus-dark) !important;
  box-shadow: 0 8px 18px rgba(170,36,34,.24) !important;
  transform: translateY(-1px);
  color: var(--bm-white) !important;
}

/* Guest count buttons */
.guest-count button,
.guest-count .btn,
.quantity button,
.qty button,
.qty-btn,
.inc,
.dec,
.plus,
.minus,
[class*="guest"] .button,
[class*="qty"] .button,
.party-count-btn {
  background: var(--bm-hibiscus) !important;
  background-image: none !important;
  color: var(--bm-white) !important;
  border: 1px solid var(--bm-hibiscus-dark) !important;
  border-bottom: 3px solid var(--bm-hibiscus-dark) !important;
  border-radius: 8px !important;
  min-width: 42px;
}

.guest-count button:hover,
.guest-count .btn:hover,
.quantity button:hover,
.qty button:hover,
.qty-btn:hover,
.inc:hover,
.dec:hover,
.plus:hover,
.minus:hover,
.party-count-btn:hover {
  background: var(--bm-hibiscus-dark) !important;
}

/* Secondary buttons */
.btn-secondary,
.secondary,
.cancel,
.back,
.previous {
  background: var(--bm-ocean-dark) !important;
  border-color: var(--bm-ocean-deep) !important;
}

.btn-secondary:hover,
.secondary:hover,
.cancel:hover,
.back:hover,
.previous:hover {
  background: var(--bm-ocean-deep) !important;
}

/* YOUR RESERVATIONS BUTTON FIX */
.account-status,
.rez-start-over,
#account-status,
#account-status-wrapper,
.rez-account-status,
.reservation-login,
.account-actions,
.rez-actions,
#content-wrapper .rez-actions {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 18px 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  text-align: left !important;
}

/* Body reservation button only */
.rez-start-over a.btn,
.rez-account-status a.btn,
.reservation-login a.btn,
.rez-actions a.btn,
#content-wrapper .rez-actions a.btn {
  display: inline-block !important;
  width: auto !important;
  min-width: 145px !important;
  max-width: 260px !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  padding: 11px 20px !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  text-align: center !important;
  white-space: nowrap !important;
  border-radius: 8px !important;
  background: var(--bm-hibiscus) !important;
  border: 1px solid var(--bm-hibiscus-dark) !important;
  border-bottom: 3px solid var(--bm-hibiscus-dark) !important;
  color: var(--bm-white) !important;
  box-shadow: 0 5px 12px rgba(170,36,34,.18) !important;
}

/* PRICING / CAT-PRICE FIX */
.price,
.amount,
.total,
.grand-total,
.subtotal,
.cat-price,
.rate-price,
.package-price,
.currency,
strong.price {
  color: var(--bm-ocean-deep) !important;
  font-weight: 800;
}

.cat-price,
.rate-price,
.package-price,
.price-box,
.pricing-box {
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,249,234,.98));
  border-left: 7px solid var(--bm-hibiscus);
  border-right: 1px solid rgba(217,51,47,.16);
  border-bottom: 1px solid rgba(217,51,47,.16);
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(10,59,102,.10);
  color: var(--bm-ocean-deep) !important;
  min-height: 42px;
  padding: 12px 14px;
}

.cat-price,
.cat-price *,
.cat-price span,
.cat-price div,
.cat-price strong,
.cat-price b,
.rate-price,
.rate-price *,
.package-price,
.package-price *,
.price,
.price *,
.amount,
.amount *,
.currency,
.currency *,
.pricing-box,
.pricing-box *,
.price-box,
.price-box * {
  font-size: 18px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

.cat-price label,
.cat-price b,
.cat-price strong,
.cat-price span,
.cat-price small,
.cat-price sup {
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
  vertical-align: baseline !important;
}

.cat-price label {
  display: inline !important;
  margin: 0 !important;
  padding: 0 !important;
}

.cat-price .currency,
.cat-price .amount,
.rate-price .currency,
.rate-price .amount,
.package-price .currency,
.package-price .amount {
  color: var(--bm-hibiscus-dark) !important;
  font-size: 20px !important;
}

/* FORMS */
label,
.form-label,
.field-label {
  color: var(--bm-ocean-deep);
  font-weight: 700;
}

input,
select,
textarea,
.form-control,
.input,
.field {
  background: var(--bm-white);
  border: 1px solid var(--bm-border);
  border-radius: 8px;
  color: var(--bm-ink);
  font-family: "Inter", Arial, sans-serif;
  padding: 10px 12px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.input:focus,
.field:focus {
  border-color: var(--bm-ocean);
  box-shadow: 0 0 0 3px rgba(27,130,197,.18);
  outline: none;
}

::placeholder {
  color: #8796a3;
}

/* TABLES */
table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}

th {
  background: var(--bm-ocean-deep);
  color: var(--bm-white);
  font-weight: 800;
  border-bottom: 3px solid var(--bm-hibiscus);
}

th,
td {
  border-bottom: 1px solid var(--bm-border);
  padding: 11px 12px;
}

tr:nth-child(even) td {
  background: rgba(248,251,253,.75);
}

tr:hover td {
  background: var(--bm-hibiscus-soft);
}

/* NOTICES / SUMMARIES */
.notice,
.alert,
.message,
.info,
.reservation-summary,
.order-summary,
.cart-summary,
.payment-summary {
  background: #eef9fd;
  border: 1px solid #bde7f4;
  border-left: 6px solid var(--bm-ocean);
  border-radius: var(--bm-radius);
  color: var(--bm-ocean-deep);
  padding: 14px 16px;
}

.success,
.alert-success {
  background: #edf8f0;
  border-color: rgba(46,123,77,.35);
  border-left-color: var(--bm-palm);
  color: #225f3c;
}

.warning,
.alert-warning {
  background: #fff7df;
  border-color: rgba(242,184,75,.55);
  border-left-color: var(--bm-gold);
  color: #6d5222;
}

.error,
.alert-error,
.alert-danger {
  background: #fff1ee;
  border-color: rgba(170,36,34,.35);
  border-left-color: var(--bm-hibiscus);
  color: #7c2d22;
}

/* PROGRESS / STEPS */
.steps,
.progress,
.wizard,
.checkout-steps {
  background: rgba(255,255,255,.88);
  border: 1px solid var(--bm-border);
  border-radius: 999px;
  box-shadow: 0 3px 12px rgba(10,59,102,.08);
  overflow: hidden;
}

.step.active,
.progress .active,
.wizard .active,
.checkout-steps .active {
  background: var(--bm-ocean);
  color: var(--bm-white) !important;
}

.step.completed,
.progress .completed,
.wizard .completed,
.checkout-steps .completed {
  color: var(--bm-palm);
  font-weight: 800;
}

/* FOOTER */
.footer,
.site-footer,
#footer {
  background: var(--bm-ocean-deep);
  border-top: 4px solid var(--bm-sand);
  color: var(--bm-foam);
  padding: 28px 18px;
}

.footer a,
.site-footer a,
#footer a {
  color: var(--bm-sky);
}

.footer a:hover,
.site-footer a:hover,
#footer a:hover {
  color: var(--bm-sand);
}

/* BADGES / ACCENTS */
.accent,
.highlight,
.required,
.star {
  color: var(--bm-hibiscus) !important;
}

.badge,
.tag,
.pill {
  background: var(--bm-hibiscus);
  border-radius: 999px;
  color: var(--bm-white);
  display: inline-block;
  font-weight: 800;
  padding: 5px 10px;
}

.muted,
.help-text,
.small-text {
  color: var(--bm-muted);
}

/* MOBILE OPTIMIZATION */
@media (max-width: 768px) {
  html,
  body {
    font-size: 15px;
  }

  .header,
  .site-header,
  .top-header,
  .navbar,
  .navbar-default,
  .navbar-inverse,
  .navigation,
  .nav,
  .menu,
  #header,
  #nav,
  .header > .container,
  .site-header > .container,
  .top-header > .container,
  .navbar > .container,
  .navbar-default > .container,
  .navbar-inverse > .container,
  #header > .container,
  #nav > .container {
    min-height: 58px !important;
    height: 58px !important;
    max-height: 58px !important;
  }

  .header h1,
  .header h2,
  .header .navbar-brand,
  .site-header h1,
  .site-header h2,
  .site-header .navbar-brand,
  .top-header h1,
  .top-header h2,
  .top-header .navbar-brand,
  .navbar h1,
  .navbar h2,
  .navbar .navbar-brand,
  #header h1,
  #header h2,
  #header .navbar-brand,
  #tripname,
  li#tripname {
    font-size: 17px !important;
    line-height: 58px !important;
  }

  #account-status-link,
  a#account-status-link,
  .account-status a,
  .account-status .btn,
  #account-status .btn,
  .navbar .dropdown-toggle,
  .header .dropdown-toggle,
  .your-account,
  .account-menu a {
    font-size: 16px !important;
  }

  .account-status,
  #account-status,
  .account-actions,
  .navbar-right {
    height: 58px !important;
    line-height: 58px !important;
  }

  .container,
  .content,
  .main-content,
  #content,
  .rwd-content,
  .panel,
  .card,
  .box,
  .resBox,
  .category,
  .package,
  .cabin-category,
  .room-category,
  .checkout-box,
  .summary-box,
  fieldset {
    border-radius: 10px;
    padding: 14px;
  }

  .category-header,
  .cat-header,
  .catHeader,
  .section-header,
  .package-header,
  .rate-header,
  .table-header,
  .res-header,
  .checkout-header,
  .summary-header {
    font-size: 1.28rem;
    padding: 10px 12px;
  }

  button,
  .button,
  .btn,
  input[type="button"],
  input[type="submit"],
  a.button,
  a.btn {
    width: 100%;
    margin: 5px 0;
    padding: 12px 16px;
  }

  table,
  thead,
  tbody,
  th,
  td,
  tr {
    font-size: 14px;
  }

  .cat-price,
  .cat-price *,
  .rate-price,
  .rate-price *,
  .package-price,
  .package-price *,
  .price-box,
  .price-box *,
  .pricing-box,
  .pricing-box * {
    font-size: 17px !important;
    line-height: 1.35 !important;
  }

  th,
  td {
    padding: 9px 8px;
  }
}

@media (max-width: 480px) {
  h1,
  .page-title {
    font-size: 2rem;
  }

  h2,
  legend {
    font-size: 1.55rem;
  }

  .steps,
  .progress,
  .wizard,
  .checkout-steps {
    border-radius: 10px;
  }
}



/* =========================================================
   BM_V2 NAVBAR ACCOUNT POSITION FIX
   Keeps Nashville Navy title on the left and moves Your Account
   to the right side of the top navbar.
   ========================================================= */

.navbar.navbar-fixed-top .container,
.navbar-inverse.navbar-fixed-top .container,
.navbar-default.navbar-fixed-top .container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

/* Left side: title/brand */
.navbar-header {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  flex: 0 1 auto !important;
  margin: 0 !important;
}

.navbar-brand {
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  height: 70px !important;
  line-height: 1.15 !important;
  padding: 0 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Right side: account/menu area */
.navbar-collapse,
.navbar-collapse.collapse {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 1 1 auto !important;
  height: 70px !important;
  max-height: 70px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.navbar-nav,
.navbar-right {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin: 0 !important;
  padding: 0 !important;
  margin-left: auto !important;
  height: 70px !important;
}

.navbar-nav > li,
.navbar-right > li {
  float: none !important;
  display: flex !important;
  align-items: center !important;
  height: 70px !important;
}

/* Your Account item on right */
.navbar-nav > li > a,
.navbar-right > li > a,
.navbar .dropdown-toggle,
.navbar-inverse .dropdown-toggle,
#account-status-link,
a#account-status-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  height: 70px !important;
  line-height: 1.15 !important;
  padding: 0 0 0 24px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* Mobile: preserve normal collapse behavior */
@media (max-width: 768px) {
  .navbar.navbar-fixed-top .container,
  .navbar-inverse.navbar-fixed-top .container,
  .navbar-default.navbar-fixed-top .container {
    min-height: 58px !important;
    height: 58px !important;
  }

  .navbar-brand {
    height: 58px !important;
    white-space: normal !important;
  }

  .navbar-collapse,
  .navbar-collapse.collapse {
    height: auto !important;
    max-height: none !important;
    display: none !important;
  }

  .navbar-collapse.in,
  .navbar-collapse.collapse.in {
    display: block !important;
  }

  .navbar-nav,
  .navbar-right {
    display: block !important;
    height: auto !important;
    margin-left: 0 !important;
  }

  .navbar-nav > li,
  .navbar-right > li {
    display: block !important;
    height: auto !important;
  }

  .navbar-nav > li > a,
  .navbar-right > li > a,
  .navbar .dropdown-toggle,
  .navbar-inverse .dropdown-toggle,
  #account-status-link,
  a#account-status-link {
    height: auto !important;
    padding: 10px 0 !important;
    justify-content: flex-start !important;
  }
}




/* ==========================================================
   BM_V3 NAVBAR ALIGNMENT TWEAK
   Match reference layout:
   - Brand/title inset from left
   - Account inset from right
   - Vertically centered
   ========================================================== */

.navbar.navbar-fixed-top .container,
.navbar-inverse.navbar-fixed-top .container{
    max-width:1400px !important;
    width:100% !important;
    margin:0 auto !important;
    padding:0 34px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
}

.navbar-header{
    margin-left:6px !important;
}

.navbar-brand{
    padding-left:0 !important;
    font-size:24px !important;
    font-weight:600 !important;
}

.navbar-right,
.navbar-nav{
    margin-left:auto !important;
}

.navbar-right>li>a,
.navbar-nav>li>a{
    padding-right:8px !important;
    font-size:24px !important;
    font-weight:600 !important;
}



/* =========================================================
   BM_V4 NAVBAR POSITION + SIZE RESET
   Uses the Jesus Film CSS navbar pattern as the guideline:
   - Bootstrap standard navbar-header left
   - Bootstrap standard navbar-right right
   - modest Inter font sizing
   - no oversized Cormorant nav text
   - no custom flex layout that shifts account text
   ========================================================= */

/* Reset the custom flex navbar positioning from BM_V2/BM_V3 */
.navbar.navbar-fixed-top .container,
.navbar-inverse.navbar-fixed-top .container,
.navbar-default.navbar-fixed-top .container,
.navbar-inverse .container,
.navbar-default .container,
.navbar .container {
  display: block !important;
  align-items: unset !important;
  justify-content: unset !important;
  width: auto !important;
  max-width: none !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Navbar overall height similar to the Jesus Film style */
.navbar,
.navbar-inverse,
.navbar-default,
.navbar.navbar-fixed-top,
.navbar-inverse.navbar-fixed-top {
  min-height: 58px !important;
  height: auto !important;
  max-height: none !important;
  background: var(--bm-ocean-deep) !important;
  border-top: 4px solid var(--bm-sand) !important;
  border-bottom: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: 0 4px 18px rgba(10,59,102,.16) !important;
}

/* Left brand/title: Bootstrap standard left position */
.navbar-header {
  float: left !important;
  display: block !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  height: auto !important;
}

.navbar-brand,
.navbar-inverse .navbar-brand,
.navbar-default .navbar-brand {
  float: left !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 20px !important;
  padding: 18px 15px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  text-shadow: none !important;
  letter-spacing: .01em !important;
}

/* Right nav/account: Bootstrap standard right position */
.navbar-collapse,
.navbar-collapse.collapse {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  overflow: visible !important;
  border: 0 !important;
  box-shadow: none !important;
}

.navbar-nav {
  float: left !important;
  display: block !important;
  height: auto !important;
  margin: 0 !important;
}

.navbar-right {
  float: right !important;
  display: block !important;
  height: auto !important;
  margin: 0 -15px 0 0 !important;
  padding: 0 !important;
}

.navbar-nav > li,
.navbar-right > li {
  float: left !important;
  display: block !important;
  height: auto !important;
}

/* Account link size/position, matching Jesus Film proportions */
.navbar-inverse .navbar-nav > li > a,
.navbar-default .navbar-nav > li > a,
.navbar-nav > li > a,
.navbar-right > li > a,
.navbar .dropdown-toggle,
.navbar-inverse .dropdown-toggle,
#account-status-link,
a#account-status-link {
  float: none !important;
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  line-height: 20px !important;
  padding: 18px 15px !important;
  margin: 0 !important;
  white-space: nowrap !important;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-shadow: none !important;
  text-transform: none !important;
}

.navbar-inverse .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:hover,
.navbar-nav > li > a:hover,
.navbar-right > li > a:hover,
.navbar .dropdown-toggle:hover,
#account-status-link:hover,
a#account-status-link:hover {
  background: rgba(255,255,255,.08) !important;
  color: var(--bm-sand) !important;
  text-decoration: none !important;
  transform: none !important;
}

/* Make sure account wrapper itself does not alter navbar placement */
.account-status,
#account-status,
.account-actions,
.navbar .account-status,
.navbar-right .account-status {
  float: none !important;
  display: block !important;
  height: auto !important;
  line-height: normal !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Mobile keeps Bootstrap collapse behavior */
@media (max-width: 767px) {
  .navbar-header {
    float: none !important;
  }

  .navbar-brand,
  .navbar-inverse .navbar-brand,
  .navbar-default .navbar-brand {
    font-size: 15px !important;
    padding: 15px 15px !important;
    white-space: normal !important;
  }

  .navbar-collapse,
  .navbar-collapse.collapse {
    display: none !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .navbar-collapse.in,
  .navbar-collapse.collapse.in {
    display: block !important;
  }

  .navbar-nav,
  .navbar-right {
    float: none !important;
    display: block !important;
    margin: 7.5px -15px !important;
    height: auto !important;
  }

  .navbar-nav > li,
  .navbar-right > li {
    float: none !important;
    display: block !important;
  }

  .navbar-inverse .navbar-nav > li > a,
  .navbar-default .navbar-nav > li > a,
  .navbar-nav > li > a,
  .navbar-right > li > a,
  .navbar .dropdown-toggle,
  #account-status-link,
  a#account-status-link {
    padding: 10px 15px !important;
    font-size: 14px !important;
  }
}



/* =========================================================
   BM_V5 NAVBAR POSITION CORRECTION
   Problem corrected:
   BM_V4 reset the navbar container to full width, so the brand
   text and Your Account text moved to the far edges of the screen.
   This restores a centered navbar content rail that aligns with the
   booking/banner content, like the corrected reference image.
   ========================================================= */

/* Navbar rail should align with the centered page/banner content, not viewport edges */
.navbar.navbar-fixed-top .container,
.navbar-inverse.navbar-fixed-top .container,
.navbar-default.navbar-fixed-top .container,
.navbar-inverse .container,
.navbar-default .container,
.navbar .container {
  max-width: 1600px !important;
  width: calc(100% - 320px) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: block !important;
}

/* Brand/title: left aligned to the centered rail */
.navbar-header {
  float: left !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.navbar-brand,
.navbar-inverse .navbar-brand,
.navbar-default .navbar-brand {
  float: left !important;
  display: block !important;
  height: auto !important;
  line-height: 20px !important;
  padding: 18px 0 !important;
  margin: 0 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}

/* Account/menu: right aligned to the same centered rail */
.navbar-collapse,
.navbar-collapse.collapse {
  display: block !important;
  height: auto !important;
  max-height: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.navbar-right {
  float: right !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}

.navbar-nav {
  margin: 0 !important;
  padding: 0 !important;
}

.navbar-right > li,
.navbar-nav > li {
  float: left !important;
  display: block !important;
}

.navbar-right > li > a,
.navbar-nav > li > a,
.navbar .dropdown-toggle,
.navbar-inverse .dropdown-toggle,
#account-status-link,
a#account-status-link {
  display: block !important;
  height: auto !important;
  line-height: 20px !important;
  padding: 18px 0 !important;
  margin: 0 !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Keep the top bar itself simple and consistent */
.navbar,
.navbar-inverse,
.navbar-default,
.navbar.navbar-fixed-top,
.navbar-inverse.navbar-fixed-top {
  min-height: 58px !important;
  height: auto !important;
  background: var(--bm-ocean-deep) !important;
  border-top: 4px solid var(--bm-sand) !important;
  border-bottom: 1px solid rgba(255,255,255,.18) !important;
}

/* Responsive fallback: avoid crushing the nav on smaller screens */
@media (max-width: 1200px) {
  .navbar.navbar-fixed-top .container,
  .navbar-inverse.navbar-fixed-top .container,
  .navbar-default.navbar-fixed-top .container,
  .navbar-inverse .container,
  .navbar-default .container,
  .navbar .container {
    width: calc(100% - 60px) !important;
  }
}

@media (max-width: 767px) {
  .navbar.navbar-fixed-top .container,
  .navbar-inverse.navbar-fixed-top .container,
  .navbar-default.navbar-fixed-top .container,
  .navbar-inverse .container,
  .navbar-default .container,
  .navbar .container {
    width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .navbar-header {
    float: none !important;
  }

  .navbar-brand,
  .navbar-inverse .navbar-brand,
  .navbar-default .navbar-brand {
    padding: 15px 0 !important;
    font-size: 15px !important;
    white-space: normal !important;
  }

  .navbar-collapse,
  .navbar-collapse.collapse {
    display: none !important;
  }

  .navbar-collapse.in,
  .navbar-collapse.collapse.in {
    display: block !important;
  }

  .navbar-right,
  .navbar-nav {
    float: none !important;
    display: block !important;
    margin: 7.5px 0 !important;
  }

  .navbar-right > li,
  .navbar-nav > li {
    float: none !important;
    display: block !important;
  }

  .navbar-right > li > a,
  .navbar-nav > li > a,
  .navbar .dropdown-toggle,
  #account-status-link,
  a#account-status-link {
    padding: 10px 0 !important;
    font-size: 14px !important;
  }
}



/* =========================================================
   BM_V7 - NATURAL SAND BACKGROUND + RESORT PANEL POLISH
   Uses hosted sand background image:
   https://nna.rezmagic.com/Booking/Styles/NNA/images/sand_background.jpg

   Updates:
   - Replaces generated sand texture with hosted sand image.
   - Uses repeat/auto sizing for natural sand grain.
   - Adds light overlay so the background does not overpower content.
   - Softens main white booking panels.
   - Adds thin driftwood border to tie into the beach sign/wood palette.
   ========================================================= */

html,
body {
  background-color: #f6d28b !important;
  background-image:
    linear-gradient(
      rgba(255,255,255,.18),
      rgba(255,255,255,.18)
    ),
    url("https://nna.rezmagic.com/Booking/Styles/NNA/images/sand_background.jpg") !important;
  background-repeat: repeat !important;
  background-position: center top !important;
  background-size: auto !important;
  background-attachment: fixed !important;
}

/* Keep the booking area clean, but slightly warmer/premium */
.container,
.content,
.main-content,
#content,
.rwd-content,
#content-wrapper,
.panel,
.card,
.box,
.resBox,
.category,
.package,
.cabin-category,
.room-category,
.checkout-box,
.summary-box,
fieldset {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(200,176,122,.55) !important;
}

/* Subtle driftwood panel polish */
.panel,
.card,
.box,
.resBox,
.category,
.package,
.cabin-category,
.room-category,
.checkout-box,
.summary-box,
fieldset {
  box-shadow: 0 8px 24px rgba(10,59,102,.11) !important;
}

/* Make the surrounding decorative overlay less noticeable over the real sand image */
body:before {
  opacity: .06 !important;
}



/* =========================================================
   BM_V8 FORM + PAYMENT SPLIT FOUNDATION REFINEMENTS
   Adds consistent RezMagic form control sizing and payment table
   refinements across Guest Details, Preferences, Marketing,
   Additional Information, and Payment Split pages.
   ========================================================= */

/* Standard form-control height:
   Fixes short select/dropdown display ovals:
   Gender, Dining Time, Show Preference, Marketing Draw,
   Citizenship, Military, Dietary Request, Region/State, etc. */
.form-control,
select.form-control,
input.form-control,
textarea.form-control,
.form-group select,
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="number"],
.form-group input[type="date"],
.form-group textarea {
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 18px !important;
  color: var(--bm-ink) !important;
  border: 1px solid rgba(10,59,102,.18) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 2px rgba(10,59,102,.05), 0 2px 7px rgba(10,59,102,.08) !important;
  background-color: #ffffff !important;
}

select.form-control,
input.form-control,
.form-group select,
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="number"],
.form-group input[type="date"] {
  min-height: 58px !important;
  height: 58px !important;
  line-height: 58px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 18px !important;
  padding-right: 48px !important;
}

textarea.form-control,
.form-group textarea {
  min-height: 150px !important;
  height: auto !important;
  line-height: 1.45 !important;
  padding: 16px 18px !important;
  resize: vertical;
}

.form-control:focus,
select.form-control:focus,
input.form-control:focus,
textarea.form-control:focus,
.form-group select:focus,
.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--bm-ocean) !important;
  box-shadow: 0 0 0 4px rgba(27,130,197,.16), inset 0 1px 2px rgba(10,59,102,.05) !important;
  outline: none !important;
}

/* Consistent form group and label spacing */
.form-group {
  margin-bottom: 28px !important;
}

.form-group .control-label,
label.control-label,
.control-label,
.form-label,
.field-label {
  color: var(--bm-ocean-deep) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  padding-top: 14px !important;
}

.field-required,
.required,
.control-label .field-required,
label .field-required {
  color: #ff0000 !important;
  font-weight: 900 !important;
}

.help-block,
.help-text,
.form-text,
.form-group p,
.form-group .description {
  color: #9a9a9a !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin-top: 10px !important;
}

/* Fieldset / section polish */
fieldset {
  border: 1px solid rgba(200,176,122,.55) !important;
  border-radius: 16px !important;
  padding: 28px 34px 34px 34px !important;
  margin-bottom: 34px !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: 0 8px 24px rgba(10,59,102,.09) !important;
}

fieldset legend {
  color: var(--bm-ocean-deep) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 3rem !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  padding: 0 18px 10px 0 !important;
  border-bottom: 1px solid rgba(10,59,102,.12) !important;
  width: 100% !important;
}

/* Radio buttons and checkboxes */
.form-check,
.radio,
.checkbox,
.form-group .radio,
.form-group .checkbox {
  margin-top: 12px !important;
  margin-bottom: 18px !important;
}

.form-check label,
.radio label,
.checkbox label,
.form-group .radio label,
.form-group .checkbox label {
  color: var(--bm-ocean-deep) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  padding-left: 28px !important;
}

input[type="radio"],
input[type="checkbox"] {
  transform: scale(1.25);
  margin-right: 10px !important;
  accent-color: var(--bm-ocean);
}

/* Payment Split table refinement.
   Payment split names are rendered as:
   #split-parties-table td.rpad h6
   Make names visually match price size. */
#split-parties-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: none !important;
  box-shadow: none !important;
  margin: 28px 0 18px 0 !important;
  background: transparent !important;
}

#split-parties-table tr {
  border-bottom: 1px solid rgba(27,130,197,.18) !important;
}

#split-parties-table td {
  background: rgba(248,251,253,.62) !important;
  border: none !important;
  padding: 22px 18px !important;
  vertical-align: middle !important;
}

#split-parties-table td.rpad,
#split-parties-table td:first-child {
  text-align: left !important;
}

#split-parties-table td.ra,
#split-parties-table td:last-child {
  text-align: right !important;
  white-space: nowrap !important;
}

#split-parties-table h6,
#split-parties-table td.rpad h6,
#split-parties-table td:first-child h6 {
  color: var(--bm-ocean-deep) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#split-parties-table td.ra,
#split-parties-table td:last-child {
  color: var(--bm-ink) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

.rez-content form[action*="PaymentSplit"] h3,
form[action*="PaymentSplit"] h3 {
  color: var(--bm-ocean-deep) !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 2.35rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  margin-top: 28px !important;
  margin-bottom: 18px !important;
}

.rez-content form[action*="PaymentSplit"] .form-check,
form[action*="PaymentSplit"] .form-check {
  margin-bottom: 18px !important;
}

/* Continue / submit buttons stay polished and consistent */
button,
.button,
.btn,
input[type="button"],
input[type="submit"],
a.button,
a.btn {
  min-height: 52px !important;
  padding: 13px 26px !important;
  font-size: 16px !important;
  line-height: 1.2 !important;
}

/* Do not let navbar links inherit button dimensions */
.navbar a,
.navbar .dropdown-toggle,
.navbar-nav > li > a,
.navbar-right > li > a {
  min-height: 0 !important;
}

/* Mobile refinements */
@media (max-width: 767px) {
  select.form-control,
  input.form-control,
  .form-group select,
  .form-group input[type="text"],
  .form-group input[type="email"],
  .form-group input[type="tel"],
  .form-group input[type="number"],
  .form-group input[type="date"] {
    min-height: 52px !important;
    height: 52px !important;
    line-height: 52px !important;
    font-size: 16px !important;
    padding-left: 14px !important;
    padding-right: 42px !important;
  }

  textarea.form-control,
  .form-group textarea {
    min-height: 130px !important;
    font-size: 16px !important;
  }

  .form-group .control-label,
  label.control-label,
  .control-label {
    font-size: 16px !important;
    padding-top: 8px !important;
  }

  fieldset {
    padding: 20px 16px 24px 16px !important;
    border-radius: 12px !important;
  }

  fieldset legend {
    font-size: 2.05rem !important;
  }

  #split-parties-table td {
    padding: 16px 10px !important;
  }

  #split-parties-table h6,
  #split-parties-table td.rpad h6,
  #split-parties-table td:first-child h6,
  #split-parties-table td.ra,
  #split-parties-table td:last-child {
    font-size: 1.35rem !important;
  }

  .rez-content form[action*="PaymentSplit"] h3,
  form[action*="PaymentSplit"] h3 {
    font-size: 1.75rem !important;
  }
}


/* =========================================================
   TROPICAL LUX BACKGROUND IMAGE - LUXURY PANEL REFINEMENT
   ========================================================= */

.container,
#content-wrapper,
.rez-content,
.rez-summary,
.panel,
.panel-default,
.card,
.well,
.modal-content,
fieldset {
    background: rgba(255,255,252,.96) !important;
    border: 1px solid #e3cf9f !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.05) !important;
}

/* Slightly soften nested panels */
.panel-body,
.card-body,
.rez-panel-body {
    background: rgba(255,255,252,.96) !important;
}



/* =========================================================
   TROPICAL LUX V2 - HEADING SIZE REFINEMENT
   Reduces oversized repeating section headings while preserving
   the existing Tropical Lux colors, spacing, panels, and controls.
   ========================================================= */

/* Fieldset section titles:
   Guest 1, Account Information, Preferences and Special Requests,
   Additional Information, Marketing, etc. */
fieldset legend {
  font-size: 2.25rem !important; /* approximately 36px */
  line-height: 1.10 !important;
}

/* Large reservation instruction headings such as:
   "Please select the number of guests for this reservation" */
.rez-content > h2,
.rez-content > h3,
.rez-content form > h2,
.rez-content form > h3 {
  font-size: 2.10rem !important; /* approximately 34px */
  line-height: 1.15 !important;
}

/* Mobile heading balance */
@media (max-width: 767px) {
  fieldset legend {
    font-size: 1.75rem !important; /* approximately 28px */
    line-height: 1.12 !important;
  }

  .rez-content > h2,
  .rez-content > h3,
  .rez-content form > h2,
  .rez-content form > h3 {
    font-size: 1.65rem !important;
    line-height: 1.18 !important;
  }
}



/* =========================================================
   TROPICAL LUX V3
   Refine the "Your Reservations" call-to-action so it is
   a premium-sized button instead of a full-width banner.
   ========================================================= */

#account-status-link {
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
}

#account-status-link .btn.account-status,
#account-status-link a.btn,
#account-status-link a.account-status {
    display: inline-block !important;
    width: auto !important;
    min-width: 280px !important;
    max-width: 320px !important;
    padding: 16px 34px !important;
    text-align: center !important;
}

@media (max-width: 767px) {
    #account-status-link .btn.account-status,
    #account-status-link a.btn,
    #account-status-link a.account-status {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
}

