/* WooCommerce commerce pages. Loaded after the main storefront stylesheet. */
body.single-product .product-images .woocommerce-product-gallery {
  border: 1px solid #d9e9f8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(8,45,102,.06);
}
body.single-product .product-images .woocommerce-product-gallery .woocommerce-product-gallery__image {
  display: grid;
  place-items: center;
  min-height: min(48vw, 490px);
  padding: 24px;
}
body.single-product .product-images .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  width: 100%;
  max-height: 480px;
  object-fit: contain;
}
body.single-product .product-images .woocommerce-product-gallery a.zoom { cursor: zoom-in; }
body.single-product .product-images .vertical-thumbnails-wrapper .thumbnail-item {
  overflow: hidden;
  border: 1px solid #d9e9f8;
  border-radius: 10px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.single-product .product-images .vertical-thumbnails-wrapper .thumbnail-item:hover,
body.single-product .product-images .vertical-thumbnails-wrapper .thumbnail-item.slick-current {
  border-color: #1584d9;
  box-shadow: 0 0 0 2px rgba(21,132,217,.14);
}
body.single-product .product-images .vertical-thumbnails-wrapper .thumbnail-item img { object-fit: contain; }
body.single-product .product-information-inner .fixed-content {
  border-radius: 18px;
  box-shadow: 0 18px 48px rgba(8,45,102,.07);
}
body.single-product .product-information-inner .woocommerce-product-details__short-description { margin-bottom: 18px; }
body.single-product .gpb-product-features {
  margin: 20px 0 22px;
  padding: 0;
  border: 0;
  background: transparent;
}
body.single-product .gpb-product-features h2 { margin: 0 0 12px; color: #082d66; font-size: 15px; font-weight: 800; }
body.single-product .gpb-feature-chips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 9px;
  margin: 0;
}
body.single-product .gpb-feature-chips > div {
  display: block;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid #dceaf5;
  border-radius: 10px;
  background: #f5faff;
}
body.single-product .gpb-feature-chips dt { margin-bottom: 5px; color: #607893; font-size: 11px; font-weight: 700; line-height: 1.3; }
body.single-product .gpb-feature-chips dd { margin: 0; color: #082d66; font-size: 13px; font-weight: 800; line-height: 1.4; overflow-wrap: anywhere; text-align: left; }
body.single-product .gpb-spec-details { margin-top: 13px; border: 1px solid #dceaf5; border-radius: 10px; background: #fff; }
body.single-product .gpb-spec-details summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  color: #1169b0;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
}
body.single-product .gpb-spec-details summary::-webkit-details-marker { display: none; }
body.single-product .gpb-spec-details summary span { font-size: 20px; line-height: 1; transition: transform .2s ease; }
body.single-product .gpb-spec-details[open] summary span { transform: rotate(180deg); }
body.single-product .gpb-spec-scroll { max-height: 310px; overflow: auto; border-top: 1px solid #e6eff7; }
body.single-product .gpb-spec-details table { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: 12px; }
body.single-product .gpb-spec-details tr:nth-child(even) { background: #f7fbff; }
body.single-product .gpb-spec-details th,
body.single-product .gpb-spec-details td { width: 50%; padding: 10px 14px; border: 0; border-bottom: 1px solid #e8f0f7; vertical-align: top; text-align: left; overflow-wrap: anywhere; }
body.single-product .gpb-spec-details th { color: #607893; font-weight: 600; }
body.single-product .gpb-spec-details td { color: #082d66; font-weight: 700; }
body.single-product .gpb-purchase-label { display: flex; align-items: center; gap: 11px; margin: 22px 0 10px; }
body.single-product .gpb-purchase-label__icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; color: #fff; background: #082d66; font-size: 17px; }
body.single-product .gpb-purchase-label strong,
body.single-product .gpb-purchase-label span:last-child { display: block; }
body.single-product .gpb-purchase-label strong { color: #082d66; font-size: 13px; font-weight: 800; }
body.single-product .gpb-purchase-label span:last-child { color: #607893; font-size: 11px; line-height: 1.5; }
body.single-product .product-information-inner form.cart { display: flex; align-items: stretch; flex-wrap: wrap; gap: 9px; margin: 0 0 16px; }
body.single-product .product-information-inner form.cart .quantity { min-height: 48px; border: 1px solid #c9deef; border-radius: 9px; background: #fff; }
body.single-product .product-information-inner form.cart .single_add_to_cart_button { flex: 1 1 170px; margin: 0; min-height: 48px; border-radius: 9px; box-shadow: 0 8px 18px rgba(8,45,102,.15); }
body.single-product .gpb-pdp-help { margin: 18px 0; border-radius: 11px; }
body.single-product .gpb-pdp-help a { min-height: 40px; }
body.single-product .related-products-title,
body.single-product .related.products > h2 { color: #082d66; font-size: clamp(21px,2vw,29px); font-weight: 800; }
body.single-product .related-products .product,
body.single-product .related.products .product { border-radius: 12px; }

body.woocommerce-cart .gp-empty-cart {
  max-width: 740px;
  margin: 32px auto 65px;
  padding: clamp(28px,5vw,52px);
  border: 1px solid #d9e9f8;
  border-radius: 18px;
  background: linear-gradient(135deg,#fff 0%,#f2f9ff 100%);
  box-shadow: 0 18px 46px rgba(8,45,102,.06);
  text-align: center;
}
body.woocommerce-cart .gp-empty-cart .gp-actions { justify-content: center; }
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart_totals,
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout .woocommerce-order,
body.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account form.woocommerce-form-login,
body.woocommerce-account form.woocommerce-form-register,
body.woocommerce-account form.woocommerce-ResetPassword {
  padding: clamp(20px,3vw,30px);
  border: 1px solid #d9e9f8;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 36px rgba(8,45,102,.055);
}
body.woocommerce-cart .woocommerce-cart-form table,
body.woocommerce-cart .cart_totals table,
body.woocommerce-checkout .shop_table { border-color: #d9e9f8; }
body.woocommerce-cart .woocommerce-cart-form th,
body.woocommerce-checkout .shop_table th { color: #082d66; font-weight: 800; }
body.woocommerce-cart .woocommerce-cart-form tr,
body.woocommerce-checkout .shop_table tr { border-color: #e7f0f7; }
body.woocommerce-cart .cart_totals h2,
body.woocommerce-checkout h3,
body.woocommerce-account .woocommerce-MyAccount-content h2 { color: #082d66; font-weight: 800; }
body.woocommerce-cart .wc-proceed-to-checkout a,
body.woocommerce-checkout #place_order,
body.woocommerce-account .woocommerce-button,
body.woocommerce-account button.button { min-height: 44px; border-radius: 8px; background: #082d66; color: #fff; font-weight: 800; }
body.woocommerce-cart .wc-proceed-to-checkout a:hover,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-account .woocommerce-button:hover,
body.woocommerce-account button.button:hover { background: #1584d9; color: #fff; }
body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row select,
body.woocommerce-account .form-row input.input-text { min-height: 44px; border: 1px solid #ccdeed; border-radius: 8px; background: #fff; }
body.woocommerce-checkout .form-row textarea { border: 1px solid #ccdeed; border-radius: 8px; }
body.woocommerce-checkout #payment { border: 1px solid #d9e9f8; border-radius: 12px; background: #f6faff; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { overflow: hidden; border: 1px solid #d9e9f8; border-radius: 12px; background: #fff; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid #e7f0f7; }
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 11px 15px; color: #082d66; font-weight: 700; }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #fff; background: #082d66; }
body.woocommerce .woocommerce-message,
body.woocommerce .woocommerce-info,
body.woocommerce .woocommerce-error { border-radius: 9px; }
body.woocommerce :is(a,button,input,select,textarea,summary):focus-visible { outline: 3px solid #1584d9; outline-offset: 2px; }

@media (max-width: 767px) {
  body.single-product .product-images .woocommerce-product-gallery .woocommerce-product-gallery__image { min-height: 320px; padding: 15px; }
  body.single-product .product-information-inner .fixed-content { padding: 20px; }
  body.single-product .gpb-feature-chips { gap: 7px; }
  body.single-product .gpb-feature-chips > div { padding: 10px; }
  body.single-product .gpb-pdp-help { align-items: stretch; flex-direction: column; }
  body.single-product .gpb-pdp-help a { justify-content: center; }
  body.woocommerce-cart .woocommerce-cart-form,
  body.woocommerce-cart .cart_totals,
  body.woocommerce-checkout form.checkout,
  body.woocommerce-account .woocommerce-MyAccount-content,
  body.woocommerce-account form.woocommerce-form-login { padding: 18px; }
  body.woocommerce-cart .gp-empty-cart { margin: 20px 0 44px; }
}
@media (prefers-reduced-motion: reduce) {
  body.single-product .product-images .vertical-thumbnails-wrapper .thumbnail-item,
  body.single-product .gpb-spec-details summary span { transition: none; }
}
