/* =========================================
   ESG3.html 移动端响应式与 Section 5 优化样式
   Scope: 仅针对 ESG3.html 页面生效
   ========================================= */

/* 
   -----------------------------------------
   1. Section 5: Honors (Highlights) - Apple-style Shelf
   -----------------------------------------
   重构 "亮点荣誉" 模块为横向滚动交互 (Shelf)
*/

/* 容易冲突的样式重置 */
.honors-marquee {
    width: 100%;
    overflow: visible; /* 允许滚动容器溢出处理 */
    padding-bottom: 20px;
}

.honors-track {
    display: none; /* 隐藏原有的 marquee track */
}

/* 新的 Shelf 容器 */
.esg-shelf-container {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch; /* iOS 平滑滚动 */
    gap: 20px;
    padding: 20px 0 40px 0; /* 底部 padding 用于显示阴影或滚动条空间 */
    /* margin: 0 auto; */
    width: 100%;
    /* max-width: 1440px; */
    /* 隐藏滚动条 */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;  /* IE 10+ */
    cursor: grab;
}

.esg-shelf-container::-webkit-scrollbar {
    display: none; /* Chrome/Safari */
}

.esg-shelf-container:active {
    cursor: grabbing;
}

/* Shelf Item 卡片 */
.esg-shelf-item {
    flex: 0 0 auto;
    scroll-snap-align: start;
    width: 300px; /* 默认宽度 */
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.esg-shelf-item:first-child {
    margin-left: max(20px, env(safe-area-inset-left)); /* 左侧留白 */
}

.esg-shelf-item:last-child {
    margin-right: max(20px, env(safe-area-inset-right)); /* 右侧留白 */
}

.esg-shelf-item:hover {
    transform: translateY(-8px) scale(1.02);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.esg-shelf-img-wrapper {
    width: 100%;
    height: 300px;
    background: #f5f5f5;
    position: relative;
    overflow: hidden;
}

.esg-shelf-img {
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease;
}

.esg-shelf-item:hover .esg-shelf-img {
    transform: scale(1.05);
}

.esg-shelf-content {
    padding: 16px;
    flex: 1;
    display: flex;
    align-items: flex-start;
}

.esg-shelf-desc {
    font-size: 15px;
    color: #1d1d1f;
    line-height: 1.4;
    font-weight: 500;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* 
   -----------------------------------------
   2. Comprehensive Responsive Breakpoints
   -----------------------------------------
*/

/* Large Screens (1600px - 1680px+) */
@media screen and (min-width: 1600px) {
    .container, .section-center, .esg-base-container {
        /* max-width: 1560px; Take advantage of wider screens */
    }
    
    .paddlenav {
        max-width: 1560px;
    }

    #page-overview .pillars-container {
        height: 600px; /* Taller pillars for large screens */
    }
}

/* Notebook/Desktop Standard (1366px - 1440px) */
@media screen and (max-width: 1440px) {
    .container, .section-center {
        max-width: 1300px;
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    #page-products .products-grid-section .container, #page-supply .highlights-content, #page-products .comm-container {
        max-width: 1300px;
    }
    /* #page-products .standards-content {
        gap: calc(100vw* 70 / 1440)!important;
    } */
    #page-products .standards-content-box {
        width: 1250px;
    }
    .paddlenav {
        max-width: 1300px;
        padding: 0 12px;
    }

    /* Strategy Pillars -> Proportional Scaling < 1440px */
    #page-overview {
        max-width: 100vw;
        overflow-x: hidden;
    }
    #page-overview .strategy-section {
        margin-top: calc(100vw * 90  / 1440) !important;
    }
    #page-overview .strategy-section .green-bar {
        top: calc(100vw * -40 / 1440) !important;
        left: max(53px, calc((100vw - 1320px) / 2 + 53px)) !important;
        font-size: calc(100vw * 28 / 1440) !important;
    }
    #page-overview .pillars-container {
        height: calc(100vw * 540 / 1440) !important;
    }
    #page-overview .pillar-item {
        flex: 0 0 calc(100vw * 150 / 1440) !important;
        min-width: calc(100vw * 80 / 1440) !important;
    }
    #page-overview .pillar-item.active {
        flex: 4 !important;
    }
    #page-overview .pillar-overlay {
        padding: calc(100vw * 20 / 1440) calc(100vw * 20 / 1440) !important;
    }
    #page-overview .pillar-item:not(.pillar-item ~ .pillar-item).active .pillar-overlay {
        padding-top: calc(100vw * 20 / 1440) !important;
        padding-bottom: calc(100vw * 20 / 1440) !important;
        padding-right: calc(100vw * 120 / 1440) !important;
        padding-left: max(53px, calc((100vw - 1320px) / 2 + 53px)) !important;
    }
    #page-overview .pillar-item ~ .pillar-item.active .pillar-overlay {
        padding: calc(100vw * 20 / 1440) !important;
    }
    #page-overview .pillar-num {
        font-size: calc(100vw * 60 / 1440) !important;
    }
    #page-overview .pillar-title {
        font-size: calc(100vw * 24 / 1440) !important;
        line-height: calc(100vw * 34 / 1440) !important;
        margin-top: calc(100vw * -10 / 1440) !important;
    }
    #page-overview .pillar-item.active .pillar-title {
        font-size: calc(100vw * 36 / 1440) !important;
    }
    #page-overview .pillar-divider {
        margin: calc(100vw * 20 / 1440) 0 !important;
    }
    #page-overview .pillar-content {
        font-size: calc(100vw * 24  / 1440) !important;
        letter-spacing: calc(100vw * 2 / 1440) !important;
    }
    
    #page-overview .pillar-sdgs {
        width: calc(100vw * 88 / 1440) !important;
        height: calc(100vw * 88 / 1440) !important;
        right: calc(100vw * 20 / 1440) !important;
        bottom: calc(100vw * 30 / 1440) !important;
        gap: calc(100vw * 10 / 1440) !important;
    }
    #page-overview .pillar-item .pillar-sdgs01,
    #page-overview .pillar-item .pillar-sdgs02,
    #page-overview .pillar-item .pillar-sdgs03,
    #page-overview .pillar-item .pillar-sdgs04 {
        right: calc(100vw * 35 / 1440);
    }
    #page-overview .pillar-item.active .pillar-sdgs {
        width: calc(100vw * 270 / 1440) !important;
        height: calc(100vw * 270 / 1440) !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs02 {
        height: calc(100vw * 130 / 1440) !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs04 {
        height: calc(100vw * 410 / 1440) !important;
    }
    #page-overview .sdg-item {
        width: calc(100vw * 70 / 1440) !important;
        height: calc(100vw * 70 / 1440) !important;
        font-size: calc(100vw * 11 / 1440) !important;
        border-radius: calc(100vw * 4 / 1440) !important;
    }
}

/* Small Laptops (1200px - 1240px) */
@media screen and (max-width: 1240px) {
    .container, .section-center {
        max-width: 1140px;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    #page-products .products-grid-section .container, #page-supply .highlights-content, #page-products .comm-container {
        max-width: 1140px;
    }
    .comm-left {
        padding: 30px 30px 30px 24px!important;
    }
    .comm-left h3 {
        font-size: 24px;
    }
    .comm-left p {
        font-size: 14px;
    }
    .paddlenav {
        max-width: 1140px;
    }
    
    .pillar-title {
        font-size: 20px !important;
    }
    #page-overview .strategy-section {
        margin-top: calc(100vw * 100 / 1440) !important;
    }
    #page-overview .strategy-section .green-bar {
        left: max(30px, calc((100vw - 1240px) / 2 + 30px)) !important;
    }
    #page-overview .pillar-item:not(.pillar-item ~ .pillar-item).active .pillar-overlay {
        padding-left: max(30px, calc((100vw - 1240px) / 2 + 30px)) !important;
    }

    #page-products .standards-content {
        width: 100% !important;
        min-width: 100% !important;
        transform: none !important;
        gap: calc(100vw * 60 / 1242) !important;
    }
    #page-products .standards-content-box {
        margin-left: calc(100vw* 55 / 1242) !important;
    }
}

/* Tablet Landscape / Netbooks (1024px - 1025px) */
@media screen and (max-width: 1025px) {
    .container, .section-center {
        max-width: 960px;
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
    #page-products .products-grid-section .container, #page-supply .highlights-content, #page-products .comm-container {
        max-width: 960px;
    }
    .comm-left {
        padding: 30px 30px 30px 24px!important;
    }
    .comm-left h3 {
        font-size: 24px;
    }
    .comm-left p {
        font-size: 14px;
    }
    .paddlenav {
        max-width: 960px;
        padding: 0 12px;
    }

    /* Adjust grid columns for tighter spaces */
    .goals-grid, .products-grid, .measures-grid {
        gap: 15px;
    }
    
    .goal-card {
        padding: 20px;
    }
    .goal-card h4 {
        font-size: 20px;
    }
    #page-overview .strategy-section {
        margin-top: calc(100vw * 125 / 1440) !important;
    }
    #page-overview .strategy-section .green-bar {
        left: max(58px, calc((100vw - 1025px) / 2 + 58px)) !important;
        top: calc(100vw * -40 / 1025) !important;
    }
    #page-overview .pillar-item:not(.pillar-item ~ .pillar-item).active .pillar-overlay {
        padding-left: max(58px, calc((100vw - 1025px) / 2 + 58px)) !important;
    }

    #page-supply .highlights-content {
        padding: 0 24px;
    }
    #page-supply .highlights-header {
        margin-bottom: 20px;
    }
    #page-supply .highlights-list {
        gap: 24px;
    }
    #page-supply .highlights-header h3 {
        font-size: 26px;
    }
    #page-supply .highlight-dot {
        margin-top: 2px;
    }
    #page-supply .highlight-item p {
        font-size: 16px;
    }

    /* Stacking logic for communication section at 1024px to match Employees pattern */
    #page-products .comm-container {
        grid-template-columns: 1fr !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    #page-products .comm-right {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 720 / 600 !important;
    }
}

@media screen and (max-width: 1022px) {
    #page-overview .strategy-section .green-bar {
        left: max(26px, calc((100vw - 1022px) / 2 + 26px)) !important;
    }
    #page-overview .pillar-item:not(.pillar-item ~ .pillar-item).active .pillar-overlay {
        padding-left: max(26px, calc((100vw - 1022px) / 2 + 26px)) !important;
    }
}

@media screen and (max-width: 920px) {
    #page-overview .strategy-section .green-bar {
        left: max(24px, calc((100vw - 920px) / 2 + 24px)) !important;
    }
    #page-overview .pillar-item:not(.pillar-item ~ .pillar-item).active .pillar-overlay {
        padding-left: max(24px, calc((100vw - 920px) / 2 + 24px)) !important;
    }
}

/* Tablet Portrait (768px - 1023px) */
@media screen and (max-width: 900px) {
     /* Switch specific grids to 2 columns on tablets */
    .goals-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .measures-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Communication section inherits stacking from 1025px */
    #page-products .comm-left {
        padding: 30px 30px 30px 24px!important;
    }
    #page-products .comm-left h3 {
        font-size: 24px;
    }
    #page-products .comm-left p {
        font-size: 14px;
    }
    
    /* Shelf item size adjustment */
}

/* Proportional scaling for standards-section below 1200px (Tablets + Mobile) */
@media screen and (max-width: 1200px) {
    #page-products .standards-section {
        height: calc(100vw * 400 / 1200) !important;
        padding: 0 !important;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }
    #page-products .standards-section::before, 
    #page-products .standards-section::after {
        background-size: 100% 100% !important;
        transform: none !important;
    }
    
    #page-products .standards-content {
        width: 100% !important;
        min-width: 100% !important;
        transform: none !important;
        gap: calc(100vw * 55 / 1200) !important;
    }
    #page-products .standards-content-box {
        margin-left: calc(100vw * 48 / 1200) !important; /* Scale safe padding */
    }

    #page-products .standards-left h3 {
        margin-bottom: calc(100vw * 15 / 1200) !important;
    }

    #page-products .standards-left .standards-left-title {
        font-size: calc(100vw * 48 / 1200) !important;
        line-height: calc(100vw * 52 / 1200) !important;
    }

    #page-products .standards-content-desc {
        width: calc(100vw * 696 / 1200) !important; /* Scale width */
        height: calc(100vw * 90 / 1200) !important;
        font-size: calc(100vw * 16 / 1200) !important;
        line-height: calc(100vw * 30 / 1200) !important;
    }

    #page-products .standards-content-line {
        width: calc(100vw * 2 / 1200) !important;
        height: calc(100vw * 90 / 1200) !important;
        margin: 0 calc(100vw * 20 / 1200) !important;
    }

    #page-products .standards-content-logo {
        height: calc(100vw * 90 / 1200) !important;
        padding: 0 calc(100vw * 137 / 1200) !important;
        background-size: 100% 100% !important;
    }
}

/* 
   -----------------------------------------
   3. Mobile Responsive Adjustments (< 768px)

   -----------------------------------------
*/
@media only screen and (max-width: 768px) {
    
    /* Global Container Padding */
    .esg-base-container {
        padding-left: 0;
        padding-right: 0;
        overflow-x: hidden;
    }

    .container, .section-center {
        padding-left: 12px !important;
        padding-right: 12px !important;
        width: 100%;
        box-sizing: border-box;
    }

    /* Header & Nav */
    .header-top {
        padding: 0 20px;
        height: 56px;
    }
    
    .logo img {
        height: 24px;
        width: auto;
    }

    .nav-main {
        display: none; /* 移动端隐藏主导航，使用汉堡菜单 */
    }

    .header-right {
        display: flex;
        gap: 15px;
    }

    /* Sub Nav - Horizontal Scroll */
    .sub-nav {
        height: 50px;
        overflow-y: hidden;
    }

    .sub-nav-list {
        display: flex;
        overflow-x: auto;
        white-space: nowrap;
        height: 100%;
        padding: 0 10px;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    
    .sub-nav-list::-webkit-scrollbar {
        display: none;
    }

    .sub-nav-item {
        padding: 0 15px;
        line-height: 50px;
        font-size: 14px;
        flex: 0 0 auto;
    }

    /* Banner */
    .banner {
        height: 40vh; /* 减小 Banner 高度 */
        min-height: 250px;
    }

    .banner h1 {
        font-size: 28px !important;
        padding: 0 20px;
    }

    /* Typography Scaling */
    .section-title, 
    .section-title-special {
        font-size: 28px !important;
        margin-bottom: 20px;
        line-height: 1.2;
    }

    .section-desc {
        font-size: 16px !important;
        line-height: 1.5;
        width: 100%;
        max-width: none;
    }

    /* Format alignment for overview pillars on mobile */
    #page-overview .strategy-section .green-bar {
        left: 40px !important;
    }
    #page-overview .pillar-item:not(.pillar-item ~ .pillar-item).active .pillar-overlay {
        padding-left: 20px !important;
    }
    #page-overview .pillar-item ~ .pillar-item.active .pillar-overlay {
        padding-left: 32px !important;
    }

    /* 2030 Goals Grid */
    .goals-grid {
        grid-template-columns: 1fr; /* 单列 */
        gap: 15px;
    }

    .goal-card {
        padding: 25px 20px;
    }

    /* Honors Section (Mobile Specifics) */
    
    .honors-title span.honors-desc {
        display: block;
        margin-left: 0;
        margin-top: 5px;
        font-size: 16px;
    }

    /* Adjust Shelf Item size for mobile */
    .esg-shelf-item {
        width: 160px; 
    }
    
    .esg-shelf-img-wrapper {
        height: 160px;
    }

    /* Communication Section */
    .comm-container {
        flex-direction: column;
    }

    .comm-left {
        padding: 40px 24px 0 24px;
        width: 100%;
        box-sizing: border-box;
    }

    .comm-left h3 {
        font-size: 32px;
    }

    .comm-right {
        width: 100%;
        height: 250px; /* 图片区域高度 */
        display: block;
    }
    
    .comm-image {
        height: 100%;
        background-position: center;
    }

    #page-products .products-grid-title {
        font-size: 24px !important;
    }
    #page-products .products-grid-section .environmental-protection-diary-img {
        width: 100%;
        height: 0;
        padding-top: 14.45%; /* 159 / 1100 padding hack */
        margin-bottom: 30px;
        background-size: 100% auto;
        background-position: center;
    }

    #page-products .products-grid {
        display: grid;
        grid-template-columns: repeat(1, 1fr); /* 单列 */
        gap: 20px;
        /* padding: 0 20px; */
    }

    .product-card {
        margin-bottom: 10px;
    }

    /* Employees Highlights */
    .highlights-list {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
    
    .highlights-content {
        flex-direction: column;
    }
    
    /* .highlights-right {
        margin-top: 20px;
    } */

    /* Footer */
    .footer-content {
        padding: 20px;
        font-size: 12px;
        text-align: center;
    }

    /* 
       -----------------------------------------
       3. Image Scaling & Aspect Ratio Fixes
       -----------------------------------------
    */
    
    /* Product Images - Proportional Scaling */
    .product-image {
        height: auto !important; /* Allow height to adjust naturally */
        aspect-ratio: auto; /* Remove rigid ratio to prevent squeeze */
    }
    
    .product-image img {
        width: 100%;
        height: auto !important; /* Image determines height */
        object-fit: contain; /* scaling perfectly without distortion */
    }

    /* Communication Image - Responsive height */
    .comm-right {
        height: auto;
        aspect-ratio: 4/3; /* Set a reasonable aspect ratio for mobile */
    }
    
    .comm-image {
        background-position: center !important;
    }
    
    /* Carousel Images */
    .carousel-slide img {
        width: 100%;
        height: auto;
        object-fit: contain;
    }
    
    /* Pillar Backgrounds - Ensure scaling is proportional */
    #page-overview .pillar-bg {
        background-size: 100% 100%;
    }
    
    /* Shelf Images - Ensure they are not stretched */
    .esg-shelf-img {
        object-fit: cover;
    }
    
    /* General img reset for this page to prevent global styles interference */
    #page-overview img,
    #page-products img,
    #page-climate img,
    #page-supply img,
    #page-employees img {
        max-width: 100%;
        height: auto;
    }
    .goal-card01 {
        background: url('../../images/esg/overview-mobile/goals_bg01.png') no-repeat;
    }
    .goal-card02 {
        background: url('../../images/esg/overview-mobile/goals_bg02.png') no-repeat;
    }
    .goal-card03 {
        background: url('../../images/esg/overview-mobile/goals_bg03.png') no-repeat;
    }
    .goal-card04 {
        background: url('../../images/esg/overview-mobile/goals_bg04.png') no-repeat;
    }
    .goal-card01, .goal-card02, .goal-card03, .goal-card04 {
        background-size: 100% 100%;
    }
}



/* 
   -----------------------------------------
   5. Specific Refinements (User Feedback & Comprehensive Coverage)
   Scope: Climate Measures & Employees Carousels
   Breakpoints: 1680, 1620, 1600, 1440, 1366, 1240, 1200, 1025, 1024, 768, 488, 480, 400, 320
   -----------------------------------------
*/

/* --- 1. Sub-nav Optimization (Keep existing fix) --- */
@media screen and (max-width: 768px) {
    .sub-nav-list {
        justify-content: flex-start;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .sub-nav-list::-webkit-scrollbar {
        display: none;
    }
    .sub-nav-item {
        flex-shrink: 0;
        margin-right: 20px;
    }
}



/* --- 3. Communication Section Carousel Mobile (Keep existing fix) --- */
@media screen and (max-width: 768px) {
    .comm-right {
        height: 300px;
    }
}

/* --- 4. Climate Measures & Employees Carousels Comprehensive Adaptation --- */

/* Large Screens (1600px - 1680px+) */
@media screen and (min-width: 1600px) {
    /* Climate */
    #page-climate .measures-section {
        padding-bottom: 300px;
    }
    #page-climate .measures-grid {
        max-width: 1400px;
        gap: 30px;
    }
    
    /* Employees */
    #page-employees .highlights-container {
        /* max-width: 1400px; */
    }
    #carousel2 .carousel-slide {
        height: 600px; /* Taller on very large screens */
    }
    /* Ensure images fill the slide height */
    #carousel1 .carousel-slide img, #carousel2 .carousel-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* Standard Laptop/Desktop (1240px - 1440px) */
@media screen and (max-width: 1440px) and (min-width: 1241px) {
    /* Climate */
    #page-climate .measures-grid {
        gap: 20px;
    }
    /* Employees */
    #carousel2 .carousel-slide {
        height: 500px;
    }
    #carousel1 .carousel-slide img, #carousel2 .carousel-slide img {
        width: 100%; 
        height: 100%;
        object-fit: cover;
    }
}

/* Small Laptop (1024px - 1240px) */
@media screen and (max-width: 1240px) {
    /* Climate - Switch to 3 columns if 4 is too tight, or keep 4 with smaller gaps */
    #page-climate .measures-grid {
        grid-template-columns: repeat(2, 1fr); /* Switch to 2x2 grid for better readability */
        /* max-width: 800px;  */
        margin: 0 auto;
        gap: 15px; /* Consistent with < 900px */
    }
    
    #page-climate .measure-card {
        width: 100%; /* Fill column width to avoid large spacing */
        height: auto;
    }
    
    /* Employees */
    #carousel2 .carousel-slide {
        height: 450px;
    }
    #carousel1 .carousel-slide img, #carousel2 .carousel-slide img {
        width: 100%; 
        height: 100%;
        object-fit: cover;
    }
}

/* Tablet Landscape (1024px) */
@media screen and (max-width: 1024px) {
    /* Climate */
    #page-climate .measures-section {
        padding: 40px 20px 100px 20px;
    }
    
    /* Employees */
    #page-employees .highlights-content {
        display: block; /* Stack content and carousel */
    }
    #page-employees .highlights-list {
        width: 100%;
        gap: 20px;
        padding: 24px 15px;
        margin-bottom: 0;
    }
    #page-employees .highlights-grid {
        grid-template-columns: 1fr; /* Stack left/right of highlight section */
    }
}

/* Tablet Portrait (768px - 1023px) */
@media screen and (max-width: 900px) {
    /* Climate */
    #page-climate .measures-grid {
        gap: 15px;
    }
    #page-climate .measure-card {
        width: 100%;
        height: auto;
    }
    
    /* Employees */
    #carousel2 .carousel-slide {
        height: 400px;
    }
    #carousel1 .carousel-slide img, #carousel2 .carousel-slide img {
        width: 100%; 
        height: 100%;
        object-fit: cover;
    }
    #page-overview .strategy-section .green-bar {
        left: max(24px, calc((100vw - 900px) / 2 + 24px)) !important;
    }
    #page-overview .pillar-item:not(.pillar-item ~ .pillar-item).active .pillar-overlay {
        padding-left: max(24px, calc((100vw - 900px) / 2 + 24px)) !important;
    }
}

/* Mobile (Combined < 768px) */
@media screen and (max-width: 768px) {
    /* Climate */
    #page-climate .measures-header {
        font-size: 24px !important;
        line-height: 33px !important;
        margin-bottom: 20px!important;
        margin-top: 4px;
    }
    #page-climate .measures-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 Column */
        max-width: 100%;
    }
    #page-climate .measure-card h4 {
        font-size: 16px;
        margin-bottom: 10px;
        line-height: 24px;
    }
    #page-climate .measure-card p {
        font-size: 13px;
        line-height: 22px;
        margin-bottom: 0;
    }
    #page-climate .measure-card {
        height: auto;
        padding: 12px 12px 17px;
    }
    #page-climate .measure-card h4::after {
        margin-top: 10px;
    }

    /* Employees */
    #carousel2 .carousel-slide {
        height: 300px;
    }
    /* FIX: Force images to cover the fixed height container */
    #carousel1 .carousel-slide img, #carousel2 .carousel-slide img {
        width: 100% !important; 
        height: 100% !important; /* Override explicit height: auto from earlier rule */
        object-fit: cover !important; /* Override contain */
    }
    
    #page-employees .carousel-nav {
        bottom: 10px;
    }
    #page-employees .carousel-arrow {
        width: 32px;
        height: 32px;
        font-size: 14px;
    }
    #page-overview .strategy-section {
        margin-top: calc(100vw* -60 / 768) !important;
    }
    #page-overview .strategy-section .green-bar {
        top: calc(100vw * 60 / 768) !important;
    }
}

/* Granular Mobile (488px, 480px) */
@media screen and (max-width: 488px) {
    /* Climate */
    #page-climate .measures-header {
        font-size: 32px;
        line-height: 1.2;
    }
    
    /* Employees */
    #carousel1 .carousel-slide, #carousel2 .carousel-slide {
        height: 250px; /* Smaller height for small mobiles */
    }
}

/* Small Mobile (320px - 400px) */
@media screen and (max-width: 400px) {
    /* Climate */
    #page-climate .measure-card {
        padding: 12px 12px 17px;
    }
    #page-climate .measure-card h4 {
        font-size: 14px;
    }
    
    /* Employees */
    #carousel1 .carousel-slide, #carousel2 .carousel-slide {
        height: 220px;
    }
    #page-employees .highlight-special-num {
        font-size: 18px;
    }
}

/* Large Mobile (480px - 488px) */
@media screen and (max-width: 488px) {
    .section-title, .section-title-special {
        font-size: 24px !important;
    }
    
    .comm-left h3 {
        font-size: 28px;
    }
    
    .esg-shelf-item {
        width: 160px;
    }
}

/* Medium Mobile (375px - 400px) */
@media screen and (max-width: 400px) {
    .banner h1 {
        font-size: 24px !important;
    }
    
    .pillar-num {
        font-size: 24px !important;
    }
    
    .pillar-title {
        font-size: 18px !important;
    }
    
    .goal-card h4 {
        font-size: 20px;
    }
    
    /* Adjust highlights grid if needed */
    .highlight-item p {
        font-size: 14px;
    }
}

/* Small Mobile (320px) */
@media screen and (max-width: 320px) {
    .container, .section-center {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    
    .header-top {
        padding: 0 10px;
    }
    
    .section-title, .section-title-special {
        font-size: 20px !important;
    }
    
    .section-desc {
        font-size: 14px !important;
    }
    
    /* Further reduce shelf items */
    .esg-shelf-item {
        width: 160px;
    }
    .esg-shelf-img-wrapper {
        height: 120px;
    }
    
    .comm-left {
        padding: 20px 15px 0 15px;
    }
    #page-overview .strategy-section .green-bar {
        position: relative;
        top: calc(100vw * 120 / 768) !important;
        left: max(40px, calc((100vw - 1200px) / 2 + 40px)) !important;
        font-size: 22px !important;
        margin-bottom: 20px;
        color: #fff; 
        background-color: var(--primary-green);
        display: inline-block;
        padding: 5px 15px;
    }
}

/* History Timeline and Video Section Responsive Fixes */
@media screen and (max-width: 768px) {
    .history-section {
        padding-top: 40px;
    }
    .history-content-box {
        padding: 8px 20px;
        min-height: auto;
    }
    .history-content-title {
        font-size: 16px;
    }
    .history-content-desc {
        font-size: 12px;
    }
    
    .history-content-box::before,
    .history-content-box::after {
        transition: none;
    }

    .history-timeline-container {
        /* Enable smooth mobile swiping */
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
    }
    
    .timeline-item {
        scroll-snap-align: center;
        flex-shrink: 0;
    }

    .video-wrapper {
        border-radius: 8px;
        width: 100%;
        margin: 0 -20px;
        width: calc(100% + 10px); /* Extend video to edges on mobile if desired, or keep rounded */
    }
    .video-wrapper, .video-caption {
        margin-left: 0;
        margin-right: 0;
    }
}

/* --- Mobile Vertical Accordion for ESG Overview --- */
@media screen and (max-width: 768px) {
    .sub-esg-nav {
        top: 48px;
    }
    .container, .section-center {
        padding-left: 12px !important;
        padding-right: 12px !important;
        width: 100%;
        box-sizing: border-box;
        font-size: 13px !important;
    }
    #page-overview .strategy-section {
        margin-top: 80px !important; /* Harmonized with PC 48px to prevent jump */
    }
    #page-overview .section-desc, #page-overview .goal-card li, #page-overview .honors-desc, #page-overview .esg-shelf-desc, #page-overview .goal-highlight, #page-reports .report-name {
        font-size: 13px!important;
    }

    #page-overview .goal-card li .goals-dot {
        min-width: 8px;
        min-height: 8px;
        margin-top: 0;
    }
    #page-overview .goal-card h4 {
        font-size: 16px;
        margin-bottom: 5px;
    }
    #page-overview .strategy-section .green-bar {
        position: absolute;
        top: -24px !important; /* Reset vertical jump */
        left: 24px !important; /* Static left alignment for small screens */
        font-size: 18px !important;
        margin-bottom: 20px;
        color: #fff; 
        background-color: var(--primary-green);
        display: inline-block;
        padding: 5px 15px;
    }
    
    #page-overview .pillars-container {
        flex-direction: column !important;
        height: auto !important;
        min-height: 500px;
    }
    
    #page-overview .pillar-item {
        flex: 0 0 90px !important;
        width: 100% !important;
        min-width: 100% !important;
        border-bottom: 2px solid rgba(255,255,255,0.2);
        transition: flex 0.5s ease;
    }
    
    #page-overview .pillar-item.active {
        flex: 1 0 350px !important;
    }
    
    #page-overview .pillar-overlay {
        padding: 15px 26px !important;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        align-content: center;
    }
    #page-overview .pillar-item:not(.active) .pillar-overlay-header {
        flex-direction: row;
        align-items: center;
    }
    #page-overview .pillar-item.active .pillar-overlay-header {
        flex-direction: column;
        align-items: unset;
    }
    #page-overview .pillar-item:not(.pillar-item ~ .pillar-item).active .pillar-overlay {
        padding-top: 24px !important;
        padding-right: calc(100vw * 24 / 768) !important;
        padding-bottom: 0;
        padding-left: max(24px, calc((100vw - 768px) / 2 + 24px)) !important;
        max-height: 332px;
    }
    
    #page-overview .pillar-num {
        font-size: 60px !important;
        line-height: 1;
        margin-right: 15px;
        flex: 0 0 auto;
    }
    
    #page-overview .pillar-title {
        writing-mode: horizontal-tb !important;
        font-size: 24px !important;
        text-align: left !important;
        margin-top: 2px !important;
        line-height: 1.2 !important;
        flex: 1 1 auto;
    }
    
    #page-overview .pillar-item.active .pillar-title {
        font-size: 24px !important;
    }
    
    #page-overview .pillar-divider {
        /* width: 100% !important;
        height: 1px !important; */
        margin: 15px 0 10px 0 !important;
        flex: 0 0 100%;
        display: none;
    }
    
    #page-overview .pillar-item.active .pillar-divider {
        display: block;
        flex: unset;
    }
    
    #page-overview .pillar-content {
        width: 100%;
        font-size: 13px !important;
        line-height: 1.6;
        margin-bottom: 15px;
        flex: 0 0 100%;
    }
    
    #page-overview .pillar-sdgs {
        position: absolute !important;
        right: auto !important;
        bottom: auto !important;
        width: auto !important;
        height: auto !important;
        gap: 8px !important;
        margin-top: 10px;
        flex: 0 0 100%;
    }
    #page-overview .pillar-item:not(.active) .pillar-sdgs {
        width: 40px !important;
        height: 40px !important;
        right: 24px !important;
        bottom: 22px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs {
        display: flex !important;
        flex-wrap: wrap;
        margin-top: 0;
        flex: unset;
        min-width: 140px;
        right: 24px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs01 {
        bottom: 6px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs02, #page-overview .pillar-item.active .pillar-sdgs03, #page-overview .pillar-item.active .pillar-sdgs04 {
        bottom: 22px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs02 {
        min-height: 70px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs01, #page-overview .pillar-item.active .pillar-sdgs03 {
        min-height: 140px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs04 {
        min-height: 225px !important;
    }

    #page-overview .sdg-item {
        width: 45px !important;
        height: 45px !important;
        font-size: 9px !important;
    }
    #page-overview .sdg-item .sdg-num {
        font-size: 14px !important;
        margin-bottom: 2px !important;
    }
    #page-overview .timeline-dot {
        width: 16px;
        height: 16px;
    }
    #page-overview .timeline-year {
        font-size: 18px;
    }
    #page-overview .timeline-item:hover .timeline-year, #page-overview .timeline-item.active .timeline-year {
        font-size: 36px;
    }
    #page-overview .timeline-item:hover .timeline-dot::after, .timeline-item.active .timeline-dot::after {
        width: 8px;
        height: 8px;
    }
    #page-overview .timeline-line {
        top: 50px;
    }
    #page-overview .esg-shelf-img-wrapper {
        height: 70%;
    }
    #page-overview .paddlenav-arrow {
        opacity: 0;
        visibility: hidden;
    }


    .pillar-item .pillar-bg01 {
        background: url('../../images/esg/overview-mobile/pillar_overlay_bg01.png') no-repeat;
    }
    .pillar-item.active .pillar-bg01 {
        background: url('../../images/esg/overview-mobile/pillar_bg01.png') no-repeat;
    }
    .pillar-item .pillar-bg02 {
        background: url('../../images/esg/overview-mobile/pillar_overlay_bg02.png') no-repeat;
    }
    .pillar-item.active .pillar-bg02 {
        background: url('../../images/esg/overview-mobile/pillar_bg02.png') no-repeat;
    }
    .pillar-item .pillar-bg03 {
        background: url('../../images/esg/overview-mobile/pillar_overlay_bg03.png') no-repeat;
    }
    .pillar-item.active .pillar-bg03 {
        background: url('../../images/esg/overview-mobile/pillar_bg03.png') no-repeat;
    }
    .pillar-item .pillar-bg04 {
        background: url('../../images/esg/overview-mobile/pillar_overlay_bg04.png') no-repeat;
    }
    .pillar-item.active .pillar-bg04 {
        background: url('../../images/esg/overview-mobile/pillar_bg04.png') no-repeat;
    }

    .pillar-item:not(.active):hover .pillar-bg01 {
        background: url('../../images/esg/overview-mobile/pillar_overlay_active_bg01.png') no-repeat;
    }
    .pillar-item:not(.active):hover .pillar-bg02 {
        background: url('../../images/esg/overview-mobile/pillar_overlay_active_bg02.png') no-repeat;
    }
    .pillar-item:not(.active):hover .pillar-bg03 {
        background: url('../../images/esg/overview-mobile/pillar_overlay_active_bg03.png') no-repeat;
    }
    .pillar-item:not(.active):hover .pillar-bg04 {
        background: url('../../images/esg/overview-mobile/pillar_overlay_active_bg04.png') no-repeat;
    }
    #page-overview .strategy-section::before, #page-overview .strategy-section::after {
        content: none;
    }

    #page-products .products-grid-section {
        padding-bottom: 20px;
    }
    #page-products .standards-section {
        height: 440px !important;
    }
    #page-products .standards-left {
        padding: 0 8px;
    }
    #page-products .standards-section::after {
        background: url('../../images/esg/sustainableProducts-mobile/sustainableProducts_bg.png') no-repeat;
    }
    #page-products .standards-content-mobile-box {
        display: block;
    }
    #page-products .standards-content-line, #page-products .standards-content-logo {
        display: none;
    }
    #page-products .standards-content-desc-br {
        display: none;
    }
    #page-products .product-info h4 {
        font-size: 14px;
    }
    #page-products .product-info p {
        font-size: 12px;
    }

    #page-products .standards-left h3 {
        margin-bottom: 12px !important;
    }
    #page-products .standards-left .standards-left-title {
        font-size: 24px !important;
    }
    #page-products .comm-container {
        grid-template-columns: 1fr !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    #page-products .comm-left {
        padding: 30px 24px 40px 24px !important;
    }
    #page-products .comm-right {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 720 / 600 !important;
    }
    #page-products .comm-left h3 {
        font-size: 24px !important;
    }
    #page-products .comm-left p {
        font-size: 13px !important;
    }
    #page-products .standards-content-desc {
        font-size: 13px !important;
        height: 100% !important;
        line-height: 22px !important;
        width: 100% !important;
    }
    #page-products .standards-content-box {
        padding: 0 24px;
    }
    #page-products .products-grid-item-title::after {
        content: '';
        position: absolute;
        top: 22px;
        z-index: -1;
        display: flex;
        width: 162px;
        height: 6px;
        background: #7DFF85;
        border-radius: 7px;
    }
    #page-products .lowCarbon-title::after {
        width: 108px;
    }
    #page-products .products-grid-item {
        margin-bottom: 24px;
    }
    #page-products .products-grid-title {
        padding-top: 0;
    }
    #page-products .standards-left {
        flex: 0 0 96%;
    }

    #page-supply .highlights-section {
        height: 730px;
    }
    #page-supply .highlights-section::before {
        width: 100%;
        background: url('../../images/esg/sustainableSupplyChain-mobile/highlights_bg.png') no-repeat;
        background-size: cover;
        background-position: center;
    }
    #page-climate .measures-section::before {
        content: none;
    }
    #page-climate .measures-section::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url('../../images/esg/climateChange-mobile/measures_bg.png') no-repeat;
        background-size: cover;
        background-position: center;
    }
    #page-climate .section-climate-global, #page-supply .supplyChain-global {
        padding: 0;
    }

    #page-supply .highlights-header {
        margin-bottom: 20px;
    }
    #page-supply .highlights-list {
        gap: 24px;
    }
    #page-supply .highlights-header h3 {
        font-size: 24px;
    }
    #page-supply .highlight-dot {
        margin-top: 0;
    }
    #page-supply .highlight-item p {
        font-size: 13px;
    }
    #page-supply .highlight-item {
        gap: 8px; 
    }

    #page-employees .section-desc {
        margin-bottom: 0;
        font-size: 13px !important;
    }
    #page-employees .highlights-list {
        gap: 20px;
        padding: 20px 15px;
        margin-bottom: 0;
    }
    #page-employees .highlight-item p {
        display: inline-block;
        font-size: 13px;
        line-height: 22px;
    }

    .section-title, .section-title-special {
        font-size: 24px !important;
    }

    #page-employees .employees-section-title {
        font-size: 18px !important;
        margin-bottom: 10px;
    }
    #page-employees .highlights-info {
        padding: 24px;
    }
    
    #page-reports .reports-sidebar-item {
        font-size: 13px;
    }
    #page-reports .report-item {
        padding: 13px 0;
    }
    #page-reports .report-item::before {
        width: 16px;
        height: 16px;
        left: -25px;
    }
    #page-reports .reports-report-item::before, #page-reports .reports-policy-item::before, #page-reports .reports-report-item.active::before, #page-reports .reports-policy-item.active::before, #page-reports .reports-report-item:hover::before, #page-reports .reports-policy-item:hover::before {
        content: '';
        width: 12px;
        height: 13px;
    }
    #page-reports .report-actions {
        display: none;
    }
    #page-reports .reports-container {
        padding: 15px 0!important;
        gap: 13px;
    }
    #page-reports .reports-sidebar {
        width: max-content;
        gap: 9px;
    }

    #page-employees .highlight-header .highlight-todetail {
        font-size: 13px;
    }
    #page-employees .highlight-content h4 {
        font-size: 18px;
    }
    #page-employees .highlight-item {
        gap: 6px;
    }
    #page-employees .highlight-dot {
        width: 9px;
        height: 9px;
        margin-top: 2px;
    }
    #page-employees .highlight-content p {
        font-size: 12px;
    }
    #page-employees .highlight-header .highlight-todetail::after {
        width: 16px;
        height: 12px;
    }
    #page-employees .highlight-special-num {
        font-size: 16px;
    }

    .section-first-title {
        font-size: 24px !important;
    }
    .section-second-title {
        font-size: 18px !important;
    }
    .section-third-title {
        font-size: 16px !important;
    }
    .section-first-title, .section-second-title {
        margin-bottom: 10px !important;
    }
    .section-desc-special {
        margin-bottom: 15px;
    }
    .esg-shelf-container {
        padding: 10px 0 40px 0;
    }
    .section-mobile-lineHeight {
        line-height: 22px !important;
    }

    .honors-mobile-nav {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
    }
    .honors-mobile-nav .carousel-dot {
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: rgba(0,0,0,0.2);
        cursor: pointer;
        transition: all 0.3s;
    }
    .honors-mobile-nav .carousel-dot.active {
        width: 40px;
        height: 8px;
        border-radius: 4px;
        background: var(--primary-green);
    }
}

@media screen and (min-width: 769px) {
    .honors-mobile-nav {
        display: none;
    }
}

@media screen and (max-width: 360px) {
    #page-overview .strategy-section {
        margin-top: calc(100vw* 65 / 320) !important;
    }
    #page-overview .pillar-num {
        font-size: 40px !important;
    }
    #page-overview .pillar-title, #page-overview .pillar-item.active .pillar-title {
        font-size: 16px !important;
    }
    #page-overview .pillar-item:not(.active) .pillar-num {
        margin-right: 8px;
    }
    #page-overview .pillar-item:not(.active) .pillar-title {
        margin-top: 0 !important;
    }
    #page-overview .pillar-item:not(.active) .pillar-sdgs {
        width: 26px !important;
        height: 26px !important;
        right: 24px !important;
        bottom: 32px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs {
        min-width: 130px;
    }
    #page-overview .pillar-content {
        font-size: 12px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs01, #page-overview .pillar-item.active .pillar-sdgs03 {
        min-height: 130px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs02 {
        min-height: 65px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs04 {
        right: 10px !important;
        bottom: 16px !important;
    }
}

@media screen and (max-width: 320px) {
    #page-overview .pillar-content {
        font-size: 10px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs {
        min-width: 110px;
    }
    #page-overview .pillar-item.active .pillar-sdgs01, #page-overview .pillar-item.active .pillar-sdgs03 {
        min-height: 110px !important;
    }
    
    #page-overview .pillar-item.active .pillar-sdgs02 {
        min-height: 55px !important;
    }
    #page-overview .pillar-item.active .pillar-sdgs04 {
        min-height: 200px !important;
    }
}