/*
Theme Name:   yes5u Astra Child
Theme URI:    https://yes5u.com
Description:  Astra child theme matching yes5u.com dark aesthetic
Author:       yes5u
Author URI:   https://yes5u.com
Template:     astra
Version:      1.0.0
Text Domain:  yes5u-astra-child
*/

/* ============================================================
   DESIGN TOKENS — mirror of apps/web/src/styles/tokens.css
   ============================================================ */
:root {
  --color-bg:       #050b1b;
  --color-surface:  #0f172f;
  --color-card:     rgba(13, 22, 44, 0.84);
  --color-text:     #f3f8ff;
  --color-muted:    #8fa3bf;
  --color-line:     rgba(151, 176, 210, 0.25);

  --accent-cyan:    #22d3ee;
  --accent-violet:  #a78bfa;
  --accent-orange:  #fb923c;

  --radius-card:    24px;
  --radius-soft:    14px;
  --radius-pill:    9999px;

  --shadow-soft:    0 22px 44px rgba(4, 8, 20, 0.45);
  --shadow-tiny:    0 10px 22px rgba(4, 8, 20, 0.32);

  --gradient-accent: linear-gradient(132deg, #22d3ee 0%, #a78bfa 48%, #fb923c 100%);
}

/* ============================================================
   BASE RESET & GLOBAL
   ============================================================ */
html, body {
  background-color: var(--color-bg) !important;
  color: var(--color-text) !important;
  font-family: 'Inter', system-ui, -apple-system, sans-serif !important;
  font-size: 16px;
  line-height: 1.7;
  overflow-x: hidden;
}

/* Full-page dark background overlay */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(34, 211, 238, 0.08) 0%, transparent 60%),
    radial-gradient(ellipse 60% 40% at 80% 80%, rgba(167, 139, 250, 0.06) 0%, transparent 60%),
    var(--color-bg);
  pointer-events: none;
}

a {
  color: var(--accent-cyan);
  text-decoration: none;
  transition: color 0.2s;
}
a:hover { color: #67e8f9; }

h1, h2, h3, h4, h5, h6 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  color: var(--color-text) !important;
  letter-spacing: -0.01em;
  line-height: 1.1;
  font-weight: 600;
}

p { color: var(--color-muted); line-height: 1.75; margin-bottom: 1.2em; }

img { border-radius: var(--radius-soft); max-width: 100%; height: auto; }

/* ============================================================
   ASTRA HEADER — match yes5u.com navbar
   ============================================================ */
#masthead,
.ast-masthead-html5,
.site-header,
#ast-fixed-header,
.ast-above-header-wrap,
.ast-below-header-wrap,
header.site-header {
  background: rgba(5, 11, 27, 0.85) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid var(--color-line) !important;
  box-shadow: none !important;
}

/* Sticky header */
.ast-header-sticked #masthead,
.ast-header-sticked .site-header {
  background: rgba(5, 11, 27, 0.95) !important;
}

/* Logo area */
.site-title,
.site-title a,
.ast-site-identity a {
  color: var(--color-text) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
}

.site-description,
.ast-site-tagline {
  color: var(--color-muted) !important;
  font-size: 12px !important;
}

/* yes5u logo pill — custom logo badge style */
.ast-site-identity .site-title::before {
  content: '5';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--gradient-accent);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  margin-right: 6px;
  vertical-align: middle;
  font-family: 'Inter', sans-serif;
}

/* Desktop nav links */
.ast-nav-menu > li > a,
.main-navigation .menu-item > a,
#ast-hf-menu-1 .menu-item > a {
  color: var(--color-muted) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.03em !important;
  padding: 8px 14px !important;
  border-radius: var(--radius-pill) !important;
  transition: color 0.2s, background 0.2s !important;
}

.ast-nav-menu > li > a:hover,
.main-navigation .menu-item > a:hover,
#ast-hf-menu-1 .menu-item > a:hover,
.ast-nav-menu > .current-menu-item > a,
.ast-nav-menu > .current_page_item > a {
  color: var(--color-text) !important;
  background: rgba(151, 176, 210, 0.08) !important;
}

/* Header CTA button */
.ast-header-custom-item .ast-custom-button,
.header-main-layout-1 .ast-header-button-wrap .ast-custom-button {
  background: rgba(34, 211, 238, 0.12) !important;
  border: 1px solid rgba(34, 211, 238, 0.3) !important;
  color: var(--accent-cyan) !important;
  border-radius: var(--radius-pill) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 8px 20px !important;
  transition: background 0.2s !important;
}
.ast-header-custom-item .ast-custom-button:hover {
  background: rgba(34, 211, 238, 0.2) !important;
}

/* Mobile hamburger */
.ast-mobile-menu-trigger span,
.ast-mobile-menu-trigger-fill span {
  background: var(--color-text) !important;
}

/* Mobile nav */
.ast-mobile-popup-drawer,
.ast-popup-mobile-menu {
  background: rgba(5, 11, 27, 0.97) !important;
  backdrop-filter: blur(20px) !important;
}

.ast-mobile-popup-drawer .menu-item > a,
.ast-popup-mobile-menu .menu-item > a {
  color: var(--color-text) !important;
  border-bottom-color: var(--color-line) !important;
}

/* ============================================================
   LAYOUT WRAPPERS
   ============================================================ */
.site-content,
#content,
.ast-container {
  background: transparent !important;
}

.content-area,
#primary {
  background: transparent !important;
}

/* ============================================================
   BLOG — POST CARDS (Archive / Blog list)
   ============================================================ */
.ast-article-post,
.ast-archive-post,
article.post,
article.page,
.blog article,
.archive article {
  background: linear-gradient(150deg, rgba(13, 22, 44, 0.84), rgba(9, 14, 30, 0.86)) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-soft) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  padding: 28px !important;
  margin-bottom: 28px !important;
  transition: border-color 0.25s, box-shadow 0.25s;
}

article.post:hover,
.blog article:hover,
.archive article:hover {
  border-color: rgba(34, 211, 238, 0.3) !important;
  box-shadow: 0 22px 55px rgba(4, 8, 20, 0.6), 0 0 0 1px rgba(34, 211, 238, 0.1) !important;
}

/* Post thumbnail */
.ast-blog-featured-section,
.post-thumbnail,
.ast-archive-img {
  border-radius: var(--radius-soft) !important;
  overflow: hidden;
  margin-bottom: 18px !important;
}

/* Post title */
.entry-title,
.ast-archive-post .entry-title,
.blog article .entry-title {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: clamp(22px, 3vw, 30px) !important;
  color: var(--color-text) !important;
  line-height: 1.15 !important;
  margin-bottom: 10px !important;
}

.entry-title a {
  color: var(--color-text) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.entry-title a:hover { color: var(--accent-cyan) !important; }

/* Post meta */
.entry-meta,
.ast-post-meta,
.posted-on,
.byline,
.cat-links {
  color: var(--color-muted) !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.entry-meta a,
.ast-post-meta a {
  color: var(--accent-violet) !important;
}
.entry-meta a:hover { color: var(--accent-cyan) !important; }

/* Category tags */
.cat-links a,
.tags-links a,
.ast-post-formats-container .ast-post-format {
  display: inline-block;
  padding: 3px 10px;
  border-radius: var(--radius-pill);
  background: rgba(167, 139, 250, 0.12);
  border: 1px solid rgba(167, 139, 250, 0.3);
  color: var(--accent-violet) !important;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-right: 4px;
  transition: background 0.2s;
}
.cat-links a:hover,
.tags-links a:hover {
  background: rgba(167, 139, 250, 0.22) !important;
}

/* Excerpt */
.entry-summary,
.ast-archive-description p {
  color: var(--color-muted) !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

/* Read More button */
.ast-read-more,
a.ast-read-more,
.read-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 14px !important;
  padding: 9px 22px !important;
  border-radius: var(--radius-pill) !important;
  border: 1px solid rgba(34, 211, 238, 0.3) !important;
  background: rgba(34, 211, 238, 0.08) !important;
  color: var(--accent-cyan) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  transition: background 0.2s, border-color 0.2s !important;
}
.ast-read-more:hover,
a.ast-read-more:hover {
  background: rgba(34, 211, 238, 0.16) !important;
  border-color: rgba(34, 211, 238, 0.5) !important;
}

/* ============================================================
   SINGLE POST
   ============================================================ */
.single .entry-header {
  padding-bottom: 28px;
  border-bottom: 1px solid var(--color-line);
  margin-bottom: 36px;
}

.single .entry-title {
  font-size: clamp(32px, 5vw, 56px) !important;
  line-height: 1.08 !important;
  margin-bottom: 16px !important;
}

/* Gradient title accent on hover */
.single .entry-title:hover {
  background: var(--gradient-accent);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Post content */
.entry-content {
  color: var(--color-text) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
  max-width: 72ch;
}

.entry-content p {
  color: var(--color-muted) !important;
  margin-bottom: 1.5em;
}

.entry-content h2,
.entry-content h3,
.entry-content h4 {
  color: var(--color-text) !important;
  margin-top: 2em;
  margin-bottom: 0.6em;
}

.entry-content h2 {
  font-size: clamp(24px, 3vw, 34px) !important;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-line);
}

.entry-content h3 {
  font-size: clamp(18px, 2.5vw, 26px) !important;
  color: var(--accent-cyan) !important;
}

/* Blockquote */
.entry-content blockquote {
  border-left: 3px solid var(--accent-violet) !important;
  background: rgba(167, 139, 250, 0.06) !important;
  border-radius: 0 var(--radius-soft) var(--radius-soft) 0 !important;
  padding: 18px 24px !important;
  margin: 28px 0 !important;
  color: var(--color-muted) !important;
  font-style: italic;
}
.entry-content blockquote p { color: var(--color-muted) !important; }

/* Inline code */
.entry-content code {
  background: rgba(34, 211, 238, 0.08) !important;
  border: 1px solid rgba(34, 211, 238, 0.2) !important;
  border-radius: 6px !important;
  padding: 2px 7px !important;
  font-size: 13px !important;
  color: var(--accent-cyan) !important;
  font-family: 'JetBrains Mono', 'Fira Code', monospace;
}

/* Code block */
.entry-content pre {
  background: rgba(9, 14, 30, 0.9) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-soft) !important;
  padding: 20px !important;
  overflow-x: auto;
  color: #e2e8f0 !important;
  font-size: 13px !important;
}

/* Horizontal rule */
.entry-content hr {
  border: none !important;
  border-top: 1px solid var(--color-line) !important;
  margin: 36px 0 !important;
}

/* Links in content */
.entry-content a {
  color: var(--accent-cyan) !important;
  border-bottom: 1px solid rgba(34, 211, 238, 0.3);
  transition: border-color 0.2s, color 0.2s;
}
.entry-content a:hover {
  color: #67e8f9 !important;
  border-color: var(--accent-cyan);
}

/* Lists */
.entry-content ul li::marker,
.entry-content ol li::marker {
  color: var(--accent-cyan);
}

/* Featured image (single) */
.single .ast-featured-post,
.single .post-thumbnail {
  border-radius: var(--radius-card) !important;
  overflow: hidden;
  margin-bottom: 36px;
  border: 1px solid var(--color-line);
}

/* ============================================================
   SIDEBAR
   ============================================================ */
#secondary,
.widget-area {
  background: transparent !important;
}

.widget,
.ast-widget-inner {
  background: linear-gradient(150deg, rgba(13, 22, 44, 0.84), rgba(9, 14, 30, 0.86)) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-soft) !important;
  padding: 22px !important;
  margin-bottom: 24px !important;
}

.widget-title,
.widgettitle {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--color-text) !important;
  font-size: 18px !important;
  border-bottom: 1px solid var(--color-line) !important;
  padding-bottom: 10px !important;
  margin-bottom: 14px !important;
}

.widget ul li a {
  color: var(--color-muted) !important;
  font-size: 14px;
  transition: color 0.2s;
}
.widget ul li a:hover { color: var(--accent-cyan) !important; }

.widget ul li {
  border-bottom: 1px solid var(--color-line) !important;
  padding: 7px 0 !important;
}

/* Search widget */
.search-form .search-field {
  background: rgba(9, 14, 30, 0.6) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-pill) !important;
  color: var(--color-text) !important;
  padding: 10px 16px !important;
  width: 100% !important;
}
.search-form .search-field::placeholder { color: var(--color-muted); }
.search-form .search-submit {
  background: var(--gradient-accent) !important;
  border: none !important;
  border-radius: var(--radius-pill) !important;
  color: #fff !important;
  padding: 10px 20px !important;
  margin-top: 8px !important;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  transition: opacity 0.2s;
}
.search-form .search-submit:hover { opacity: 0.85; }

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination,
.nav-links,
.ast-pagination {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 40px 0;
}

.page-numbers,
.pagination .page-numbers,
.nav-links a,
.nav-links span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  border-radius: var(--radius-pill) !important;
  border: 1px solid var(--color-line) !important;
  color: var(--color-muted) !important;
  font-size: 14px !important;
  background: transparent !important;
  transition: all 0.2s;
}

.page-numbers:hover,
.nav-links a:hover {
  border-color: rgba(34, 211, 238, 0.4) !important;
  color: var(--accent-cyan) !important;
  background: rgba(34, 211, 238, 0.08) !important;
}

.page-numbers.current,
.pagination .current {
  background: var(--gradient-accent) !important;
  border-color: transparent !important;
  color: #fff !important;
}

/* ============================================================
   COMMENTS
   ============================================================ */
#comments {
  background: linear-gradient(150deg, rgba(13, 22, 44, 0.84), rgba(9, 14, 30, 0.86));
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
  padding: 32px;
  margin-top: 40px;
}

.comments-title {
  font-family: 'Cormorant Garamond', serif !important;
  color: var(--color-text) !important;
  font-size: 24px !important;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--color-line);
}

.comment-body {
  background: rgba(9, 14, 30, 0.5) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-soft) !important;
  padding: 18px !important;
  margin-bottom: 16px !important;
}

.comment-author .fn { color: var(--color-text) !important; font-weight: 600; }
.comment-metadata a,
.comment-metadata { color: var(--color-muted) !important; font-size: 12px !important; }

.comment-content p { color: var(--color-muted) !important; }

/* Comment form */
.comment-form input,
.comment-form textarea,
.comment-form select {
  background: rgba(9, 14, 30, 0.6) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-soft) !important;
  color: var(--color-text) !important;
  padding: 12px 16px !important;
  width: 100% !important;
  transition: border-color 0.2s;
}

.comment-form input:focus,
.comment-form textarea:focus {
  outline: none !important;
  border-color: rgba(34, 211, 238, 0.5) !important;
}

.comment-form .submit,
#submit {
  background: var(--gradient-accent) !important;
  border: none !important;
  border-radius: var(--radius-pill) !important;
  color: #fff !important;
  padding: 12px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer;
  transition: opacity 0.2s;
}
.comment-form .submit:hover { opacity: 0.85; }

.comment-form label { color: var(--color-muted) !important; font-size: 13px !important; }

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer,
#colophon,
.ast-site-footer-wrap {
  background: rgba(5, 11, 27, 0.98) !important;
  border-top: 1px solid var(--color-line) !important;
  color: var(--color-muted) !important;
}

.ast-footer-copyright,
.site-info {
  color: var(--color-muted) !important;
  font-size: 12px !important;
  letter-spacing: 0.04em;
}

.ast-footer-copyright a,
.site-info a {
  color: var(--accent-cyan) !important;
}

.footer-widget-area,
.ast-footer-widget-area {
  background: transparent !important;
  border-bottom: 1px solid var(--color-line) !important;
}

.footer-widget-area .widget {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}

.footer-widget-area .widget-title,
.footer-widget-area .widgettitle {
  border-bottom: 1px solid var(--color-line) !important;
}

/* ============================================================
   SCROLLBAR
   ============================================================ */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--color-bg); }
::-webkit-scrollbar-thumb {
  background: rgba(151, 176, 210, 0.3);
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover { background: rgba(34, 211, 238, 0.4); }

/* ============================================================
   UTILITY CLASSES (usable in Gutenberg custom HTML blocks)
   ============================================================ */
.gradient-text {
  background: var(--gradient-accent);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.glass-card {
  background: linear-gradient(150deg, rgba(13, 22, 44, 0.84), rgba(9, 14, 30, 0.86));
  border: 1px solid var(--color-line);
  border-radius: var(--radius-card);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  padding: 28px;
}

.trust-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(8, 14, 30, 0.55);
  padding: 8px 14px;
  font-size: 12px;
  color: #b9c8dd;
}

.accent-badge {
  display: inline-block;
  padding: 3px 12px;
  border-radius: var(--radius-pill);
  background: rgba(34, 211, 238, 0.1);
  border: 1px solid rgba(34, 211, 238, 0.25);
  color: var(--accent-cyan);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

/* ============================================================
   GUTENBERG BLOCKS
   ============================================================ */
.wp-block-quote {
  border-left: 3px solid var(--accent-violet) !important;
  background: rgba(167, 139, 250, 0.06) !important;
  border-radius: 0 var(--radius-soft) var(--radius-soft) 0 !important;
  padding: 18px 24px !important;
}

.wp-block-code,
.wp-block-preformatted {
  background: rgba(9, 14, 30, 0.9) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-soft) !important;
  color: #e2e8f0 !important;
}

.wp-block-separator {
  border-color: var(--color-line) !important;
}

.wp-block-pullquote {
  border-top: 3px solid var(--accent-cyan) !important;
  border-bottom: 3px solid var(--accent-cyan) !important;
  background: rgba(34, 211, 238, 0.04) !important;
}

.wp-block-button__link {
  background: var(--gradient-accent) !important;
  border-radius: var(--radius-pill) !important;
  font-weight: 600 !important;
  padding: 12px 28px !important;
}

.wp-block-image img {
  border-radius: var(--radius-soft) !important;
  border: 1px solid var(--color-line) !important;
}

/* ============================================================
   TABLE OF CONTENTS (if using TOC plugin)
   ============================================================ */
.toc_widget_list,
.ez-toc-list {
  background: rgba(9, 14, 30, 0.6) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: var(--radius-soft) !important;
  padding: 18px 24px !important;
}

.toc_widget_list a,
.ez-toc-list a {
  color: var(--color-muted) !important;
  font-size: 13px;
}
.toc_widget_list a:hover,
.ez-toc-list a:hover {
  color: var(--accent-cyan) !important;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 768px) {
  .entry-content { font-size: 14px !important; }
  .single .entry-title { font-size: clamp(26px, 7vw, 36px) !important; }
  .ast-article-post,
  .ast-archive-post,
  article.post { padding: 18px !important; }
  #comments { padding: 20px !important; }
}
