/*
 * Executive Salon Theme
 * Private club meets modern boardroom — calm, high-trust, premium.
 * Completely self-contained - does not depend on main application styles.
 */

/* ===== Google Fonts Import ===== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Inter:wght@400;500;600&display=swap');

/* ===== CSS Base (scoped) ===== */
.themed-page {
  box-sizing: border-box;
}

.themed-page *,
.themed-page *::before,
.themed-page *::after {
  box-sizing: inherit;
}

/* ===== CSS Variables ===== */
:root {
  /* Light palette */
  --es-paper: #F6F3EE;
  --es-ink: #0B1220;
  --es-slate: #3B4453;
  --es-gold: #B08D57;
  --es-gold-hover: #9A7A4A;
  --es-border: #E7E0D6;
  --es-border-hover: #D4CBB8;
  --es-surface: #FFFDF9;
  --es-light-surface: #F0EBE3;
  --es-placeholder: #A09A8F;
  --es-success: #4A7C59;
  --es-error: #9B5B5B;

  /* Typography */
  --es-font-heading: 'Cormorant Garamond', 'Garamond', 'Georgia', serif;
  --es-font-body: 'Inter', 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --es-font-size-base: 17px;
  --es-line-height: 1.75;
}

/* ===== Page Base ===== */
.themed-page {
  font-family: var(--es-font-body);
  font-size: var(--es-font-size-base);
  line-height: var(--es-line-height);
  font-variant-numeric: tabular-nums;
  background-color: var(--es-paper);
  color: var(--es-ink);
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ===== Global Layout Overrides (Themed Full Page) ===== */
.themed-page .tw-site-header {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
}

.themed-page .tw-site-header,
.themed-page .tw-site-header a,
.themed-page .tw-site-header .tw-site-logo-text {
  color: var(--es-ink) !important;
}

.themed-page .tw-site-header .tw-site-logo img {
  max-height: 2.1rem !important;
  width: 46vw;
  max-width: 220px !important;
}

.themed-page .tw-site-header .tw-tab-link,
.themed-page .tw-site-header .tw-tab-link-active,
.themed-page .tw-site-header .tw-tab-link:visited,
.themed-page .tw-site-header .tw-tab-link:hover,
.themed-page .tw-site-header .tw-tab-link:focus {
  color: var(--es-ink) !important;
}

.themed-page .tw-site-header .tw-button,
.themed-page .tw-site-header .tw-button-low-profile-white,
.themed-page .tw-site-header .tw-button-outline {
  color: var(--es-ink) !important;
}

.themed-page .tw-site-header .tw-button,
.themed-page .tw-site-header .tw-button-low-profile-white {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
  box-shadow: none !important;
}

.themed-page .tw-site-header .tw-button-outline {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
}

.themed-page .tw-site-header summary a,
.themed-page .tw-site-header summary a:visited,
.themed-page .tw-site-header summary a:hover,
.themed-page .tw-site-header summary a:focus {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
  color: var(--es-ink) !important;
}

.themed-page .tw-site-header summary a span {
  color: var(--es-slate) !important;
}

.themed-page .tw-site-header a.tw-nav-mobile,
.themed-page .tw-site-header a.tw-nav-mobile:visited,
.themed-page .tw-site-header a.tw-nav-mobile:hover,
.themed-page .tw-site-header a.tw-nav-mobile:focus {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
  color: var(--es-ink) !important;
  box-shadow: none !important;
}

.themed-page .tw-site-header .tw-header-signin,
.themed-page .tw-site-header .tw-header-signin:visited,
.themed-page .tw-site-header .tw-header-signin:hover,
.themed-page .tw-site-header .tw-header-signin:focus {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
  color: var(--es-ink) !important;
}

.themed-page [aria-label="Breadcrumb"] a,
.themed-page [aria-label="Breadcrumb"] span {
  color: var(--es-slate) !important;
}

.themed-page footer {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
  color: var(--es-slate) !important;
}

.themed-page footer a {
  color: var(--es-gold) !important;
}

.themed-page footer.bg-white {
  background-color: var(--es-surface) !important;
}

.themed-page footer .text-slate-500,
.themed-page footer .text-slate-600,
.themed-page footer .text-slate-400,
.themed-page footer .text-muted {
  color: var(--es-slate) !important;
}

.themed-page footer.border-slate-200 {
  border-color: var(--es-border) !important;
}

.themed-page footer.border-t.border-slate-200.bg-white {
  background-color: var(--es-surface) !important;
}

/* ===== RSVP title gradient override (use gold instead of rainbow) ===== */
.themed-page .rsvp-title-gradient {
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  -webkit-text-fill-color: unset !important;
  color: var(--es-gold) !important;
}

.themed-page .rsvp-title-gradient .event-title__trailing-parens {
  background: none !important;
  -webkit-text-fill-color: unset !important;
  color: var(--es-slate) !important;
}

/* ===== Container ===== */
.themed-page .themed-container {
  max-width: 880px;
  margin: 0 auto;
  padding: 0;
}

.themed-page .themed-content {
  padding: 3rem 2rem;
}

/* ===== Typography ===== */
.themed-page h1,
.themed-page h2,
.themed-page h3,
.themed-page h4,
.themed-page h5,
.themed-page h6 {
  font-family: var(--es-font-heading);
  color: var(--es-ink);
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  letter-spacing: -0.01em;
}

.themed-page h1 {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.15;
}

.themed-page h2 {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
}

.themed-page h3 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.25;
}

.themed-page h4 {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.3;
  margin-top: 1.25rem;
}

.themed-page h5,
.themed-page h6 {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1.35;
}

.themed-page h2::before,
.themed-page h3::before {
  content: none;
}

.themed-page p {
  margin-bottom: 1.5rem;
  color: var(--es-slate);
}

.themed-page strong,
.themed-page b {
  color: var(--es-ink);
  font-weight: 600;
}

.themed-page em,
.themed-page i:not(.fa):not([class*="fa-"]) {
  font-style: italic;
  color: var(--es-slate);
}

.themed-page i.fa,
.themed-page i[class*="fa-"] {
  font-style: normal !important;
}

/* ===== Links ===== */
.themed-page a {
  color: var(--es-gold);
  text-decoration: none;
  border-bottom: none;
  transition: color 200ms ease;
}

.themed-page a:hover {
  color: var(--es-gold-hover);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.themed-page a:visited {
  color: var(--es-gold);
}

/* ===== Lists ===== */
.themed-page ul,
.themed-page ol {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
}

.themed-page li {
  margin-bottom: 0.5rem;
  color: var(--es-slate);
}

.themed-page ul li::marker {
  color: var(--es-gold);
}

.themed-page ol li::marker {
  color: var(--es-gold);
  font-variant-numeric: tabular-nums;
}

/* ===== Code & Pre ===== */
.themed-page code {
  font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace;
  font-size: 0.875em;
  background-color: var(--es-light-surface);
  color: var(--es-ink);
  padding: 0.2em 0.4em;
  border: 1px solid var(--es-border);
  border-radius: 4px;
}

.themed-page pre {
  font-family: 'JetBrains Mono', 'Fira Code', 'SF Mono', Consolas, monospace;
  font-size: 14px;
  background-color: var(--es-light-surface);
  color: var(--es-ink);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
  border: 1px solid var(--es-border);
  border-radius: 8px;
  overflow-x: auto;
  line-height: 1.6;
}

.themed-page pre code {
  background: none;
  padding: 0;
  border: none;
  border-radius: 0;
  color: inherit;
}

/* ===== Blockquotes ===== */
.themed-page blockquote {
  border-left: 3px solid var(--es-gold);
  background-color: var(--es-surface);
  padding: 1.25rem 1.5rem;
  margin: 1.5rem 0;
  color: var(--es-slate);
  border-radius: 0 8px 8px 0;
}

.themed-page blockquote p:last-child {
  margin-bottom: 0;
}

/* ===== Horizontal Rules ===== */
.themed-page hr {
  border: none;
  border-top: 1px solid var(--es-border);
  margin: 3rem 0;
}

/* ===== Tables ===== */
.themed-page table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
}

.themed-page thead {
  background-color: var(--es-light-surface);
}

.themed-page th {
  text-align: left;
  padding: 1rem;
  font-weight: 600;
  color: var(--es-slate);
  border-bottom: 2px solid var(--es-border);
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  font-family: var(--es-font-body);
}

.themed-page td {
  padding: 1rem;
  border-bottom: 1px solid var(--es-border);
  color: var(--es-slate);
}

.themed-page tbody tr:hover {
  background-color: var(--es-paper);
}

/* ===== Images ===== */
.themed-page img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 1.5rem 0;
  filter: saturate(0.85) contrast(1.05);
}

.themed-page figure {
  margin: 2rem 0;
}

.themed-page figcaption {
  font-size: 0.8125rem;
  color: var(--es-slate);
  margin-top: 0.75rem;
  font-style: italic;
  font-family: var(--es-font-heading);
}

/* ===== Form Fields ===== */
.themed-page input[type="text"],
.themed-page input[type="email"],
.themed-page input[type="url"],
.themed-page input[type="tel"],
.themed-page input[type="search"],
.themed-page input[type="password"],
.themed-page textarea,
.themed-page select {
  background-color: var(--es-surface) !important;
  border: 1px solid var(--es-border) !important;
  border-radius: 6px !important;
  color: var(--es-ink) !important;
  box-shadow: none !important;
  font-family: var(--es-font-body);
  padding: 12px 16px;
}

/* Inputs with leading icons: add left padding */
.themed-page .relative > input[type="text"],
.themed-page .relative > input[type="url"],
.themed-page .relative > input[type="email"],
.themed-page .relative > input[type="tel"] {
  padding-left: 2.5rem !important;
}

.themed-page input[type="text"]::placeholder,
.themed-page input[type="email"]::placeholder,
.themed-page input[type="url"]::placeholder,
.themed-page input[type="tel"]::placeholder,
.themed-page input[type="search"]::placeholder,
.themed-page input[type="password"]::placeholder,
.themed-page textarea::placeholder {
  color: var(--es-placeholder) !important;
}

.themed-page input[type="text"]:focus,
.themed-page input[type="email"]:focus,
.themed-page input[type="url"]:focus,
.themed-page input[type="tel"]:focus,
.themed-page input[type="search"]:focus,
.themed-page input[type="password"]:focus,
.themed-page textarea:focus,
.themed-page select:focus {
  border-color: var(--es-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(176, 141, 87, 0.12) !important;
}

/* ===== Buttons ===== */
.themed-page .tw-button,
.themed-page .tw-button-brand {
  background-color: var(--es-gold) !important;
  color: var(--es-surface) !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 0.875rem !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transition: background-color 250ms ease !important;
}

.themed-page .tw-button:hover,
.themed-page .tw-button-brand:hover {
  background-color: var(--es-gold-hover) !important;
}

/* Value prop icons: align with serif h4 titles */
.themed-page .flex.items-start > i.fas.mt-1 {
  margin-top: 0.3rem !important;
  font-size: 1.2rem !important;
}

/* h4 inside flex value props: no top margin so it lines up with icon */
.themed-page .flex.items-start > div > h4 {
  margin-top: 0 !important;
}

/* Recruitment card CTA: match gold button style */
.themed-page .recruitment-message-cta,
.themed-page .bg-amber-500,
.themed-page a[class*="bg-amber-500"] {
  background-color: var(--es-gold) !important;
  color: var(--es-surface) !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.themed-page .recruitment-message-cta:hover,
.themed-page .bg-amber-500:hover,
.themed-page a[class*="bg-amber-500"]:hover {
  background-color: var(--es-gold-hover) !important;
}

/* Icons inside gold buttons should be white */
.themed-page .tw-button .fa,
.themed-page .tw-button i,
.themed-page .tw-button svg,
.themed-page .tw-button-brand .fa,
.themed-page .tw-button-brand i,
.themed-page .tw-button-brand svg {
  color: var(--es-surface) !important;
  fill: var(--es-surface) !important;
}

/* Link-style buttons should not get gold background */
.themed-page .tw-button.tw-button-link {
  background-color: transparent !important;
  color: var(--es-gold) !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  padding: 0 !important;
  border: none !important;
  font-weight: 500 !important;
  font-size: 1rem !important;
}

.themed-page .tw-button.tw-button-link:hover {
  background-color: transparent !important;
  color: var(--es-gold-hover) !important;
  text-decoration: underline !important;
}

.themed-page .tw-button-secondary,
.themed-page .tw-button-outline,
.themed-page .tw-button-low-profile,
.themed-page .tw-button-low-profile-white {
  background-color: transparent !important;
  border: 1px solid var(--es-border) !important;
  color: var(--es-slate) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  transition: background-color 250ms ease, border-color 250ms ease !important;
}

.themed-page .tw-button-secondary:hover,
.themed-page .tw-button-outline:hover,
.themed-page .tw-button-low-profile:hover,
.themed-page .tw-button-low-profile-white:hover {
  background-color: var(--es-light-surface) !important;
  border-color: var(--es-border-hover) !important;
}

/* ===== Contact + Subscribe Cards ===== */
.themed-page .contact-us-message,
.themed-page .subscribe-form {
  background-color: var(--es-surface) !important;
  border: 1px solid var(--es-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.themed-page .contact-us-message .contact-us-heading,
.themed-page .subscribe-form h3,
.themed-page .subscribe-form h4,
.themed-page .subscribe-form label {
  color: var(--es-ink) !important;
  font-family: var(--es-font-heading) !important;
}

/* Contact + Subscribe headings: same font size */
.themed-page .contact-us-message .contact-us-heading,
.themed-page .subscribe-form h3 {
  font-size: 1.4rem !important;
  font-family: var(--es-font-heading) !important;
  font-weight: 600 !important;
}

/* Subscribe heading: align with icon, remove extra margin */
.themed-page .subscribe-form h3 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.3 !important;
}

/* Subscribe module: stack header above input+button, centered */
.themed-page .subscribe-form > div {
  flex-direction: column !important;
  align-items: center !important;
  gap: 1rem !important;
}

.themed-page .subscribe-form > div > div {
  justify-content: center !important;
}

.themed-page .contact-us-message .contact-us-subheading,
.themed-page .subscribe-form p,
.themed-page .subscribe-form .text-slate-500 {
  color: var(--es-slate) !important;
}

.themed-page .contact-us-message .bg-slate-50,
.themed-page .subscribe-form .bg-white {
  background-color: var(--es-paper) !important;
}

.themed-page .contact-us-message .rounded-full.bg-indigo-50 {
  background-color: var(--es-light-surface) !important;
  border: 1px solid var(--es-border) !important;
  color: var(--es-gold) !important;
}

.themed-page .contact-us-message .rounded-full.bg-indigo-50 .fa,
.themed-page .contact-us-message .rounded-full.bg-indigo-50 i {
  color: var(--es-gold) !important;
}

/* Have a question / contact icon: gold not blue */
.themed-page .contact-us-message .text-indigo-500,
.themed-page .contact-us-message .text-indigo-600,
.themed-page .contact-us-message .text-indigo-400,
.themed-page .contact-us-message svg {
  color: var(--es-gold) !important;
  fill: var(--es-gold) !important;
}

/* ===== RSVP Surfaces ===== */
.themed-page .rsvp-event-icon,
.themed-page .rsvp-panel .rounded-full.bg-\[\#eef2ff\],
.themed-page .rsvp-panel .rounded-full.bg-slate-100,
.themed-page .rsvp-panel .rounded-full.bg-slate-50 {
  background-color: var(--es-light-surface) !important;
  border: 1px solid var(--es-border) !important;
  color: var(--es-gold) !important;
}

.themed-page .rsvp-event-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 9999px;
  background-color: var(--es-light-surface) !important;
  border: 1px solid var(--es-border) !important;
  color: var(--es-gold) !important;
  box-shadow: none !important;
}

.themed-page .rsvp-event-icon .fa,
.themed-page .rsvp-panel .rounded-full.bg-\[\#eef2ff\] .fa,
.themed-page .rsvp-panel .rounded-full.bg-slate-100 .fa,
.themed-page .rsvp-panel .rounded-full.bg-slate-50 .fa {
  color: var(--es-gold) !important;
}

.themed-page .rsvp-card,
.themed-page .rsvp-panel {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
  color: var(--es-ink) !important;
}

.themed-page .rsvp-card {
  background-image: none !important;
  border-width: 1px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.themed-page .render-meetup-rsvp-here .bg-white {
  background-color: var(--es-surface) !important;
}

.themed-page .render-meetup-rsvp-here .border-slate-200 {
  border-color: var(--es-border) !important;
}

.themed-page .render-meetup-rsvp-here .shadow-sm,
.themed-page .render-meetup-rsvp-here .shadow-lg {
  box-shadow: none !important;
}

.themed-page .render-meetup-rsvp-here .bg-slate-50\/60 {
  background-color: var(--es-light-surface) !important;
  border-color: var(--es-border) !important;
}

.themed-page .render-meetup-rsvp-here .bg-indigo-50 {
  background-color: var(--es-light-surface) !important;
}

.themed-page .render-meetup-rsvp-here .text-indigo-300 {
  color: var(--es-gold) !important;
}

.themed-page .render-meetup-rsvp-here .text-slate-900 {
  color: var(--es-ink) !important;
}

.themed-page .render-meetup-rsvp-here .text-slate-500 {
  color: var(--es-slate) !important;
}

.themed-page .render-meetup-rsvp-here .text-slate-400 {
  color: var(--es-placeholder) !important;
}

.themed-page .render-meetup-rsvp-here .border-slate-100 {
  border-color: var(--es-border) !important;
}

.themed-page .render-meetup-rsvp-here .bg-emerald-100 {
  background-color: var(--es-light-surface) !important;
}

.themed-page .render-meetup-rsvp-here .text-emerald-500,
.themed-page .render-meetup-rsvp-here .text-emerald-600 {
  color: var(--es-success) !important;
}

.themed-page .render-meetup-rsvp-here .bg-blue-600 {
  background-color: var(--es-gold) !important;
}

.themed-page .render-meetup-rsvp-here .bg-blue-100 {
  background-color: var(--es-light-surface) !important;
}

.themed-page .render-meetup-rsvp-here .text-blue-600 {
  color: var(--es-gold) !important;
}

.themed-page .render-meetup-rsvp-here .bg-slate-100 {
  background-color: var(--es-light-surface) !important;
}

.themed-page .render-meetup-rsvp-here .bg-slate-200 {
  background-color: var(--es-border) !important;
}

.themed-page .render-meetup-rsvp-here .text-xs.text-slate-500 {
  color: var(--es-placeholder) !important;
}

.themed-page .render-meetup-rsvp-here {
  margin: 0 !important;
  padding: 0 !important;
}

.themed-page #meetup-rsvp-form {
  margin: 0 !important;
}

.themed-page .rsvp-panel {
  padding: 0 !important;
  background-color: transparent !important;
}

.themed-page .rsvp-card {
  margin: 0 !important;
}

.themed-page .rsvp-panel .bg-white {
  background-color: var(--es-surface) !important;
}

.themed-page .rsvp-panel .border-slate-200 {
  border-color: var(--es-border) !important;
}

.themed-page .rsvp-panel .text-slate-900,
.themed-page .rsvp-panel .text-slate-800,
.themed-page .rsvp-panel .text-slate-700 {
  color: var(--es-ink) !important;
}

.themed-page .rsvp-panel .text-slate-600,
.themed-page .rsvp-panel .text-slate-500 {
  color: var(--es-slate) !important;
}

.themed-page .rsvp-panel h3,
.themed-page .rsvp-panel h4,
.themed-page .rsvp-panel h5,
.themed-page .rsvp-panel h6 {
  color: var(--es-ink) !important;
  font-family: var(--es-font-heading) !important;
}

.themed-page .rsvp-panel h3::before,
.themed-page .rsvp-panel h4::before,
.themed-page .rsvp-panel h5::before,
.themed-page .rsvp-panel h6::before {
  content: none !important;
}

.themed-page .rsvp-info-panel .bg-white {
  background-color: var(--es-surface) !important;
}

.themed-page .rsvp-info-panel .text-slate-900,
.themed-page .rsvp-info-panel .text-slate-800,
.themed-page .rsvp-info-panel .text-slate-700 {
  color: var(--es-ink) !important;
}

.themed-page .rsvp-info-panel .text-slate-600,
.themed-page .rsvp-info-panel .text-slate-500,
.themed-page .rsvp-info-panel .text-slate-400 {
  color: var(--es-slate) !important;
}

.themed-page .rsvp-panel .rounded-full[class*="bg-[#eef2ff]"] {
  background-color: var(--es-light-surface) !important;
  border: 1px solid var(--es-border) !important;
  color: var(--es-gold) !important;
  box-shadow: none !important;
}

.themed-page .rsvp-panel .rounded-full[class*="bg-[#eef2ff]"] .fa {
  color: var(--es-gold) !important;
}

.themed-page .rsvp-info-panel .border-slate-200 {
  border-color: var(--es-border) !important;
}

.themed-page .rsvp-info-panel {
  background-color: var(--es-surface) !important;
  border: 1px solid var(--es-border) !important;
  border-radius: 8px !important;
  padding: 1.25rem !important;
}

@media (min-width: 768px) {
  .themed-page .rsvp-info-panel > .flex {
    align-items: flex-start !important;
  }

  .themed-page .rsvp-info-panel > .flex > div {
    width: 50% !important;
  }

  .themed-page .rsvp-info-panel > .flex > div + div {
    margin-top: 0 !important;
  }
}

.themed-page .rsvp-info-panel .shadow-sm,
.themed-page .rsvp-info-panel .shadow-lg {
  box-shadow: none !important;
}

.themed-page .rsvp-info-panel .bg-rose-600 {
  background-color: var(--es-gold) !important;
}

.themed-page .rsvp-info-panel .text-white {
  color: var(--es-surface) !important;
}

/* ===== Event/Attendee Panels ===== */
.themed-page .page-editor-controls {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
  box-shadow: none !important;
}

.themed-page .page-editor-controls__toggle {
  background-color: var(--es-light-surface) !important;
  border: 1px solid var(--es-border) !important;
  color: var(--es-ink) !important;
}

.themed-page .page-editor-controls .text-slate-900,
.themed-page .page-editor-controls .text-slate-800,
.themed-page .page-editor-controls .text-slate-700 {
  color: var(--es-ink) !important;
}

.themed-page .page-editor-controls .text-slate-500,
.themed-page .page-editor-controls .text-slate-400 {
  color: var(--es-slate) !important;
}

/* Tighten the event setup panel spacing */
.themed-page .page-editor-controls {
  padding: 1rem 1.25rem !important;
}

.themed-page .page-editor-controls h2,
.themed-page .page-editor-controls h3 {
  margin-top: 0 !important;
  margin-bottom: 0.25rem !important;
}

.themed-page .page-editor-controls p {
  margin-bottom: 0.5rem !important;
}

.themed-page .page-editor-controls > div {
  gap: 0.5rem !important;
}

.themed-page .page-editor-controls .border-indigo-100,
.themed-page .page-editor-controls .border-indigo-100\/50,
.themed-page .page-editor-controls .border-slate-200 {
  border-color: var(--es-border) !important;
}

.themed-page .page-editor-controls .tw-button,
.themed-page .page-editor-controls .tw-button-secondary,
.themed-page .page-editor-controls .tw-button-outline,
.themed-page .page-editor-controls .tw-button-low-profile-white,
.themed-page .page-editor-controls .tw-button-brand {
  background-color: var(--es-surface) !important;
  border: 1px solid var(--es-border) !important;
  color: var(--es-ink) !important;
  box-shadow: none !important;
}

/* ===== Blog index card titles + date line ===== */
.themed-page .text-2xl.font-semibold.text-slate-900 {
  color: var(--es-ink) !important;
}

.themed-page article .text-sm.text-slate-500,
.themed-page article .text-xs.text-slate-500 {
  color: var(--es-gold) !important;
}

/* Time-ago badge: transparent background (only light amber/yellow tints) */
.themed-page .bg-amber-50,
.themed-page .bg-amber-100,
.themed-page .bg-yellow-50,
.themed-page .bg-yellow-100 {
  background-color: transparent !important;
}

/* Date line SVG icon: match golden text color */
.themed-page article .text-sm.text-slate-500 svg,
.themed-page article .text-xs.text-slate-500 svg,
.themed-page article .text-slate-400 svg {
  color: var(--es-gold) !important;
  fill: var(--es-gold) !important;
}

/* ===== Article / Story cards ===== */
.themed-page article.story {
  background-color: var(--es-surface) !important;
  border-color: var(--es-border) !important;
  box-shadow: none !important;
}

.themed-page article.bg-white {
  background-color: var(--es-surface) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Card image area: add left padding so image doesn't touch card edge */
.themed-page article .grid > a.relative.block {
  margin: 1rem 0 1rem 1rem !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* Card image area: flat surface background, no gradient overlay */
.themed-page article .bg-slate-100 {
  background-color: var(--es-surface) !important;
}

.themed-page article .bg-gradient-to-tr,
.themed-page article [class*="bg-gradient-to-tr"] {
  background-image: none !important;
  background-color: transparent !important;
}

/* ===== Slider (Info Slider) ===== */
.themed-page .slider-container {
  background-color: var(--es-surface) !important;
  border: 1px solid var(--es-border) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.themed-page .slider-container .left-arrow,
.themed-page .slider-container .right-arrow {
  background-color: transparent !important;
  color: var(--es-ink) !important;
}

.themed-page .slider-container .slide span,
.themed-page .slider-container blockquote,
.themed-page .slider-container .byline {
  color: var(--es-ink) !important;
}

.themed-page .slider-indicators .slider-dot {
  background-color: var(--es-border) !important;
}

.themed-page .slider-indicators .slider-dot.active {
  background-color: var(--es-gold) !important;
}

/* ===== Invitation Seal (Signature Element) ===== */
.themed-page .invitation-seal {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.themed-page .invitation-seal__badge {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 2px solid var(--es-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--es-gold);
  font-family: var(--es-font-heading);
  font-size: 1.5rem;
  font-weight: 500;
  font-style: italic;
}

.themed-page .invitation-seal__label {
  font-family: var(--es-font-heading);
  font-style: italic;
  font-size: 0.75rem;
  color: var(--es-gold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* ===== Date/time and address blocks: use serif font ===== */
.themed-page .rsvp-info-panel {
  font-family: var(--es-font-heading) !important;
}

.themed-page .rsvp-info-panel h4,
.themed-page .rsvp-info-panel h5,
.themed-page .rsvp-info-panel .font-semibold {
  font-family: var(--es-font-heading) !important;
}

/* Date/time + address: larger text for the info lines beside the icons */
.themed-page .rsvp-info-panel .text-base.font-bold {
  font-size: 1.2rem !important;
}

.themed-page .rsvp-info-panel .text-sm.text-slate-500 {
  font-size: 1rem !important;
}

/* ===== Content body override for show-page-body ===== */
.themed-page .show-page-body {
  background: transparent;
  color: var(--es-ink);
}

.themed-page .show-page-body h1,
.themed-page .show-page-body h2,
.themed-page .show-page-body h3,
.themed-page .show-page-body h4,
.themed-page .show-page-body h5,
.themed-page .show-page-body h6 {
  color: var(--es-ink);
  font-family: var(--es-font-heading);
}

.themed-page .show-page-body a {
  color: var(--es-gold);
}

.themed-page .show-page-body a:hover {
  color: var(--es-gold-hover);
}

/* ===== Utility Classes ===== */
.themed-page .text-muted { color: var(--es-placeholder); }
.themed-page .text-accent { color: var(--es-gold); }
.themed-page .text-success { color: var(--es-success); }
.themed-page .text-danger { color: var(--es-error); }

.themed-page .bg-surface { background-color: var(--es-surface); }
.themed-page .bg-paper { background-color: var(--es-paper); }
.themed-page .bg-light-surface { background-color: var(--es-light-surface); }

/* ===== Organizer / avatar stacks: no overlap, add spacing ===== */
.themed-page .flex.-space-x-2 > *,
.themed-page .flex.-space-x-3 > *,
.themed-page .flex.-space-x-4 > * {
  margin-left: 4px !important;
}

.themed-page [class*="-ml-"] img.rounded-full,
.themed-page [class*="-ml-"].rounded-full {
  margin-left: 4px !important;
}

/* ===== Profile avatar images: no extra margin ===== */
.themed-page .profile-avatar,
.themed-page img.profile-avatar {
  margin: 0 !important;
  vertical-align: middle !important;
}

.themed-page .profile-avatar-tooltip {
  vertical-align: middle !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* ===== Social proof avatar alignment fix ===== */
.themed-page .profile-container-desktop {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  padding: 4px 0 !important;
}

.themed-page .profile-container-desktop > a {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 36px !important;
  width: 36px !important;
  height: 36px !important;
  margin-right: 4px !important;
  position: relative !important;
  border-bottom: none !important;
}

.themed-page .profile-container-desktop .profile-avatar-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  flex: 0 0 36px !important;
  margin-right: 4px !important;
  position: relative !important;
}

.themed-page .profile-container-desktop > img.profile-avatar {
  flex: 0 0 36px !important;
  margin-right: 4px !important;
}

.themed-page .profile-container-desktop .profile-avatar {
  width: 36px !important;
  height: 36px !important;
  display: block !important;
  margin: 0 !important;
}

@media (max-width: 768px) {
  .themed-page .profile-container-desktop {
    flex-wrap: wrap !important;
    row-gap: 6px !important;
  }
}

/* ===== Responsive ===== */
@media (max-width: 768px) {
  .themed-page .themed-content {
    padding: 2rem 1rem;
  }

  .themed-page h1 { font-size: 2rem; }
  .themed-page h2 { font-size: 1.625rem; }
  .themed-page h3 { font-size: 1.25rem; }
}

/* ===== SweetAlert2 Modals ===== */
body.themed-page .swal2-popup,
body.theme-executive-salon .swal2-popup,
.themed-page.theme-executive-salon .swal2-popup {
  font-family: var(--es-font-body) !important;
  background-color: var(--es-surface) !important;
  border: 1px solid var(--es-border) !important;
  color: var(--es-slate) !important;
}

body.themed-page .swal2-popup strong,
body.themed-page .swal2-popup b,
body.themed-page .swal2-html-container strong,
body.themed-page .swal2-html-container b,
body.theme-executive-salon .swal2-popup strong,
body.theme-executive-salon .swal2-popup b,
.themed-page.theme-executive-salon .swal2-popup strong,
.themed-page.theme-executive-salon .swal2-popup b,
.themed-page.theme-executive-salon .swal2-html-container strong,
.themed-page.theme-executive-salon .swal2-html-container b {
  color: inherit !important;
}

body.themed-page .swal2-html-container,
body.theme-executive-salon .swal2-html-container,
.themed-page.theme-executive-salon .swal2-html-container {
  color: var(--es-slate) !important;
}

body.themed-page .swal2-title,
body.theme-executive-salon .swal2-title,
.themed-page.theme-executive-salon .swal2-title {
  color: var(--es-ink) !important;
}

/* ===== Print Styles ===== */
@media print {
  .themed-page {
    background: white;
    color: black;
  }

  .themed-page img {
    filter: none;
  }
}
