
/* WordPress Fixed Admin Bar Offset for Floating Header */
body.admin-bar #site-header,
body.admin-bar #mobile-menu-overlay {
  top: 32px !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar #site-header,
  body.admin-bar #mobile-menu-overlay {
    top: 46px !important;
  }
}
/* FozDigital London Signature Theme - Dr Filis Ayan Standard */

@font-face {
  font-family: 'Questrial';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/QdVUSTchPBm7nuUeVf7EvCtkm20oJA.woff2') format('woff2');
}

@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/JTUHjIg1_i6t8kCHKm4532VJOt5-QNFgpCtr6Ew7Y3tcoqK5.woff2') format('woff2');
}

:root,
.editor-styles-wrapper,
body {
  --color-navy: 46 64 112;       /* #2E4070 - Deep Navy */
  --color-gold: 212 196 160;     /* #544541 - Sandy Gold */
  --color-slate: 79 93 109;      /* #4F5D6D - Muted Slate */
  --color-white: 255 255 255;    /* #FFFFFF - Pure White */
  --color-midnight: 27 39 74;    /* #1B274A - Deep Midnight Navy */
  --color-offwhite: 253 251 247; /* #FDFBF7 - Warm Off-White Canvas */
  --color-parchment: 245 241 233;/* #F5F1E9 - Soft Parchment Cream */
  --color-terracotta: 46 64 112;
  --color-cream: 253 251 247;
  --color-sand: 245 241 233;
  --color-charcoal: 27 39 74;
  --color-surface: 255 255 255;
  --color-border: 212 196 160;
}

.material-symbols-rounded,
[class*="material-symbols"] {
  font-weight: normal !important;
  font-style: normal !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  display: inline-block !important;
  white-space: nowrap !important;
  word-wrap: normal !important;
  direction: ltr !important;
  -webkit-font-smoothing: antialiased !important;
}

.foz-ba-label,
.foz-label-before,
.foz-label-after {
  position: absolute !important;
  z-index: 20 !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  pointer-events: none !important;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.foz-ba-label.foz-label-before,
.foz-label-before {
  left: 10px !important;
  bottom: 10px !important;
  background-color: rgb(var(--color-slate) / 0.75);
  color: rgba(255, 255, 255, 0.9);
  font-weight: 500;
  box-shadow: none;
}

.foz-ba-label.foz-label-after,
.foz-label-after {
  right: 10px !important;
  bottom: 10px !important;
  background-color: rgb(var(--color-navy));
  color: #ffffff;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(46, 64, 112, 0.4);
}

@layer base {

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: 'Questrial', sans-serif;
    color: rgb(var(--color-navy, 46 64 112));
    font-weight: 400;
    line-height: 1.25;
  }

  h1 {
    font-size: 2.25rem;
    line-height: 1.2;
  }

  h2 {
    font-size: 1.75rem;
    line-height: 1.25;
  }

  h3 {
    font-size: 1.35rem;
    line-height: 1.3;
  }

  h4 {
    font-size: 1.15rem;
  }

  p,
  body {
    font-family: 'Montserrat', sans-serif;
    color: rgb(var(--color-slate, 79 93 109));
    line-height: 1.75;
  }

}

/* Universal WordPress Entry Content Typography System */
.entry-content {
  font-family: 'Montserrat', sans-serif;
  color: rgb(var(--color-slate, 79 93 109));
  font-size: 15px;
  line-height: 1.75;
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-family: 'Questrial', serif, sans-serif;
  color: rgb(var(--color-navy, 46 64 112));
  font-weight: 400;
  line-height: 1.25;
}

.entry-content h2 {
  font-size: 1.75rem;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid rgba(var(--color-gold, 212 196 160), 0.35);
  padding-bottom: 0.5rem;
}

.entry-content h3 {
  font-size: 1.35rem;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

.entry-content h4 {
  font-size: 1.15rem;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}

.entry-content p {
  font-size: 15px;
  margin-bottom: 1.25rem;
  line-height: 1.75;
}

.entry-content p:last-child {
  margin-bottom: 0;
}

.entry-content ul {
  list-style-type: disc !important;
  padding-left: 1.75rem !important;
  margin-top: 0.75rem !important;
  margin-bottom: 1.25rem !important;
}

.entry-content ol {
  list-style-type: decimal !important;
  padding-left: 1.75rem !important;
  margin-top: 0.75rem !important;
  margin-bottom: 1.25rem !important;
}

.entry-content li {
  font-family: 'Montserrat', sans-serif;
  color: rgb(var(--color-slate, 79 93 109));
  font-size: 14.5px !important;
  margin-bottom: 0.5rem !important;
  line-height: 1.7 !important;
}

.entry-content li::marker {
  color: rgb(var(--color-gold, 212 196 160)) !important;
}

.entry-content blockquote,
.entry-content .wp-block-quote {
  border-left: 4px solid rgb(var(--color-midnight, 27 39 74)) !important;
  background-color: rgba(var(--color-midnight, 27 39 74), 0.04) !important;
  padding: 1.25rem 1.5rem !important;
  border-radius: 0 0.75rem 0.75rem 0 !important;
  margin: 1.25rem 0 !important;
  color: rgb(var(--color-midnight, 27 39 74)) !important;
}

.entry-content a {
  color: rgb(var(--color-navy, 46 64 112));
  text-decoration: underline;
  text-decoration-color: rgba(var(--color-gold, 212 196 160), 0.6);
  transition: color 0.2s ease;
}

.entry-content a:hover {
  color: rgb(var(--color-gold, 212 196 160));
}

/* High-Fashion Infinite Marquee Slider for Affiliations */
@keyframes foz-marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

.foz-marquee-track {
  display: flex !important;
  width: max-content !important;
  animation: foz-marquee 35s linear infinite !important;
  will-change: transform;
}

.foz-marquee-track:hover {
  animation-play-state: paused !important;
}


/* WordPress Dynamic Nav Menu Header & Sub-menu Styling */
ul.header-nav-menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 2rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

ul.header-nav-menu > li {
  display: inline-block !important;
  position: relative !important;
  margin: 0 !important;
  padding: 0 !important;
}

ul.header-nav-menu > li + li {
  margin-left: 0 !important;
}

/* Hide duplicate theme-injected SVG arrows & CSS ::after pseudo-elements */
ul.header-nav-menu .ct-icon,
ul.header-nav-menu svg.ct-arrow,
ul.header-nav-menu svg:not(.custom-svg),
ul.header-nav-menu a::after,
ul.header-nav-menu li::after,
ul.header-nav-menu a::before,
ul.header-nav-menu li::before {
  content: none !important;
  display: none !important;
}

ul.header-nav-menu > li > a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  color: #2E4070 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.2em !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

ul.header-nav-menu > li > a:hover {
  color: #544541 !important;
}

/* Button Pill items inside Header Nav Menu */
ul.header-nav-menu > li > a.btn-book,
ul.header-nav-menu > li.btn-book > a,
ul.header-nav-menu > li > a.btn-cta,
ul.header-nav-menu > li.btn-cta > a,
.btn-book {
  color: #FFFFFF !important;
  background-color: #2E4070 !important;
  border-radius: 9999px !important;
  padding: 0.5rem 1.15rem !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.4rem !important;
  transition: all 0.3s ease !important;
}

.btn-gold {
  background-color: #D4C4A0 !important;
  color: #1B274A !important;
  border-radius: 9999px !important;
  padding: 0.85rem 2.25rem !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}

ul.header-nav-menu > li > a.btn-book:hover,
ul.header-nav-menu > li.btn-book > a:hover,
ul.header-nav-menu > li > a.btn-cta:hover,
ul.header-nav-menu > li.btn-cta > a:hover,
.btn-book:hover {
  color: #1B274A !important;
  background-color: #D4C4A0 !important;
  border-color: #D4C4A0 !important;
}

ul.header-nav-menu > li > a.btn-book:hover span,
ul.header-nav-menu > li.btn-book > a:hover span,
.btn-book:hover span {
  color: #1B274A !important;
}

/* Luxury Frosted Glass Mega Menu Panel */
.mega-menu-panel {
  background-color: rgba(253, 251, 247, 0.95) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  box-shadow: 0 30px 60px -12px rgba(27, 39, 74, 0.18) !important;
}

.header-nav-menu .sub-menu {
  position: absolute;
  left: 0;
  top: 100%;
  width: 16rem;
  background-color: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  border-radius: 0.375rem;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
  border: 1px solid #E7E0D2;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
  padding: 0.75rem 0;
  margin: 0;
  list-style: none;
  z-index: 50;
}

.header-nav-menu li:hover>.sub-menu {
  opacity: 1;
  visibility: visible;
}

.header-nav-menu .sub-menu li {
  width: 100%;
  margin: 0 !important;
}

.header-nav-menu .sub-menu a {
  display: block;
  padding: 0.625rem 1.25rem;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #2A1E17;
  transition: all 0.2s ease;
}

.header-nav-menu .sub-menu a:hover {
  background-color: #F2ECE1;
  color: #B8653A !important;
}

hr {
  border: 0;
  height: 1px;
  background-color: rgb(var(--color-gold) / 0.3);
  margin: 2rem 0;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid rgb(var(--color-border));
  border-radius: 6px;
  background-color: #FFFFFF;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  color: rgb(var(--color-navy));
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: rgb(var(--color-gold));
  box-shadow: 0 0 0 3px rgb(var(--color-gold) / 0.2);
}

/* Premium Rank Math Breadcrumbs */
.rank-math-breadcrumb,
#breadcrumbs,
.rank-math-breadcrumb p,
#breadcrumbs p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgb(var(--color-gold)) !important;
  margin: 0 !important;
  padding: 0 !important;
}

.rank-math-breadcrumb a,
#breadcrumbs a {
  color: inherit !important;
  text-decoration: none !important;
  opacity: 0.85;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.rank-math-breadcrumb a:hover,
#breadcrumbs a:hover {
  opacity: 1;
  color: rgb(var(--color-navy)) !important;
}

.rank-math-breadcrumb .separator,
#breadcrumbs .separator {
  margin: 0 0.35rem !important;
  opacity: 0.5;
}

.rank-math-breadcrumb .last,
#breadcrumbs .last,
.rank-math-breadcrumb .last-child,
#breadcrumbs .last-child {
  font-weight: 600 !important;
  opacity: 1;
}

@layer components {

  /* Layout Primitives */
  .alignfull {
    width: 100vw;
    max-width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    box-sizing: border-box;
  }

  .alignwide {
    width: 100%;
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
  }

  /* Typography & Subtitle Separators */
  .hero-title,
  .about-title,
  .page-hero-title,
  .treatment-card-title,
  .story-title {
    font-family: 'Questrial', serif, sans-serif;
    color: #2E4070;
    font-weight: 400;
  }

  .hero-subtitle,
  .about-subtitle,
  .page-hero-subtitle,
  .subtitle {
    font-family: 'Questrial', serif, sans-serif;
    color: #544541;
    font-size: 13px;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 400;
  }

  .hero-description,
  .about-content,
  .page-hero-description,
  .treatment-card-desc,
  .story-text {
    font-family: 'Montserrat', sans-serif;
    color: #4F5D6D;
    line-height: 1.75;
  }

  .subtitle-wrap,
  .hero-subtitle-wrap,
  .about-subtitle-wrap {
    display: inline-flex;
    align-items: center;
    gap: 12px;
  }

  .subtitle-line {
    display: inline-block !important;
    height: 1px !important;
    width: 24px !important;
    background-color: #544541;
    flex-shrink: 0;
  }

  /* Dark Footer Overrides */
  footer h1,
  footer h2,
  footer h3,
  footer h4,
  footer h5,
  footer h6,
  footer .foz-footer-cta-title,
  footer .foz-footer-col-title {
    font-family: 'Questrial', serif, sans-serif;
  }

  footer .foz-footer-cta-title {
    color: #FFFFFF;
  }

  footer .foz-footer-cta-subtitle {
    color: rgba(255, 255, 255, 0.8);
  }

  footer .foz-footer-desc {
    color: rgba(255, 255, 255, 0.75);
  }

  footer .foz-footer-col-title {
    color: rgb(var(--color-gold));
  }

  /* Buttons Component System - Site-wide Luxury Pill & Gold Hover Standardization */
  .btn-primary,
  .btn-gold,
  .btn-outline,
  .wp-block-button__link,
  a.btn-primary,
  a.btn-gold,
  a.btn-outline {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 13.5px 28px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.18em !important;
    border-radius: 9999px !important;
    transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    text-decoration: none !important;
    cursor: pointer !important;
  }

  /* Primary Navy Button */
  .btn-primary,
  .wp-block-button__link,
  a.btn-primary {
    color: #FFFFFF !important;
    background-color: #2E4070 !important;
    border: 2px solid #2E4070 !important;
    box-shadow: 0 4px 14px rgba(46, 64, 112, 0.2) !important;
  }

  .btn-primary span,
  .wp-block-button__link span,
  a.btn-primary span {
    color: #FFFFFF !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: color 0.3s ease !important;
  }

  .btn-primary:hover,
  .wp-block-button__link:hover,
  a.btn-primary:hover {
    background-color: #D4C4A0 !important;
    border-color: #D4C4A0 !important;
    color: #1B274A !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(212, 196, 160, 0.45) !important;
  }

  .btn-primary:hover span,
  .wp-block-button__link:hover span,
  a.btn-primary:hover span {
    color: #1B274A !important;
  }

  /* Outlined Button */
  .btn-outline,
  a.btn-outline {
    color: #2E4070 !important;
    background-color: transparent !important;
    border: 2px solid #2E4070 !important;
    box-shadow: none !important;
  }

  .btn-outline span,
  a.btn-outline span {
    color: #2E4070 !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: color 0.3s ease !important;
  }

  .btn-outline:hover,
  a.btn-outline:hover {
    background-color: #D4C4A0 !important;
    border-color: #D4C4A0 !important;
    color: #1B274A !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(212, 196, 160, 0.45) !important;
  }

  .btn-outline:hover span,
  a.btn-outline:hover span {
    color: #1B274A !important;
  }

  /* Modular Dynamic Button Icon Engine */
  .btn-primary:not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  .btn-gold:not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  .btn-outline:not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  .wp-block-button__link:not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  a.btn-primary:not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  a.btn-gold:not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  a.btn-outline:not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after {
    content: attr(data-icon);
    font-family: 'Material Symbols Rounded' !important;
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none !important;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease;
  }

  .btn-primary:not([data-icon]):not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  .btn-gold:not([data-icon]):not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  .btn-outline:not([data-icon]):not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  .wp-block-button__link:not([data-icon]):not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  a.btn-primary:not([data-icon]):not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  a.btn-gold:not([data-icon]):not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after,
  a.btn-outline:not([data-icon]):not(.no-icon):not(:has(.material-symbols-rounded)):not(:has(svg))::after {
    content: 'chevron_right';
  }

  .btn-primary:hover::after,
  .btn-gold:hover::after,
  .btn-outline:hover::after,
  .wp-block-button__link:hover::after,
  a.btn-primary:hover::after,
  a.btn-gold:hover::after,
  a.btn-outline:hover::after {
    transform: translateX(4px);
  }

  /* Gold Button */
  .btn-gold,
  a.btn-gold {
    color: #1B274A !important;
    background-color: #D4C4A0 !important;
    border: 2px solid #D4C4A0 !important;
    box-shadow: 0 4px 14px rgba(212, 196, 160, 0.25) !important;
  }

  .btn-gold span,
  a.btn-gold span {
    color: #1B274A !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: color 0.3s ease !important;
  }

  .btn-gold:hover,
  a.btn-gold:hover {
    background-color: #FDFBF7 !important;
    border-color: #FDFBF7 !important;
    color: #1B274A !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 25px rgba(253, 251, 247, 0.45) !important;
  }

  .btn-gold:hover span,
  a.btn-gold:hover span {
    color: #1B274A !important;
  }

  /* Global Button Hover Universal Icon & Span Color Inheritance */
  .btn-primary:hover *,
  .btn-outline:hover *,
  .btn-gold:hover *,
  .btn-book:hover *,
  .btn-cta:hover *,
  .wp-block-button__link:hover *,
  a.btn-primary:hover *,
  a.btn-outline:hover *,
  a.btn-gold:hover *,
  a.btn-book:hover * {
    color: #1B274A !important;
  }

  /* Treatment Cards Carousel Track Unclipped Full-Width Bleed System */
  .foz-treatments-carousel-track {
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    overflow-x: auto !important;
    padding-top: 1.25rem !important;
    padding-bottom: 3.5rem !important;
    padding-left: max(1.25rem, calc((100vw - 1200px) / 2 + 1.25rem)) !important;
    padding-right: max(1.25rem, calc((100vw - 1200px) / 2 + 1.25rem)) !important;
    margin-bottom: -1.75rem !important;
    box-sizing: border-box !important;
  }

  .treatment-card-item {
    box-shadow: 0 10px 25px -5px rgba(27, 39, 74, 0.08), 0 8px 10px -6px rgba(27, 39, 74, 0.04) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    will-change: transform, box-shadow;
  }

  .treatment-card-item:hover {
    transform: translateY(-8px) !important;
    box-shadow: 0 22px 40px -8px rgba(27, 39, 74, 0.16), 0 10px 16px -6px rgba(27, 39, 74, 0.1) !important;
  }

  @media (max-width: 640px) {
    .btn-outline,
    a.btn-outline {
      width: 100%;
      max-width: 360px;
      padding: 12px 14px;
      font-size: 10.5px;
      letter-spacing: 0.1em;
      gap: 8px;
    }
    .btn-outline span,
    a.btn-outline span {
      white-space: nowrap;
    }
  }
}

/* Header hover and dropdown styles are handled by Tailwind utility classes natively. */

@layer utilities {
  .bg-cream {
    background-color: rgb(var(--color-cream));
  }

  .bg-navy {
    background-color: rgb(var(--color-navy));
  }

  .bg-gold {
    background-color: rgb(var(--color-gold));
  }

  .text-navy {
    color: rgb(var(--color-navy));
  }

  .text-gold {
    color: rgb(var(--color-gold));
  }

  .text-slate {
    color: rgb(var(--color-slate));
  }

  .rotate-180 {
    transform: rotate(180deg);
  }

  .no-scrollbar::-webkit-scrollbar,
  .no-scrollbar::-webkit-scrollbar-thumb,
  .no-scrollbar::-webkit-scrollbar-track {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
  }

  .no-scrollbar {
    -ms-overflow-style: none !important;
    scrollbar-width: none !important;
  }
}

/* Universal JavaScript Scroll Motion Reveal Classes */
.foz-scroll-reveal {
  opacity: 0 !important;
  transform: translateY(32px) !important;
  transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1), transform 0.85s cubic-bezier(0.16, 1, 0.3, 1) !important;
  will-change: opacity, transform;
}

.foz-scroll-reveal.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.foz-delay-1 { transition-delay: 0.10s !important; }
.foz-delay-2 { transition-delay: 0.20s !important; }
.foz-delay-3 { transition-delay: 0.30s !important; }
.foz-delay-4 { transition-delay: 0.40s !important; }



/* Universal Gutenberg Block Editor Styles (Applies universally across all CPTs: Page, Post, Treatments, Services) */
.editor-styles-wrapper {
  font-family: var(--wp--preset--font-family--body, sans-serif) !important;
  line-height: 1.65;
  padding: 40px 60px !important;
  box-sizing: border-box;
}

.editor-post-title__block,
.editor-post-title__input,
.wp-block-post-title,
.edit-post-visual-editor__post-title-wrapper h1,
.editor-styles-wrapper .editor-post-title__input {
  font-family: var(--wp--preset--font-family--heading, serif) !important;
  color: var(--wp--preset--color--navy, #1B274A) !important;
  font-size: 2.5rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin-top: 1rem !important;
  margin-bottom: 2rem !important;
}

.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6,
.editor-styles-wrapper .wp-block-heading {
  font-family: var(--wp--preset--font-family--heading, serif) !important;
  color: var(--wp--preset--color--navy, #1B274A);
  font-weight: 600;
  line-height: 1.25;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.editor-styles-wrapper p,
.editor-styles-wrapper .wp-block-paragraph,
.editor-styles-wrapper .block-editor-block-list__block {
  font-family: var(--wp--preset--font-family--body, sans-serif) !important;
  font-size: var(--wp--preset--font-size--medium, 1rem);
  line-height: 1.65;
  margin-bottom: 1.25rem;
}

.editor-styles-wrapper a {
  color: var(--wp--preset--color--navy, #2E4070);
}






/* Usercentrics Privacy Policy Table Fix for 5th Column & Horizontal Scroll */
.uc-privacy-policy,
.privacy-table-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin-top: 1.5rem !important;
    margin-bottom: 2rem !important;
}

.uc-privacy-policy table,
.privacy-table {
    width: 100% !important;
    min-width: 1000px !important;
    table-layout: auto !important;
    border-collapse: collapse !important;
}

.uc-privacy-policy th,
.privacy-table th,
.uc-privacy-policy td,
.privacy-table td {
    vertical-align: top !important;
    padding: 12px 16px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

/* Ensure 5th Column (Privacy Policy Link) never squishes vertically */
.uc-privacy-policy th:last-child,
.privacy-table th:last-child,
.uc-privacy-policy td:last-child,
.privacy-table td:last-child {
    min-width: 180px !important;
    width: 180px !important;
    white-space: normal !important;
    word-break: break-all !important;
}

/* Blog Content Typography (.entry-content) */
.entry-content {
    font-family: var(--wp--preset--font-family--body, Montserrat, sans-serif);
    color: #2E4070;
    font-size: 1.05rem;
    line-height: 1.8;
}
.entry-content p {
    margin-top: 0;
    margin-bottom: 1.5rem;
    color: #2E4070;
}
.entry-content h1 {
    font-family: var(--wp--preset--font-family--heading, Questrial, sans-serif);
    color: #1B274A;
    font-size: 2.25rem;
    line-height: 1.25;
    font-weight: 500;
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
}
.entry-content h2,
.entry-content .wp-block-heading:is(h2) {
    font-family: var(--wp--preset--font-family--heading, Questrial, sans-serif);
    color: #1B274A;
    font-size: 1.85rem;
    line-height: 1.3;
    font-weight: 500;
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(180, 150, 110, 0.25);
}
.entry-content h3,
.entry-content .wp-block-heading:is(h3) {
    font-family: var(--wp--preset--font-family--heading, Questrial, sans-serif);
    color: #1B274A;
    font-size: 1.5rem;
    line-height: 1.35;
    font-weight: 500;
    margin-top: 2rem;
    margin-bottom: 1rem;
}
.entry-content h4,
.entry-content .wp-block-heading:is(h4) {
    font-family: var(--wp--preset--font-family--heading, Questrial, sans-serif);
    color: #1B274A;
    font-size: 1.25rem;
    line-height: 1.4;
    font-weight: 600;
    margin-top: 1.75rem;
    margin-bottom: 0.75rem;
}
.entry-content h5,
.entry-content h6 {
    font-family: var(--wp--preset--font-family--heading, Questrial, sans-serif);
    color: #1B274A;
    font-size: 1.1rem;
    line-height: 1.4;
    font-weight: 600;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}
.entry-content blockquote,
.entry-content .wp-block-quote {
    border-left: 4px solid #D4C4A0;
    background-color: rgba(245, 241, 233, 0.6);
    padding: 1.25rem 1.75rem;
    border-radius: 0 1rem 1rem 0;
    margin: 2rem 0;
    font-style: italic;
    color: #1B274A;
}
.entry-content ul,
.entry-content ol {
    margin-top: 1rem;
    margin-bottom: 1.5rem;
    padding-left: 1.5rem;
}
.entry-content ul li,
.entry-content ol li {
    margin-bottom: 0.5rem;
    line-height: 1.75;
}
.entry-content ul li::marker {
    color: #D4C4A0;
}
.entry-content img,
.entry-content figure {
    border-radius: 1.25rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
}


/* Dedicated Scrolled Header Glassmorphism Blur (100% Cross-Browser & Minifier Safe) */
.foz-header-scrolled {
    background-color: rgba(247, 245, 240, 0.88) !important;
    backdrop-filter: blur(24px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(24px) saturate(180%) !important;
    border-bottom: 1px solid rgba(212, 196, 160, 0.5) !important;
    box-shadow: 0 4px 20px -2px rgba(46, 64, 112, 0.08) !important;
}
