/*
Theme Name: JBEA Buddy English Academy
Theme URI: https://jbea.com
Description: JBEA 온라인 화상 영어와 세부 통학형 어학연수 홍보용 워드프레스 테마
Version: 1.2
Author: JBEA
Text Domain: jbea
*/

*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:'Segoe UI','Noto Sans KR',Arial,sans-serif;color:#14213d;line-height:1.65;background:#f8fbff;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{max-width:1180px;margin:0 auto;padding:0 22px}
:root{--blue:#075a9f;--navy:#063466;--sky:#14b8d6;--yellow:#ffd43b;--orange:#f97316;--green:#17c964;--ink:#111827;--muted:#64748b;--white:#fff;--panel:#eef6ff}
nav{position:fixed;top:0;left:0;width:100%;background:rgba(255,255,255,.96);box-shadow:0 6px 24px rgba(2,37,82,.12);z-index:999;backdrop-filter:blur(10px)}.nav-container{max-width:1180px;margin:0 auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{font-size:1.7rem;font-weight:900;color:var(--blue);letter-spacing:-.03em}.nav-links{list-style:none;display:flex;gap:22px;align-items:center}.nav-links a{font-weight:800;color:#0f2747}.nav-links a:hover{color:var(--orange)}.mobile-menu{display:none;flex-direction:column;gap:5px;cursor:pointer}.mobile-menu span{width:28px;height:3px;background:var(--blue);border-radius:3px}
.hero-new{padding:130px 0 70px;background:linear-gradient(135deg,#e8f7ff 0%,#fff7dd 52%,#ffffff 100%);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr .95fr;gap:42px;align-items:center}.eyebrow{display:inline-block;font-weight:900;color:var(--orange);background:#fff3df;border:2px solid #ffd79c;border-radius:999px;padding:8px 16px;margin-bottom:16px}.hero-copy h1{font-size:clamp(2.35rem,5vw,4.6rem);line-height:1.08;letter-spacing:-.06em;color:#061f42;margin-bottom:18px}.hero-copy h1 strong{color:var(--blue)}.hero-copy p{font-size:1.18rem;color:#334155;max-width:620px;margin-bottom:26px}.hero-actions,.cta-buttons{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 24px;font-weight:900;box-shadow:0 10px 24px rgba(0,0,0,.12);transition:.22s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--orange);color:white}.btn-secondary{background:white;color:var(--blue);border:2px solid #cfe7ff}.hero-card{border-radius:28px;overflow:hidden;box-shadow:0 26px 60px rgba(6,52,102,.24);border:8px solid white;transform:rotate(1deg)}
.section-title{text-align:center;margin-bottom:34px}.section-title h2{font-size:clamp(2rem,4vw,3.1rem);line-height:1.14;color:var(--navy);letter-spacing:-.05em}.section-title p{font-size:1.08rem;color:var(--muted);font-weight:700;margin-top:8px}.promo-section{padding:74px 0}.online-section{background:#ffffff}.offline-section{background:linear-gradient(180deg,#edf7ff 0%,#f8fbff 100%)}.promo-layout{display:grid;grid-template-columns:1.05fr .8fr;gap:30px;align-items:center}.promo-image{border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(6,52,102,.18);border:6px solid #fff;background:#fff}.promo-image.wide{margin-top:30px}.price-panel{background:#092d5a;color:white;border-radius:26px;padding:30px;box-shadow:0 18px 44px rgba(6,52,102,.2)}.price-panel h3{font-size:2rem;margin-bottom:16px;color:#fff}.price-list{list-style:none;display:grid;gap:12px}.price-list li{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:15px;display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center}.price-list span{font-weight:800}.price-list strong{font-size:1.9rem;color:var(--yellow);grid-row:span 2}.price-list em{font-style:normal;color:#95f2ff;font-weight:900}.notice{margin-top:18px;color:#e0f2fe;font-weight:800}
.course-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.course-cards article{background:white;border-radius:24px;padding:26px;text-align:center;border:3px solid #dbeafe;box-shadow:0 14px 32px rgba(6,52,102,.12)}.course-cards article:nth-child(1){border-color:#65a30d}.course-cards article:nth-child(2){border-color:#f97316}.course-cards article:nth-child(3){border-color:#2563eb}.course-cards h3{font-size:1.65rem;color:var(--navy);margin-bottom:8px}.course-cards p{font-weight:900;color:#334155}.course-cards strong{display:block;font-size:2rem;margin:12px 0;color:#111827}.course-cards small{font-weight:800;color:#64748b}
.features-new{padding:70px 0;background:white}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature-item{background:#f1f7ff;border-radius:24px;padding:26px;text-align:center;border:1px solid #dbeafe}.feature-icon{font-size:2.3rem;margin-bottom:8px}.feature-item h3{font-size:1.2rem;color:var(--blue);margin-bottom:8px}.feature-item p{color:#475569;font-weight:700}.location-new{padding:70px 0;background:linear-gradient(135deg,#0a3b73,#0d5ea8);color:white}.location-card{display:grid;grid-template-columns:1fr .55fr;gap:28px;align-items:center}.location-card h2{font-size:2.8rem;margin-bottom:10px}.location-card p{font-size:1.08rem;margin:10px 0}.contact-box{background:white;color:#10213d;border-radius:26px;padding:28px;box-shadow:0 18px 44px rgba(0,0,0,.25)}.contact-box h3{font-size:1.8rem;color:var(--orange)}
.contact{padding:74px 0;background:#f8fbff}.contact-content{display:grid;grid-template-columns:1fr .8fr;gap:28px}.contact-form,.contact-info-item{background:white;border-radius:22px;padding:24px;box-shadow:0 12px 30px rgba(6,52,102,.12)}.contact-info{display:grid;gap:16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:900;margin-bottom:6px;color:#1e3a5f}.form-group input,.form-group textarea{width:100%;padding:13px 14px;border-radius:14px;border:2px solid #dbeafe;font:inherit}.form-group textarea{min-height:130px}.btn.full{width:100%;border:0;cursor:pointer;font-size:1rem}.success-message{padding:1rem;background:#d1fae5;color:#065f46;border-radius:12px;margin-bottom:1rem;font-weight:800}.contact-info-item h3{color:var(--blue);margin-bottom:8px}.kakao-link{display:inline-flex;align-items:center;color:var(--orange);font-weight:900;text-decoration:underline;text-underline-offset:4px}.kakao-link:hover{color:var(--blue)}
footer{background:#061f42;color:white;padding:46px 0 20px}.footer-content{max-width:1180px;margin:0 auto;padding:0 22px;display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.footer-section{flex:1 1 auto}.footer-section h3{color:#ffd43b;margin-bottom:12px}.footer-section a,.footer-section p{display:block;color:#dbeafe;margin:6px 0}.footer-bottom{text-align:center;border-top:1px solid rgba(255,255,255,.16);margin-top:26px;padding-top:18px;color:#bfdbfe}.footer-visitor-counts{display:flex;flex:0 0 auto;align-items:flex-start;gap:14px;margin-top:22px;margin-left:auto;text-align:right;font-weight:800;color:#e0f2fe}.footer-thanks-image{width:180px;max-width:100%;height:auto;border-radius:10px}.footer-visitor-numbers{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.footer-visitor-numbers>span{display:block;white-space:nowrap}
@media(max-width:900px){.nav-links{display:none}.mobile-menu{display:flex}.hero-grid,.promo-layout,.location-card,.contact-content{grid-template-columns:1fr}.course-cards,.features-grid{grid-template-columns:1fr}.hero-new{padding-top:110px}.hero-card{transform:none}.price-list li{grid-template-columns:1fr}.price-list strong{grid-row:auto}.section-title{text-align:left}.promo-section,.features-new,.location-new,.contact{padding:48px 0}}
@media(max-width:640px){.footer-content{flex-direction:column}.footer-visitor-counts{align-items:flex-start;margin-top:0;margin-left:0;text-align:left}.footer-visitor-numbers{align-items:flex-start}}
@media(max-width:900px){.nav-container{position:relative}.nav-links.active{position:absolute;top:100%;left:22px;right:22px;display:flex;flex-direction:column;align-items:stretch;gap:0;background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:8px;box-shadow:0 14px 32px rgba(6,52,102,.18)}.nav-links.active li{width:100%}.nav-links.active a{display:block;padding:11px 12px;border-radius:10px}.nav-links.active a:hover{background:#eef6ff}}

.accommodation-section{background:linear-gradient(180deg,#eef3ff 0%,#ffffff 100%)}.accommodation-layout{display:grid;grid-template-columns:1.05fr .85fr;gap:28px;align-items:start}.accommodation-panel{background:#536fa8;color:white;border-radius:26px;padding:30px;box-shadow:0 18px 44px rgba(31,58,124,.22)}.accommodation-panel h3{font-size:2rem;margin-bottom:14px;color:#fff7a8}.accommodation-panel ul{list-style:none;display:grid;gap:12px;margin-bottom:18px}.accommodation-panel li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:13px 15px;font-weight:800}.accommodation-panel strong{color:#fff7a8}.cost-box{background:rgba(3,18,44,.36);border-radius:18px;padding:18px;margin:16px 0;font-weight:800}.cost-box p{margin:6px 0}.cost-box strong{font-size:1.35rem;color:#ffd43b}.notice.dark{background:rgba(255,255,255,.14);border-radius:14px;padding:14px;color:#fff;font-weight:800}@media(max-width:900px){.accommodation-layout{grid-template-columns:1fr}.accommodation-panel{padding:22px}}


.location-map-card {
    margin-top: 24px;
    text-align: center;
}
.location-map-card img {
    width: 100%;
    max-width: 560px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(15, 34, 63, 0.18);
    display: inline-block;
}


.teachers-section {
    padding: 80px 0;
    background: #f7fbff;
}
.teacher-video-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 22px;
    margin-top: 36px;
    align-items: start;
}
.teacher-video-card {
    background: #ffffff;
    border-radius: 22px;
    padding: 16px;
    box-shadow: 0 12px 30px rgba(15, 34, 63, 0.10);
    text-align: center;
}
.teacher-video-card h3 {
    margin: 0 0 14px;
    font-size: 20px;
    color: #12345b;
}
.shorts-video {
    position: relative;
    width: 100%;
    max-width: 280px;
    margin: 0 auto;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    border-radius: 18px;
    background: #000;
}
.shorts-video iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}
@media (max-width: 1200px) {
    .teacher-video-grid {
        grid-template-columns: repeat(3, minmax(200px, 1fr));
    }
}
@media (max-width: 768px) {
    .teacher-video-grid {
        grid-template-columns: repeat(2, minmax(150px, 1fr));
    }
}
@media (max-width: 520px) {
    .teacher-video-grid {
        grid-template-columns: 1fr;
    }
}

.academy-life-section {
    padding: 80px 0;
    background: #ffffff;
}
.academy-life-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 18px;
    margin-top: 34px;
}
.academy-life-card {
    position: relative;
    overflow: hidden;
    border-radius: 18px;
    background: #eef6ff;
    box-shadow: 0 12px 28px rgba(15, 34, 63, 0.10);
    aspect-ratio: 4 / 3;
}
.academy-life-photo-button {
    position: relative;
    z-index: 1;
    width: 100%;
    height: 100%;
    border: 0;
    padding: 0;
    display: block;
    background: transparent;
    cursor: zoom-in;
}
.academy-life-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .22s ease;
}
.academy-life-card:hover img {
    transform: scale(1.04);
}
.academy-life-caption {
    position: absolute;
    z-index: 2;
    left: 0;
    right: 0;
    bottom: 0;
    pointer-events: none;
    padding: 34px 14px 14px;
    color: #fff;
    background: linear-gradient(180deg, rgba(6, 31, 66, 0), rgba(6, 31, 66, .82));
}
.academy-life-caption h3 {
    font-size: 1rem;
    line-height: 1.25;
    margin-bottom: 2px;
}
.academy-life-caption time {
    font-size: .85rem;
    color: #dbeafe;
}
.academy-life-empty {
    padding: 24px;
    border-radius: 16px;
    background: #eef6ff;
    color: #334155;
    font-weight: 800;
    text-align: center;
}
.academy-life-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 72px 22px 28px;
    background: rgba(6, 18, 38, .88);
}
.academy-life-lightbox[hidden] {
    display: none;
}
.academy-life-lightbox img {
    width: auto;
    max-width: min(1080px, 100%);
    max-height: 86vh;
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .42);
    object-fit: contain;
}
.academy-life-lightbox-close {
    position: absolute;
    top: 22px;
    right: 22px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: #ffffff;
    color: #0f2747;
    font-size: 2rem;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
}
@media (max-width: 520px) {
    .academy-life-section {
        padding: 48px 0;
    }
    .academy-life-grid {
        grid-template-columns: 1fr;
    }
    .academy-life-lightbox {
        padding: 68px 14px 18px;
    }
}
