/* ==========================================
   SINGLE PRODUCT PAGE
========================================== */

.single-product-page{
    padding:70px 0;
}

.single-grid{
    display:grid;
    grid-template-columns:520px 1fr;
    gap:60px;
    align-items:start;
}

@media(max-width:991px){

.single-grid{
    grid-template-columns:1fr;
}

}

/* ==========================================
   GALLERY
========================================== */

.product-gallery{
    position:sticky;
    top:30px;
}

.main-image{
    width:100%;
    margin-bottom:20px;
}

.main-image img{
    width:100%;
    display:block;
    border-radius:18px;
    background:#fff;
    border:1px solid #eee;
    box-shadow:0 12px 35px rgba(0,0,0,.12);
}

/* Thumbnails */

.thumb-gallery{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.thumb-img{
    width:90px !important;
    height:90px !important;
    object-fit:cover;
    border-radius:10px;
    border:2px solid #ddd;
    cursor:pointer;
    transition:.25s;
    box-shadow:none !important;
}

.thumb-img:hover{
    transform:translateY(-3px);
    border-color:#173f90;
}

.active-thumb{
    border-color:#173f90 !important;
}

/* ==========================================
   RIGHT SIDE
========================================== */

.product-summary h1{

    font-size:42px;
    line-height:1.3;
    font-weight:700;
    margin-bottom:25px;

}

.price{

    font-size:34px;
    color:#e29b00;
    font-weight:700;
    margin-bottom:25px;

}

.price del{

    color:#999;
    font-size:24px;
    margin-right:15px;

}

.price ins{

    text-decoration:none;

}

.trust-box{

    background:#f8fbff;
    border:1px solid #d9e4ff;
    border-radius:18px;
    padding:25px;
    margin-bottom:30px;

}

.trust-item{

    margin:10px 0;
    font-size:17px;

}

.features{

    margin-bottom:35px;

}

.features p{

    margin:10px 0;
    font-size:18px;

}

/* Buttons */

.quantity{

    margin-bottom:20px;

}

.single_add_to_cart_button{

    background:#173f90 !important;
    color:#fff !important;
    padding:16px 35px !important;
    border-radius:12px !important;
    border:none !important;
    font-size:18px !important;
    font-weight:600;

}

.single_add_to_cart_button:hover{

    background:#0f2e72 !important;

}

/* ==========================================
   DESCRIPTION
========================================== */

.product-bottom{

    margin-top:80px;

}

.product-description-section{

    background:#fff;
    border-radius:20px;
    padding:45px;
    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.product-description-section h2{

    font-size:34px;
    color:#173f90;
    margin-bottom:25px;

}

.product-description-section p{

    line-height:1.9;
    font-size:18px;
    margin-bottom:20px;

}

.product-description-section ul{

    margin-left:25px;

}

.product-description-section li{

    margin:12px 0;
    font-size:18px;

}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:768px){

.single-product-page{

    padding:40px 0;

}

.product-summary h1{

    font-size:30px;

}

.price{

    font-size:28px;

}

.thumb-img{

    width:70px !important;
    height:70px !important;

}

.product-description-section{

    padding:25px;

}

.product-description-section h2{

    font-size:28px;

}

}.product-summary{

position:sticky;

top:120px;

align-self:start;

}.single_add_to_cart_button,
.buy-now-button{

background:#1d4599 !important;

color:#fff !important;

border-radius:12px !important;

padding:16px 32px !important;

font-size:18px !important;

font-weight:600 !important;

transition:.3s;

}

.single_add_to_cart_button:hover,
.buy-now-button:hover{

background:#f4a100 !important;

color:#000 !important;

transform:translateY(-2px);

}.quantity input{

width:80px;

height:48px;

border-radius:10px;

border:2px solid #ddd;

text-align:center;

font-size:18px;

margin-right:15px;

}.product-bottom{

margin-top:80px;

}

.product-description-section{

background:#fff;

padding:50px;

border-radius:20px;

box-shadow:0 10px 35px rgba(0,0,0,.08);

}

.product-description-section h2{

font-size:38px;

margin-bottom:30px;

color:#163c8c;

}.related.products{

margin-top:80px;

}

.related.products > h2{

font-size:38px;

text-align:center;

margin-bottom:40px;

color:#163c8c;

font-weight:700;

}

.related.products ul.products{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

padding:0;

}

.related.products li.product{

background:#fff;

border-radius:18px;

overflow:hidden;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.35s;

list-style:none;

padding-bottom:20px;

}

.related.products li.product:hover{

transform:translateY(-8px);

}

.related.products img{

width:100%;

display:block;

}

.related.products .price{

font-size:22px;

margin:15px 20px;

}

.related.products .button{

display:inline-block;

margin:0 20px;

background:#1d4599;

color:#fff;

padding:12px 24px;

border-radius:10px;

text-decoration:none;

}

@media(max-width:992px){

.related.products ul.products{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:576px){

.related.products ul.products{

grid-template-columns:1fr;

}

}/* =========================================
   RELATED PRODUCTS
========================================= */

.related-products-section {
    padding: 70px 0 90px;
    background: #f8f9fc;
}

.related-products-section .container {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    box-sizing: border-box;
}


/* =========================================
   HEADER
========================================= */

.related-products-header {
    text-align: center;
    margin-bottom: 42px;
}

.related-products-header span {
    display: block;
    color: #d4a017;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 2px;
    margin-bottom: 8px;
}

.related-products-header h2 {
    margin: 0 0 10px;
    color: #0d2d73;
    font-size: 42px;
    line-height: 1.2;
    font-weight: 800;
}

.related-products-header p {
    margin: 0;
    color: #666;
    font-size: 16px;
}


/* =========================================
   PRODUCTS GRID
========================================= */

.related-products-wrapper ul.products {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    display: grid !important;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 26px !important;

    list-style: none !important;
}


/* =========================================
   PRODUCT CARD
========================================= */

.related-products-wrapper ul.products li.product {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 0 22px !important;

    background: #fff;

    border: 1px solid #e8edf5;
    border-radius: 18px;

    overflow: hidden;

    box-shadow: 0 10px 30px rgba(0,0,0,0.07);

    display: flex !important;
    flex-direction: column !important;

    transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

.related-products-wrapper ul.products li.product:hover {
    transform: translateY(-6px);

    box-shadow:
        0 18px 40px rgba(13,45,115,0.14);
}


/* =========================================
   PRODUCT IMAGE
========================================= */

.related-products-wrapper ul.products li.product a.woocommerce-LoopProduct-link {
    display: block;

    width: 100%;

    margin: 0 !important;
}

.related-products-wrapper ul.products li.product img {
    width: 100% !important;
    height: 300px !important;

    object-fit: cover !important;
    object-position: center !important;

    display: block;

    margin: 0 !important;

    transition: transform 0.4s ease;
}

.related-products-wrapper ul.products li.product:hover img {
    transform: scale(1.03);
}


/* =========================================
   PRODUCT TITLE
========================================= */

.related-products-wrapper ul.products li.product .woocommerce-loop-product__title {
    color: #171717;

    font-size: 18px !important;
    line-height: 1.45 !important;

    font-weight: 700 !important;

    margin: 18px 18px 12px !important;

    min-height: 78px;

    padding: 0 !important;

    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;

    overflow: hidden;
}


/* =========================================
   PRICE
========================================= */

.related-products-wrapper ul.products li.product .price {
    margin: auto 18px 18px !important;

    min-height: 30px;

    display: flex;
    align-items: center;
    gap: 10px;

    color: #d4a017 !important;

    font-size: 20px !important;
    font-weight: 800 !important;
}

.related-products-wrapper ul.products li.product .price del {
    color: #999 !important;

    font-size: 16px !important;

    opacity: 1 !important;
}

.related-products-wrapper ul.products li.product .price ins {
    color: #d4a017 !important;

    text-decoration: none !important;

    font-weight: 800 !important;
}


/* =========================================
   ADD TO CART
========================================= */

.related-products-wrapper ul.products li.product a.button {
    margin: 0 18px !important;

    width: calc(100% - 36px) !important;

    min-height: 50px;

    padding: 0 15px !important;

    display: flex !important;

    align-items: center;
    justify-content: center;

    box-sizing: border-box;

    background: linear-gradient(
        135deg,
        #0d2d73,
        #1747b8
    ) !important;

    color: #fff !important;

    border: none !important;
    border-radius: 10px !important;

    font-size: 16px !important;
    font-weight: 700 !important;

    text-decoration: none !important;

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.related-products-wrapper ul.products li.product a.button:hover {
    color: #fff !important;

    transform: translateY(-2px);

    box-shadow:
        0 10px 22px rgba(13,45,115,0.25);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .related-products-wrapper ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 22px !important;
    }

    .related-products-wrapper ul.products li.product img {
        height: 270px !important;
    }

}


/* =========================================
   SMALL TABLET
========================================= */

@media (max-width: 800px) {

    .related-products-section {
        padding: 55px 0 70px;
    }

    .related-products-wrapper ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px !important;
    }

    .related-products-wrapper ul.products li.product img {
        height: 250px !important;
    }

    .related-products-wrapper ul.products li.product
    .woocommerce-loop-product__title {
        font-size: 16px !important;
        min-height: 70px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .related-products-section {
        padding: 45px 0 60px;
    }

    .related-products-section .container {
        padding: 0 12px;
    }


    /* Header */

    .related-products-header {
        margin-bottom: 28px;
    }

    .related-products-header span {
        font-size: 11px;
        letter-spacing: 1.5px;
    }

    .related-products-header h2 {
        font-size: 30px;
    }

    .related-products-header p {
        font-size: 14px;
    }


    /* 2 Columns */

    .related-products-wrapper ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 14px !important;
    }


    /* Card */

    .related-products-wrapper ul.products li.product {
        border-radius: 14px;

        padding-bottom: 14px !important;

        box-shadow:
            0 6px 18px rgba(0,0,0,0.07);
    }


    /* Image */

    .related-products-wrapper ul.products li.product img {
        width: 100% !important;

        height: 190px !important;

        object-fit: cover !important;
    }


    /* Title */

    .related-products-wrapper ul.products li.product
    .woocommerce-loop-product__title {

        font-size: 14px !important;

        line-height: 1.4 !important;

        margin: 12px 12px 8px !important;

        min-height: 59px;

        -webkit-line-clamp: 3;
    }


    /* Price */

    .related-products-wrapper ul.products li.product .price {

        margin: auto 12px 12px !important;

        min-height: 25px;

        gap: 5px;

        font-size: 15px !important;
    }

    .related-products-wrapper ul.products li.product .price del {
        font-size: 12px !important;
    }


    /* Button */

    .related-products-wrapper ul.products li.product a.button {

        width: calc(100% - 24px) !important;

        margin: 0 12px !important;

        min-height: 42px;

        padding: 0 8px !important;

        border-radius: 8px !important;

        font-size: 13px !important;
    }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 380px) {

    .related-products-wrapper ul.products {
        gap: 10px !important;
    }

    .related-products-wrapper ul.products li.product img {
        height: 170px !important;
    }

    .related-products-wrapper ul.products li.product
    .woocommerce-loop-product__title {

        font-size: 13px !important;

        margin-left: 10px !important;
        margin-right: 10px !important;
    }

    .related-products-wrapper ul.products li.product .price {
        margin-left: 10px !important;
        margin-right: 10px !important;
    }

    .related-products-wrapper ul.products li.product a.button {
        width: calc(100% - 20px) !important;

        margin-left: 10px !important;
        margin-right: 10px !important;

        font-size: 12px !important;
    }

}/* =========================================
   RELATED PRODUCTS - PERFECT BOTTOM ALIGN
========================================= */

.related-products-wrapper ul.products li.product {
    display: flex !important;
    flex-direction: column !important;
}

/* Product link/title area */
.related-products-wrapper ul.products li.product
.woocommerce-loop-product__link {
    display: block;
}

/* Fixed title area */
.related-products-wrapper ul.products li.product
.woocommerce-loop-product__title {
    min-height: 105px !important;
    margin-bottom: 10px !important;
}

/* Price stays at same position */
.related-products-wrapper ul.products li.product .price {
    margin-top: auto !important;
    margin-bottom: 18px !important;
    min-height: 30px !important;
}

/* Button stays at bottom */
.related-products-wrapper ul.products li.product a.button {
    margin-top: 0 !important;
}@media (max-width: 600px) {

    .related-products-wrapper ul.products li.product
    .woocommerce-loop-product__title {
        min-height: 252px !important;
    }

    .related-products-wrapper ul.products li.product .price {
        margin-top: auto !important;
        margin-bottom: 12px !important;
    }

    .related-products-wrapper ul.products li.product a.button {
        margin-top: 0 !important;
    }

}/* =========================================
   PRODUCT DESCRIPTION - CLEAN & READABLE
========================================= */

.product-description-section {
    max-width: 1100px;
    margin: 60px auto;
    padding: 45px 55px;

    background: #ffffff;

    border-radius: 20px;

    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.06);

    box-sizing: border-box;
}


/* Main Heading */

.product-description-section > h2 {
    margin: 0 0 35px;

    color: #0d2d73;

    font-size: 34px;
    line-height: 1.25;

    font-weight: 800;

    text-align: left;
}


/* Description Content */

.product-description-section .description-content,
.product-description-section {
    color: #333;
}


/* Paragraph */

.product-description-section p {
    margin: 0 0 18px;

    color: #333;

    font-size: 17px;

    line-height: 1.75;

    font-weight: 400;
}


/* Headings inside description */

.product-description-section h3 {
    margin: 30px 0 14px;

    color: #0d2d73;

    font-size: 25px;

    line-height: 1.4;

    font-weight: 700;
}

.product-description-section h4 {
    margin: 24px 0 12px;

    color: #0d2d73;

    font-size: 21px;

    line-height: 1.4;

    font-weight: 700;
}


/* Strong / Bold */

.product-description-section strong,
.product-description-section b {
    font-weight: 700;
    color: #222;
}


/* Lists */

.product-description-section ul,
.product-description-section ol {
    margin: 15px 0 25px;

    padding-left: 28px;
}

.product-description-section li {
    margin-bottom: 10px;

    color: #333;

    font-size: 17px;

    line-height: 1.7;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 800px) {

    .product-description-section {
        margin: 45px 20px;
        padding: 35px 30px;
    }

    .product-description-section > h2 {
        font-size: 30px;
    }

    .product-description-section p,
    .product-description-section li {
        font-size: 16px;
        line-height: 1.7;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .product-description-section {

        margin: 35px 12px;

        padding: 28px 20px;

        border-radius: 14px;

        box-shadow:
            0 6px 22px rgba(0, 0, 0, 0.05);
    }


    /* Heading */

    .product-description-section > h2 {

        margin-bottom: 25px;

        font-size: 26px;

        line-height: 1.3;

        text-align: left;
    }


    /* Description */

    .product-description-section p {

        margin-bottom: 15px;

        font-size: 16px;

        line-height: 1.65;

        font-weight: 400;
    }


    /* Inside headings */

    .product-description-section h3 {

        margin-top: 25px;

        margin-bottom: 12px;

        font-size: 21px;

        line-height: 1.4;
    }

    .product-description-section h4 {

        margin-top: 20px;

        margin-bottom: 10px;

        font-size: 18px;

        line-height: 1.4;
    }


    /* Lists */

    .product-description-section ul,
    .product-description-section ol {

        padding-left: 23px;

        margin-top: 12px;
        margin-bottom: 20px;
    }

    .product-description-section li {

        font-size: 15px;

        line-height: 1.6;

        margin-bottom: 8px;
    }

}


/* =========================================
   VERY SMALL MOBILE
========================================= */

@media (max-width: 380px) {

    .product-description-section {

        margin-left: 10px;
        margin-right: 10px;

        padding: 24px 16px;
    }

    .product-description-section > h2 {
        font-size: 24px;
    }

    .product-description-section p {
        font-size: 15px;
        line-height: 1.6;
    }

    .product-description-section h3 {
        font-size: 20px;
    }

}