/* ===== SECTION ===== */
.product-detail {
  padding: 50px 0;
}

/* ===== LEFT SLIDER ===== */
.product-slider {
  border: 1px solid #eee;
  padding: 20px;
}

.main-img img {
  width: 100%;
}

/* THUMBNAILS */
.thumb-list {
  display: flex;
  gap: 10px;
  margin-top: 15px;
}

.thumb-list img {
  width: 70px;
  border: 1px solid #ddd;
  cursor: pointer;
}

.thumb-list img.active {
  border: 2px solid #f4c150;
}

/* ===== RIGHT SIDE ===== */
.product-info h2 {
  font-size: 26px;
  margin-bottom: 15px;
  font-weight: 600;
  font-family: var(--font-03);
  margin: 0;
}

/*.product-info p {
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 300;
  font-family: var(--font-02);
}*/
.product-info span {
  margin-bottom: 0px;
  font-size: 15px;
  font-weight: 300 !important;
  font-family: var(--font-02);
  line-height: 1.5;
}
.product-info b, .product-info strong {
  font-weight: 600;
}
.price {
  font-size: 28px;
  font-weight: bold;
  margin: 10px 0;
}
.add-cart:hover {
  background: #000;
  color: #fff;
}
/* QUANTITY + BUTTON */
.cart-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 20px 0;
}

.cart-row input {
  width: 60px;
  padding: 10px 5px;
}

.add-cart {
  background: #f4c150;
  border: none;
  padding: 12px 15px;
  font-weight: 600;
  color: #fff;
}

/* FEATURES */
.features {
  margin-top: 20px;
}

.features li {
  margin-bottom: 5px;
}
.product-category span {
  font-family: var(--font-02);
}

.product-detail-btn-wapper {
  display: flex;
  align-items: center;
  column-gap: 10px;
  padding: 0;
  margin: 0;
}
.product-detail-btn-wapper li {
  list-style: none;
}
.back-btn {
  background: #000;
  padding: 5px 15px;
  font-size: 15px;
  color: #fff;
  border-radius: 2px;
}

.product-detail-btn-wapper li a {
  padding: 13.5px 15px;
}
.product_nav ul .prev a, .product_nav ul .next a {
  background: var(--color-1);
  border-radius: 3px;
  color: #ffffff;
  display: block;
  font-size: 15px;
  height: 30px;
  width: 30px;
  line-height: 28px;
  text-align: center;
}
.product_nav {
  float: right;
  position: relative;
  top: 0px;
}
.product_nav ul li {
  display: inline-block;
  margin-left: 3px;
}
.product_nav ul li:first-child {
  margin-left: 0;
}
.product_nav ul li {
  display: inline-block;
  margin-left: 3px;
}
.product-info {
  position: relative;
}
/* WISHLIST */
.wishlist {
  color: var(--color-1);
  display: inline-block;
  background: #fff;
  border: 1px solid var(--color-1);
  padding: 5px 15px;
}
.product_nav ul li a:hover {
  background: #000;
  color: var(--color-1);
}
/* ===== SECTION ===== */
.product-review {
  padding: 50px 0;
}

.review-box {
  border: 1px solid #eee;
  padding: 30px;
}

/* TITLE */
.review-title {
  font-size: 22px;
  margin-bottom: 15px;
}

.review-line {
  height: 1px;
  background: #ddd;
  margin-bottom: 25px;
}

/* TEXT */
.review-box h4 {
  margin-bottom: 20px;
}

.review-box p {
  margin-bottom: 15px;
}

/* STAR */
.star-rating i {
  font-size: 18px;
  cursor: pointer;
  margin-right: 5px;
  color: #ccc;
  transition: 0.3s;
}

.star-rating i.active,
.star-rating i.hover {
  color: #f4c150;
}

/* TEXTAREA */
.review-box textarea {
  width: 100%;
  height: 120px;
  border: 1px solid #ddd;
  padding: 10px;
  resize: none;
}

/* BUTTON */
.review-btn {
  margin-top: 20px;
  background: #2d333b;
  color: #fff;
  padding: 8px 20px;
  border: none;
}
.nav-btn{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:40px;
    height:40px;
    border:none;
    cursor:pointer;
    z-index:2;
    border-radius:50%;
    font-size:20px;
}

.prev-btn{
    left:15px;
}

.next-btn{
    right:15px;
}

.thumb-list{
    display:flex;
    gap:10px;
    margin-top:15px;
    flex-wrap:wrap;
}

.thumb-image{
    width:80px;
    height:80px;
    object-fit:cover;
    cursor:pointer;
    border:2px solid #ddd;
    border-radius:8px;
}

.thumb-image.active{
    border-color:#06b453;
}
.main-img-wrapper{
    position:relative;
    display:flex;
    align-items:center;
}
.whatsapp-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #25D366;
    color: #fff;
    text-decoration: none;
    padding: 8px 10px;
    font-size: 15px;
    font-weight: 600;
    transition: 0.3s ease;
    box-shadow: 0 6px 15px rgba(37, 211, 102, 0.3);
}

.whatsapp-btn i {
    font-size: 15px;
}

.whatsapp-btn:hover {
    background: #1ebe5d;
    transform: translateY(-2px);
}
/* Custom Checkpoint List Styles for Product Pages */
.product-check-list {
  list-style-type: none; /* Removes the default black dots */
  padding-left: 0;
  margin-top: 15px;
  margin-bottom: 25px;
}

.product-check-list li {
  position: relative;
  padding-left: 35px; /* Creates space for the custom checkmark */
  margin-bottom: 5px;
  font-size: 16px;
  line-height: 1.6;
  color: #333333; /* Dark text for easy reading */
  font-family: var(--font-02);
}

/* The Custom Checkmark Design */
.product-check-list li::before {
  content: '\2713'; /* Unicode for a checkmark */
  position: absolute;
  left: 0;
  top: 3px; /* Aligns the icon with the first line of text */
  width: 18px;
  height: 18px;
  background-color: var(--color-1); /* A beautiful festive pink. Change this hex code to match your brand color! */
  color: #ffffff; /* White checkmark */
  border-radius: 50%; /* Makes the background a perfect circle */
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 24px; /* Centers the checkmark vertically inside the circle */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Adds a subtle shadow for a 3D effect */
}

/* Optional: Highlight the bold text inside the list to make it pop */
.product-check-list li strong {
  color: #111111; 
}
a{
  color: var(--color-1);
}
.quantity {
  display: flex;
  align-items: center;
  column-gap: 5px;
}
.product_nav ul {
  display: flex;
  align-items: center;
  column-gap: 5px;
}
/* ==========================================================
   PRODUCT DETAIL PAGE — BLACK & GOLD LUXURY THEME
========================================================== */
:root{
    --theme-gold:       #c9a24b;
    --theme-gold-dark:  #a8843a;
    --theme-gold-light: #f3e5c2;
    --theme-dark:       #141414;
    --theme-black:      #0c0c0c;
    --theme-cream:      #faf8f4;
    --theme-white:      #ffffff;
    --theme-grey:       #6f6f6f;
    --theme-border:     #ece5d8;
    --theme-green:      #25d366;
    --shadow-soft:      0 8px 24px rgba(20,20,20,.08);
    --radius-lg:        18px;
    --radius-md:        12px;
    --transition:       all .3s ease;
}

/* ---------- SECTION & CARD ---------- */
.product-detail{ padding:70px 0; background:var(--theme-cream); }
.product-detail-inner{
    background:var(--theme-white);
    border:1px solid var(--theme-border);
    border-top:4px solid var(--theme-gold);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-soft);
    padding:40px;
}

/* ---------- GALLERY : MAIN IMAGE ---------- */
.main-img-wrapper{
    position:relative;
    border-radius:var(--radius-lg);
    overflow:hidden;
    background:#f4ede3;
    border:1px solid var(--theme-border);
    box-shadow:var(--shadow-soft);
}
.product-slider .main-img{
    height:auto;
    display:flex !important;          /* beats theme overrides */
    overflow:hidden;
    background:#f4ede3;
}
.product-slider .main-img img{
    margin:auto !important;           /* centers on BOTH axes */
    width:auto !important;
    height:auto !important;
    max-width:100% !important;        /* beats img-fluid / inline styles */
    max-height:100% !important;
    object-fit:contain;               /* never cropped */
    display:block;
    transition:transform .6s ease;
}
.product-slider .main-img-wrapper:hover .main-img img{ transform:scale(1.03); }

/* Gallery arrows */
.nav-btn{
    position:absolute; top:50%; transform:translateY(-50%); z-index:5;
    width:44px; height:44px; border:none; border-radius:50%;
    background:rgba(12,12,12,.55); color:var(--theme-gold-light);
    font-size:16px; cursor:pointer; transition:var(--transition);
    display:flex; align-items:center; justify-content:center;
    backdrop-filter:blur(3px);
}
.nav-btn:hover{ background:var(--theme-gold); color:#fff; }
.prev-btn{ left:14px; }
.next-btn{ right:14px; }

/* ---------- GALLERY : THUMBNAILS ---------- */
.thumb-list{ display:flex; gap:12px; margin-top:16px; flex-wrap:wrap; }
.thumb-image{
    width:86px; height:86px; object-fit:cover;
    border-radius:var(--radius-md);
    border:2px solid transparent; cursor:pointer;
    opacity:.7; transition:var(--transition);
}
.thumb-image:hover{ opacity:1; transform:translateY(-3px); }
.thumb-image.active{
    border-color:var(--theme-gold); opacity:1;
    box-shadow:0 6px 16px rgba(201,162,75,.35);
}

/* ---------- PRODUCT INFO ---------- */
.product_nav ul{
    display:flex; align-items:center; gap:10px;
    list-style:none; padding:0; margin:0 0 16px;
}
.product_nav li.prev{ margin-left:auto; }
.back-btn{
    background:var(--theme-black); color:var(--theme-gold-light);
    padding:8px 20px; border-radius:50px; text-decoration:none;
    font-size:.75rem; letter-spacing:1px; text-transform:uppercase;
    transition:var(--transition);
}
.back-btn:hover{ background:var(--theme-gold); color:#fff; }
.product_nav .prev a,
.product_nav .next a{
    width:34px; height:34px; border-radius:50%;
    border:1px solid var(--theme-border); color:var(--theme-dark);
    display:flex; align-items:center; justify-content:center;
    transition:var(--transition); text-decoration:none;
}
.product_nav .prev a:hover,
.product_nav .next a:hover{ background:var(--theme-gold); border-color:var(--theme-gold); color:#fff; }

.product-info h2{
    font-size:2rem; color:var(--theme-dark); line-height:1.3;
    margin-bottom:14px;
}
.product-info h2::after{
    content:''; display:block; width:60px; height:3px;
    background:var(--theme-gold); margin-top:10px; border-radius:3px;
}
.product-info p{ color:var(--theme-grey); font-size:.95rem; line-height:1.75; }

/* Description lists (What's included / Perfect for etc.) */
.product-info ul:not(.th-toolkit):not(.product_nav):not(.product-detail-btn-wapper){
    list-style:none; padding:0; margin:0 0 16px;
}
.product-info ul:not(.th-toolkit):not(.product_nav):not(.product-detail-btn-wapper) li{
    position:relative; padding-left:24px; margin-bottom:8px;
    color:var(--theme-grey); font-size:.93rem; line-height:1.6;
}
.product-info ul:not(.th-toolkit):not(.product_nav):not(.product-detail-btn-wapper) li::before{
    content:'\2726'; position:absolute; left:0; top:0; color:#fff;padding: 0 5px;width: 20px;height: 20px;
}

/* Add-ons checkboxes */
.th-toolkit{ list-style:none; padding:0; margin:6px 0 12px; }
.th-toolkit li label{
    display:flex; align-items:center; gap:10px;
    padding:11px 16px; border:1px dashed var(--theme-border);
    border-radius:10px; cursor:pointer; font-size:.92rem;
    color:var(--theme-dark); transition:var(--transition); margin-bottom:8px;
}
.th-toolkit li label:hover{ border-color:var(--theme-gold); background:#fdf9f0; }
.addon-checkbox{ accent-color:var(--theme-gold); width:17px; height:17px; flex-shrink:0; }

/* Option selects (size / color injected by JS) */
.product-info select{
    width:100%; padding:12px 14px; margin-bottom:12px;
    border:1px solid var(--theme-border); border-radius:10px;
    background:#fff; color:var(--theme-dark); font-size:.9rem;
}

/* Price + views */
.product-info .price{
    font-size:1.7rem; font-weight:700; color:var(--theme-dark);
    margin:14px 0 4px;
}
.product-info .price::first-letter{ color:var(--theme-gold); }
.meta-item{
    display:flex; align-items:center; gap:7px;
    color:var(--theme-grey); font-size:.83rem; margin-bottom:6px;
}
.meta-item .meta-icon{ color:var(--theme-gold); }

/* ---------- CART ROW : QTY + ADD TO CART ---------- */
.cart-row{ display:flex; gap:14px; align-items:flex-end; flex-wrap:wrap; margin-top:18px; }
.cart-row + .cart-row{ margin-top:14px; }
.quantity span{
    display:block; font-size:.72rem; letter-spacing:1px;
    text-transform:uppercase; color:var(--theme-grey); margin-bottom:7px;
}
.quantity input{
    width:92px; padding:13px 10px; text-align:center; font-weight:600;
    border:1px solid var(--theme-border); border-radius:12px; color:var(--theme-dark);
}
.quantity input:focus{ outline:none; border-color:var(--theme-gold); box-shadow:0 0 0 3px rgba(201,162,75,.15); }

.add-cart{
    flex:1; min-width:220px;
    background:linear-gradient(135deg, var(--theme-gold), var(--theme-gold-dark));
    color:#fff; border:none; cursor:pointer;
    padding:15px 28px; border-radius:50px;
    font-weight:600; letter-spacing:.8px; text-transform:uppercase; font-size:.85rem;
    display:flex; align-items:center; justify-content:center; gap:10px;
    box-shadow:0 10px 24px rgba(201,162,75,.35);
    transition:var(--transition); text-decoration:none;
}
.add-cart:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(201,162,75,.5); color:#fff; }
.add-cart .calculate-cart-price{
    background:rgba(255,255,255,.18); padding:4px 14px; border-radius:50px; font-size:.85rem;
}
.add-cart .bx{ transition:transform .3s; }
.add-cart:hover .bx{ transform:translateX(5px); }

/* Call / WhatsApp buttons */
.product-detail-btn-wapper{
    display:flex; gap:12px; flex-wrap:wrap; width:100%;
    list-style:none; padding:0; margin:0;
}
.product-detail-btn-wapper li{ flex:1; min-width:200px; }
.product-detail-btn-wapper a{
    display:flex; align-items:center; justify-content:center; gap:9px;
    padding:14px 20px; border-radius:50px; font-weight:600; font-size:.85rem;
    letter-spacing:.5px; text-transform:uppercase; text-decoration:none; transition:var(--transition);
}
.add-cart.phone-link.bg-black{
    background:var(--theme-black); color:var(--theme-gold-light);
    box-shadow:none; flex:none; width:100%; min-width:0;
}
.add-cart.phone-link.bg-black:hover{ background:#242424; transform:translateY(-2px); }
.whatsapp-btn{ background:var(--theme-green); color:#fff; box-shadow:0 10px 24px rgba(37,211,102,.3); }
.whatsapp-btn:hover{ background:#1ebe5b; color:#fff; transform:translateY(-2px); }

/* ---------- EVENT MEDIA / VIDEO GRID ---------- */
.video-item-col{ margin-bottom:26px; }
.video-thumbnail-wrapper{
    position:relative; display:block;
    aspect-ratio:16/10; border-radius:var(--radius-md); overflow:hidden;
    background:#000; border:1px solid var(--theme-border);
    box-shadow:var(--shadow-soft); transition:var(--transition);
}
.video-thumbnail-wrapper:hover{ transform:translateY(-4px); box-shadow:0 16px 36px rgba(20,20,20,.18); }
.video-thumbnail-wrapper img,
.video-thumbnail-wrapper video{
    width:100%; height:100%; object-fit:cover; display:block;
    opacity:.9; transition:transform .5s ease, opacity .3s;
}
.video-thumbnail-wrapper:hover img,
.video-thumbnail-wrapper:hover video{ transform:scale(1.06); opacity:1; }

.play-button-overlay{
    position:absolute; inset:0; z-index:2;
    display:flex; align-items:center; justify-content:center;
    background:linear-gradient(to top, rgba(0,0,0,.5), rgba(0,0,0,.08));
}
.play-button-overlay i{
    width:56px; height:56px; border-radius:50%;
    background:var(--theme-gold); color:#fff; font-size:1.05rem;
    display:flex; align-items:center; justify-content:center;
    animation:pulseRing 1.9s infinite; transition:var(--transition);
}
.video-thumbnail-wrapper:hover .play-button-overlay i{
    background:var(--theme-gold-dark); transform:scale(1.12);
}
@keyframes pulseRing{
    0%   { box-shadow:0 0 0 0 rgba(201,162,75,.5); }
    100% { box-shadow:0 0 0 20px rgba(201,162,75,0); }
}
.video-title-text{
    margin:12px 0 0; text-align:center; font-weight:600;
    color:var(--theme-dark); font-size:.93rem;
}

/* ==========================================================
   VIDEO POPUP MODAL — BLACK & GOLD
========================================================== */
.video-modal-overlay{
    position:fixed; inset:0; z-index:9999; padding:20px;
    background:rgba(8,8,8,.85); backdrop-filter:blur(6px);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden;
    transition:opacity .3s ease, visibility .3s;
}
.video-modal-overlay.active{ opacity:1; visibility:visible; }
.video-modal-box{
    position:relative;
    width:auto;                          /* hug the video, no big black bars */
    max-width:min(980px, 100%);
    background:var(--theme-black);
    border:1px solid rgba(201,162,75,.45);
    border-radius:16px; padding:14px;
    box-shadow:0 30px 80px rgba(0,0,0,.65);
    transform:scale(.92) translateY(16px);
    transition:transform .35s ease;
}
.video-modal-overlay.active .video-modal-box{ transform:scale(1) translateY(0); }
.video-modal-content{
     display:flex; align-items:center; justify-content:center;
    background:#000; border-radius:10px; overflow:hidden;
    aspect-ratio:16 / 9;                 /* default (YouTube / landscape) */
    width:min(940px, 100%);
    max-width:100%;
    max-height:78vh;
}
.video-modal-content iframe,
.video-modal-content video{ 
    width:100%; height:100%;
    border:0; display:block;
    object-fit:contain;   
}
.video-modal-close{
    position:absolute; top:-16px; right:-16px; z-index:3;
    width:44px; height:44px; border-radius:50%; border:none;
    background:var(--theme-gold); color:#111;
    font-size:22px; line-height:1; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 6px 18px rgba(0,0,0,.45);
    transition:var(--transition);
}
.video-modal-close:hover{ background:#fff; transform:rotate(90deg); }
.video-modal-title{
    margin:12px 4px 2px; text-align:center;
    color:var(--theme-gold-light); font-size:.92rem; letter-spacing:.5px;
}
body.modal-open{ overflow:hidden; }

/* ==========================================================
   RESPONSIVE
========================================================== */
@media (max-width: 1199.98px){
    .product-slider .main-img{ height:auto }
}
@media (max-width: 991.98px){
    .product-detail{ padding:50px 0; }
    .product-detail-inner{ padding:26px; }
    .product-slider .main-img{ height:auto; }
    .product-info{ margin-top:34px; }
}
@media (max-width: 767.98px){
    .product-slider .main-img{ height:auto; }
    .cart-row{ flex-direction:column; align-items:stretch; }
    .add-cart{ min-width:0; width:100%; }
    .quantity input{ width:100%; }
}
@media (max-width: 575.98px){
    .product-detail-inner{ padding:18px; }
    .product-slider .main-img{ height:auto; }
    .nav-btn{ width:36px; height:36px; font-size:13px; }
    .prev-btn{ left:8px; } .next-btn{ right:8px; }
    .thumb-image{ width:62px; height:62px; }
    .product-info h2{ font-size:1.5rem; }
    .product-info .price{ font-size:1.4rem; }
    .video-modal-box{ padding:10px; border-radius:12px; }
    .video-modal-close{ top:8px; right:8px; width:38px; height:38px; }
    .video-modal-content{ max-height:60vh; }
}
@media(max-width:575px){
  .product-slider {
    padding: 0px;
  }
  .cart-row {
    flex-direction: column;
    align-items: start;
  }
  .product-detail-btn-wapper {
    flex-direction: column;
    align-items: start;
    row-gap: 18px;
  }
  .product-detail {
    padding: 50px 0px 0;
  }
  .services-inner .swiper-pagination-bullet {
    width: 10px;
    height: 9px;
  }
  .product_nav {
    float: inherit;
    position: relative;
    top: 0px;
    padding-top: 20px;
  }
  .product_nav ul {
    padding: 0;
  }
  .home-faq .accordion-item i {
    width: 30px;
    height: 30px;
    line-height: 28px;
    border-radius: 5px;
    background: var(--color-1);
    text-align: center;
    color: #fff;
  }
  .home-faq .accordion-item i {
    line-height: 28px;
  }
  .faq-title {
    padding-right: 10px;
  }
}