/*
Theme Name: Maple Road
Theme URI: https://mapleroadedu.example
Author: Maple Road
Description: 메이플로드 주니어 해외유학·가족연수 전용 테마. 활성화하면 홈페이지와 프로그램 상세 11개 페이지가 자동으로 만들어집니다.
Version: 2.5.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: mapleroad
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap');
:root{
  --bg:#f3f2f2; --ink:#201e1d; --ink-soft:#5b5854; --ink-mid:#3f3c39;
  --red:#ec3013; --red-dark:#c72a10; --line:rgba(32,30,29,.2); --line-strong:#201e1d;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace,'Noto Sans KR';
}
.mr,.mr *{box-sizing:border-box;}
.mr{background:var(--bg);color:var(--ink);font-family:'Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6;}
.mr a{color:var(--ink);text-decoration:none;}
.mr a:hover{color:var(--red);}
.mr ::selection{background:rgba(236,48,19,.18);}
.mr :focus-visible{outline:2px solid var(--red);outline-offset:2px;}
.mr img{max-width:100%;display:block;}
.mr .wrap{max-width:1280px;margin:0 auto;padding:0 40px;}
.mr .hr-strong{border-bottom:2px solid var(--line-strong);}

/* 헤더 */
.mr .mr-header{position:sticky;top:0;z-index:90;background:var(--bg);border-bottom:2px solid var(--line-strong);}
.mr .mr-header .inner{max-width:1280px;margin:0 auto;padding:16px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.mr .brand{font:900 20px/1 'Noto Sans KR',sans-serif;letter-spacing:-.02em;}
.mr .brand i{color:var(--red);font-style:normal;}
.mr .mr-nav{display:flex;gap:26px;font-size:13.5px;font-weight:500;list-style:none;margin:0;padding:0;}
.mr .btn-primary{display:inline-block;padding:15px 28px;background:var(--red);color:#fff;font-size:14px;font-weight:700;}
.mr .btn-primary:hover{background:var(--red-dark);color:#fff;}
.mr .btn-sm{padding:11px 20px;font-size:13px;}
.mr .btn-ghost{display:inline-block;padding:13px 26px;border:2px solid var(--line-strong);font-size:14px;font-weight:700;}
.mr .btn-ghost:hover{background:var(--line-strong);color:var(--bg);}
.mr .btn-dark{display:inline-block;padding:16px 30px;background:var(--line-strong);color:#fff;font:700 15px 'Noto Sans KR',sans-serif;}
.mr .btn-dark:hover{background:#000;color:#fff;}

/* 공통 */
.mr .eyebrow{font:700 12px 'Noto Sans KR',sans-serif;letter-spacing:.14em;color:var(--red);margin-bottom:16px;font-variant-numeric:tabular-nums;}
.mr .sec{border-bottom:2px solid var(--line-strong);}
.mr .sec-head{padding:72px 0 44px;}
.mr .sec-head h2{font:900 40px/1.25 'Noto Sans KR',sans-serif;letter-spacing:-.025em;margin:0 0 12px;}
.mr .sec-head p{margin:0;font-size:15px;line-height:1.8;color:var(--ink-soft);max-width:720px;}
/* 사진 자리 — WordPress에서 이미지 태그로 교체하세요 */
.mr .photo{background:rgba(32,30,29,.05);border:1px dashed rgba(32,30,29,.35);display:flex;align-items:center;justify-content:center;text-align:center;color:#8a8681;font-size:12px;padding:12px;min-height:120px;}
.mr .photo img{width:100%;height:100%;object-fit:cover;}
.mr .photo:has(img){border:0;background:none;padding:0;}
.mr .photo.ratio-45{aspect-ratio:4/5;}
.mr .photo.ratio-43{aspect-ratio:4/3;}
.mr .photo.ratio-34{aspect-ratio:3/4;}

/* 히어로 */
.mr .hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;padding-top:72px;}
.mr .hero .col-txt{padding-bottom:72px;}
.mr .hero h1{font:900 60px/1.18 'Noto Sans KR',sans-serif;letter-spacing:-.03em;margin:0 0 26px;text-wrap:balance;}
.mr .hero .lead{margin:0 0 34px;font-size:16px;line-height:1.85;color:var(--ink-soft);max-width:460px;}
.mr .hero .ctas{display:flex;flex-wrap:wrap;}
.mr .hero .col-img{border-left:1px solid var(--line);}

/* 로드맵 */
.mr .roadmap{display:grid;grid-template-columns:repeat(4,1fr);}
.mr .roadmap .st{padding:34px 28px;border-right:1px solid var(--line);}
.mr .roadmap .st:last-child{border-right:0;}
.mr .roadmap .n{font:900 34px/1 var(--mono);margin-bottom:14px;}
.mr .roadmap .st:first-child .n{color:var(--red);}
.mr .roadmap h4{font:800 17px/1.4 'Noto Sans KR',sans-serif;margin:0 0 8px;}
.mr .roadmap p{margin:0;font-size:13px;line-height:1.75;color:var(--ink-soft);}

/* 신뢰 바 */
.mr .trust{background:var(--line-strong);color:var(--bg);}
.mr .trust .grid{display:grid;grid-template-columns:repeat(4,1fr);}
.mr .trust .grid>div{padding:24px 28px;border-right:1px solid rgba(243,242,242,.2);display:flex;align-items:baseline;gap:12px;}
.mr .trust .grid>div:last-child{border-right:0;}
.mr .trust b{font:900 20px 'Noto Sans KR',sans-serif;color:var(--red);letter-spacing:-.01em;font-variant-numeric:tabular-nums;}
.mr .trust span{font-size:13px;color:rgba(243,242,242,.75);}

/* 대표 소개 */
.mr .founder{display:grid;grid-template-columns:300px 1fr;gap:52px;align-items:start;padding:76px 0;}
.mr .founder blockquote{margin:0 0 26px;font:900 32px/1.45 'Noto Sans KR',sans-serif;letter-spacing:-.02em;max-width:720px;}
.mr .founder p{margin:0 0 30px;font-size:15px;line-height:1.9;color:var(--ink-soft);max-width:720px;}
.mr .tl{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);}
.mr .tl span{padding:16px 14px 0;border-right:1px solid var(--line);font-size:12.5px;font-weight:600;line-height:1.55;}
.mr .tl span:last-child{border-right:0;}

/* 후기 */
.mr .review-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
.mr .review-card{padding:34px 34px 38px;border-right:1px solid var(--line);}
.mr .review-card:last-child{border-right:0;}
.mr .stars{color:var(--red);font-size:14px;letter-spacing:.16em;margin-bottom:18px;}
.mr .review-card p{margin:0 0 26px;font-size:14.5px;line-height:1.85;}
.mr .review-who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px;}
.mr .review-who .photo{width:42px;height:42px;flex:0 0 42px;min-height:0;font-size:9px;padding:0;}
.mr .review-who div{font-size:12.5px;line-height:1.6;color:var(--ink-soft);}
.mr .review-who b{color:var(--ink);font-weight:700;}

/* 국가 소개 */
.mr .country-intro{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.mr .country-intro>div{padding:28px 30px;border-right:1px solid var(--line);}
.mr .country-intro>div:last-child{border-right:0;}
.mr .step-tag{display:block;font:700 11px 'Noto Sans KR',sans-serif;letter-spacing:.12em;color:var(--red);margin-bottom:10px;}
.mr .country-intro h4{font:800 18px 'Noto Sans KR',sans-serif;margin:0 0 8px;}
.mr .country-intro p{margin:0;font-size:13px;line-height:1.75;color:var(--ink-soft);}

/* 프로그램 */
.mr .prog-tabs{display:flex;flex-wrap:wrap;padding:28px 0 0;}
.mr .prog-tab{padding:11px 22px;font:700 13px 'Noto Sans KR',sans-serif;cursor:pointer;border:2px solid var(--line-strong);margin-right:-2px;background:transparent;color:var(--ink);}
.mr .prog-tab.active{background:var(--line-strong);color:var(--bg);}
.mr .prog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:28px 0 76px;}
.mr .prog-card{background:var(--bg);display:none;flex-direction:column;}
.mr .prog-card.show{display:flex;}
.mr .prog-thumb{display:block;border-bottom:1px solid var(--line);}
.mr .prog-thumb .photo{aspect-ratio:4/3;border:0;border-bottom:0;}
.mr .prog-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;gap:10px;}
.mr .prog-tag{font:500 10.5px var(--mono);letter-spacing:.12em;color:var(--red);}
.mr .prog-body h3{font:800 19px/1.4 'Noto Sans KR',sans-serif;letter-spacing:-.01em;margin:0;}
.mr .prog-body h3 a:hover{color:var(--red);}
.mr .prog-body>p{margin:0;font-size:13px;line-height:1.75;color:var(--ink-soft);flex:1;}
.mr .chips{display:flex;gap:6px;flex-wrap:wrap;padding-top:4px;}
.mr .chips span{padding:4px 9px;border:1px solid rgba(32,30,29,.3);font-size:11px;font-weight:500;}
.mr .prog-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:6px;}
.mr .prog-foot .price{font:700 13px 'Noto Sans KR',sans-serif;font-variant-numeric:tabular-nums;}
.mr .prog-foot a{font-size:12.5px;font-weight:700;color:var(--red);}

/* 비용 */
.mr .price-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);}
.mr .price-card{padding:34px 30px 44px;border-right:1px solid var(--line);}
.mr .price-card:last-child{border-right:0;}
.mr .price-card h4{font:800 18px 'Noto Sans KR',sans-serif;margin:0 0 14px;}
.mr .price-card .p{font:900 30px/1 'Noto Sans KR',sans-serif;letter-spacing:-.02em;color:var(--red);margin-bottom:20px;font-variant-numeric:tabular-nums;}
.mr .price-card .p em{font-size:14px;color:var(--ink-soft);font-style:normal;}
.mr .price-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ink-soft);}

/* FAQ */
.mr .faq-grid{display:grid;grid-template-columns:320px 1fr;gap:52px;padding:72px 0 76px;}
.mr .faq-grid h2{font:900 36px/1.25 'Noto Sans KR',sans-serif;letter-spacing:-.025em;margin:0;}
.mr .faq{border-top:1px solid var(--line);}
.mr .faq details{border-bottom:1px solid var(--line);padding:20px 0;}
.mr .faq summary{cursor:pointer;list-style:none;font:700 16px/1.5 'Noto Sans KR',sans-serif;}
.mr .faq summary::-webkit-details-marker{display:none;}
.mr .faq p{margin:14px 0 0;font-size:14px;line-height:1.85;color:var(--ink-soft);max-width:720px;}

/* 문의 */
.mr .contact-sec{background:var(--line-strong);color:var(--bg);}
.mr .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:76px 0;}
.mr .contact-grid h2{font:900 38px/1.3 'Noto Sans KR',sans-serif;letter-spacing:-.025em;margin:0 0 18px;}
.mr .contact-grid .lead{margin:0 0 34px;font-size:15px;line-height:1.85;color:rgba(243,242,242,.7);max-width:420px;}
.mr .contact-line{padding:16px 0;border-bottom:1px solid rgba(243,242,242,.25);display:flex;gap:16px;font-size:14px;}
.mr .contact-line:first-of-type{border-top:1px solid rgba(243,242,242,.25);}
.mr .contact-line .k{font:500 11px var(--mono);letter-spacing:.12em;color:rgba(243,242,242,.5);width:60px;flex:0 0 60px;}
.mr form{display:flex;flex-direction:column;gap:18px;}
.mr .f-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.mr .f-row{display:flex;flex-direction:column;gap:8px;font:600 12px 'Noto Sans KR',sans-serif;letter-spacing:.06em;color:rgba(243,242,242,.6);}
.mr .f-row input,.mr .f-row textarea,.mr .f-row select{background:transparent;border:1px solid rgba(243,242,242,.35);color:var(--bg);padding:13px 14px;font:400 15px 'Noto Sans KR',sans-serif;border-radius:0;}
.mr .f-row select{background:var(--line-strong);}
.mr .f-row textarea{resize:vertical;min-height:110px;}
.mr .f-submit{padding:16px 26px;background:var(--red);color:#fff;border:none;font:700 15px 'Noto Sans KR',sans-serif;text-align:left;cursor:pointer;}
.mr .f-submit:hover{background:var(--red-dark);}
.mr #formStatus{display:none;font-size:13px;line-height:1.7;color:rgba(243,242,242,.7);border-left:2px solid var(--red);padding-left:14px;}

/* 포스터 */
.mr .poster{background:var(--red);color:#fff;border-bottom:2px solid var(--line-strong);}
.mr .poster .t{font:900 52px/1.25 'Noto Sans KR',sans-serif;letter-spacing:-.03em;max-width:900px;padding:64px 0;}

/* 푸터 */
.mr footer{background:var(--line-strong);color:rgba(243,242,242,.7);}
.mr .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:44px;padding:56px 0 28px;}
.mr .foot-grid .brand{color:var(--bg);margin-bottom:14px;}
.mr .foot-grid p{margin:0;font-size:13px;line-height:1.8;max-width:340px;}
.mr .foot-grid h5{font:500 11px var(--mono);letter-spacing:.14em;color:rgba(243,242,242,.45);margin:0 0 16px;}
.mr .foot-grid ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:13.5px;}
.mr .foot-grid a{color:rgba(243,242,242,.75);}
.mr .foot-grid a:hover{color:var(--red);}
.mr .foot-bottom{border-top:1px solid rgba(243,242,242,.2);padding:20px 0 40px;font-size:12px;}

/* ===== 프로그램 상세 ===== */
.mr .detail-hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:start;padding-top:44px;}
.mr .detail-hero .col-txt{padding-bottom:60px;}
.mr .back-link{display:inline-block;font:600 13px 'Noto Sans KR',sans-serif;letter-spacing:.01em;color:var(--ink-soft);margin-bottom:30px;}
.mr .detail-hero h1{font:900 50px/1.22 'Noto Sans KR',sans-serif;letter-spacing:-.03em;margin:0 0 24px;text-wrap:balance;}
.mr .detail-lead{margin:0 0 30px;font-size:16px;line-height:1.85;color:var(--ink-soft);max-width:520px;}
.mr .detail-meta{display:flex;flex-wrap:wrap;border-top:1px solid rgba(32,30,29,.25);}
.mr .detail-meta span{padding:12px 20px 12px 0;margin-right:20px;font:700 13px 'Noto Sans KR',sans-serif;border-right:1px solid var(--line);}
.mr .detail-meta span:last-child{border-right:0;}
.mr .detail-sec{display:grid;grid-template-columns:300px 1fr;gap:52px;padding:48px 0;border-bottom:1px solid var(--line);}
.mr .detail-sec .num{font:500 11px var(--mono);letter-spacing:.16em;color:var(--red);margin-bottom:10px;}
.mr .detail-sec h2{font:900 24px/1.35 'Noto Sans KR',sans-serif;letter-spacing:-.02em;margin:0;}
.mr .detail-sec .body p{margin:0 0 16px;font-size:15.5px;line-height:1.9;color:var(--ink-mid);max-width:760px;}
.mr .detail-sec .body p:last-child{margin-bottom:0;}
.mr .detail-table{width:100%;border-collapse:collapse;border:1px solid rgba(32,30,29,.25);}
.mr .detail-table th{background:var(--line-strong);color:var(--bg);text-align:left;padding:13px 18px;font:700 12px 'Noto Sans KR',sans-serif;border-right:1px solid rgba(243,242,242,.25);}
.mr .detail-table th:last-child{border-right:0;}
.mr .detail-table td{padding:14px 18px;border-top:1px solid rgba(32,30,29,.18);font-size:14px;line-height:1.7;color:var(--ink-mid);}
.mr .detail-table td:first-child{width:220px;font:700 13.5px 'Noto Sans KR',sans-serif;letter-spacing:0;color:var(--ink);border-right:1px solid rgba(32,30,29,.18);font-variant-numeric:tabular-nums;}
.mr .cols{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);}
.mr .cols>div{background:var(--bg);padding:24px 26px 28px;}
.mr .cols h3{font:800 16px 'Noto Sans KR',sans-serif;margin:0 0 16px;}
.mr .cols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.mr .cols li{display:flex;gap:10px;font-size:14px;line-height:1.7;color:var(--ink-mid);}
.mr .cols li:before{font-weight:700;}
.mr .cols .yes li:before{content:'+';color:var(--ink);}
.mr .cols .no li:before{content:'−';color:#8a8681;}
.mr .cols .no h3{color:#8a8681;}
.mr .related{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
.mr .related a{background:var(--bg);padding:22px 22px 24px;display:flex;flex-direction:column;gap:12px;font:700 15px/1.45 'Noto Sans KR',sans-serif;}
.mr .related a:after{content:'VIEW →';font:500 11px var(--mono);letter-spacing:.1em;color:var(--red);}
.mr .related a:hover{background:var(--line-strong);color:var(--bg);}
.mr .detail-cta{background:var(--red);color:#fff;border-top:2px solid var(--line-strong);border-bottom:2px solid var(--line-strong);margin-top:0;}
.mr .detail-cta .grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;padding:60px 0;}
.mr .detail-cta h3{font:900 40px/1.3 'Noto Sans KR',sans-serif;letter-spacing:-.03em;margin:0 0 14px;max-width:820px;}
.mr .detail-cta p{margin:0;font-size:15.5px;line-height:1.8;color:rgba(255,255,255,.85);}

/* 반응형 */
@media (max-width:1024px){
  .mr .wrap,.mr .mr-header .inner{padding-left:24px;padding-right:24px;}
  .mr .hero .grid,.mr .detail-hero .grid{grid-template-columns:1fr;gap:32px;}
  .mr .hero h1{font-size:44px;}
  .mr .detail-hero h1{font-size:38px;}
  .mr .founder .photo,.mr .hero .col-img .photo{max-width:420px;}
  .mr .founder,.mr .faq-grid,.mr .contact-grid,.mr .detail-sec,.mr .detail-cta .grid{grid-template-columns:1fr;gap:28px;}
  .mr .roadmap,.mr .trust .grid,.mr .prog-grid,.mr .review-grid,.mr .country-intro,.mr .price-grid,.mr .related,.mr .foot-grid{grid-template-columns:repeat(2,1fr);}
  .mr .tl{grid-template-columns:repeat(2,1fr);}
  .mr .mr-nav{display:none;}
  .mr .poster .t{font-size:34px;padding:44px 0;}
}
@media (max-width:640px){
  .mr .roadmap,.mr .trust .grid,.mr .prog-grid,.mr .review-grid,.mr .country-intro,.mr .price-grid,.mr .related,.mr .cols,.mr .f-two,.mr .foot-grid{grid-template-columns:1fr;}
  .mr .hero h1{font-size:34px;}
  .mr .sec-head h2{font-size:28px;}
  .mr .founder blockquote{font-size:24px;}
  .mr .detail-table td:first-child{width:120px;}
}