/* =====================================================================
   Imagine And Become — site chrome for homepage and membership.

   The homepage is the fully self-contained v5 "Vault" section; the membership
   page (Page 11) is the v2 "THE MIND" section. Both use the `.iab-*` design
   system with inline CSS in page content and external JS. ib-hero.css is no
   longer enqueued on either page. This file carries the header logo rules and
   full-bleed layout overrides for homepage, membership, FAQs, and About Us pages.
   ===================================================================== */

/* ----------------------- FULL-BLEED (edge-to-edge) -----------------------
   The block theme wraps page content in a constrained wrapper
   (.entry-content.has-global-padding.is-layout-constrained) that caps every
   direct child at the 700px global content size and centres it with auto
   margins. The Vault section is a full-bleed band — its aurora, glows and
   section bands have to reach the viewport edges — so we neutralise the cage
   here. These are the same rules ib-hero.css applies to .ib-million on the
   membership page, retargeted at .iab; they were part of the hero stylesheet
   that the homepage no longer loads.

   No 100vw anywhere: that would overflow by the scrollbar width. We only drop
   the wrapper's side padding and the child's max-width/centering, so the
   section fills a parent that is already exactly viewport-wide. The section
   keeps its own responsive gutters via .iab__wrap. */
.home .entry-content.has-global-padding,
.page-id-9 .entry-content.has-global-padding,
.page-id-11 .entry-content.has-global-padding,
.page-id-67 .entry-content.has-global-padding,
.page-id-69 .entry-content.has-global-padding,
.page-faqs .entry-content.has-global-padding {
  padding-left: 0;
  padding-right: 0;
}
.home .entry-content > .iab,
.home .entry-content > .iabf,
.home .entry-content > .iab-ft,
.page-id-9 .entry-content > .iab,
.page-id-9 .entry-content > .iabf,
.page-id-9 .entry-content > .iab-ft,
.page-id-11 .entry-content > .iab,
.page-id-67 .entry-content > .iab,
.page-id-69 .entry-content > .ib-what,
.page-faqs .entry-content > .iab {
  max-width: none;
  width: auto;
  margin-left: 0;
  margin-right: 0;
}
/* Belt-and-suspenders in case the section is not a direct child. */
.home .iab,
.home .iabf,
.home .iab-ft,
.page-id-9 .iab,
.page-id-9 .iabf,
.page-id-9 .iab-ft,
.page-id-11 .iab,
.page-id-67 .iab,
.page-id-69 .ib-what,
.page-faqs .iab {
  max-width: none;
}

/* ----------------------- Header logo (block-theme site header) -----------------------
   Injected as a flex sibling of the site title by iab_inject_header_logo(). */
.iab-brand-logo {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  margin-right: 14px;
  flex: none;
  border-radius: 12px;
  transition: transform .25s ease, filter .25s ease;
}
.iab-brand-logo img {
  display: block;
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 11px;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,.4)) drop-shadow(0 0 12px rgba(212,175,55,.28));
}
.iab-brand-logo:hover { transform: translateY(-1px) scale(1.04); }
@media (max-width: 600px) {
  .iab-brand-logo img { width: 40px; height: 40px; }
}

/* ---------------------------------------------------------------------------
   Homepage-only: fully remove the newsletter from the front page.
   The "Subscribe to our newsletter" heading, description, email input and
   Subscribe button live in the shared global footer template part. On the
   homepage we hide the entire footer body group so there is NO newsletter and
   NO leftover empty band/gap — the page ends cleanly after the last section.
   Scoped to `body.home` (and this stylesheet only loads on the front page), so
   every OTHER page keeps its full footer (menu, contacts, socials, subscribe,
   copyright) intact. display:none is fully reversible (deactivating the plugin
   removes this CSS) and hidden from assistive tech; the shared template markup
   is NOT modified.
   --------------------------------------------------------------------------- */
body.home .site-footer > .wp-block-group { display: none !important; }

/* ---------------------------------------------------------------------------
   Membership page (Page 11): hide the shared footer body (menu, contacts,
   newsletter) so the page ends after the categories section — same technique
   as body.home above. Scoped to page-id-11 only; other pages unchanged.
   --------------------------------------------------------------------------- */
body.page-id-11 .site-footer > .wp-block-group { display: none !important; }

/* ---------------------------------------------------------------------------
   Membership page: hide the theme's duplicate page title band (Hostinger AI
   "Membership" h1 above the .iab section). Rule lived in ib-hero.css before
   the v2 membership stack stopped loading that stylesheet.
   --------------------------------------------------------------------------- */
.page-id-11 main > .wp-block-group:has(.hostinger-ai-page-title),
.page-id-11 .hostinger-ai-page-title {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   Membership page: suppress the gold/yellow hover pill on the active Membership
   header link only (current-menu-item on this page). ib-nav focus-visible
   keyboard affordances are untouched.
   --------------------------------------------------------------------------- */
.page-id-11 .site-header .hostinger-ai-site-navigation .current-menu-item > a.wp-block-navigation-item__content:hover {
  color: var(--wp--preset--color--color-2, #1A2233) !important;
  text-shadow: none !important;
  background-color: transparent !important;
}
.page-id-11 .site-header .hostinger-ai-site-navigation .current-menu-item > a.wp-block-navigation-item__content:hover::before {
  opacity: 0 !important;
  transform: scale(.94) !important;
}
.page-id-11 .site-header .hostinger-ai-site-navigation .current-menu-item > a.wp-block-navigation-item__content:hover::after {
  opacity: .5;
  transform: scaleX(1);
}

/* ---------------------------------------------------------------------------
   FAQs page (Page 67): hide shared footer + duplicate theme title band.
   page-faqs body class is not emitted by this theme; page-id-67 is used.
   Dynamic inline rules in iab_enqueue_faqs_assets() cover ID changes.
   --------------------------------------------------------------------------- */
body.page-id-67 .site-footer > .wp-block-group { display: none !important; }
body.page-id-69 .site-footer > .wp-block-group { display: none !important; }
.page-id-67 main > .wp-block-group:has(.hostinger-ai-page-title),
.page-id-67 .hostinger-ai-page-title,
.page-id-69 main > .wp-block-group:has(.hostinger-ai-page-title),
.page-id-69 .hostinger-ai-page-title,
.page-faqs main > .wp-block-group:has(.hostinger-ai-page-title),
.page-faqs .hostinger-ai-page-title {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   About Us page: full-bleed + hide theme footer/title band. Resolved page ID
   is injected at runtime via iab_enqueue_about_us_assets() inline styles.
   --------------------------------------------------------------------------- */
.page-about-us .entry-content.has-global-padding {
  padding-left: 0;
  padding-right: 0;
}
.page-about-us .entry-content > .ib-what,
.page-about-us .ib-what {
  max-width: none;
  width: auto;
  margin-left: 0;
  margin-right: 0;
}
body.page-about-us .site-footer > .wp-block-group { display: none !important; }
.page-about-us main > .wp-block-group:has(.hostinger-ai-page-title),
.page-about-us .hostinger-ai-page-title {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   Terms and Conditions page: full-bleed + hide theme footer/title band.
   Resolved page ID is injected at runtime via iab_enqueue_terms_assets().
   --------------------------------------------------------------------------- */
.page-terms-and-conditions .entry-content.has-global-padding {
  padding-left: 0;
  padding-right: 0;
}
.page-terms-and-conditions .entry-content > .ib-legal,
.page-terms-and-conditions .ib-legal {
  max-width: none;
  width: auto;
  margin-left: 0;
  margin-right: 0;
}
body.page-terms-and-conditions .site-footer > .wp-block-group { display: none !important; }
.page-terms-and-conditions main > .wp-block-group:has(.hostinger-ai-page-title),
.page-terms-and-conditions .hostinger-ai-page-title {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   Privacy Policy page: full-bleed + hide theme footer/title band.
   Resolved page ID is injected at runtime via iab_enqueue_privacy_assets().
   --------------------------------------------------------------------------- */
.page-privacy-policy .entry-content.has-global-padding {
  padding-left: 0;
  padding-right: 0;
}
.page-privacy-policy .entry-content > .ib-privacy,
.page-privacy-policy .ib-privacy {
  max-width: none;
  width: auto;
  margin-left: 0;
  margin-right: 0;
}
body.page-privacy-policy .site-footer > .wp-block-group { display: none !important; }
.page-privacy-policy main > .wp-block-group:has(.hostinger-ai-page-title),
.page-privacy-policy .hostinger-ai-page-title {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   Login / Sign Up pages: Ultimate Member form styling (black & gold).
   Scoped to .ib-auth wrapper on auth pages only.
   --------------------------------------------------------------------------- */
.ib-auth .um,
.ib-auth .um-form,
.ib-auth .um-field,
.ib-auth .um-field-label,
.ib-auth .um-field-area,
.ib-auth .um-col-alt {
  color: #f6f5f2 !important;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif !important;
}
.ib-auth .um-field-label label {
  color: #d4af37 !important;
  font-weight: 600 !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.04em !important;
}
.ib-auth .um-form input[type="text"],
.ib-auth .um-form input[type="password"],
.ib-auth .um-form input[type="email"] {
  width: 100% !important;
  padding: 12px 14px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(212, 175, 55, 0.28) !important;
  background: rgba(8, 7, 5, 0.85) !important;
  color: #f6f5f2 !important;
  font-size: 0.95rem !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.ib-auth .um-form input:focus {
  outline: none !important;
  border-color: rgba(212, 175, 55, 0.65) !important;
  box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15) !important;
}
.ib-auth .um-button,
.ib-auth input[type="submit"].um-button,
.ib-auth .um input.um-button {
  width: 100% !important;
  margin-top: 8px !important;
  padding: 13px 20px !important;
  border: none !important;
  border-radius: 999px !important;
  background: linear-gradient(118deg, #6b4e0c 0%, #d4af37 30%, #f2dd93 70%, #c9a233 100%) !important;
  color: #0a0908 !important;
  font-weight: 700 !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: transform 0.2s ease, filter 0.2s ease !important;
}
.ib-auth .um-button:hover {
  transform: translateY(-1px) !important;
  filter: brightness(1.06) !important;
}
.ib-auth .um-col-alt-b a,
.ib-auth .um-link-alt,
.ib-auth .um-field-checkbox-option,
.ib-auth .um-field-radio-option {
  color: #f7e6ae !important;
}
.ib-auth .um-notice.err,
.ib-auth .um-notice.success {
  border-radius: 10px !important;
  margin-bottom: 14px !important;
}
@media (max-width: 480px) {
  .ib-auth .um-form input[type="text"],
  .ib-auth .um-form input[type="password"],
  .ib-auth .um-form input[type="email"] {
    font-size: 16px !important;
  }
}

/* Auth page shell (login / sign-up) — markup injected by iab_inject_auth_forms(). */
.ib-auth {
  --gold: #d4af37;
  --gold-lt: #f7e6ae;
  --text: #f6f5f2;
  --mute: #9d9b95;
  --sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --serif: "Fraunces", Georgia, serif;
  position: relative;
  isolation: isolate;
  display: flow-root;
  width: 100%;
  margin: 0;
  overflow: clip;
  min-height: clamp(520px, 72vh, 760px);
  padding: clamp(72px, 10vw, 120px) 0;
  color: var(--text);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  background:
    radial-gradient(132% 74% at 50% -16%, rgba(212, 175, 55, .14), transparent 62%),
    linear-gradient(180deg, #020202 0%, #0c0b07 38%, #060504 68%, #020202 100%);
  -webkit-font-smoothing: antialiased;
}
.ib-auth *, .ib-auth *::before, .ib-auth *::after { box-sizing: border-box; }
.ib-auth__wrap { width: min(480px, calc(100% - 40px)); margin: 0 auto; text-align: center; }
.ib-auth__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  color: var(--gold-lt);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .28em;
  text-transform: uppercase;
}
.ib-auth__eyebrow::before, .ib-auth__eyebrow::after {
  content: "";
  width: 24px;
  height: 1px;
  background: rgba(212, 175, 55, .75);
}
.ib-auth__title {
  margin: 0 0 10px;
  font-family: var(--serif);
  font-size: clamp(2rem, 5vw, 2.6rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.1;
  background: linear-gradient(118deg, #6b4e0c 0%, #d4af37 24%, #fff6d6 46%, #c9a233 58%, #f2dd93 88%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ib-auth__lead { margin: 0 0 28px; color: var(--mute); font-size: .95rem; }
.ib-auth__card {
  padding: clamp(24px, 4vw, 36px);
  border-radius: 20px;
  text-align: left;
  background: linear-gradient(165deg, rgba(20, 18, 14, .92), rgba(8, 7, 5, .88));
  border: 1px solid rgba(212, 175, 55, .22);
  box-shadow: 0 24px 60px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 244, 204, .06);
}
.ib-auth__foot { margin-top: 22px; color: var(--mute); font-size: .92rem; text-align: center; }
.ib-auth__foot a {
  color: var(--gold-lt);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.ib-auth__foot a:hover { color: #fff6d6; }
.ib-auth .iab-wp-auth-fallback label { display: block; color: #d4af37; font-weight: 600; font-size: .82rem; margin-bottom: 6px; }
.ib-auth .iab-wp-auth-fallback input[type="text"],
.ib-auth .iab-wp-auth-fallback input[type="email"],
.ib-auth .iab-wp-auth-fallback input[type="password"] {
  width: 100%;
  padding: 12px 14px;
  margin-bottom: 14px;
  border-radius: 10px;
  border: 1px solid rgba(212, 175, 55, .28);
  background: rgba(8, 7, 5, .85);
  color: #f6f5f2;
}
.ib-auth .iab-wp-auth-fallback input[type="submit"] {
  width: 100%;
  padding: 13px 20px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(118deg, #6b4e0c 0%, #d4af37 30%, #f2dd93 70%, #c9a233 100%);
  color: #0a0908;
  font-weight: 700;
  text-transform: uppercase;
  cursor: pointer;
}
body.um-page-login .entry-content.has-global-padding,
body.um-page-register .entry-content.has-global-padding {
  padding-left: 0;
  padding-right: 0;
}
body.um-page-login .site-footer > .wp-block-group,
body.um-page-register .site-footer > .wp-block-group {
  display: none !important;
}
body.um-page-login main > .wp-block-group:has(.hostinger-ai-page-title),
body.um-page-register main > .wp-block-group:has(.hostinger-ai-page-title),
body.um-page-login .hostinger-ai-page-title,
body.um-page-register .hostinger-ai-page-title {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   UM User profile page — black & gold shell (matches .ib-auth / homepage).
   Scoped to .ib-profile and body.iab-um-profile / body.um-page-user only.
   --------------------------------------------------------------------------- */
.ib-profile,
body.iab-um-profile,
body.um-page-user {
  --gold: #d4af37;
  --gold-lt: #f7e6ae;
  --gold-hi: #fff6d6;
  --text: #f6f5f2;
  --mute: #9d9b95;
  --ink: #0a0a0a;
  --sans: "Inter", ui-sans-serif, system-ui, sans-serif;
  --serif: "Fraunces", Georgia, serif;
}

.ib-profile {
  position: relative;
  isolation: isolate;
  display: flow-root;
  width: 100%;
  margin: 0;
  overflow: clip;
  min-height: clamp(520px, 72vh, 760px);
  padding: clamp(72px, 10vw, 120px) 0;
  color: var(--text);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  background:
    radial-gradient(132% 74% at 50% -16%, rgba(212, 175, 55, .14), transparent 62%),
    linear-gradient(180deg, #020202 0%, #0c0b07 38%, #060504 68%, #020202 100%);
  -webkit-font-smoothing: antialiased;
}

body.iab-um-profile,
body.um-page-user {
  background: var(--ink) !important;
}

body.iab-um-profile .entry-content,
body.um-page-user .entry-content {
  padding-left: 0;
  padding-right: 0;
}

.ib-profile__shell,
body.iab-um-profile .um,
body.um-page-user .um {
  width: min(640px, calc(100% - 40px));
  margin: 0 auto;
}

/* Hide default UM profile clutter; keep header (avatar + name + our CTA). */
body.iab-um-profile .um-cover,
body.um-page-user .um-cover,
body.iab-um-profile .um-profile-nav,
body.um-page-user .um-profile-nav,
body.iab-um-profile .um-profile-body,
body.um-page-user .um-profile-body,
body.iab-um-profile .um-profile-edit,
body.um-page-user .um-profile-edit {
  display: none !important;
}

body.iab-um-profile .um-header,
body.um-page-user .um-header {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  text-align: center;
}

body.iab-um-profile .um-profile-photo,
body.um-page-user .um-profile-photo {
  margin: 0 auto 20px !important;
}

body.iab-um-profile .um-profile-photo img,
body.um-page-user .um-profile-photo img {
  border: 2px solid rgba(212, 175, 55, .45) !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .45), 0 0 24px rgba(212, 175, 55, .18) !important;
}

body.iab-um-profile .um-name,
body.um-page-user .um-name {
  margin: 0 0 8px !important;
  color: var(--text) !important;
  font-family: var(--serif) !important;
  font-size: clamp(1.75rem, 4vw, 2.4rem) !important;
  font-weight: 400 !important;
  letter-spacing: -.02em !important;
  line-height: 1.15 !important;
}

body.iab-um-profile .um-name a,
body.um-page-user .um-name a {
  color: var(--text) !important;
  text-decoration: none !important;
  background: linear-gradient(118deg, #6b4e0c 0%, #d4af37 24%, #fff6d6 46%, #c9a233 58%, #f2dd93 88%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ib-profile__hero {
  margin: 24px auto 0;
  max-width: 420px;
  text-align: center;
}

.ib-profile__welcome {
  margin: 0 0 22px;
  color: var(--mute);
  font-size: .95rem;
  line-height: 1.6;
}

.ib-profile__cta {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 32px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  color: #0d0a02;
  background: linear-gradient(118deg, #6b4e0c 0%, #d4af37 30%, #f2dd93 70%, #c9a233 100%);
  background-size: 240% 100%;
  font-family: var(--sans);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .8),
    inset 0 -2px 5px rgba(94, 66, 6, .55),
    0 5px 0 #6b4d0d,
    0 18px 34px rgba(0, 0, 0, .6),
    0 0 34px rgba(212, 175, 55, .26);
  transition: transform .22s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease, filter .35s ease;
}

.ib-profile__cta::after {
  content: "";
  position: absolute;
  top: -60%;
  left: -45%;
  width: 26%;
  height: 230%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .6), transparent);
  transform: rotate(21deg);
  transition: left .8s ease;
  pointer-events: none;
}

.ib-profile__cta:hover,
.ib-profile__cta:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .9),
    inset 0 -2px 5px rgba(94, 66, 6, .5),
    0 7px 0 #6b4d0d,
    0 24px 44px rgba(0, 0, 0, .66),
    0 0 54px rgba(212, 175, 55, .44);
}

.ib-profile__cta:hover::after,
.ib-profile__cta:focus-visible::after {
  left: 135%;
}

.ib-profile__cta:focus-visible {
  outline: 2px solid var(--gold-hi);
  outline-offset: 4px;
}

.ib-profile__cta:active {
  transform: translateY(4px);
  box-shadow:
    inset 0 2px 7px rgba(60, 42, 4, .6),
    0 1px 0 #6b4d0d,
    0 6px 14px rgba(0, 0, 0, .5);
}

@media (max-width: 480px) {
  .ib-profile {
    padding: 2.5rem 1rem 3.5rem;
  }
  .ib-profile__cta {
    width: 100%;
    max-width: 320px;
  }
}
