/* Scope typography inside the product page space instead of wiping out base styles */
    .product-page-body-wrapper {
        font-family: 'Poppins', sans-serif;
        background: #f8f9fb;
        padding: 60px 20px; /* Moves the layout padding exclusively to the inner contents */
        color: #333;
    }

    .product-container {
        max-width: 1100px;
        margin: auto;
        background: #fff;
        border-radius: 15px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.08);
        padding: 40px;
    }

    .back-btn {
        display: inline-block;
        margin-bottom: 30px;
        padding: 8px 18px;
        background: #b88e2f;
        color: #fff;
        border: none;
        border-radius: 25px;
        cursor: pointer;
        font-size: 14px;
        transition: 0.3s;
    }

    .back-btn:hover {
        background: #000;
    }

    .product-wrapper {
        display: flex;
        gap: 50px;
        align-items: flex-start;
    }

    .product-image {
        flex: 1;
    }

    .product-details {
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .product-details h1 {
        font-size: 28px;
        font-weight: 600;
        margin-bottom: 15px;
    }

    .accent-line {
        width: 60px;
        height: 4px;
        background: #b88e2f;
        margin-bottom: 25px;
        border-radius: 3px;
    }

    .info p {
        margin-bottom: 12px;
        font-size: 15px;
        color: #555;
    }

    .info b {
        color: #000;
    }

    .enquiry-btn {
        margin-top: 30px;
        padding: 12px 25px;
        background: #b88e2f;
        color: #fff;
        border: none;
        border-radius: 30px;
        cursor: pointer;
        font-size: 15px;
        transition: 0.3s;
        width: fit-content;
    }

    .enquiry-btn:hover {
        background: #000;
    }

    .related-section {
        margin-top: 70px;
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
    }

    .related-section h2 {
        font-size: 24px;
        margin-bottom: 30px;
        font-weight: 600;
    }

    .related-grid {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: 25px;
    }

    .related-card {
        background: #fff;
        padding: 15px;
        border-radius: 12px;
        box-shadow: 0 5px 20px rgba(0,0,0,0.06);
        text-align: center;
        transition: 0.3s;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .related-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 12px 25px rgba(0,0,0,0.1);
    }

    .related-card img {
        width: 100%;
        height: 180px;
        object-fit: cover;
        border-radius: 10px;
        margin-bottom: 10px;
    }

    .related-card h4 {
        font-size: 14px;
        margin-bottom: 12px;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        min-height: 40px;
    }

    .related-card button {
        padding: 8px 15px;
        border: none;
        background: #b88e2f;
        color: #fff;
        border-radius: 25px;
        cursor: pointer;
        transition: 0.3s;
    }

    .related-card button:hover {
        background: #000;
    }

    .carousel {
        position: relative;
        overflow: hidden;
        width: 100%;
        border-radius: 12px;
        background: #000;
    }

    .carousel-track {
        display: flex;
        flex-wrap: nowrap;
        transition: transform 0.4s ease-in-out;
        width: 100%;
    }

    .carousel-item {
        flex: 0 0 100%;
        min-width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .carousel-item img,
    .carousel-item video {
        width: 100%;
        max-height: 450px;
        object-fit: contain;
        border-radius: 12px;
        display: block;
    }

    .carousel-btn {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(0, 0, 0, 0.7);
        color: white;
        border: none;
        width: 40px;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        font-size: 24px;
        z-index: 100;
        border-radius: 50%;
    }

    .prev { left: 15px; }
    .next { right: 15px; }

    .description h3 {
        font-size: 18px;
        margin-bottom: 10px;
        color: #000;
    }

    .description p {
        font-size: 14px;
        color: #555;
        line-height: 1.6;
    }

    /* Responsive Breakdown Rules */
    @media(max-width:1200px){
        .related-grid{ grid-template-columns: repeat(4,1fr); }
    }
    @media(max-width:992px){
        .related-grid{ grid-template-columns: repeat(3,1fr); }
    }
    @media(max-width:900px){
        .product-wrapper { flex-direction: column; }
        .carousel-item img, .carousel-item video { max-height: 300px; }
    }
    @media(max-width:768px){
        .related-grid{ grid-template-columns: repeat(2,1fr); }
    }
    @media(max-width:500px){
        .related-grid{ grid-template-columns: repeat(1,1fr); }
    }