/*
Theme Name: Astra Child
Template: astra
Version: 1.0
*/

/* ============================================
   GLOBAL VARIABLES
   ============================================ */
:root {
  --color-dark-green: #013220;
  --color-gold: #C9A84C;
  --color-off-white: #FAFAF7;
  --color-black: #0A0A0A;
  --color-light-gold: rgba(201,168,76,0.5);
  --color-faint-gold: rgba(201,168,76,0.1);
  --color-faint-gold-sep: rgba(201,168,76,0.3);
  --font-elegant: 'Cormorant Garamond', serif;
  --font-util: 'Raleway', sans-serif;
}

/* ============================================
   HEADER — BASE
   ============================================ */

.main-header-bar {
  background: var(--color-dark-green) !important;
  border-bottom: 1px solid var(--color-gold) !important;
  padding: 0 !important;
}

.main-header-bar .ast-container {
  padding: 0 40px !important;
}

.custom-logo {
  height: 40px !important;
  width: auto !important;
}

.site-description {
  display: none !important;
}

.site-title a,
.site-title a:visited {
  font-family: var(--font-elegant) !important;
  color: var(--color-gold) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0.5px !important;
}

.site-title a:hover {
  color: var(--color-off-white) !important;
}

/* ============================================
   HEADER — NAV LINKS
   ============================================ */

.main-header-bar .main-header-menu .menu-link,
.main-header-bar .main-header-menu a {
  font-family: var(--font-util) !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--color-gold) !important;
  text-decoration: none !important;
  background: transparent !important;
  padding: 4px 0 !important;
  border: none !important;
  line-height: 1 !important;
}

.main-header-bar .main-header-menu .menu-link:hover,
.main-header-bar .main-header-menu a:hover {
  color: var(--color-off-white) !important;
  background: transparent !important;
}

.main-header-bar .main-header-menu .menu-item {
  margin: 0 12px !important;
}

/* Active box — excludes lang, rejoindre, follow, cercle */
.main-header-bar .main-header-menu .current-menu-item:not(.lang-item):not(.menu-cercle):not(.menu-rejoindre):not(.menu-follow) .menu-link,
.main-header-bar .main-header-menu .current-menu-ancestor:not(.lang-item):not(.menu-cercle):not(.menu-rejoindre):not(.menu-follow) .menu-link,
.main-header-bar .main-header-menu .current_page_item:not(.lang-item):not(.menu-cercle):not(.menu-rejoindre):not(.menu-follow) .menu-link,
.main-header-bar .main-header-menu .current_page_ancestor:not(.lang-item):not(.menu-cercle):not(.menu-rejoindre):not(.menu-follow) .menu-link {
  border: 1px solid var(--color-gold) !important;
  padding: 5px 8px !important;
  color: var(--color-gold) !important;
  background: transparent !important;
}

.main-header-bar .main-header-menu .current-menu-item:not(.lang-item):not(.menu-cercle):not(.menu-rejoindre):not(.menu-follow) .menu-link:hover,
.main-header-bar .main-header-menu .current_page_item:not(.lang-item):not(.menu-cercle):not(.menu-rejoindre):not(.menu-follow) .menu-link:hover {
  background: var(--color-faint-gold) !important;
  color: var(--color-off-white) !important;
}

/* REJOINDRE — plain, never boxed */
.main-header-bar .main-header-menu .menu-rejoindre .menu-link,
.main-header-bar .main-header-menu .menu-rejoindre.current-menu-item .menu-link,
.main-header-bar .main-header-menu .menu-rejoindre.current_page_item .menu-link {
  border: none !important;
  padding: 4px 0 !important;
  background: transparent !important;
  color: var(--color-gold) !important;
}

.main-header-bar .main-header-menu .menu-rejoindre .menu-link:hover {
  color: var(--color-off-white) !important;
  border: none !important;
}

/* FOLLOW — plain, never boxed */
.main-header-bar .main-header-menu .menu-follow .menu-link,
.main-header-bar .main-header-menu .menu-follow.current-menu-item .menu-link,
.main-header-bar .main-header-menu .menu-follow.current_page_item .menu-link {
  border: none !important;
  padding: 4px 0 !important;
  background: transparent !important;
  color: var(--color-gold) !important;
}

.main-header-bar .main-header-menu .menu-follow .menu-link:hover {
  color: var(--color-off-white) !important;
  border: none !important;
}

/* CERCLE — button */
.main-header-bar .main-header-menu .menu-cercle .menu-link {
  border: 1px solid var(--color-gold) !important;
  padding: 8px 16px !important;
  line-height: 1 !important;
}

.main-header-bar .main-header-menu .menu-cercle .menu-link:hover {
  background: var(--color-gold) !important;
  color: var(--color-black) !important;
}

.main-header-bar-wrap {
  border-bottom: none !important;
}

/* Force gold border visible on transparent header */
.ast-header-break-point .main-header-bar,
.ast-theme-transparent-header .main-header-bar,
.ast-transparent-header .main-header-bar {
  border-bottom: 1px solid var(--color-gold) !important;
}

/* ============================================
   POLYLANG LANGUAGE SWITCHER
   ============================================ */

.main-header-bar .main-header-menu .lang-item,
.main-header-bar .main-header-menu .lang-item.current-menu-item,
.main-header-bar .main-header-menu .lang-item.current_page_item,
.main-header-bar .main-header-menu .lang-item.current-lang {
  border: none !important;
}

.main-header-bar .main-header-menu .lang-item .menu-link,
.main-header-bar .main-header-menu .lang-item a,
.main-header-bar .main-header-menu .lang-item.current-menu-item .menu-link,
.main-header-bar .main-header-menu .lang-item.current_page_item .menu-link,
.main-header-bar .main-header-menu .lang-item.current-lang .menu-link,
.main-header-bar .main-header-menu .lang-item.current-lang a {
  border: none !important;
  padding: 4px 0 !important;
  background: transparent !important;
  color: var(--color-light-gold) !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

.main-header-bar .main-header-menu .lang-item.current-lang .menu-link,
.main-header-bar .main-header-menu .lang-item.current-lang a {
  color: var(--color-gold) !important;
  font-weight: 700 !important;
}

.main-header-bar .main-header-menu .lang-item .menu-link:hover,
.main-header-bar .main-header-menu .lang-item a:hover {
  color: var(--color-off-white) !important;
  background: transparent !important;
  border: none !important;
}

.main-header-bar .main-header-menu .lang-item:first-of-type {
  position: relative !important;
  margin-left: 20px !important;
}

.main-header-bar .main-header-menu .lang-item:first-of-type::before {
  content: '' !important;
  position: absolute !important;
  left: -14px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  height: 14px !important;
  width: 1px !important;
  background: rgba(201,168,76,0.4) !important;
}

.main-header-bar .main-header-menu .lang-item img {
  display: none !important;
}

/* ============================================
   MOBILE HEADER
   ============================================ */

.ast-mobile-menu-buttons .menu-toggle .mobile-menu,
.ast-mobile-menu-buttons .menu-toggle .ast-mobile-menu-trigger,
.ast-button-wrap .menu-toggle .mobile-menu {
  display: none !important;
}

.ast-button-wrap .menu-toggle,
.ast-mobile-menu-buttons button,
.ast-mobile-menu-buttons .menu-toggle {
  background: transparent !important;
  border: none !important;
  color: var(--color-gold) !important;
  padding: 8px !important;
  min-width: 40px !important;
  min-height: 40px !important;
}

.ast-button-wrap .menu-toggle .ast-mobile-menu-trigger-minimal span {
  background: var(--color-gold) !important;
}

.ast-mobile-header-wrap,
#ast-mobile-header,
.ast-below-header-wrap,
.ast-mobile-header-content {
  background: var(--color-dark-green) !important;
  border-top: 1px solid var(--color-faint-gold-sep) !important;
}

.ast-mobile-header-wrap .main-header-menu,
#ast-mobile-header .main-header-menu {
  background: var(--color-dark-green) !important;
}

#ast-mobile-header .menu-item,
.ast-mobile-header-wrap .menu-item {
  background: var(--color-dark-green) !important;
  border-bottom: 1px solid var(--color-faint-gold) !important;
}

#ast-mobile-header .menu-link,
#ast-mobile-header a,
.ast-mobile-header-wrap .menu-link,
.ast-mobile-header-wrap a {
  font-family: var(--font-util) !important;
  color: var(--color-gold) !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 16px 20px !important;
  background: var(--color-dark-green) !important;
  display: block !important;
  text-align: center !important;
}

#ast-mobile-header .site-title a,
.ast-mobile-header-wrap .site-title a {
  font-family: var(--font-elegant) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-transform: none !important;
  color: var(--color-gold) !important;
  padding: 0 !important;
  text-align: left !important;
}

#ast-mobile-header .menu-link:hover,
.ast-mobile-header-wrap .menu-link:hover {
  color: var(--color-off-white) !important;
  background: rgba(0,0,0,0.1) !important;
}

#ast-mobile-header .lang-item .menu-link,
.ast-mobile-header-wrap .lang-item .menu-link {
  color: var(--color-light-gold) !important;
  letter-spacing: 2px !important;
}

#ast-mobile-header .lang-item.current-lang .menu-link,
.ast-mobile-header-wrap .lang-item.current-lang a {
  color: var(--color-gold) !important;
  font-weight: 700 !important;
}

.ast-mobile-menu-overlay {
  background: rgba(1,50,32,0.95) !important;
}

/* ============================================
   HOMEPAGE
   ============================================ */

.home .entry-content,
.home .site-content,
.home #content {
  margin: 0 !important;
  padding: 0 !important;
}

.med-pillar-link {
  color: inherit !important;
  text-decoration: none !important;
  cursor: default;
  pointer-events: none;
}

/* ============================================
   JOURNAL ARCHIVE — BACKGROUND
   ============================================ */

body.archive,
body.category,
body.blog {
  background-image: url('https://maison-esmeralda-dakar.com/wp-content/uploads/2026/03/MaisonEsmeraldaDakar_bg.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
  background-color: var(--color-dark-green) !important;
}

body.archive::before,
body.category::before,
body.blog::before {
  content: '' !important;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(1, 20, 10, 0.78) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

body.archive #page,
body.category #page,
body.blog #page,
body.archive #content,
body.category #content,
body.blog #content,
body.archive #primary,
body.category #primary,
body.blog #primary,
body.archive #main,
body.category #main,
body.blog #main,
body.archive .site,
body.category .site,
body.blog .site,
body.archive .site-content,
body.category .site-content,
body.blog .site-content,
body.archive .site-main,
body.category .site-main,
body.blog .site-main {
  background: transparent !important;
  position: relative !important;
  z-index: 1 !important;
}

body.archive .site-main,
body.category .site-main,
body.blog .site-main {
  padding-top: 60px !important;
  padding-bottom: 80px !important;
}

/* ============================================
   JOURNAL ARCHIVE — PAGE TITLE
   ============================================ */

body.blog .page-header,
body.archive .page-header,
body.category .page-header {
  max-width: 680px !important;
  margin: 0 auto 40px !important;
  padding: 0 !important;
}

body.blog .page-title,
body.archive .page-title,
body.category .page-title {
  font-family: var(--font-util) !important;
  font-size: 11px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--color-gold) !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

/* ============================================
   JOURNAL ARCHIVE — POST CARDS
   ============================================ */

body.archive article,
body.category article,
body.blog article {
  background: transparent !important;
  border: none !important;
  border-top: 1px solid rgba(201, 168, 76, 0.4) !important;
  border-radius: 0 !important;
  padding: 40px 0 !important;
  margin: 0 auto !important;
  max-width: 680px !important;
  box-shadow: none !important;
  display: block !important;
  position: relative !important;
  z-index: 1 !important;
}

body.archive article:last-of-type,
body.category article:last-of-type,
body.blog article:last-of-type {
  border-bottom: 1px solid rgba(201, 168, 76, 0.4) !important;
}

body.archive article:hover,
body.category article:hover,
body.blog article:hover {
  background: transparent !important;
  transform: none !important;
}

/* ============================================
   JOURNAL ARCHIVE — ENTRY TITLE
   ============================================ */

body.archive .entry-title a,
body.archive .entry-title a:visited,
body.category .entry-title a,
body.category .entry-title a:visited,
body.blog .entry-title a,
body.blog .entry-title a:visited {
  font-family: var(--font-elegant) !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.2px !important;
  line-height: 1.2 !important;
  color: var(--color-off-white) !important;
  text-decoration: none !important;
  background: transparent !important;
}

body.archive .entry-title a:hover,
body.category .entry-title a:hover,
body.blog .entry-title a:hover {
  color: var(--color-gold) !important;
}

/* ============================================
   JOURNAL ARCHIVE — EXCERPT
   ============================================ */

body.archive .entry-summary,
body.archive .entry-summary p,
body.category .entry-summary,
body.category .entry-summary p,
body.blog .entry-summary,
body.blog .entry-summary p {
  font-family: var(--font-elegant) !important;
  font-size: 19px !important;
  color: var(--color-off-white) !important;
  line-height: 1.8 !important;
  background: transparent !important;
  margin-top: 16px !important;
}

/* ============================================
   JOURNAL ARCHIVE — META
   ============================================ */

body.archive .posted-by,
body.category .posted-by,
body.blog .posted-by,
body.archive .byline,
body.category .byline,
body.blog .byline,
body.archive .cat-links,
body.category .cat-links,
body.blog .cat-links {
  display: none !important;
}

body.archive .entry-meta,
body.archive .entry-meta *,
body.category .entry-meta,
body.category .entry-meta *,
body.blog .entry-meta,
body.blog .entry-meta * {
  font-family: var(--font-util) !important;
  color: var(--color-gold) !important;
  font-size: 10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  background: transparent !important;
  margin-bottom: 12px !important;
}

body.archive .more-link,
body.category .more-link,
body.blog .more-link {
  font-family: var(--font-util) !important;
  color: var(--color-gold) !important;
  font-size: 10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-top: 24px !important;
}

body.archive .more-link:hover,
body.category .more-link:hover,
body.blog .more-link:hover {
  color: var(--color-off-white) !important;
}

/* ============================================
   SINGLE POST — LAYOUT
   ============================================ */

body.single-post,
.single-post .site-content,
.single-post .site-main,
.single-post article {
  background: var(--color-off-white) !important;
}

.single-post .site-main {
  padding: 0 !important;
}

.single-post article {
  max-width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  border-top: 2px solid var(--color-gold) !important;
}

.single-post .entry-title,
.single-post .entry-meta {
  display: none !important;
}

.single-post .entry-content {
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 72px 24px 80px !important;
  background: var(--color-off-white) !important;
}

/* ============================================
   SINGLE POST — TYPOGRAPHY
   ============================================ */

.single-post .entry-content h1 {
  font-family: var(--font-elegant) !important;
  color: var(--color-dark-green) !important;
  font-size: 38px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.2px !important;
  margin: 0 0 32px 0 !important;
}

.single-post .entry-content h2 {
  font-family: var(--font-elegant) !important;
  color: var(--color-dark-green) !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.7 !important;
  margin: 48px 0 20px !important;
}

.single-post .entry-content h3 {
  font-family: var(--font-elegant) !important;
  color: var(--color-dark-green) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  font-style: italic !important;
  line-height: 1.6 !important;
  margin: 40px 0 16px !important;
}

.single-post .entry-content p {
  font-family: var(--font-elegant) !important;
  color: #1A1A1A !important;
  font-size: 19px !important;
  line-height: 1.9 !important;
  margin-bottom: 28px !important;
}

.single-post .entry-content p.is-style-intro {
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.85 !important;
  margin-bottom: 40px !important;
}

.single-post .entry-content p.is-style-tag {
  font-family: var(--font-util) !important;
  color: var(--color-gold) !important;
  font-size: 10px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  margin-bottom: 48px !important;
}

.single-post .entry-content p.is-style-section-label {
  font-family: var(--font-util) !important;
  color: var(--color-gold) !important;
  font-size: 10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  margin: 56px 0 16px !important;
}

.single-post .entry-content p.is-style-closing {
  font-family: var(--font-elegant) !important;
  font-size: 21px !important;
  color: var(--color-dark-green) !important;
  font-style: italic !important;
  line-height: 1.8 !important;
  margin-top: 48px !important;
}

.single-post .entry-content .wp-block-separator {
  border: none !important;
  border-top: 1px solid #E0D8C8 !important;
  margin: 48px 0 !important;
}

.single-post .entry-content .wp-block-separator.is-style-gold {
  border-top-color: var(--color-gold) !important;
}

.single-post .entry-content a {
  color: var(--color-dark-green) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.single-post .entry-content a:hover {
  color: var(--color-gold) !important;
}

/* ============================================
   SINGLE POST — IMAGE BLOCKS
   ============================================ */

.single-post .entry-content .wp-block-image {
  text-align: center !important;
  margin: 48px auto !important;
  max-width: 80px !important;
  width: 80px !important;
  display: block !important;
}

.single-post .entry-content .wp-block-image img {
  max-width: 80px !important;
  width: 80px !important;
  height: auto !important;
  display: block !important;
  margin: 0 auto !important;
}

/* ============================================
   SINGLE POST — BUTTONS
   ============================================ */

.single-post .entry-content .wp-block-buttons {
  text-align: center !important;
  margin-top: 48px !important;
  margin-bottom: 16px !important;
}

.single-post .entry-content .wp-block-button__link {
  background: var(--color-dark-green) !important;
  color: var(--color-gold) !important;
  font-family: var(--font-util) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 14px 40px !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  border: 1px solid transparent !important;
}

.single-post .entry-content .wp-block-button__link:hover {
  background: transparent !important;
  color: var(--color-dark-green) !important;
  border-color: var(--color-dark-green) !important;
}

/* ============================================
   SINGLE POST — NAVIGATION
   ============================================ */

.single-post .post-navigation,
.single-post .nav-links {
  max-width: 720px !important;
  margin: 0 auto !important;
  padding: 40px 24px 60px !important;
  border-top: 1px solid rgba(201,168,76,0.3) !important;
  display: flex !important;
  justify-content: space-between !important;
  background: var(--color-off-white) !important;
}

.single-post .nav-previous a,
.single-post .nav-next a {
  font-family: var(--font-util) !important;
  font-size: 10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--color-gold) !important;
  text-decoration: none !important;
}

.single-post .nav-previous a:hover,
.single-post .nav-next a:hover {
  color: var(--color-dark-green) !important;
}

.single-post .nav-previous .nav-subtitle,
.single-post .nav-next .nav-subtitle {
  display: none !important;
}

.single-post .entry-content .wp-block-group.is-style-back-nav a,
.single-post .back-to-journal a {
  font-family: var(--font-util) !important;
  font-size: 10px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--color-gold) !important;
  text-decoration: none !important;
}

.single-post .cat-links,
.single .cat-links {
  display: none !important;
}

/* ============================================
   SINGLE POST — JOURNAL CUSTOM CLASSES
   ============================================ */

.single-post .entry-content p.med-journal-eyebrow {
  font-family: var(--font-util) !important;
  font-size: 10px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--color-gold) !important;
  font-weight: 400 !important;
  margin-bottom: 16px !important;
  line-height: 1 !important;
}

.single-post .entry-content h1.med-journal-title {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.single-post .entry-content p.med-journal-standfirst {
  font-family: var(--font-elegant) !important;
  font-size: 20px !important;
  font-style: italic !important;
  color: var(--color-dark-green) !important;
  line-height: 1.7 !important;
  margin-bottom: 56px !important;
  padding-left: 20px !important;
  border-left: 2px solid var(--color-gold) !important;
}

.single-post .entry-content h2.med-journal-h2 {
  margin-top: 56px !important;
  margin-bottom: 24px !important;
}

.single-post .entry-content p.med-journal-pullquote {
  font-family: var(--font-elegant) !important;
  font-size: 22px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  text-align: center !important;
  color: var(--color-dark-green) !important;
  line-height: 1.7 !important;
  margin: 48px 40px !important;
  padding: 32px 40px !important;
  border-top: 1px solid rgba(201,168,76,0.4) !important;
  border-bottom: 1px solid rgba(201,168,76,0.4) !important;
}

.med-journal-footer-divider {
  margin: 48px 0 32px 0 !important;
  border: none !important;
  border-top: 1px solid rgba(201,168,76,0.3) !important;
}

.med-journal-footer-cta {
  margin-bottom: 16px !important;
}

.med-waitlist-button {
  display: inline-block !important;
  margin-top: 12px !important;
  padding: 14px 40px !important;
  background-color: var(--color-dark-green) !important;
  color: var(--color-gold) !important;
  font-family: var(--font-util) !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-decoration: none !important;
  font-size: 10px !important;
  text-transform: uppercase !important;
  border: 1px solid transparent !important;
}

.med-waitlist-button:hover {
  background: transparent !important;
  color: var(--color-dark-green) !important;
  border-color: var(--color-dark-green) !important;
}

.med-journal-footer-social {
  font-family: var(--font-util) !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--color-dark-green) !important;
  margin-top: 24px !important;
}

.med-journal-footer-social a {
  color: var(--color-dark-green) !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--color-gold) !important;
}

.med-journal-footer-social a:hover {
  color: var(--color-gold) !important;
}

/* ============================================
   FOOTER
   ============================================ */

.site-footer,
.footer-widget-area,
.ast-small-footer {
  background: var(--color-black) !important;
  border-top: 1px solid var(--color-faint-gold-sep) !important;
}

.ast-small-footer,
.ast-small-footer a,
.footer-copy {
  font-family: var(--font-util) !important;
  color: var(--color-gold) !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

.ast-small-footer a:hover {
  color: var(--color-off-white) !important;
}