/**
 * Shop archive & single product page styles.
 *
 * @package CPM_Theme
 */

/* ============================================================
   CATEGORY FILTER BAR — Horizontal scrollable pill nav
   Mobile-first premium design with edge-to-edge scrolling.
   Uses <div> container + <a> pills (no ul/li).
   ============================================================ */

/* --- Container: Edge-to-edge on mobile, contained on desktop --- */

.cpm-shop-categories {
    position: relative;
    margin-bottom: var(--cpm-space-lg);
    /* Negative margin bleeds out of container on mobile */
    margin-left: calc(var(--cpm-container-padding) * -1);
    margin-right: calc(var(--cpm-container-padding) * -1);
}

/* --- Scrollable pill list --- */

.cpm-shop-categories__list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: var(--cpm-space-sm);
    padding: var(--cpm-space-sm) var(--cpm-container-padding);
    margin: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    /* Hide scrollbar completely */
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.cpm-shop-categories__list::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* --- Pill buttons: Mobile-first touch-friendly --- */

.cpm-shop-categories__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    gap: var(--cpm-space-xs);
    /* Mobile: generous touch target */
    min-height: 44px;
    padding: 12px 20px;
    font-size: var(--cpm-font-size-sm);
    font-weight: 500;
    line-height: 1.2;
    color: var(--cpm-text-primary);
    background: var(--cpm-gray-100);
    border: 1px solid var(--cpm-gray-200);
    border-radius: var(--cpm-radius-full);
    white-space: nowrap;
    cursor: pointer;
    /* Explicit link reset */
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    /* Smooth transitions */
    transition: all var(--cpm-transition-fast);
}

/* Hover/focus states (non-active pills) */

.cpm-shop-categories__item:hover {
    background: var(--cpm-primary-light);
    color: var(--cpm-primary);
    border-color: var(--cpm-primary-light);
    text-decoration: none;
    transform: translateY(-1px);
}

.cpm-shop-categories__item:active {
    transform: translateY(0);
}

.cpm-shop-categories__item:focus {
    outline: none;
}

.cpm-shop-categories__item:focus-visible {
    outline: 2px solid var(--cpm-primary);
    outline-offset: 2px;
}

/* --- Active state: Filled blue pill with white text --- */

.cpm-shop-categories__item--active {
    background: var(--cpm-primary);
    color: var(--cpm-white);
    font-weight: 600;
    border-color: var(--cpm-primary);
    box-shadow: 0 2px 4px rgba(7, 96, 169, 0.15);
}

.cpm-shop-categories__item--active:hover {
    background: var(--cpm-primary-dark);
    color: var(--cpm-white);
    border-color: var(--cpm-primary-dark);
    transform: translateY(-1px);
}

/* --- Product count badge --- */

.cpm-shop-categories__count {
    font-size: var(--cpm-font-size-xs);
    font-weight: 400;
    opacity: 0.7;
}

.cpm-shop-categories__item--active .cpm-shop-categories__count {
    opacity: 0.9;
}

/* --- Tablet & Desktop: Compact pills, reset bleed --- */

@media (min-width: 768px) {
    .cpm-shop-categories {
        /* Reset negative margin on desktop */
        margin-left: 0;
        margin-right: 0;
        margin-bottom: var(--cpm-space-xl);
    }

    .cpm-shop-categories__list {
        padding: var(--cpm-space-sm) 0;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .cpm-shop-categories__item {
        /* Desktop: smaller, more compact */
        min-height: 36px;
        padding: 8px 18px;
        font-size: var(--cpm-font-size-sm);
    }
}

/* ============================================================
   SHOP HEADER — Result count & ordering
   ============================================================ */

.woocommerce-products-header {
    margin-bottom: var(--cpm-space-lg);
}

.woocommerce-products-header__title {
    font-size: var(--cpm-font-size-xl);
    margin-bottom: var(--cpm-space-sm);
}

.woocommerce-result-count,
.woocommerce-ordering {
    display: inline-block;
    vertical-align: middle;
    margin-bottom: var(--cpm-space-md);
}

.woocommerce-result-count {
    font-size: var(--cpm-font-size-sm);
    color: var(--cpm-text-secondary);
    margin-right: var(--cpm-space-md);
}

.woocommerce-ordering select {
    padding: var(--cpm-space-xs) var(--cpm-space-md);
    padding-right: var(--cpm-space-xl);
    border: 1px solid var(--cpm-gray-300);
    border-radius: var(--cpm-radius-sm);
    font-size: var(--cpm-font-size-sm);
    color: var(--cpm-text-primary);
    background: var(--cpm-white);
    min-height: 36px;
    cursor: pointer;
    transition: border-color var(--cpm-transition-fast);
}

.woocommerce-ordering select:focus {
    border-color: var(--cpm-primary);
    outline: none;
    box-shadow: 0 0 0 3px var(--cpm-primary-light);
}

/* ============================================================
   PRODUCT GRID
   ============================================================ */

ul.products {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--cpm-space-lg);
    list-style: none;
    padding: 0;
    margin: 0;
}

@media (min-width: 640px) {
    ul.products {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ============================================================
   PRODUCT CARD
   ============================================================ */

ul.products li.product {
    position: relative;
    background: var(--cpm-white);
    border-radius: var(--cpm-radius-md);
    box-shadow: var(--cpm-shadow-sm);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow var(--cpm-transition-normal), transform var(--cpm-transition-normal);
}

ul.products li.product:hover {
    box-shadow: var(--cpm-shadow-md);
    transform: translateY(-2px);
}

/* --- Thumbnail --- */

ul.products li.product a.woocommerce-LoopProduct-link {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-decoration: none;
    color: inherit;
}

ul.products li.product .woocommerce-loop-product__link {
    display: flex;
    flex-direction: column;
    flex: 1;
    text-decoration: none;
    color: inherit;
}

ul.products li.product img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background: var(--cpm-gray-50);
    display: block;
}

/* --- Card body (title + price) --- */

ul.products li.product .woocommerce-loop-product__title {
    padding: var(--cpm-space-md) var(--cpm-space-md) 0;
    font-size: var(--cpm-font-size-sm);
    font-weight: 600;
    color: var(--cpm-text-primary);
    line-height: var(--cpm-line-height-tight);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

ul.products li.product .price {
    padding: var(--cpm-space-sm) var(--cpm-space-md);
    font-size: var(--cpm-font-size-base);
    font-weight: 700;
    color: var(--cpm-primary);
}

ul.products li.product .price del {
    font-weight: 400;
    color: var(--cpm-text-secondary);
    font-size: var(--cpm-font-size-sm);
    text-decoration: line-through;
    margin-right: var(--cpm-space-xs);
}

ul.products li.product .price ins {
    text-decoration: none;
    color: var(--cpm-primary);
}

/* --- Add to cart button --- */

ul.products li.product .button,
ul.products li.product a.add_to_cart_button,
ul.products li.product a.product_type_simple,
ul.products li.product a.product_type_variable {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(100% - var(--cpm-space-md) * 2);
    margin: auto var(--cpm-space-md) var(--cpm-space-md);
    padding: var(--cpm-space-sm) var(--cpm-space-md);
    min-height: 40px;
    font-size: var(--cpm-font-size-sm);
    font-weight: 600;
    color: var(--cpm-white);
    background: var(--cpm-primary);
    border: none;
    border-radius: var(--cpm-radius-sm);
    cursor: pointer;
    text-decoration: none;
    text-align: center;
    transition: background-color var(--cpm-transition-fast);
}

ul.products li.product .button:hover,
ul.products li.product a.add_to_cart_button:hover {
    background: var(--cpm-primary-dark);
    color: var(--cpm-white);
    text-decoration: none;
}

/* Added-to-cart state */
ul.products li.product a.added_to_cart {
    display: block;
    text-align: center;
    font-size: var(--cpm-font-size-xs);
    color: var(--cpm-success);
    padding: var(--cpm-space-xs) var(--cpm-space-md) var(--cpm-space-sm);
    text-decoration: none;
}

ul.products li.product a.added_to_cart:hover {
    text-decoration: underline;
}

/* --- Sale badge --- */

ul.products li.product .onsale {
    position: absolute;
    top: var(--cpm-space-sm);
    left: var(--cpm-space-sm);
    z-index: 1;
    background: var(--cpm-accent);
    color: var(--cpm-white);
    font-size: var(--cpm-font-size-xs);
    font-weight: 700;
    padding: 2px var(--cpm-space-sm);
    border-radius: var(--cpm-radius-sm);
    line-height: var(--cpm-line-height-normal);
    text-transform: uppercase;
}

/* --- Star rating --- */

ul.products li.product .star-rating {
    display: block;
    padding: 0 var(--cpm-space-md);
    font-size: var(--cpm-font-size-xs);
    color: var(--cpm-brand-yellow);
    overflow: hidden;
    position: relative;
    height: 1em;
    width: 5.4em;
    font-family: star;
    line-height: 1;
}

ul.products li.product .star-rating::before {
    content: "\73\73\73\73\73";
    color: var(--cpm-gray-300);
    float: left;
    top: 0;
    left: 0;
    position: absolute;
}

ul.products li.product .star-rating span::before {
    content: "\53\53\53\53\53";
    top: 0;
    position: absolute;
    left: 0;
}

/* ============================================================
   PAGINATION
   ============================================================ */

.woocommerce-pagination {
    margin-top: var(--cpm-space-xl);
    text-align: center;
}

.woocommerce-pagination ul.page-numbers {
    display: inline-flex;
    gap: var(--cpm-space-xs);
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-pagination .page-numbers li a,
.woocommerce-pagination .page-numbers li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
    padding: var(--cpm-space-xs);
    border-radius: var(--cpm-radius-sm);
    font-size: var(--cpm-font-size-sm);
    font-weight: 500;
    color: var(--cpm-text-primary);
    text-decoration: none;
    transition: background-color var(--cpm-transition-fast), color var(--cpm-transition-fast);
}

.woocommerce-pagination .page-numbers li a:hover {
    background: var(--cpm-gray-100);
    color: var(--cpm-primary);
}

.woocommerce-pagination .page-numbers li span.current {
    background: var(--cpm-primary);
    color: var(--cpm-white);
    font-weight: 600;
}

/* ============================================================
   SINGLE PRODUCT — Layout
   ============================================================ */

.single-product div.product {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--cpm-space-xl);
}

@media (min-width: 768px) {
    .single-product div.product {
        grid-template-columns: 55% 1fr;
        grid-template-rows: auto auto;
    }

    /* Gallery spans left column */
    .single-product div.product .woocommerce-product-gallery {
        grid-column: 1;
        grid-row: 1;
    }

    /* Summary spans right column */
    .single-product div.product .summary {
        grid-column: 2;
        grid-row: 1;
    }

    /* Tabs span full width */
    .single-product div.product .woocommerce-tabs {
        grid-column: 1 / -1;
    }

    /* Related products span full width */
    .single-product div.product .related {
        grid-column: 1 / -1;
    }

    /* Up-sells span full width */
    .single-product div.product .up-sells {
        grid-column: 1 / -1;
    }
}

/* ============================================================
   SINGLE PRODUCT — Gallery
   ============================================================ */

.woocommerce-product-gallery {
    position: relative;
    max-width: 600px;
}

.woocommerce-product-gallery .woocommerce-product-gallery__image img {
    width: 100%;
    height: auto;
    border-radius: var(--cpm-radius-md);
    background: var(--cpm-gray-50);
    object-fit: contain;
}

/* Thumbnails row */
.woocommerce-product-gallery .flex-control-thumbs {
    display: flex;
    gap: var(--cpm-space-sm);
    margin-top: var(--cpm-space-sm);
    list-style: none;
    padding: 0;
    overflow-x: auto;
}

.woocommerce-product-gallery .flex-control-thumbs li {
    flex: 0 0 64px;
}

.woocommerce-product-gallery .flex-control-thumbs li img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    border-radius: var(--cpm-radius-sm);
    border: 2px solid transparent;
    cursor: pointer;
    background: var(--cpm-gray-50);
    transition: border-color var(--cpm-transition-fast);
}

.woocommerce-product-gallery .flex-control-thumbs li img:hover,
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active {
    border-color: var(--cpm-primary);
}

/* Sale badge on single product */
.single-product div.product .onsale {
    position: absolute;
    top: var(--cpm-space-sm);
    left: var(--cpm-space-sm);
    z-index: 1;
    background: var(--cpm-accent);
    color: var(--cpm-white);
    font-size: var(--cpm-font-size-sm);
    font-weight: 700;
    padding: var(--cpm-space-xs) var(--cpm-space-md);
    border-radius: var(--cpm-radius-sm);
    text-transform: uppercase;
}

/* ============================================================
   SINGLE PRODUCT — Summary
   ============================================================ */

.single-product div.product .summary {
    display: flex;
    flex-direction: column;
}

.single-product div.product .product_title {
    font-size: var(--cpm-font-size-xl);
    font-weight: 700;
    color: var(--cpm-text-primary);
    margin: 0 0 var(--cpm-space-md);
    line-height: var(--cpm-line-height-tight);
}

.single-product div.product .price {
    font-size: var(--cpm-font-size-lg);
    font-weight: 700;
    color: var(--cpm-primary);
    margin-bottom: var(--cpm-space-md);
}

.single-product div.product .price del {
    font-weight: 400;
    color: var(--cpm-text-secondary);
    font-size: var(--cpm-font-size-base);
    text-decoration: line-through;
    margin-right: var(--cpm-space-sm);
}

.single-product div.product .price ins {
    text-decoration: none;
}

/* Short description */
.single-product div.product .woocommerce-product-details__short-description {
    color: var(--cpm-text-secondary);
    font-size: var(--cpm-font-size-sm);
    line-height: var(--cpm-line-height-relaxed);
    margin-bottom: var(--cpm-space-lg);
}

.single-product div.product .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0;
}

/* Star rating */
.single-product div.product .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: var(--cpm-space-sm);
    margin-bottom: var(--cpm-space-md);
}

.single-product div.product .woocommerce-product-rating .star-rating {
    color: var(--cpm-brand-yellow);
}

.single-product div.product .woocommerce-review-link {
    font-size: var(--cpm-font-size-sm);
    color: var(--cpm-text-secondary);
}

/* ============================================================
   SINGLE PRODUCT — Add to cart form
   ============================================================ */

.single-product div.product form.cart {
    display: flex;
    align-items: center;
    gap: var(--cpm-space-md);
    margin-bottom: var(--cpm-space-lg);
    flex-wrap: wrap;
}

.single-product div.product form.cart .quantity {
    display: flex;
    align-items: center;
}

.single-product div.product form.cart .quantity .qty {
    width: 64px;
    text-align: center;
    padding: var(--cpm-space-sm);
    min-height: 44px;
    border: 1px solid var(--cpm-gray-300);
    border-radius: var(--cpm-radius-sm);
    font-size: var(--cpm-font-size-base);
    color: var(--cpm-text-primary);
    background: var(--cpm-white);
}

.single-product div.product form.cart .quantity .qty:focus {
    border-color: var(--cpm-primary);
    outline: none;
    box-shadow: 0 0 0 3px var(--cpm-primary-light);
}

.single-product div.product form.cart .single_add_to_cart_button {
    flex: 1;
    min-width: 160px;
    padding: var(--cpm-space-sm) var(--cpm-space-xl);
    min-height: 44px;
    font-size: var(--cpm-font-size-base);
    font-weight: 600;
    color: var(--cpm-white);
    background: var(--cpm-primary);
    border: none;
    border-radius: var(--cpm-radius-sm);
    cursor: pointer;
    transition: background-color var(--cpm-transition-fast);
}

.single-product div.product form.cart .single_add_to_cart_button:hover {
    background: var(--cpm-primary-dark);
}

.single-product div.product form.cart .single_add_to_cart_button:focus-visible {
    outline: 2px solid var(--cpm-primary);
    outline-offset: 2px;
}

/* Variations (variable products) */
.single-product div.product form.cart .variations {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: var(--cpm-space-md);
}

.single-product div.product form.cart .variations td,
.single-product div.product form.cart .variations th {
    padding: var(--cpm-space-sm) 0;
    border: none;
}

.single-product div.product form.cart .variations label {
    font-weight: 500;
    font-size: var(--cpm-font-size-sm);
    color: var(--cpm-text-primary);
}

.single-product div.product form.cart .variations select {
    width: 100%;
    padding: var(--cpm-space-sm) var(--cpm-space-md);
    min-height: 44px;
    border: 1px solid var(--cpm-gray-300);
    border-radius: var(--cpm-radius-sm);
    font-size: var(--cpm-font-size-base);
    color: var(--cpm-text-primary);
    background: var(--cpm-white);
}

.single-product div.product form.cart .variations select:focus {
    border-color: var(--cpm-primary);
    outline: none;
    box-shadow: 0 0 0 3px var(--cpm-primary-light);
}

.single-product div.product form.cart .reset_variations {
    font-size: var(--cpm-font-size-sm);
    color: var(--cpm-text-secondary);
}

/* ============================================================
   SINGLE PRODUCT — Meta (SKU, categories, tags)
   ============================================================ */

.single-product div.product .product_meta {
    font-size: var(--cpm-font-size-sm);
    color: var(--cpm-text-secondary);
    padding-top: var(--cpm-space-md);
    border-top: 1px solid var(--cpm-gray-200);
    line-height: var(--cpm-line-height-relaxed);
}

.single-product div.product .product_meta > span {
    display: block;
    margin-bottom: var(--cpm-space-xs);
}

.single-product div.product .product_meta a {
    color: var(--cpm-primary);
    text-decoration: none;
}

.single-product div.product .product_meta a:hover {
    text-decoration: underline;
}

/* ============================================================
   SINGLE PRODUCT — Tabs
   ============================================================ */

.woocommerce-tabs {
    background: var(--cpm-white);
    border-radius: var(--cpm-radius-md);
    box-shadow: var(--cpm-shadow-sm);
    overflow: hidden;
}

.woocommerce-tabs ul.tabs {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    border-bottom: 2px solid var(--cpm-gray-200);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

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

.woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    border: none;
    background: none;
    position: relative;
}

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

.woocommerce-tabs ul.tabs li a {
    display: block;
    padding: var(--cpm-space-md) var(--cpm-space-lg);
    font-size: var(--cpm-font-size-sm);
    font-weight: 500;
    color: var(--cpm-text-secondary);
    text-decoration: none;
    white-space: nowrap;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color var(--cpm-transition-fast), border-color var(--cpm-transition-fast);
}

.woocommerce-tabs ul.tabs li a:hover {
    color: var(--cpm-primary);
}

.woocommerce-tabs ul.tabs li.active a {
    color: var(--cpm-primary);
    font-weight: 600;
    border-bottom-color: var(--cpm-primary);
}

.woocommerce-tabs .woocommerce-Tabs-panel {
    padding: var(--cpm-space-lg);
}

.woocommerce-tabs .woocommerce-Tabs-panel h2 {
    font-size: var(--cpm-font-size-md);
    margin-bottom: var(--cpm-space-md);
}

.woocommerce-tabs .woocommerce-Tabs-panel p {
    font-size: var(--cpm-font-size-sm);
    color: var(--cpm-text-secondary);
    line-height: var(--cpm-line-height-relaxed);
}

/* Reviews inside tabs */
.woocommerce-tabs #reviews .commentlist {
    list-style: none;
    padding: 0;
    margin: 0;
}

.woocommerce-tabs #reviews .comment_container {
    display: flex;
    gap: var(--cpm-space-md);
    padding: var(--cpm-space-md) 0;
    border-bottom: 1px solid var(--cpm-gray-200);
}

.woocommerce-tabs #reviews .comment_container img.avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex-shrink: 0;
}

.woocommerce-tabs #reviews .comment_container .comment-text .meta {
    font-size: var(--cpm-font-size-sm);
    color: var(--cpm-text-secondary);
    margin-bottom: var(--cpm-space-sm);
}

.woocommerce-tabs #reviews .comment_container .comment-text .description p {
    font-size: var(--cpm-font-size-sm);
    margin: 0;
}

/* Review form */
.woocommerce-tabs #review_form .comment-reply-title {
    font-size: var(--cpm-font-size-md);
    margin-bottom: var(--cpm-space-md);
}

.woocommerce-tabs #review_form .comment-form label {
    display: block;
    font-size: var(--cpm-font-size-sm);
    font-weight: 500;
    margin-bottom: var(--cpm-space-xs);
}

.woocommerce-tabs #review_form .comment-form input[type="text"],
.woocommerce-tabs #review_form .comment-form input[type="email"],
.woocommerce-tabs #review_form .comment-form textarea {
    width: 100%;
    padding: var(--cpm-space-sm) var(--cpm-space-md);
    border: 1px solid var(--cpm-gray-300);
    border-radius: var(--cpm-radius-sm);
    font-size: var(--cpm-font-size-base);
    min-height: 44px;
}

/* ============================================================
   RELATED & UP-SELL PRODUCTS
   ============================================================ */

.single-product .related > h2,
.single-product .up-sells > h2 {
    font-size: var(--cpm-font-size-lg);
    margin-bottom: var(--cpm-space-lg);
}

/* ============================================================
   NO PRODUCTS FOUND
   ============================================================ */

.woocommerce-no-products-found .woocommerce-info {
    text-align: center;
    padding: var(--cpm-space-2xl);
}

/* ============================================================
   RESPONSIVE — Mobile refinements
   ============================================================ */

@media (max-width: 639px) {
    ul.products {
        gap: var(--cpm-space-md);
    }

    ul.products li.product .woocommerce-loop-product__title {
        padding: var(--cpm-space-sm) var(--cpm-space-sm) 0;
        font-size: var(--cpm-font-size-xs);
    }

    ul.products li.product .price {
        padding: var(--cpm-space-xs) var(--cpm-space-sm);
        font-size: var(--cpm-font-size-sm);
    }

    ul.products li.product .button,
    ul.products li.product a.add_to_cart_button,
    ul.products li.product a.product_type_simple,
    ul.products li.product a.product_type_variable {
        width: calc(100% - var(--cpm-space-sm) * 2);
        margin: auto var(--cpm-space-sm) var(--cpm-space-sm);
        min-height: 36px;
        font-size: var(--cpm-font-size-xs);
    }

    /* Single product adjustments */
    .single-product div.product .product_title {
        font-size: var(--cpm-font-size-lg);
    }

    .single-product div.product .price {
        font-size: var(--cpm-font-size-md);
    }

    .single-product div.product form.cart {
        flex-direction: column;
        align-items: stretch;
    }

    .single-product div.product form.cart .quantity {
        width: 100%;
    }

    .single-product div.product form.cart .quantity .qty {
        width: 100%;
    }

    .single-product div.product form.cart .single_add_to_cart_button {
        width: 100%;
    }

    /* Tabs: scrollable on mobile */
    .woocommerce-tabs ul.tabs li a {
        padding: var(--cpm-space-sm) var(--cpm-space-md);
        font-size: var(--cpm-font-size-xs);
    }

    .woocommerce-tabs .woocommerce-Tabs-panel {
        padding: var(--cpm-space-md);
    }
}
