/**
 * Component styles: layout, nav, hero, cards, forms, footer, FAQ,
 * testimonials, level cards, page-hero, and all section-specific
 * styling. Design tokens (colors, fonts) live in style.css.
 *
 * @package CSWithRizwan
 */

  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.06em;
    text-transform:uppercase;
    color:var(--teal);
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:500;
  }
  .eyebrow::before{content:"//"; color:var(--gold); font-weight:600;}
  h1,h2,h3{font-family:'Fraunces', serif; font-weight:600; color:var(--ink); letter-spacing:-0.01em;}
  .btn{
    display:inline-flex; align-items:center; justify-content:center;
    padding:14px 26px; border-radius:100px; font-weight:600; font-size:15px;
    transition:all .18s ease; cursor:pointer; border:1px solid transparent;
    white-space:nowrap;
  }
  .btn-primary{background:var(--navy); color:var(--white);}
  .btn-primary:hover{background:var(--navy-deep); transform:translateY(-1px);}
  .btn-ghost{background:transparent; color:var(--ink); border-color:var(--line);}
  .btn-ghost:hover{border-color:var(--ink); background:var(--white);}
  .btn-gold{background:var(--gold); color:var(--navy-deep);}
  .btn-gold:hover{background:#DB9528; transform:translateY(-1px);}

  /* NAV */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(249,250,251,0.88);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 32px; max-width:1180px; margin:0 auto;
  }
  .logo{
    font-family:'Fraunces', serif; font-weight:700; font-size:20px;
    display:flex; align-items:center; gap:8px;
  }
  .logo-mark{
    width:30px; height:30px; border-radius:8px; background:var(--navy);
    color:var(--gold); font-family:'JetBrains Mono', monospace; font-size:14px; font-weight:600;
    display:flex; align-items:center; justify-content:center;
  }
  .nav-links{display:flex; gap:36px; align-items:center;}
  .nav-links a{font-size:14.5px; font-weight:500; color:var(--ink-soft);}
  .nav-links a:hover{color:var(--ink);}
  .nav-actions{display:flex; gap:12px; align-items:center;}
  .nav-actions .btn{padding:11px 20px; font-size:14px;}

  /* HERO */
  .hero{padding:88px 0 70px; overflow:hidden;}
  .hero-grid{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;
  }
  .hero h1{font-size:52px; line-height:1.08; margin:22px 0 22px; letter-spacing:-0.02em;}
  .hero h1 em{font-style:normal; color:var(--gold); position:relative;}
  .hero p.lead{font-size:18px; color:var(--ink-soft); max-width:480px; margin-bottom:32px;}
  .hero-ctas{display:flex; gap:14px; margin-bottom:36px;}
  .hero-trust{display:flex; align-items:center; gap:14px; font-size:13.5px; color:var(--ink-soft);}
  .avatars{display:flex;}
  .avatars span{
    width:32px; height:32px; border-radius:50%; border:2px solid var(--paper);
    background:var(--navy); color:var(--gold-soft); font-family:'JetBrains Mono',monospace;
    font-size:11px; display:flex; align-items:center; justify-content:center; margin-left:-8px;
    font-weight:600;
  }
  .avatars span:first-child{margin-left:0;}

  /* SIGNATURE TERMINAL CARD */
  .terminal-card{
    background:var(--navy-deep); border-radius:20px; padding:26px;
    box-shadow:0 30px 60px -20px rgba(0, 0, 0,0.45);
    position:relative;
  }
  .terminal-bar{display:flex; gap:7px; margin-bottom:18px;}
  .terminal-bar span{width:10px; height:10px; border-radius:50%; background:#3A4468;}
  .terminal-code{
    font-family:'JetBrains Mono', monospace; font-size:13.5px; color:#B8C4E8;
    line-height:1.8;
  }
  .terminal-code .c1{color:#6B7BA8;}
  .terminal-code .c2{color:var(--gold);}
  .terminal-code .c3{color:#7FD4C9;}
  .terminal-result{
    margin-top:20px; padding-top:18px; border-top:1px dashed #2A3560;
    display:flex; align-items:center; justify-content:space-between;
  }
  .grade-badge{
    background:var(--gold); color:var(--navy-deep); font-family:'Fraunces',serif;
    font-weight:700; font-size:26px; padding:6px 16px; border-radius:10px;
  }
  .terminal-result .label{font-family:'JetBrains Mono',monospace; font-size:12px; color:#8592BF;}

  /* STATS BAR */
  .stats{
    background:var(--navy); padding:40px 0; margin-top:20px;
  }
  .stats .wrap{
    display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;
  }
  .stat-num{
    font-family:'JetBrains Mono', monospace; font-size:32px; font-weight:600; color:var(--gold);
  }
  .stat-label{font-size:13.5px; color:#AEB8DA; margin-top:6px;}

  /* SECTION generic */
  section{padding:96px 0;}
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head h2{font-size:36px; margin-top:16px; line-height:1.2;}
  .section-head p{color:var(--ink-soft); font-size:16.5px; margin-top:14px;}
  .center{text-align:center; margin-left:auto; margin-right:auto;}

  /* LEVELS / COURSES */
  .levels{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .level-card{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    padding:32px; transition:all .2s ease;
  }
  .level-card:hover{border-color:var(--navy); transform:translateY(-4px); box-shadow:0 20px 40px -24px rgba(16,24,43,0.25);}
  .level-tag{
    font-family:'JetBrains Mono', monospace; font-size:11.5px; color:var(--teal);
    background:var(--teal-soft); padding:4px 10px; border-radius:6px; display:inline-block; font-weight:600;
  }
  .level-tag.tag-terracotta{color:var(--terracotta); background:var(--terracotta-soft);}
  .level-tag.tag-periwinkle{color:var(--periwinkle); background:var(--periwinkle-soft);}
  .level-card.accent-teal:hover{border-color:var(--teal);}
  .level-card.accent-terracotta:hover{border-color:var(--terracotta);}
  .level-card.accent-periwinkle:hover{border-color:var(--periwinkle);}
  .level-card h3{font-size:22px; margin:16px 0 10px;}
  .level-card p.desc{color:var(--ink-soft); font-size:14.5px; margin-bottom:20px;}
  .price-row{display:flex; align-items:baseline; gap:10px; margin-bottom:20px;}
  .price-now{font-family:'Fraunces',serif; font-size:24px; font-weight:600;}
  .price-old{font-size:14px; color:#9CA5B8; text-decoration:line-through;}
  .level-card a.btn{width:100%; padding:12px;}

  /* PROCESS */
  .process{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
  .process-step{position:relative; padding-left:0;}
  .step-num{
    font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--gold); font-weight:600;
    display:block; margin-bottom:14px;
  }
  .process-step h3{font-size:19px; margin-bottom:10px;}
  .process-step p{color:var(--ink-soft); font-size:14.5px;}
  .process-step:not(:last-child){border-right:1px solid var(--line); padding-right:24px;}

  /* TEACH SECTION */
  .teach-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px; align-items:center;}
  .teach-image{border-radius:20px; overflow:hidden; box-shadow:0 30px 60px -24px rgba(16,24,43,0.3);}
  .teach-image img{width:100%; height:100%; object-fit:cover; display:block; aspect-ratio:4/5;}
  .teach-copy h2{font-size:32px; margin:16px 0 18px; line-height:1.25;}
  .teach-copy p{color:var(--ink-soft); font-size:16px; margin-bottom:26px; max-width:480px;}
  .teach-points div{
    display:flex; align-items:center; gap:12px; font-size:14.5px; color:var(--ink);
    padding:12px 0; border-top:1px solid var(--line);
  }
  .teach-points div:last-child{border-bottom:1px solid var(--line);}
  .dot{width:8px; height:8px; border-radius:50%; background:var(--gold); flex-shrink:0;}

  /* TESTIMONIALS */
  .testimonials-wrap{background:var(--paper-alt);}
  .results-head{display:grid; grid-template-columns:1fr 0.8fr; gap:48px; align-items:center; margin-bottom:56px;}
  .results-head h2{font-size:34px; margin:16px 0 12px;}
  .results-head p{color:var(--ink-soft); font-size:16px;}
  .results-image{border-radius:18px; overflow:hidden; box-shadow:0 24px 48px -22px rgba(16,24,43,0.28);}
  .results-image img{width:100%; height:220px; object-fit:cover; display:block;}
  .testimonials{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .t-card{
    background:var(--white); border-radius:var(--radius); padding:28px;
    border:1px solid var(--line);
  }
  .t-quote{font-size:15px; color:var(--ink); margin-bottom:22px; line-height:1.7;}
  .t-person{display:flex; align-items:center; gap:12px;}
  .t-avatar{
    width:40px; height:40px; border-radius:50%; background:var(--navy);
    color:var(--gold); font-family:'JetBrains Mono',monospace; font-weight:600;
    display:flex; align-items:center; justify-content:center; font-size:14px;
  }
  .t-name{font-weight:600; font-size:14.5px;}
  .t-role{font-size:12.5px; color:var(--ink-soft); font-family:'JetBrains Mono',monospace;}

  /* FAQ */
  .faq-list{max-width:760px; margin:0 auto;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{
    width:100%; text-align:left; background:none; border:none; cursor:pointer;
    padding:22px 0; display:flex; justify-content:space-between; align-items:center;
    font-family:'Fraunces',serif; font-size:17.5px; font-weight:500; color:var(--ink);
  }
  .faq-q .icon{font-family:'JetBrains Mono',monospace; color:var(--gold); font-size:20px; transition:transform .2s ease;}
  .faq-item.open .icon{transform:rotate(45deg);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
  .faq-a p{padding-bottom:22px; color:var(--ink-soft); font-size:15px; max-width:640px;}

  /* CTA BANNER */
  .cta-banner{
    background:
      linear-gradient(100deg, rgba(0, 0, 0,0.94), rgba(0, 0, 0,0.85)),
      url('https://images.unsplash.com/photo-1774901128215-3549cc686921?auto=format&fit=crop&w=1600&q=70') center/cover;
    border-radius:24px; padding:64px 56px;
    display:flex; justify-content:space-between; align-items:center; gap:40px;
    margin:0 32px;
  }
  .cta-banner h2{color:var(--white); font-size:32px; max-width:460px; line-height:1.25;}
  .cta-banner p{color:#AEB8DA; margin-top:12px; font-size:15px;}

  /* FOOTER */
  footer{background:var(--navy-deep); color:#AEB8DA; padding:70px 0 30px; margin-top:0;}
  .footer-grid{
    display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:50px;
    border-bottom:1px solid #262E52;
  }
  footer h4{color:var(--white); font-family:'JetBrains Mono',monospace; font-size:13px; letter-spacing:0.04em; margin-bottom:18px; text-transform:uppercase;}
  footer ul{list-style:none;}
  footer li{margin-bottom:10px; font-size:14.5px;}
  footer a:hover{color:var(--gold);}
  .footer-logo{font-family:'Fraunces',serif; font-size:22px; font-weight:700; color:var(--white); margin-bottom:14px;}
  .footer-bottom{display:flex; justify-content:space-between; padding-top:26px; font-size:13.5px;}

  /* ACTIVE NAV */
  .nav-links a.active{color:var(--ink); position:relative;}
  .nav-links a.active::after{
    content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--gold);
  }

  /* PAGE HERO (interior pages) */
  .page-hero{padding:64px 0 56px; text-align:center;}
  .page-hero h1{font-size:44px; margin:18px 0 16px; letter-spacing:-0.01em;}
  .page-hero p{color:var(--ink-soft); font-size:17px; max-width:600px; margin:0 auto;}

  /* COURSE DETAIL CARDS (courses page) */
  .course-detail{
    display:grid; grid-template-columns:1fr 1fr; gap:0; background:var(--white);
    border:1px solid var(--line); border-radius:20px; overflow:hidden; margin-bottom:32px;
  }
  .course-detail:nth-child(even) .course-detail-image{order:2;}
  .course-detail-image{position:relative; min-height:280px;}
  .course-detail-image img{width:100%; height:100%; object-fit:cover; position:absolute; inset:0;}
  .course-detail-body{padding:40px;}
  .course-detail-body h3{font-size:26px; margin:14px 0 12px;}
  .course-detail-body p.desc{color:var(--ink-soft); font-size:15px; margin-bottom:22px;}
  .learn-list{margin-bottom:26px;}
  .learn-list div{display:flex; align-items:flex-start; gap:10px; font-size:14.5px; padding:7px 0;}
  .learn-list .check{
    width:18px; height:18px; border-radius:50%; background:var(--gold-soft); color:var(--gold);
    flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700;
    margin-top:2px;
  }
  .course-detail-footer{display:flex; align-items:center; justify-content:space-between; gap:20px;}

  /* ABOUT PAGE */
  .story-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}
  .story-image{border-radius:20px; overflow:hidden; box-shadow:0 30px 60px -24px rgba(16,24,43,0.3);}
  .story-image img{width:100%; aspect-ratio:4/5; object-fit:cover; display:block;}
  .story-copy h2{font-size:32px; margin:16px 0 18px; line-height:1.25;}
  .story-copy p{color:var(--ink-soft); font-size:16px; margin-bottom:18px; max-width:500px;}

  .values{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .value-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:30px;}
  .value-icon{
    width:44px; height:44px; border-radius:10px; display:flex; align-items:center; justify-content:center;
    font-family:'JetBrains Mono',monospace; font-weight:700; font-size:16px; margin-bottom:18px;
  }
  .value-icon.v-gold{background:var(--gold-soft); color:var(--gold);}
  .value-icon.v-teal{background:var(--teal-soft); color:var(--teal);}
  .value-icon.v-terracotta{background:var(--terracotta-soft); color:var(--terracotta);}
  .value-card h3{font-size:18.5px; margin-bottom:10px;}
  .value-card p{color:var(--ink-soft); font-size:14.5px;}

  /* CONTACT PAGE */
  .contact-grid{display:grid; grid-template-columns:0.9fr 1.1fr; gap:48px; align-items:start;}
  .contact-info-card{background:var(--navy-deep); border-radius:20px; padding:40px; color:var(--white);}
  .contact-info-card h3{font-family:'Fraunces',serif; font-size:22px; margin-bottom:22px; color:var(--white);}
  .contact-row{display:flex; align-items:flex-start; gap:14px; margin-bottom:22px;}
  .contact-icon{
    width:38px; height:38px; border-radius:10px; background:rgba(231,163,62,0.15); color:var(--gold);
    display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono',monospace;
    font-size:14px; flex-shrink:0;
  }
  .contact-row .label{font-size:12px; color:#8592BF; font-family:'JetBrains Mono',monospace; margin-bottom:3px;}
  .contact-row .value{font-size:15px; color:var(--white);}
  .social-row{display:flex; gap:10px; margin-top:28px;}
  .social-row a{
    width:38px; height:38px; border-radius:50%; border:1px solid #2A3560; display:flex; align-items:center;
    justify-content:center; font-family:'JetBrains Mono',monospace; font-size:12px; color:#AEB8DA; transition:all .18s ease;
  }
  .social-row a:hover{border-color:var(--gold); color:var(--gold);}

  .contact-form{background:var(--white); border:1px solid var(--line); border-radius:20px; padding:40px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:18px;}
  .form-group{display:flex; flex-direction:column; gap:8px;}
  .form-group.full{grid-column:1 / -1;}
  .form-group label{font-size:13px; font-weight:600; color:var(--ink);}
  .form-group input, .form-group select, .form-group textarea{
    border:1px solid var(--line); border-radius:10px; padding:12px 14px; font-family:'Inter',sans-serif;
    font-size:14.5px; color:var(--ink); background:var(--paper); resize:vertical;
  }
  .form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:none; border-color:var(--navy);}
  .map-box{
    border-radius:16px; overflow:hidden; margin-top:28px; border:1px solid var(--line); height:220px;
  }
  .map-box img{width:100%; height:100%; object-fit:cover;}

  @media (max-width: 900px){
    .hero-grid{grid-template-columns:1fr;}
    .stats .wrap{grid-template-columns:repeat(2,1fr); gap:28px;}
    .levels{grid-template-columns:1fr;}
    .process{grid-template-columns:1fr 1fr; gap:32px;}
    .process-step:nth-child(2n){border-right:none;}
    .process-step{border-right:none !important; padding-right:0 !important;}
    .testimonials{grid-template-columns:1fr;}
    .teach-grid{grid-template-columns:1fr;}
    .teach-image img{aspect-ratio:16/9;}
    .results-head{grid-template-columns:1fr;}
    .results-image{order:-1;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .nav-links{display:none;}
    .hero h1{font-size:38px;}
    .cta-banner{flex-direction:column; align-items:flex-start; margin:0 16px;}
    .course-detail{grid-template-columns:1fr;}
    .course-detail:nth-child(even) .course-detail-image{order:0;}
    .course-detail-image{min-height:200px;}
    .story-grid{grid-template-columns:1fr;}
    .values{grid-template-columns:1fr;}
    .contact-grid{grid-template-columns:1fr;}
    .form-row{grid-template-columns:1fr;}
    .page-hero h1{font-size:32px;}
  }

/* =========================================================
   WORDPRESS NAV MENU COMPATIBILITY
   wp_nav_menu() outputs <ul class="menu"><li><a>...</a></li></ul>;
   these rules make that structure render identically to the
   original flat <a> nav-links design.
   ========================================================= */
.nav-links ul.menu {
	display: flex;
	align-items: center;
	gap: 36px;
	list-style: none;
}

.nav-links ul.menu li {
	list-style: none;
	position: relative;
}

.nav-links ul.menu > li > a {
	font-size: 14.5px;
	font-weight: 500;
	color: var(--ink-soft);
	display: block;
}

.nav-links ul.menu > li > a:hover,
.nav-links ul.menu > li.current-menu-item > a {
	color: var(--ink);
}

.nav-links ul.menu > li.current-menu-item > a {
	position: relative;
}

.nav-links ul.menu > li.current-menu-item > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 2px;
	background: var(--gold);
}

/* Dropdown sub-menus */
.nav-links ul.menu ul.sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 8px;
	min-width: 200px;
	box-shadow: 0 20px 40px -20px rgba(16, 24, 43, 0.25);
	z-index: 200;
}

.nav-links ul.menu li:hover > ul.sub-menu,
.nav-links ul.menu li:focus-within > ul.sub-menu {
	display: block;
}

.nav-links ul.menu ul.sub-menu li a {
	padding: 8px 12px;
	border-radius: 6px;
	font-size: 14px;
}

.nav-links ul.menu ul.sub-menu li a:hover {
	background: var(--paper-alt);
}

/* =========================================================
   MOBILE MENU TOGGLE
   ========================================================= */
.menu-toggle {
	display: none;
	background: none;
	border: 1px solid var(--line);
	border-radius: 10px;
	width: 42px;
	height: 42px;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.menu-toggle .bar {
	display: block;
	width: 18px;
	height: 2px;
	background: var(--ink);
	position: relative;
	transition: background var(--transition-fast);
}

.menu-toggle .bar::before,
.menu-toggle .bar::after {
	content: "";
	position: absolute;
	left: 0;
	width: 18px;
	height: 2px;
	background: var(--ink);
	transition: transform var(--transition-fast);
}

.menu-toggle .bar::before {
	top: -6px;
}

.menu-toggle .bar::after {
	top: 6px;
}

.menu-toggle[aria-expanded="true"] .bar {
	background: transparent;
}

.menu-toggle[aria-expanded="true"] .bar::before {
	transform: translateY(6px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] .bar::after {
	transform: translateY(-6px) rotate(-45deg);
}

@media (max-width: 900px) {
	.menu-toggle {
		display: flex;
	}

	.nav-links {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: var(--paper);
		border-bottom: 1px solid var(--line);
		padding: 20px 24px;
		box-shadow: 0 20px 40px -20px rgba(16, 24, 43, 0.2);
	}

	.nav-links.is-open {
		display: block;
	}

	.nav-links ul.menu {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}

	.nav-links ul.menu > li {
		width: 100%;
	}

	.nav-links ul.menu > li > a {
		padding: 12px 0;
		width: 100%;
	}

	.nav-links ul.menu ul.sub-menu {
		position: static;
		box-shadow: none;
		border: none;
		padding-left: 16px;
		display: block;
	}
}

/* =========================================================
   SITE HEADER / FOOTER STRUCTURE (WordPress-specific)
   ========================================================= */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(249, 250, 251, 0.88);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--line);
}

.site-header .nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 32px;
	max-width: var(--container-width);
	margin: 0 auto;
	position: relative;
}

.site-branding .logo,
.site-branding a {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 20px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.site-branding img.custom-logo {
	height: 30px;
	width: auto;
	display: block;
}

.nav-actions {
	display: flex;
	gap: 12px;
	align-items: center;
}

.nav-actions .btn {
	padding: 11px 20px;
	font-size: 14px;
}

.site-footer {
	background: var(--navy-deep);
	color: #AEB8DA;
	padding: 70px 0 30px;
}

.site-footer h4 {
	color: var(--white);
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: 0.04em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.site-footer .footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 50px;
	border-bottom: 1px solid #262E52;
}

.site-footer ul {
	list-style: none;
}

.site-footer li {
	margin-bottom: 10px;
	font-size: 14.5px;
}

.site-footer a:hover {
	color: var(--gold);
}

.footer-logo-card {
	background: #F4F5F7;
	display: inline-block;
	padding: 12px 18px;
	border-radius: 10px;
	margin-bottom: 18px;
}

.footer-logo-card img {
	height: 26px;
	width: auto;
	display: block;
}

.footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-top: 26px;
	font-size: 13.5px;
	flex-wrap: wrap;
	gap: 12px;
}

.footer-widgets {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.footer-widgets .widget-title {
	color: var(--white);
	font-family: var(--font-mono);
	font-size: 13px;
	letter-spacing: 0.04em;
	margin-bottom: 18px;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	.site-footer .footer-grid,
	.footer-widgets {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {
	.site-footer .footer-grid,
	.footer-widgets {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   COMMENTS
   ========================================================= */
.comments-area {
	max-width: 760px;
	margin: 48px auto 0;
}

.comment-list {
	list-style: none;
}

.comment-body {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 24px;
	margin-bottom: 20px;
	background: var(--white);
}

.comment-author .fn {
	font-weight: 600;
}

.comment-metadata {
	font-size: 12.5px;
	color: var(--ink-soft);
	font-family: var(--font-mono);
}

.comment-respond input[type="text"],
.comment-respond input[type="email"],
.comment-respond input[type="url"],
.comment-respond textarea {
	width: 100%;
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 12px 14px;
	margin-bottom: 16px;
	font-family: var(--font-body);
}

.comment-reply-title {
	margin-bottom: 20px;
}

/* =========================================================
   SIDEBAR / WIDGETS
   ========================================================= */
.widget {
	margin-bottom: 40px;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 24px;
}

.widget-title {
	font-family: var(--font-display);
	font-size: 18px;
	margin-bottom: 16px;
}

.widget ul {
	list-style: none;
}

.widget li {
	padding: 8px 0;
	border-bottom: 1px solid var(--line);
	font-size: 14.5px;
}

.widget li:last-child {
	border-bottom: none;
}

.content-with-sidebar {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 48px;
	align-items: start;
	max-width: var(--container-width);
	margin: 0 auto;
	padding: 0 32px;
}

@media (max-width: 900px) {
	.content-with-sidebar {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   404 / SEARCH / ARCHIVE
   ========================================================= */
.error-404 {
	text-align: center;
	padding: 96px 0;
}

.error-404 .error-code {
	font-family: var(--font-mono);
	font-size: 96px;
	color: var(--gold);
	font-weight: 700;
	line-height: 1;
}

.search-form-wrap {
	max-width: 480px;
	margin: 32px auto 0;
	display: flex;
	gap: 10px;
}

.search-form-wrap input[type="search"] {
	flex: 1;
	border: 1px solid var(--line);
	border-radius: 100px;
	padding: 12px 20px;
}

.post-list {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.post-card {
	border: 1px solid var(--line);
	border-radius: var(--radius);
	padding: 28px;
	background: var(--white);
}

.post-card .entry-title {
	font-size: 24px;
	margin: 12px 0;
}

.post-card .entry-meta {
	font-family: var(--font-mono);
	font-size: 12.5px;
	color: var(--ink-soft);
}

.post-card .entry-summary {
	color: var(--ink-soft);
	margin-top: 12px;
}

.pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 40px;
}

.pagination .page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--line);
	border-radius: 10px;
}

.pagination .page-numbers.current {
	background: var(--navy);
	color: var(--white);
	border-color: var(--navy);
}
