/* Load every brand font weight the developer notes require.
   Kajabi only self-loads the two theme fonts in their default weights, so the
   Light / Medium / SemiBold / Bold cuts (and italics) used across the design
   are imported here explicitly — without this, browsers fake the weights. */
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Raleway:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap");

/* ==========================================================================
   AstroNavigations - global overrides
   Loaded after styles.css, so these rules win over the theme defaults.
   ========================================================================== */

/* 1. Cormorant Garamond everywhere -----------------------------------------
   Kajabi requests the font from Google Fonts because it is set in
   Settings > Style guide. These rules stop anything falling back. */
:root { --astro-font: "Cormorant Garamond", "EB Garamond", Garamond, "Times New Roman", serif; }

body, button, input, select, textarea,
h1, h2, h3, h4, h5, h6,
p, a, li, span, blockquote, figcaption, label,
.btn, .link-list__link, .logo__text {
  font-family: var(--astro-font);
}

/* 2. Astro blocks ---------------------------------------------------------- */
[class*="block-type--astro_"] img { max-width: 100%; height: auto; }
[class*="block-type--astro_"] p,
[class*="block-type--astro_"] h1,
[class*="block-type--astro_"] h2,
[class*="block-type--astro_"] h3,
[class*="block-type--astro_"] h4 { overflow-wrap: break-word; }

/* Cards and testimonials fill their column so a row stays even, whatever the
   copy length. Works with the section's "Equal height blocks" setting. */
.block-type--astro_card > .block { height: 100%; }


/* 4. Bleed images sit flush on the section edge ---------------------------- */
.block-type--astro_media .astro-media { max-width: 100%; }

/* ==========================================================================
   5. HEADER - matches the hero nav bar in the design
   Kajabi's own Header section is used (Sections > Header), not a block.
   ========================================================================== */
.header {
  background-color: transparent;
  border-bottom: 1px solid rgba(201, 169, 110, .35);
}
.header .header__container { max-width: 1340px; }
.header .link-list__link,
.header .header__block a {
  text-transform: uppercase;
  letter-spacing: .16em;
  transition: color .18s ease;
}
.header .link-list__link:hover { color: #C9A96E; }

/* Gold pipe between the top-level menu items */
.header .link-list__links { display: flex; align-items: center; gap: 18px; }

@media(min-width: 768px){
.header .link-list__links > a + a::before,
.header .header__block .link-list__link + .link-list__link::before {
  content: "|";
  color: #C9A96E;
  opacity: .7;
  margin-right: 18px;
  display: inline-block;
}
}

.header .logo__image { width: 90px; }

/* Sticky state gets the solid navy so links stay readable over pale sections */
.header--sticky { border-bottom-color: rgba(201, 169, 110, .5); }
.astro-content__divider svg {
    color: #C9A96E;
    margin: inherit;
}
@media (max-width: 767px) {
  .header .link-list__links { justify-content: center; }
  .header .link-list__links > a + a::before { margin-right: 12px; }
}

/* ==========================================================================
   6. FOOTER - Kajabi's own Footer section (Sections > Footer)
   The menu is rendered through block.liquid, so it arrives carrying a grid
   class (col-6 = 50% width). That is what broke the row. Neutralised below.
   ========================================================================== */
.footer {
  background-image: url("astro-bg-hero-navy.jpg");
  background-size: cover;
  background-position: center;
  position: relative;
}

@media (min-width: 992px) {
  .footer .footer__container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center;
    justify-content: space-between;
    gap: 0 20px;
    max-width: 1340px;
  }
  .footer .footer__container > .footer__block { flex: 1 1 auto; margin: 0; min-width: 0; }
  .footer .footer__container > .footer__block--astro-sep { flex: 0 0 auto; }
  .footer .footer__container > .footer__block--astro-legal { flex: 0 0 100%; width: 100%; }
  /* grid classes have no business inside the footer row */
  .footer .footer__container > [class*="col-"] {
    width: auto !important;
    flex: 1 1 auto;
    padding: 0 !important;
    margin: 0 !important;
  }
}

.footer .link-list__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 34px; }
.footer .link-list__link { text-decoration: none; margin: 0 !important; transition: opacity .18s ease; }
.footer .link-list__link:hover { opacity: .78; }

@media (max-width: 991px) {
  .footer .footer__container { text-align: center; }
  .footer .footer__block { margin: 14px 0; }
}

/* ==========================================================================
   7. Scroll performance
   No scroll-behaviour rules anywhere in this file.
   ========================================================================== */
.section, .footer, .header { background-attachment: scroll; }

/* ==========================================================================
   6. Homepage v7 — client developer notes (Aug 2026)
   Kept deliberately small: hovers, a few fixed weights the blocks have no
   setting for, the mobile testimonial slider, and mobile layout polish.
   All images/backgrounds are uploaded in the editor — nothing is bundled.
   ========================================================================== */

/* Nav menu is the one element the notes put in Raleway (Medium, white) */
.header .link-list__link,
.header .header__block a,
.mobile-menu a {
  font-family: "Raleway", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 500;
  color: #FFFFFF;
}
.header .link-list__link:hover { color: #C9A96E; }
/* Mobile menu stays clean — no decorative dividers (mobile hero note) */
.mobile-menu a::before,
.mobile-menu .link-list__link + .link-list__link::before { content: none !important; }

/* Buttons: Cormorant Garamond Bold + the premium gold glow on hover */
#section-astro_hero .btn,
#section-astro_optin .btn {
  font-family: var(--astro-font) !important;
  font-weight: 700;
  transition: box-shadow .25s ease, filter .25s ease;
}
#section-astro_hero .btn:hover,
#section-astro_optin .btn:hover {
  filter: brightness(1.06);
  box-shadow: 0 0 20px rgba(201, 169, 110, .5);
}

/* Reading cards: subtle premium hover — brighter gold border, soft glow */
.block-type--astro_card .astro-card {
  transition: box-shadow .28s ease, border-color .28s ease, transform .28s ease;
}
.block-type--astro_card .astro-card:hover {
  border-color: #E4C892 !important;
  box-shadow: 0 0 26px rgba(201, 169, 110, .38);
}

/* Testimonials: reading type SemiBold, review text Regular (no settings) */
#section-astro_testimonials .astro-quote__role { font-weight: 600; }
#section-astro_testimonials .astro-quote__body { font-weight: 400; }

/* Section 2 edge constellations (desktop only, per the desktop note).
   ADD AFTER UPLOAD: upload the supplied Edge_Constellation SVG to the media
   library, then paste its URL below and remove the surrounding comment.
#section-astro_video { overflow: hidden; position: relative; }
@media (min-width: 992px) {
  #section-astro_video::before {
    content: "";
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 114%; height: 100%;
    background: url("PASTE-UPLOADED-SVG-URL-HERE") no-repeat center / 100% auto;
    pointer-events: none;
  }
  #section-astro_video .container { position: relative; z-index: 1; }
}
*/

/* --------------------------- Mobile layer -------------------------------- */
@media (max-width: 767px) {
  /* Comfortable side margins across the homepage sections */
  #section-astro_hero .container,
  #section-astro_video .container,
  #section-astro_about .container,
  #section-astro_testimonials .container,
  #section-astro_optin .container { padding-left: 26px; padding-right: 26px; }

  /* Hero: stacked cards slightly narrower than the screen, centered; CTA
     with generous margins, tap-friendly but not oversized */
  #section-astro_hero .astro-card { max-width: 340px; margin-left: auto; margin-right: auto; }
  #section-astro_hero .block-type--astro_card { margin-bottom: 22px; }
  #section-astro_hero .btn { display: inline-block; min-width: 230px; max-width: 82%; }
  #section-astro_hero .astro-content__note { margin-top: 18px; line-height: 1.5; }

  /* Section 4 card hierarchy: mark → name → reading type → review */
  #section-astro_testimonials .astro-quote { display: flex; flex-direction: column; }
  #section-astro_testimonials .astro-quote__mark { order: -2; }
  #section-astro_testimonials .astro-quote__meta { order: -1; padding-top: 0; margin: 6px 0 14px; }
  #section-astro_testimonials .astro-quote__body { order: 0; }
  #section-astro_testimonials .astro-content__note { margin-top: 20px; font-size: 14px; opacity: .85; }

  /* Section 4: one-card-at-a-time swipe slider (wrapper built in scripts.js) */
  .astro-tslider {
    display: flex !important;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    width: 100%;
    gap: 14px;
    padding: 4px 2px 8px;
    padding-top: 20px;
  }
  .astro-tslider::-webkit-scrollbar { display: none; }
  .astro-tslider > .block-type--astro_quote {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    scroll-snap-align: center;
    float: none !important;
  }
  .astro-tslider-dots { display: flex; justify-content: center; gap: 8px; width: 100%; margin: 14px 0 4px; }
  .astro-tslider-dots span {
    width: 8px; height: 8px; border-radius: 50%;
    background: rgba(201, 169, 110, .35);
    transition: background .2s ease, transform .2s ease;
  }
  .astro-tslider-dots span.is-active { background: #C9A96E; transform: scale(1.2); }

  /* Section 3 / 5: images the script moves into the text flow */
  .astro-inflow { width: 100%; float: none; padding: 0; }
  #section-astro_about .astro-inflow { margin: 34px auto 38px; }
  #section-astro_about .astro-inflow img { max-width: 82%; display: block; margin: 0 auto; }
  #section-astro_about .astro-content__body p + p { margin-top: 26px; }
  #section-astro_optin .astro-inflow { margin: 26px auto 28px; }
  #section-astro_optin .astro-inflow img { max-width: 76%; display: block; margin: 0 auto; }
  #section-astro_optin .btn { display: inline-block; min-width: 230px; max-width: 82%; margin-top: 12px; }
  #section-astro_optin .astro-content__note { margin-top: 16px; }

  /* Footer: compact single column; the two zone separators are desktop-only,
     leaving one divider above the legal area as the mobile note specifies */
  .footer .astro-fsep { display: none; }
  .footer .footer__block { text-align: center; }
  .footer .link-list__links { flex-direction: column; gap: 14px; align-items: center; }
  .footer { padding-bottom: 34px; }
}
@media (min-width: 768px) {
  .astro-tslider { display: contents; }
  .astro-tslider-dots { display: none; }
}
