/*
 Theme Name:   globalnomad-child
 Theme URI:    https://globalnomad.blog
 Description:  Astra Child Theme for globalnomad.blog — CSS styling only, no template overrides
 Author:       Parminder Brar
 Template:     astra
 Version:      2.0.0
 Text Domain:  globalnomad-child
*/

/* ============================================================
   GOOGLE FONTS
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500;1,600&family=Nunito+Sans:wght@300;400;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600&display=swap');

/* ============================================================
   COLOUR TOKENS
   ============================================================ */
:root {
  --gn-slate:      #1B2A4A;
  --gn-gold:       #B8972A;
  --gn-gold-light: #D9BF6E;
  --gn-bg:         #F9F7F4;
  --gn-white:      #FFFFFF;
  --gn-text:       #2C2C2C;
  --gn-muted:      #5A5A5A;
  --gn-rule:       #D9CBA3;
}

/* ============================================================
   BODY & BASE
   ============================================================ */
body {
  background-color: var(--gn-bg) !important;
  color: var(--gn-text) !important;
  font-family: 'Lora', Georgia, serif !important;
  font-size: 18px !important;
  line-height: 1.8 !important;
}

/* ============================================================
   ALL HEADINGS
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.widget-title,
.ast-blog-single-element,
.site-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  color: var(--gn-slate) !important;
  line-height: 1.25 !important;
}

/* ============================================================
   LINKS
   ============================================================ */
a {
  color: var(--gn-gold) !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}
a:hover {
  color: var(--gn-slate) !important;
}

/* ============================================================
   HEADER / NAV — Navy bar with gold underline
   ============================================================ */
.site-header,
.ast-primary-header-bar,
#masthead,
.ast-desktop-header {
  background-color: var(--gn-slate) !important;
  border-bottom: 3px solid var(--gn-gold) !important;
  box-shadow: none !important;
}

/* Site title */
.site-title a,
.ast-site-name-wrap .site-title a {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 0.01em !important;
}
.site-title a:hover {
  color: var(--gn-gold) !important;
}

/* Tagline */
.site-description,
.ast-site-tagline {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.75rem !important;
  color: var(--gn-gold-light) !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

/* Nav links */
.main-navigation a,
.ast-nav-menu > li > a,
.nav-menu li a,
#site-navigation a,
.ast-desktop-header .ast-nav-menu > li > a {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.80rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.88) !important;
  transition: color 0.25s ease !important;
}
.main-navigation a:hover,
.ast-nav-menu > li > a:hover,
.ast-nav-menu > li.current-menu-item > a,
#site-navigation a:hover {
  color: var(--gn-gold) !important;
  background: transparent !important;
}

/* Mobile hamburger icon */
.ast-mobile-menu-buttons,
button.ast-mobile-menu-trigger-minimal,
.menu-toggle {
  color: #ffffff !important;
}

/* Mobile nav drawer */
.ast-mobile-header-wrap,
.ast-header-break-point .main-navigation,
.ast-mobile-nav-wrap {
  background-color: var(--gn-slate) !important;
}
.ast-mobile-header-wrap a,
.ast-header-break-point .main-navigation a {
  color: rgba(255,255,255,0.88) !important;
}

/* ============================================================
   PAGE / POST CONTENT AREA
   ============================================================ */
.entry-content,
.page-content,
.ast-page-builder-template,
.post-content {
  color: var(--gn-text) !important;
}

.entry-content p,
.page-content p {
  font-family: 'Lora', Georgia, serif !important;
  font-size: 1.05rem !important;
  line-height: 1.85 !important;
  color: var(--gn-text) !important;
}

/* Entry titles on archive/blog pages */
.entry-title a {
  color: var(--gn-slate) !important;
  font-family: 'Playfair Display', Georgia, serif !important;
}
.entry-title a:hover {
  color: var(--gn-gold) !important;
}

/* Post meta (date, author) */
.entry-meta,
.posted-on,
.post-author,
.ast-post-meta,
.ast-blog-single-element.ast-meta-author,
.ast-blog-single-element.ast-meta-date {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.78rem !important;
  color: var(--gn-muted) !important;
  letter-spacing: 0.05em !important;
}

/* ============================================================
   BLOCKQUOTE / PULL QUOTE
   ============================================================ */
blockquote {
  border-left: 4px solid var(--gn-gold) !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  background: var(--gn-white) !important;
  padding: 1.6rem 2rem 1.6rem 2.2rem !important;
  margin: 2rem 0 !important;
  font-family: 'Playfair Display', Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.2rem !important;
  color: var(--gn-slate) !important;
  line-height: 1.6 !important;
}

/* ============================================================
   SIDEBAR WIDGETS
   ============================================================ */
.widget-area,
.ast-sidebar-wrap {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.9rem !important;
}
.widget-title,
.widgettitle {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1rem !important;
  color: var(--gn-slate) !important;
  border-bottom: 2px solid var(--gn-rule) !important;
  padding-bottom: 0.5rem !important;
  margin-bottom: 1rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */
.ast-btn,
.button,
.wp-block-button__link,
input[type="submit"],
button[type="submit"] {
  background-color: var(--gn-gold) !important;
  color: #ffffff !important;
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  border: none !important;
  padding: 0.65rem 1.6rem !important;
  transition: background-color 0.25s ease !important;
}
.ast-btn:hover,
.button:hover,
.wp-block-button__link:hover,
input[type="submit"]:hover {
  background-color: var(--gn-slate) !important;
  color: #ffffff !important;
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
#colophon,
.ast-footer-area,
footer.site-footer {
  background-color: var(--gn-slate) !important;
  border-top: 3px solid var(--gn-gold) !important;
  color: rgba(255,255,255,0.72) !important;
}
.site-footer *,
#colophon * {
  color: rgba(255,255,255,0.72) !important;
}
.site-footer a,
#colophon a {
  color: var(--gn-gold-light) !important;
}
.site-footer a:hover,
#colophon a:hover {
  color: #ffffff !important;
}
.site-footer .widget-title,
#colophon .widget-title {
  color: #ffffff !important;
  border-color: rgba(255,255,255,0.2) !important;
}
.ast-footer-copyright,
.ast-footer-copyright * {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.76rem !important;
  color: rgba(255,255,255,0.45) !important;
}

/* ============================================================
   FEATURED IMAGE CAPTIONS
   ============================================================ */
.wp-caption-text,
figcaption,
.wp-element-caption {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.75rem !important;
  color: var(--gn-muted) !important;
  text-align: center !important;
  letter-spacing: 0.04em !important;
}

/* ============================================================
   HORIZONTAL RULES
   ============================================================ */
hr {
  border: none !important;
  border-top: 1.5px solid var(--gn-rule) !important;
  margin: 2.5rem 0 !important;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.page-numbers {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  color: var(--gn-slate) !important;
  border: 1.5px solid var(--gn-rule) !important;
  padding: 0.4rem 0.9rem !important;
  border-radius: 2px !important;
}
.page-numbers.current,
.page-numbers:hover {
  background: var(--gn-gold) !important;
  color: #ffffff !important;
  border-color: var(--gn-gold) !important;
}

/* ============================================================
   CATEGORY / TAG LABELS
   ============================================================ */
.ast-blog-single-element.ast-post-category a,
.cat-links a,
.tags-links a {
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: var(--gn-gold) !important;
  border: 1.5px solid var(--gn-gold) !important;
  padding: 0.18rem 0.6rem !important;
  border-radius: 2px !important;
}

/* ============================================================
   SEARCH FORM
   ============================================================ */
.search-field {
  border: 1.5px solid var(--gn-rule) !important;
  border-radius: 2px !important;
  font-family: 'Nunito Sans', sans-serif !important;
  font-size: 0.88rem !important;
  padding: 0.5rem 0.9rem !important;
  color: var(--gn-text) !important;
  background: var(--gn-white) !important;
}
.search-field:focus {
  border-color: var(--gn-gold) !important;
  outline: none !important;
}
