/* 우리 학교 맞춤 프로그램 추천 (index.html #recommend) — 기존 사이트 톤(종이색·잉크색·두꺼운 테두리·그림자) 유지 */
#recommend .reco-wrap{max-width:980px;margin:0 auto}
#recommend .reco-intro{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px;padding:0;list-style:none}
#recommend .reco-intro li{font-size:14.5px;font-weight:700;border:2.5px solid var(--fg);border-radius:999px;padding:6px 15px;background:color-mix(in srgb,var(--bg) 70%,#fff)}
#recoForm .rc-q{font-size:14px;font-weight:700;color:#44476F;margin-bottom:12px;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}
#recoForm .rc-q em{font-style:normal;font-weight:600;font-size:12.5px;color:#6a6d92}
#recoForm .rc-q b.req{color:var(--coral)}
#recoForm select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none' stroke='%2314173D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 1.5 7 7l5.5-5.5'/%3E%3C/svg%3E") right 4px center/14px no-repeat;padding-right:28px}
#recoForm .rc-hint{font-size:13px;color:#C23A30;font-weight:700;min-height:1.3em;margin-top:8px}
#recoForm .rc-notice{grid-column:1/-1;margin:0;font-size:14px;color:#44476F;background:#FFF6E5;border:2px dashed rgba(20,23,61,.35);border-radius:16px;padding:12px 16px;line-height:1.6}
#recoForm .rc-ts{grid-column:1/-1;min-height:0}
#recoForm .rc-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
#recoForm .btn[disabled]{opacity:.55;cursor:not-allowed;box-shadow:none}
#recoStatus{margin:0;font-weight:700;color:#4B2BD6;min-height:1.6em}
#recoStatus.err{color:#C23A30}
#recoStatus .spin{display:inline-block;width:.9em;height:.9em;margin-right:8px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.1em;animation:rcspin .8s linear infinite}
@keyframes rcspin{to{transform:rotate(360deg)}}
.rc-error{grid-column:1/-1;margin:0;display:none;gap:10px;align-items:center;flex-wrap:wrap;background:#FFEDEA;border:2.5px solid #C23A30;border-radius:18px;padding:14px 18px;color:#14173D;font-weight:600}
.rc-error.show{display:flex}
.rc-error a{font-weight:800;text-decoration:underline}

/* 결과 */
#recoResult{margin-top:clamp(36px,5vw,64px);scroll-margin-top:100px}
#recoResult[hidden]{display:none}
.rc-sec-title{font-family:var(--f-disp);font-weight:900;font-size:clamp(22px,2.6vw,32px);letter-spacing:-.02em;margin:0 0 18px}
.rc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px}
.rc-card{background:#fff;color:#14173D;border:3px solid #14173D;border-radius:26px;box-shadow:7px 7px 0 #14173D;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.rc-card .rc-img{aspect-ratio:16/10;background:#14173D;overflow:hidden}
.rc-card .rc-img img{width:100%;height:100%;object-fit:cover;display:block}
.rc-card .rc-body{padding:18px 20px 22px;display:grid;gap:8px;align-content:start}
.rc-card .rc-no{font:800 13px var(--f-en);color:var(--violet);letter-spacing:.04em}
.rc-card h3{font-family:var(--f-disp);font-weight:900;font-size:21px;line-height:1.25;letter-spacing:-.02em}
.rc-card .rc-item{font-size:14px;font-weight:700;color:#44476F;border-left:4px solid var(--yellow);padding-left:10px}
.rc-card p{font-size:15px;line-height:1.6;color:#2b2e57}
.rc-card p b{display:block;font-size:12.5px;color:#6a6d92;margin-bottom:1px}
.rc-consult{background:#fff;color:#14173D;border:3px solid #14173D;border-radius:26px;box-shadow:7px 7px 0 #14173D;padding:24px 26px;font-weight:600}

.rc-plan-wrap{margin-top:clamp(30px,4vw,48px)}
#recoPlan{background:#fff;color:#14173D;border:3px solid #14173D;border-radius:26px;box-shadow:10px 10px 0 #14173D;padding:clamp(22px,3.2vw,44px)}
#recoPlan .rp-tag{display:inline-block;font:800 12.5px var(--f-en);letter-spacing:.06em;border:2px solid #14173D;border-radius:999px;padding:2px 12px;margin-bottom:10px;background:var(--yellow)}
#recoPlan h3{font-family:var(--f-disp);font-weight:900;font-size:clamp(22px,2.8vw,32px);line-height:1.2;letter-spacing:-.02em;margin-bottom:16px}
#recoPlan dl.rp-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px;margin:0 0 22px;padding:14px 0;border-block:2px solid rgba(20,23,61,.2)}
#recoPlan dl.rp-meta div{min-width:0}
#recoPlan dt{font-size:12.5px;font-weight:700;color:#6a6d92}
#recoPlan dd{margin:0;font-weight:700;font-size:15.5px}
#recoPlan h4{font-size:16px;font-weight:800;margin:22px 0 8px;letter-spacing:-.02em}
#recoPlan ul{margin:0;padding-left:1.2em;display:grid;gap:4px;font-size:15.5px}
#recoPlan .rp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:0 28px}
#recoPlan table{width:100%;border-collapse:collapse;font-size:15px}
#recoPlan th,#recoPlan td{border:2px solid rgba(20,23,61,.28);padding:8px 10px;text-align:left;vertical-align:top}
#recoPlan th{background:#FFF6E5;font-size:13px}
#recoPlan td.min{white-space:nowrap;width:4.5em;font-weight:700}
#recoPlan .rp-note{margin-top:20px;font-size:14px;color:#44476F;background:#FFF6E5;border-radius:14px;padding:12px 16px}
#recoPlan .rp-foot{display:none;margin-top:18px;font-size:12.5px;color:#44476F}
.rc-disclaimer{margin:20px 0 0;font-weight:700;font-size:15.5px}
.rc-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.rc-cta .btn{box-shadow:4px 4px 0 var(--accent)}

@media (max-width:700px){
  #recoPlan table,#recoPlan thead,#recoPlan tbody,#recoPlan tr,#recoPlan th,#recoPlan td{font-size:14px}
  .rc-card{box-shadow:5px 5px 0 #14173D}
  #recoPlan{box-shadow:6px 6px 0 #14173D}
  .rc-cta .btn{width:100%;justify-content:center}
}

/* 인쇄: 수업계획서만 */
@media print{
  body.reco-printing{background:#fff!important}
  body.reco-printing *{visibility:hidden!important}
  body.reco-printing #recoPlan,body.reco-printing #recoPlan *{visibility:visible!important}
  body.reco-printing #recoPlan{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none;border-radius:0;padding:0}
  body.reco-printing #recoPlan .rp-foot{display:block}
  body.reco-printing #recoPlan .rp-note{border:1px solid #999}
}
