/* 
 * 防止水平滾動的額外修正 CSS
 * 這個文件專門處理可能導致左右滾動的問題
 */

/* 最高優先級的水平滾動防護 */
html {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
}

body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
    position: relative !important;
}

/* 確保滿版元素不會導致水平滾動 */
.home-hero,
.youtube-gallery {
    /* 保持原有的滿版設計 */
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    /* 但是防止內容溢出 */
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* 滿版圖片的特殊處理 */
.home-hero__img,
.customer-testimonial__img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
    display: block !important;
    max-width: none !important; /* 允許滿版圖片 */
}

/* 確保所有容器都不會造成水平溢出 */
.home-hero__overlay,
.customer-testimonial__overlay,
.youtube-gallery__container {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
}

/* 移動裝置的額外保護 */
@media (max-width: 768px) {
    /* 強制防止任何水平滾動 */
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
    
    /* 確保所有主要容器在小螢幕上不會溢出 */
    .mobile-header,
    .intro-split__container,
    .about-extra__container,
    .public-welfare__container,
    .location-transport__container,
    .faq-section__container,
    .welfare-gallery__container {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    
    /* 表單元素的特殊處理 */
    .location-form-card,
    .form-input,
    .form-submit-btn {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* 表單導航按鈕的移動端修復 */
    .form-nav-buttons {
        overflow: visible !important;
        padding: 5px !important;
        margin: 0 !important;
    }
    
    .form-nav-btn {
        margin: 2px !important;
        position: relative !important;
        z-index: 1 !important;
        overflow: visible !important;
    }
    
    /* FAQ 區塊的特殊處理 */
    .faq-content,
    .faq-item,
    .faq-header,
    .faq-answer {
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
}

/* 超小螢幕的額外保護 */
@media (max-width: 480px) {
    /* 進一步減少可能的溢出 */
    * {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    
    /* 表單導航按鈕的超小螢幕修復 */
    .form-nav-buttons {
        overflow: visible !important;
        padding: 8px !important;
        margin: 0 !important;
    }
    
    .form-nav-btn {
        margin: 3px !important;
        position: relative !important;
        z-index: 2 !important;
        overflow: visible !important;
        box-shadow: 0 2px 6px rgba(31, 122, 91, 0.2) !important;
    }
    
    /* 文字內容的特殊處理 */
    .home-hero__title,
    .customer-testimonial__title,
    .public-welfare__title,
    .location-transport__title,
    .faq-section__title {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
    }
}

/* 防止長URL或文字造成溢出 */
a, p, div, span {
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
}

/* 圖片和媒體元素的最終保護 */
img, video, iframe, embed, object, svg {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
}

/* 表格的特殊處理 */
table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    word-wrap: break-word !important;
    overflow-x: auto !important;
}

/* 程式碼區塊的處理 */
pre, code {
    max-width: 100% !important;
    overflow-x: auto !important;
    word-wrap: break-word !important;
    white-space: pre-wrap !important;
}