/* Phase 4 — single product foundation. Hook-first WooCommerce presentation. */
body.tc-single-product-page { background: var(--tc-color-background, #faf8f2); }
.tc-single-product-page .site-main.tc-commerce { overflow: clip; }
.tc-single-product-page .woocommerce-breadcrumb { max-width: var(--tc-container, 1320px); margin: 20px auto 12px; padding-inline: 20px; color: var(--tc-color-text-secondary); font-size: var(--tc-font-small); }
.tc-single-product-page div.product { max-width: var(--tc-container, 1320px); margin: 0 auto; padding: 0 20px 64px; }
.tc-product-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 24px; align-items: start; }
.tc-product-hero::after { content: ""; display: block; clear: both; }
.tc-product-hero .woocommerce-product-gallery,
.tc-product-hero .summary { float: none ; width: auto ; margin: 0 ; }
.tc-product-hero .woocommerce-product-gallery { grid-column: 1; grid-row: 1; position: sticky; top: 92px; padding: 16px; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-xl); background: var(--tc-color-white); box-shadow: var(--tc-shadow-sm); }
.tc-product-hero .woocommerce-product-gallery__wrapper { border-radius: calc(var(--tc-radius-xl) - 8px); overflow: hidden; background: #f8f4ec; }
.tc-product-hero .woocommerce-product-gallery__image a { display: block; }
.tc-product-hero .woocommerce-product-gallery__image img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border-radius: calc(var(--tc-radius-xl) - 8px); }
.tc-product-hero .woocommerce-product-gallery__trigger { inset: 28px auto auto 28px ; width: 44px ; height: 44px ; border-radius: 50% ; background: var(--tc-color-white) ; box-shadow: var(--tc-shadow-sm); z-index: 3; }
.tc-product-hero .flex-control-thumbs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px ; }
.tc-product-hero .flex-control-thumbs li { width: auto ; float: none ; }
.tc-product-hero .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; border: 2px solid transparent; border-radius: var(--tc-radius-md); opacity: .72; transition: border-color .2s ease, opacity .2s ease; }
.tc-product-hero .flex-control-thumbs img.flex-active { border-color: var(--tc-color-primary); opacity: 1; }
.tc-product-hero .summary { grid-column: 2; grid-row: 1; padding: 28px; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-xl); background: var(--tc-color-white); box-shadow: var(--tc-shadow-sm); }
.tc-product-summary__kicker { margin: 0 0 8px; color: var(--tc-color-primary); font-size: var(--tc-font-small); font-weight: 700; }
.tc-product-hero .product_title { margin: 0; color: var(--tc-color-text-primary); font-size: clamp(28px, 3vw, 42px); line-height: 1.25; }
.tc-product-hero .woocommerce-product-rating { display: flex; align-items: center; gap: 10px; margin: 14px 0 0 ; }
.tc-product-hero .star-rating { color: var(--tc-color-gold); }
.tc-product-hero .woocommerce-review-link { color: var(--tc-color-text-secondary); font-size: var(--tc-font-small); }
.tc-product-summary__meta { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; margin: 14px 0 22px; padding-bottom: 18px; border-bottom: 1px solid var(--tc-color-border); color: var(--tc-color-text-secondary); font-size: var(--tc-font-small); }
.tc-product-stock { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; }
.tc-product-stock > span { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.tc-product-stock.is-in-stock { color: var(--tc-color-success); }
.tc-product-stock.is-out-of-stock { color: var(--tc-color-error); }
.tc-product-hero .price { margin: 0 0 16px ; color: var(--tc-color-primary) ; font-size: clamp(25px, 3vw, 36px) ; font-weight: 800; }
.tc-product-hero .price del { color: var(--tc-color-text-secondary); font-size: .58em; font-weight: 500; opacity: .75; }
.tc-product-hero .price ins { text-decoration: none; }
.tc-product-hero .woocommerce-product-details__short-description { color: var(--tc-color-text-secondary); line-height: 1.9; }
.tc-purchase-box__intro { margin: 24px 0 14px; padding-top: 20px; border-top: 1px solid var(--tc-color-border); }
.tc-purchase-box__intro h2 { margin: 0 0 4px; font-size: var(--tc-font-h5); }
.tc-purchase-box__intro p { margin: 0; color: var(--tc-color-text-secondary); font-size: var(--tc-font-small); line-height: 1.8; }
.tc-product-hero form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 16px 0 ; }
.tc-product-hero form.cart .variations { flex-basis: 100%; margin: 0 0 12px ; }
.tc-product-hero form.cart .variations tr { display: grid; grid-template-columns: 92px minmax(0, 1fr); align-items: center; gap: 8px; margin-bottom: 10px; }
.tc-product-hero form.cart .variations th,
.tc-product-hero form.cart .variations td { display: block; padding: 0 ; }
.tc-product-hero form.cart select { width: 100%; min-height: 48px; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-button); background: var(--tc-color-white); padding-inline: 12px; font: inherit; }
.tc-product-hero .quantity { margin: 0 ; }
.tc-product-hero .quantity .qty { width: 92px; min-height: 52px; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-button); font: inherit; text-align: center; }
.tc-product-hero .single_add_to_cart_button { flex: 1; min-height: 52px; border: 0 ; border-radius: var(--tc-radius-button) ; background: var(--tc-color-primary) ; color: #fff ; font-family: inherit ; font-weight: 700 ; box-shadow: var(--tc-shadow-xs); }
.tc-product-hero .single_add_to_cart_button:hover { background: color-mix(in srgb, var(--tc-color-primary) 88%, #000) ; }
.tc-product-hero .stock.out-of-stock { color: var(--tc-color-error); font-weight: 700; }
.tc-purchase-assurance { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.tc-purchase-assurance > div { display: flex; gap: 10px; padding: 12px; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-md); background: var(--tc-color-background); }
.tc-purchase-assurance__icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; border-radius: 50%; background: rgba(32,92,59,.09); color: var(--tc-color-primary); }
.tc-purchase-assurance strong,
.tc-purchase-assurance small { display: block; }
.tc-purchase-assurance small { margin-top: 2px; color: var(--tc-color-text-secondary); font-size: 11px; line-height: 1.5; }
.tc-product-payment-note { display: flex; align-items: center; gap: 10px; margin-top: 16px; color: var(--tc-color-text-secondary); }
.tc-product-payment-note > span { color: var(--tc-color-gold); font-size: 24px; }
.tc-product-payment-note p { margin: 0; line-height: 1.4; }
.tc-product-payment-note strong { color: var(--tc-color-text-primary); }
.tc-product-hero .product_meta { display: none; }
.tc-product-trust-strip { grid-column: 1 / -1; margin: 28px 0 48px; }
.tc-product-trust-strip ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 18px 20px; list-style: none; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-lg); background: var(--tc-color-white); box-shadow: var(--tc-shadow-xs); }
.tc-product-trust-strip li { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 58px; padding: 0 18px; border-inline-end: 1px solid var(--tc-color-border); }
.tc-product-trust-strip li:last-child { border-inline-end: 0; }
.tc-product-trust-strip li > span { color: var(--tc-color-gold); font-size: 26px; }
.tc-product-trust-strip strong,
.tc-product-trust-strip small { display: block; }
.tc-product-trust-strip small { color: var(--tc-color-text-secondary); font-size: 11px; margin-top: 3px; }
.tc-single-product-page .woocommerce-tabs,
.tc-single-product-page .related,
.tc-single-product-page .upsells { max-width: var(--tc-container); margin-inline: auto; }

@media (max-width: 992px) {
  .tc-product-hero { grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); gap: 16px; }
  .tc-product-hero .summary { padding: 22px; }
  .tc-product-trust-strip ul { grid-template-columns: 1fr 1fr; }
  .tc-product-trust-strip li:nth-child(2) { border-inline-end: 0; }
  .tc-product-trust-strip li:nth-child(-n+2) { border-bottom: 1px solid var(--tc-color-border); padding-bottom: 14px; margin-bottom: 14px; }
}

@media (max-width: 767px) {
  .tc-single-product-page .woocommerce-breadcrumb { margin-top: 12px; padding-inline: 16px; overflow-x: auto; white-space: nowrap; }
  .tc-single-product-page div.product { padding: 0 14px 48px; }
  .tc-product-hero { display: flex; flex-direction: column; gap: 14px; }
  .tc-product-hero .woocommerce-product-gallery { position: relative; top: auto; width: 100% ; padding: 10px; border-radius: var(--tc-radius-lg); }
  .tc-product-hero .summary { width: 100% ; padding: 20px 16px; border-radius: var(--tc-radius-lg); }
  .tc-product-hero .product_title { font-size: 28px; }
  .tc-product-hero .flex-control-thumbs { gap: 7px; }
  .tc-product-hero form.cart { display: grid; grid-template-columns: 96px minmax(0, 1fr); }
  .tc-product-hero form.cart .variations,
  .tc-product-hero form.cart .single_variation_wrap { grid-column: 1 / -1; }
  .tc-product-hero form.cart .single_variation_wrap { display: block; }
  .tc-product-hero form.cart .single_variation_wrap .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 10px; }
  .tc-purchase-assurance { grid-template-columns: 1fr; }
  .tc-product-trust-strip { margin: 18px 0 34px; }
  .tc-product-trust-strip ul { grid-template-columns: 1fr; padding: 14px 16px; }
  .tc-product-trust-strip li { justify-content: flex-start; border-inline-end: 0; border-bottom: 1px solid var(--tc-color-border); padding: 12px 0 ; margin: 0 ; }
  .tc-product-trust-strip li:last-child { border-bottom: 0; }
}

/* Phase 4 / Step 2 — product benefits, specifications, nutrition and content. */
.tc-product-content { display: grid; gap: 24px; margin-block: 0 56px; padding-inline: 20px; }
.tc-product-section { padding: clamp(22px, 3vw, 36px); border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-xl); background: var(--tc-color-white); box-shadow: var(--tc-shadow-xs); }
.tc-product-section__heading { margin-bottom: 22px; }
.tc-product-section__heading p { margin: 0 0 5px; color: var(--tc-color-primary); font-size: var(--tc-font-small); font-weight: 700; }
.tc-product-section__heading h2 { margin: 0; color: var(--tc-color-text-primary); font-size: clamp(24px, 3vw, 34px); line-height: 1.35; }
.tc-product-benefits ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.tc-product-benefits li { display: flex; align-items: flex-start; gap: 12px; min-width: 0; padding: 16px; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-lg); background: var(--tc-color-background); }
.tc-benefit-icon { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: rgba(32,92,59,.1); color: var(--tc-color-primary); }
.tc-benefit-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.tc-product-benefits strong,
.tc-product-benefits small { display: block; overflow-wrap: anywhere; }
.tc-product-benefits strong { color: var(--tc-color-text-primary); font-size: 15px; }
.tc-product-benefits small { margin-top: 4px; color: var(--tc-color-text-secondary); font-size: 12px; line-height: 1.7; }
.tc-table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tc-product-section table { width: 100%; min-width: 520px; border-collapse: collapse; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-lg); overflow: hidden; }
.tc-product-section th,
.tc-product-section td { padding: 15px 18px; border-bottom: 1px solid var(--tc-color-border); text-align: right; vertical-align: top; }
.tc-product-section tr:last-child th,
.tc-product-section tr:last-child td { border-bottom: 0; }
.tc-product-section th { width: 34%; color: var(--tc-color-text-primary); font-weight: 700; background: color-mix(in srgb, var(--tc-color-background) 76%, #fff); }
.tc-product-section td { color: var(--tc-color-text-secondary); background: var(--tc-color-white); }
.tc-product-nutrition thead th { color: #fff; background: var(--tc-color-primary); }
.tc-product-description__content { color: var(--tc-color-text-secondary); font-size: var(--tc-font-body); line-height: 2; }
.tc-product-description__content > :first-child { margin-top: 0; }
.tc-product-description__content > :last-child { margin-bottom: 0; }
.tc-product-description__content h2,
.tc-product-description__content h3,
.tc-product-description__content h4 { color: var(--tc-color-text-primary); line-height: 1.5; }
.tc-product-description__content img { max-width: 100%; height: auto; border-radius: var(--tc-radius-lg); }
.tc-single-product-page .woocommerce-tabs { margin-top: 24px; }

@media (max-width: 992px) {
  .tc-product-benefits ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .tc-product-content { gap: 14px; margin-bottom: 36px; padding-inline: 14px; }
  .tc-product-section { padding: 20px 16px; border-radius: var(--tc-radius-lg); }
  .tc-product-section__heading { margin-bottom: 16px; }
  .tc-product-benefits ul { grid-template-columns: 1fr; }
  .tc-product-benefits li { padding: 14px; }
  .tc-product-section table { min-width: 480px; }
  .tc-product-section th,
  .tc-product-section td { padding: 13px 14px; }
}

/* Phase 4 / Step 3 — usage guidance, product FAQ and authentic reviews. */
.tc-product-usage__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tc-product-usage article { display: flex; align-items: flex-start; gap: 14px; padding: 18px; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-lg); background: var(--tc-color-background); }
.tc-product-usage article > span { display: grid; place-items: center; width: 46px; height: 46px; flex: 0 0 46px; border-radius: 50%; background: rgba(32,92,59,.1); color: var(--tc-color-primary); }
.tc-product-usage svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tc-product-usage h3 { margin: 0 0 6px; color: var(--tc-color-text-primary); font-size: var(--tc-font-h6); }
.tc-product-usage p { margin: 0; color: var(--tc-color-text-secondary); line-height: 1.9; overflow-wrap: anywhere; }
.tc-product-faq .tc-accordion { display: grid; gap: 8px; }
.tc-product-faq .tc-accordion__item { border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-md); background: var(--tc-color-white); overflow: clip; }
.tc-product-faq .tc-accordion__heading { margin: 0; font-size: inherit; }
.tc-product-faq .tc-accordion__trigger { width: 100%; min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 0; background: transparent; color: var(--tc-color-text-primary); padding: 14px 16px; text-align: right; font: inherit; font-weight: 700; cursor: pointer; }
.tc-product-faq .tc-accordion__icon { position: relative; width: 18px; height: 18px; flex: 0 0 18px; }
.tc-product-faq .tc-accordion__icon::before,
.tc-product-faq .tc-accordion__icon::after { content: ""; position: absolute; inset: 50% auto auto 50%; width: 12px; height: 2px; border-radius: 2px; background: currentColor; transform: translate(-50%, -50%); }
.tc-product-faq .tc-accordion__icon::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform var(--tc-motion-fast) ease-out; }
.tc-product-faq .tc-accordion__trigger[aria-expanded="true"] .tc-accordion__icon::after { transform: translate(-50%, -50%) rotate(0); }
.tc-product-faq .tc-accordion__panel { padding: 0 16px 16px; color: var(--tc-color-text-secondary); line-height: 1.9; }
.tc-product-faq .tc-accordion__panel p { margin: 0; }
.tc-single-product-page .woocommerce-tabs { padding: clamp(22px, 3vw, 36px); border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-xl); background: var(--tc-color-white); box-shadow: var(--tc-shadow-xs); }
.tc-single-product-page .woocommerce-tabs ul.tabs { display: none ; }
.tc-single-product-page .woocommerce-tabs .panel { margin: 0 ; }
.tc-single-product-page .woocommerce-tabs .woocommerce-Reviews-title { margin: 0 0 20px; color: var(--tc-color-text-primary); font-size: clamp(24px, 3vw, 34px); }
.tc-single-product-page #reviews { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 24px; }
.tc-single-product-page #comments,
.tc-single-product-page #review_form_wrapper { min-width: 0; }
.tc-single-product-page #reviews ol.commentlist { margin: 0; padding: 0; list-style: none; }
.tc-single-product-page #reviews ol.commentlist li { margin: 0 0 12px; padding: 16px; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-lg); background: var(--tc-color-background); }
.tc-single-product-page #reviews ol.commentlist li img.avatar { width: 48px ; height: 48px ; border-radius: 50%; border: 0 ; padding: 0 ; }
.tc-single-product-page #reviews .comment-text { margin-inline-start: 64px ; border: 0 ; padding: 0 ; }
.tc-single-product-page #reviews .description { color: var(--tc-color-text-secondary); line-height: 1.85; }
.tc-single-product-page #review_form_wrapper { padding: 20px; border-radius: var(--tc-radius-lg); background: var(--tc-color-background); }
.tc-single-product-page #review_form_wrapper .comment-reply-title { display: block; margin-bottom: 12px; font-size: var(--tc-font-h5); font-weight: 800; }
.tc-single-product-page #review_form label { display: block; margin-bottom: 6px; font-weight: 700; }
.tc-single-product-page #review_form textarea,
.tc-single-product-page #review_form input[type="text"],
.tc-single-product-page #review_form input[type="email"] { width: 100%; min-height: 48px; border: 1px solid var(--tc-color-border); border-radius: var(--tc-radius-button); background: var(--tc-color-white); padding: 12px; font: inherit; }
.tc-single-product-page #review_form textarea { min-height: 130px; resize: vertical; }
.tc-single-product-page #review_form .submit { min-height: 48px; border: 0; border-radius: var(--tc-radius-button); background: var(--tc-color-primary); color: #fff; padding: 10px 22px; font: inherit; font-weight: 800; cursor: pointer; }
.tc-single-product-page .star-rating,
.tc-single-product-page .stars { color: var(--tc-color-gold); }

@media (max-width: 767px) {
  .tc-product-usage__grid { grid-template-columns: 1fr; }
  .tc-product-usage article { padding: 15px; }
  .tc-single-product-page .woocommerce-tabs { margin-inline: 14px; padding: 20px 16px; border-radius: var(--tc-radius-lg); }
  .tc-single-product-page #reviews { grid-template-columns: 1fr; gap: 16px; }
  .tc-single-product-page #review_form_wrapper { padding: 16px; }
}

/* Phase 4 / Step 4 — recommendations, articles, recently viewed, mobile CTA */
.tc-product-recommendations,
.tc-product-articles,
.tc-recent-products {
  padding-block: var(--tc-space-12, 48px);
}

.tc-product-recommendations__grid,
.tc-product-articles__grid,
.tc-recent-products__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--tc-space-6, 24px);
}

.tc-product-recommendations .tc-product-card,
.tc-recent-products .tc-product-card,
.tc-product-articles .tc-article-card {
  min-width: 0;
  height: 100%;
}

.tc-product-articles {
  border-block: 1px solid var(--tc-color-border, #e7e2d8);
}

.tc-mobile-purchase {
  display: none;
}

@media (max-width: 1100px) {
  .tc-product-recommendations__grid,
  .tc-product-articles__grid,
  .tc-recent-products__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .tc-product-recommendations,
  .tc-product-articles,
  .tc-recent-products {
    padding-block: var(--tc-space-8, 32px);
    overflow: hidden;
  }

  .tc-product-recommendations__grid,
  .tc-product-articles__grid,
  .tc-recent-products__grid {
    display: flex;
    gap: var(--tc-space-4, 16px);
    overflow-x: auto;
    padding: 4px 2px 14px;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .tc-product-recommendations__grid > *,
  .tc-product-articles__grid > *,
  .tc-recent-products__grid > * {
    flex: 0 0 min(78vw, 300px);
    scroll-snap-align: start;
  }

  .tc-mobile-purchase {
    position: fixed;
    z-index: 999;
    inset-inline: 12px;
    inset-block-end: max(12px, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    background: var(--tc-color-surface, #fff);
    background: color-mix(in srgb, var(--tc-color-surface, #fff) 94%, transparent);
    border: 1px solid var(--tc-color-border, #e7e2d8);
    border-radius: var(--tc-radius-lg, 20px);
    box-shadow: var(--tc-shadow-lg, 0 18px 50px rgba(32, 92, 59, .16));
    backdrop-filter: blur(14px);
  }

  .tc-mobile-purchase__info {
    min-width: 0;
    font-weight: 800;
    color: var(--tc-color-text, #1e1e1e);
    line-height: 1.35;
  }

  .tc-mobile-purchase__info del {
    display: none;
  }

  .tc-mobile-purchase__info small {
    display: block;
    margin-top: 2px;
    color: var(--tc-color-text-muted, #666);
    font-size: var(--tc-font-size-caption, 12px);
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .tc-mobile-purchase .tc-button {
    min-height: 48px;
    white-space: nowrap;
  }

  .tc-single-product-page {
    padding-bottom: 88px;
  }
}

@media (max-width: 420px) {
  .tc-mobile-purchase {
    inset-inline: 8px;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }

  .tc-mobile-purchase .tc-button {
    padding-inline: 14px;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tc-product-recommendations__grid,
  .tc-product-articles__grid,
  .tc-recent-products__grid {
    scroll-behavior: auto;
  }
}

/* Phase 4 / Step 5 — final accessibility, performance and regression hardening. */
.tc-single-product-page .product_title:focus,
.tc-single-product-page form.cart :is(input, select, button):focus-visible,
.tc-single-product-page .woocommerce-product-gallery a:focus-visible,
.tc-single-product-page .flex-control-thumbs img:focus-visible,
.tc-mobile-purchase .tc-button:focus-visible {
  outline: 3px solid var(--tc-color-primary, #205c3b);
  outline-offset: 3px;
}

.tc-single-product-page .woocommerce-product-gallery,
.tc-single-product-page .summary,
.tc-product-section,
.tc-product-recommendations,
.tc-product-articles,
.tc-recent-products {
  min-width: 0;
}

.tc-single-product-page .summary :is(.price, .stock, .woocommerce-variation-description),
.tc-product-section,
.tc-product-section td,
.tc-product-section th {
  overflow-wrap: anywhere;
}

.tc-single-product-page .woocommerce-error,
.tc-single-product-page .woocommerce-message,
.tc-single-product-page .woocommerce-info {
  scroll-margin-top: 110px;
}

.tc-product-recommendations,
.tc-product-articles,
.tc-recent-products {
  content-visibility: auto;
  contain-intrinsic-size: 600px;
}

@media (max-width: 767px) {
  .tc-single-product-page div.product {
    padding-inline: 14px;
  }

  .tc-product-hero .woocommerce-product-gallery,
  .tc-product-hero .summary {
    max-width: 100%;
  }

  .tc-single-product-page form.cart .quantity,
  .tc-single-product-page form.cart .single_add_to_cart_button {
    min-height: 48px;
  }
}

@media (forced-colors: active) {
  .tc-mobile-purchase,
  .tc-product-section,
  .tc-product-hero .summary,
  .tc-product-hero .woocommerce-product-gallery {
    border: 1px solid CanvasText;
  }

  .tc-product-stock > span,
  .tc-purchase-assurance__icon {
    forced-color-adjust: none;
  }
}

/* Phase 5 / Step 4 hotfix — isolate the single-product layout from legacy global WooCommerce grid rules. */
.tc-single-product-page .site-main.tc-commerce {
  width: 100%;
  max-width: none;
  padding-block: 24px 0;
}

.tc-single-product-page .site-main.tc-commerce > .woocommerce {
  width: 100%;
}

.tc-single-product-page .woocommerce div.product {
  display: block ;
  width: min(calc(100% - 32px), var(--tc-container, 1320px));
  max-width: var(--tc-container, 1320px);
  margin-inline: auto;
  padding: 0 0 64px;
}

.tc-single-product-page .tc-product-hero {
  width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr);
  gap: clamp(20px, 3vw, 40px);
}

.tc-single-product-page .tc-product-hero .woocommerce-product-gallery,
.tc-single-product-page .tc-product-hero .summary {
  min-width: 0;
  max-width: none;
}

.tc-single-product-page .tc-product-hero .woocommerce-product-gallery__image img {
  object-fit: contain;
  background: #fff;
}

.tc-single-product-page .tc-product-trust-strip,
.tc-single-product-page .tc-product-section,
.tc-single-product-page .woocommerce-tabs,
.tc-single-product-page .tc-product-recommendations,
.tc-single-product-page .tc-product-articles,
.tc-single-product-page .tc-recent-products {
  width: 100%;
  max-width: none;
  grid-column: auto ;
  clear: both;
}

.tc-single-product-page .tc-product-trust-strip .tc-container,
.tc-single-product-page .tc-product-recommendations.tc-container,
.tc-single-product-page .tc-product-articles.tc-container,
.tc-single-product-page .tc-recent-products.tc-container {
  width: 100%;
  max-width: none;
}

.tc-single-product-page .tc-product-recommendations__grid,
.tc-single-product-page .tc-product-articles__grid,
.tc-single-product-page .tc-recent-products__grid {
  align-items: stretch;
}

.tc-single-product-page .tc-product-articles .tc-article-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.tc-single-product-page .tc-product-articles .tc-article-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.tc-single-product-page .tc-product-articles .tc-article-card__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.tc-single-product-page .tc-product-articles .tc-article-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.tc-single-product-page .tc-product-articles .tc-article-card__cta {
  margin-top: auto;
}

@media (max-width: 992px) {
  .tc-single-product-page .woocommerce div.product {
    width: min(calc(100% - 28px), var(--tc-container, 1320px));
  }

  .tc-single-product-page .tc-product-hero {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
  }
}

@media (max-width: 767px) {
  .tc-single-product-page .site-main.tc-commerce {
    padding-top: 12px;
  }

  .tc-single-product-page .woocommerce div.product {
    width: calc(100% - 24px);
    padding-bottom: 40px;
  }

  .tc-single-product-page .tc-product-hero {
    display: flex;
  }
}

/* Premium structural alignment — current standard WooCommerce template only. */
body.single-product.tc-single-product-page .site-main.tc-commerce{width:100%;max-width:none;padding-block:24px 0;overflow:visible}
body.single-product.tc-single-product-page .site-main.tc-commerce>.woocommerce{width:100%}
body.single-product.tc-single-product-page .woocommerce div.product.tc-product-layout{display:block;width:min(calc(100% - 32px),var(--tc-container,1320px));max-width:var(--tc-container,1320px);margin-inline:auto;padding:0 0 64px}

/* SISS single-product fidelity layer — approved product detail reference. */
body.single-product.tc-single-product-page,
body.single-product.tc-single-product-page button,
body.single-product.tc-single-product-page input,
body.single-product.tc-single-product-page select,
body.single-product.tc-single-product-page textarea{font-family:"Yekan Bakh Fanum",Tahoma,sans-serif}
body.single-product.tc-single-product-page{background:linear-gradient(180deg,#fffaf7 0,#fffefd 44%,#fff9f5 100%)}
body.single-product.tc-single-product-page .site-main.tc-commerce{padding-top:14px}
body.single-product.tc-single-product-page .woocommerce div.product.tc-product-layout{width:min(calc(100% - 48px),1360px);max-width:1360px;padding-bottom:28px}
.tc-single-product-page .woocommerce-breadcrumb{max-width:1360px;margin:0 auto 15px;padding-inline:0;color:#7d837e;font-size:11px}

.tc-single-product-page .tc-product-hero{grid-template-columns:minmax(390px,.84fr) minmax(0,1.36fr);gap:22px;direction:ltr}
.tc-single-product-page .tc-product-hero__gallery{grid-column:2;grid-row:1;min-width:0;direction:rtl}
.tc-single-product-page .tc-product-hero__summary{grid-column:1;grid-row:1;direction:rtl}
.tc-single-product-page .tc-product-hero .woocommerce-product-gallery{position:relative;top:auto;padding:13px;border-radius:19px;background:linear-gradient(120deg,#fff3e9,#fffaf5);box-shadow:0 10px 28px rgba(75,53,32,.04)}
.tc-single-product-page .tc-product-hero .woocommerce-product-gallery__wrapper{border-radius:13px;background:linear-gradient(120deg,#fff2e8,#fffaf5)}
.tc-single-product-page .tc-product-hero .woocommerce-product-gallery__image img{aspect-ratio:1.17/1;object-fit:contain;background:transparent}
.tc-single-product-page .tc-product-hero .woocommerce-product-gallery__trigger{inset:18px auto auto 18px;width:40px;height:40px}
.tc-single-product-page .tc-product-hero .flex-control-thumbs{grid-template-columns:repeat(4,112px);justify-content:end;gap:10px;margin-top:10px}
.tc-single-product-page .tc-product-hero .flex-control-thumbs img{border:1px solid #e8dfd6;border-radius:9px;background:#fff;opacity:1}
.tc-single-product-page .tc-product-hero .flex-control-thumbs img.flex-active{border-color:#58745d;box-shadow:0 0 0 2px rgba(88,116,93,.12)}

.tc-single-product-page .tc-product-hero .summary{padding:30px 28px 25px;border-radius:19px;background:rgba(255,255,255,.92);box-shadow:0 10px 28px rgba(75,53,32,.045)}
.tc-product-summary__kicker{display:none}
.tc-single-product-page .tc-product-hero .product_title{color:#58745d;font-size:38px;font-weight:900;line-height:1.3;text-align:center}
.tc-single-product-page .tc-product-hero .woocommerce-product-details__short-description{text-align:center;font-size:12px;line-height:1.95}
.tc-single-product-page .tc-product-hero .woocommerce-product-rating{justify-content:center;margin-top:12px}
.tc-single-product-page .tc-product-summary__meta{justify-content:center;margin:12px 0 18px;padding-bottom:14px;font-size:10px}
.tc-single-product-page .tc-product-hero .price{margin:0 0 14px;text-align:center;color:#4f5c53;font-size:30px}
.tc-single-product-page .tc-purchase-box__intro{margin:14px 0 10px;padding-top:12px}
.tc-single-product-page .tc-purchase-box__intro h2{font-size:13px}
.tc-single-product-page .tc-purchase-box__intro p{display:none}
.tc-single-product-page .tc-product-hero form.cart{gap:9px;margin:10px 0}
.tc-single-product-page .tc-product-hero form.cart .variations{margin-bottom:6px}
.tc-single-product-page .tc-product-hero form.cart .variations tr{grid-template-columns:70px minmax(0,1fr)}
.tc-single-product-page .tc-product-hero form.cart select{min-height:43px;border-radius:8px;font-size:11px}
.tc-single-product-page .tc-product-hero .quantity .qty{width:92px;min-height:47px;border-radius:8px}
.tc-single-product-page .tc-product-hero .single_add_to_cart_button{min-height:47px;border-radius:8px;background:#58745d;font-size:12px}
.tc-single-product-page .tc-product-hero .single_add_to_cart_button::after{content:"🛒";margin-right:12px}
.tc-single-product-page .tc-purchase-assurance{gap:8px;margin-top:10px}
.tc-single-product-page .tc-purchase-assurance>div{padding:9px;border-radius:8px;background:#fff}
.tc-single-product-page .tc-purchase-assurance__icon{width:29px;height:29px;flex-basis:29px}
.tc-single-product-page .tc-purchase-assurance strong{font-size:10px}
.tc-single-product-page .tc-purchase-assurance small{font-size:8px}
.tc-single-product-page .tc-product-payment-note{justify-content:center;margin-top:10px;font-size:9px}

.tc-single-product-page .tc-product-trust-strip{margin:22px 0 28px}
.tc-single-product-page .tc-product-trust-strip .tc-container{width:100%}
.tc-single-product-page .tc-product-trust-strip ul{padding:13px 16px;border-radius:14px}
.tc-single-product-page .tc-product-trust-strip li{min-height:48px}
.tc-single-product-page .tc-product-trust-strip li>span{color:#c89a45;font-size:24px}
.tc-single-product-page .tc-product-trust-strip strong{color:#526157;font-size:12px}
.tc-single-product-page .tc-product-trust-strip small{font-size:9px}

.tc-single-product-page .tc-product-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px;padding-inline:0}
.tc-single-product-page .tc-product-section{padding:24px;border-radius:15px;box-shadow:0 7px 22px rgba(72,56,35,.03)}
.tc-single-product-page .tc-product-section__heading{margin-bottom:15px}
.tc-single-product-page .tc-product-section__heading>p{display:none}
.tc-single-product-page .tc-product-section__heading h2{color:#58745d;font-size:27px}
.tc-single-product-page .tc-product-benefits{grid-column:1/-1;display:grid;grid-template-columns:.9fr 1.05fr .9fr;grid-template-areas:"items media heading";align-items:center;gap:24px;min-height:325px;direction:ltr}
.tc-single-product-page .tc-product-benefits .tc-product-section__heading{grid-area:heading;direction:rtl;align-self:start;padding-top:10px}
.tc-single-product-page .tc-product-benefits__media{grid-area:media;height:276px;margin:0;overflow:hidden;border-radius:13px;direction:rtl}
.tc-single-product-page .tc-product-benefits__media img{width:100%;height:100%;object-fit:cover}
.tc-single-product-page .tc-product-benefits ul{grid-area:items;display:grid;grid-template-columns:1fr;gap:6px;direction:rtl}
.tc-single-product-page .tc-product-benefits li{padding:9px;border:0;background:transparent}
.tc-single-product-page .tc-benefit-icon{width:34px;height:34px;flex-basis:34px;background:transparent;border:1px solid #d8e0d9}
.tc-single-product-page .tc-product-benefits strong{font-size:12px}
.tc-single-product-page .tc-product-benefits small{font-size:9px}
.tc-single-product-page .tc-product-specs,.tc-single-product-page .tc-product-nutrition{min-height:270px}
.tc-single-product-page .tc-product-section table{min-width:0;border:0;font-size:10px}
.tc-single-product-page .tc-product-section th,.tc-single-product-page .tc-product-section td{padding:7px 10px}
.tc-single-product-page .tc-product-nutrition thead th{background:#58745d}
.tc-single-product-page .tc-product-description{grid-column:1/-1;min-height:245px;background:linear-gradient(105deg,#fff,#fff9f4)}
.tc-single-product-page .tc-product-description__content{font-size:11px;line-height:2}
.tc-single-product-page .tc-product-description__content img{max-height:250px;object-fit:cover}
.tc-single-product-page .tc-product-usage{grid-column:1/-1}
.tc-single-product-page .tc-product-usage__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.tc-single-product-page .tc-product-usage article{min-height:115px;padding:15px;border-radius:11px;background:#fff}
.tc-single-product-page .tc-product-usage h3{font-size:13px}
.tc-single-product-page .tc-product-usage p{font-size:10px}
.tc-single-product-page .tc-product-faq{grid-column:1/-1;padding:0;border:0;background:transparent;box-shadow:none}
.tc-single-product-page .tc-product-faq .tc-product-section__heading{text-align:right}
.tc-single-product-page .tc-product-faq .tc-accordion__item{border-radius:8px}
.tc-single-product-page .tc-product-faq .tc-accordion__trigger{min-height:45px;padding:10px 14px;font-size:11px}

.tc-single-product-page .tc-product-bundle{display:grid;grid-template-columns:minmax(0,1fr) 250px;grid-template-areas:"title title" "items total";gap:12px 20px;margin:18px 0;padding:22px;border:1px solid #e7ded4;border-radius:15px;background:#fff}
.tc-single-product-page .tc-product-bundle h2{grid-area:title;margin:0;color:#58745d;text-align:center;font-size:24px}
.tc-product-bundle__items{grid-area:items;display:flex;align-items:center;gap:12px}
.tc-product-bundle__item{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;min-width:0;flex:1;padding:9px;border:1px solid #eee5dd;border-radius:10px}
.tc-product-bundle__item img{width:82px;height:82px;object-fit:contain}
.tc-product-bundle__item strong,.tc-product-bundle__item .price{display:block;font-size:10px}
.tc-product-bundle__plus{color:#58745d;font-size:27px;font-weight:900}
.tc-product-bundle__total{grid-area:total;display:flex;flex-direction:column;justify-content:center;padding:14px;border-right:1px solid #eee5dd}
.tc-product-bundle__total span{font-size:10px}
.tc-product-bundle__total strong{margin:5px 0 12px;color:#5e5144;font-size:21px}
.tc-product-bundle__total .tc-button{min-height:40px;font-size:10px}

.tc-single-product-page .woocommerce-tabs{margin-top:18px;padding:24px;border-radius:15px}
.tc-single-product-page .woocommerce-tabs .woocommerce-Reviews-title{color:#58745d;font-size:27px}
.tc-single-product-page .woocommerce-tabs #reviews{font-size:11px}
.tc-single-product-page .woocommerce-tabs .commentlist li{padding:12px 0;border-bottom:1px solid #eee5dd}

.tc-single-product-page .tc-product-recommendations,
.tc-single-product-page .tc-product-articles,
.tc-single-product-page .tc-recent-products{padding-block:24px}
.tc-single-product-page .tc-product-recommendations__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.tc-single-product-page .tc-product-articles__grid{gap:13px}
.tc-single-product-page .tc-product-recommendations .tc-product-section__heading,
.tc-single-product-page .tc-product-articles .tc-product-section__heading,
.tc-single-product-page .tc-recent-products .tc-product-section__heading{margin-bottom:14px}
.tc-single-product-page .tc-product-recommendations .tc-product-section__heading h2,
.tc-single-product-page .tc-product-articles .tc-product-section__heading h2,
.tc-single-product-page .tc-recent-products .tc-product-section__heading h2{font-size:28px}

.tc-product-newsletter{display:grid;grid-template-columns:240px minmax(0,.85fr) minmax(300px,1.15fr);align-items:center;gap:22px;min-height:125px;margin-top:16px;padding:12px 24px;border:1px solid #eadfd5;border-radius:15px;background:linear-gradient(105deg,#fff0e7,#fff8f2 55%,#fffdfb);overflow:hidden;direction:ltr}
.tc-product-newsletter>img{width:100%;height:105px;object-fit:cover;border-radius:10px}
.tc-product-newsletter>div{direction:rtl}
.tc-product-newsletter h2{margin:0;color:#58745d;font-size:23px}
.tc-product-newsletter p{margin:5px 0 0;color:#757c76;font-size:10px}
.tc-product-newsletter form{display:flex;direction:rtl}
.tc-product-newsletter input{min-width:0;flex:1;height:42px;padding:8px 13px;border:1px solid #e1d8cf;border-left:0;border-radius:0 8px 8px 0;background:#fff;font:inherit;font-size:11px;outline:0}
.tc-product-newsletter button{height:42px;min-height:42px;border:0;border-radius:8px 0 0 8px;font-size:10px}

@media(max-width:1100px){
  body.single-product.tc-single-product-page .woocommerce div.product.tc-product-layout{width:min(calc(100% - 32px),1360px)}
  .tc-single-product-page .tc-product-hero{grid-template-columns:minmax(340px,.9fr) 1.1fr}
  .tc-single-product-page .tc-product-hero .product_title{font-size:32px}
  .tc-single-product-page .tc-product-hero .flex-control-thumbs{grid-template-columns:repeat(4,88px)}
  .tc-product-newsletter{grid-template-columns:200px 1fr 1.15fr}
}
@media(max-width:767px){
  body.single-product.tc-single-product-page .woocommerce div.product.tc-product-layout{width:calc(100% - 22px)}
  .tc-single-product-page .woocommerce-breadcrumb{padding-inline:11px}
  .tc-single-product-page .tc-product-hero{display:flex;direction:rtl}
  .tc-single-product-page .tc-product-hero__gallery{order:1;width:100%}
  .tc-single-product-page .tc-product-hero__summary{order:2;width:100%}
  .tc-single-product-page .tc-product-hero .flex-control-thumbs{grid-template-columns:repeat(4,1fr)}
  .tc-single-product-page .tc-product-hero .summary{padding:21px 16px}
  .tc-single-product-page .tc-product-content{grid-template-columns:1fr}
  .tc-single-product-page .tc-product-benefits{grid-column:auto;grid-template-columns:1fr;grid-template-areas:"heading" "media" "items";min-height:0}
  .tc-single-product-page .tc-product-description,.tc-single-product-page .tc-product-usage,.tc-single-product-page .tc-product-faq{grid-column:auto}
  .tc-single-product-page .tc-product-usage__grid{grid-template-columns:1fr}
  .tc-single-product-page .tc-product-bundle{grid-template-columns:1fr;grid-template-areas:"title" "items" "total"}
  .tc-product-bundle__items{align-items:stretch;overflow-x:auto}
  .tc-product-bundle__item{min-width:190px}
  .tc-product-bundle__total{border-top:1px solid #eee5dd;border-right:0}
  .tc-product-newsletter{grid-template-columns:1fr;padding:18px;text-align:center}
  .tc-product-newsletter>img{display:none}
  .tc-product-newsletter form{grid-column:auto}
}
body.single-product.tc-single-product-page .tc-product-layout>.tc-product-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:clamp(20px,3vw,40px);align-items:start;width:100%;margin:0 auto 28px}
body.single-product.tc-single-product-page .tc-product-hero__gallery,body.single-product.tc-single-product-page .tc-product-hero__summary{min-width:0;width:100%}
body.single-product.tc-single-product-page .tc-product-hero__gallery .woocommerce-product-gallery,body.single-product.tc-single-product-page .tc-product-hero__summary.summary{float:none!important;clear:none!important;width:100%!important;max-width:none;margin:0!important}
body.single-product.tc-single-product-page .tc-product-layout>:not(.tc-product-hero){float:none;clear:both}
body.single-product.tc-single-product-page .tc-product-layout>.tc-product-trust-strip,body.single-product.tc-single-product-page .tc-product-layout>.tc-product-content,body.single-product.tc-single-product-page .tc-product-layout>.woocommerce-tabs,body.single-product.tc-single-product-page .tc-product-layout>.tc-product-recommendations,body.single-product.tc-single-product-page .tc-product-layout>.tc-product-articles,body.single-product.tc-single-product-page .tc-product-layout>.tc-recent-products{width:100%;max-width:none;position:static;margin-inline:auto}
@media(max-width:900px){body.single-product.tc-single-product-page .tc-product-layout>.tc-product-hero{grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);gap:18px}}
@media(max-width:767px){body.single-product.tc-single-product-page .site-main.tc-commerce{padding-top:12px}body.single-product.tc-single-product-page .woocommerce div.product.tc-product-layout{width:calc(100% - 24px);padding-bottom:40px}body.single-product.tc-single-product-page .tc-product-layout>.tc-product-hero{display:flex;flex-direction:column;gap:14px}body.single-product.tc-single-product-page .tc-product-hero__gallery{order:1}body.single-product.tc-single-product-page .tc-product-hero__summary{order:2}}
