/* =====================================================
   SeeU Dive Discover Page CSS
   파일 위치: assets/css/discover.css
===================================================== */

.discover-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;
}
.discover-hero-media,
.discover-hero-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
}

.discover-hero-media img{
    object-fit:cover;
}

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

.discover-hero-content{
    position:relative;
    z-index:2;
    max-width:900px;
}

.discover-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);
}

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

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

.section-block{
    margin-bottom:96px;
}

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

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

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

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

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

.discover-copy-card h3{
    margin:0 0 18px;
    color:var(--navy);
    font-size:clamp(30px,3vw,42px);
    line-height:1.18;
    letter-spacing:-.04em;
}

.discover-copy-card p{
    color:var(--muted);
    margin:0 0 16px;
}

.discover-image-card img{
    width:100%;
    height:520px;
    object-fit:cover;
    display:block;
    border-radius:32px;
    box-shadow:var(--shadow);
}

.discover-option-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.discover-option-card{
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    box-shadow:var(--shadow);
    transition:transform .22s ease, box-shadow .22s ease;
}

.discover-option-card:hover{
    transform:translateY(-5px);
    box-shadow:0 22px 54px rgba(5,43,79,.16);
}

.discover-option-card img{
    width:100%;
    height:230px;
    object-fit:cover;
    display:block;
}

.discover-option-card div{
    padding:24px;
}

.discover-option-card span,
.discover-card-grid span{
    display:inline-flex;
    color:var(--blue);
    font-weight:900;
    font-size:13px;
    letter-spacing:.08em;
    margin-bottom:10px;
}

.discover-option-card h3{
    margin:0 0 8px;
    color:var(--navy);
    font-size:26px;
    line-height:1.18;
}

.discover-option-card p{
    margin:0 0 18px;
    color:var(--muted);
}

.discover-option-card strong{
    font-size:24px;
    color:var(--blue);
}

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

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

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

.discover-card-grid p{
    margin:0;
    color:var(--muted);
}

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

.process-list div{
    position:relative;
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    padding:22px;
    box-shadow:var(--shadow);
}

.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;
}

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

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

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

.discover-gallery-grid img,
.discover-gallery-grid video{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    border-radius:24px;
}

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

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

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

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

.discover-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);
}

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

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

@media(max-width:1020px){
    .process-list{
        grid-template-columns:repeat(3,1fr);
    }

    .discover-card-grid,
    .discover-option-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:920px){
    .discover-section-head,
    .discover-split,
    .discover-card-grid,
    .discover-option-grid,
    .discover-gallery-grid,
    .faq-grid{
        grid-template-columns:1fr;
    }

    .discover-hero{
        height:var(--site-hero-height);
        min-height:var(--site-hero-min-height);
        max-height:var(--site-hero-max-height);
        padding-top:110px;
    }

    .discover-copy-card{
        min-height:auto;
    }

    .discover-image-card img,
    .discover-gallery-grid img{
        height:320px;
    }

    .discover-cta{
        display:block;
    }

    .discover-cta .btn{
        margin-top:22px;
    }
}

@media(max-width:620px){
    .process-list{
        grid-template-columns:1fr;
    }

    .discover-main{
        padding:56px 18px;
    }
}

/* =====================================================
   RECOMMEND CARDS - emotion focused
===================================================== */
.recommend-card-grid article{
    min-height:220px;
}

.recommend-card-grid .recommend-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:18px;
    background:#f0fbff;
    color:inherit;
    font-size:28px;
    letter-spacing:0;
    margin-bottom:18px;
}

.recommend-card-grid h3{
    line-height:1.24;
}


/* =====================================================
   DISCOVER DETAIL HERO - Beach / Island / Boat
   상세페이지 Hero도 공통 Hero 높이를 사용합니다.
===================================================== */
.discover-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;
}

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

.discover-detail-hero-media img{
    object-fit:cover;
}

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

.discover-detail-hero-content{
    position:relative;
    z-index:2;
    max-width:900px;
}

.discover-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);
}

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

.discover-detail-actions{
    display:flex;
    justify-content:center;
    gap:12px;
    flex-wrap:wrap;
    margin-top:28px;
}

@media(max-width:920px){
    .discover-detail-hero{
        height:var(--site-hero-height);
        min-height:var(--site-hero-min-height);
        max-height:var(--site-hero-max-height);
        padding-top:110px;
    }
}

/* =====================================================
   DETAIL SUMMARY - 대표 이미지 + 요약 카드
===================================================== */

.detail-summary-media{
    width:100%;
    height:420px;
    margin:0 0 24px;
    border-radius:32px;
    overflow:hidden;
    box-shadow:var(--shadow);
    border:1px solid var(--line);
    background:#eefaff;
}

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

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

.detail-summary-grid article{
    background:#ffffff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:26px;
    box-shadow:var(--shadow);
    text-align:center;
}

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

.detail-summary-grid article:nth-child(1)::before{
    content:"💰";
}

.detail-summary-grid article:nth-child(2)::before{
    content:"⏱";
}

.detail-summary-grid article:nth-child(3)::before{
    content:"🌊";
}

.detail-summary-grid article:nth-child(4)::before{
    content:"📍";
}

.detail-summary-grid span{
    display:block;
    color:var(--blue);
    font-weight:900;
    font-size:12px;
    letter-spacing:.12em;
    margin-bottom:8px;
}

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

.detail-summary-grid p{
    margin:0;
    color:var(--muted);
    font-size:15px;
}

@media(max-width:920px){
    .detail-summary-media{
        height:320px;
    }

    .detail-summary-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:560px){
    .detail-summary-media{
        height:240px;
        border-radius:24px;
    }

    .detail-summary-grid{
        grid-template-columns:1fr;
    }
}


/* =====================================================
   BEACH WHY SECTION - 글 카드 비율 조정
===================================================== */

.beach-why-copy{
    padding:56px;
}

.beach-why-copy h3{
    max-width:560px;
    font-size:clamp(34px,3vw,48px);
    line-height:1.16;
    margin-bottom:28px;
}

.beach-why-copy p{
    font-size:18px;
    line-height:1.95;
    margin-bottom:22px;
}

@media(max-width:920px){
    .beach-why-copy{
        padding:36px 28px;
    }

    .beach-why-copy h3{
        font-size:clamp(30px,7vw,40px);
    }

    .beach-why-copy p{
        font-size:16px;
        line-height:1.85;
    }
}

/* =====================================================
   DETAIL INFO - 포함사항 / 준비물 카드
===================================================== */

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

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

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

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

.detail-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;
}

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

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

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

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

@media(max-width:820px){
    .detail-info-grid{
        grid-template-columns:1fr;
    }

    .detail-info-card{
        padding:32px 26px;
    }
}


/* =====================================================
   DETAIL GALLERY VIDEO
   - 갤러리 안 영상 자동재생 / 음소거 / 반복 / 컨트롤 없음
===================================================== */

.discover-gallery-grid img,
.discover-gallery-grid video{
    width:100%;
    height:280px;
    object-fit:cover;
    display:block;
    border-radius:24px;
}

.discover-gallery-grid video{
    box-shadow:var(--shadow);
    background:#052b4f;
}

/* =====================================================
   DISCOVER BRAND RHYTHM - unified card/image rhythm
===================================================== */

.discover-split{
    align-items:stretch;
}

.discover-copy-card{
    height:100%;
}

.discover-image-card{
    height:100%;
}

.discover-image-card img{
    height:100%;
    min-height:520px;
    object-position:center center;
}

.discover-copy-card p,
.detail-info-card li,
.faq-grid p{
    line-height:1.75;
}

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

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

    .discover-image-card img{
        height:320px;
        min-height:0;
    }
}

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

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

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

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

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

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

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

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

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

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

.discover-image-card{
    height:100%;
}

.discover-image-card img{
    height:100%;
    min-height:var(--seeu-media-height);
    border-radius:var(--seeu-media-radius);
    object-position:center center;
}

.discover-option-grid,
.discover-card-grid,
.discover-gallery-grid,
.faq-grid{
    gap:var(--seeu-card-gap);
}

.discover-option-card,
.discover-card-grid article,
.faq-grid article{
    border-radius:var(--seeu-card-radius-sm);
}

.discover-option-card h3,
.discover-card-grid h3,
.faq-grid h3{
    font-size:var(--seeu-card-title-size);
    line-height:1.28;
}

.discover-option-card p,
.discover-card-grid p,
.faq-grid p,
.process-list p{
    line-height:var(--seeu-card-copy-line);
}

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

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

@media(max-width:920px){
    .discover-copy-card{
        min-height:auto;
        height:auto;
        padding:var(--seeu-card-padding);
    }

    .discover-image-card img{
        min-height:0;
        height:var(--seeu-media-height);
    }
}
