/*==================================

PRODUCT DETAILS

===================================*/

#productDetails{

    padding:100px 0 140px;

}

#productHero{

    height:500px;

    position:relative;

    display:flex;
    align-items:center;

}

#productHero .overlay{

    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(0,0,0,.45),
        rgba(0,0,0,.15)
    );

}

.hero-content{

    position:relative;
    z-index:2;

    color:#fff;

}

.hero-tag{

    display:inline-block;

    padding:8px 18px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    margin-bottom:20px;

}

.hero-content h1{

    font-size:64px;

    color:#fff;

    margin-bottom:20px;

}

.hero-content p{

    max-width:650px;

    opacity:.9;

    margin-bottom:30px;

}

.hero-breadcrumb{

    display:flex;
    gap:12px;
}

.hero-breadcrumb a,
.hero-breadcrumb span{

    color:#fff;

}

.breadcrumb{

    display:flex;

    align-items:center;

    gap:12px;

    margin-bottom:60px;

    font-size:15px;

}

.breadcrumb a{

    color:#666;

    transition:.3s;

}

.breadcrumb a:hover{

    color:var(--primary-color);

}

.product-wrapper{

    display:grid;

    grid-template-columns:1.05fr .95fr;

    gap:90px;

    align-items:start;

}


.product-gallery{

    display:grid;

    grid-template-columns:110px 1fr;

    gap:25px;

    position:sticky;

    top:120px;

}

.gallery-sidebar{

    display:flex;

    flex-direction:column;

    align-items:center;

}

.gallery-nav{

    width:42px;

    height:42px;

    border:none;

    border-radius:50%;

    background:var(--primary-color);

    color:#fff;

    cursor:pointer;

    margin:12px 0;

}

.thumbnail-list{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.thumb{

    width:90px;

    height:90px;

    padding:10px;

    background:#F8F8F8;

    border:2px solid transparent;

    cursor:pointer;

    transition:.35s;

    border-radius:14px;

}

.thumb.active{

    border-color:var(--primary-color);

}

.thumb img{

    width:100%;

    height:100%;

    object-fit:contain;

}

.main-image{

    background:#F8F8F8;

    display:flex;

    align-items:center;

    justify-content:center;

    min-height:650px;

    overflow:hidden;

}

.main-image img{

    width:80%;

    transition:.35s;

}

.main-image:hover img{

    transform:scale(1.08);

}


/*========================

RIGHT

========================*/

.product-category{

    display:inline-block;

    color:var(--primary-color);

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:18px;

    text-transform:uppercase;

}

.product-content h1{

    font-size:58px;

    line-height:1.15;

    margin-bottom:25px;

}

.product-description{

    color:#666;

    line-height:1.9;

    margin-bottom:35px;

}

.product-features{

    margin:0;

    padding-left:22px;

}

.product-features li{

    margin-bottom:14px;

    color:#444;

}

.product-buttons{

    display:flex;

    gap:18px;

    margin-top:45px;

}

.btn-outline{

    background:#fff;

    color:var(--primary-color);

    border:2px solid var(--primary-color);

}

@media(max-width:991px){

.product-wrapper{

    grid-template-columns:1fr;

    gap:60px;

}

.product-gallery{

    position:relative;

    top:auto;

}

.product-content h1{

    font-size:42px;

}

.product-buttons{

    flex-direction:column;

}

.thumbnail-list{

    justify-content:center;

}

}

.main-image{

    position:relative;

    overflow:hidden;

    cursor:zoom-in;

}

.main-image img{

    transition:.4s ease;

    transform-origin:center center;

}

.thumb{

    border-radius:12px;

}

.thumb:hover{

    border-color:var(--primary-color);

    transform:translateY(-4px);

}

.image-count{

    margin-top:18px;

    text-align:center;

    font-size:15px;

    color:#666;

}

/*==================================

ACCORDION

===================================*/

.product-accordion{

    margin-top:60px;

}

.accordion-item{

    border-top:1px solid rgba(0,0,0,.08);

}

.accordion-item:last-child{

    border-bottom:1px solid rgba(0,0,0,.08);

}

.accordion-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:24px 0;

    cursor:pointer;

}

.accordion-header h4{

    font-size:20px;

    margin:0;

}

.accordion-icon{

    font-size:30px;

    transition:.35s;

    color:var(--primary-color);

}

.accordion-content{

    max-height:0;

    overflow:hidden;

    transition:max-height .45s ease;

}

.accordion-content p{

    color:#666;

    line-height:1.9;

    padding-bottom:25px;

}

.accordion-content ul{

    padding-left:18px;

    padding-bottom:25px;

}

.accordion-content li{

    margin-bottom:12px;

    color:#666;

}

.accordion-content table{

    width:100%;

    border-collapse:collapse;

    margin-bottom:25px;

}

.accordion-content td{

    padding:15px 0;

    border-bottom:1px solid rgba(0,0,0,.08);

}

.accordion-content td:last-child{

    text-align:right;

    font-weight:600;

}

.accordion-item.active .accordion-content{

    max-height:600px;

}

.accordion-item.active .accordion-icon{

    transform:rotate(45deg);

}

.lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.9);

    display:flex;

    justify-content:center;

    align-items:center;

    visibility:hidden;

    opacity:0;

    transition:.35s;

    z-index:9999;

}

.lightbox.active{

    visibility:visible;

    opacity:1;

}

.lightbox img{

    max-width:90%;

    max-height:90vh;

    width:auto;

    height:auto;

    object-fit:contain;

}

.close-lightbox{

    position:absolute;

    top:35px;

    right:40px;

    color:#fff;

    font-size:50px;

    cursor:pointer;

}

/*==================================

PRODUCT TABS

===================================*/

#productTabs{

    margin-top:100px;

}

.tabs-header{

    display:flex;

    flex-wrap:wrap;

    gap:15px;

    margin-bottom:35px;

}

.tab-btn{

    padding:14px 30px;

    border:none;

    background:#F4F6F8;

    cursor:pointer;

    border-radius:40px;

    font-weight:600;

    transition:.35s;

}

.tab-btn.active{

    background:var(--primary-color);

    color:#fff;

}

.tabs-body{

    background:#fff;

    padding:40px;

    border-radius:20px;

    box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.tab-content{

    display:none;

}

.tab-content.active{

    display:block;

}

#relatedProducts{

    margin-top:120px;

}

.related-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:50px;

}

.related-card{

    text-align:center;

    padding:35px;

    background:#fff;

    border-radius:20px;

    text-decoration:none;

    color:#222;

    transition:.35s;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.related-card:hover{

    transform:translateY(-10px);

}

.related-card img{

    width:170px;

    margin-bottom:25px;

}

#productCTA{

    margin:120px 0;

}

.cta-box{

    background:linear-gradient(135deg,#012A72,#0F4AB8);

    color:#fff;

    text-align:center;

    padding:80px;

}

.cta-box h2{

    color:#fff;

    margin-bottom:20px;

}

.cta-box p{

    max-width:700px;

    margin:0 auto 35px;

    opacity:.9;

}
@media (max-width: 560px) {
  #productHero {
    height: auto;
    min-height: 280px;
    padding: 110px 0 40px;
  }
  .hero-content h1 {
    font-size: clamp(28px, 9vw, 40px);
  }
  .product-gallery {
    grid-template-columns: 1fr;
  }
  .gallery-sidebar {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
  }
  .thumbnail-list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }
  .thumb {
    width: 64px;
    height: 64px;
  }
  .main-image {
    min-height: 280px;
  }
  .gallery-nav {
    display: none;
  }
  .product-content h1 {
    font-size: clamp(26px, 8vw, 36px);
  }
  .related-grid {
    grid-template-columns: 1fr;
  }
  .cta-box {
    padding: 40px 20px;
  }
  .tabs-body {
    padding: 24px 18px;
  }
  .tab-btn {
    padding: 10px 16px;
    font-size: 13px;
  }
}
