/* =========================================================
   REJUVENATE AUTO SPA — MASTER GLOBAL CSS (SINGLE SOURCE)
   Paste into: Appearance → Customize → Additional CSS
   Required classes:
   - Header block: ras-site-header
   - Inner header row/group: ras-headerBar
   - Jetpack form block: ras-booking
========================================================= */

/* =========================
   BRAND TOKENS
========================= */
:root{
  --ras-navy:#08263B;
  --ras-navy2:#0a1e4f;
  --ras-gold:#BE9758;
  --ras-gold-soft:#D8B884;

  --ras-paper:#F8F2EC;
  --ras-paper-rgb: 248,242,236;

  --ras-ink: rgba(248,242,236,.96);
  --ras-ink-soft: rgba(248,242,236,.86);
  --ras-shadow: 0 16px 44px rgba(0,0,0,.28);
}

/* =========================================================
   1) STOP “WIDER ON THE RIGHT” (SITE-WIDE)
========================================================= */
html, body{
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

.wp-site-blocks,
.wp-block-post-content{
  overflow-x: hidden !important;
}

.wp-site-blocks img,
.wp-site-blocks video,
.wp-site-blocks iframe,
.wp-site-blocks svg{
  max-width: 100% !important;
  height: auto !important;
}

@media (max-width: 900px){
  .wp-site-blocks *{
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}

/* =========================================================
   2) TRUE FULL WIDTH (FRONT-END ONLY)
   (Keeps editor safer)
========================================================= */
body:not(.wp-admin) .wp-site-blocks,
body:not(.wp-admin) .wp-site-blocks > *,
body:not(.wp-admin) .wp-block-post-content,
body:not(.wp-admin) .wp-block-post-content > *{
  max-width: 100% !important;
}

body:not(.wp-admin) .is-layout-constrained,
body:not(.wp-admin) .is-layout-constrained > *{
  max-width: 100% !important;
}

body:not(.wp-admin) .alignwide{
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:not(.wp-admin) .alignfull{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:not(.wp-admin) .wp-site-blocks{
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body:not(.wp-admin) .wp-block-post-content{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* =========================================================
   3) BUTTON READABILITY FIXES (SITE-WIDE)
========================================================= */
.wp-block-button__link{
  border-radius: 999px !important;
  font-weight: 900 !important;
  letter-spacing: .02em;
  text-decoration: none !important;
}

.wp-block-button__link:visited{
  color: inherit !important;
}

.wp-block-button.is-style-outline .wp-block-button__link{
  color: rgba(248,242,236,.96) !important;
  border-color: rgba(248,242,236,.60) !important;
  background: rgba(255,255,255,.06) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(216,184,132,.60) !important;
}

/* =========================================================
   4) HEADER — SINGLE BAR SYSTEM
   REQUIRED: header group class = ras-site-header
   RECOMMENDED: inner row/group class = ras-headerBar
========================================================= */
.ras-site-header{
  position: sticky;
  top: 0;
  z-index: 9999;
  padding: 10px 12px !important;
  background: transparent !important;
}

/* Prevent “double bubbles” inside header */
.ras-site-header .wp-block-group,
.ras-site-header .wp-block-row,
.ras-site-header .wp-block-columns{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* The one true bar */
.ras-site-header .ras-headerBar{
  max-width: 1200px;
  margin: 8px auto !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: nowrap !important;

  padding: 12px 16px !important;

  border-radius: 18px !important;
  border: 1px solid rgba(216,184,132,.30) !important;
  background: linear-gradient(135deg, rgba(8,38,59,.96), rgba(10,30,79,.94)) !important;
  box-shadow: var(--ras-shadow) !important;
}

/* Gold accent line */
.ras-site-header::after{
  content:"";
  display:block;
  height: 2px;
  max-width: 1200px;
  margin: 0 auto 6px;
  background: linear-gradient(90deg, rgba(190,151,88,0), rgba(216,184,132,.75), rgba(190,151,88,0));
  opacity: .75;
}

/* Title */
.ras-site-header .wp-block-site-title{ margin: 0 !important; }
.ras-site-header .wp-block-site-title a{
  color: var(--ras-ink) !important;
  font-weight: 950 !important;
  letter-spacing: .7px;
  text-transform: uppercase;
  font-size: 20px !important;
  text-decoration: none !important;
  white-space: nowrap;
}

/* Nav base */
.ras-site-header .wp-block-navigation{ margin-left: auto !important; }
.ras-site-header .wp-block-navigation__container{
  gap: 14px !important;
  align-items: center !important;
}

/* Nav links — kills blue “Booking Form” */
.ras-site-header .wp-block-navigation a,
.ras-site-header .wp-block-navigation a:visited,
.ras-site-header .wp-block-navigation a:hover,
.ras-site-header .wp-block-navigation a:focus{
  color: rgba(248,242,236,.94) !important;
  text-decoration: none !important;
}

.ras-site-header .wp-block-navigation a{
  font-weight: 750 !important;
  font-size: 14.5px !important;
  opacity: .95;

  padding: 10px 12px !important;
  border-radius: 999px !important;
  border: 1px solid transparent !important;

  transition: transform .18s ease, background .18s ease, border-color .18s ease, opacity .18s ease;
}
.ras-site-header .wp-block-navigation a:hover{
  opacity: 1;
  transform: translateY(-1px);
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(216,184,132,.22) !important;
}

.ras-site-header .wp-block-navigation__submenu-icon{
  color: rgba(248,242,236,.92) !important;
  opacity: .95;
}

/* =========================================================
   5) SERVICE AREAS — HOVER OPEN (DESKTOP)
========================================================= */
@media (min-width: 901px){

  .ras-site-header .wp-block-navigation-item.has-child{
    position: relative !important;
    padding-bottom: 12px !important;
    margin-bottom: -12px !important;
  }

  .ras-site-header .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container{
    display: none !important;

    position: absolute !important;
    top: calc(100% + 10px) !important;
    left: 0 !important;

    min-width: 280px !important;
    z-index: 100000 !important;

    background: linear-gradient(180deg, rgba(8,38,59,.985), rgba(10,30,79,.985)) !important;
    border: 1px solid rgba(216,184,132,.28) !important;
    border-radius: 16px !important;
    padding: 10px !important;

    box-shadow: 0 22px 70px rgba(0,0,0,.40) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }

  .ras-site-header .wp-block-navigation-item.has-child:hover > .wp-block-navigation__submenu-container,
  .ras-site-header .wp-block-navigation-item.has-child:focus-within > .wp-block-navigation__submenu-container{
    display: block !important;
  }

  .ras-site-header .wp-block-navigation__submenu-container a{
    display: block !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    margin: 8px 0 !important;

    color: rgba(248,242,236,.96) !important;
    font-weight: 850 !important;

    background: rgba(255,255,255,.05) !important;
    border: 1px solid transparent !important;

    transition: transform .15s ease, background .15s ease, border-color .15s ease;
  }
  .ras-site-header .wp-block-navigation__submenu-container a:hover{
    transform: translateY(-1px) !important;
    background: rgba(255,255,255,.09) !important;
    border-color: rgba(216,184,132,.22) !important;
  }
}

/* =========================================================
   6) MOBILE HEADER (keeps WP overlay working)
========================================================= */
@media (max-width: 900px){

  .ras-site-header .ras-headerBar{
    flex-wrap: wrap !important;
    justify-content: center !important;
    row-gap: 10px !important;
  }

  .ras-site-header .wp-block-site-title{
    width: 100% !important;
    text-align: center !important;
  }
  .ras-site-header .wp-block-site-title a{
    font-size: 18px !important;
    white-space: normal !important;
  }

  .ras-site-header .wp-block-navigation{
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  }
}

/* =========================================================
   7) BOOKING FORM — Jetpack Contact Form
   Add class "ras-booking" on the Jetpack form block
========================================================= */
.wp-block-jetpack-contact-form.ras-booking{
  width: min(920px, 100%) !important;
  margin: 40px auto !important;

  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(190,151,88,.18) !important;
  border-radius: 24px !important;

  padding: clamp(22px, 3.5vw, 44px) !important;
  box-shadow: 0 25px 70px rgba(8,38,59,.12) !important;
  backdrop-filter: blur(12px);
}

/* spacing */
.wp-block-jetpack-contact-form.ras-booking > div{
  display: grid;
  gap: 8px;
  margin: 0 0 16px !important;
}

/* labels */
.wp-block-jetpack-contact-form.ras-booking label{
  color: #08263B !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: .02em;
}

/* inputs */
.wp-block-jetpack-contact-form.ras-booking input[type="text"],
.wp-block-jetpack-contact-form.ras-booking input[type="tel"],
.wp-block-jetpack-contact-form.ras-booking input[type="email"],
.wp-block-jetpack-contact-form.ras-booking select,
.wp-block-jetpack-contact-form.ras-booking textarea{
  width: 100% !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;

  border: 1px solid rgba(8,38,59,.15) !important;
  background: rgba(248,242,236,.78) !important;

  color: #08263B !important;
  -webkit-text-fill-color: #08263B !important;

  font-size: 15px !important;
  box-shadow: none !important;
}

.wp-block-jetpack-contact-form.ras-booking textarea{
  min-height: 140px !important;
  resize: vertical;
}

.wp-block-jetpack-contact-form.ras-booking input:focus,
.wp-block-jetpack-contact-form.ras-booking select:focus,
.wp-block-jetpack-contact-form.ras-booking textarea:focus{
  outline: none !important;
  background: rgba(248,242,236,.95) !important;
  border-color: rgba(190,151,88,.55) !important;
  box-shadow: 0 0 0 4px rgba(190,151,88,.14) !important;
}

/* submit */
.wp-block-jetpack-contact-form.ras-booking .wp-block-button.form-button-submit{
  display: flex !important;
  justify-content: center !important;
  margin-top: 8px !important;
}
.wp-block-jetpack-contact-form.ras-booking .wp-block-button__link{
  border-radius: 999px !important;
  padding: 14px 28px !important;
  font-weight: 900 !important;
  letter-spacing: .04em;

  border: 1px solid rgba(216,184,132,.6) !important;
  background: linear-gradient(135deg, #BE9758 0%, #D8B884 100%) !important;
  color: #08263B !important;

  box-shadow: 0 20px 60px rgba(0,0,0,.18) !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.wp-block-jetpack-contact-form.ras-booking .wp-block-button__link:hover{
  transform: translateY(-3px);
  filter: brightness(1.02);
  box-shadow: 0 25px 70px rgba(0,0,0,.25) !important;
}

@media (max-width: 700px){
  .wp-block-jetpack-contact-form.ras-booking{
    margin: 22px 14px !important;
    padding: 18px !important;
  }
}