
:root {
  --uh-gold: #ffc04f;               /* stars, quote marks, accents */
  --uh-blue: #0071a9;               /* eyebrow label */
  --uh-plum: #8b005d;               /* headline highlight */
  --uh-ink: #111111;                /* body text */
  --uh-card: rgba(0, 0, 0, 0.8);    /* review card background */
  --uh-bg: #f7f7f7;                 /* page background */
  --uh-line: rgba(0, 0, 0, 0.08);

  /* Icons used as CSS masks (stars + quote mark) */
  --uh-star-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%3E%3C/svg%3E");
  --uh-quote-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath d='M4 40V26C4 14.5 9.6 7.4 20.3 5l1.8 4.4C16 11.3 13 15.1 12.5 20H20v20H4zm24 0V26c0-11.5 5.6-18.6 16.3-21l1.8 4.4C40 11.3 37 15.1 36.5 20H44v20H28z'/%3E%3C/svg%3E");
}

body {
  margin: 0;
  background: var(--uh-bg);
}

.uh-reviews {
  padding: 80px 0 0 0px;
  font-family: "Raleway", sans-serif;
  color: var(--uh-ink);
  background: var(--uh-bg);
  -webkit-font-smoothing: antialiased;
}

.uh-reviews *,
.uh-reviews *::before,
.uh-reviews *::after {
  box-sizing: border-box;
}

.uh-wrap {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 40px;
}


/* ---------- 2. Section header + score badge ---------- */

.uh-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 15px;
}

.uh-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--uh-blue);
}

.uh-eyebrow::before {
  content: "";
  width: 34px;
  height: 2px;
  background: var(--uh-gold);
}

.uh-title {
  max-width: 760px;
  margin: 0;
  font-size: 44px;
  line-height: 52px;
  font-weight: 500;
}

.uh-title em {
  font-style: normal;
  white-space: nowrap;
  color: var(--uh-plum);
}

.uh-sub {
  max-width: 640px;
  margin: 14px 0 0;
  font-size: 18px;
  line-height: 28px;
  color: #333;
}

.uh-score {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 24px;
  background: #fff;
  border-top: 3px solid var(--uh-gold);
  border-radius: 2px;
  box-shadow: 0 0 18px rgba(0, 0, 0, 0.06);
}

.uh-score-num {
  font-size: 44px;
  line-height: 1;
  font-weight: 700;
}

.uh-score-meta {
  font-size: 14px;
  line-height: 20px;
  color: #444;
}

.uh-score-meta strong {
  display: block;
  font-weight: 600;
  color: var(--uh-ink);
}


/* ---------- 3. Stars ----------
   One element, five stars. Change --star to resize. */

.uh-stars {
  --star: 20px;
  display: block;
  width: calc(var(--star) * 5.6);
  height: var(--star);
  background: var(--uh-gold);
  -webkit-mask: var(--uh-star-mask) repeat-x calc(var(--star) * -0.075) 50% / calc(var(--star) * 1.15) var(--star);
          mask: var(--uh-star-mask) repeat-x calc(var(--star) * -0.075) 50% / calc(var(--star) * 1.15) var(--star);
}

.uh-score .uh-stars {
  --star: 18px;
}


/* ---------- 4. Carousel (Swiper) + review cards ---------- */

.uh-carousel {
  position: relative;
}

/* Extra padding so the card hover-lift and shadow aren't clipped by Swiper's overflow:hidden */
.uh-slider {
  padding: 10px 6px 24px;
  margin: 0 -6px;
}

.uh-slider .swiper-slide {
  height: auto; /* equal-height cards */
}

.uh-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 28px 30px 30px;
  color: #fff;
  background: var(--uh-card);
  border-top: 3px solid var(--uh-gold);
  border-radius: 2px;
  transition: transform 200ms ease-out, box-shadow 200ms ease-out;
}

.uh-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 26px rgba(17, 17, 17, 0.22);
}

/* Decorative quote mark */
.uh-card::before {
  content: "";
  flex: none;
  width: 34px;
  height: 34px;
  margin-bottom: 16px;
  background: var(--uh-gold);
  -webkit-mask: var(--uh-quote-mask) no-repeat center / contain;
          mask: var(--uh-quote-mask) no-repeat center / contain;
}

.uh-card-text {
  flex: 1;
  margin: 0 0 24px;
  font-size: 17px;
  line-height: 28px;
}

.uh-card-text strong {
  font-weight: 700;
}

.uh-card .uh-stars {
  margin-bottom: 10px;
}

.uh-name {
  min-height: 48px;
  font-size: 18px;
  font-weight: 700;
}

.uh-loc {
  display: block;
  font-size: 15px;
  font-weight: 400;
  opacity: 0.75;
}


/* ---------- 5. Navigation arrows & pagination dots ---------- */

.uh-arrows {
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  position: absolute;
  top: -60px;
  right: 0;
}

.uh-arrow {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  padding: 0;
  color: #ffc04f;
  background: #313131;
  border: none;
  border-radius: 100px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.08);
  cursor: pointer;
  transition: background 150ms ease-out, transform 150ms ease-out, opacity 150ms ease-out;
}

.uh-arrow:hover {
  background: var(--uh-gold);
  transform: scale(1.08);
  color: black;
}
.hero .search input::placeholder {
    color: #000;
}
.uh-arrow:focus-visible,
.uh-dot:focus-visible {
  outline: 2px solid var(--uh-blue);
  outline-offset: 3px;
}

.uh-arrow.is-disabled {
  opacity: 0.35;
  background: #fff;
  transform: none;
  cursor: default;
}

.uh-arrow svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Swiper injects the bullets into .uh-dots */
.uh-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
}

.uh-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  background: rgba(17, 17, 17, 0.2);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  transition: background 200ms ease-out, width 200ms ease-out;
}

.uh-dot.is-active {
  width: 28px;
  background: var(--uh-gold);
}


/* ---------- 6. Trust bar ---------- */

.uh-trust {
  display: none;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  margin-top: 56px;
  overflow: hidden;
  background: var(--uh-line);
  border-radius: 2px;
}

.uh-trust > div {
  padding: 22px 20px;
  text-align: center;
  background: #fff;
}

.uh-trust strong {
  display: block;
  font-size: 30px;
  line-height: 36px;
  font-weight: 700;
}

.uh-trust span {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #555;
}


/* ---------- 7. Responsive ----------
   Cards-per-view is controlled by Swiper breakpoints in js/testimonials.js */

@media (max-width: 768px) {
  .uh-reviews {
    padding: 56px 0 0px;
  }

  .uh-wrap {
    padding: 0 16px;
  }

  .uh-title {
    font-size: 30px;
    line-height: 36px;
  }

  .uh-sub {
    font-size: 16px;
    line-height: 25px;
  }

  .uh-score {
    width: 100%;
  }

  .uh-arrow {
    width: 44px;
    height: 44px;
  }

  .uh-card {
    padding: 24px 22px 26px;
  }

  .uh-card-text {
    font-size: 16px;
    line-height: 26px;
  }

  .uh-trust {
    grid-template-columns: repeat(2, 1fr);
  }

  .uh-trust strong {
    font-size: 24px;
    line-height: 30px;
  }
  .uh-head {
    margin-bottom: 70px;
}
.uh-arrows {
    top: -45px;
    right: 0;
    width: 100%;
}
.main-content .content-left {
    padding-top: 0px;
    padding-bottom: 0px;
}
h1, .section-title {
    font-size: 30px;
    line-height: 40px;
    font-weight: 500;
}
}


/* ---------- 8. Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
  .uh-reviews * {
    transition: none !important;
  }
}


/* =====================================================================
   Why Book With Us page (page-why-book-with-us.php)
   Everything is scoped to .wbwu and prefixed wbwu- so it can't affect
   or be affected by the rest of the theme.
   ===================================================================== */

.wbwu {
  --wb-dark: #2b2b2b;
  --wb-blue: #1b75a8;
  --wb-gold: #f6b53b;
  --wb-gold-dark: #e3a12a;
  --wb-bg: #f6f6f6;
  --wb-text: #3a3a3a;
  --wb-muted: #6b6b6b;
  --wb-line: #e2e2e2;
  --wb-max: 1200px;
  font-family: "Raleway", Arial, sans-serif;
  color: var(--wb-text);
  background: var(--wb-bg);
  line-height: 1.7;
  font-size: 16px;
}
.wbwu *,
.wbwu *::before,
.wbwu *::after { box-sizing: border-box; }
.wbwu img { max-width: 100%; display: block; }
.wbwu a { color: var(--wb-blue); text-decoration: none; }
.wbwu a:hover { text-decoration: underline; }
.wbwu h1,
.wbwu h2,
.wbwu h3 { font-weight: 500; line-height: 1.25; margin: 0 0 .6em; text-transform: none; }
.wbwu h2 { color: var(--wb-blue); font-size: clamp(1.5rem, 2.6vw, 2rem); }
.wbwu h3 { color: var(--wb-dark); font-size: 1.1rem; font-weight: 700; }
.wbwu p { margin: 0 0 1em; }
.wbwu [hidden] { display: none !important; }
/* reset the theme's global blockquote style */
.wbwu blockquote { font-size: inherit; line-height: inherit; color: inherit; max-width: none; margin: 0; padding: 0; border: 0; }
.wbwu-container { max-width: var(--wb-max); margin: 0 auto; padding: 0 16px; }
.wbwu-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Hero (top padding clears the fixed theme header) */
.wbwu-hero {
  position: relative;
  color: #fff;
  text-align: center;
  padding: 200px 16px 76px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  /* default when the page has no Background Image set */
  background-image: linear-gradient(rgba(0,0,0,.38), rgba(0,0,0,.48)), linear-gradient(180deg, #d98f6a 0%, #e9b48f 35%, #c9d6dc 55%, #e9d2bd 100%);
}
.wbwu-eyebrow { text-transform: uppercase; letter-spacing: 2px; font-size: .85rem; margin-bottom: 10px; }
.wbwu .wbwu-hero h1 { color: #fff; font-size: clamp(1.9rem, 4.4vw, 3.1rem); font-weight: 600; text-shadow: 0 2px 8px rgba(0,0,0,.35); max-width: 950px; margin: 0 auto .45em; }
.wbwu .wbwu-lead { font-size: clamp(1rem, 1.6vw, 1.2rem); max-width: 760px; margin: 0 auto 28px; text-shadow: 0 1px 4px rgba(0,0,0,.4); }
.wbwu .wbwu-btn { display: inline-flex; align-items: center; gap: 10px; background: var(--wb-gold); color: #222; padding: 14px 28px; text-transform: uppercase; letter-spacing: 1px; font-weight: 600; font-size: .8rem; line-height: 1.4; border-radius: 2px; }
.wbwu .wbwu-btn:hover { background: var(--wb-gold-dark); text-decoration: none; }
.wbwu-hero-ctas { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* Naples story (QA #3) */
.wbwu-story { background: #fff; border-bottom: 1px solid var(--wb-line); }
.wbwu-story-inner { max-width: 880px; margin: 0 auto; padding: 44px 16px; }
.wbwu-kicker { text-transform: uppercase; letter-spacing: 1.5px; font-size: .78rem; font-weight: 700; color: var(--wb-muted); }
.wbwu .wbwu-story blockquote { margin: 18px 0 0; padding: 16px 20px; border-left: 4px solid var(--wb-gold); background: var(--wb-bg); font-style: italic; }

/* Sub nav (top is set by the script in the template, below the fixed header) */
.wbwu-subnav { background: #fff; border-bottom: 1px solid var(--wb-line); position: -webkit-sticky; position: sticky; top: 0; z-index: 8; }
.wbwu-subnav ul { list-style: none; margin: 0 auto; padding: 0 16px; display: flex; overflow-x: auto; max-width: var(--wb-max); scrollbar-width: none; -ms-overflow-style: none; }
.wbwu-subnav ul::-webkit-scrollbar { display: none; }
.wbwu-subnav li { padding: 0; margin: 0; }
.wbwu .wbwu-subnav a { display: block; padding: 16px 18px; color: #333; text-transform: uppercase; font-size: .85rem; line-height: 1.4; white-space: nowrap; }
.wbwu .wbwu-subnav a:hover,
.wbwu .wbwu-subnav a.is-active { background: var(--wb-dark); color: #fff; text-decoration: none; }

/* Trust strip */
.wbwu-trust { background: #fff; border-bottom: 1px solid var(--wb-line); }
.wbwu-trust ul { list-style: none; margin: 0 auto; padding: 22px 16px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; max-width: var(--wb-max); text-align: center; }
.wbwu-trust li { min-width: 0; overflow-wrap: break-word; }
.wbwu-trust strong { display: block; font-size: 1.45rem; color: var(--wb-blue); font-weight: 700; line-height: 1.2; }
.wbwu-trust span { font-size: .8rem; text-transform: uppercase; letter-spacing: .5px; color: var(--wb-muted); }

.wbwu-breadcrumb { font-size: .85rem; color: var(--wb-muted); padding: 18px 0 0; }
.wbwu-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.wbwu-breadcrumb li + li::before { content: "\203A"; margin-right: 6px; }

/* Layout */
.wbwu-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; padding: 28px 0 60px; }
.wbwu-main section { padding: 28px 0; border-bottom: 1px solid var(--wb-line); }
.wbwu-main section:last-child { border-bottom: 0; }
.wbwu-sidebar { border-left: 1px solid var(--wb-line); padding-left: 40px; }

.wbwu-quick-answer { background: #fff; border-left: 4px solid var(--wb-gold); padding: 22px 24px; margin: 8px 0 18px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.wbwu-label { display: block; text-transform: uppercase; font-size: .75rem; letter-spacing: 1.5px; color: var(--wb-muted); font-weight: 700; margin-bottom: 6px; }
.wbwu .wbwu-quick-answer p { margin: 0; }
.wbwu .wbwu-byline { font-size: .85rem; color: var(--wb-muted); margin-bottom: 6px; }

.wbwu-facts,
.wbwu-fees { width: 100%; border-collapse: collapse; background: #fff; font-size: .95rem; }
.wbwu-facts th,
.wbwu-facts td,
.wbwu-fees th,
.wbwu-fees td { padding: 12px 16px; border-bottom: 1px solid var(--wb-line); text-align: left; vertical-align: top; }
.wbwu-facts th { width: 36%; color: var(--wb-dark); font-weight: 700; background: #fafafa; }
.wbwu-fees thead th { background: var(--wb-dark); color: #fff; font-weight: 600; }
.wbwu-fees td.wbwu-price { font-weight: 700; color: var(--wb-blue); white-space: nowrap; }
.wbwu .wbwu-fine { font-size: .88rem; color: var(--wb-muted); }

/* What you get */
.wbwu-gets { list-style: none; margin: 18px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.wbwu-gets li { background: #fff; padding: 20px 22px; border-top: 3px solid var(--wb-gold); }
.wbwu .wbwu-gets h3 { margin-bottom: .35em; }
.wbwu .wbwu-gets p { margin: 0; font-size: .95rem; }

/* Steps */
.wbwu-steps { list-style: none; margin: 16px 0 0; padding: 0; counter-reset: wbwu-step; }
.wbwu-steps li { position: relative; padding: 0 0 20px 62px; counter-increment: wbwu-step; }
.wbwu-steps li::before { content: counter(wbwu-step); position: absolute; left: 0; top: 0; width: 42px; height: 42px; border-radius: 50%; background: var(--wb-blue); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.wbwu-steps li:not(:last-child)::after { content: ""; position: absolute; left: 20px; top: 46px; bottom: 4px; width: 2px; background: var(--wb-line); }
.wbwu .wbwu-steps h3 { margin: .4em 0 .2em; }
.wbwu .wbwu-steps p { margin: 0; }

/* Compare */
.wbwu-table-wrap { overflow-x: auto; margin-top: 14px; }
.wbwu-compare { width: 100%; border-collapse: collapse; background: #fff; min-width: 540px; font-size: .95rem; }
.wbwu-compare th,
.wbwu-compare td { padding: 12px 14px; border-bottom: 1px solid var(--wb-line); text-align: left; vertical-align: top; }
.wbwu-compare thead th { background: var(--wb-dark); color: #fff; font-weight: 600; }
.wbwu-compare thead th.wbwu-us { background: var(--wb-blue); }
.wbwu-compare td.wbwu-us { background: #f1f8fc; font-weight: 500; }

.wbwu-risk-list,
.wbwu-check-list { list-style: none; padding: 0; margin: 12px 0 18px; }
.wbwu-risk-list li { padding: 10px 0 10px 30px; position: relative; border-bottom: 1px dashed var(--wb-line); }
.wbwu-risk-list li::before { content: "!"; position: absolute; left: 4px; top: 10px; width: 18px; height: 18px; border-radius: 50%; background: #b23b3b; color: #fff; font-size: .75rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.wbwu-callout { background: var(--wb-dark); color: #eee; padding: 22px 24px; border-top: 3px solid var(--wb-gold); }
.wbwu .wbwu-callout h3 { color: #fff; }
.wbwu .wbwu-callout .wbwu-check-list { margin: 0; }
.wbwu-check-list li { padding: 6px 0 6px 28px; position: relative; }
.wbwu-check-list li::before { content: "\2713"; position: absolute; left: 2px; top: 5px; color: var(--wb-gold); font-weight: 700; }

.wbwu-press { columns: 2; column-gap: 32px; padding-left: 18px; margin: 10px 0 0; }
.wbwu-press li { margin-bottom: 6px; break-inside: avoid; }

.wbwu-dest-grid { list-style: none; margin: 16px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.wbwu .wbwu-dest-grid a { display: block; background: #fff; padding: 14px 16px; border: 1px solid var(--wb-line); color: var(--wb-dark); font-weight: 500; height: 100%; }
.wbwu .wbwu-dest-grid a:hover { border-color: var(--wb-blue); color: var(--wb-blue); text-decoration: none; }
.wbwu-dest-grid small { display: block; color: var(--wb-muted); font-weight: 400; }

/* FAQ */
.wbwu-faq details { background: #fff; border: 1px solid var(--wb-line); margin-bottom: 10px; }
.wbwu-faq summary { cursor: pointer; padding: 16px 48px 16px 20px; font-weight: 600; color: var(--wb-dark); list-style: none; position: relative; }
.wbwu-faq summary::-webkit-details-marker { display: none; }
.wbwu-faq summary::after { content: "+"; position: absolute; right: 20px; top: 12px; font-size: 1.4rem; color: var(--wb-blue); font-weight: 400; }
.wbwu-faq details[open] summary::after { content: "\2013"; }
.wbwu-faq details[open] summary { color: var(--wb-blue); }
.wbwu-faq-answer { padding: 0 20px 18px; }
.wbwu .wbwu-faq-answer p:last-child { margin: 0; }

/* Sidebar */
.wbwu-side-card { background: #fff; padding: 24px; margin-bottom: 22px; border-top: 3px solid var(--wb-blue); text-align: center; }
.wbwu .wbwu-side-card h2 { font-size: 1.35rem; color: var(--wb-dark); margin-bottom: .3em; }
.wbwu .wbwu-side-sub { font-size: .95rem; font-weight: 600; color: var(--wb-dark); margin: 0 0 8px; }
.wbwu .wbwu-side-tag { font-size: .95rem; color: var(--wb-blue); font-weight: 600; margin: 0 0 18px; }
.wbwu-nw { white-space: nowrap; }
.wbwu .wbwu-side-card .wbwu-btn { width: 100%; justify-content: center; }
.wbwu .wbwu-side-card .wbwu-fine { margin: 14px 0 0; }
.wbwu-testimonial { background: var(--wb-dark); color: #e6e6e6; padding: 26px 28px; border-top: 4px solid var(--wb-gold); margin: 0 0 22px; }
.wbwu-q { color: var(--wb-gold); font-size: 3rem; line-height: .6; font-family: Georgia, serif; display: block; height: 24px; }
.wbwu .wbwu-testimonial blockquote { margin: 0 0 14px; font-size: .95rem; }
.wbwu-testimonial cite { font-style: normal; font-weight: 700; color: #fff; display: block; }
.wbwu .wbwu-side-heading { text-align: center; font-size: 1.4rem; color: var(--wb-dark); margin: 6px 0 16px; }
.wbwu .wbwu-side-more { display: block; text-align: center; font-weight: 600; margin-bottom: 24px; }

/* Consultation band */
.wbwu-consult {
  /* REPLACE with beach photo: url('/wp-content/uploads/[file].jpg') center/cover */
  background: linear-gradient(110deg, #5d7c49 0%, #9cb48a 30%, #e6e0cf 40%, #4bb3c9 60%, #1c8fb0 100%);
  padding: 60px 16px;
}
.wbwu-consult-box { max-width: 600px; margin-left: auto; margin-right: max(0px, calc((100% - var(--wb-max)) / 2 + 16px)); background: rgba(18,22,26,.9); color: #fff; padding: 32px 34px 36px; }
.wbwu .wbwu-consult-box h2 { color: #fff; font-size: 2rem; }

@media (max-width: 1024px) {
  .wbwu-layout { grid-template-columns: minmax(0, 1fr); }
  .wbwu-sidebar { border-left: 0; padding-left: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
  .wbwu-sidebar .wbwu-side-card,
  .wbwu-sidebar .wbwu-side-heading,
  .wbwu-sidebar .wbwu-side-more { grid-column: 1 / -1; }
  .wbwu-trust ul { grid-template-columns: repeat(3, 1fr); }
  .wbwu-consult-box { margin: 0 auto; }
}
@media (max-width: 768px) {
  .wbwu-hero { padding: 140px 16px 60px; }
}
@media (max-width: 700px) {
  .wbwu-gets,
  .wbwu-dest-grid { grid-template-columns: 1fr; }
  .wbwu-press { columns: 1; }
  .wbwu-sidebar { display: block; }
  .wbwu-trust ul { grid-template-columns: repeat(2, 1fr); }
  .wbwu-consult-box { padding: 24px 20px; }
  .wbwu-fees td.wbwu-price { white-space: normal; }
}



header nav li.menu-item-has-children { position: relative; }

header nav .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 10;
	min-width: 220px;
	background: rgba(17,17,17,.95);
	text-align: left;
}
header nav .sub-menu li { display: block; }
header nav .sub-menu a { display: block; margin: 0; padding: 8px 14px; }

@media only screen and (min-width: 769px) {
	header nav li.menu-item-has-children:hover > .sub-menu,
	header nav li.menu-item-has-children:focus-within > .sub-menu { display: block; }
}

/* Mobile: show submenus nested under the parent */
/* @media only screen and (max-width: 768px) {
	header nav {
		background: rgba(17,17,17,.98);
	}
	header nav .sub-menu {
		display: block;
		position: static;
		min-width: 0;
		margin: 0 0 6px 32px;
		padding: 0;
		background: none;
		border-left: 2px solid rgba(255,255,255,.25);
	}
	header nav .sub-menu li {
		margin: 0;
		padding: 0;
	}
	header nav .sub-menu a {
		padding: 6px 14px;
		font-size: 15px;
		line-height: 1.3;
		text-transform: none;
	}
}

@media only screen and (max-width: 320px) {
	header nav .sub-menu {
		margin-left: 26px;
	}
	header nav .sub-menu a {
		padding: 3px 10px;
		font-size: 13px;
	}
} */

header nav .submenu-toggle { display: none; }

/* Mobile: submenus open and close with the arrow button */
@media only screen and (max-width: 768px) {
	header nav {
		background: rgba(17,17,17,.98);
	}
	header nav .submenu-toggle {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 44px;
		height: 40px;
		padding: 0;
		background: none;
		border: 0;
		color: #fff;
		font-size: 16px;
		cursor: pointer;
	}
	header nav .submenu-toggle i { transition: transform 150ms ease-out; }
	header nav li.is-open > .submenu-toggle i { transform: rotate(180deg); }

	header nav .sub-menu {
		position: static;
		min-width: 0;
		margin: 0 0 6px 32px;
		padding: 0;
		background: none;
		border-left: 2px solid rgba(255,255,255,.25);
	}
	header nav li.is-open > .sub-menu { display: block; }

	header nav .sub-menu li {
		margin: 0;
		padding: 0;
	}
	header nav .sub-menu a {
		padding: 6px 14px;
		font-size: 15px;
		line-height: 1.3;
		text-transform: none;
	}
}

@media only screen and (max-width: 320px) {
	header nav .submenu-toggle { height: 30px; }
	header nav .sub-menu {
		margin-left: 26px;
	}
	header nav .sub-menu a {
		padding: 3px 10px;
		font-size: 13px;
	}
}
