
/**
 * MarketBashi M.B — Product Tabs
 * Version: 0.2.0
 * Mobile-first / RTL
 */

/* Main tabs section */

.single-product .woocommerce-tabs {
    clear: both;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 28px 0;
    padding: 0 16px;
    box-sizing: border-box;
}

/* Tab navigation */

.single-product .woocommerce-tabs ul.tabs {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 4px;
    width: 100%;
    max-width: 100%;
    margin: 0 0 20px !important;
    padding: 5px !important;
    border: 0 !important;
    border-radius: 14px;
    background: var(--mb-surface-soft);
    list-style: none;
    direction: rtl;
    box-sizing: border-box;
}

/* Remove default WooCommerce decorations */

.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
    content: none !important;
    display: none !important;
}

/* Individual tabs */

.single-product .woocommerce-tabs ul.tabs li {
    display: flex !important;
    float: none !important;
    flex: 1 1 0;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    box-shadow: none !important;
    transition: background-color 0.2s ease;
}

.single-product .woocommerce-tabs ul.tabs li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    padding: 9px 3px !important;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.7;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    color: var(--mb-text-muted) !important;
    text-decoration: none !important;
}

/* Active tab */

.single-product .woocommerce-tabs ul.tabs li.active {
    background: var(--mb-surface) !important;
    box-shadow: 0 2px 9px rgba(38, 24, 64, 0.08) !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: var(--mb-primary) !important;
}

/* Keyboard accessibility */

.single-product .woocommerce-tabs ul.tabs li a:focus-visible {
    outline: 2px solid var(--mb-primary);
    outline-offset: -3px;
    border-radius: 8px;
}

/* Tab content panels */

.single-product .woocommerce-tabs
.woocommerce-Tabs-panel {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0 0 24px;
    padding: 28px 26px;
    border: 1px solid var(--mb-border, #e9e6ef);
    border-radius: 18px;
    background: var(--mb-surface, #fff);
    box-shadow: 0 6px 26px rgba(38, 24, 64, .045);
    overflow-wrap: anywhere;
    line-height: 1.9;
}

/* Responsive product content */

.single-product .woocommerce-tabs
.woocommerce-Tabs-panel img,
.single-product .woocommerce-tabs
.woocommerce-Tabs-panel iframe {
    max-width: 100%;
}

.single-product .woocommerce-tabs
.woocommerce-Tabs-panel table {
    max-width: 100%;
}

.single-product .woocommerce-tabs
.woocommerce-Tabs-panel :where(
    h2, h3, h4, h5, h6
) {
    max-width: 100%;
    line-height: 1.65;
}

/* Desktop */

@media (min-width: 768px) {

    .single-product .woocommerce-tabs {
        padding: 0 24px;
        margin: 40px 0;
    }

    .single-product .woocommerce-tabs ul.tabs {
        gap: 8px;
        padding: 7px !important;
        border-radius: 16px;
    }

    .single-product .woocommerce-tabs ul.tabs li a {
        min-height: 52px;
        font-size: 14px;
        padding: 12px 18px !important;
    }

    .single-product .woocommerce-tabs
    .woocommerce-Tabs-panel {
        padding: 40px 42px;
    }
}

/* Reduced motion */

@media (prefers-reduced-motion: reduce) {
    .single-product .woocommerce-tabs ul.tabs li {
        transition: none;
    }
}

/* =========================================
   M.B — Product Meta
   SKU and Categories
   ========================================= */

.single-product .product_meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    width: 100%;
    padding: 12px 0;
    direction: rtl;
    font-size: 12px;
    line-height: 1.9;
    color: var(--mb-text-muted);
}

.single-product .product_meta .sku_wrapper,
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as {
    display: block;
    width: 100%;
    font-size: inherit;
    line-height: inherit;
}

.single-product .product_meta .sku,
.single-product .product_meta a {
    font-size: inherit;
}

.single-product .product_meta a {
    color: var(--mb-primary);
}

.single-product .product_meta a:hover {
    color: var(--mb-primary-hover);
}

/* =========================================
   M.B — Product Specifications Table
   ========================================= */

.single-product .woocommerce-tabs
.woocommerce-product-attributes {
    width: 100%;
    max-width: 100%;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    direction: rtl;
    margin: 0;
}

.single-product .woocommerce-tabs
.woocommerce-product-attributes tr {
    display: grid;
    grid-template-columns: minmax(90px, 35%) minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 14px 0;
    border-bottom: 1px solid var(--mb-border);
}

.single-product .woocommerce-tabs
.woocommerce-product-attributes th,
.single-product .woocommerce-tabs
.woocommerce-product-attributes td {
    display: block;
    float: none;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: right;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.single-product .woocommerce-tabs
.woocommerce-product-attributes th {
    font-size: 13px;
    font-weight: 700;
    color: var(--mb-text);
}

.single-product .woocommerce-tabs
.woocommerce-product-attributes td {
    font-size: 13px;
    color: var(--mb-text-muted);
}

.single-product .woocommerce-tabs
.woocommerce-product-attributes td p {
    margin: 0;
    line-height: 1.9;
}

@media (max-width: 360px) {
    .single-product .woocommerce-tabs
    .woocommerce-product-attributes tr {
        grid-template-columns: minmax(75px, 35%) minmax(0, 1fr);
        gap: 8px;
    }
}

/* M.B — Center Product Specifications */

.single-product .mb-product-specifications {
    width: 100%;
    max-width: 100%;
    margin: 28px auto;
}

.single-product .mb-product-specifications__title {
    text-align: center;
    margin-bottom: 20px;
}

.single-product .mb-product-specifications
.woocommerce-product-attributes {
    width: 100%;
    margin-inline: auto;
}

.single-product .mb-product-specifications
.woocommerce-product-attributes tr {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
}

.single-product .mb-product-specifications
.woocommerce-product-attributes th,
.single-product .mb-product-specifications
.woocommerce-product-attributes td {
    text-align: center !important;
}

/* =========================================
   M.B — Polished Product Tab Cards v0.2.1
   ========================================= */

/* Hide only the standard repeated WooCommerce description heading.
   This does not remove the heading from the page source. */
.single-product .woocommerce-tabs #tab-description > h2:first-child,
.single-product .woocommerce-tabs .woocommerce-Tabs-panel--description > h2:first-child {
    display: none;
}

/* FAQ cards already have their own borders and padding. */
.single-product .woocommerce-tabs #tab-mb_faq {
    border: 0;
    box-shadow: none;
    padding: 0;
    background: transparent;
}

/* Editorial pros/cons are separate, balanced columns even on mobile. */
.single-product .woocommerce-tabs .mb-expert-review {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 14px;
    row-gap: 18px;
    min-width: 0;
}

.single-product .woocommerce-tabs .mb-expert-review__intro,
.single-product .woocommerce-tabs .mb-expert-review__summary {
    grid-column: 1 / -1;
    min-width: 0;
}

.single-product .woocommerce-tabs .mb-expert-review__section {
    min-width: 0;
    margin: 0;
    padding: 16px 14px;
    border: 1px solid var(--mb-border, #e9e6ef);
    border-radius: 14px;
    background: var(--mb-surface-soft, #f8f7fb);
}

.single-product .woocommerce-tabs .mb-expert-review__section--pros {
    border-color: #cee8d9;
    background: #f4fbf7;
}

.single-product .woocommerce-tabs .mb-expert-review__section--cons {
    border-color: #f1d8df;
    background: #fff8fa;
}

/* Keep section headings at their existing size. Only entry text changes. */
.single-product .woocommerce-tabs .mb-expert-review__section .mb-expert-review__body,
.single-product .woocommerce-tabs .mb-expert-review__section .mb-expert-review__body * {
    font-size: 11px;
    line-height: 1.95;
    overflow-wrap: anywhere;
}

.single-product .woocommerce-tabs .mb-expert-review__section .mb-expert-review__body p {
    margin: 0 0 8px;
}

.single-product .woocommerce-tabs .mb-expert-review__section .mb-expert-review__body p:last-child {
    margin-bottom: 0;
}

/* WooCommerce customer review and comment forms must fit the card. */
.single-product .woocommerce-tabs #reviews,
.single-product .woocommerce-tabs #comments,
.single-product .woocommerce-tabs #review_form_wrapper {
    max-width: 100%;
    min-width: 0;
}

.single-product .woocommerce-tabs #review_form input:not([type="checkbox"]):not([type="radio"]),
.single-product .woocommerce-tabs #review_form textarea {
    max-width: 100%;
}

@media (max-width: 480px) {
    .single-product .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 24px 20px;
        border-radius: 14px;
    }

    .single-product .woocommerce-tabs #tab-mb_faq {
        padding: 0;
    }

    .single-product .woocommerce-tabs .mb-expert-review {
        gap: 10px;
    }

    .single-product .woocommerce-tabs .mb-expert-review__section {
        padding: 12px 9px;
        border-radius: 11px;
    }
}


/* ===============================================
   M.B v0.2.2 — Actual card INNER spacing fix.
   Override theme/Woo product panel padding rules.
   Padding is inside the panel border, not outside.
   =============================================== */
body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
    box-sizing: border-box;
    padding: 26px 24px !important;
}

@media (min-width: 600px) {
    body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 32px 34px !important;
    }
}

@media (min-width: 1024px) {
    body.single-product .woocommerce div.product .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: 38px 44px !important;
    }
}

/* FAQ accordion already has its own internal cards. */
body.single-product .woocommerce div.product .woocommerce-tabs #tab-mb_faq {
    padding: 0 !important;
}

/* =========================================================
   M.B v0.2.4 — real tab CARD interior spacing
   The panel is the border-bearing element, not paragraph/span.
   Keep margin independent from card inner spacing.
   ========================================================= */
body.single-product .woocommerce div.product .woocommerce-tabs > .woocommerce-Tabs-panel:not(#tab-mb_faq),
body.single-product .woocommerce-tabs > .woocommerce-Tabs-panel:not(#tab-mb_faq) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding: 16px 17px !important;
}
@media (min-width: 768px) {
    body.single-product .woocommerce div.product .woocommerce-tabs > .woocommerce-Tabs-panel:not(#tab-mb_faq),
    body.single-product .woocommerce-tabs > .woocommerce-Tabs-panel:not(#tab-mb_faq) {
        padding: 44px 52px !important;
    }
}
@media (max-width: 400px) {
    body.single-product .woocommerce div.product .woocommerce-tabs > .woocommerce-Tabs-panel:not(#tab-mb_faq),
    body.single-product .woocommerce-tabs > .woocommerce-Tabs-panel:not(#tab-mb_faq) {
        padding: 12px 11px !important;
    }
}
/* FAQ accordion provides its own interior spacing. */
body.single-product .woocommerce-tabs > #tab-mb_faq {
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
}


/* M.B v0.4.9 — Customer reviews: premium RTL storefront presentation.
   Presentation only. WooCommerce review forms, ratings and hooks stay untouched. */
body.single-product #tab-reviews #reviews {direction:rtl; color:#292537;}
body.single-product #tab-reviews #reviews #comments > h2,
body.single-product #tab-reviews #reviews #review_form_wrapper #reply-title {
  display:block; font-size:19px; font-weight:800; line-height:1.8;
  color:#292537; margin:0 0 18px;
}
body.single-product #tab-reviews #reviews #comments ol.commentlist {
  list-style:none; padding:0!important; margin:0 0 24px!important;
  display:grid; gap:14px;
}
body.single-product #tab-reviews #reviews #comments ol.commentlist > li {
  float:none; width:100%; margin:0!important; padding:0!important;
  background:transparent; border:0; box-shadow:none;
}
body.single-product #tab-reviews #reviews #comments ol.commentlist li .comment_container {
  display:flex; align-items:flex-start; gap:14px; background:#fff;
  border:1px solid #e9e2f2; border-radius:16px; padding:18px;
  box-shadow:0 4px 22px rgba(64,29,106,.045);
}
body.single-product #tab-reviews #reviews #comments ol.commentlist li img.avatar {
  position:static!important; float:none!important; flex:0 0 46px;
  width:46px!important; height:46px!important; padding:0!important;
  border:2px solid #efe6f8; border-radius:50%; object-fit:cover; background:#f5effb;
}
body.single-product #tab-reviews #reviews #comments ol.commentlist li .comment-text {
  flex:1 1 auto; min-width:0; margin:0!important; padding:0!important;
  background:transparent!important; border:0!important; border-radius:0!important;
}
body.single-product #tab-reviews #reviews #comments ol.commentlist li .meta {
  display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 10px;
  margin:0 0 8px!important; font-size:13px; color:#777286; line-height:1.8;
}
body.single-product #tab-reviews #reviews #comments ol.commentlist li .meta .woocommerce-review__author {
  font-size:15px; font-weight:800; color:#292537;
}
body.single-product #tab-reviews #reviews #comments ol.commentlist li .description,
body.single-product #tab-reviews #reviews #comments ol.commentlist li .description p {
  font-size:14px; color:#484255; line-height:2.1; overflow-wrap:anywhere;
}
body.single-product #tab-reviews #reviews #comments ol.commentlist li .description p:last-child {margin-bottom:0;}
body.single-product #tab-reviews #reviews .star-rating,
body.single-product #tab-reviews #reviews p.stars a {color:#e5a52d;}
body.single-product #tab-reviews #reviews #review_form_wrapper {
  margin-top:24px; padding:24px; border:1px solid #e9e2f2;
  border-radius:18px; background:#faf8fd;
}
body.single-product #tab-reviews #reviews #review_form {
  background:transparent; border:0; padding:0;
}
body.single-product #tab-reviews #reviews #review_form_wrapper .comment-form-rating label,
body.single-product #tab-reviews #reviews #review_form_wrapper .comment-form-comment label,
body.single-product #tab-reviews #reviews #review_form_wrapper .comment-form-author label,
body.single-product #tab-reviews #reviews #review_form_wrapper .comment-form-email label {
  display:block; margin-bottom:8px; color:#41334f; font-size:14px; font-weight:700;
}
body.single-product #tab-reviews #reviews #review_form_wrapper textarea,
body.single-product #tab-reviews #reviews #review_form_wrapper input[type="text"],
body.single-product #tab-reviews #reviews #review_form_wrapper input[type="email"] {
  width:100%; max-width:100%; box-sizing:border-box; background:#fff;
  color:#292537; border:1px solid #ddd3e9; border-radius:12px;
  padding:12px 14px; min-height:46px; line-height:1.85;
  transition:border-color .2s ease,box-shadow .2s ease;
}
body.single-product #tab-reviews #reviews #review_form_wrapper textarea {min-height:135px; resize:vertical;}
body.single-product #tab-reviews #reviews #review_form_wrapper :is(textarea,input[type="text"],input[type="email"]):focus {
  outline:2px solid transparent; border-color:#8128d8; box-shadow:0 0 0 3px rgba(129,40,216,.12);
}
body.single-product #tab-reviews #reviews #review_form_wrapper .form-submit input[type="submit"] {
  display:inline-flex; justify-content:center; min-height:46px; padding:10px 24px;
  color:#fff!important; background:#8128d8!important; border:0!important;
  border-radius:12px; font-size:14px; font-weight:800; cursor:pointer;
}
body.single-product #tab-reviews #reviews #review_form_wrapper .form-submit input[type="submit"]:hover {background:#6c1eb9!important;}
body.single-product #tab-reviews #reviews .woocommerce-noreviews {
  padding:18px; border:1px dashed #d8cae9; border-radius:12px;
  background:#faf8fd; color:#6b6175;
}
@media(max-width:600px){
  body.single-product #tab-reviews #reviews #comments ol.commentlist li .comment_container {padding:13px;gap:10px;border-radius:13px;}
  body.single-product #tab-reviews #reviews #comments ol.commentlist li img.avatar {width:36px!important;height:36px!important;flex-basis:36px;}
  body.single-product #tab-reviews #reviews #review_form_wrapper {padding:16px;border-radius:14px;}
  body.single-product #tab-reviews #reviews #comments > h2,
  body.single-product #tab-reviews #reviews #review_form_wrapper #reply-title {font-size:17px;}
}
