/* Relay Radio Store Build 0031 — single product visual refinement.
 * This file loads after the prior product fixes. Presentation only:
 * no replacement or restructuring of product images, gallery links,
 * variation swatches, pricing, cart controls or WooCommerce product loops.
 */
body.relay-store-theme.single-product {
  --relay-product-cyan: #48d4f5;
  --relay-product-edge: rgba(51, 139, 188, .39);
  --relay-product-muted: #a8bfd4;
}

/* Gallery: elegant frame without interfering with Porto's image slider, zoom or thumbs. */
body.relay-store-theme.single-product :is(.product-images, .woocommerce-product-gallery) {
  border: 1px solid var(--relay-product-edge);
  border-radius: 18px;
  background: #f4f6f9;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .22), 0 0 0 5px rgba(11, 26, 43, .55);
}
body.relay-store-theme.single-product :is(.product-image-slider, .woocommerce-product-gallery__wrapper, .product-images .owl-stage-outer) {
  background: #f4f6f9;
  border-radius: 15px;
}
body.relay-store-theme.single-product :is(.product-image-slider, .woocommerce-product-gallery__wrapper) img {
  /* Let native media retain its dimensions and gallery behavior. */
  max-width: 100%;
  height: auto;
}
body.relay-store-theme.single-product :is(.product-thumbnails, .product-thumbs-slider, .flex-control-thumbs) {
  padding: 5px 2px 3px;
  margin-top: 10px;
}
body.relay-store-theme.single-product :is(.product-thumbnails .img-thumbnail, .product-thumbs-slider .img-thumbnail, .product-thumbnails img, .product-thumbs-slider img, .flex-control-thumbs img) {
  border: 2px solid #cedaeb !important;
  border-radius: 11px !important;
  box-shadow: 0 2px 7px rgba(0,0,0,.10);
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.relay-store-theme.single-product :is(.product-thumbnails .active .img-thumbnail, .product-thumbnails .selected img, .product-thumbs-slider .active img, .flex-control-thumbs .flex-active) {
  border-color: #8558ef !important;
  box-shadow: 0 0 0 2px rgba(75, 205, 244, .4) !important;
}
body.relay-store-theme.single-product :is(.product-thumbnails, .product-thumbs-slider) :is(a,button):focus-visible {
  outline: 2px solid #41d3f8;
  outline-offset: 2px;
}

/* Product hierarchy: a calmer header, legible metadata and strong price. */
body.relay-store-theme.single-product :is(.entry-summary .product_title, .elementor-widget-porto_cp_title .product_title) {
  color: #f8fbff !important;
  font-size: clamp(1.58rem, 2.5vw, 2.22rem) !important;
  line-height: 1.18 !important;
  letter-spacing: -.028em !important;
  font-weight: 860 !important;
  margin: 0 0 13px !important;
  overflow-wrap: anywhere;
}
body.relay-store-theme.single-product :is(.woocommerce-product-rating, .woocommerce-review-link) {
  color: var(--relay-product-muted) !important;
}
body.relay-store-theme.single-product :is(.entry-summary .price, .single-product-price .price, .woocommerce-variation-price .price) {
  color: #fff !important;
  font-size: clamp(1.65rem, 2vw, 2.15rem) !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: -.025em;
}
body.relay-store-theme.single-product :is(.entry-summary .price, .single-product-price .price, .woocommerce-variation-price .price) .amount {
  color: inherit;
}
body.relay-store-theme.single-product .product_meta {
  color: #abbdd1 !important;
  line-height: 1.85 !important;
  font-size: .85rem !important;
}
body.relay-store-theme.single-product .product_meta a {
  color: #7bdaf6 !important;
  text-decoration: none;
}
body.relay-store-theme.single-product .product_meta a:hover { text-decoration: underline; }

/* Porto's separate actions widget is intentionally NOT a purchase panel. */
body.relay-store-theme.single-product :is(.elementor-widget-porto_cp_add_to_cart .product-summary-wrap, .entry-summary form.cart) {
  border-radius: 17px;
}
body.relay-store-theme.single-product .elementor-widget-porto_cp_add_to_cart .product-summary-wrap {
  position: relative;
  padding: 22px !important;
  background: linear-gradient(155deg, #12243b, #0d172a 78%) !important;
  border: 1px solid var(--relay-product-edge) !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.20) !important;
}
body.relay-store-theme.single-product .elementor-widget-porto_cp_add_to_cart .product-summary-wrap::before {
  background: linear-gradient(90deg, #1dc1ea, #8051f0 62%, #f49635);
  opacity: .9;
}
body.relay-store-theme.single-product :is(.elementor-widget-porto_cp_add_to_cart table.variations, .entry-summary table.variations) {
  background: rgba(6, 14, 27, .53) !important;
  border: 1px solid rgba(71,129,177,.25) !important;
  border-radius: 12px !important;
}
body.relay-store-theme.single-product table.variations :is(th.label, th.label label, td.label, label) {
  color: #e9f6ff !important;
  font-size: .82rem !important;
  font-weight: 850 !important;
}
body.relay-store-theme.single-product table.variations :is(select, .filter-item:not(.filter-color):not(.filter-image)) {
  border-radius: 9px;
  border-color: rgba(102, 150, 194, .42);
}
body.relay-store-theme.single-product table.variations :is(.filter-item.active, .active > .filter-item) {
  border-color: #bba4ff !important;
  box-shadow: 0 0 0 2px rgba(140,109,238,.25) !important;
}
body.relay-store-theme.single-product .reset_variations {
  color: #88e4ff !important;
  text-underline-offset: 3px;
}
body.relay-store-theme.single-product .quantity {
  border-color: rgba(88, 141, 189, .38);
  border-radius: 11px;
}
body.relay-store-theme.single-product .quantity :is(.minus,.plus) {
  background: #1b2b45;
  color: #e8f6ff;
}
body.relay-store-theme.single-product .single_add_to_cart_button {
  border-radius: 11px !important;
  background: linear-gradient(115deg, #7341cf, #276cbd) !important;
  box-shadow: 0 9px 20px rgba(51, 67, 175, .27) !important;
  min-height: 50px;
  transition: filter .2s ease, box-shadow .2s ease;
}
body.relay-store-theme.single-product .single_add_to_cart_button:hover:not(:disabled):not(.disabled) {
  filter: brightness(1.10);
  box-shadow: 0 12px 24px rgba(65, 102, 206, .32) !important;
}
body.relay-store-theme.single-product :is(.entry-summary .product-summary-wrap, .elementor-widget-porto_cp_add_to_cart) .woocommerce-variation-availability,
body.relay-store-theme.single-product .single_variation_wrap .woocommerce-variation-price {
  color: #d6e7f9;
}

/* Keep secondary actions understated but readable. */
body.relay-store-theme.single-product .product-share .share-links a {
  width: 37px;
  height: 37px;
  line-height: 35px;
  border-radius: 9px;
  background: #14253b;
  border: 1px solid rgba(69,139,186,.42);
  color: #cde5f6;
}
body.relay-store-theme.single-product .product-share .share-links a:hover {
  background: #21385a;
  border-color: #4ac8ed;
}
/* Google+ was retired; preserve other social share destinations. */
body.relay-store-theme.single-product .product-share .share-links :is(.share-googleplus, .share-gplus, a[aria-label="Google+"], a[title="Google+"]) {
  display: none !important;
}
body.relay-store-theme.single-product :is(.elementor-widget-porto_cp_wishlist, .yith-wcwl-add-to-wishlist) a {
  color: #d2e3f9 !important;
}
body.relay-store-theme.single-product :is(.product-nav, .product-nav-cont) a {
  border: 1px solid rgba(69, 139, 186, .4);
  border-radius: 999px;
  background: rgba(17, 37, 61, .8);
  color: #d7eafd;
}

/* Readable tabs and review text, no change to responsive-tab show/hide logic. */
body.relay-store-theme.single-product :is(.woocommerce-tabs, .product-tab-container) {
  position: relative;
  background: linear-gradient(165deg, #121e31, #0c1727) !important;
  border: 1px solid rgba(55, 131, 182, .34) !important;
  border-radius: 17px;
  padding: clamp(17px, 2.7vw, 29px);
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}
body.relay-store-theme.single-product .woocommerce-tabs :is(.resp-tab-item, .nav-tabs a, ul.tabs a) {
  color: #c5d6ea !important;
  font-size: .89rem !important;
  font-weight: 800;
  letter-spacing: .01em;
}
body.relay-store-theme.single-product .woocommerce-tabs :is(.resp-tab-active, .nav-tabs > li.active > a, ul.tabs li.active > a) {
  color: #fff !important;
  border-color: rgba(156, 112, 239, .74) !important;
  background: linear-gradient(125deg, rgba(128,78,202,.32), rgba(25,109,151,.22)) !important;
}
body.relay-store-theme.single-product .woocommerce-tabs :is(.tab-content, .woocommerce-Tabs-panel) {
  font-size: 1rem !important;
  line-height: 1.82 !important;
  color: #d2e0ed !important;
}
body.relay-store-theme.single-product .woocommerce-tabs :is(p,li) {
  font-size: 1rem;
  line-height: 1.78;
  color: #d2e0ed !important;
}
body.relay-store-theme.single-product .woocommerce-tabs :is(p,ul,ol) { margin-bottom: 1.1em; }
body.relay-store-theme.single-product .woocommerce-tabs :is(ul,ol) { padding-left: 23px; }
body.relay-store-theme.single-product .woocommerce-tabs :is(h2,h3,h4) { margin: 19px 0 13px; line-height: 1.3; }
body.relay-store-theme.single-product .woocommerce-tabs :is(table.shop_attributes,table) { border-radius: 11px; }
body.relay-store-theme.single-product .woocommerce-tabs #review_form :is(input,textarea,select) { border-radius: 9px; }

/* Related / upsell sections, targeting both native WooCommerce and Porto Elementor widgets. */
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) {
  margin-top: 31px;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products) > h2,
body.relay-store-theme.single-product .elementor-widget-porto_cp_linked :is(.sp-linked-heading, .slider-title) {
  color: #f5faff !important;
  font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
  font-weight: 850 !important;
  letter-spacing: -.01em;
  margin: 0 0 19px !important;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.product-col > .porto-section, .product-col > .product-inner, li.product > .product-inner) {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: linear-gradient(175deg, #14263b, #0b1728) !important;
  border: 1px solid rgba(58,136,185,.39) !important;
  border-radius: 15px !important;
  padding: 9px;
  overflow: hidden;
  box-shadow: 0 10px 23px rgba(0,0,0,.17);
  transition: border-color .2s ease, box-shadow .2s ease;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.product-col > .porto-section, .product-col > .product-inner, li.product > .product-inner):hover {
  border-color: rgba(56,200,238,.58) !important;
  box-shadow: 0 13px 28px rgba(0,0,0,.22);
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.product-image, .porto-tb-featured-image, .tb-featured-image, .product-thumbnail) {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 190px;
  margin: 0 0 12px !important;
  padding: 9px;
  background: #f2f5f9 !important;
  border: 1px solid #dce5ee;
  border-radius: 11px !important;
  overflow: hidden;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.product-image, .porto-tb-featured-image, .tb-featured-image, .product-thumbnail) a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.product-image, .porto-tb-featured-image, .tb-featured-image, .product-thumbnail) img {
  display: block;
  max-width: 100% !important;
  width: auto !important;
  max-height: 186px;
  height: auto !important;
  object-fit: contain !important;
  margin: auto;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.product-content, .product-details) {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 145px;
  padding: 7px 7px 12px !important;
  background: transparent !important;
  gap: 7px;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.product-title, .post-title, .woocommerce-loop-product__title),
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.product-title, .post-title, .woocommerce-loop-product__title) a {
  color: #edf7ff !important;
  font-size: .9rem !important;
  line-height: 1.45 !important;
  font-weight: 780 !important;
  margin: 0 !important;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.category-list, .tb-meta-product_cat) {
  color: #91abc5 !important;
  font-size: .68rem !important;
  letter-spacing: .06em;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.tb-woo-price, .price) {
  color: #fff !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  margin-top: auto !important;
}
body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.tb-woo-price, .price) .amount {
  color: inherit;
}

@media (max-width: 767px) {
  body.relay-store-theme.single-product .elementor-widget-porto_cp_add_to_cart .product-summary-wrap {
    padding: 17px !important;
  }
  body.relay-store-theme.single-product :is(.related.products, .upsells.products, .elementor-widget-porto_cp_linked) :is(.product-image, .porto-tb-featured-image, .tb-featured-image, .product-thumbnail) {
    min-height: 170px;
  }
  body.relay-store-theme.single-product :is(.woocommerce-tabs, .product-tab-container) { padding: 16px; }
  /* Porto uses responsive accordions on small screens. If a tab list remains
     visible instead, wrap the existing links rather than letting them overflow. */
  body.relay-store-theme.single-product .woocommerce-tabs .resp-tabs-list { flex-wrap: wrap; }
}
@media (max-width: 480px) {
  body.relay-store-theme.single-product :is(.entry-summary .product_title, .elementor-widget-porto_cp_title .product_title) {
    font-size: 1.52rem !important;
  }
  body.relay-store-theme.single-product .single_add_to_cart_button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.relay-store-theme.single-product :is(.single_add_to_cart_button, .product-inner, .porto-section) { transition: none !important; }
}
