/* Maribal Product Clean v2 - premium light product page */
body#product,
body#product #wrapper,
body#product #content,
body#product main,
body#product #main,
body#product .page-content,
body#product .tab-content,
body#product .tabs,
body#product .product-container,
body#product .product-information,
body#product .product-information *,
body#product .product-container *,
body#product .tabs * {
  box-sizing: border-box;
}

html, body#product { overflow-x: hidden !important; }
body#product #wrapper { background: linear-gradient(180deg, #f7f9fc 0%, #ffffff 45%, #f7f9fc 100%); }
body#product #main { max-width: 1380px; margin: 0 auto 56px; padding: 0 20px; }
body#product .breadcrumb { max-width: 1380px; margin: 0 auto; padding-left: 20px; padding-right: 20px; }

body#product .row.product-container,
body#product .product-container.row,
body#product .product-container {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 34px;
  background: #fff;
  border: 1px solid #e6edf5;
  border-radius: 30px;
  box-shadow: 0 20px 55px rgba(11, 36, 77, .08);
  padding: 30px;
  margin-bottom: 30px;
}

body#product .product-container > [class*="left-column"],
body#product .product-container > .left-column,
body#product .product-container > .js-qv-product-images,
body#product .product-container > [class*="col-"]:first-child {
  width: min(500px, 100%) !important;
  max-width: min(500px, 100%) !important;
  flex: 0 0 min(500px, 100%) !important;
  float: none !important;
  padding: 0 !important;
}

body#product .product-container > [class*="right-column"],
body#product .product-container > .right-column,
body#product .product-container > [class*="col-"]:last-child {
  flex: 1 1 420px !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  float: none !important;
  padding: 0 !important;
}

body#product .images-container {
  position: sticky;
  top: 24px;
}

body#product .product-cover {
  background: linear-gradient(180deg, #fbfdff 0%, #f1f6fb 100%);
  border: 1px solid #e5edf5;
  border-radius: 28px;
  padding: 28px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

body#product .product-cover img { mix-blend-mode: multiply; width: 100%; height: auto; }

body#product .product-images {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
}

body#product .product-images > li.thumb-container,
body#product .product-images > .thumb-container {
  margin: 0 !important;
}

body#product .product-images > li.thumb-container .thumb,
body#product .product-images > .thumb-container .thumb {
  width: 76px;
  height: 76px;
  object-fit: contain;
  border-radius: 18px;
  border: 1px solid #dbe5f0;
  background: #fff;
  padding: 6px;
}

body#product .product-images > li.thumb-container .thumb.selected,
body#product .product-images > li.thumb-container .thumb:hover,
body#product .product-images > .thumb-container .thumb.selected,
body#product .product-images > .thumb-container .thumb:hover {
  border-color: #123968;
  box-shadow: 0 14px 26px rgba(18,57,104,.14);
}

body#product .product-information {
  width: 100%;
  max-width: none;
  min-width: 0;
  font-size: 16px;
  color: #42546d;
}

body#product .product-header { margin-bottom: 10px; }
body#product .mpp-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(229, 57, 53, .08);
  border: 1px solid rgba(229,57,53,.12);
  color: #e53935;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .12em;
  margin-bottom: 14px;
}
body#product .mpp-kicker::before {
  content: '';
  width: 8px; height: 8px; border-radius: 50%; background: #e53935; display: inline-block;
  box-shadow: 0 0 0 5px rgba(229,57,53,.08);
}

body#product .product-information h1,
body#product h1.h1 {
  color: #0f2748 !important;
  font-weight: 800 !important;
  font-size: clamp(2.15rem, 3.1vw, 3.4rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.04em !important;
  margin: 0 0 18px !important;
  max-width: 12ch;
  word-break: break-word;
}

body#product .product-reference,
body#product .product-manufacturer {
  color: #6e7d94;
  font-size: .95rem;
}

body#product .product-prices {
  background: linear-gradient(180deg, #fbfdff 0%, #f4f8fd 100%);
  border: 1px solid #e3ebf4;
  border-radius: 24px;
  padding: 18px 20px;
  margin-bottom: 16px;
}

body#product .current-price,
body#product .current-price span,
body#product .current-price .price,
body#product .product-price {
  color: #0f2748 !important;
  font-size: clamp(2rem, 2.6vw, 2.8rem) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
}

body#product .regular-price,
body#product .discount,
body#product .product-discount,
body#product .has-discount .discount,
body#product .discount-percentage {
  color: #6a7a92 !important;
}

body#product .product-description-short {
  background: #fff;
  border: 1px solid #e6edf5;
  border-radius: 22px;
  padding: 18px 20px;
  line-height: 1.75;
  color: #50627c;
  margin-bottom: 16px;
}

body#product .product-variants,
body#product .product-customization,
body#product .product-add-to-cart,
body#product .product-additional-info,
body#product .social-sharing,
body#product .blockreassurance_product,
body#product #block-reassurance {
  background: #fff;
  border: 1px solid #e6edf5;
  border-radius: 22px;
  padding: 18px 20px;
  margin-bottom: 16px;
  box-shadow: 0 8px 22px rgba(15,39,72,.03);
}

body#product label,
body#product .control-label,
body#product .product-variants-item label {
  color: #102544 !important;
  font-weight: 700;
  margin-bottom: 8px;
}

body#product .product-variants select,
body#product .product-variants input,
body#product .product-variants .form-control,
body#product .input-group.bootstrap-touchspin,
body#product #quantity_wanted,
body#product .wishlist-button-add,
body#product .bootstrap-touchspin input {
  border-radius: 16px !important;
  border: 1px solid #d9e4ef !important;
  background: #f9fbfd !important;
  min-height: 54px;
  box-shadow: none !important;
}

body#product .product-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}

body#product .product-add-to-cart .product-quantity,
body#product .product-add-to-cart .add,
body#product .product-add-to-cart .product-quantity .add {
  margin: 0 !important;
}

body#product .product-add-to-cart .bootstrap-touchspin { min-width: 140px; }
body#product .add-to-cart,
body#product .product-add-to-cart .btn-primary,
body#product .btn-primary.add-to-cart {
  min-height: 56px;
  padding: 0 24px !important;
  border-radius: 18px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #102645 0%, #1a447a 100%) !important;
  color: #fff !important;
  font-weight: 800 !important;
  box-shadow: 0 16px 30px rgba(16,38,69,.18);
}

body#product .mpp-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 20px;
  border-radius: 18px;
  background: #f6f9fc;
  color: #102645;
  border: 1px solid #dce6f1;
  font-weight: 700;
  text-decoration: none !important;
}
body#product .mpp-secondary-btn:hover {
  background: #fff;
  border-color: #c8d9eb;
  box-shadow: 0 10px 25px rgba(16,38,69,.08);
}

body#product .mpp-benefits {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 2px 0 16px;
}
body#product .mpp-benefit {
  min-width: 0;
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
  border: 1px solid #e4ecf5;
  border-radius: 20px;
  padding: 18px;
}
body#product .mpp-benefit-icon {
  width: 42px; height: 42px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #102645 0%, #1a447a 100%);
  color: #fff; font-weight: 800; box-shadow: 0 12px 24px rgba(16,38,69,.16); margin-bottom: 12px;
}
body#product .mpp-benefit-title { color: #102645; font-weight: 800; font-size: 1rem; margin-bottom: 6px; }
body#product .mpp-benefit-text { color: #64758d; line-height: 1.6; font-size: .96rem; }

body#product .social-sharing .social-sharing-title,
body#product .product-additional-info .label,
body#product .blockreassurance_product .title {
  color: #102645;
  font-weight: 700;
}

body#product .tabs {
  background: #fff;
  border: 1px solid #e6edf5;
  border-radius: 28px;
  box-shadow: 0 16px 45px rgba(15,39,72,.05);
  padding: 24px;
  margin-bottom: 28px;
}
body#product .tabs .nav-tabs {
  border: 0; display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px;
}
body#product .tabs .nav-tabs .nav-link {
  border: 1px solid #dde7f1;
  border-radius: 999px;
  background: #f8fbfd;
  color: #465975;
  font-weight: 700;
  padding: 11px 18px;
}
body#product .tabs .nav-tabs .nav-link.active,
body#product .tabs .nav-tabs .nav-link:hover {
  background: #102645;
  border-color: #102645;
  color: #fff;
}
body#product .tab-content,
body#product .tab-pane,
body#product .product-description,
body#product .product-features,
body#product .page-content {
  color: #4b5d76;
  font-size: 16px;
  line-height: 1.75;
}
body#product .tab-pane table,
body#product .product-features table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid #e6edf5;
  border-radius: 18px;
  background: #fff;
}
body#product .tab-pane th,
body#product .tab-pane td,
body#product .product-features th,
body#product .product-features td {
  padding: 12px 14px;
  border-bottom: 1px solid #edf2f7;
  vertical-align: top;
}
body#product .tab-pane tr:last-child td,
body#product .product-features tr:last-child td { border-bottom: 0; }

body#product section.products,
body#product .featured-products,
body#product .product-accessories {
  background: #fff;
  border: 1px solid #e6edf5;
  border-radius: 28px;
  box-shadow: 0 16px 45px rgba(15,39,72,.05);
  padding: 22px;
  margin-bottom: 24px;
}
body#product section.products > h2,
body#product .featured-products > h2,
body#product .product-accessories > h2 {
  color: #102645;
  font-size: clamp(1.35rem, 2vw, 2rem);
  font-weight: 800;
  margin-bottom: 18px;
}
body#product .product-miniature {
  background: linear-gradient(180deg, #fbfdff 0%, #f5f9fd 100%);
  border: 1px solid #e2ebf4;
  border-radius: 22px;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(15,39,72,.04);
  height: 100%;
}
body#product .product-miniature .thumbnail-container,
body#product .product-miniature .product-thumbnail {
  background: transparent;
}
body#product .product-miniature .product-description { text-align: left; }
body#product .product-miniature .thumbnail { border-radius: 16px; }

body#product .comments-note,
body#product #product-comments-list-header,
body#product #empty-product-comment {
  background: #fff;
  border: 1px solid #e6edf5;
  border-radius: 20px;
  padding: 16px 18px;
}

@media (max-width: 1199px) {
  body#product .images-container { position: relative; top: auto; }
}

@media (max-width: 991px) {
  body#product .row.product-container,
  body#product .product-container.row,
  body#product .product-container {
    padding: 22px;
    gap: 24px;
  }

  body#product .product-container > [class*="left-column"],
  body#product .product-container > .left-column,
  body#product .product-container > .js-qv-product-images,
  body#product .product-container > [class*="col-"]:first-child,
  body#product .product-container > [class*="right-column"],
  body#product .product-container > .right-column,
  body#product .product-container > [class*="col-"]:last-child {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  body#product .product-information h1,
  body#product h1.h1 { max-width: none; }
}

@media (max-width: 767px) {
  body#product #main,
  body#product .breadcrumb { padding-left: 14px; padding-right: 14px; }

  body#product .row.product-container,
  body#product .product-container.row,
  body#product .product-container,
  body#product .tabs,
  body#product section.products,
  body#product .featured-products,
  body#product .product-accessories {
    border-radius: 22px;
    padding: 16px;
  }

  body#product .product-cover { padding: 18px; border-radius: 22px; }
  body#product .product-images > li.thumb-container .thumb,
  body#product .product-images > .thumb-container .thumb { width: 62px; height: 62px; }

  body#product .product-information h1,
  body#product h1.h1 {
    font-size: clamp(1.9rem, 10vw, 2.7rem) !important;
    line-height: 1.05 !important;
    margin-bottom: 14px !important;
  }

  body#product .product-add-to-cart { flex-direction: column; align-items: stretch; }
  body#product .product-add-to-cart .product-quantity,
  body#product .product-add-to-cart .add,
  body#product .product-add-to-cart .bootstrap-touchspin,
  body#product .add-to-cart,
  body#product .mpp-secondary-btn { width: 100%; }

  body#product .mpp-benefits { grid-template-columns: 1fr; }
  body#product .tabs .nav-tabs .nav-link { width: 100%; text-align: center; }
  body#product .tab-pane,
  body#product .product-description,
  body#product .product-features { font-size: 15px; }
}
