/*
Theme Name: NCSlots Framework Child
Theme URI: https://ncslots.com/
Description: Reversible SmartMag child-theme shell for the NCSlots editorial framework.
Author: NCSlots
Version: 0.5.1
Template: smart-mag
Text Domain: ncslots-framework-child
*/

@font-face {
  font-family: "Barlow Condensed";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/inter-latin-400-normal-C38fXH4l.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/inter-latin-600-normal-LgqL8muc.woff2") format("woff2");
}

:root {
  --nc-navy: #081a2c;
  --nc-blue: #3aa8e8;
  --nc-teal: #0b6b68;
  --nc-gold: #f2b84b;
  --nc-off-white: #f7fafc;
  --nc-ink: #172033;
  --nc-muted: #5f6877;
  --nc-border: #d8dee8;
}

body.single-post {
  background: var(--nc-off-white);
  color: var(--nc-ink);
  font-family: "Inter", Arial, sans-serif;
}

body.single-post .smart-head-top {
  background: var(--nc-navy);
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

body.single-post .smart-head-mid {
  background: rgba(255, 255, 255, 0.97);
  border-bottom: 4px solid var(--nc-gold);
}

body.single-post .smart-head-top a,
body.single-post .smart-head-mid a {
  transition: color 0.18s ease;
}

body.single-post .smart-head-top a {
  color: #dceaf2;
}

body.single-post .smart-head-top a:hover,
body.single-post .smart-head-mid a:hover {
  color: var(--nc-blue);
}

body.single-post .navigation-main > .menu > li > a {
  color: var(--nc-navy);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 600;
}

body.single-post .post-meta .cat-labels a {
  background: var(--nc-teal);
  border-radius: 4px;
  color: #ffffff;
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 7px 10px;
  text-transform: uppercase;
}

body.single-post .post-share .service {
  border-radius: 8px;
}

body.single-post .post-share .s-facebook,
body.single-post .post-share .s-twitter {
  background: var(--nc-blue);
  color: var(--nc-navy);
}

body.single-post .post-share .s-pinterest {
  background: var(--nc-teal);
  color: #ffffff;
}

body.single-post .post-share .s-linkedin,
body.single-post .post-share .s-tumblr,
body.single-post .post-share .s-email {
  background: #ffffff;
  border: 1px solid var(--nc-border);
  color: var(--nc-teal);
}

body.single-post .the-post-header .post-title,
body.single-post .post-content h2,
body.single-post .post-content h3 {
  color: var(--nc-navy);
  font-family: "Inter", "Aptos Display", Aptos, "Segoe UI", Arial, sans-serif;
  font-weight: 700;
}

body.single-post .the-post-header .post-title {
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  letter-spacing: -0.035em;
  line-height: 1.08;
}

body.single-post .post-content {
  color: var(--nc-ink);
  font-size: 1.05rem;
}

body.single-post .post-content p,
body.single-post .post-content li {
  color: var(--nc-ink);
}

body.single-post .post-content a {
  color: var(--nc-teal);
  text-decoration-color: rgba(11, 107, 104, 0.35);
  text-underline-offset: 0.16em;
}

body.single-post .post-content a:hover {
  color: var(--nc-blue);
}

body.single-post .post-content blockquote {
  background: #fffaF0;
  border-left: 4px solid var(--nc-gold);
  color: var(--nc-ink);
  padding: 20px 24px;
}

body.single-post .post-content h2 {
  border-top: 1px solid var(--nc-border);
  padding-top: 24px;
}

body.single-post .main-footer.s-dark {
  background: var(--nc-navy);
}

body.single-post :focus-visible {
  outline: 3px solid var(--nc-gold);
  outline-offset: 3px;
}

/* Global responsible-play notice: dark text on black was unreadable on mobile. */
body.ncslots-framework-page .ncslots-responsible-notice,
body.home .ncslots-responsible-notice {
  background: var(--nc-navy) !important;
  border-bottom: 4px solid var(--nc-gold);
  color: var(--nc-on-dark-muted, #ddeaF2) !important;
  font-size: 0.75rem;
  line-height: 1.4;
  padding: 8px 16px;
}

body.ncslots-framework-page .ncslots-responsible-notice a,
body.home .ncslots-responsible-notice a {
  color: var(--nc-blue) !important;
}

@media (max-width: 680px) {
  body.ncslots-framework-page .cky-btn-revisit-wrapper,
  body.home .cky-btn-revisit-wrapper {
    bottom: max(16px, env(safe-area-inset-bottom));
    left: 16px;
  }
}
