/*
====================================================
Executive Security Advisors — Global Styles
====================================================
*/

/* ===== CSS Variables ===== */
:root {
  --esa-link-hover: #7fd7ff;
}

/* ===== Z-index stacking ===== */
#page,
.site,
.site-content,
header,
main,
footer {
  position: relative;
  z-index: 1;
}

/* ===== Remove GeneratePress white containers ===== */
.site-content,
.inside-article,
.inside-page-header,
.inside-header,
.inside-navigation,
.footer-widgets,
.site-info {
  background: transparent !important;
}

/* ===== Footer ===== */
.site-info,
.site-info a {
  color: rgba(255,255,255,0.78) !important;
}
.site-info {
  display: none !important;
}

/* ===== Global branding & nav ===== */
.site-branding {
  display: flex;
  align-items: center;
  gap: 12px;
}

.site-branding,
.site-branding * {
  color: #0f1720 !important;
}

.main-title a,
.site-title a,
.site-branding .main-title a,
.site-branding .site-title a {
  color: #0f1720 !important;
  text-decoration: none !important;
}

.main-title {
  font-weight: 600;
  letter-spacing: 0.5px;
}

/* ===== Logo size ===== */
.site-logo img,
img.custom-logo,
.custom-logo-link img,
.wp-block-site-logo img {
  max-height: 72px !important;
  height: auto !important;
  width: auto !important;
  max-width: 100% !important;
  display: block;
}

.site-branding .site-logo,
.site-branding .wp-block-site-logo,
.site-branding .custom-logo-link {
  flex: 0 0 auto !important;
  max-height: 72px !important;
}

/* ===== Prevent horizontal scroll ===== */
body {
  overflow-x: hidden;
}

/* ===== Hide homepage page title ===== */
.home .entry-title {
  display: none !important;
}

.site-main {
  margin-top: 0 !important;
}

/* ===== HOME — White header ===== */
.home .site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  z-index: 999;
}

.home .site-header .grid-container {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
  width: 100% !important;
}

.admin-bar.home .site-header { top: 32px; }
@media (max-width: 782px) {
  .admin-bar.home .site-header { top: 46px; }
}

/* ===== HOME — Header layout ===== */
.home .site-header .inside-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 0 !important;
}

.home .site-branding { margin-right: 24px; }
.home .main-navigation { margin-left: auto; }

/* ===== HOME — Header text colors ===== */
.home .site-branding,
.home .site-branding *,
.home .main-title a,
.home .main-title a:hover,
.home .site-logo a,
.home .site-branding a {
  color: #0f1720 !important;
  text-shadow: none !important;
}

/* ===== HOME — Nav links ===== */
.home .main-navigation .main-nav ul li a {
  color: #0f1720 !important;
  text-shadow: none !important;
  padding: 8px 12px;
  border-radius: 999px;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

.home .main-navigation .main-nav ul li a:hover {
  color: #7fd7ff !important;
  background: transparent;
  transform: translateY(-1px);
}

/* ===== Nav dropdown — dark executive style ===== */
.main-navigation ul ul {
  background: rgba(7, 18, 27, 0.95) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 16px rgba(0,0,0,0.25) !important;
}

.main-navigation ul ul li a {
  color: #ffffff !important;
}

.main-navigation ul ul li a:hover {
  color: #7fd7ff !important;
}

/* ===== HOME — Full-width layout ===== */
.home .grid-container,
.home .site-content,
.home .inside-article,
.home .content-area,
.home .site-main {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home #right-sidebar {
  display: none !important;
}

/* ===== HOME — Hero full-bleed ===== */
.home .wp-block-cover,
.home .esa-hero-cover {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.home .entry-content > .wp-block-cover:first-child {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ===== HOME — Hero inner container ===== */
.home .esa-hero-cover .wp-block-cover__inner-container {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
  padding-top: 80px !important;
}

/* ===== Hero card glass effect ===== */
.wp-block-cover.esa-hero-cover .esa-hero-card {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 30px 90px rgba(0,0,0,.35);
}

/* ===== Hero pointer events fix ===== */
.wp-block-cover.esa-hero-cover .wp-block-cover__background,
.wp-block-cover.esa-hero-cover .wp-block-cover__image-background,
.wp-block-cover.esa-hero-cover::before,
.wp-block-cover.esa-hero-cover::after {
  pointer-events: none !important;
}

/* ===== Hero CTA button hover ===== */
.wp-block-cover.esa-hero-cover .wp-block-button__link.wp-element-button {
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.wp-block-cover.esa-hero-cover .wp-block-button__link.wp-element-button:hover,
.wp-block-cover.esa-hero-cover .wp-block-button__link.wp-element-button:focus,
.wp-block-cover.esa-hero-cover .wp-block-button__link.wp-element-button:focus-visible {
  background-color: #7fd7ff !important;
  border-color: #7fd7ff !important;
  color: #0f1e2e !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.25) !important;
  transform: translateY(-1px);
}
/* ===== Credentials bar ===== */
.home .esa-credentials-bar {
  padding: 28px 24px !important;
}

.home .esa-credentials-bar p {
  color: rgba(255, 255, 255, 0.78) !important;
  font-size: 13px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  line-height: 2 !important;
  text-align: center !important;
  margin: 0 !important;
}

/* ===== ABOUT PAGE ===== */
.page-id-463 .entry-title {
  display: none !important;
}

/* About page role meta styling */
.esa-role-meta {
  color: #575760 !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  margin-bottom: 4px !important;
}

/* About page role descriptor */
.esa-role-descriptor {
  color: #575760 !important;
  font-style: italic !important;
  font-size: 14px !important;
  margin-bottom: 12px !important;
}

/* Credentials section on About page */
.esa-about-credentials {
  background: #07121b !important;
  border-top: 2px solid #c9a84c !important;
  padding: 60px 24px !important;
}

.esa-about-credentials h2,
.esa-about-credentials h3,
.esa-about-credentials p {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* About credentials full width */
.page-id-463 .esa-about-credentials {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  padding-left: calc((100vw - 1200px) / 2) !important;
  padding-right: calc((100vw - 1200px) / 2) !important;
}

/* About page CTA button */
.page-id-463 .wp-block-button__link {
  background-color: transparent !important;
  border: 2px solid #0f1e2e !important;
  color: #0f1e2e !important;
}

.page-id-463 .wp-block-button__link:hover {
  background-color: #7fd7ff !important;
  border-color: #7fd7ff !important;
  color: #0f1e2e !important;
}

/* ===== INSIGHTS PAGE ===== */
.page-id-499 .entry-title {
  display: none !important;
}

/* Brief card styling */
.esa-brief-card {
  border-top: 2px solid #0f1720 !important;
  padding-top: 24px !important;
  padding-bottom: 24px !important;
}

.esa-brief-card-tag {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #c9a84c !important;
  margin-bottom: 8px !important;
}

.esa-brief-card-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #0f1720 !important;
  margin-bottom: 8px !important;
}

.esa-brief-card-desc {
  font-size: 14px !important;
  color: #575760 !important;
  line-height: 1.6 !important;
  margin-bottom: 16px !important;
}

/* Notify button style */
.esa-notify-btn .wp-block-button__link {
  background: transparent !important;
  border: 1px solid #0f1720 !important;
  color: #0f1720 !important;
  font-size: 13px !important;
  padding: 8px 20px !important;
}

.esa-notify-btn .wp-block-button__link:hover {
  background: #0f1720 !important;
  color: #ffffff !important;
}

/* About credentials full width — reuse for Insights email capture */
.page-id-499 .esa-email-capture {
  background: #07121b !important;
  border-top: 2px solid #c9a84c !important;
  padding: 60px 24px !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  width: 100vw !important;
  max-width: 100vw !important;
  text-align: center !important;
}

.page-id-499 .esa-email-capture h2,
.page-id-499 .esa-email-capture p {
  color: rgba(255, 255, 255, 0.88) !important;
}

.page-id-499 .esa-brief-grid h2 {
  border-top: none !important;
}

/* ===== SERVICES PAGE ===== */
.page-id-533 .entry-title {
  display: none !important;
}

.esa-service-tag {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #c9a84c !important;
  margin-bottom: 8px !important;
}

.esa-service-block {
  border-top: 2px solid #0f1720 !important;
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

/* Service anchor offset for fixed header */
.esa-service-anchor {
  display: block !important;
  height: 80px !important;
  margin-top: -80px !important;
  visibility: hidden !important;
}

/* Services page buttons */
.page-id-533 .wp-block-button__link {
  background-color: transparent !important;
  border: 2px solid #0f1e2e !important;
  color: #0f1e2e !important;
}

.page-id-533 .wp-block-button__link:hover {
  background-color: #7fd7ff !important;
  border-color: #7fd7ff !important;
  color: #0f1e2e !important;
}

/* Services page closing CTA spacing */
.page-id-533 .esa-closing-cta {
  margin-top: 60px !important;
}

/* ===== FOOTER ===== */
.site-footer {
  background-color: #0f1720;
  padding: 40px 20px;
  text-align: center;
}

.footer-inner {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.footer-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.footer-links a {
  color: #c9a84c;
  text-decoration: none;
  font-family: 'EB Garamond', serif;
  font-size: 1rem;
  letter-spacing: 0.04em;
  transition: color 0.2s ease;
}

.footer-links a:hover {
  color: #7fd7ff;
}

.footer-copyright {
  color: #7a8a99;
  font-family: 'EB Garamond', serif;
  font-size: 0.875rem;
  margin: 0;
}

/* ===== INTERIOR PAGES — Match homepage header ===== */
body:not(.home) .site-header {
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}

body:not(.home) .site-header .inside-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 0 !important;
}

body:not(.home) .main-navigation .main-nav ul li a {
  color: #0f1720 !important;
  padding: 8px 12px;
  border-radius: 999px;
  transition: background-color .18s ease, color .18s ease, transform .18s ease;
}

body:not(.home) .main-navigation .main-nav ul li a:hover {
  color: #7fd7ff !important;
  transform: translateY(-1px);
}

/* ===== HOME — Force header height to match interior pages ===== */
.home .site-header .inside-header {
  min-height: 84px !important;
}

/* ===== HOME — Remove grey tint from header background ===== */
.home .site-header {
  background: #ffffff !important;
}

/* ===== Logo size — consistent across all pages ===== */
.site-logo img,
img.custom-logo,
.custom-logo-link img,
.wp-block-site-logo img {
  max-height: 72px !important;
  height: 72px !important;
  width: auto !important;
  max-width: 100% !important;
  display: block;
}

.site-branding .site-logo,
.site-branding .wp-block-site-logo,
.site-branding .custom-logo-link {
  flex: 0 0 auto !important;
  max-height: 72px !important;
}

/* ===== PRIVACY STATEMENT PAGE ===== */
.page-id-565 .entry-title {
  display: none !important;
}

.page-id-565 .inside-article {
  max-width: 800px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 60px 40px !important;
}

.page-id-565 .inside-article h1,
.page-id-565 .inside-article h2 {
  font-family: 'Playfair Display', serif !important;
  color: #0f1720 !important;
  margin-bottom: 8px !important;
}

.page-id-565 .inside-article p {
  font-family: 'EB Garamond', serif !important;
  font-size: 1rem !important;
  color: #575760 !important;
  line-height: 1.8 !important;
  margin-bottom: 20px !important;
}

.page-id-565 .inside-article strong {
  color: #0f1720 !important;
  font-weight: 600 !important;
}

/* ===== vCISO LANDING PAGE ===== */
.page-id-597 .entry-title {
  display: none !important;
}

/* Hero block */
.page-id-597 .wp-block-group:nth-child(1) {
  padding: 80px 40px 60px !important;
  text-align: center !important;
}

.page-id-597 .wp-block-group:nth-child(1) h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  color: #ffffff !important;
  max-width: 900px !important;
  margin: 0 auto 24px !important;
  line-height: 1.2 !important;
}

.page-id-597 .wp-block-group:nth-child(1) p {
  color: #ffffff !important;
  max-width: 700px !important;
  margin: 0 auto 32px !important;
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
}

/* Hero buttons */
.page-id-597 .wp-block-group:nth-child(1) .wp-block-button:first-of-type .wp-block-button__link {
  background-color: #c9a84c !important;
  color: #0f1720 !important;
  border: none !important;
  padding: 14px 28px !important;
  font-weight: 600 !important;
}

.page-id-597 .wp-block-group:nth-child(1) .wp-block-button:first-of-type .wp-block-button__link:hover {
  background-color: #7fd7ff !important;
  color: #0f1720 !important;
}

.page-id-597 .wp-block-group:nth-child(1) .wp-block-button:last-of-type .wp-block-button__link {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
  padding: 14px 28px !important;
}

.page-id-597 .wp-block-group:nth-child(1) .wp-block-button:last-of-type .wp-block-button__link:hover {
  border-color: #7fd7ff !important;
  color: #7fd7ff !important;
}

/* Credentials bar */
.page-id-597 .wp-block-group:nth-child(2) {
  padding: 24px 40px !important;
  text-align: center !important;
}

.page-id-597 .wp-block-group:nth-child(2) p {
  color: rgba(255,255,255,0.7) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

/* Services section */
.page-id-597 .wp-block-group:nth-child(3) {
  padding: 80px 40px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.page-id-597 .wp-block-group:nth-child(3) h2 {
  font-family: 'Playfair Display', serif !important;
  color: #0f1720 !important;
  margin-bottom: 16px !important;
}

.page-id-597 .wp-block-group:nth-child(3) h3 {
  font-family: 'Playfair Display', serif !important;
  color: #0f1720 !important;
  font-size: 1.2rem !important;
  margin-bottom: 12px !important;
}

.page-id-597 .wp-block-group:nth-child(3) p {
  color: #575760 !important;
  line-height: 1.7 !important;
}

/* Featured brief section */
.page-id-597 .wp-block-group:nth-child(4) {
  padding: 80px 40px !important;
  text-align: center !important;
}

.page-id-597 .wp-block-group:nth-child(4) h2 {
  font-family: 'Playfair Display', serif !important;
  color: #0f1720 !important;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  margin-bottom: 20px !important;
}

.page-id-597 .wp-block-group:nth-child(4) p {
  color: #575760 !important;
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.7 !important;
}

.page-id-597 .wp-block-group:nth-child(4) .wp-block-button__link {
  background-color: #0f1720 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 14px 28px !important;
}

.page-id-597 .wp-block-group:nth-child(4) .wp-block-button__link:hover {
  background-color: #c9a84c !important;
  color: #0f1720 !important;
}

/* Let's Talk CTA section */
.page-id-597 .wp-block-group:nth-child(5) {
  padding: 80px 40px !important;
  text-align: center !important;
}

.page-id-597 .wp-block-group:nth-child(5) h2 {
  font-family: 'Playfair Display', serif !important;
  color: #ffffff !important;
  font-size: 2.5rem !important;
  margin-bottom: 20px !important;
}

.page-id-597 .wp-block-group:nth-child(5) p {
  color: rgba(255,255,255,0.85) !important;
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 32px !important;
  line-height: 1.7 !important;
}

.page-id-597 .wp-block-group:nth-child(5) .wp-block-button__link {
  background-color: #c9a84c !important;
  color: #0f1720 !important;
  border: none !important;
  padding: 16px 32px !important;
  font-weight: 600 !important;
}

.page-id-597 .wp-block-group:nth-child(5) .wp-block-button__link:hover {
  background-color: #7fd7ff !important;
  color: #0f1720 !important;
}

/* Fix hero bottom padding */
.page-id-597 .wp-block-group:nth-child(1) {
  padding-bottom: 60px !important;
}

/* Fix outline button */
.page-id-597 .wp-block-buttons .wp-block-button:last-child .wp-block-button__link {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}

.page-id-597 .wp-block-buttons .wp-block-button:last-child .wp-block-button__link:hover {
  border-color: #7fd7ff !important;
  color: #7fd7ff !important;
}

/* Reduce services section bottom padding */
.page-id-597 .wp-block-group:nth-child(3) {
  padding-bottom: 40px !important;
}

/* Center the services section text */
.page-id-597 .wp-block-group:nth-child(3) > .wp-block-columns {
  margin-top: 40px !important;
}

/* Remove excess space in services section */
.page-id-597 .wp-block-group:nth-child(3) {
  padding-bottom: 20px !important;
}

/* Remove excess space above featured brief */
.page-id-597 .wp-block-group:nth-child(4) {
  padding-top: 60px !important;
}

/* Fix Request This Brief button */
.page-id-597 .wp-block-group:nth-child(4) .wp-block-button__link {
  background-color: #0f1720 !important;
  color: #ffffff !important;
  border: 2px solid #0f1720 !important;
  padding: 14px 28px !important;
}

.page-id-597 .wp-block-group:nth-child(4) .wp-block-button__link:hover {
  background-color: #c9a84c !important;
  border-color: #c9a84c !important;
  color: #0f1720 !important;
}

/* Fix Schedule button to gold */
.page-id-597 .wp-block-group:nth-child(5) .wp-block-button__link {
  background-color: #c9a84c !important;
  color: #0f1720 !important;
  border: none !important;
  padding: 16px 32px !important;
  font-weight: 600 !important;
}

/* Tighten featured brief bottom spacing */
.page-id-597 .wp-block-group:nth-child(4) {
  padding-bottom: 60px !important;
}

/* Force Request This Brief button - dark default state */
.page-id-597 .wp-block-group:nth-child(4) .wp-block-button__link,
.page-id-597 .wp-block-group:nth-child(4) .wp-block-button__link:not(:hover) {
  background-color: #0f1720 !important;
  color: #ffffff !important;
  border: 2px solid #0f1720 !important;
  opacity: 1 !important;
}

/* Force Schedule button - gold default state */
.page-id-597 .wp-block-group:nth-child(5) .wp-block-button__link,
.page-id-597 .wp-block-group:nth-child(5) .wp-block-button__link:not(:hover) {
  background-color: #c9a84c !important;
  color: #0f1720 !important;
  border: none !important;
  opacity: 1 !important;
}