@media (max-width: 768px) {
    .product-hero {
        padding: 32px 16px; /* Safer, tighter padding */
        width: 100%;
        max-width: 100vw;
        overflow: hidden; /* Hard stop for anything trying to break out */
    }

    .product-hero-grid {
        grid-template-columns: 1fr;
        gap: 32px;
        width: 100%;
    }

    /* 1. Typography Bounds */
    .product-hero-title {
        font-size: clamp(
            26px,
            8vw,
            32px
        ); /* Scales perfectly to the screen size */
        line-height: 1.2;
        word-wrap: break-word; /* Prevents long words from forcing horizontal scroll */
        max-width: 100%;
    }

    /* 2. Button Bounds */
    .product-hero-ctas {
        display: flex;
        flex-direction: column; /* Stacks buttons cleanly */
        gap: 12px;
        width: 100%;
    }
    .btn-primary,
    .btn-outline {
        width: 100%;
        text-align: center;
        padding: 14px 10px;
        box-sizing: border-box;
    }

    /* 3. Stat Bounds */
    .product-hero-stats {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px 12px;
        margin-top: 24px;
        padding-top: 24px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        width: 100%;
    }
    .stat-pill {
        text-align: left;
        border-left: 2px solid #b8860b;
        padding-left: 12px;
    }

    /* 4. The Strictly Contained Swipe Carousel */
    .product-hero-right {
        width: 100%;
        max-width: 100%;
        margin: 0; /* Stripped the negative margins */
    }
    .shade-grid {
        display: flex;
        flex-wrap: nowrap;
        overflow-x: auto;
        gap: 12px;
        padding-bottom: 16px;
        -webkit-overflow-scrolling: touch; /* Smooth iOS momentum scrolling */
        scrollbar-width: none;
        width: 100%;
    }
    .shade-grid::-webkit-scrollbar {
        display: none;
    }

    /* Show all cards in mobile */
    .shade-card:nth-child(8),
    .shade-card:nth-child(7) {
        display: block;
    }

    .shade-card {
        flex: 0 0 calc(30% - 8px);
        aspect-ratio: 1; /* Keeps them perfectly square automatically */
        height: auto;
        scroll-snap-align: start;
    }
    .shade-label {
        font-size: 9px;
        padding: 6px 4px;
        white-space: normal; /* Allows text to wrap inside the box */
    }

    /* -- Modal Mobile Adjustments -- */
    .modal-content {
        width: 95%; /* Use almost the whole screen */
        max-height: 90vh; /* Prevents modal from being taller than the screen */
        overflow-y: auto; /* Allows scrolling INSIDE the modal if text is long */
    }
    .modal-image {
        min-height: 200px; /* Shorter image so text is visible immediately */
    }
    .modal-details {
        padding: 24px 20px; /* Tighter padding */
    }
    .modal-title {
        font-size: 20px; /* Slightly smaller title */
    }
    .modal-desc {
        font-size: 12px;
        margin-bottom: 20px;
    }
    .modal-actions {
        flex-direction: column; /* Stack the buttons on mobile */
        gap: 10px;
    }
    .modal-btn-primary,
    .modal-btn-secondary {
        width: 100%; /* Full width tap targets */
        padding: 14px 0; /* Taller buttons for thumbs */
    }

    /* Move the close button so it doesn't overlap important image details */
    .modal-close {
        top: 12px;
        right: 12px;
        background: rgba(
            0,
            0,
            0,
            0.6
        ); /* Make it darker so it's visible on bright images */
    }

    .trust-bar {
        padding: 32px 16px; /* Restores standard padding */
    }

    .trust-inner {
        display: grid;
        grid-template-columns: 1fr 1fr; /* Creates 2 equal columns */
        gap: 16px;
        justify-content: center;
    }

    .trust-item {
        background: rgba(0, 0, 0, 0.15); /* Premium card background */
        padding: 12px;
        border-radius: 8px;
        align-items: flex-start; /* Aligns icons to the top of multi-line text */
    }


    .trust-item:last-child:nth-child(odd) {
        grid-column: 1 / -1;
        justify-content: center;
        margin: 0 auto;
        width: 100%;
        max-width: 280px; /* Prevents it from stretching awkwardly wide */
    }
}

/* ── SMALL MOBILE (Max 480px) ── */
@media (max-width: 480px) {
    /* If the screen is super narrow, drop the shades to 3 columns so they don't get too tiny */
    .shade-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    /* Hide the 8th shade so the grid stays a perfect rectangle (3x2) */
    .shade-card:nth-child(8),
    .shade-card:nth-child(7) {
        display: none;
    }

    .trust-inner {
        grid-template-columns: 1fr; /* Drops to 1 column if the phone is extremely narrow */
    }
    
    /* Reset the 5th item since it's now a single column list */
    .trust-item:last-child:nth-child(odd) {
        max-width: 100%;
        justify-content: flex-start;
    }
}
