/* Single product page, in the homepage's storefront style. */
body.fp-refreshed.single-product {
  --p-ink: #1b2a6b;
  --p-text: #4b5563;
  --p-muted: #6b7280;
  --p-line: #e3e9f1;
  --p-soft: #f3f4f8;
  --p-blue: #2148b0;
  --p-price: #e5391f;
  --p-note: #b4441c;
}

/* Breadcrumb band: pale blue instead of grey, less height */
body.fp-refreshed.single-product #content .shop-page-titlebar {
  min-height: 0;
  margin-bottom: 12px;
  padding: 8px 0 !important;
  background: var(--p-soft);
}
body.fp-refreshed.single-product #content .shop-page-titlebar :is(a, i, span) { color: var(--p-ink); }
body.fp-refreshed.single-product #content .shop-page-titlebar .breadcrumbs { font-size: 12px; line-height: 20px; }
body.fp-refreshed.single-product #content .shop-page-titlebar .topnav-pagination { margin-top: -20px; font-size: 21.5px; line-height: 20px; }
body.fp-refreshed.single-product #content .shop-page-titlebar .topnav-pagination a { line-height: 20px; }

body.fp-refreshed.single-product #content .product-top { margin-top: 8px; margin-bottom: 32px; }

/* Gallery: soft frame so the artwork does not float on white */
body.fp-refreshed.single-product #content .content-product-left .product-images-content {
  overflow: hidden;
  border: 1px solid var(--p-line);
  border-radius: 18px;
  background: var(--p-soft);
}
body.fp-refreshed.single-product #content .content-product-left .product-images-content img.wp-post-image {
  display: block;
  width: 100%;
  height: auto;
}
body.fp-refreshed.single-product #content .product-images-content .wc_zoom {
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  color: var(--p-ink);
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 4px 12px rgba(27, 42, 107, .12);
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

/* Summary column */
body.fp-refreshed.single-product #content .content-product-right .pl20 { padding-left: 24px; }
body.fp-refreshed.single-product #content .shop-top { margin: 0 0 18px; padding: 0 0 18px; border-bottom: 1px solid var(--p-line); }
body.fp-refreshed.single-product #content .shop-top .product_title {
  margin: 0 0 10px;
  color: var(--p-ink);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.35;
}
body.fp-refreshed.single-product #content .shop-top .price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
  margin: 0;
}
body.fp-refreshed.single-product #content .shop-top .price .amount {
  color: var(--p-price);
  font-size: 27px;
  font-weight: 700;
  line-height: 1.2;
}
body.fp-refreshed.single-product #content .fp26p-unit { color: var(--p-muted); font-size: 14px; font-weight: 500; }

/* Description: bullet list with check marks, notes as one highlighted box */
body.fp-refreshed.single-product #content .shop-bottom .description { margin: 0 0 20px; }
body.fp-refreshed.single-product #content .shop-bottom .description :is(.wpb_text_column, .wpb_wrapper) { margin: 0; padding: 0; }
body.fp-refreshed.single-product #content .shop-bottom .description :is(ul, p) { margin: 0; padding: 0; list-style: none; }
body.fp-refreshed.single-product #content .shop-bottom .description li,
body.fp-refreshed.single-product #content .shop-bottom .description p {
  position: relative;
  margin: 0 0 8px;
  padding-left: 28px;
  color: var(--p-text);
  font-size: 14px;
  line-height: 1.65;
}
body.fp-refreshed.single-product #content .shop-bottom .description li::before,
body.fp-refreshed.single-product #content .shop-bottom .description p::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #e3f0fb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-8.5' fill='none' stroke='%231768b3' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat;
}
/* Items the shop typed in red are rules, not errors: amber note with an info mark */
body.fp-refreshed.single-product #content .shop-bottom .description :is(li, p):has(> span[style*="color"]) {
  padding: 8px 12px 8px 38px;
  border-radius: 10px;
  background: #fff5ef;
}
body.fp-refreshed.single-product #content .shop-bottom .description :is(li, p):has(> span[style*="color"])::before {
  top: 11px;
  left: 12px;
  background: #fde3d6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7v6.5M12 17.2v.3' fill='none' stroke='%23b4441c' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / 13px no-repeat;
}
body.fp-refreshed.single-product #content .shop-bottom .description ul:has(span[style*="color"]) + p:has(> span[style*="color"]),
body.fp-refreshed.single-product #content .shop-bottom .description ul:has(span[style*="color"]) li { margin-bottom: 6px; }
body.fp-refreshed.single-product #content .shop-bottom .description span[style*="color"] {
  color: var(--p-note) !important;
  font-weight: 500;
}

/* Ordering panel: upload, options and buy button read as one block */
body.fp-refreshed.single-product #content .fp26f-upload {
  margin: 0 0 16px;
  padding: 18px;
  border: 1px solid var(--p-line);
  border-radius: 16px;
  background: var(--p-soft);
}
body.fp-refreshed.single-product #content .fp26f-upload__title { margin: 0 0 12px; font-size: 15px; }
body.fp-refreshed.single-product #content .fp26f-upload #drop_uploader { display: block; width: 100%; margin: 0; }
body.fp-refreshed.single-product #content .fp26f-upload .drop_uploader.drop_zone {
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 22px 16px;
  border: 2px dashed #c3c8d8;
  border-radius: 12px;
  background: #fff;
  transition: border-color .2s, background-color .2s;
}
body.fp-refreshed.single-product #content .fp26f-upload .drop_uploader.drop_zone:hover,
body.fp-refreshed.single-product #content .fp26f-upload .drop_uploader.drop_zone.hover { border-color: var(--p-blue); background: #f8fbff; }
body.fp-refreshed.single-product #content .fp26f-upload .drop_uploader .text_wrapper {
  position: static;
  display: flex;
  min-height: 0;
  padding: 0;
  transform: none;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0;
  text-align: left;
}
body.fp-refreshed.single-product #content .fp26f-upload .drop_uploader .text_wrapper i { color: var(--p-blue); font-size: 32.5px; }
body.fp-refreshed.single-product #content .fp26f-upload .drop_uploader .text_wrapper a { color: var(--p-blue); font-weight: 600; text-decoration: underline; }

body.fp-refreshed.single-product #content form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
  margin: 0 0 20px;
}
body.fp-refreshed.single-product #content form.cart .wcpa_form_outer { flex: 0 0 100%; margin: 0; }
body.fp-refreshed.single-product #content form.cart .wcpa_section_body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}
body.fp-refreshed.single-product #content form.cart .wcpa_row { display: block; margin: 0; }
body.fp-refreshed.single-product #content form.cart .wcpa_field_wrap { width: 100% !important; max-width: none; margin: 0; padding: 0; }
body.fp-refreshed.single-product #content form.cart .wcpa_field_label {
  display: block;
  min-height: 3em;
  margin: 0 0 6px;
  color: var(--p-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
}
body.fp-refreshed.single-product #content form.cart .wcpa_field {
  width: 100%;
  height: 46px;
  padding: 0 14px;
  border: 1px solid #d3d7e2;
  border-radius: 10px;
  color: var(--p-ink);
  background: #fff;
  font-size: 14px;
  box-shadow: none;
  transition: border-color .2s, box-shadow .2s;
}
body.fp-refreshed.single-product #content form.cart .wcpa_field:focus { border-color: var(--p-blue); outline: 0; box-shadow: 0 0 0 3px rgba(23, 104, 179, .15); }

/* Quantity stepper */
body.fp-refreshed.single-product #content form.cart .zadora-quantity-wrap { display: flex; margin: 0; }
body.fp-refreshed.single-product #content form.cart .zadora-quantity-wrap > label { display: none; }
body.fp-refreshed.single-product #content form.cart .quantity {
  display: flex;
  align-items: center;
  width: 140px;
  height: 52px;
  margin: 0;
  overflow: hidden;
  border: 1px solid #d3d7e2 !important;
  border-radius: 12px;
  background: #fff;
}
body.fp-refreshed.single-product #content form.cart .quantity :is(.zadora-qty-minus, .zadora-qty-plus) {
  position: static;
  display: flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--p-ink);
  font-size: 0;
  cursor: pointer;
  transform: none;
}
/* The theme's arrow glyphs render as dots; draw a clear minus / plus instead */
body.fp-refreshed.single-product #content form.cart .quantity :is(.zadora-qty-minus, .zadora-qty-plus)::before {
  content: "";
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: var(--p-qty-icon) center / contain no-repeat;
  mask: var(--p-qty-icon) center / contain no-repeat;
}
body.fp-refreshed.single-product #content form.cart .quantity .zadora-qty-minus { --p-qty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14' stroke='%23000' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
body.fp-refreshed.single-product #content form.cart .quantity .zadora-qty-plus { --p-qty-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14' stroke='%23000' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
body.fp-refreshed.single-product #content form.cart .quantity :is(.zadora-qty-minus, .zadora-qty-plus):hover { color: var(--p-blue); background: var(--p-soft); }
body.fp-refreshed.single-product #content form.cart .quantity input.qty {
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  height: 100%;
  padding: 0;
  border: 0;
  color: var(--p-ink);
  background: transparent;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
}

/* Add to cart: the one strong button on the page */
body.fp-refreshed.single-product #content form.cart .single_add_to_cart_button {
  flex: 1 1 180px;
  height: 52px;
  margin: 0;
  padding: 0 24px;
  border: 0;
  border-radius: 12px;
  color: #fff;
  background: var(--p-blue);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  box-shadow: 0 8px 18px rgba(23, 104, 179, .22);
  transition: background-color .2s, transform .2s;
}
body.fp-refreshed.single-product #content form.cart .single_add_to_cart_button:hover { background: var(--p-ink); transform: translateY(-1px); }
body.fp-refreshed.single-product #content form.cart .single_add_to_cart_button::after,
body.fp-refreshed.single-product #content form.cart .single_add_to_cart_button::before { display: none; }

/* Wishlist: outlined square with the heart centred (the theme's glyph did not load) */
body.fp-refreshed.single-product #content form.cart .yith-wcwl-add-to-wishlist { flex: 0 0 52px; margin: 0; }
body.fp-refreshed.single-product #content form.cart .yith-wcwl-add-to-wishlist a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 1px solid #d3d7e2;
  border-radius: 12px;
  color: var(--p-ink);
  background: #fff;
  font-size: 0;
}
body.fp-refreshed.single-product #content form.cart .yith-wcwl-add-to-wishlist a:hover { color: var(--p-price); border-color: currentColor; }
body.fp-refreshed.single-product #content form.cart .yith-wcwl-add-to-wishlist a::before,
body.fp-refreshed.single-product #content form.cart .yith-wcwl-add-to-wishlist a::after { display: none !important; }
body.fp-refreshed.single-product #content form.cart .yith-wcwl-add-to-wishlist svg { position: static; width: 24px; height: 24px; margin: 0; }
body.fp-refreshed.single-product #content form.cart .yith-wcwl-add-to-wishlist span { display: none; }

/* Trust strip under the buy button */
body.fp-refreshed #content .fp26p-trust {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 22px;
  padding: 0;
  list-style: none;
}
body.fp-refreshed #content .fp26p-trust li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--p-line);
  border-radius: 12px;
  background: #fff;
}
body.fp-refreshed #content .fp26p-trust svg { flex: 0 0 26px; width: 26px; height: 26px; color: var(--p-blue); }
body.fp-refreshed #content .fp26p-trust span { display: flex; flex-direction: column; min-width: 0; line-height: 1.35; }
body.fp-refreshed #content .fp26p-trust strong { color: var(--p-ink); font-size: 13px; font-weight: 600; }
body.fp-refreshed #content .fp26p-trust small { color: var(--p-muted); font-size: 12px; }

/* Meta, help links and sharing */
body.fp-refreshed.single-product #content .info-product { padding-top: 18px; border-top: 1px solid var(--p-line); }
body.fp-refreshed.single-product #content .product_meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  margin: 0 0 16px;
  color: var(--p-muted);
  font-size: 14px;
}
body.fp-refreshed.single-product #content .product_meta > span { display: inline; margin: 0; }
body.fp-refreshed.single-product #content .product_meta :is(.sku, a) { color: var(--p-ink); font-weight: 500; }
body.fp-refreshed.single-product #content .info-product .list-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 16px;
  padding: 0;
}
body.fp-refreshed.single-product #content .info-product .list-group li { margin: 0; padding: 0; border: 0; list-style: none; }
body.fp-refreshed.single-product #content .info-product .list-group a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border: 1px solid var(--p-line);
  border-radius: 999px;
  color: var(--p-ink);
  background: var(--p-soft);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  transition: border-color .2s, color .2s;
}
body.fp-refreshed.single-product #content .info-product .list-group a:hover { border-color: var(--p-blue); color: var(--p-blue); }
body.fp-refreshed.single-product #content .info-product .list-group i { margin: 0; color: var(--p-blue); font-size: 13px; }
body.fp-refreshed.single-product #content .zadora-sharing .social-sharing { display: flex; gap: 8px; margin: 0; padding: 0; }
body.fp-refreshed.single-product #content .zadora-sharing .social-sharing li { margin: 0; list-style: none; }
/* The theme's "RSS" button is a second LinkedIn link */
body.fp-refreshed.single-product #content .zadora-sharing .social-sharing li:has(> .rss) { display: none; }
body.fp-refreshed.single-product #content .zadora-sharing .social-sharing a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--p-line);
  border-radius: 50%;
  color: var(--p-muted);
  font-size: 13px;
}
body.fp-refreshed.single-product #content .zadora-sharing .social-sharing a:hover { border-color: var(--p-blue); color: var(--p-blue); }

/* Description tab: white card instead of a grey slab */
body.fp-refreshed.single-product #content .woocommerce-tabs {
  padding: 32px 32px 36px;
  border: 1px solid var(--p-line);
  border-radius: 18px;
  background: #fff;
}
body.fp-refreshed.single-product #content .woocommerce-tabs .wc-tabs { margin: 0 0 24px; padding: 0; border: 0; background: transparent; text-align: center; }
body.fp-refreshed.single-product #content .woocommerce-tabs .wc-tabs li { margin: 0; padding: 0; border: 0; background: transparent; }
body.fp-refreshed.single-product #content .woocommerce-tabs .wc-tabs li a {
  padding: 0 0 6px;
  border-bottom: 3px solid var(--p-blue);
  color: var(--p-ink);
  font-size: 18.5px;
  font-weight: 700;
  text-decoration: none;
}
body.fp-refreshed.single-product #content .woocommerce-tabs .panel { margin: 0; padding: 0; background: transparent; }
body.fp-refreshed.single-product #content .woocommerce-tabs .panel img { border-radius: 12px; }
body.fp-refreshed.single-product #content .product-related-title,
body.fp-refreshed.single-product #content .related-product h2 { color: var(--p-ink); font-weight: 700; }

/* Sticky buy bar: white with the same blue button, not a black slab */
body.fp-refreshed.single-product .add_to_cart_bottom {
  border-top: 1px solid var(--p-line);
  color: var(--p-ink);
  background: #fff;
  box-shadow: 0 -8px 24px rgba(27, 42, 107, .08);
}
body.fp-refreshed.single-product .add_to_cart_bottom :is(.product_title, .price, .close_add, .close_add span) { color: var(--p-ink) !important; }
body.fp-refreshed.single-product .add_to_cart_bottom .product_title { font-weight: 600; }
body.fp-refreshed.single-product .add_to_cart_bottom .price :is(.amount, bdi, span) { color: var(--p-price) !important; font-weight: 700; }
body.fp-refreshed.single-product .add_to_cart_bottom .fp26p-unit { color: var(--p-muted) !important; font-weight: 400 !important; }
body.fp-refreshed.single-product .add_to_cart_bottom .info_left img { border-radius: 8px; }
body.fp-refreshed.single-product .add_to_cart_bottom .add_to_cart_btn a {
  border: 0;
  border-radius: 10px;
  color: #fff;
  background: var(--p-blue);
  font-weight: 600;
}
body.fp-refreshed.single-product .add_to_cart_bottom .add_to_cart_btn a:hover { background: var(--p-ink); }

@media (max-width: 767px) {
  body.fp-refreshed.single-product #content .content-product-right .pl20 { padding-left: 0; }
  body.fp-refreshed.single-product #content .content-product-left { margin-bottom: 20px; }
  body.fp-refreshed.single-product #content .shop-top .product_title { font-size: 21.5px; }
  body.fp-refreshed.single-product #content .shop-top .price .amount { font-size: 24px; }
  body.fp-refreshed.single-product #content form.cart .wcpa_section_body { grid-template-columns: 1fr; }
  body.fp-refreshed.single-product #content form.cart .wcpa_field_label { min-height: 0; }
  body.fp-refreshed.single-product #content form.cart .quantity { width: 120px; }
  body.fp-refreshed #content .fp26p-trust { grid-template-columns: 1fr; }
  body.fp-refreshed.single-product #content .woocommerce-tabs { padding: 20px 14px 24px; }
}
