/* =========================================================
   Ghorer Inspired — Single product page + product cards context
   ========================================================= */

/* ---------- Layout ---------- */
.gb-single__top {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: clamp(24px, 4vw, 56px);
        align-items: start;
        margin-top: 14px;
}

.gb-single__gallery {
        position: sticky;
        top: 96px;
}

/* Sale badge on gallery */
.woocommerce span.onsale.gb-onsale,
.gb-onsale {
        position: absolute;
        z-index: 9;
        top: 14px;
        left: 14px;
        background: var(--gb-sale);
        color: #fff;
        font-size: 12.5px;
        font-weight: 700;
        padding: 5px 13px;
        border-radius: 999px;
        letter-spacing: 0.02em;
        box-shadow: 0 6px 14px -6px rgba(226, 63, 63, 0.7);
        min-width: 0;
        min-height: 0;
        line-height: 1.5;
        margin: 0;
}

/* Disabled / loading add-to-cart buttons (Woo default purple removed) */
.woocommerce button.button:disabled,
.woocommerce button.button.disabled,
.woocommerce button.button:disabled[disabled],
.woocommerce a.button.disabled,
.woocommerce a.button:disabled {
        background: #e6ebe6;
        color: var(--gb-muted);
        box-shadow: none;
        transform: none;
        cursor: not-allowed;
        opacity: 1;
}

.woocommerce a.button.alt:disabled,
.woocommerce button.button.alt:disabled,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled[disabled],
.woocommerce #respond input#submit.alt:disabled {
        background: #e6ebe6;
        color: var(--gb-muted);
        box-shadow: none;
}

/* Gallery (Woo markup restyled) */
.woocommerce div.product div.images {
        width: 100%;
        float: none;
        margin-bottom: 0;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
        border: 1px solid var(--gb-border);
        border-radius: var(--gb-radius-lg);
        overflow: hidden;
        background: var(--gb-bg-soft);
}

.woocommerce div.product div.images img {
        width: 100%;
        height: auto;
}

.woocommerce div.product div.images .flex-control-thumbs {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 10px;
        margin-top: 12px;
        padding: 0;
        list-style: none;
}

.woocommerce div.product div.images .flex-control-thumbs li {
        width: auto;
        float: none;
}

.woocommerce div.product div.images .flex-control-thumbs img {
        border: 2px solid transparent;
        border-radius: 10px;
        cursor: pointer;
        transition: border-color var(--gb-transition), opacity var(--gb-transition);
        opacity: 0.85;
}

.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img:hover {
        border-color: var(--gb-primary);
        opacity: 1;
}

.woocommerce div.product div.summary {
        width: 100%;
        float: none;
        margin-bottom: 0;
}

/* ---------- Summary ---------- */
.gb-single .product_title {
        font-size: clamp(22px, 2.6vw, 30px);
        font-weight: 800;
        letter-spacing: -0.015em;
        margin-bottom: 10px;
}

.gb-single .woocommerce-product-rating {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 12px;
}

.gb-single .woocommerce-review-link {
        font-size: 12.5px;
        color: var(--gb-muted);
}

.gb-single p.price {
        font-size: 26px;
        font-weight: 800;
        color: var(--gb-primary-dark);
        margin: 6px 0 14px;
        display: flex;
        align-items: baseline;
        gap: 10px;
        flex-wrap: wrap;
}

.gb-single p.price del {
        color: var(--gb-muted);
        font-size: 17px;
        font-weight: 500;
}

.gb-single p.price ins {
        text-decoration: none;
}

.gb-single .woocommerce-product-details__short-description {
        color: var(--gb-ink-soft);
        font-size: 14.5px;
        border-bottom: 1px solid var(--gb-border);
        padding-bottom: 16px;
        margin-bottom: 16px;
}

/* Stock + meta */
.gb-single .stock {
        display: inline-flex;
        align-items: center;
        gap: 7px;
        font-size: 13px;
        font-weight: 700;
        color: var(--gb-primary-dark);
        background: var(--gb-primary-soft);
        border-radius: 999px;
        padding: 5px 13px;
        margin-bottom: 14px;
}

.gb-single .stock.out-of-stock {
        color: var(--gb-sale);
        background: #fdeeee;
}

.gb-single .stock::before {
        content: "";
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: currentColor;
}

.gb-single form.cart {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
        gap: 12px;
        padding: 4px 0 14px;
        border-top: 1px solid var(--gb-border);
        margin-top: 14px;
}

.gb-single form.cart .quantity {
        margin: 0;
}

.gb-single form.cart .single_add_to_cart_button {
        flex: 1 1 220px;
        padding: 13px 26px;
        font-size: 15.5px;
        border-radius: 12px;
}

.gb-single .product_meta {
        padding-top: 14px;
        border-top: 1px solid var(--gb-border);
        font-size: 12.5px;
        color: var(--gb-muted);
        display: flex;
        flex-direction: column;
        gap: 5px;
}

.gb-single .product_meta a {
        color: var(--gb-ink-soft);
        font-weight: 600;
}

.gb-single .product_meta a:hover {
        color: var(--gb-primary-dark);
}

/* Trust box under the add to cart form */
.gb-single__trust {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 18px;
        padding: 14px 16px;
        background: var(--gb-bg-soft);
        border: 1px solid var(--gb-border);
        border-radius: var(--gb-radius);
        margin: 8px 0 16px;
}

.gb-single__trust-item {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 12.5px;
        font-weight: 600;
        color: var(--gb-ink-soft);
}

.gb-single__trust-item .gb-icon {
        color: var(--gb-primary);
        flex-shrink: 0;
}

/* Variations */
.gb-single table.variations {
        margin: 0 0 14px;
        width: auto;
}

.gb-single table.variations td {
        padding: 6px 14px 6px 0;
        border: none;
        vertical-align: middle;
}

.gb-single table.variations label {
        font-weight: 600;
        font-size: 13.5px;
        margin: 0;
}

.gb-single table.variations select {
        width: auto;
        min-width: 170px;
}

.gb-single .reset_variations {
        font-size: 12.5px;
        font-weight: 600;
}

.gb-single .single_variation_wrap .woocommerce-variation-price {
        margin: 4px 0 10px;
}

/* Grouped table */
.gb-single table.group_table td {
        padding: 8px 10px 8px 0;
        border-bottom: 1px solid var(--gb-border);
}

/* ---------- Tabs / description / reviews ---------- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
        display: flex;
        gap: 6px;
        list-style: none;
        margin: 34px 0 0;
        padding: 0 0 0;
        border-bottom: 2px solid var(--gb-border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
        display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
        background: transparent;
        border: none;
        border-radius: 10px 10px 0 0;
        margin: 0;
        padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
        display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
        display: inline-block;
        padding: 11px 20px;
        font-size: 14px;
        font-weight: 700;
        color: var(--gb-ink-soft);
        border-radius: 10px 10px 0 0;
        position: relative;
        top: 2px;
        border-bottom: 2px solid transparent;
        transition: color var(--gb-transition), border-color var(--gb-transition), background var(--gb-transition);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
        color: var(--gb-primary-dark);
        border-bottom-color: var(--gb-primary);
        background: linear-gradient(180deg, transparent 60%, var(--gb-primary-soft) 100%);
}

.woocommerce div.product .woocommerce-tabs .panel {
        padding: 22px 4px 4px;
        font-size: 14.5px;
        color: var(--gb-ink-soft);
}

.woocommerce div.product .woocommerce-tabs .panel h2:first-child {
        font-size: 19px;
        color: var(--gb-ink);
}

/* Reviews */
.woocommerce-Reviews .commentlist {
        list-style: none;
        padding: 0;
        margin: 0 0 24px;
}

.woocommerce-Reviews .comment_container {
        display: flex;
        gap: 14px;
        padding: 18px 0;
        border-bottom: 1px solid var(--gb-border);
}

.woocommerce-Reviews .comment_container img.avatar {
        width: 46px;
        height: 46px;
        border-radius: 999px;
        object-fit: cover;
        background: var(--gb-bg-soft);
        float: none;
        margin: 0;
}

.woocommerce-Reviews .comment-text {
        flex: 1;
}

.woocommerce-Reviews .comment-text .meta {
        color: var(--gb-muted);
        font-size: 12.5px;
        margin-bottom: 4px;
}

.woocommerce-Reviews .comment-text .meta strong {
        color: var(--gb-ink);
        font-size: 14px;
}

.woocommerce-Reviews .star-rating {
        float: right;
}

.woocommerce-Reviews #review_form {
        background: var(--gb-bg-soft);
        border: 1px solid var(--gb-border);
        border-radius: var(--gb-radius);
        padding: 20px;
        margin-top: 22px;
}

.woocommerce-Reviews #review_form .comment-reply-title {
        font-size: 16px;
        font-weight: 700;
}

.woocommerce-Reviews #review_form .comment-form-rating .stars {
        display: inline-flex;
        gap: 4px;
}

.woocommerce-Reviews #review_form .form-submit input[type="submit"] {
        padding: 12px 26px;
}

/* ---------- Related & upsells ---------- */
.gb-single .related.products,
.gb-single .upsells.products,
.gb-single > .related {
        margin-top: 40px;
        padding-top: 8px;
}

.gb-single .related.products > h2,
.gb-single .upsells.products > h2,
.woocommerce .cross-sells > h2 {
        font-size: 20px;
        font-weight: 800;
        position: relative;
        padding-left: 14px;
        margin-bottom: 18px;
}

.gb-single .related.products > h2::before,
.gb-single .upsells.products > h2::before,
.woocommerce .cross-sells > h2::before {
        content: "";
        position: absolute;
        left: 0;
        top: 4px;
        bottom: 4px;
        width: 4.5px;
        border-radius: 4px;
        background: linear-gradient(180deg, var(--gb-primary), var(--gb-accent));
}

/* ---------- Clearfix for legacy Woo floats ---------- */
.gb-single::after,
.woocommerce div.product::after,
.woocommerce .woocommerce-tabs::after {
        content: "";
        display: table;
        clear: both;
}
