/**
 * 메인 페이지 (index.php) 전용 스타일
 */

body.is-main-page #wrapper,
body.is-main-page #container_wr,
body.is-main-page #container {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    min-height: 0 !important;
}

body.is-main-page #container {
    position: relative;
}

#mainFullpage {
    position: relative;
    width: 100%;
}

/* 일반 스크롤 — fullpage 미사용 (좁은 너비 또는 낮은 높이) */
html.is-main-normal-scroll,
html.is-main-normal-scroll body.is-main-page {
    overflow: visible !important;
    height: auto !important;
    position: static !important;
}

html.is-main-normal-scroll #mainFullpage {
    height: auto !important;
    transform: none !important;
    touch-action: auto !important;
}

html.is-main-normal-scroll #mainFullpage .section {
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    transform: none !important;
    visibility: visible !important;
}

html.is-main-normal-scroll #mainFullpage .fp-overflow,
html.is-main-normal-scroll #mainFullpage .fp-scrollable {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

html.is-main-normal-scroll .main-about-inner,
html.is-main-normal-scroll .main-centers-inner,
html.is-main-normal-scroll .main-rehab-inner,
html.is-main-normal-scroll .main-intensive-inner,
html.is-main-normal-scroll .main-director-inner,
html.is-main-normal-scroll .main-brand-inner,
html.is-main-normal-scroll .main-facility-inner,
html.is-main-normal-scroll .main-news-inner {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

html.is-main-normal-scroll .main-hero-inner {
    max-height: none !important;
}

html.is-main-normal-scroll #intensive.main-intensive {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
}

@media (max-width: 1023px) {
    html.is-main-normal-scroll .main-hero {
        min-height: 520px;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    html.is-main-normal-scroll .main-hero {
        min-height: 640px;
    }
}

/* PC 너비 + 낮은 높이 — 일반 스크롤 시 intensive 모바일 레이아웃 사용 */
@media (min-width: 1024px) {
    html.is-main-normal-scroll .main-hero {
        min-height: 100vh;
    }

    html.is-main-normal-scroll .main-intensive-mobile {
        display: block !important;
    }

    html.is-main-normal-scroll .main-intensive-desktop {
        display: none !important;
    }
}

.main-footer-section {
    height: auto !important;
}

html:not(.fp-responsive) .main-footer-section .fp-overflow,
html:not(.fp-responsive) .main-footer-section .fp-scrollable {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
}

#mainFullpage .fp-watermark,
.fp-watermark {
    display: none !important;
}

/* 히어로 */
.main-hero {
    min-height: 520px;
}

.main-hero-scrim {
    pointer-events: none;
}

.main-hero-bg-img {
    transform: scale(1);
    will-change: transform;
}

@media (min-width: 768px) {
    .main-hero {
        min-height: 640px;
    }
}

@media (min-width: 1024px) {
    .main-hero {
        min-height: 0;
    }
}

/* 치료실 — 모바일·태블릿 카드 크기 통일 */
@media (max-width: 1023px) {
    .main-centers-card {
        flex-direction: column;
        min-height: 0;
    }

    .main-centers-card__media {
        aspect-ratio: 16 / 10;
        width: 100% !important;
    }

    .main-centers-card--featured .main-centers-card__desc {
        display: none;
    }

    .main-centers-card:not(.main-centers-card--featured) {
        flex-direction: column;
    }

    .main-centers-card:not(.main-centers-card--featured) .main-centers-card__media {
        width: 100% !important;
    }
}

/* PC 풀페이지 */
@media (min-width: 1024px) {
    html:not(.fp-responsive) #mainFullpage .section {
        overflow: hidden;
    }

    html:not(.fp-responsive) .main-centers-inner,
    html:not(.fp-responsive) .main-rehab-inner,
    html:not(.fp-responsive) .main-intensive-inner,
    html:not(.fp-responsive) .main-director-inner,
    html:not(.fp-responsive) .main-brand-inner,
    html:not(.fp-responsive) .main-facility-inner,
    html:not(.fp-responsive) .main-news-inner {
        max-height: 100vh;
        overflow: hidden;
    }

    html:not(.fp-responsive) .main-hero-inner {
        max-height: calc(100vh - 82px);
    }

    html:not(.fp-responsive) .main-intensive,
    html:not(.fp-responsive) .main-intensive-desktop,
    html:not(.fp-responsive) .main-intensive-inner,
    html:not(.fp-responsive) .main-intensive-panel {
        height: 100%;
        min-height: 0;
    }

    html:not(.fp-responsive) .main-intensive-inner {
        max-width: none;
        padding: 0;
    }

    html:not(.fp-responsive) .main-intensive-panel {
        margin-left: auto;
    }

    html:not(.fp-responsive) .main-intensive-bg img {
        min-height: 100%;
    }

    html:not(.fp-responsive) .main-facility-gallery {
        grid-template-columns: minmax(0, 744fr) minmax(0, 340fr) minmax(0, 340fr);
        grid-template-rows: repeat(2, minmax(0, 1fr));
    }

    html:not(.fp-responsive) .main-facility-gallery__item--1 {
        grid-column: 1;
        grid-row: 1 / span 2;
    }

    html:not(.fp-responsive) .main-facility-gallery__item--2 {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    html:not(.fp-responsive) .main-facility-gallery__item--3 {
        grid-column: 3;
        grid-row: 1;
    }

    html:not(.fp-responsive) .main-facility-gallery__item--4 {
        grid-column: 3;
        grid-row: 2;
    }

    html:not(.fp-responsive) .main-news-mosaic {
        min-height: 0;
    }

}

/* PC 풀페이지 — 낮은 높이(860px~920px)에서 콘텐츠 압축 */
@media (min-width: 1024px) and (max-height: 920px) {
    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-centers-inner,
    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-rehab-inner,
    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-director-inner,
    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-brand-inner,
    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-facility-inner,
    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-news-inner {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }

    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-centers-grid {
        min-height: 0 !important;
        margin-top: 1rem !important;
    }

    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-facility-gallery {
        min-height: 0 !important;
        margin-top: 1rem !important;
    }

    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-news-card--event,
    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-news-card--consult,
    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-news-card--image,
    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-news-card--way {
        min-height: 0 !important;
    }

    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-intensive-panel {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
        overflow-y: auto;
    }

    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-intensive-points {
        margin-top: 1rem !important;
        padding: 1rem !important;
        gap: 0.75rem !important;
    }

    html:not(.is-main-normal-scroll):not(.fp-responsive) .main-director-inner a[href*="greeting"] {
        margin-top: 1.5rem !important;
    }
}

/* 시설 갤러리 — 모바일 이미지 동일 높이 */
@media (max-width: 767px) {
    .main-facility-gallery__media {
        height: 11.25rem;
        min-height: 11.25rem !important;
        max-height: 11.25rem;
    }

    .main-facility-gallery__media img {
        height: 100%;
        width: 100%;
        object-fit: cover;
    }
}

/* 소식 및 맞춤형 연계 — 모바일 카드 동일 높이 */
@media (max-width: 767px) {
    .main-news-mosaic {
        gap: 0.75rem;
    }

    .main-news-mosaic .main-news-card {
        height: 11.25rem;
        min-height: 11.25rem !important;
        max-height: 11.25rem;
    }

    .main-news-card__header {
        flex-shrink: 0;
        padding: 0.75rem 1rem !important;
    }

    .main-news-card--event .main-news-card__header h3,
    .main-news-card--consult .main-news-card__header h3 {
        margin-top: 0.125rem;
        font-size: 1rem;
        line-height: 1.35;
    }

    .main-news-card--event .main-news-card__header p,
    .main-news-card--consult .main-news-card__header > p:first-child {
        font-size: 0.6875rem;
    }

    .main-news-card--image .main-news-card__header h3 {
        margin-top: 0.125rem;
        font-size: 0.9375rem;
    }

    .main-news-card__media {
        flex: 1 1 auto;
        min-height: 0;
        margin-top: 0 !important;
    }

    .main-news-card__media img {
        min-height: 0 !important;
        height: 100%;
    }

    .main-news-card--consult,
    .main-news-card--way {
        padding: 0.75rem 1rem !important;
    }

    .main-news-card--consult .main-news-card__header,
    .main-news-card--way .main-news-card__header {
        padding: 0 !important;
    }

    .main-news-card--consult .main-news-card__desc {
        display: none;
    }

    .main-news-card__action {
        margin-top: 0 !important;
        padding-left: 0;
        font-size: 0.8125rem;
    }
}

/* 한 달 집중치료 — PC에서 전화 버튼 비활성, 모바일 tel 연결 */
@media (min-width: 1024px) {
    .main-intensive-tel {
        pointer-events: none;
        cursor: default;
    }
}

/* 한 달 집중치료 — 모바일·태블릿 전용 */
@media (max-width: 1023px) {
    html.is-main-normal-scroll #intensive.main-intensive,
    #intensive.main-intensive {
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    .main-intensive-mobile {
        width: 100%;
    }

    .main-intensive-mobile__hero {
        aspect-ratio: 16 / 10;
        min-height: 200px;
        max-height: 280px;
    }

    .main-intensive-mobile__hero img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .main-intensive-mobile__body {
        width: 100%;
    }

}

/* 퀵메뉴 — 기본 흰색, hover 시 primary (node-id=38-242) */
.main-quick-item {
    background-color: #ffffff;
    color: #2f3437;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.main-quick-item__icon {
    background-color: #f7fafc;
    transition: background-color 0.3s ease;
}

.main-quick-item__desc {
    color: #6b7280;
    transition: color 0.3s ease;
}

.main-quick-item:hover {
    background-color: #1a8bd6;
    color: #ffffff;
}

.main-quick-item:hover .main-quick-item__icon {
    background-color: #ffffff;
}

.main-quick-item:hover .main-quick-item__desc {
    color: rgba(255, 255, 255, 0.9);
}

/* 퀵메뉴 — 외곽 border 없음, 항목 간 세로 구분선만 */
@media (min-width: 640px) {
    .main-quick-grid > a:not(:nth-child(2n)),
    .main-quick-grid > div:not(:nth-child(2n)) {
        border-right: 1px solid #e5e7eb;
    }
}

@media (min-width: 1024px) {
    .main-quick-grid > a,
    .main-quick-grid > div {
        border-right: 1px solid #e5e7eb;
    }

    .main-quick-grid > a:nth-child(4n),
    .main-quick-grid > div:nth-child(4n) {
        border-right: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    html.fp-enabled {
        scroll-behavior: auto;
    }

    .main-rehab-accent {
        transform: none !important;
    }
}
