*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins',sans-serif;
}
body{
  background:#ffffff;
  color:#2c2c2c;
}
.navigation_sec {
    text-align: center;
    margin-top: 2rem;
}
.container{
  max-width:1352px;
  margin:40px auto;
  display:grid;
  grid-template-columns:80px 1fr 1fr;
  gap:60px;
  align-items:start; 
}
.container > div {
  display:flex;
  flex-direction:column;
}
.thumbs {
  display:flex;
  flex-direction:column;
  gap:12px;
  cursor:pointer;
  justify-content:flex-start;
  height:100%; 
}

.thumbs{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  cursor: pointer;
}
.thumbs img{
  width:95px;
  height:100px;
  object-fit:cover;
  border-radius:8px;
}
.arrow{
  width:28px;
  height:28px;
  border:1px solid #ccc;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
}
.main {
  background:ghostwhite;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:650px; 
  overflow:hidden;
}
.main img {
  height:100%;      
  width:100%;
  object-fit:contain;
  transition: opacity 0.4s ease, transform 0.3s ease; 
  opacity: 1;
}
.main img.fade-out {
  opacity: 0;       
  transform: scale(0.95); 
}
.recommend-list {
  display:flex;
  overflow-x:auto;
  scroll-behavior:smooth;
  gap:32px;
}
.recommend-list::-webkit-scrollbar {
  display:none; 
}
.brand{
  font-size:12px;
  letter-spacing:1px;
  color:#7a7a7a;
}
.title{
  font-size:21px;
  font-weight:500;
  margin:8px 0 16px;
}
.price-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.price-row .price{
  font-size:24px;
  font-weight:500;
}
.old{
  font-size:14px;
  text-decoration:line-through;
  color:red;
}
.discount{
  font-size:12px;
  background:#e6efd0;
  padding:2px 8px;
  border-radius:12px;
}
.desc{
  font-size:14px;
  line-height:1.7;
  color:#666;
  margin-bottom:26px;
}
.product-actions {
    display: flex;
    align-items: center; 
    gap: 15px;          
}
.quantity-selector {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #e0e0e0;
    border-radius: 50px;     
    padding: 8px 15px;
    width: 120px;
    height: 45px;          
    background: #fff;
}
.qty-btn {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
    color: #333;
}
.qty-number {
    font-size: 16px;
    font-weight: 500;
}
.wishlist-btn {
    width: 45px;             
    height: 45px;
    border-radius: 50%;      
    border: 1px solid #e0e0e0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
}
.wishlist-btn:hover {
    background-color: #f9f9f9;
    border-color: #ccc;
}
.heart-icon {
    font-size: 30px;
    color: #333;
    line-height: 1;
}
.heart {
  width:44px;
  height:44px;
  border:1px solid #ccc; 
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:27px;
  cursor: pointer;
  color:#000; 
  transition: color 0.3s;
}
.heart.active {
  color:red; 
}
.wishlist-btn.active {
    border-color: #e74c3c;
    background-color: #fdf2f2;
}
.qty-number {
    transition: transform 0.1s ease;
}
.qty-btn:active {
    transform: scale(0.9);
}
.buttons{
  display:flex;
  gap:14px;
  margin-bottom:16px;
}
.add{
  flex:1;
  background:black;
  color:#fff;
  border:none;
  padding:14px 0;
  border-radius:30px;
  font-size:14px;
  cursor: pointer;
}
.buy{
  flex:1;
  background:#ffffff;
  border:1px solid #3b2d46;
  padding:14px 0;
  border-radius:30px;
  font-size:14px;
  cursor: pointer;
}
.ship{
  font-size:12px;
  color:#777;
  margin-bottom:26px;
}
 .features {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 20px 0;
  }
  .feature-item {
    text-align: center;
    max-width: 150px;
  }
  .feature-item img {
    height: 50px;
    margin-bottom: -6px;
  }
  .feature-item p {
    font-size: 14px;
    font-weight: 600;
  }
  @media(max-width: 768px){
    .features {
      flex-direction: column;
      gap: 20px;
    }
  }
/* .faq-box{
      margin: 80px auto;
    border: 1.5px solid #000;
    border-radius: 16px;
    padding: 70px;
    width: 63%;
    background-color: lightblue;

} */
/* .faq-box {
    width: 40%;
    max-width: 1200px;
    margin: 90px auto;
    border: 1.5px solid #000;
    border-radius: 16px;
    padding: 90px;
    background-color: lightblue;
    box-sizing: border-box;
} */
.faq-box {
    margin: 30px auto;
    border: 1.5px solid #000;
    border-radius: 16px;
    padding: 69px;
    width: 43%;
    background-color: white;
}
.faq-inner{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:55px;
}
.faq-left h2{
  font-size:28px;
  font-weight:500;
}
.faq-right{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.faq-item{
  border-bottom:1px solid #e5e5e5;
  padding-bottom:16px;
}
.faq-question{
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  font-size:14px;
  font-weight:500;
}
.faq-icon{
  font-size:18px;
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
  font-size:14px;
  color:#666;
  line-height:1.7;
  margin-top:12px;
}
.faq-item.active .faq-answer{
  max-height:300px;
}
.product-accordion {
  max-width: 1200px;
  margin: 40px auto;
}
.acc-item {
  border-bottom: 1px solid #e5e5e5;
}
.acc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 32px;
  padding: 12px 0;
}
.acc-header .icon {
  font-size: 18px;
  color: #555;
  font-family: Arial, sans-serif; 
  transition: transform 0.3s;
}
.acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
  font-size: 14px;
  line-height: 1.7;
  color: #666;
  padding: 0;
  display: block;
  width: 100%;
  box-sizing: border-box; 
}
.recommend{
  max-width:1200px;
  margin:80px auto 100px;
  padding-left:28px;
}
.recommend-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:40px;
}
.recommend-head h2{
  font-size:36px;
  font-weight:400;
}
.nav-arrows span{
  width:36px;
  height:36px;
  border:1px solid #ccc;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  cursor:pointer;
}
.recommend-list {
  display: flex;        
  overflow-x: auto;    
  scroll-behavior: smooth;
  gap: 10px;
  padding: 10px 0;
}
/* .card {
  position: relative;
  width: calc((1200px - (32px * 3)) / 4); 
  flex-shrink: 0;   
}
.card-img{
  background:#f6f9f3;
  height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:6px;
  overflow:hidden;
}
.card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.badge{
  position:absolute;
  top:14px;
  left:14px;
  font-size:10px;
  padding:4px 10px;
  border:1px solid #ccc;
  border-radius:12px;
  background:#fff;
}
.card-info{
  margin-top:14px;
}
.card-info small{
  font-size:10px;
  color:#999;
  letter-spacing:1px;
}
.card-info h4{
  font-size:14px;
  font-weight:400;
  margin:6px 0;
}
.rating{
  font-size:12px;
  color:#9db25b;
}
.rating span{
  color:#999;
}
.price{
  font-size:14px;
  margin-top:6px;
}
.price del{
  font-size:12px;
  color:#999;
  margin-left:6px;
} */
 .card {
  position: relative;
  cursor: pointer;
  width: calc((1200px - (32px * 3)) / 4);
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
}

/* IMAGE AREA — SAME SIZE FOR ALL */
.card-img {
  background: white;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  overflow: hidden;
  border: 1.5px solid gray;
}

.card-img img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* keeps all images balanced */
}

/* BADGE */
.badge {
  position: absolute;
  top: 14px;
  left: 14px;
  font-size: 10px;
  padding: 4px 10px;
  border: 1px solid #ccc;
  border-radius: 12px;
  background: #fff;
}

/* INFO SECTION */
.card-info {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* CATEGORY */
.card-info small {
  font-size: 10px;
  color: #999;
  letter-spacing: 1px;
}

/* TITLE — ONLY 2 LINES */
.card-info h4 {
  font-size: 14px;
  font-weight: 400;
  margin: 0;
  line-height: 1.4;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 40px;
}

/* RATING */
.rating {
  font-size: 12px;
  color: #9db25b;
}

.rating span {
  color: #999;
}

/* PRICE */
.main_price{
    font-weight: bold;
    font-size: 20px;
    color: black;
}
.price {
    font-size: 14px;
    font-weight: bolder;
    width: 30%;
    height: 25px;
    padding: 3px;
    text-align: center;
    color: #000000;
    border-radius: 0.2rem;
    margin-top: auto;
}

.price del {
  font-size: 12px;
  color: #999;
  margin-left: 6px;
}

.highlight .card-img{
  background:#eaf1d1;
}
.quick-add{
  width:100%;
  background:#3b2d46;
  color:#fff;
  border:none;
  padding:12px 0;
  border-radius:24px;
  margin-top:-24px;
  position:relative;
  z-index:2;
  cursor:pointer;
}
.accordion-images {
  display: flex;
  flex-direction: column;
  gap: 16px; 
  margin-bottom: 16px;
}
.accordion-images .row {
  display: flex;
  gap: 16px; 
}
.accordion-images .row img {
  width: 100%;
  object-fit: cover;
  border-radius: 8px;
}
.accordion-images .row:first-child img {
  width: calc(50% - 8px); 
  height: 250px; 
}
.accordion-images .row:last-child img {
  width: 100%;
  height: 300px; 
}
.side-info {
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.simple-box {
  border: 1.5px solid #000;
  border-radius: 10px;
  padding: 16px 20px;
  background: #fff;
}
.simple-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
}
.simple-icon {
  font-size: 18px;
  transition: transform 0.3s ease;
}
.simple-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  font-size: 14px;
  color: #555;
  margin-top: 10px;
}
.simple-body ul {
  padding-left: 18px;
}
.simple-body li {
  margin-bottom: 8px;
}
.simple-box.active .simple-icon {
  transform: rotate(180deg);
}
/* html, body {
    margin: 0;
    padding: 0;
    width: 100%;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
.footer {
  background: black;
  color: white; 
  padding: 60px 0 30px;
  width: 100vw; 
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.footer-top, 
.footer-middle, 
.footer-bottom {
  max-width: 1200px; 
  margin: 0 auto;    
  padding: 0 20px;   
}
.footer-top{
    display:grid;
    grid-template-columns: repeat(4,1fr);
    gap:60px;
}
.footer-col h4{
    font-size:14px;
    font-weight:500;
    margin-bottom:20px;
}
.footer-middle {
    display: flex;
    flex-direction: column;
    align-items: center;    
    justify-content: center;
    gap: 30px;            
    margin: 60px 0;
}
.footer-col ul{
    list-style:none;
}
.footer-col ul li{
    font-size:13px;
    margin-bottom:10px;
    color:white;
    cursor:pointer;
}
.footer-middle{
    display:flex;
    justify-content:center;
    align-items:center;
    margin:60px 0;
}
.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:12px;
}
.footer-bottom .links span{
    margin:0 12px;
    cursor:pointer;
} */







.tabs-section-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

.tabs-container {
  width: 90%; 
  max-width: 1100px; 
  border: 1px solid #ddd;
  background: #fff;
}

.tabs-header {
  display: flex;
  background: #f1f3f5; 
  border-bottom: 1px solid #ddd;
}

.tab-item {
  flex: 1;
  padding: 15px 5px;
  text-align: center;
  cursor: pointer;
  border-right: 1px solid #ddd;
  color: #666;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s;
}

.tab-item:last-child {
  border-right: none;
}

.tab-item.active {
  background: #fff;
  color: #333;
  font-weight: 600;
}

.tabs-content {
  padding: 30px;
  color: #444;
  line-height: 1.6;
}

.tab-pane {
  display: none; 
}

#description.active {
  display: block;
}

.tab-pane.show {
  display: block;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dashed #eee;
}

.t-icon {
  font-size: 16px;
  opacity: 0.8;
}

/* =========================
   Responsive / Mobile scaling
   ========================= */

@media (max-width: 1024px) {
  .container{
    max-width: 100%;
    padding: 0 18px;
    gap: 28px;
    grid-template-columns: 72px 1fr 1fr;
  }

  .thumbs img{
    width: 72px;
    height: 72px;
  }

  .main{
    height: 520px;
  }
}

@media (max-width: 900px) {
  .container{
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 18px auto;
    padding: 0 16px;
  }

  /* Make thumbs swipe horizontally on mobile */
  .container > .thumbs{
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .thumbs img{
    width: 64px;
    height: 64px;
    flex: 0 0 auto;
  }

  /* Fluid main image */
  .main{
    height: auto;
    max-height: 70vh;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
  }
  .main img{
    width: 100%;
    height: 100%;
  }

  .brand{ font-size: 11px; }
  .title{ font-size: 18px; margin: 8px 0 12px; }
  .price-row .price,
  .main_price{ font-size: 20px; }

  .buttons{
    flex-direction: column;
    gap: 10px;
  }
  .add, .buy{
    width: 100%;
    padding: 14px 0;
  }

  .product-actions{
    justify-content: space-between;
  }
  .quantity-selector{
    width: 140px;
  }

  /* Override earlier mobile rule that sets column */
  .details .features,
  .features{
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    padding: 12px 0;
  }
  .feature-item{
    max-width: none;
    width: calc(50% - 6px);
  }
  .feature-item img{
    height: 56px;
    margin-bottom: 6px;
  }
  .feature-item p{
    font-size: 12px;
  }

  /* Tabs padding tighter */
  .tabs-container{ width: 100%; }
  .tabs-content{ padding: 18px; }

  /* FAQ must be full-width on mobile */
  .faq-box{
    width: 100%;
    padding: 22px 16px;
    margin: 22px auto;
  }
  .faq-inner{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  /* Recommendation list should be swipeable */
  .recommend{
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
    margin: 56px auto 72px;
  }
  .recommend-head h2{
    font-size: 24px;
  }
  .recommend-list{
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 8px;
  }
  .card{
    width: min(78vw, 320px);
    scroll-snap-align: start;
  }
  .card-img{
    height: 220px;
  }
}

@media (max-width: 480px) {
  .container{
    margin: 14px auto;
    padding: 0 12px;
  }

  .container > .thumbs img{
    width: 56px;
    height: 56px;
    border-radius: 10px;
  }

  .title{ font-size: 17px; }
  .desc{ font-size: 13px; }

  .tab-item{
    font-size: 12px;
    padding: 12px 4px;
  }

  .faq-left h2{
    font-size: 22px;
  }
}




/* @media (min-width:1367px){
  .faq-box {
    margin: 30px auto;
    border: 1.5px solid #000;
    border-radius: 16px;
    padding: 69px;
    width: 43%;
    background-color: white;
}
.faq-inner{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:55px;
}
.faq-left h2{
  font-size:28px;
  font-weight:500;
}
.faq-right{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.faq-item{
  border-bottom:1px solid #e5e5e5;
  padding-bottom:16px;
}
.faq-question{
  display:flex;
  justify-content:space-between;
  align-items:center;
  cursor:pointer;
  font-size:14px;
  font-weight:500;
}
.faq-icon{
  font-size:18px;
}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.4s ease;
  font-size:14px;
  color:#666;
  line-height:1.7;
  margin-top:12px;
}
.faq-item.active .faq-answer{
  max-height:300px;
}
} */



@media (min-width:480px) and (max-width:1500px) {

.faq-box {
  width: 100%;
  padding: 40px 16px;
  background: #f9f9fb;
}

/* MAIN WRAPPER */
.faq-inner {
  max-width: 100%;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* LEFT TITLE */
.faq-left h2 {
  font-size: 26px;
  font-weight: 700;
  text-align: left;
  margin-bottom: 10px;
}

/* RIGHT SIDE */
.faq-right {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* FAQ ITEM */
.faq-item {
  background: #ffffff;
  border-radius: 12px;
  padding: 18px 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: 0.3s ease;
}

/* QUESTION ROW */
.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.faq-question span:first-child {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: #111;
}

/* ICON */
.faq-icon {
  font-size: 22px;
  font-weight: 500;
  transition: transform 0.3s ease;
}

/* ANSWER */
.faq-answer {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  margin-top: 12px;
  display: none;
}

/* ACTIVE STATE */
.faq-item.active .faq-answer {
  display: block;
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

/* SMOOTH TOUCH AREA */
.faq-question {
  padding: 6px 0;
}

}


@media (min-width:1500px) and (max-width:1800px) {

.faq-box {
  width: 60%;
  padding: 40px 16px;
  background: #f9f9fb;
}
}




@media (min-width:480px) and (max-width:1300px) {
  .recommend {
    max-width: 100%;
    margin: 80px auto 100px;
    padding-left: 15px;
}
}

@media (min-width:480px) and (max-width:1500px) {

.faq-box {
  width: 100%;
  padding: 40px 16px;
  background: #f9f9fb;
}

/* MAIN WRAPPER */
.faq-inner {
  max-width: 100%;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* LEFT TITLE */
.faq-left h2 {
  font-size: 26px;
  font-weight: 700;
  text-align: left;
  margin-bottom: 10px;
}

/* RIGHT SIDE */
.faq-right {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* FAQ ITEM */
.faq-item {
  background: #ffffff;
  border-radius: 12px;
  padding: 18px 18px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  transition: 0.3s ease;
}

/* QUESTION ROW */
.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.faq-question span:first-child {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  color: #111;
}

/* ICON */
.faq-icon {
  font-size: 22px;
  font-weight: 500;
  transition: transform 0.3s ease;
}

/* ANSWER */
.faq-answer {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  margin-top: 12px;
  display: none;
}

/* ACTIVE STATE */
.faq-item.active .faq-answer {
  display: block;
}

.faq-item.active .faq-icon {
  transform: rotate(180deg);
}

/* SMOOTH TOUCH AREA */
.faq-question {
  padding: 6px 0;
}

}
.tab-pane {
  display: none; 
}
.tab-pane.active{
  display: block; 
}

#specification.active {
  display: block;
}

.tab-pane.show {
  display: block;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px dashed #eee;
}

.t-icon {
  font-size: 16px;
  opacity: 0.8;
}


@media (min-width:1500px) and (max-width:1800px) {

.faq-box {
  width: 60%;
  padding: 40px 16px;
  background: #f9f9fb;
}
}




@media (min-width:480px) and (max-width:1300px) {
  .recommend {
    max-width: 100%;
    margin: 80px auto 100px;
    padding-left: 15px;
}
}

