/* =====================================================
   SeeU Dive Scuba Course CSS v2.0
   파일 위치: assets/css/scuba.css
   - 기존 style.css / hero.css / discover.css 동작은 유지하고
   - 스쿠버교육 페이지 전용 스타일만 이 파일에서 관리합니다.
===================================================== */

.scuba-hero,
.scuba-detail-hero{
    position:relative;
    height:var(--site-hero-height);
    min-height:var(--site-hero-min-height);
    max-height:var(--site-hero-max-height);
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
    overflow:hidden;
    padding:120px 22px 90px;
    background:#052b4f;
}

.scuba-hero-media,
.scuba-detail-hero-media,
.scuba-hero-media img,
.scuba-detail-hero-media img,
.scuba-hero-media video,
.scuba-detail-hero-media video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.scuba-hero-media img,
.scuba-detail-hero-media img,
.scuba-hero-media video,
.scuba-detail-hero-media video{
    object-fit:cover;
}

.scuba-hero-overlay,
.scuba-detail-hero-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(180deg,rgba(0,18,32,.18),rgba(0,18,32,.74));
}

.scuba-hero-content,
.scuba-detail-hero-content{
    position:relative;
    z-index:2;
    max-width:920px;
}

.scuba-hero h1,
.scuba-detail-hero h1{
    font-size:clamp(38px,5.4vw,72px);
    line-height:1.12;
    margin:18px 0 22px;
    letter-spacing:-.055em;
    text-shadow:0 14px 38px rgba(0,0,0,.34);
}

.scuba-hero p,
.scuba-detail-hero p{
    max-width:760px;
    margin:0 auto;
    color:rgba(255,255,255,.9);
    font-size:clamp(16px,1.8vw,20px);
    line-height:1.8;
}

.scuba-main{
    max-width:1160px;
    margin:auto;
    padding:72px 22px;
}

.scuba-section-head{
    display:grid;
    grid-template-columns:1.35fr 1fr;
    gap:48px;
    align-items:center;
    margin-bottom:48px;
}

.scuba-section-head h2{
    font-size:clamp(40px,3vw,54px);
    line-height:1.1;
    letter-spacing:-.04em;
    margin:8px 0 0;
    color:var(--navy);
}

.scuba-section-head p{
    max-width:520px;
    margin:0;
    line-height:1.75;
    color:var(--muted);
}

.scuba-split{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:34px;
    align-items:stretch;
}

.scuba-copy-card{
    height:100%;
    min-height:520px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background:#fff;
    border:1px solid var(--line);
    border-radius:32px;
    padding:64px;
    box-shadow:var(--shadow);
}

.scuba-copy-card h3{
    margin:0 0 28px;
    color:var(--navy);
    font-size:clamp(34px,3vw,48px);
    line-height:1.16;
    letter-spacing:-.04em;
}

.scuba-copy-card p{
    color:var(--muted);
    margin:0 0 26px;
    font-size:18px;
    line-height:1.85;
}

.scuba-media-card,
.scuba-summary-media{
    overflow:hidden;
    border-radius:32px;
    border:1px solid var(--line);
    background:#eefaff;
    box-shadow:var(--shadow);
}

.scuba-media-card{
    height:100%;
}

.scuba-media-card img,
.scuba-media-card video{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    display:block;
}
.scuba-summary-media{
    width:100%;
    height:420px;
    margin:0 0 24px;
}

.scuba-summary-media img,
.scuba-summary-media video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.scuba-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.scuba-summary-grid article,
.scuba-license-grid article,
.scuba-card-grid article,
.scuba-process-list div,
.scuba-course-card,
.scuba-specialty-card,
.scuba-journey-card,
.scuba-msd-card{
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:26px;
    box-shadow:var(--shadow);
}

.scuba-summary-grid article{
    text-align:center;
}

.scuba-summary-grid article::before{
    display:block;
    font-size:30px;
    margin-bottom:12px;
}

.scuba-summary-grid article:nth-child(1)::before{content:"💳";}
.scuba-summary-grid article:nth-child(2)::before{content:"🗓";}
.scuba-summary-grid article:nth-child(3)::before{content:"🌊";}
.scuba-summary-grid article:nth-child(4)::before{content:"📍";}

.scuba-summary-grid span,
.scuba-card-grid span,
.scuba-course-card span,
.scuba-license-grid span,
.scuba-specialty-card span{
    display:inline-flex;
    color:var(--blue);
    font-weight:900;
    font-size:12px;
    letter-spacing:.12em;
    margin-bottom:8px;
}

.scuba-summary-grid strong{
    display:block;
    color:var(--navy);
    font-size:clamp(22px,2vw,30px);
    line-height:1.15;
    margin-bottom:8px;
}

.scuba-summary-grid p,
.scuba-card-grid p,
.scuba-course-card p,
.scuba-license-grid p,
.scuba-specialty-card p,
.scuba-journey-card p,
.scuba-msd-card p{
    margin:0;
    color:var(--muted);
}

.scuba-course-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.scuba-course-card{
    overflow:hidden;
    padding:0;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.scuba-course-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 58px rgba(5,43,79,.18);
    border-color:#b9d9e7;
}

.scuba-course-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    display:block;
    transition:transform .45s ease;
}

.scuba-course-card:hover img{
    transform:scale(1.06);
}

.scuba-course-card > div{
    padding:24px;
}

.scuba-course-card h3,
.scuba-card-grid h3,
.scuba-license-grid h3,
.scuba-specialty-card h3{
    margin:0 0 10px;
    color:var(--navy);
    font-size:23px;
    line-height:1.24;
}

.scuba-course-card .arrow{
    display:inline-flex;
    margin:0 24px 24px;
    transition:transform .22s ease;
}

.scuba-course-card:hover .arrow{
    transform:translateX(4px);
}

.scuba-card-grid,
.scuba-license-grid,
.scuba-specialty-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.scuba-card-grid .scuba-icon,
.scuba-license-grid .scuba-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:18px;
    background:#f0fbff;
    font-size:28px;
    margin-bottom:18px;
}

.scuba-process-list{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:14px;
}

.scuba-process-list span{
    display:inline-flex;
    width:36px;
    height:36px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eefaff;
    color:var(--blue);
    font-weight:900;
    margin-bottom:16px;
}

.scuba-process-list strong{
    display:block;
    color:var(--navy);
    font-size:20px;
    margin-bottom:8px;
}

.scuba-process-list p{
    margin:0;
    color:var(--muted);
    font-size:14px;
}

.scuba-journey{
    padding:38px;
    border-radius:34px;
    background:#f7fbff;
    border:1px solid var(--line);
}

.scuba-journey-line{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-bottom:18px;
}

.scuba-journey-card{
    position:relative;
}

.scuba-journey-card strong{
    display:block;
    color:var(--navy);
    font-size:22px;
    margin:8px 0 8px;
}

.scuba-journey-card span{
    color:var(--blue);
    font-weight:900;
    font-size:12px;
    letter-spacing:.12em;
}

.scuba-msd-card{
    margin:24px 0;
    text-align:center;
    background:linear-gradient(135deg,var(--navy),#0f7fbd);
    color:#fff;
    border:none;
}

.scuba-msd-card span{
    display:block;
    color:#ffd54a;
    font-weight:900;
    letter-spacing:.12em;
    margin-bottom:8px;
}

.scuba-msd-card h3{
    margin:0 0 10px;
    font-size:clamp(30px,3vw,44px);
    letter-spacing:-.04em;
}

.scuba-msd-card p{
    color:rgba(255,255,255,.84);
}

.scuba-pro-level-head{
    text-align:center;
    margin:36px auto 22px;
}

.scuba-pro-level-head span{
    display:inline-flex;
    color:var(--blue);
    font-weight:900;
    font-size:12px;
    letter-spacing:.14em;
    margin-bottom:8px;
}

.scuba-pro-level-head h3{
    margin:0;
    color:var(--navy);
    font-size:clamp(28px,3vw,42px);
    line-height:1.15;
    letter-spacing:-.04em;
}

.scuba-pro-level-head p{
    max-width:620px;
    margin:12px auto 0;
    color:var(--muted);
    line-height:1.75;
}

.scuba-pro-line{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
    max-width:820px;
    margin:0 auto;
}

.scuba-gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.scuba-gallery-grid img,
.scuba-gallery-grid video{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    border-radius:24px;
    box-shadow:var(--shadow);
    background:#052b4f;
}

.scuba-info-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}

.scuba-info-card{
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:32px;
    padding:42px;
    box-shadow:var(--shadow);
    overflow:hidden;
}

.scuba-info-card::after{
    content:"";
    position:absolute;
    right:-60px;
    bottom:-60px;
    width:180px;
    height:180px;
    border-radius:50%;
    background:#eefaff;
    z-index:0;
}

.scuba-info-card > *{
    position:relative;
    z-index:1;
}

.scuba-info-icon{
    width:52px;
    height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:#f0fbff;
    color:var(--blue);
    font-weight:900;
    font-size:26px;
    margin-bottom:20px;
}

.scuba-info-card h2{
    margin:8px 0 22px;
    color:var(--navy);
    font-size:clamp(32px,3vw,44px);
    line-height:1.12;
    letter-spacing:-.04em;
}

.scuba-info-card ul,
.scuba-specialty-card ul{
    margin:0;
    padding:0;
    list-style:none;
    display:grid;
    gap:14px;
}

.scuba-info-card li,
.scuba-specialty-card li{
    position:relative;
    padding-left:28px;
    color:var(--ink);
    font-size:17px;
    line-height:1.6;
}

.scuba-info-card li::before,
.scuba-specialty-card li::before{
    content:"";
    position:absolute;
    left:0;
    top:.72em;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--blue);
}

.scuba-faq-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.scuba-faq-grid article{
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:28px;
    box-shadow:var(--shadow);
}

.scuba-faq-grid h3{
    margin:0 0 10px;
    color:var(--navy);
    font-size:23px;
}

.scuba-faq-grid p{
    margin:0;
    color:var(--muted);
}

.scuba-cta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:28px;
    padding:42px;
    border-radius:34px;
    background:linear-gradient(135deg,var(--navy),#0f7fbd);
    color:#fff;
    box-shadow:var(--shadow);
}

.scuba-cta h2{
    margin:0 0 12px;
    font-size:clamp(30px,3vw,44px);
    line-height:1.18;
    letter-spacing:-.04em;
}

.scuba-cta p{
    margin:0;
    color:rgba(255,255,255,.82);
}

@media(max-width:1080px){
    .scuba-course-grid,
    .scuba-card-grid,
    .scuba-license-grid,
    .scuba-specialty-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .scuba-process-list{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:920px){
    .scuba-section-head,
    .scuba-split,
    .scuba-gallery-grid,
    .scuba-faq-grid,
    .scuba-info-grid,
    .scuba-journey-line,
    .scuba-pro-line{
        grid-template-columns:1fr;
    }
    .scuba-hero,
    .scuba-detail-hero{
        padding-top:110px;
    }
    .scuba-copy-card,
    .scuba-media-card{
        height:auto;
        min-height:auto;
    }
    .scuba-copy-card p{
        font-size:16px;
        line-height:1.85;
    }
   .scuba-media-card img,
    .scuba-media-card video{
        height:320px;
    }
    .scuba-summary-media{
        height:320px;
    }
    .scuba-summary-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .scuba-cta{
        display:block;
    }
    .scuba-cta .btn{
        margin-top:22px;
    }
}

@media(max-width:620px){
    .scuba-main{
        padding:56px 18px;
    }
    .scuba-course-grid,
    .scuba-card-grid,
    .scuba-license-grid,
    .scuba-specialty-grid,
    .scuba-summary-grid,
    .scuba-process-list{
        grid-template-columns:1fr;
    }
    .scuba-summary-media{
        height:240px;
        border-radius:24px;
    }
    .scuba-journey{
        padding:24px;
    }
}
/* SCUBA INDEX CTA spacing */
.scuba-cta{
  margin-top:110px;
}

/* =====================================================
   SCUBA TEXT RHYTHM REFINEMENT
   - 체험다이빙 페이지와 비슷한 문단 간격 / 섹션 호흡으로 조정
===================================================== */

.scuba-section-head{
    margin-bottom:48px;
}

.scuba-copy-card{
    padding:64px;
}

.scuba-copy-card h3{
    margin-bottom:36px;
}

.scuba-copy-card p{
    margin:0 0 34px;
    line-height:1.9;
}

.scuba-copy-card p:last-child{
    margin-bottom:0;
}
.scuba-course-card p,
.scuba-card-grid p,
.scuba-license-grid p,
.scuba-specialty-card p,
.scuba-journey-card p,
.scuba-msd-card p,
.scuba-faq-grid p,
.scuba-info-card li,
.scuba-specialty-card li{
    line-height:1.75;
}

.scuba-course-card h3,
.scuba-card-grid h3,
.scuba-license-grid h3,
.scuba-specialty-card h3,
.scuba-faq-grid h3{
    line-height:1.28;
}

.scuba-summary-grid p{
    line-height:1.65;
}

.scuba-cta{
    margin-top:110px;
}

@media(max-width:920px){
    .scuba-section-head{
        margin-bottom:34px;
    }

    .scuba-copy-card{
        padding:36px 28px;
    }

    .scuba-copy-card h3{
        margin-bottom:26px;
    }

    .scuba-copy-card p{
        margin-bottom:20px;
        line-height:1.82;
    }
}
/* =====================================================
   SCUBA SECTION DIVIDER SYSTEM v1
   - 섹션 외곽 테두리 대신, 섹션 사이에 은은한 구분선만 사용합니다.
   - 기존 카드 / Hero / CTA 스타일은 유지합니다.
===================================================== */

.scuba-main > .section-block{
    position:relative;
}

.scuba-main > .section-block + .section-block{
    padding-top:10px;
}

.scuba-main > .section-block + .section-block::before{
    content:"";
    display:block;
    width:min(220px,38vw);
    height:1px;
    margin:0 auto 70px;
    background:linear-gradient(
        to right,
        transparent,
        rgba(219,231,239,.35) 8%,
        rgba(15,127,189,.42) 50%,
        rgba(219,231,239,.35) 92%,
        transparent
    );
}

/* CTA는 마지막 행동 영역이라 구분선과 여백을 조금 더 여유롭게 둡니다. */
.scuba-main > .scuba-cta.section-block::before{
    margin-bottom:76px;
}

/* 모바일에서는 구분선을 짧고 간결하게 표시합니다. */
@media(max-width:920px){
    .scuba-main > .section-block + .section-block{
        padding-top:0;
    }

    .scuba-main > .section-block + .section-block::before{
        width:140px;
        margin-bottom:46px;
    }
}

/* =====================================================
   SeeU Dive Design System v1.0 적용
   - 체험다이빙 / 스쿠버교육 줄간격, 문단간격, 카드 리듬 통일
===================================================== */
.scuba-main{
    max-width:var(--seeu-container);
    padding:72px var(--seeu-page-x);
}

.scuba-main .section-block{
    margin-bottom:var(--seeu-section-gap);
}

.scuba-section-head{
    gap:48px;
    margin-bottom:var(--seeu-section-head-gap);
}

.scuba-section-head h2{
    font-size:var(--seeu-section-title-size);
    line-height:1.1;
    letter-spacing:-.04em;
}

.scuba-section-head p{
    max-width:520px;
    line-height:1.75;
}

.scuba-split{
    gap:var(--seeu-grid-gap);
    align-items:stretch;
}

.scuba-copy-card{
    min-height:var(--seeu-media-height);
    height:100%;
    padding:var(--seeu-card-padding);
    border-radius:var(--seeu-card-radius);
}

.scuba-copy-card h3{
    font-size:var(--seeu-copy-title-size);
    line-height:1.16;
    margin:0 0 36px;
}

.scuba-copy-card p{
    font-size:var(--seeu-body-size);
    line-height:var(--seeu-body-line);
    margin:0 0 var(--seeu-body-gap);
}

.scuba-copy-card p:last-child{
    margin-bottom:0;
}

.scuba-media-card{
    height:100%;
    min-height:var(--seeu-media-height);
    border-radius:var(--seeu-media-radius);
}

.scuba-media-card img,
.scuba-media-card video{
    height:100%;
    object-fit:cover;
    object-position:center center;
}

.scuba-course-grid,
.scuba-card-grid,
.scuba-license-grid,
.scuba-specialty-grid,
.scuba-gallery-grid,
.scuba-faq-grid{
    gap:var(--seeu-card-gap);
}

.scuba-course-card,
.scuba-card-grid article,
.scuba-license-grid article,
.scuba-specialty-card,
.scuba-journey-card,
.scuba-faq-grid article{
    border-radius:var(--seeu-card-radius-sm);
}

.scuba-course-card h3,
.scuba-card-grid h3,
.scuba-license-grid h3,
.scuba-specialty-card h3,
.scuba-faq-grid h3{
    font-size:var(--seeu-card-title-size);
    line-height:1.28;
}

.scuba-course-card p,
.scuba-card-grid p,
.scuba-license-grid p,
.scuba-specialty-card p,
.scuba-journey-card p,
.scuba-msd-card p,
.scuba-faq-grid p,
.scuba-process-list p{
    line-height:var(--seeu-card-copy-line);
}

.scuba-gallery-grid img,
.scuba-gallery-grid video{
    height:var(--seeu-gallery-height);
}

.scuba-cta{
    margin-top:18px;
}

@media(max-width:920px){
    .scuba-copy-card,
    .scuba-media-card{
        min-height:auto;
        height:auto;
    }

    .scuba-copy-card{
        padding:var(--seeu-card-padding);
    }

    .scuba-media-card img,
    .scuba-media-card video{
        height:var(--seeu-media-height);
    }
}

/* =====================================================
   SCUBA SECTION DIVIDER SYSTEM v2
   - 모든 섹션 구분선은 섹션 내부가 아니라 섹션 바깥 위에 표시합니다.
   - .scuba-journey / .scuba-cta 처럼 자체 배경과 테두리가 있는 카드형 섹션에서도
     구분선이 박스 안으로 들어가지 않도록 공통 규칙을 재정의합니다.
===================================================== */

.scuba-main > .section-block + .section-block{
    position:relative;
    padding-top:0 !important;
    margin-top:70px;
}

.scuba-main > .section-block + .section-block::before{
    content:"";
    position:absolute;
    left:50%;
    top:-38px;
    transform:translateX(-50%);
    display:block;
    width:min(220px,38vw);
    height:1px;
    margin:0 !important;
    background:linear-gradient(
        to right,
        transparent,
        rgba(219,231,239,.35) 8%,
        rgba(15,127,189,.42) 50%,
        rgba(219,231,239,.35) 92%,
        transparent
    );
    pointer-events:none;
}

.scuba-main > .scuba-cta.section-block{
    margin-top:88px;
}

.scuba-main > .scuba-cta.section-block::before{
    top:-46px;
    margin:0 !important;
}

@media(max-width:920px){
    .scuba-main > .section-block + .section-block{
        padding-top:0 !important;
        margin-top:54px;
    }

    .scuba-main > .section-block + .section-block::before{
        width:140px;
        top:-28px;
        margin:0 !important;
    }

    .scuba-main > .scuba-cta.section-block{
        margin-top:64px;
    }

    .scuba-main > .scuba-cta.section-block::before{
        top:-32px;
    }
}


/* YOUR DIVING JOURNEY 제목 한 줄 표시 */
.scuba-journey .section-head {
  grid-template-columns: 1fr;
}

.scuba-journey .section-head > div {
  width: 100%;
  max-width: none;
}

.scuba-journey .section-head h2 {
  width: 100%;
  max-width: none;
  white-space: nowrap;
}


@media (max-width: 768px) {
  .scuba-journey .section-head h2 {
    white-space: normal;
  }
}
