/*
Theme Name: MAN 2 CBT Theme
Author: MAN 2 Padangsidimpuan
Description: Tema WordPress simpel, modern, responsif, dan dapat disesuaikan untuk portal Ujian Online MAN 2 Padangsidimpuan.
Version: 1.2.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: man2-cbt-theme
Tags: education, custom-logo, custom-menu, featured-images, block-styles, responsive-layout
*/
:root{--man2-green:#147a45;--man2-green-dark:#0d5432;--man2-green-soft:#eaf5ee;--man2-accent:#d9a62e;--man2-ink:#183328;--man2-muted:#64756c;--man2-line:#e1eae4;--man2-bg:#f5f8f6;--man2-white:#fff;--man2-radius:18px;--man2-shadow:0 12px 32px rgba(16,67,41,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--man2-bg);color:var(--man2-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.65}a{color:var(--man2-green);text-decoration:none}a:hover{color:var(--man2-green-dark)}img{max-width:100%;height:auto}.site-shell{min-height:100vh;display:flex;flex-direction:column}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid var(--man2-line);position:relative;z-index:10}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;min-width:0}.custom-logo-link{display:block;line-height:0}.custom-logo{width:auto;max-height:54px;max-width:70px;object-fit:contain}.brand-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,var(--man2-green),var(--man2-green-dark));display:grid;place-items:center;color:white;font-size:22px;font-weight:800;box-shadow:0 7px 15px rgba(20,122,69,.18)}.brand-copy{min-width:0}.site-title{font-weight:800;font-size:17px;line-height:1.25;display:block;color:var(--man2-ink);letter-spacing:-.3px}.site-description{font-size:11px;color:var(--man2-muted);display:block;margin-top:3px}.primary-nav ul{display:flex;align-items:center;gap:7px;list-style:none;margin:0;padding:0}.primary-nav a{display:block;padding:10px 13px;border-radius:10px;font-size:14px;font-weight:650;color:#41574b}.primary-nav a:hover,.primary-nav .current-menu-item>a{background:var(--man2-green-soft);color:var(--man2-green-dark)}.menu-toggle{display:none;border:1px solid var(--man2-line);background:#fff;color:var(--man2-ink);border-radius:10px;padding:9px 12px;font-size:18px}.hero{padding:48px 0 34px}.hero-panel{display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:center;background:linear-gradient(120deg,#fff 0%,#f2f8f4 100%);border:1px solid #e1eee5;border-radius:26px;padding:34px;overflow:hidden;box-shadow:var(--man2-shadow)}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 11px;background:var(--man2-green-soft);color:var(--man2-green-dark);border-radius:999px;font-weight:750;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.eyebrow:before{content:"";width:7px;height:7px;background:var(--man2-accent);border-radius:50%}.hero h1{font-size:clamp(30px,4vw,48px);line-height:1.12;letter-spacing:-1.5px;margin:16px 0 13px;color:var(--man2-green-dark)}.hero-copy{font-size:16px;color:#596b60;max-width:560px;margin:0 0 24px}.hero-actions{display:flex;gap:11px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;padding:12px 17px;font-size:14px;font-weight:750;border:1px solid transparent;transition:.2s ease}.button-primary{background:var(--man2-green);color:#fff;box-shadow:0 7px 16px rgba(20,122,69,.16)}.button-primary:hover{background:var(--man2-green-dark);color:#fff;transform:translateY(-1px)}.button-secondary{background:#fff;color:var(--man2-green-dark);border-color:#d7e6dc}.button-secondary:hover{background:var(--man2-green-soft);color:var(--man2-green-dark)}.hero-media{position:relative;min-height:290px;border-radius:19px;overflow:hidden;background:linear-gradient(145deg,#dceee2,#b7d9c3);display:flex;align-items:center;justify-content:center}.hero-media img{width:100%;height:100%;min-height:290px;max-height:390px;object-fit:cover;position:absolute;inset:0}.image-placeholder{position:relative;z-index:1;text-align:center;padding:35px;color:#245b3c;max-width:310px}.image-placeholder .placeholder-icon{width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.75);display:grid;place-items:center;margin:0 auto 13px;font-size:27px}.image-placeholder strong{display:block;font-size:17px}.image-placeholder span{font-size:12px;display:block;margin-top:5px;color:#416b50}.hero-media.has-image .image-placeholder{display:none}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:0 0 34px}.quick-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--man2-line);border-radius:15px;padding:17px 18px;box-shadow:0 5px 17px rgba(16,67,41,.035);transition:.2s}.quick-card:hover{transform:translateY(-2px);box-shadow:var(--man2-shadow);border-color:#b8d9c4}.quick-icon{width:43px;height:43px;border-radius:13px;background:var(--man2-green-soft);display:grid;place-items:center;color:var(--man2-green-dark);font-size:21px;flex:0 0 auto}.quick-card strong{display:block;color:var(--man2-ink);font-size:14px}.quick-card small{display:block;color:var(--man2-muted);font-size:11px;margin-top:2px}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:25px;padding-bottom:55px}.content-main{min-width:0}.section-card,.sidebar-card{background:#fff;border:1px solid var(--man2-line);border-radius:var(--man2-radius);padding:25px;box-shadow:0 5px 18px rgba(16,67,41,.035)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:17px}.section-heading h2{font-size:22px;line-height:1.25;margin:0;color:var(--man2-green-dark);letter-spacing:-.5px}.section-heading p{font-size:12px;color:var(--man2-muted);margin:5px 0 0}.info-copy{color:#566b5e;font-size:14px}.info-copy p:first-child{margin-top:0}.info-copy p:last-child{margin-bottom:0}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.news-item{border:1px solid var(--man2-line);border-radius:13px;padding:16px;background:#fcfefd}.news-item time{font-size:11px;color:var(--man2-muted)}.news-item h3{font-size:15px;line-height:1.4;margin:7px 0;color:var(--man2-ink)}.news-item p{font-size:12px;color:var(--man2-muted);margin:0}.sidebar{display:flex;flex-direction:column;gap:16px}.sidebar-card{padding:20px}.sidebar-title{font-size:15px;font-weight:800;color:var(--man2-green-dark);margin:0 0 13px}.sidebar-menu ul{list-style:none;padding:0;margin:0}.sidebar-menu li+li{margin-top:5px}.sidebar-menu a{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:10px;background:#f7faf8;color:#41574b;font-size:13px;font-weight:650}.sidebar-menu a:before{content:"›";font-size:19px;line-height:12px;color:var(--man2-green)}.sidebar-menu a:hover,.sidebar-menu .current-menu-item>a{background:var(--man2-green-soft);color:var(--man2-green-dark)}.widget-area .widget{margin:0 0 16px}.widget-area .widget:last-child{margin-bottom:0}.widget-title{font-size:15px;color:var(--man2-green-dark);margin:0 0 10px}.widget-area p{font-size:13px;color:#627267}.custom-widget-box{border:1px solid var(--man2-line);background:#fff;border-radius:var(--man2-radius);padding:19px}.custom-widget-box .button{padding:9px 12px;font-size:12px}.site-footer{margin-top:auto;background:#103f2b;color:#d8e8de;padding:34px 0 20px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:22px}.footer-brand{color:#fff;font-weight:800;font-size:17px;margin:0 0 8px}.site-footer p{color:#b7cdbf;font-size:12px;margin:0 0 8px}.footer-widget .widget-title{color:#fff}.footer-widget a{color:#d8e8de}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:25px;padding-top:15px;font-size:11px;color:#a9c2b3;display:flex;justify-content:space-between;gap:15px}.site-footer .widget-area .widget{margin-bottom:8px}.site-footer .widget-area p{color:#b7cdbf}.no-content{padding:20px;border:1px dashed #c8dacd;border-radius:12px;color:var(--man2-muted);font-size:13px}.page-header{padding:38px 0 16px}.page-header h1{font-size:34px;color:var(--man2-green-dark);margin:0}.page-content{padding-bottom:55px}.entry-content{background:#fff;border:1px solid var(--man2-line);border-radius:18px;padding:28px}.entry-content a{text-decoration:underline}.entry-content img{border-radius:12px}.entry-content h2,.entry-content h3{color:var(--man2-green-dark)}.pagination{margin:25px 0}.pagination .page-numbers{display:inline-block;padding:8px 12px;border:1px solid var(--man2-line);border-radius:8px;margin-right:4px}.pagination .current{background:var(--man2-green);color:#fff}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.alignwide{max-width:1100px}.alignfull{max-width:none}.wp-block-button__link{background:var(--man2-green);border-radius:10px}.wp-block-quote{border-left-color:var(--man2-green)}
@media(max-width:900px){.hero-panel{gap:24px;padding:26px}.content-layout{grid-template-columns:minmax(0,1fr) 260px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:720px){.container{width:min(100% - 28px,1160px)}.header-inner{min-height:72px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--man2-line);padding:10px 20px 16px;box-shadow:0 12px 18px rgba(16,67,41,.08)}.primary-nav.is-open{display:block}.primary-nav ul{display:block}.primary-nav a{padding:11px 12px}.hero{padding:25px 0 20px}.hero-panel{grid-template-columns:1fr;padding:21px;border-radius:20px;gap:22px}.hero h1{font-size:34px}.hero-copy{font-size:14px}.hero-media,.hero-media img{min-height:210px;max-height:260px}.quick-links{grid-template-columns:1fr;gap:9px;margin-bottom:23px}.quick-card{padding:12px 14px}.content-layout{grid-template-columns:1fr;gap:16px;padding-bottom:35px}.section-card{padding:20px}.section-heading h2{font-size:20px}.news-grid{grid-template-columns:1fr}.sidebar{order:2}.footer-grid{grid-template-columns:1fr;gap:18px}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:5px}.page-header h1{font-size:28px}.entry-content{padding:20px}}


/* ================================================================
   MAN 2 CBT Theme v1.1 — visual refinement and safe layout defaults
   ================================================================ */
:root {
  --man2-green: #147a45;
  --man2-green-dark: #0b4b2e;
  --man2-green-soft: #eaf5ee;
  --man2-accent: #d9a62e;
  --man2-ink: #183328;
  --man2-muted: #66766d;
  --man2-line: #e3ebe5;
  --man2-bg: #f4f8f5;
  --man2-white: #fff;
  --man2-radius: 20px;
  --man2-shadow: 0 16px 42px rgba(16, 67, 41, .09);
}

html { background: var(--man2-bg); }
body {
  margin: 0 !important;
  padding: 0;
  background: var(--man2-bg) !important;
  color: var(--man2-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.7;
}
body, button, input, select, textarea { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.site-shell { min-height: 100vh; width: 100%; overflow-x: clip; }
.container { width: min(1200px, calc(100% - 64px)); max-width: 1200px; margin-left: auto; margin-right: auto; }

.site-header {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid rgba(218,231,222,.9);
  box-shadow: 0 5px 22px rgba(16,67,41,.035);
}
.header-inner { min-height: 88px; gap: 28px; }
.brand { gap: 14px; }
.brand-mark { width: 50px; height: 50px; border-radius: 16px; }
.site-title { font-size: 17px; letter-spacing: -.35px; }
.site-description { font-size: 11px; letter-spacing: .02em; }
.primary-nav ul { gap: 5px; }
.primary-nav a { padding: 10px 14px; font-size: 13px; }

.hero { padding: 48px 0 28px; }
.hero-panel {
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
  gap: clamp(26px, 4vw, 52px);
  padding: clamp(28px, 4.2vw, 54px);
  min-height: 420px;
  border: 1px solid #e0ece4;
  border-radius: 30px;
  background:
    radial-gradient(circle at 95% 2%, rgba(217,166,46,.12), transparent 27%),
    linear-gradient(125deg, #fff 0%, #f1f8f3 72%, #edf6ef 100%);
  box-shadow: 0 20px 55px rgba(16,67,41,.085);
}
.hero-panel:before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(20,122,69,.07);
  border-radius: 50%;
  right: 34%;
  bottom: -205px;
}
.eyebrow { font-size: 10px; letter-spacing: .12em; padding: 7px 12px; }
.hero h1 { max-width: 590px; font-size: clamp(34px, 4.2vw, 52px); line-height: 1.08; letter-spacing: -1.8px; margin: 20px 0 17px; }
.hero-copy { max-width: 520px; font-size: 15px; line-height: 1.8; margin-bottom: 27px; }
.hero-actions { gap: 12px; }
.button { min-height: 46px; padding: 12px 18px; border-radius: 12px; }
.hero-media {
  min-height: 310px;
  border: 7px solid rgba(255,255,255,.86);
  border-radius: 23px;
  box-shadow: 0 18px 38px rgba(15,58,36,.17);
  background: linear-gradient(145deg,#d9ecdf,#b5d8c1);
}
.hero-media:after {
  content: "MAN 2 PADANGSIDIMPUAN";
  position: absolute;
  z-index: 2;
  left: 16px;
  bottom: 16px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 9px;
  background: rgba(12,67,40,.82);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}
.hero-media img { min-height: 310px; max-height: 420px; object-fit: cover; }
.image-placeholder { max-width: 340px; }

.quick-links { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; margin: 0 0 34px; }
.quick-card { min-height: 88px; padding: 18px 19px; border-radius: 17px; }
.quick-icon { width: 46px; height: 46px; border-radius: 14px; }
.quick-card strong { font-size: 14px; }
.quick-card small { font-size: 11px; }
.content-layout { grid-template-columns: minmax(0,1fr) 300px; gap: 24px; padding-bottom: 64px; }
.content-main { display: flex; flex-direction: column; gap: 20px; }
.section-card, .sidebar-card { border-radius: 20px; padding: 28px; box-shadow: 0 7px 24px rgba(16,67,41,.045); }
.section-heading { margin-bottom: 19px; }
.section-heading h2 { font-size: 22px; }
.info-copy { font-size: 14px; line-height: 1.85; }
.news-grid { gap: 13px; }
.news-item { background: #fbfdfb; border-radius: 14px; padding: 18px; }
.sidebar { gap: 18px; }
.sidebar-card { padding: 22px; }
.sidebar-menu a { padding: 11px 12px; border: 1px solid transparent; }
.sidebar-menu a:hover, .sidebar-menu .current-menu-item>a { border-color: #d8e9dd; }

.site-footer { padding: 42px 0 22px; }
.footer-grid { gap: 28px; }
.footer-brand { font-size: 18px; }
.footer-bottom { margin-top: 30px; padding-top: 18px; }

/* Graceful styling for a homepage built from the block editor instead of the
   bundled front-page.php template. Keeps content away from the viewport edge. */
body.home main:not(#main-content),
body.front-page main:not(#main-content),
body.page main:not(#main-content) {
  width: min(1160px, calc(100% - 64px));
  margin: 38px auto 64px;
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid var(--man2-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--man2-shadow);
}
body.home .entry-content,
body.front-page .entry-content,
body.page .entry-content {
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
body.home main:not(#main-content) > h1,
body.front-page main:not(#main-content) > h1,
body.page main:not(#main-content) > h1,
body.home .entry-content h1,
body.front-page .entry-content h1,
body.page .entry-content h1 {
  color: var(--man2-green-dark);
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.15;
  letter-spacing: -.9px;
  margin: 8px 0 18px;
}
body.home main:not(#main-content) img,
body.front-page main:not(#main-content) img,
body.page main:not(#main-content) img,
body.home .entry-content img,
body.front-page .entry-content img,
body.page .entry-content img {
  max-width: 100%;
  max-height: 480px;
  object-fit: cover;
  border-radius: 18px;
}
body.home main:not(#main-content) a,
body.front-page main:not(#main-content) a,
body.page main:not(#main-content) a { color: var(--man2-green); }
body.home main:not(#main-content) .wp-block-button__link,
body.front-page main:not(#main-content) .wp-block-button__link,
body.page main:not(#main-content) .wp-block-button__link { color: #fff; text-decoration: none; }

/* Content never touches the browser edge on smaller screens. */
@media (max-width: 980px) {
  .container { width: min(100% - 44px, 1200px); }
  .hero-panel { gap: 28px; min-height: 0; }
  .content-layout { grid-template-columns: minmax(0,1fr) 270px; }
}
@media (max-width: 760px) {
  .container { width: calc(100% - 32px); }
  .header-inner { min-height: 74px; }
  .hero { padding: 24px 0 18px; }
  .hero-panel { grid-template-columns: 1fr; gap: 22px; padding: 23px; border-radius: 22px; }
  .hero h1 { font-size: clamp(31px, 8vw, 39px); letter-spacing: -1px; }
  .hero-copy { font-size: 14px; margin-bottom: 20px; }
  .hero-media, .hero-media img { min-height: 220px; max-height: 290px; }
  .quick-links { grid-template-columns: 1fr; gap: 10px; margin-bottom: 22px; }
  .quick-card { min-height: 0; padding: 14px 15px; }
  .content-layout { grid-template-columns: 1fr; gap: 17px; padding-bottom: 38px; }
  .section-card, .sidebar-card { padding: 21px; border-radius: 17px; }
  .content-main { gap: 15px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 18px; }
  body.home main:not(#main-content), body.front-page main:not(#main-content), body.page main:not(#main-content) {
    width: calc(100% - 32px); margin: 20px auto 38px; padding: 22px; border-radius: 18px;
  }
}
@media (max-width: 460px) {
  .container { width: calc(100% - 26px); }
  .hero-panel { padding: 19px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  body.home main:not(#main-content), body.front-page main:not(#main-content), body.page main:not(#main-content) {
    width: calc(100% - 24px); padding: 18px;
  }
}


/* v1.2.0: campus photo is now the full hero-panel background, not a separate card. */
.hero-panel {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-template-columns: none;
  min-height: clamp(420px, 43vw, 530px);
  padding: clamp(30px, 5vw, 62px);
  background: linear-gradient(125deg, #fff 0%, #f1f8f3 72%, #edf6ef 100%);
}
.hero-panel.has-background-image {
  background-image:
    linear-gradient(90deg,
      rgba(255,255,255,.97) 0%,
      rgba(255,255,255,.93) 34%,
      rgba(255,255,255,.78) 56%,
      rgba(255,255,255,.34) 100%),
    var(--man2-hero-background);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.hero-content {
  position: relative;
  z-index: 1;
  width: min(100%, 740px);
}
.hero-panel.has-background-image .hero-copy {
  color: #40594a;
}
.hero-panel.has-background-image .eyebrow {
  background: rgba(234,245,238,.94);
  box-shadow: 0 3px 12px rgba(16,67,41,.06);
}
@media (max-width: 760px) {
  .hero-panel {
    min-height: 390px;
    padding: 28px 24px;
  }
  .hero-panel.has-background-image {
    background-image:
      linear-gradient(90deg,
        rgba(255,255,255,.96) 0%,
        rgba(255,255,255,.91) 58%,
        rgba(255,255,255,.72) 100%),
      var(--man2-hero-background);
    background-position: 62% center;
  }
}
@media (max-width: 460px) {
  .hero-panel { min-height: 370px; padding: 24px 20px; }
}
