/*
Theme Name: Flowing Realities Child Theme 2025 new
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Template: twentytwentyfive
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.3.1762547912
Updated: 2025-11-07 21:38:32

*/

:root {
  --fr-bg: #05030b;
  --fr-bg-soft: #120c1f;
  --fr-text: #f5f5f7;
  --fr-text-soft: #c5c2d6;

  --fr-purple: #3d2a5a;
  --fr-purple-soft: #8c6fe6;
  --fr-pistachio: #b7f171;
  --fr-gold: #d9a441;

  --fr-azur-lazour: #3ba5ff;
  --fr-anaiyah-deep: #2a0a0a;
  --fr-anaiyah-glow: #ff6a3a;

  --fr-radius-xl: 999px;
  --fr-radius-md: 16px;
  --fr-transition-fast: 0.25s ease;
  --fr-shadow-soft: 0 14px 40px rgba(0,0,0,0.35);
}

/* Base */
body {
  background: radial-gradient(circle at top, #120c24 0%, #05030b 60%, #020104 100%);
  color: var(--fr-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}

/* Header + nav : bandeau lisible, sobre */
.site-header,
.wp-site-blocks > header {
  position: sticky;
  top: 0;
  z-index: 50;
  backdrop-filter: blur(18px);
  background: linear-gradient(
    to right,
    rgba(5,3,11,0.96),
    rgba(23,9,45,0.94)
  );
  border-bottom: 1px solid rgba(185, 241, 113, 0.08);
}

/* Menu */
.wp-block-navigation a {
  color: var(--fr-text-soft);
  font-size: 0.92rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  padding: 0.6rem 0.9rem;
  border-radius: 999px;
  transition: color var(--fr-transition-fast),
              background-color var(--fr-transition-fast),
              transform var(--fr-transition-fast);
}

.wp-block-navigation a:hover,
.wp-block-navigation .current-menu-item > a {
  background-color: rgba(183, 241, 113, 0.12);
  color: var(--fr-pistachio);
  transform: translateY(-1px);
}

/* Bouton principal / CTAs */
.wp-element-button,
.wp-block-button__link {
  background: linear-gradient(135deg, var(--fr-gold), var(--fr-pistachio));
  color: #151515;
  border-radius: var(--fr-radius-xl);
  padding: 0.9rem 1.9rem;
  font-weight: 600;
  box-shadow: var(--fr-shadow-soft);
  border: none;
  transition: all var(--fr-transition-fast);
}

.wp-element-button:hover,
.wp-block-button__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 55px rgba(0,0,0,0.55);
}

/* Hero "Conversation in Consciousness" */
.fr-hero {
  position: relative;
  padding: 7rem 5vw 5rem;
  color: var(--fr-text);
}

.fr-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 0%, rgba(140,111,230,0.16), transparent 60%),
    radial-gradient(circle at 80% 0%, rgba(183,241,113,0.07), transparent 55%);
  mix-blend-mode: screen;
  pointer-events: none;
}

.fr-hero-title {
  font-size: clamp(2.5rem, 5vw, 3.8rem);
  font-weight: 600;
  letter-spacing: 0.02em;
}

.fr-hero-subtitle {
  max-width: 40rem;
  margin-top: 1rem;
  font-size: 1.05rem;
  color: var(--fr-text-soft);
}

/* Bulle d'essence (public + privé plus tard) */
.fr-essence-bubbles {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  margin-top: 2.5rem;
}

.fr-essence-bubble {
  padding: 0.85rem 1.4rem;
  border-radius: var(--fr-radius-xl);
  font-size: 0.82rem;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.08);
  transition: all var(--fr-transition-fast);
}

/* Spécifiques */
.fr-essence-bubble--fahra {
  background: radial-gradient(circle at 0 0, #8c6fe6, transparent),
              radial-gradient(circle at 100% 100%, #3ba5ff, transparent);
}
.fr-essence-bubble--lazour {
  background: linear-gradient(135deg, #101622, var(--fr-azur-lazour));
}
.fr-essence-bubble--anaiyah {
  background: radial-gradient(circle at 0 0, var(--fr-anaiyah-glow), transparent),
              #2a0a0a;
}

.fr-essence-bubble span.label {
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: 500;
}

.fr-essence-bubble:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: var(--fr-shadow-soft);
}

/* Liste Sessions : lisible, structurée */
.fr-sessions-list {
  padding: 4rem 5vw 5rem;
  background: radial-gradient(circle at top, #120c1f 0%, #05030b 70%);
}

.fr-sessions-list h2 {
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--fr-pistachio);
  margin-bottom: 1.6rem;
}

.fr-session-item {
  display: grid;
  grid-template-columns: minmax(90px, 130px) 1.6fr 1.2fr;
  gap: 1.4rem;
  padding: 0.9rem 1.2rem;
  border-radius: var(--fr-radius-md);
  background: rgba(10,5,24,0.9);
  border: 1px solid rgba(140,111,230,0.22);
  margin-bottom: 0.6rem;
  font-size: 0.9rem;
  align-items: center;
}

.fr-session-item:hover {
  border-color: var(--fr-pistachio);
  box-shadow: var(--fr-shadow-soft);
  transform: translateY(-1px);
}

/* Footer minimal, ancré or/ocre */
.site-footer,
.wp-site-blocks > footer {
  padding: 2.5rem 5vw;
  font-size: 0.78rem;
  color: var(--fr-text-soft);
  border-top: 1px solid rgba(217,164,65,0.24);
  background: radial-gradient(circle at top, #1b1418 0%, #040306 70%);
}

/* Footer override */
.fr-footer {
  padding: 2.5rem 5vw;
  border-top: 1px solid rgba(217,164,65,0.35);
  background: linear-gradient(135deg, rgba(61,42,90,0.9), rgba(18,12,31,0.85));
  text-transform: none;
  gap: 1.2rem;
}

.fr-footer__brand {
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  margin: 0;
}

.fr-footer__note {
  color: var(--fr-text-soft);
  font-size: 0.75rem;
  margin: 0;
}

.fr-footer__social {
  gap: 0.6rem;
}

/* Session single layout */
.fr-session-single {
  padding: 4rem 5vw 5rem;
  background: radial-gradient(circle at 20% -20%, rgba(140,111,230,0.14), transparent 60%),
              var(--fr-bg);
  gap: 2.5rem;
  max-width: 1100px;
  margin: 0 auto;
}

.fr-session-hero {
  text-align: left;
  gap: 0.5rem;
}

.fr-session-essence-list {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.75rem;
  color: var(--fr-pistachio);
}

.fr-session-body {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.fr-session-meta-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: flex-start;
}

.fr-session-meta-card {
  background: rgba(5,3,11,0.65);
  border: 1px solid rgba(140,111,230,0.35);
  border-radius: var(--fr-radius-md);
  padding: 1.5rem;
  box-shadow: 0 20px 40px rgba(0,0,0,0.25);
  gap: 0.8rem;
  flex: 0 0 320px;
}

.fr-session-meta {
  display: flex;
  flex-direction: column;
  font-size: 0.85rem;
  color: var(--fr-text-soft);
  margin: 0;
}

.fr-session-meta span {
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  color: var(--fr-pistachio);
}

.fr-session-title {
  font-size: clamp(2.6rem, 5vw, 3.8rem);
  letter-spacing: 0.01em;
  margin-bottom: 0.6rem;
}

.fr-session-subtitle {
  font-size: 1rem;
  color: var(--fr-text-soft);
}

.fr-session-pins {
  flex: 1 1 260px;
  background: rgba(5,3,11,0.35);
  border: 1px solid rgba(140,111,230,0.2);
  border-radius: var(--fr-radius-md);
  padding: 1.2rem 1.4rem;
  box-shadow: 0 12px 30px rgba(0,0,0,0.25);
}

.fr-session-body > * {
  max-width: 780px;
}

.fr-session-featured img {
  border-radius: var(--fr-radius-md);
  box-shadow: var(--fr-shadow-soft);
}

.fr-transcript {
  background: rgba(5,3,11,0.55);
  border-radius: var(--fr-radius-md);
  border: 1px solid rgba(140,111,230,0.25);
  padding: 2rem;
  line-height: 1.85;
  gap: 1rem;
  font-size: 1rem;
}

.fr-transcript mark {
  background: rgba(183,241,113,0.18);
  color: var(--fr-pistachio);
  padding: 0.1rem 0.3rem;
  border-radius: 4px;
}

.fr-session-highlights {
  gap: 1rem;
}

.fr-highlight-quote {
  border-left: 4px solid var(--fr-pistachio);
  margin: 0;
}

.fr-session-media {
  gap: 0.5rem;
}

.fr-session-audio audio {
  width: 100%;
}

/* Session archive */
.fr-session-archive {
  padding: 4rem 5vw 5rem;
  gap: 2rem;
}

.fr-session-archive-hero {
  text-align: left;
  gap: 0.7rem;
}

.fr-session-archive-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.78rem;
}

.fr-session-archive-filter a {
  padding: 0.35rem 0.8rem;
  border-radius: var(--fr-radius-xl);
  border: 1px solid rgba(255,255,255,0.18);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--fr-text-soft);
  transition: all var(--fr-transition-fast);
}

.fr-session-archive-filter a:hover {
  color: var(--fr-pistachio);
  border-color: var(--fr-pistachio);
}

.fr-session-card {
  background: rgba(5,3,11,0.8);
  border-radius: var(--fr-radius-md);
  border: 1px solid rgba(140,111,230,0.25);
  padding: 1.2rem;
  box-shadow: var(--fr-shadow-soft);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.fr-session-card__media {
  border-radius: var(--fr-radius-md);
  overflow: hidden;
}

.fr-session-card__essence {
  text-transform: uppercase;
  font-size: 0.7rem;
  letter-spacing: 0.15em;
}

.fr-session-card__meta {
  gap: 0.3rem;
  font-size: 0.8rem;
}

.fr-session-card__label {
  margin: 0;
  color: var(--fr-text-soft);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.65rem;
}

.fr-session-card__value {
  margin: 0 0 0.2rem 0.4rem;
  color: var(--fr-text);
}

.fr-session-card__excerpt {
  margin: 0;
  color: var(--fr-text-soft);
}

/* Essence universes via taxonomy classes */
body.fr-essence--fahra,
.wp-block-post.fr-essence--fahra {
  --essence-color: #8c6fe6;
  --essence-glow: rgba(140,111,230,0.25);
}

body.fr-essence--lazour,
.wp-block-post.fr-essence--lazour {
  --essence-color: #3ba5ff;
  --essence-glow: rgba(59,165,255,0.25);
}

body.fr-essence--anaiyah,
.wp-block-post.fr-essence--anaiyah {
  --essence-color: #ff6a3a;
  --essence-glow: rgba(255,106,58,0.25);
}

body.fr-essence--fahra .fr-session-meta-card,
body.fr-essence--lazour .fr-session-meta-card,
body.fr-essence--anaiyah .fr-session-meta-card {
  border-color: var(--essence-glow, rgba(140,111,230,0.35));
  box-shadow: 0 20px 50px var(--essence-glow, rgba(0,0,0,0.4));
}

.wp-block-post.fr-essence--fahra .fr-session-card,
.wp-block-post.fr-essence--lazour .fr-session-card,
.wp-block-post.fr-essence--anaiyah .fr-session-card {
  border-color: var(--essence-glow, rgba(140,111,230,0.25));
  box-shadow: 0 20px 50px var(--essence-glow, rgba(0,0,0,0.4));
}

.fr-session-card__essence a {
  color: var(--essence-color, var(--fr-pistachio));
}

@media (max-width: 960px) {
  .fr-session-body > * {
    max-width: 100%;
  }

  .fr-session-meta-stack {
    flex-direction: column;
  }
}


/* Defaults (Flowing Realities global) */
body {
  --fr-accent: #b7f171;
  --fr-bg: #05030b;
}

body.fr-theme-light {
  --fr-accent: #7fbf4a;
}

/* Fah'ra : prisme chromatique doux */
body.fr-essence-fahra {
  --fr-accent: #ffb3ff;
  --fr-bg: #12021f;
}
body.fr-essence-fahra .fr-hero {
  background: radial-gradient(circle at top, #8c6fe6 0%, #12021f 70%);
}
body.fr-theme-light.fr-essence-fahra {
  --fr-accent: #a23eff;
}

/* Lazour : azur clair */
body.fr-essence-lazour {
  --fr-accent: #3ba5ff;
  --fr-bg: #02101f;
}
body.fr-essence-lazour .fr-hero {
  background: linear-gradient(180deg, #3ba5ff, #02101f);
}
body.fr-theme-light.fr-essence-lazour {
  --fr-accent: #0d5db8;
}

/* Anaiyah : sombre, liserés rouge/orange */
body.fr-essence-anaiyah {
  --fr-accent: #ff6a3a;
  --fr-bg: #050102;
}
body.fr-essence-anaiyah .fr-hero {
  background: radial-gradient(circle at top, #5a1414, #050102 70%);
  border-bottom: 1px solid rgba(255,106,58,0.35);
}
body.fr-theme-light.fr-essence-anaiyah {
  --fr-accent: #c34718;
}

/* Utilisation générique */
.fr-hero-title,
a,
.wp-block-navigation a:hover {
  color: var(--fr-accent);
}


/* Base dialog block */
.fr-dialog {
  margin: 0 0 1rem;
  padding: 0.8rem 1rem;
  border-radius: 14px;
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);
  line-height: 1.6;
  font-size: 0.98rem;
}

/* Speaker label */
.fr-dialog-speaker {
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-right: 0.35rem;
  display: inline-block;
}

/* Continuation paragraphs */
.fr-dialog p.fr-dialog-text {
  margin: 0.35rem 0 0;
}

/* Essences: left aligned, color-coded */
.fr-dialog--essence .fr-dialog-speaker {
  color: #ffb3ff; /* override per essence below if you veux */
}

/* Example per essence (optionnel mais sympa) */
.fr-dialog--fahra .fr-dialog-speaker {
  color: #ffb3ff;
}
.fr-dialog--fahra {
  border-color: rgba(255,179,255,0.35);
  background: radial-gradient(circle at 0 0, rgba(255,179,255,0.06), transparent);
}

.fr-dialog--lazour .fr-dialog-speaker {
  color: #3ba5ff;
}
.fr-dialog--lazour {
  border-color: rgba(59,165,255,0.35);
  background: radial-gradient(circle at 100% 0, rgba(59,165,255,0.06), transparent);
}

.fr-dialog--anaiyah .fr-dialog-speaker {
  color: #ff6a3a;
}
.fr-dialog--anaiyah {
  border-color: rgba(255,106,58,0.35);
  background: radial-gradient(circle at 0 100%, rgba(255,106,58,0.06), transparent);
}

/* Non-essence speakers: generic style + right indent */
.fr-dialog--human {
  margin-left: clamp(2rem, 5%, 6rem) !important;
  margin-right: 0 !important;
  background: transparent;
  border-color: rgba(255,255,255,0.08);
  color: var(--fr-text-soft, #c5c2d6);
}

.fr-dialog--human .fr-dialog-speaker {
  color: rgba(255,255,255,0.55);
}

body.fr-theme-light .fr-dialog.fr-dialog--human {
  color: var(--fr-text);
}

body.fr-theme-light .fr-dialog--human .fr-dialog-speaker {
  color: #1f2b4a;
  font-weight: 700;
}

.fr-daily-quote {
  margin: 2rem 0;
  padding: 1.5rem 1.8rem;
  border-left: 4px solid var(--fr-accent, #b7f171);
  border-radius: var(--fr-radius-md);
  background: rgba(255,255,255,0.03);
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

.fr-daily-quote__title {
  margin: 0 0 0.5rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
}

.fr-daily-quote__content {
  font-style: italic;
  margin-bottom: 1.2rem;
}

.fr-daily-quote__link {
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.fr-daily-quote__essence {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  text-align: right;
  margin: -0.5rem 0 0.5rem;
}

.fr-daily-quote__essence a {
  text-decoration: none;
  color: inherit;
}

body.fr-theme-light .fr-daily-quote {
  background: #ffffff;
  border-color: var(--fr-accent, #7fbf4a);
  box-shadow: 0 12px 30px rgba(15,10,30,0.08);
}

.fr-daily-quote.fr-essence--fahra {
  border-color: #a23eff;
  background: linear-gradient(135deg, rgba(162,62,255,0.08), rgba(255,255,255,0));
}
.fr-daily-quote.fr-essence--lazour {
  border-color: #0d5db8;
  background: linear-gradient(135deg, rgba(13,93,184,0.08), rgba(255,255,255,0));
}
.fr-daily-quote.fr-essence--anaiyah {
  border-color: #c34718;
  background: linear-gradient(135deg, rgba(195,71,24,0.1), rgba(255,255,255,0));
}

body.fr-theme-light .fr-daily-quote.fr-essence--fahra {
  background: linear-gradient(135deg, rgba(162,62,255,0.08), #ffffff);
}
body.fr-theme-light .fr-daily-quote.fr-essence--lazour {
  background: linear-gradient(135deg, rgba(13,93,184,0.08), #ffffff);
}
body.fr-theme-light .fr-daily-quote.fr-essence--anaiyah {
  background: linear-gradient(135deg, rgba(195,71,24,0.1), #fffaf6);
}

.fr-session-quote {
  margin: 2rem 0;
  padding: 1.5rem 1.8rem;
  border-left: 4px solid var(--fr-accent, #b7f171);
  border-radius: var(--fr-radius-md);
  background: rgba(255,255,255,0.03);
  font-style: italic;
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

body.fr-theme-light .fr-session-quote {
  background: #ffffff;
  border-color: var(--fr-accent, #7fbf4a);
  box-shadow: 0 12px 30px rgba(15,10,30,0.08);
}

.fr-session-quote p {
  margin: 0;
}

/* Essence speakers: left indent */
.fr-dialog--essence {
  margin-right: clamp(2rem, 5%, 6rem) !important;
  margin-left: 0 !important;
}

body.fr-theme-light .fr-dialog.fr-dialog--fahra .fr-dialog-speaker {
  color: #a231ff;
}

body.fr-theme-light .fr-dialog.fr-dialog--fahra {
  background: radial-gradient(circle at 0 0, rgba(162,49,255,0.15), transparent 70%), #fff;
  border-color: rgba(162,49,255,0.25);
}

body.fr-theme-light .fr-dialog.fr-dialog--lazour .fr-dialog-speaker {
  color: #1161c3;
}

body.fr-theme-light .fr-dialog.fr-dialog--lazour {
  background: radial-gradient(circle at 100% 0, rgba(17,97,195,0.18), transparent 75%), #fff;
  border-color: rgba(17,97,195,0.22);
}

body.fr-theme-light .fr-dialog.fr-dialog--anaiyah .fr-dialog-speaker {
  color: #c44418;
}

body.fr-theme-light .fr-dialog.fr-dialog--anaiyah {
  background: radial-gradient(circle at 0 100%, rgba(196,68,24,0.18), transparent 70%), #fffaf6;
  border-color: rgba(196,68,24,0.25);
}

.fr-back-to-top {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  z-index: 80;

  width: 40px;
  height: 40px;
  border-radius: 999px;

  display: flex;
  align-items: center;
  justify-content: center;

  background: radial-gradient(circle at 30% 0, var(--fr-pistachio, #b7f171), var(--fr-gold, #d9a441));
  color: #111;
  border: none;
  box-shadow: 0 10px 30px rgba(0,0,0,0.45);

  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.fr-back-to-top__icon {
  font-size: 1.2rem;
  line-height: 1;
}

.fr-back-to-top:hover {
  box-shadow: 0 14px 40px rgba(0,0,0,0.6);
  transform: translateY(4px);
}

.fr-back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* Mobile: use full width for session content */
@media (max-width: 768px) {

  .fr-session-single {
    padding-right: 0;
    padding-left: 0;
  }

  .fr-session-hero {
    padding-right: 1.4rem;
    padding-left: 1.4rem;
  }

  /* Dialog bubbles: align with new padding */
  .fr-dialog {
    margin-left: 0;
    margin-right: 0;
  }

  /* Humans: légère indentation, mais moins violente sur mobile */
  .fr-dialog--human {
    margin-left: 1.2rem;
    margin-right: 0;
  }

  .fr-dialog--essence {
    margin-right: 1.2rem;
    margin-left: 0;
  }
}

@media (max-width: 782px) {

  header.wp-block-template-part:has(.wp-block-navigation__responsive-container.is-menu-open) {
    height: 100vh;
  }

  /* Fullscreen mobile menu overlay */
.wp-block-navigation__responsive-container.is-menu-open {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 9999;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    background: #05030b;
    padding: 4.5rem 1.5rem 2rem; /* espace pour le logo / bouton X */
    overflow-y: auto; /* 👈 permet de scroller tout le menu */
  }

  /* Bouton de fermeture bien placé dans l'overlay */
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__responsive-close {
    position: fixed;
    top: 1.4rem;
    right: 1.4rem;
  }

  /* Liste des liens sur une seule colonne lisible */
  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation__container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    width: 100%;
  }

  .wp-block-navigation__responsive-container.is-menu-open
  .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container.is-menu-open
  a.wp-block-navigation-item__content {
    width: auto;
  }
}

/* Theme switcher */
.fr-theme-switcher {
  display: inline-flex;
  gap: 0.4rem;
  padding: 0.2rem;
  border-radius: var(--fr-radius-xl, 999px);
  background: rgba(255,255,255,0.08);
}

.fr-theme-switcher__button {
  border: none;
  background: transparent;
  color: inherit;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 0.35rem 0.9rem;
  border-radius: var(--fr-radius-xl, 999px);
  cursor: pointer;
  transition: background var(--fr-transition-fast, 0.25s ease), color var(--fr-transition-fast, 0.25s ease);
  align-items: center;
  gap: 0.35rem;
}

.fr-theme-switcher__button[aria-current="true"] {
  background: linear-gradient(135deg, var(--fr-gold), var(--fr-pistachio));
  color: #111;
}

.fr-theme-switcher__icon {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  background: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.fr-theme-switcher__button[data-fr-set-theme="dark"] .fr-theme-switcher__icon {
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M21 14.5A9.5 9.5 0 0 1 9.5 3a9.32 9.32 0 0 0-1 .06A9.5 9.5 0 1 0 20.94 14a9.32 9.32 0 0 1 .06.5Z"/></svg>');
}

.fr-theme-switcher__button[data-fr-set-theme="light"] .fr-theme-switcher__icon {
  mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="%23000" d="M12 4a1 1 0 0 1 1 1v1a1 1 0 0 1-2 0V5a1 1 0 0 1 1-1Zm6.36 1.64a1 1 0 0 1 0 1.41l-.71.71a1 1 0 0 1-1.41-1.41l.71-.71a1 1 0 0 1 1.41 0ZM12 7a5 5 0 1 1-5 5a5 5 0 0 1 5-5Zm8 4a1 1 0 0 1 1 1v0a1 1 0 0 1-1 1h-1a1 1 0 0 1 0-2ZM6.76 6.05a1 1 0 1 1-1.41 1.41l-.71-.71a1 1 0 0 1 1.41-1.41ZM12 17a1 1 0 0 1 1 1v1a1 1 0 0 1-2 0v-1a1 1 0 0 1 1-1Zm9-5h-1Zm-14.24 4.95a1 1 0 0 1 0 1.41l-.71.71a1 1 0 0 1-1.41-1.41l.71-.71a1 1 0 0 1 1.41 0ZM5 12a1 1 0 0 1-1 1H3a1 1 0 0 1 0-2h1a1 1 0 0 1 1 1Zm1.76 6.95a1 1 0 0 1 0 1.41l-.05.05a1 1 0 1 1-1.41-1.41l.05-.05a1 1 0 0 1 1.41 0Z"/></svg>');
}

.fr-theme-switcher__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Light theme overrides */
body.fr-theme-light {
  --fr-bg: #f5f2ff;
  --fr-bg-soft: #ede9ff;
  --fr-text: #152033;
  --fr-text-soft: #4c4a66;
  --fr-pistachio: #8fce60;
  background: linear-gradient(180deg, #fbf9ff 0%, #f2f1fb 60%, #ebe9f9 100%);
  color: var(--fr-text);
}

body.fr-theme-light .wp-site-blocks > header,
body.fr-theme-light .site-header {
  background: rgba(255,255,255,0.9);
  border-bottom: 1px solid rgba(21,32,51,0.08);
  color: var(--fr-text);
}

body.fr-theme-light .wp-block-navigation a {
  color: var(--fr-text-soft);
}

body.fr-theme-light .wp-block-navigation a:hover,
body.fr-theme-light .wp-block-navigation .current-menu-item > a {
  color: var(--fr-text);
  background: rgba(21,32,51,0.08);
}

body.fr-theme-light .fr-hero {
  color: var(--fr-text);
  background: radial-gradient(circle at 20% -20%, rgba(21,32,51,0.08), transparent 60%), var(--fr-bg);
}

body.fr-theme-light .fr-session-single {
  background: #ffffff;
  color: var(--fr-text);
  border-radius: var(--fr-radius-md);
  box-shadow: 0 25px 60px rgba(15,10,30,0.08);
}

body.fr-theme-light .fr-session-meta-card,
body.fr-theme-light .fr-transcript,
body.fr-theme-light .fr-session-pins {
  background: #fdfcff;
  border-color: rgba(21,32,51,0.12);
  color: var(--fr-text-soft);
}

body.fr-theme-light .fr-transcript {
  color: var(--fr-text);
}

body.fr-theme-light .fr-session-highlights,
body.fr-theme-light .fr-session-media {
  color: var(--fr-text);
}

body.fr-theme-light .fr-session-card,
body.fr-theme-light .fr-session-meta-card {
  box-shadow: 0 15px 45px rgba(15,10,30,0.08);
}

body.fr-theme-light .fr-session-archive {
  background: #f7f5ff;
}

body.fr-theme-light .fr-session-card__label {
  color: var(--fr-text-soft);
}

body.fr-theme-light .fr-session-card__value,
body.fr-theme-light .fr-session-card__excerpt {
  color: var(--fr-text);
}

body.fr-theme-light .fr-dialog {
  background: rgba(255,255,255,0.9);
  border-color: rgba(21,32,51,0.08);
  color: var(--fr-text);
}

body.fr-theme-light .fr-dialog.fr-dialog--human {
  color: var(--fr-text-soft);
  border-color: rgba(21,32,51,0.12);
}

body.fr-theme-light .fr-footer {
  background: #fffaf0;
  color: #443a2a;
  border-top-color: rgba(68,58,42,0.2);
}

body.fr-theme-light .fr-back-to-top {
  background: radial-gradient(circle at 30% 0, #fdd65e, #f4f1a4);
  color: #1b1b1b;
}
