/* Relay Radio Store — Build 0032 single product final polish.
 * Presentation only. Review submissions, WooCommerce attributes, product images,
 * gallery controls, variations, prices and linked product URLs are unchanged.
 */

/* Long titles: proportionate to product photo, with natural wraps. */
body.relay-store-theme.single-product :is(
  .entry-summary .product_title,
  .elementor-widget-porto_cp_title .product_title
) {
  font-size: clamp(1.42rem, 2vw, 1.93rem) !important;
  line-height: 1.27 !important;
  letter-spacing: -.022em !important;
  overflow-wrap: break-word;
}

/* Image gallery: Porto's .owl-item.active means 'visible', not selected.
 * Revert ALL thumbnails to quiet neutral borders, then highlight only genuine
 * selected-thumb classes (never all four visible Owl items). */
body.relay-store-theme.single-product :is(
  .product-thumbnails, .product-thumbs-slider, .flex-control-thumbs
) :is(.img-thumbnail, img) {
  border: 1px solid #c7d5e4 !important;
  border-radius: 9px !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .11) !important;
}
body.relay-store-theme.single-product .product-thumbs-slider .owl-item.active img,
body.relay-store-theme.single-product .product-thumbs-slider .owl-item.active .img-thumbnail {
  border-color: #c7d5e4 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.11) !important;
}
/* Explicit selected states (Porto, FlexSlider and gallery variants). */
body.relay-store-theme.single-product :is(
  .product-thumbnails a.selected, .product-thumbnails a.current,
  .product-thumbnails a[aria-current="true"],
  .product-thumbs-slider a.selected, .product-thumbs-slider a.current,
  .product-thumbs-slider a[aria-current="true"],
  .product-thumbs-slider .owl-item.current, .product-thumbs-slider .owl-item.selected,
  .flex-control-thumbs .flex-active
) :is(img, .img-thumbnail),
body.relay-store-theme.single-product .flex-control-thumbs img.flex-active,
body.relay-store-theme.single-product .product-thumbs-slider img.relay-current-thumb {
  border: 2px solid #58cdee !important;
  box-shadow: 0 0 0 2px rgba(124, 78, 218, .28) !important;
}
body.relay-store-theme.single-product :is(.product-thumbnails,.product-thumbs-slider,.flex-control-thumbs) a:focus-visible {
  outline: 2px solid #48d4f5;
  outline-offset: 2px;
}

/* The real description is retained. Semantic feature lists, when present, read
 * as merchandise specifications instead of tightly packed paragraphs. */
body.relay-store-theme.single-product .woocommerce-tabs .relay-description-heading {
  font-size: .91rem !important;
  text-transform: uppercase;
  letter-spacing: .065em;
  color: #82dfff !important;
  font-weight: 850;
  margin: 21px 0 9px !important;
}
body.relay-store-theme.single-product .woocommerce-tabs ul.relay-product-feature-list {
  list-style: none;
  padding: 0 !important;
  margin: 0 0 17px !important;
  display: grid;
  gap: 7px;
}
body.relay-store-theme.single-product .woocommerce-tabs ul.relay-product-feature-list li {
  position: relative;
  padding: 9px 12px 9px 27px;
  background: rgba(19, 39, 62, .72);
  border: 1px solid rgba(79, 143, 188, .2);
  border-radius: 9px;
  font-size: .91rem;
  line-height: 1.57;
}
body.relay-store-theme.single-product .woocommerce-tabs ul.relay-product-feature-list li::before {
  content: '';
  position: absolute;
  left: 12px;
  top: 17px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #35c9f1;
  box-shadow: 0 0 0 3px rgba(53,201,241,.10);
}

/* Attributes remain visible whenever WooCommerce actually provides facts.
 * Format Porto/WooCommerce specifications as legible rows. */
body.relay-store-theme.single-product .woocommerce-tabs :is(
  #tab-additional_information, .woocommerce-Tabs-panel--additional_information,
  table.woocommerce-product-attributes, table.shop_attributes
) { color: #d7e8f7 !important; }
body.relay-store-theme.single-product .woocommerce-tabs :is(
  table.woocommerce-product-attributes, table.shop_attributes
) {
  width: 100%;
  border: 1px solid rgba(76, 136, 186, .32) !important;
  border-radius: 11px !important;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: #0b1828 !important;
}
body.relay-store-theme.single-product .woocommerce-tabs :is(
  table.woocommerce-product-attributes, table.shop_attributes
) :is(th,td) {
  border-color: rgba(76, 136, 186, .21) !important;
  color: #e5f0fc !important;
  background: #101e32 !important;
  padding: 13px 16px !important;
  font-size: .94rem;
  text-align: left;
}
body.relay-store-theme.single-product .woocommerce-tabs :is(
  table.woocommerce-product-attributes, table.shop_attributes
) th {
  width: 35%;
  font-weight: 800;
  color: #9be4ff !important;
}

/* Reviews: Porto may paint a white background on #respond/.comment-form even
 * when #reviews and its inputs are dark. Restore the full dark form surface. */
body.relay-store-theme.single-product .woocommerce-tabs :is(
  #reviews, #comments, #review_form_wrapper, #review_form, #respond,
  .comment-respond, .comment-form, .comment-form-rating, .comment-form-comment,
  .comment-form-author, .comment-form-email, .comment-form-cookies-consent
) {
  color: #e4effb !important;
  box-shadow: none;
}
body.relay-store-theme.single-product .woocommerce-tabs :is(
  #review_form_wrapper, #review_form, .comment-form, .comment-form-rating,
  .comment-form-comment, .comment-form-author, .comment-form-email,
  .comment-form-cookies-consent
) {
  background: transparent !important;
}
body.relay-store-theme.single-product .woocommerce-tabs :is(#respond, .comment-respond) {
  background: linear-gradient(145deg, #111e33, #0b1729) !important;
  border: 1px solid rgba(69,138,184,.35) !important;
  padding: clamp(16px, 2.5vw, 26px) !important;
  border-radius: 13px !important;
  margin: 16px 0 0;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews :is(
  h2, h3, #reply-title, .comment-reply-title
) {
  color: #f3f8ff !important;
  font-size: clamp(1.05rem, 1.6vw, 1.24rem) !important;
  line-height: 1.45;
  margin: 0 0 18px;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews :is(
  label, .comment-notes, .required, .woocommerce-noreviews
) { color: #c5daef !important; }
body.relay-store-theme.single-product .woocommerce-tabs #reviews :is(
  input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
  textarea, select
) {
  width: 100%;
  max-width: 100%;
  display: block;
  min-height: 44px;
  padding: 11px 13px;
  color: #f1f7ff !important;
  background: #091627 !important;
  border: 1px solid #3b6284 !important;
  border-radius: 10px !important;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.15) !important;
  font-size: .95rem;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews textarea {
  min-height: 130px;
  resize: vertical;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews :is(input,textarea,select):focus-visible {
  border-color: #48d4f5 !important;
  outline: 2px solid rgba(72,212,245,.40);
  outline-offset: 1px;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews :is(.stars, .comment-form-rating) {
  color: #f1c76e !important;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews p.stars a {
  color: #ffca6b !important;
  opacity: 1;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews :is(
  .form-submit input[type="submit"], #submit, button[type="submit"]
) {
  background: linear-gradient(115deg, #7344d2, #216fbf) !important;
  border: 1px solid rgba(155,167,252,.28) !important;
  color: #fff !important;
  min-height: 44px;
  width: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 24px !important;
  border-radius: 10px !important;
  font-weight: 850;
  box-shadow: 0 8px 20px rgba(52, 84, 170, .21) !important;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews .form-submit input[type="submit"]:hover {
  filter: brightness(1.12);
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews .comment-form-cookies-consent {
  display: flex;
  gap: 9px;
  align-items: flex-start;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews input[type="checkbox"] {
  accent-color: #4bc7ed;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
}
body.relay-store-theme.single-product .woocommerce-tabs #reviews .comment-form :is(p, .form-row) {
  margin-bottom: 15px;
}

/* Related Product layout: retain WooCommerce image and price, add breathing
 * room between cards without interfering with the existing carousel setup. */
body.relay-store-theme.single-product :is(.related.products,.upsells.products,.elementor-widget-porto_cp_linked) :is(
  .products, .products-container, .products-slider, .owl-stage
) { column-gap: 8px; }
body.relay-store-theme.single-product :is(.related.products,.upsells.products,.elementor-widget-porto_cp_linked) .product-col > :is(.porto-section,.product-inner) {
  padding: 11px !important;
}
body.relay-store-theme.single-product :is(.related.products,.upsells.products,.elementor-widget-porto_cp_linked) :is(.product-content,.product-details) {
  gap: 9px !important;
  min-height: 158px;
}
body.relay-store-theme.single-product :is(.related.products,.upsells.products,.elementor-widget-porto_cp_linked) :is(.post-title,.product-title,.woocommerce-loop-product__title) {
  line-height: 1.5 !important;
}

@media (max-width: 767px) {
  body.relay-store-theme.single-product :is(.entry-summary .product_title,.elementor-widget-porto_cp_title .product_title) {
    font-size: 1.43rem !important;
    line-height: 1.29 !important;
  }
  body.relay-store-theme.single-product .woocommerce-tabs #respond { padding: 15px !important; }
}
@media (prefers-reduced-motion:reduce) {
  body.relay-store-theme.single-product .product-thumbnails img { transition: none !important; }
}

/* Porto may mark every visible thumbnail wrapper .active. A non-selected image
 * must stay neutral even inside an .active wrapper. The locally selected thumb
 * is the one with relay-current-thumb, not every visible thumbnail. */
body.relay-store-theme.single-product .product-thumbnails .active img.img-thumbnail:not(.relay-current-thumb),
body.relay-store-theme.single-product .product-thumbnails .active img:not(.relay-current-thumb),
body.relay-store-theme.single-product .product-thumbs-slider .active img:not(.relay-current-thumb) {
  border: 1px solid #c7d5e4 !important;
  box-shadow: 0 1px 4px rgba(0,0,0,.11) !important;
}
body.relay-store-theme.single-product .product-thumbnails img.relay-current-thumb,
body.relay-store-theme.single-product .product-thumbs-slider img.relay-current-thumb {
  border: 2px solid #58cdee !important;
  box-shadow: 0 0 0 2px rgba(124,78,218,.28) !important;
}
