/* ══════════════════════════════════════════════════════════════
   AVPN Scuola Corea — 전 페이지 공통 UI
   문의 버튼 · 개강 띠 · 개강 팝업 · 모바일 메뉴 · 강사 카드 · 회차 표
   색은 각 페이지의 :root 값을 그대로 쓰고, 없으면 본교 실측값으로 떨어진다.
   ══════════════════════════════════════════════════════════════ */

/* ── 상단 개강 띠 ───────────────────────────────────────── */
.avpn-bar{background:var(--red,#E42624);color:#fff;font-size:14.5px;line-height:1.5;
  padding:10px 46px 10px 20px;text-align:center;position:relative;word-break:keep-all}
.avpn-bar a{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.avpn-bar .x{position:absolute;right:10px;top:50%;transform:translateY(-50%);
  background:none;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:6px 10px;opacity:.85}
.avpn-bar .x:hover{opacity:1}
@media(max-width:640px){ .avpn-bar{font-size:13px;padding:9px 40px 9px 14px} }

/* ── 문의 버튼 — 화면을 따라다닌다 ─────────────────────── */
.avpn-ask{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:900;
  display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.avpn-ask .fab{width:64px;height:64px;border-radius:999px;border:0;cursor:pointer;
  background:var(--red,#E42624);color:#fff;font-size:15px;font-weight:600;letter-spacing:.02em;
  box-shadow:0 8px 24px rgba(0,0,0,.22);transition:transform .18s ease,box-shadow .2s ease}
.avpn-ask .fab:hover{transform:scale(1.06);box-shadow:0 12px 30px rgba(228,38,36,.36)}
.avpn-ask .panel{display:none;background:#fff;border:1px solid var(--line,#E6E6E6);border-radius:16px;
  box-shadow:0 18px 44px rgba(0,0,0,.16);padding:14px;width:250px}
.avpn-ask.open .panel{display:block}
.avpn-ask .hours{font-size:12.5px;color:var(--grey,#999);margin:0 4px 10px;line-height:1.45}
.avpn-ask .panel a{display:block;text-decoration:none;color:var(--ink,#2B2E31);
  border:1px solid var(--line,#E6E6E6);border-radius:10px;padding:12px 14px;margin-bottom:8px;
  font-size:14.5px;font-weight:500;transition:border-color .15s,background .15s}
.avpn-ask .panel a:last-child{margin-bottom:0}
.avpn-ask .panel a:hover{border-color:var(--red,#E42624);background:#FFF6F6}
.avpn-ask .panel a b{display:block;font-weight:600}
.avpn-ask .panel a span{display:block;font-size:12.5px;color:var(--grey,#999);margin-top:2px}
@media(max-width:900px){
  .avpn-ask{right:16px;top:auto;bottom:24px;transform:none}
  .avpn-ask .fab{width:58px;height:58px;font-size:14px}
  .avpn-ask .panel{width:min(78vw,260px)}
}

/* ── 개강 팝업 ─────────────────────────────────────────── */
.avpn-pop{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;
  background:rgba(20,16,14,.55);padding:20px}
.avpn-pop.on{display:flex}
.avpn-pop .card{background:#fff;border-radius:18px;max-width:420px;width:100%;overflow:hidden;
  box-shadow:0 26px 70px rgba(0,0,0,.34)}
.avpn-pop .head{background:var(--red,#E42624);color:#fff;padding:20px 24px}
.avpn-pop .head b{display:block;font-size:20px;font-weight:600;line-height:1.35}
.avpn-pop .head span{font-size:13.5px;opacity:.92}
.avpn-pop .body{padding:22px 24px 20px}
.avpn-pop dl{margin:0 0 16px;display:grid;grid-template-columns:78px 1fr;gap:8px 12px;font-size:14.5px}
.avpn-pop dt{color:var(--grey,#999)}
.avpn-pop dd{margin:0;font-weight:500}
.avpn-pop .go{display:block;text-align:center;text-decoration:none;background:var(--red,#E42624);color:#fff;
  border-radius:999px;padding:15px;font-size:15.5px;font-weight:600}
.avpn-pop .go:hover{background:var(--red-dk,#C41E1C)}
.avpn-pop .foot{display:flex;justify-content:space-between;align-items:center;
  padding:12px 24px 18px;font-size:13px;color:var(--grey,#999)}
.avpn-pop .foot button{background:none;border:0;color:var(--grey,#999);cursor:pointer;font-size:13px;padding:6px}
.avpn-pop .foot button:hover{color:var(--ink,#2B2E31);text-decoration:underline}
@media(max-width:640px){
  .avpn-pop{align-items:flex-end;padding:0}
  .avpn-pop .card{border-radius:18px 18px 0 0;max-width:none}
}

/* ── 모바일 메뉴 ───────────────────────────────────────── */
.avpn-burger{display:none;margin-left:auto;background:none;border:0;cursor:pointer;
  padding:10px;font-size:22px;line-height:1;color:var(--ink,#2B2E31)}
.avpn-mobile{display:none;background:#fff;border-bottom:1px solid var(--line,#E6E6E6);padding:8px 24px 18px}
.avpn-mobile.on{display:block}
.avpn-mobile a{display:block;text-decoration:none;color:var(--ink,#2B2E31);
  padding:13px 2px;border-bottom:1px solid #F2F2F2;font-size:16px}
.avpn-mobile a:last-child{border-bottom:0}
@media(max-width:900px){ .avpn-burger{display:block} }

/* ── 회차 표 ───────────────────────────────────────────── */
[data-avpn="terms"]{overflow-x:auto;-webkit-overflow-scrolling:touch}   /* 표가 좁은 화면을 밀어내지 않게 가둔다 */
.avpn-terms{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;margin:18px 0}
.avpn-terms th,.avpn-terms td{border-bottom:1px solid var(--line,#E6E6E6);padding:14px 10px;text-align:left}
.avpn-terms th{font-weight:600;color:var(--grey,#999);font-size:13.5px;border-bottom-width:2px}
.avpn-terms .st{display:inline-block;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:600}
.avpn-terms .st.모집중{background:#E9F7EF;color:#01A656}
.avpn-terms .st.마감임박{background:#FFF1E6;color:#C4610C}
.avpn-terms .st.마감,.avpn-terms .st.종료{background:#F2F2F2;color:#999}
@media(max-width:640px){ .avpn-terms{font-size:14px} .avpn-terms th:nth-child(3),.avpn-terms td:nth-child(3){display:none} }

/* ── 강사 카드 ─────────────────────────────────────────── */
.avpn-teachers{display:grid;grid-template-columns:1fr;gap:22px;margin:22px 0}
@media(min-width:600px){ .avpn-teachers{grid-template-columns:repeat(2,1fr)} }
@media(min-width:1000px){ .avpn-teachers{grid-template-columns:repeat(4,1fr)} }
.avpn-teachers .t{border:1px solid var(--line,#E6E6E6);border-radius:14px;padding:20px;background:#fff}
.avpn-teachers .t .ph{width:100%;aspect-ratio:3/4;border-radius:10px;background:#F2F2F2;
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;overflow:hidden}
.avpn-teachers .t .ph img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.avpn-teachers .t .ph .ini{font-size:38px;font-weight:600;color:#C9C9C9}
.avpn-teachers .t .role{font-size:12.5px;color:var(--red,#E42624);font-weight:600;letter-spacing:.02em}
.avpn-teachers .t h4{font-size:19px;margin:4px 0 2px}
.avpn-teachers .t .org{font-size:13.5px;color:var(--grey,#999)}
.avpn-teachers .t ul{margin:12px 0 0;padding-left:17px;font-size:14px;color:var(--ink-soft,#5F6469);line-height:1.6}

/* ── 푸터 사업자 정보 ──────────────────────────────────── */
.avpn-legal{font-size:13px;line-height:1.85;color:#8F959B}
.avpn-legal b{color:inherit;font-weight:600}
.avpn-legal .sep{opacity:.5;margin:0 7px}
.avpn-legal a{color:#8F959B;text-decoration:underline;text-underline-offset:3px}
.avpn-legal .links{margin-top:8px}
.avpn-legal .links a{margin-right:14px;font-weight:600;color:#B9BEC3}

/* ── 좁은 화면 헤더 — 390px에서 수강신청 버튼이 잘리던 것 수정 ──── */
@media(max-width:900px){
  header .nav .avpn-burger{display:block}   /* 페이지 자체 스타일보다 뒤에 오도록 특정도를 올린다 */
  header .nav{gap:10px;padding-left:16px;padding-right:16px}
  header .nav .cta{padding:10px 16px;font-size:13.5px}
  header .seal .t b{font-size:14px}
  header .seal .t span{font-size:10.5px}
}
@media(max-width:560px){
  header .nav .cta{display:none}          /* 햄버거 메뉴 안에 같은 항목이 들어 있다 */
  header .avpn-burger{margin-left:auto}
  header .seal img{width:44px}
}

/* 입력칸·이미지가 화면을 밀어내지 않게 (2026-08-30 모바일 가로밀림 사고) */
input,select,textarea{min-width:0;max-width:100%}
img,video,iframe{max-width:100%}

/* 신청 폼 — 2026-08-30 index 인라인에서 옮김. 신청 화면이 apply.html 로 일원화됐다. */
/* 신청 */
.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:680px}
.f{display:flex;flex-direction:column;gap:8px}
.f.full{grid-column:1/-1}
.f label{font-size:14px;font-weight:500}
.f input,.f select,.f textarea{border:1px solid #D6D6D6;border-radius:10px;background:#fff;
  padding:14px 16px;font-size:16px;font-family:inherit;color:inherit;min-height:52px}
.f textarea{min-height:110px;resize:vertical;line-height:1.65}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--red);outline:none}
.consent{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--ink-soft);font-weight:300}
.consent input{margin-top:4px;width:20px;height:20px;flex:0 0 auto;accent-color:var(--red)}
.form button{grid-column:1/-1;justify-self:start;background:var(--red);color:#fff;border:none;
  border-radius:999px;padding:19px 44px;font-size:17px;font-weight:500;cursor:pointer;
  min-height:58px;font-family:inherit}
.form button:hover{background:var(--red-dk)}
@media(max-width:640px){ .form{grid-template-columns:minmax(0,1fr)} .form button{justify-self:stretch} }
/* 1fr 은 트랙 최소폭이 입력칸의 기본 최소너비로 잡혀 줄어들지 않는다. 2026-08-30 실측: 아이폰에서 폼이 465px로 벌어져 화면이 99px 가로로 밀렸다. */
.form input,.form select,.form textarea{min-width:0;max-width:100%;box-sizing:border-box}

/* 간판·인증서 실물 사진 (매장 인증 과정) */
.avpn-real{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:26px;margin-top:20px}
.avpn-real figure{margin:0}
.avpn-real img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid #E6E6E6;background:#F7F7F7}
.avpn-real figcaption{margin-top:10px;font-size:14px;color:#5F6469}
.avpn-real figcaption b{display:block;color:#2B2E31;font-size:15.5px;margin-bottom:2px}
