@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');

:root{
  --af-font-head: "Cormorant Garamond", serif;
  --af-font-body: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

body{
  font-family: var(--af-font-body);
  background:
    radial-gradient(circle at 18% 10%, rgba(255,255,255,0.55), rgba(255,255,255,0) 42%),
    radial-gradient(circle at 84% 18%, rgba(255,255,255,0.35), rgba(255,255,255,0) 40%),
    radial-gradient(circle at 30% 78%, rgba(0,0,0,0.05), rgba(0,0,0,0) 40%),
    linear-gradient(180deg, #f8f1df, #efe3c7);
  min-height: 100vh;
}

/* Container */
.af-container{ max-width: var(--af-max); margin: 0 auto; padding: 0 20px; }
.af-main{ padding: 22px 0 56px; }

/* Header */
.af-header{
  position: sticky; top: 0; z-index: 60;
  backdrop-filter: blur(10px);
  background: rgba(246,240,223,0.82);
  border-bottom: 1px solid var(--af-border);
}
.af-header__bar{
  display:flex; align-items:center; justify-content:space-between; gap: 16px;
  padding: 14px 0;
}
.af-brand{ display:flex; align-items:center; gap: 14px; text-decoration:none; color: inherit; }
.af-logo img{ height: 44px; width:auto; display:block; }
.af-site-title{ font-family: var(--af-font-head); font-size: 28px; letter-spacing: 0.02em; margin: 0; }
.af-site-tagline{ margin: 0; font-size: 13px; color: var(--af-muted); }

.af-nav-toggle{
  display:none;
  border:1px solid var(--af-border);
  background: rgba(255,255,255,0.7);
  border-radius: 999px;
  padding: 10px 12px;
  cursor:pointer;
}
.af-nav-toggle span{ display:block; width:22px; height:2px; background: #333; margin:4px 0; }

.af-nav ul{ list-style:none; margin:0; padding:0; display:flex; gap: 18px; align-items:center; }
.af-nav a{
  text-decoration:none; color: var(--af-ink);
  font-weight: 600; font-size: 14px;
  padding: 8px 10px; border-radius: 999px;
}
.af-nav a:hover{ background: rgba(255,255,255,0.65); }
.af-nav .current-menu-item > a{
  background: rgba(122,91,46,0.12);
  border: 1px solid rgba(122,91,46,0.25);
}

/* Cards */
.af-card{
  background: var(--af-card);
  border: 1px solid var(--af-border);
  border-radius: var(--af-radius);
  box-shadow: var(--af-shadow);
  padding: 22px;
}
.af-post-title{
  font-family: var(--af-font-head);
  font-size: 34px;
  margin: 0 0 10px;
  letter-spacing: 0.01em;
}
.af-content{ line-height: 1.75; font-size: 16px; }
.af-content h2, .af-content h3, .af-content h4{
  font-family: var(--af-font-head);
  letter-spacing: 0.01em;
}
.af-content a{ color: var(--af-accent2); }
.af-content a:hover{ color: var(--af-accent); }

/* Footer */
.af-footer{ border-top: 1px solid var(--af-border); padding: 28px 0; color: var(--af-muted); font-size: 14px; }
.af-footer__row{ display:flex; flex-wrap:wrap; gap: 12px 18px; align-items:center; justify-content:space-between; }

/* Sidebar */
.af-grid{ display:grid; grid-template-columns: 1fr 320px; gap: 26px; }
@media (max-width: 980px){ .af-grid{ grid-template-columns: 1fr; } }
.af-widget{ background: rgba(255,255,255,0.58); border: 1px solid var(--af-border); border-radius: 16px; padding: 18px; margin-bottom: 18px; }
.af-widget__title{ font-family: var(--af-font-head); font-size: 22px; margin: 0 0 10px; }

/* Buttons */
.af-btn{
  display:inline-flex; align-items:center; justify-content:center; gap: 8px;
  padding: 10px 14px; border-radius: 999px;
  border: 1px solid rgba(122,91,46,0.30);
  background: rgba(122,91,46,0.10);
  text-decoration:none; color: var(--af-ink); font-weight: 700;
}
.af-btn:hover{ background: rgba(122,91,46,0.16); }

/* Mobile */
@media (max-width: 820px){
  .af-nav-toggle{ display:block; }
  .af-nav{ display:none; padding: 0 0 14px; }
  .af-nav.is-open{ display:block; }
  .af-nav ul{ flex-direction:column; align-items:flex-start; gap: 8px; }
}

/* =========================
   LearnDash (LD30 + Focus Mode) Styling
   ========================= */

/* General LD wrapper */
.af-ld-page .af-main{ padding-top: 18px; }

/* Make course/lesson container feel like Ars Fidelium */
.af-ld-shell{ margin: 0; }
.af-ld-shell .af-card{ padding: 24px; }

/* LD30 elements often use .ld-* classes */
.learndash-wrapper,
.learndash-wrapper .ld-content-actions,
.learndash-wrapper .ld-course-navigation,
.learndash-wrapper .ld-focus-content,
.learndash-wrapper .ld-tabs,
.learndash-wrapper .ld-item-list{
  font-family: var(--af-font-body);
}

/* Primary LD buttons */
.learndash-wrapper .ld-button,
.learndash-wrapper .ld-button:hover,
.learndash-wrapper a.ld-button,
.learndash-wrapper input[type="submit"]{
  border-radius: 999px !important;
  border: 1px solid rgba(122,91,46,0.30) !important;
  background: rgba(122,91,46,0.12) !important;
  color: var(--af-ink) !important;
  box-shadow: none !important;
}
.learndash-wrapper .ld-button:hover,
.learndash-wrapper a.ld-button:hover{
  background: rgba(122,91,46,0.18) !important;
}

/* Progress bar / accents */
.learndash-wrapper .ld-progress .ld-progress-bar{
  border-radius: 999px !important;
}
.learndash-wrapper .ld-progress .ld-progress-bar .ld-progress-bar-percentage{
  background: rgba(38,55,72,0.78) !important;
}

/* Tabs */
.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab{
  border-radius: 999px !important;
}
.learndash-wrapper .ld-tabs .ld-tabs-navigation .ld-tab.ld-active{
  background: rgba(122,91,46,0.12) !important;
  border: 1px solid rgba(122,91,46,0.25) !important;
}

/* Focus Mode: soften the stark default */
.ld-focus .ld-focus-header,
.ld-focus .ld-focus-sidebar{
  background: rgba(246,240,223,0.88) !important;
  border-color: rgba(0,0,0,0.10) !important;
}
.ld-focus .ld-focus-main{
  background: transparent !important;
}

/* Make lesson video/content readable */
.learndash-wrapper .ld-focus-content,
.learndash-wrapper .ld-topic-content,
.learndash-wrapper .ld-lesson-content{
  line-height: 1.75;
  font-size: 16px;
}

/* Course navigation list cards */
.learndash-wrapper .ld-item-list .ld-item-list-item{
  border-radius: 16px !important;
  border: 1px solid rgba(0,0,0,0.10) !important;
  background: rgba(255,255,255,0.62) !important;
}

/* Quizzes: calm styling */
.learndash-wrapper .wpProQuiz_content{
  border-radius: 16px;
}

/* Make embedded blocks fit */
.af-ld-page .wp-block-embed,
.af-ld-page iframe{ max-width: 100%; }

/* Optional: hide sidebar widgets on LD pages by default (you can re-enable later) */
.af-ld-page .af-grid{ grid-template-columns: 1fr; }
.af-ld-page aside{ display: none; }
