/*
 * 모바일 전용 스타일 (≤768px)
 * 인코딩: EUC-KR
 * 섹션 공통 리듬/타이포/레이아웃을 재정의하고, 기존 각 CSS의 모바일 규칙을 대체합니다.
 */

@media (max-width: 768px) {
    /* 공통 레이아웃 */
    body { -webkit-text-size-adjust: 100%; }
    .pub-business-premium-section,
    .kt-benefits-section,
    .telecom-landing-section,
    .plan-detail-section {
        left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw;
        width: 100vw;
        /* 주소창/툴바 변동 대응: 높이는 컨텐츠에 맞추고, 섹션 경계 밖으로 넘치지 않도록 고정 */
        height: auto !important;
        min-height: 100vh; /* fallback */
        overflow: hidden !important;
        padding-top: 16px;
        padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
        position: relative;
        isolation: isolate; /* 섹션 경계 내 페인팅 */
    }

    /* phone.png 섹션: 이미지 요소 기반 표시 */
    .pub-phone-bg-section {
        left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw;
        width: 100vw;
        height: auto !important;
        min-height: 100vh;
        overflow: hidden !important;
        padding-top: 0; /* 최하단 섹션 여백 제거 */
        padding-bottom: 0 !important; /* 여백 제거로 푸터와 밀착 */
        position: relative;
        isolation: isolate;
    }

    /* 배경 레이어가 섹션 높이에 맞게 따라오도록 고정 */
    .pub-business-premium-section .premium-bg-image,
    .kt-benefits-section .kt-bg-image,
    .telecom-landing-section .telecom-bg-image,
    .plan-detail-section .plan-bg-image {
        position: absolute;
        top: 0; left: 0;
        width: 100%;
        height: 100% !important;
        min-height: inherit;
    }

    /* 컨텐츠 레이어가 항상 배경 위에서 보이고 섹션 내부에 남도록 */
    .pub-business-title-section,
    .pub-business-attachment-content,
    .kt-content-container,
    .kt-design-container,
    .plan-content-container {
        position: relative;
        z-index: 2;
        box-sizing: border-box;
        padding-left: 16px;
        padding-right: 16px;
    }

    /* KT를 선택하는 이유: 고정 높이 제거하고 내부에 모두 수납 */
    .kt-content-container { height: auto !important; min-height: auto !important; width: 100% !important; }
    .kt-benefits-container { align-items: stretch !important; gap: 26px; }
    .kt-benefit-card { height: auto !important; min-height: 0 !important; overflow: hidden; }

    /* 타이포 스케일 */
    .pub-business-main-title { font-size: 2.6rem; }
    .pub-business-subtitle { font-size: 1.5rem; }
    .kt-main-heading { font-size: 3.2rem; }
    .kt-sub-heading { font-size: 1.6rem; }

    /* 섹션별 컨테이너 여백 */
    .pub-business-title-section { margin-top: 28px; margin-bottom: 22px; }
    /* 타이틀 아래 간격 추가 확대 (현재 대비 2배) */
    .pub-business-attachment-content { margin-top: 88px !important; margin-bottom: 28px; }
    .kt-content-container { justify-content: center; gap: 20px; }

    /* 카드 스택 */
    .pub-business-premium-cards { display: grid; grid-template-columns: 1fr; gap: 28px; padding: 0 18px; }
    .pub-business-premium-card { border-radius: 22px; }
    .pub-business-card-content { padding: 28px; text-align: center; flex-direction: column; }
    .pub-business-main-text { font-size: 1.22rem; margin-bottom: 12px; padding-left: 0; text-align: center; }
    .pub-business-main-text::before { display: none; }
    .pub-business-premium-button { width: 100%; font-size: 1.15rem; padding: 14px 22px; margin-top: 14px; }

    /* KT 섹션 카드 */
    .kt-benefits-container { display: flex; flex-direction: column; gap: 26px; }
    .kt-benefit-card { min-width: auto; padding: 24px 20px; }

    /* 요금제 상세 카드 */
    .plan-detail-section .plan-content-container { padding: 24px 16px; }
    .plan-detail-section .plan-card { width: 100%; margin: 0; }

    /* 애니메이션 타이밍: 모바일에서는 반복 제거(등장만), 속도 완화 */
    .pub-anim-title { animation: pubTitleReveal 1400ms cubic-bezier(.2,.8,.2,1) 80ms both !important; }
    .pub-anim-subtitle { animation: pubSubtitleSweep 1200ms ease-out 240ms both !important; }
    .pub-anim-fade-rise { animation: pubFadeRise 1300ms ease-out both !important; }
    .pub-anim-card { animation: pubCardIn 1000ms cubic-bezier(.2,.8,.2,1) both; }
    .pub-business-premium-cards .pub-business-premium-card:nth-child(1) { animation-delay: 0.2s; }
    .pub-business-premium-cards .pub-business-premium-card:nth-child(2) { animation-delay: 0.4s; }
    .pub-business-premium-cards .pub-business-premium-card:nth-child(3) { animation-delay: 0.6s; }
    .pub-business-premium-cards .pub-business-premium-card:nth-child(4) { animation-delay: 0.8s; }
    /* 버튼: 모바일에서는 반복 펄스 제거 (정적 유지) */
    .pub-anim-button-pulse { animation: none !important; }
    .pub-business-premium-card::before { animation: pubSheen 18s linear infinite; }
    .pub-anim-line-highlight { animation: pubLineRise 1200ms ease-out both !important; }
    .pub-anim-line-highlight::after { animation: pubLineSweep 1500ms ease-out 250ms forwards !important; }

    /* 접근성: 모션 감소 선호 시 정지 */
    @media (prefers-reduced-motion: reduce) {
        .pub-anim-title, .pub-anim-subtitle, .pub-anim-fade-rise, .pub-anim-card,
        .pub-anim-button-pulse, .pub-anim-line-highlight, .pub-business-premium-card::before { animation: none !important; }
    }
}


