.wcctp-wrap {
    --wcctp-green: #0f8f55;
    --wcctp-green-dark: #087342;
    --wcctp-border: rgba(15, 143, 85, 0.16);
    --wcctp-shadow: 0 16px 45px rgba(15, 31, 45, 0.10);
    width: 100%;
}

.wcctp-tabs {
    display: flex;
    flex-wrap: nowrap !important;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 8px 4px 14px;
    margin-bottom: 18px;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    white-space: nowrap;
    touch-action: pan-x;
    max-width: 100%;
}

.wcctp-tabs::-webkit-scrollbar { height: 7px; }
.wcctp-tabs::-webkit-scrollbar-thumb { background: rgba(15, 143, 85, 0.38); border-radius: 20px; }

.wcctp-tab {
    flex: 0 0 auto !important;
    border: 1px solid var(--wcctp-border);
    background: #fff;
    color: #152923;
    border-radius: 999px;
    padding: 10px 16px;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 22px rgba(15, 31, 45, 0.06);
    transition: all .22s ease;
    scroll-snap-align: start;
    white-space: nowrap;
}

.wcctp-tab small {
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(15, 143, 85, 0.10);
    font-size: 12px;
}

.wcctp-tab:hover,
.wcctp-tab.is-active {
    background: var(--wcctp-green);
    border-color: var(--wcctp-green);
    color: #fff;
    transform: translateY(-1px);
}

.wcctp-tab.is-active small,
.wcctp-tab:hover small {
    background: rgba(255,255,255,.18);
    color: #fff;
}

.wcctp-products {
    position: relative;
    min-height: 180px;
}

.wcctp-products.is-loading {
    opacity: .55;
    pointer-events: none;
}

.wcctp-grid {
    display: grid;
    grid-template-columns: repeat(var(--wcctp-columns, 4), minmax(0, 1fr));
    gap: 18px;
}

.wcctp-card {
    background: #fff;
    border: 1px solid rgba(15, 31, 45, 0.08);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: var(--wcctp-shadow);
    transition: transform .22s ease, box-shadow .22s ease;
}

.wcctp-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 55px rgba(15, 31, 45, 0.14);
}

.wcctp-image {
    display: block;
    background: #f7faf8;
    aspect-ratio: 1/1;
    overflow: hidden;
}

.wcctp-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.wcctp-card-body {
    padding: 14px;
}

.wcctp-card h3 {
    font-size: 15px;
    line-height: 1.35;
    margin: 0 0 8px;
    font-weight: 600;
}

.wcctp-card h3 a {
    color: #14231f;
    text-decoration: none;
}

.wcctp-price {
    margin-bottom: 12px;
    color: var(--wcctp-green-dark);
    font-weight: 700;
}

.wcctp-view {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 9px 10px;
    border-radius: 12px;
    background: rgba(15, 143, 85, 0.10);
    color: var(--wcctp-green-dark);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
}

.wcctp-view:hover {
    background: var(--wcctp-green);
    color: #fff;
}

.wcctp-pagination {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.wcctp-page {
    min-width: 38px;
    height: 38px;
    border: 1px solid var(--wcctp-border);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
}

.wcctp-page.is-active,
.wcctp-page:hover {
    background: var(--wcctp-green);
    border-color: var(--wcctp-green);
    color: #fff;
}

.wcctp-empty {
    padding: 24px;
    border: 1px dashed rgba(15, 31, 45, .18);
    border-radius: 16px;
    background: #fbfdfc;
    text-align: center;
}

@media (max-width: 767px) {
    .wcctp-grid {
        grid-template-columns: repeat(var(--wcctp-mobile-columns, 2), minmax(0, 1fr));
        gap: 12px;
    }
    .wcctp-tab { padding: 10px 13px; font-size: 14px; }
    .wcctp-card-body { padding: 11px; }
    .wcctp-card h3 { font-size: 13px; }
}

/* v1.0.2 refinements */
.wcctp-tabs {
    position: sticky;
    top: 0;
    z-index: 999;
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid rgba(15, 143, 85, 0.10);
}

.admin-bar .wcctp-tabs {
    top: 32px;
}

.wcctp-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.wcctp-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.wcctp-card h3 {
    min-height: 42px;
}

.wcctp-price {
    min-height: 26px;
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.wcctp-price .price,
.wcctp-price del,
.wcctp-price ins,
.wcctp-price bdi,
.wcctp-price span {
    white-space: nowrap;
}

.wcctp-cart-row {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.wcctp-qty {
    flex: 0 0 92px;
    display: flex;
    align-items: center;
    height: 38px;
    border: 1px solid var(--wcctp-border);
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}

.wcctp-qty-btn {
    width: 28px;
    height: 100%;
    border: 0;
    background: rgba(15, 143, 85, 0.08);
    color: var(--wcctp-green-dark);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    padding: 0;
}

.wcctp-qty-input {
    width: 36px !important;
    min-width: 36px !important;
    height: 100% !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 13px;
    background: #fff;
    -moz-appearance: textfield;
}

.wcctp-qty-input::-webkit-outer-spin-button,
.wcctp-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.wcctp-add-cart,
.wcctp-add-cart.button {
    flex: 1;
    min-width: 0;
    height: 38px;
    padding: 0 10px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-align: center;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    text-decoration: none !important;
    line-height: 1 !important;
}

.wcctp-add-cart:hover,
.wcctp-add-cart.button:hover {
}

.wcctp-add-cart.added::after,
.wcctp-add-cart.loading::after {
    margin-left: 6px;
}

@media (max-width: 782px) {
    .admin-bar .wcctp-tabs { top: 46px; }
}

@media (max-width: 480px) {
    .wcctp-cart-row {
        gap: 6px;
    }
    .wcctp-qty {
        flex-basis: 82px;
    }
    .wcctp-qty-btn {
        width: 25px;
    }
    .wcctp-qty-input {
        width: 32px !important;
        min-width: 32px !important;
    }
    .wcctp-add-cart,
    .wcctp-add-cart.button {
        font-size: 12px !important;
        padding: 0 8px !important;
    }
}

/* v1.0.3 compact layout, clean prices, combined cart button, better sticky tabs */
.wcctp-tabs {
    top: var(--wcctp-sticky-offset, 0px);
    margin-bottom: 10px;
    padding: 7px 3px 9px;
    gap: 8px;
}

.wcctp-grid {
    gap: 12px;
}

.wcctp-card {
    border-radius: 14px;
}

.wcctp-card-body {
    padding: 10px;
}

.wcctp-card h3 {
    min-height: 0;
    margin-bottom: 5px;
    line-height: 1.25;
}

.wcctp-price {
    display: block;
    min-height: 0;
    margin: 0 0 8px;
    line-height: 1.2;
    white-space: normal;
    overflow: visible;
    text-overflow: initial;
    font-size: 14px;
}

.wcctp-cart-row {
    margin-top: 0;
    gap: 0;
    height: 36px;
    border: 1px solid var(--wcctp-green);
    border-radius: 11px;
    overflow: hidden;
    background: var(--wcctp-green);
}

.wcctp-qty {
    flex: 0 0 86px;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: #fff;
}

.wcctp-qty-btn {
    width: 25px;
    background: rgba(15, 143, 85, 0.10);
    font-weight: 800;
}

.wcctp-qty-input {
    width: 34px !important;
    min-width: 34px !important;
    font-weight: 700;
}

.wcctp-add-cart,
.wcctp-add-cart.button {
    height: 100%;
    border-radius: 0 !important;
    padding: 0 8px !important;
    font-size: 12px !important;
}

.wcctp-pagination {
    margin-top: 14px;
}

@media (max-width: 767px) {
    .wcctp-tabs {
        top: var(--wcctp-mobile-sticky-offset, 72px);
        z-index: 99999;
        margin-left: -1px;
        margin-right: -1px;
    }
    .admin-bar .wcctp-tabs {
        top: calc(var(--wcctp-mobile-sticky-offset, 72px) + 46px);
    }
    .wcctp-grid {
        gap: 9px;
    }
    .wcctp-card-body {
        padding: 8px;
    }
    .wcctp-card h3 {
        font-size: 12.5px;
        margin-bottom: 4px;
    }
    .wcctp-price {
        font-size: 13px;
        margin-bottom: 6px;
    }
    .wcctp-cart-row {
        height: 34px;
    }
    .wcctp-qty {
        flex-basis: 78px;
    }
    .wcctp-qty-btn {
        width: 23px;
    }
    .wcctp-qty-input {
        width: 32px !important;
        min-width: 32px !important;
        font-size: 12px;
    }
}

/* v1.0.4 mobile sticky tabs like app/menu tabs */
.wcctp-tabs-placeholder {
    height: 0;
    display: block;
}

.wcctp-tabs {
    box-sizing: border-box;
}

.wcctp-tabs-fixed {
    position: fixed !important;
    right: auto !important;
    z-index: 2147483000 !important;
    margin: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 10px 24px rgba(15, 31, 45, 0.10);
}

@media (max-width: 767px) {
    .wcctp-tabs {
        position: relative !important;
        top: auto !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center;
        width: 100%;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap !important;
        gap: 14px;
        padding: 10px 13px 11px !important;
        margin: 0 0 14px !important;
        background: rgba(255, 255, 255, 0.97) !important;
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        border-top: 1px solid rgba(15, 143, 85, 0.06);
        border-bottom: 1px solid rgba(15, 143, 85, 0.12);
        scrollbar-width: thin;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x proximity;
    }

    .wcctp-tabs-fixed {
        position: fixed !important;
        top: var(--wcctp-fixed-top, 72px) !important;
        left: 0 !important;
        width: calc(100vw - 16px) !important;
        margin-left: 8px !important;
        margin-right: 8px !important;
        border-radius: 8px !important;
    }

    .wcctp-tab {
        flex: 0 0 auto !important;
        min-width: max-content;
        padding: 13px 18px !important;
        border-radius: 999px !important;
        font-size: 15px !important;
        line-height: 1 !important;
        box-shadow: 0 8px 22px rgba(15, 31, 45, 0.07);
    }

    .wcctp-tab small {
        min-width: 28px;
        height: 28px;
        font-size: 13px;
    }

    .wcctp-products {
        position: relative;
        z-index: 1;
    }
}


/* v1.0.5 mobile sticky adjustment */
@media (max-width: 767px) {
    .wcctp-tabs-fixed {
        border-radius: 8px !important;
        overflow: hidden;
    }
}


/* v1.0.6 requested mobile/product refinements */
@media (max-width: 767px) {
    .wcctp-tabs-fixed {
        top: calc(var(--wcctp-fixed-top, 94px) + 6px) !important;
        border-radius: 10px !important;
        padding: 8px 11px 9px !important;
        overflow: hidden !important;
        box-shadow: 0 12px 28px rgba(15, 31, 45, 0.12) !important;
        border: 1px solid rgba(15, 143, 85, 0.10) !important;
    }

    .wcctp-tabs-fixed .wcctp-tab {
        margin-top: 1px;
        margin-bottom: 1px;
    }

    .wcctp-image {
        aspect-ratio: 1 / 0.82;
    }

    .wcctp-card-body {
        padding: 10px 9px 11px;
        gap: 4px;
    }

    .wcctp-card h3 {
        font-size: 13px;
        line-height: 1.25;
        margin-bottom: 5px;
    }

    .wcctp-price {
        font-size: 15px;
        line-height: 1.2;
        margin: 2px 0 9px;
        font-weight: 800;
    }

    .wcctp-cart-row {
        margin-top: 2px;
    }
}

@media (min-width: 768px) {
    .wcctp-image {
        aspect-ratio: 1 / 0.86;
    }

    .wcctp-card-body {
        padding: 12px;
    }

    .wcctp-card h3 {
        margin-bottom: 6px;
    }

    .wcctp-price {
        font-size: 16px;
        margin: 2px 0 10px;
        font-weight: 800;
    }
}


/* v1.0.7 refinements: corrected sticky position, scrollable fixed tabs, centered cards, tighter tab size, stronger price */
.wcctp-card-body {
    text-align: center;
    align-items: center;
}

.wcctp-card h3,
.wcctp-price,
.wcctp-cart-row {
    width: 100%;
}

.wcctp-price {
    font-size: 18px;
    font-weight: 900;
    letter-spacing: -0.01em;
}

.wcctp-card-body {
    gap: 7px;
}

.wcctp-card h3 {
    margin-bottom: 7px;
}

.wcctp-price {
    margin: 3px 0 12px;
}

.wcctp-cart-row {
    margin-top: 3px;
}

@media (max-width: 767px) {
    .wcctp-tabs,
    .wcctp-tabs-fixed {
        gap: 9px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-x !important;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
    }

    .wcctp-tabs-fixed {
        top: var(--wcctp-fixed-top, 94px) !important;
        padding: 8px 10px !important;
        border-radius: 10px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        pointer-events: auto !important;
    }

    .wcctp-tab {
        padding: 10px 13px !important;
        font-size: 13px !important;
        gap: 6px !important;
    }

    .wcctp-tab small {
        min-width: 22px !important;
        height: 22px !important;
        font-size: 11px !important;
        padding: 0 5px !important;
    }

    .wcctp-card-body {
        text-align: center;
        align-items: center;
        padding: 12px 10px 13px;
        gap: 7px;
    }

    .wcctp-card h3 {
        font-size: 13px;
        line-height: 1.3;
        margin-bottom: 7px;
    }

    .wcctp-price {
        font-size: 17px;
        line-height: 1.22;
        margin: 4px 0 12px;
        font-weight: 900;
    }

    .wcctp-cart-row {
        margin-top: 4px;
    }
}

/* v1.0.8 refinements: long prices stay on one line, tabs slightly larger */
.wcctp-price,
.wcctp-price .price,
.wcctp-price del,
.wcctp-price ins,
.wcctp-price bdi,
.wcctp-price span,
.wcctp-price .woocommerce-Price-amount {
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: clip;
    max-width: 100%;
}

.wcctp-price {
    display: block;
    width: 100%;
    line-height: 1.1;
    font-size: clamp(14px, 4.2vw, 20px);
}

.wcctp-price.is-fitted {
    transform-origin: center center;
}

@media (max-width: 767px) {
    .wcctp-tab {
        padding: 11px 15px !important;
        font-size: 14px !important;
        gap: 7px !important;
    }

    .wcctp-tab small {
        min-width: 23px !important;
        height: 23px !important;
        font-size: 12px !important;
    }
}

@media (min-width: 768px) {
    .wcctp-tab {
        padding: 11px 17px !important;
        font-size: 15px !important;
    }
}


/* v1.0.10 mobile tab edge alignment */
@media (max-width: 767px) {
    .wcctp-tabs {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 14px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }

    .wcctp-tabs-fixed {
        left: 0 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 14px !important;
        padding-right: 10px !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-radius: 0 8px 8px 0 !important;
    }

    .wcctp-tabs .wcctp-tab:first-child,
    .wcctp-tabs-fixed .wcctp-tab:first-child {
        margin-left: 2px !important;
    }
}


/* v1.0.11 mobile full-bleed tabs + true first-tab inset + hide Woo view-cart link */
.wcctp-wrap .added_to_cart,
.wcctp-wrap .wc-forward,
.wcctp-wrap a.added_to_cart,
.wcctp-wrap a.wc-forward {
    display: none !important;
}

@media (max-width: 767px) {
    .wcctp-tabs {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding: 8px 10px 8px 18px !important;
        border-radius: 0 !important;
        box-sizing: border-box !important;
        scroll-padding-left: 18px !important;
    }

    .wcctp-tabs-fixed {
        left: 0 !important;
        right: auto !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 8px 10px 8px 18px !important;
        border-radius: 0 8px 8px 0 !important;
        box-sizing: border-box !important;
        scroll-padding-left: 18px !important;
    }

    .wcctp-tabs > .wcctp-tab:first-child,
    .wcctp-tabs-fixed > .wcctp-tab:first-child {
        margin-left: 6px !important;
    }
}

/* v1.0.12 refinements: sticky closer to top panel, desktop/mobile first-tab inset, premium pagination, optional parent intro */
.wcctp-parent-intro {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0 0 14px;
    padding: 14px;
    border: 1px solid rgba(15, 143, 85, 0.12);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(15,143,85,.08), rgba(255,255,255,.98));
    box-shadow: 0 12px 32px rgba(15,31,45,.07);
}

.wcctp-parent-media {
    flex: 0 0 82px;
    width: 82px;
    height: 82px;
    border-radius: 14px;
    overflow: hidden;
    background: #f4faf7;
}

.wcctp-parent-media img,
.wcctp-parent-image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.wcctp-parent-content {
    min-width: 0;
}

.wcctp-parent-content h2 {
    margin: 0 0 5px;
    font-size: 22px;
    line-height: 1.15;
    color: #102820;
    font-weight: 800;
}

.wcctp-parent-description,
.wcctp-parent-description p {
    margin: 0;
    font-size: 14px;
    line-height: 1.45;
    color: #557067;
}

.wcctp-pagination {
    width: 100%;
    margin: 26px auto 0 !important;
    padding: 10px 12px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px !important;
    border-radius: 16px;
    background: rgba(15, 143, 85, 0.055);
    border: 1px solid rgba(15, 143, 85, 0.10);
}

.wcctp-page,
.wcctp-page.button,
button.wcctp-page {
    min-width: 38px !important;
    height: 38px !important;
    padding: 0 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(15, 143, 85, 0.22) !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0f5135 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer;
    box-shadow: 0 6px 14px rgba(15,31,45,.05);
}

.wcctp-page.is-active,
.wcctp-page:hover,
button.wcctp-page.is-active,
button.wcctp-page:hover {
    background: var(--wcctp-green) !important;
    border-color: var(--wcctp-green) !important;
    color: #fff !important;
    transform: translateY(-1px);
}

.wcctp-tabs > .wcctp-tab:first-child {
    margin-left: 4px !important;
}

@media (max-width: 767px) {
    .wcctp-tabs,
    .wcctp-tabs-fixed {
        padding-left: 14px !important;
        scroll-padding-left: 14px !important;
    }

    .wcctp-tabs > .wcctp-tab:first-child,
    .wcctp-tabs-fixed > .wcctp-tab:first-child {
        margin-left: 3px !important;
    }

    .wcctp-tabs-fixed {
        top: calc(var(--wcctp-fixed-top, 94px) - 5px) !important;
    }

    .wcctp-parent-intro {
        gap: 11px;
        padding: 11px;
        margin-bottom: 12px;
        border-radius: 14px;
    }

    .wcctp-parent-media {
        flex-basis: 64px;
        width: 64px;
        height: 64px;
        border-radius: 12px;
    }

    .wcctp-parent-content h2 {
        font-size: 18px;
    }

    .wcctp-parent-description,
    .wcctp-parent-description p {
        font-size: 12.5px;
    }

    .wcctp-pagination {
        margin-top: 20px !important;
        padding: 9px;
        gap: 7px !important;
    }

    .wcctp-page,
    button.wcctp-page {
        min-width: 34px !important;
        height: 34px !important;
        padding: 0 11px !important;
        font-size: 13px !important;
    }
}

/* v1.1.0 parent switcher and shop override */
.wcctp-parent-switcher {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 4px 4px 10px;
    margin: 0 0 10px;
    scrollbar-width: thin;
}

.wcctp-parent-switch {
    flex: 0 0 auto;
    border: 1px solid rgba(15, 143, 85, 0.18);
    background: rgba(15, 143, 85, 0.07);
    color: #0d4630;
    border-radius: 14px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 7px 18px rgba(15,31,45,.05);
    white-space: nowrap;
}

.wcctp-parent-switch.is-active,
.wcctp-parent-switch:hover {
    background: var(--wcctp-green);
    border-color: var(--wcctp-green);
    color: #fff;
}

.wcctp-parent-intro-panel,
.wcctp-tabs:not(.is-active) {
    display: none !important;
}

.wcctp-parent-intro-panel.is-active,
.wcctp-tabs.is-active {
    display: flex !important;
}

.wcctp-parent-intro-panel.is-active {
    display: block !important;
}

.wcctp-shop-override {
    width: 100%;
    margin-bottom: 28px;
}

@media (max-width: 767px) {
    .wcctp-parent-switcher {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        padding-left: 12px;
        padding-right: 12px;
        box-sizing: border-box;
    }

    .wcctp-parent-switch {
        padding: 9px 14px;
        font-size: 13.5px;
        border-radius: 13px;
    }
}


/* v1.1.1: keep sticky category tabs below mobile menus, carts and theme overlays */
.wcctp-tabs-fixed {
    z-index: 80 !important;
}

@media (max-width: 767px) {
    .wcctp-tabs-fixed {
        z-index: 80 !important;
    }

    /* When common mobile menu/cart panels are open, never let the tabs cover them. */
    body.mobile-menu-open .wcctp-tabs-fixed,
    body.menu-open .wcctp-tabs-fixed,
    body.nav-open .wcctp-tabs-fixed,
    body.offcanvas-open .wcctp-tabs-fixed,
    body.woocommerce-mini-cart-open .wcctp-tabs-fixed,
    body.drawer-open .wcctp-tabs-fixed,
    body.ast-main-header-nav-open .wcctp-tabs-fixed,
    body.has-modal-open .wcctp-tabs-fixed {
        z-index: 20 !important;
    }
}

/* v1.1.2: parent switcher is now part of the floating tab panel */
.wcctp-tabs-shell {
    width: 100%;
    max-width: 100%;
    background: #fff;
    border-radius: 8px;
    box-sizing: border-box;
    margin-bottom: 12px;
}

.wcctp-tabs-shell .wcctp-parent-switcher {
    justify-content: center;
    margin: 0;
    padding: 8px 12px 6px;
    box-sizing: border-box;
}

.wcctp-tabs-shell .wcctp-tabs {
    margin-bottom: 0;
}

.wcctp-tabs-shell.wcctp-tabs-fixed {
    position: fixed !important;
    right: auto !important;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15,31,45,.10);
    border-radius: 0 0 8px 8px;
    padding: 4px 0 6px;
    box-sizing: border-box;
    overflow: visible;
    z-index: 80 !important;
}

.wcctp-tabs-shell.wcctp-tabs-fixed .wcctp-parent-switcher {
    width: 100%;
    justify-content: center;
}

.wcctp-tabs-shell.wcctp-tabs-fixed .wcctp-tabs.is-active {
    width: 100%;
}

@media (max-width: 767px) {
    .wcctp-tabs-shell {
        width: 100vw;
        max-width: 100vw;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        border-radius: 8px;
    }

    .wcctp-tabs-shell .wcctp-parent-switcher {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 10px;
        padding-right: 10px;
    }

    .wcctp-tabs-shell.wcctp-tabs-fixed {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.mobile-menu-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.menu-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.nav-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.offcanvas-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.woocommerce-mini-cart-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.drawer-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.ast-main-header-nav-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.has-modal-open .wcctp-tabs-shell.wcctp-tabs-fixed {
        z-index: 20 !important;
    }
}

/* v1.1.2 final sticky shell overrides */
.wcctp-tabs-shell.wcctp-tabs-fixed {
    top: var(--wcctp-fixed-top, 72px) !important;
    overflow: visible !important;
}

@media (max-width: 767px) {
    .wcctp-tabs-shell.wcctp-tabs-fixed {
        top: var(--wcctp-fixed-top, 72px) !important;
        left: 0 !important;
        width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        overflow: visible !important;
    }

    .wcctp-tabs-shell.wcctp-tabs-fixed .wcctp-tabs.is-active {
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }
}


/* v1.1.4 - Force plugin button styling only inside this plugin layout, including shop override */
.wcctp-wrap a.button,
.wcctp-wrap button.button,
.wcctp-wrap input.button,
.wcctp-wrap a.added_to_cart,
.wcctp-wrap .wcctp-add-cart,
.wcctp-wrap .wcctp-view {
    background: linear-gradient(135deg, var(--wcctp-green, #0f8f55), var(--wcctp-green-dark, #087342)) !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 24px rgba(15, 143, 85, 0.22) !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    text-align: center !important;
    transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}

.wcctp-wrap a.button:hover,
.wcctp-wrap button.button:hover,
.wcctp-wrap input.button:hover,
.wcctp-wrap a.added_to_cart:hover,
.wcctp-wrap .wcctp-add-cart:hover,
.wcctp-wrap .wcctp-view:hover {
    background: linear-gradient(135deg, var(--wcctp-green-dark, #087342), var(--wcctp-green, #0f8f55)) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 28px rgba(15, 143, 85, 0.28) !important;
    filter: saturate(1.04);
}

.wcctp-wrap a.button:disabled,
.wcctp-wrap button.button:disabled,
.wcctp-wrap input.button:disabled,
.wcctp-wrap a.button.disabled,
.wcctp-wrap button.button.disabled,
.wcctp-wrap input.button.disabled,
.wcctp-wrap a.button:disabled[disabled],
.wcctp-wrap button.button:disabled[disabled],
.wcctp-wrap input.button:disabled[disabled] {
    background: #d8e6df !important;
    color: #6d8178 !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

.wcctp-wrap .wcctp-add-cart,
.wcctp-wrap .wcctp-add-cart.button {
    height: 38px;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    line-height: 1 !important;
    font-size: 13px !important;
}


/* v1.1.5 - Distinct parent switcher design */
.wcctp-tabs-shell .wcctp-parent-switcher {
    gap: 10px !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 10px 12px 8px !important;
    margin-bottom: 2px !important;
    position: relative;
}

.wcctp-tabs-shell .wcctp-parent-switcher::before,
.wcctp-tabs-shell .wcctp-parent-switcher::after {
    content: '';
    flex: 0 0 22px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(15,143,85,.28));
}

.wcctp-tabs-shell .wcctp-parent-switcher::after {
    background: linear-gradient(90deg, rgba(15,143,85,.28), transparent);
}

.wcctp-wrap .wcctp-parent-switch {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    min-height: 36px !important;
    padding: 7px 13px 7px 8px !important;
    border-radius: 999px !important;
    border: 1px solid rgba(15, 143, 85, .20) !important;
    background: linear-gradient(135deg, #ffffff 0%, #f1fff7 100%) !important;
    color: #0c5134 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65), 0 6px 18px rgba(15,31,45,.07) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
}

.wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon {
    width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(15,143,85,.11);
    color: var(--wcctp-green, #0f8f55);
    font-size: 18px;
    line-height: 1;
    font-weight: 900;
}

.wcctp-wrap .wcctp-parent-switch .wcctp-parent-label {
    line-height: 1;
    white-space: nowrap;
}

.wcctp-wrap .wcctp-parent-switch .wcctp-parent-arrow {
    font-size: 13px;
    line-height: 1;
    opacity: .72;
    transform: translateY(-1px);
}

.wcctp-wrap .wcctp-parent-switch.is-active {
    background: linear-gradient(135deg, var(--wcctp-green, #0f8f55), var(--wcctp-green-dark, #087342)) !important;
    border-color: rgba(15, 143, 85, .85) !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(15,143,85,.22) !important;
}

.wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-icon {
    background: rgba(255,255,255,.20);
    color: #fff;
}

.wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-arrow {
    transform: rotate(180deg) translateY(1px);
    opacity: .95;
}

.wcctp-wrap .wcctp-parent-switch:hover {
    transform: translateY(-1px);
    filter: none !important;
}

@media (max-width: 767px) {
    .wcctp-tabs-shell .wcctp-parent-switcher {
        justify-content: flex-start !important;
        padding: 9px 10px 7px !important;
        gap: 8px !important;
    }

    .wcctp-tabs-shell .wcctp-parent-switcher::before,
    .wcctp-tabs-shell .wcctp-parent-switcher::after {
        display: none;
    }

    .wcctp-wrap .wcctp-parent-switch {
        min-height: 34px !important;
        padding: 6px 11px 6px 7px !important;
        font-size: 12.5px !important;
    }

    .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon {
        width: 20px;
        height: 20px;
        font-size: 16px;
    }
}


/* v1.1.6 - Keep plugin styling active on WooCommerce shop override, desktop and mobile, without styling normal WooCommerce loops. */
.wcctp-shop-override .wcctp-wrap,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap {
    --wcctp-green: #0f8f55;
    --wcctp-green-dark: #087342;
    --wcctp-border: rgba(15, 143, 85, 0.16);
    --wcctp-shadow: 0 16px 45px rgba(15, 31, 45, 0.10);
    width: 100% !important;
    max-width: 100% !important;
    clear: both;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-grid,
body.post-type-archive-product .wcctp-shop-override .wcctp-grid,
.wcctp-shop-override .wcctp-grid {
    display: grid !important;
    grid-template-columns: repeat(var(--wcctp-columns, 4), minmax(0, 1fr)) !important;
    gap: 18px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-card,
body.post-type-archive-product .wcctp-shop-override .wcctp-card,
.wcctp-shop-override .wcctp-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    background: #fff !important;
    border: 1px solid rgba(15, 31, 45, 0.08) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: var(--wcctp-shadow) !important;
    text-align: center !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-card-body,
body.post-type-archive-product .wcctp-shop-override .wcctp-card-body,
.wcctp-shop-override .wcctp-card-body {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1 !important;
    padding: 14px !important;
    gap: 8px !important;
    text-align: center !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-price,
body.post-type-archive-product .wcctp-shop-override .wcctp-price,
.wcctp-shop-override .wcctp-price {
    color: var(--wcctp-green-dark) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: shrink !important;
    margin: 4px 0 8px !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-cart-control,
body.post-type-archive-product .wcctp-shop-override .wcctp-cart-control,
.wcctp-shop-override .wcctp-cart-control {
    width: 100% !important;
    justify-content: center !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-add-cart.button,
body.post-type-archive-product .wcctp-shop-override .wcctp-add-cart.button,
.wcctp-shop-override .wcctp-add-cart.button,
body.woocommerce-shop .wcctp-shop-override a.button.wcctp-add-cart,
body.post-type-archive-product .wcctp-shop-override a.button.wcctp-add-cart {
    background: linear-gradient(135deg, var(--wcctp-green), var(--wcctp-green-dark)) !important;
    color: #fff !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 24px rgba(15, 143, 85, 0.22) !important;
    font-weight: 800 !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    font-size: 13px !important;
    text-decoration: none !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-tabs-shell,
body.post-type-archive-product .wcctp-shop-override .wcctp-tabs-shell,
.wcctp-shop-override .wcctp-tabs-shell {
    background: #fff !important;
    border-radius: 8px !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-tab,
body.post-type-archive-product .wcctp-shop-override .wcctp-tab,
.wcctp-shop-override .wcctp-tab {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: #fff !important;
    color: #152923 !important;
    border: 1px solid var(--wcctp-border) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 22px rgba(15, 31, 45, 0.06) !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-tab.is-active,
body.woocommerce-shop .wcctp-shop-override .wcctp-tab:hover,
body.post-type-archive-product .wcctp-shop-override .wcctp-tab.is-active,
body.post-type-archive-product .wcctp-shop-override .wcctp-tab:hover,
.wcctp-shop-override .wcctp-tab.is-active,
.wcctp-shop-override .wcctp-tab:hover {
    background: var(--wcctp-green) !important;
    border-color: var(--wcctp-green) !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    body.woocommerce-shop .wcctp-shop-override .wcctp-grid,
    body.post-type-archive-product .wcctp-shop-override .wcctp-grid,
    .wcctp-shop-override .wcctp-grid {
        grid-template-columns: repeat(var(--wcctp-mobile-columns, 2), minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    body.woocommerce-shop .wcctp-shop-override .wcctp-card-body,
    body.post-type-archive-product .wcctp-shop-override .wcctp-card-body,
    .wcctp-shop-override .wcctp-card-body {
        padding: 11px !important;
        gap: 7px !important;
    }

    body.woocommerce-shop .wcctp-shop-override .wcctp-price,
    body.post-type-archive-product .wcctp-shop-override .wcctp-price,
    .wcctp-shop-override .wcctp-price {
        font-size: clamp(14px, 4.5vw, 19px) !important;
    }
}

/* v1.1.7 - Larger centered parent switcher with category icons instead of arrows */
.wcctp-tabs-shell .wcctp-parent-switcher,
.wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher,
body.woocommerce-shop .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher,
body.post-type-archive-product .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher {
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 12px 14px 10px !important;
    text-align: center !important;
}

.wcctp-tabs-shell .wcctp-parent-switcher::before,
.wcctp-tabs-shell .wcctp-parent-switcher::after {
    display: none !important;
}

.wcctp-wrap .wcctp-parent-switch,
.wcctp-shop-override .wcctp-wrap .wcctp-parent-switch,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch {
    min-height: 46px !important;
    min-width: 132px !important;
    padding: 10px 18px 10px 12px !important;
    border-radius: 18px !important;
    gap: 10px !important;
    font-size: 14px !important;
    justify-content: center !important;
    text-align: center !important;
}

.wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
.wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    font-size: 17px !important;
    background: rgba(15,143,85,.12) !important;
    border: 1px solid rgba(15,143,85,.14) !important;
}

.wcctp-wrap .wcctp-parent-switch .wcctp-parent-label,
.wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-label,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-label,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-label {
    line-height: 1.1 !important;
}

.wcctp-wrap .wcctp-parent-switch .wcctp-parent-arrow {
    display: none !important;
}

.wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-icon,
.wcctp-shop-override .wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-icon,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-icon,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-icon {
    background: rgba(255,255,255,.22) !important;
    border-color: rgba(255,255,255,.24) !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    .wcctp-tabs-shell .wcctp-parent-switcher,
    .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher,
    body.woocommerce-shop .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher,
    body.post-type-archive-product .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher {
        justify-content: center !important;
        gap: 9px !important;
        padding: 10px 10px 8px !important;
    }

    .wcctp-wrap .wcctp-parent-switch,
    .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch,
    body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch,
    body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch {
        min-height: 42px !important;
        min-width: 118px !important;
        padding: 8px 14px 8px 10px !important;
        font-size: 13px !important;
        border-radius: 16px !important;
    }

    .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
    .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
    body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
    body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon {
        width: 25px !important;
        height: 25px !important;
        min-width: 25px !important;
        font-size: 15px !important;
    }
}


/* v1.1.8 - Restore child tab size and refine parent switcher design */
.wcctp-wrap .wcctp-tab,
.wcctp-shop-override .wcctp-wrap .wcctp-tab,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-tab,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-tab {
    padding: 10px 14px !important;
    font-size: 14px !important;
    min-height: 38px !important;
    gap: 7px !important;
}

.wcctp-wrap .wcctp-tab small,
.wcctp-shop-override .wcctp-wrap .wcctp-tab small,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-tab small,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-tab small {
    min-width: 22px !important;
    height: 22px !important;
    font-size: 11px !important;
    padding: 0 5px !important;
}

.wcctp-tabs-shell .wcctp-parent-switcher,
.wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher,
body.woocommerce-shop .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher,
body.post-type-archive-product .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher {
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px 8px !important;
    margin: 0 auto 2px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.wcctp-wrap .wcctp-parent-switch,
.wcctp-shop-override .wcctp-wrap .wcctp-parent-switch,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch {
    min-height: 42px !important;
    min-width: 122px !important;
    padding: 8px 15px 8px 10px !important;
    border-radius: 999px !important;
    gap: 9px !important;
    font-size: 13.5px !important;
    font-weight: 900 !important;
    color: #0b5133 !important;
    background: linear-gradient(135deg, #f7fff9 0%, #ffffff 100%) !important;
    border: 1px solid rgba(15, 143, 85, .22) !important;
    box-shadow: 0 7px 18px rgba(15,31,45,.07) !important;
}

.wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
.wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--wcctp-green, #0f8f55), var(--wcctp-green-dark, #087342)) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,.35) !important;
    box-shadow: 0 5px 12px rgba(15,143,85,.20) !important;
}

.wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon svg,
.wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon svg,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon svg,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    color: #ffffff !important;
    fill: currentColor !important;
}

.wcctp-wrap .wcctp-parent-switch.is-active,
.wcctp-shop-override .wcctp-wrap .wcctp-parent-switch.is-active,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch.is-active,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch.is-active {
    background: linear-gradient(135deg, var(--wcctp-green, #0f8f55), var(--wcctp-green-dark, #087342)) !important;
    border-color: rgba(15, 143, 85, .80) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(15,143,85,.23) !important;
}

.wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-icon,
.wcctp-shop-override .wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-icon,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-icon,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch.is-active .wcctp-parent-icon {
    background: rgba(255,255,255,.18) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

@media (max-width: 767px) {
    .wcctp-wrap .wcctp-tab,
    .wcctp-shop-override .wcctp-wrap .wcctp-tab,
    body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-tab,
    body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-tab {
        padding: 9px 12px !important;
        font-size: 13px !important;
        min-height: 36px !important;
    }

    .wcctp-tabs-shell .wcctp-parent-switcher,
    .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher,
    body.woocommerce-shop .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher,
    body.post-type-archive-product .wcctp-shop-override .wcctp-tabs-shell .wcctp-parent-switcher {
        justify-content: center !important;
        gap: 8px !important;
        padding: 9px 9px 7px !important;
    }

    .wcctp-wrap .wcctp-parent-switch,
    .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch,
    body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch,
    body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch {
        min-height: 38px !important;
        min-width: 108px !important;
        padding: 7px 12px 7px 8px !important;
        font-size: 12.5px !important;
        gap: 7px !important;
    }

    .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
    .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
    body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon,
    body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon {
        width: 23px !important;
        height: 23px !important;
        min-width: 23px !important;
    }

    .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon svg,
    .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon svg,
    body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon svg,
    body.post-type-archive-product .wcctp-shop-override .wcctp-wrap .wcctp-parent-switch .wcctp-parent-icon svg {
        width: 14px !important;
        height: 14px !important;
    }
}


/* v1.1.9 - WooCommerce shop override desktop polish: plugin tab sizing, hidden shop controls, full-width product panel */
body.woocommerce-shop .wcctp-shop-override,
body.post-type-archive-product .wcctp-shop-override {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    clear: both !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-wrap,
body.post-type-archive-product .wcctp-shop-override .wcctp-wrap {
    width: 100% !important;
    max-width: 100% !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-tab,
body.post-type-archive-product .wcctp-shop-override .wcctp-tab,
body.woocommerce-shop .wcctp-shop-override button.wcctp-tab,
body.post-type-archive-product .wcctp-shop-override button.wcctp-tab {
    padding: 10px 14px !important;
    min-height: 38px !important;
    height: auto !important;
    font-size: 14px !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-tabs,
body.post-type-archive-product .wcctp-shop-override .wcctp-tabs {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: flex-start !important;
}

body.woocommerce-shop .wcctp-shop-override .wcctp-grid,
body.post-type-archive-product .wcctp-shop-override .wcctp-grid {
    width: 100% !important;
}

body.woocommerce-shop .woocommerce-ordering,
body.woocommerce-shop .woocommerce-result-count,
body.woocommerce-shop .storefront-sorting,
body.post-type-archive-product .woocommerce-ordering,
body.post-type-archive-product .woocommerce-result-count,
body.post-type-archive-product .storefront-sorting {
    display: none !important;
}

@media (max-width: 767px) {
    body.woocommerce-shop .wcctp-shop-override .wcctp-tab,
    body.post-type-archive-product .wcctp-shop-override .wcctp-tab,
    body.woocommerce-shop .wcctp-shop-override button.wcctp-tab,
    body.post-type-archive-product .wcctp-shop-override button.wcctp-tab {
        padding: 9px 12px !important;
        min-height: 36px !important;
        font-size: 13px !important;
    }
}


/* v1.1.10 - Strong plugin Add to Cart styling inside plugin layouts on WooCommerce pages */
.woocommerce .wcctp-wrap .wcctp-cart-row .wcctp-add-cart,
.woocommerce .wcctp-wrap .wcctp-cart-row .wcctp-add-cart.button,
.woocommerce .wcctp-shop-override .wcctp-wrap .wcctp-cart-row .wcctp-add-cart,
.woocommerce-page .wcctp-wrap .wcctp-cart-row .wcctp-add-cart,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-cart-row a.wcctp-add-cart.button.add_to_cart_button {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: linear-gradient(135deg, var(--wcctp-green, #0f8f55), var(--wcctp-green-dark, #087342)) !important;
    color: #ffffff !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 24px rgba(15, 143, 85, 0.22) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    height: 38px !important;
    min-height: 38px !important;
    line-height: 1 !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    width: auto !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
}

.woocommerce .wcctp-wrap .wcctp-cart-row .wcctp-add-cart:hover,
.woocommerce .wcctp-wrap .wcctp-cart-row .wcctp-add-cart.button:hover,
.woocommerce .wcctp-shop-override .wcctp-wrap .wcctp-cart-row .wcctp-add-cart:hover,
.woocommerce-page .wcctp-wrap .wcctp-cart-row .wcctp-add-cart:hover,
body.woocommerce-shop .wcctp-shop-override .wcctp-wrap .wcctp-cart-row a.wcctp-add-cart.button.add_to_cart_button:hover {
    background: linear-gradient(135deg, var(--wcctp-green-dark, #087342), var(--wcctp-green, #0f8f55)) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 28px rgba(15, 143, 85, 0.28) !important;
    transform: translateY(-1px) !important;
}

.woocommerce .wcctp-wrap .wcctp-cart-row .wcctp-qty,
.woocommerce .wcctp-shop-override .wcctp-wrap .wcctp-cart-row .wcctp-qty,
.woocommerce-page .wcctp-wrap .wcctp-cart-row .wcctp-qty {
    height: 38px !important;
    min-height: 38px !important;
    border-radius: 12px !important;
    border: 1px solid var(--wcctp-border, #d9e7df) !important;
    background: #ffffff !important;
    margin: 0 !important;
}

.woocommerce .wcctp-wrap .wcctp-cart-row .wcctp-qty-btn,
.woocommerce .wcctp-shop-override .wcctp-wrap .wcctp-cart-row .wcctp-qty-btn,
.woocommerce-page .wcctp-wrap .wcctp-cart-row .wcctp-qty-btn {
    background: rgba(15, 143, 85, 0.08) !important;
    color: var(--wcctp-green-dark, #087342) !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    width: 28px !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.woocommerce .wcctp-wrap .wcctp-cart-row .wcctp-qty-input,
.woocommerce .wcctp-shop-override .wcctp-wrap .wcctp-cart-row .wcctp-qty-input,
.woocommerce-page .wcctp-wrap .wcctp-cart-row .wcctp-qty-input {
    background: #ffffff !important;
    color: #10251b !important;
    border: 0 !important;
    box-shadow: none !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    text-align: center !important;
}


/* v1.1.11: hide shop tile/list display controls when plugin shop override is active */
body.woocommerce-shop .gridlist-toggle,
body.woocommerce-shop .grid-list-toggle,
body.woocommerce-shop .woocommerce-view-switcher,
body.woocommerce-shop .wc-view-switcher,
body.woocommerce-shop .shop-view-switcher,
body.woocommerce-shop .view-switcher,
body.woocommerce-shop .product-view-switcher,
body.woocommerce-shop .products-view,
body.woocommerce-shop .product-display-toggle,
body.woocommerce-shop .display-mode,
body.woocommerce-shop .display-mode-buttons,
body.woocommerce-shop .wpf-view-switcher,
body.woocommerce-shop .berocket_lgv_widget,
body.woocommerce-shop .br_lgv_product_count_block,
body.woocommerce-shop .yith-wcan-display-options,
body.woocommerce-shop .shop-toolbar,
body.woocommerce-shop .catalog-toolbar,
body.woocommerce-shop .woocommerce-products-toolbar {
    display: none !important;
}


/* v1.1.12: stronger shop cleanup + contained prices */
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woocommerce-ordering,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woocommerce-result-count,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .storefront-sorting,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woocommerce-products-header,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .term-description,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .shop-toolbar,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .catalog-toolbar,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woocommerce-products-toolbar,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .products-toolbar,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woo-product-toolbar,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .ast-shop-toolbar-container,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .ast-woocommerce-container .ast-shop-toolbar-container,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woolentor-filter-wrap,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woolentor-grid-list,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woolentor-grid-list-button,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .shop-display-switcher,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .product-layout-switcher,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .gridlist-toggle,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .grid-list-toggle,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woocommerce-view-switcher,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .wc-view-switcher,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .shop-view-switcher,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .view-switcher,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .product-view-switcher,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .products-view,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .product-display-toggle,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .display-mode,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .display-mode-buttons,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .wpf-view-switcher,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .berocket_lgv_widget,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .br_lgv_product_count_block,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .yith-wcan-display-options,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="gridlist"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="grid-list"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="view-switch"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="layout-switch"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="display-mode"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .wcctp-shop-override,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .wcctp-shop-override * {
    visibility: visible !important;
    height: auto;
}

.woocommerce .wcctp-shop-override .wcctp-price,
.woocommerce-page .wcctp-shop-override .wcctp-price,
.wcctp-shop-override .wcctp-price,
.wcctp-wrap .wcctp-price {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    line-height: 1.1 !important;
    word-break: normal !important;
}

.woocommerce .wcctp-shop-override .wcctp-price .price,
.woocommerce .wcctp-shop-override .wcctp-price span,
.woocommerce .wcctp-shop-override .wcctp-price bdi,
.woocommerce .wcctp-shop-override .wcctp-price ins,
.woocommerce .wcctp-shop-override .wcctp-price del,
.wcctp-wrap .wcctp-price .price,
.wcctp-wrap .wcctp-price span,
.wcctp-wrap .wcctp-price bdi,
.wcctp-wrap .wcctp-price ins,
.wcctp-wrap .wcctp-price del {
    white-space: nowrap !important;
    display: inline !important;
    max-width: none !important;
    line-height: inherit !important;
}


/* v1.1.13: stubborn shop view toggles, true plugin price fit, add-to-cart feedback */
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active :is(
    .woocommerce-ordering,
    .woocommerce-result-count,
    .storefront-sorting,
    .shop-toolbar,
    .catalog-toolbar,
    .woocommerce-products-toolbar,
    .products-toolbar,
    .woo-product-toolbar,
    .ast-shop-toolbar-container,
    .gridlist-toggle,
    .grid-list-toggle,
    .woocommerce-view-switcher,
    .wc-view-switcher,
    .shop-view-switcher,
    .view-switcher,
    .product-view-switcher,
    .products-view,
    .product-display-toggle,
    .display-mode,
    .display-mode-buttons,
    .shop-display-switcher,
    .product-layout-switcher,
    .berocket_lgv_widget,
    .br_lgv_product_count_block,
    .woolentor-grid-list,
    .woolentor-grid-list-button,
    .yith-wcan-display-options,
    .rtwpvs-gridlist-toggle,
    .wc-block-catalog-sorting,
    .wc-block-components-sort-select,
    .wc-block-components-product-view-switcher
),
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="gridlist"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="grid-list"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="view-switch"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="layout-switch"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="display-mode"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="shop-view"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active [class*="product-view"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active button[aria-label*="grid"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active button[aria-label*="Grid"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active button[aria-label*="list"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active button[aria-label*="List"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active a[aria-label*="grid"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active a[aria-label*="Grid"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active a[aria-label*="list"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active a[aria-label*="List"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active button[title*="grid"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active button[title*="Grid"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active button[title*="list"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active button[title*="List"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active a[title*="grid"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active a[title*="Grid"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active a[title*="list"],
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active a[title*="List"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .wcctp-shop-override,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .wcctp-shop-override * {
    visibility: visible !important;
    opacity: 1;
    max-height: none;
    max-width: none;
    pointer-events: auto;
}

.wcctp-wrap .wcctp-card,
.wcctp-shop-override .wcctp-card {
    min-width: 0 !important;
    overflow: hidden !important;
}

.wcctp-wrap .wcctp-price,
.wcctp-shop-override .wcctp-price,
.woocommerce .wcctp-shop-override .wcctp-price {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
    box-sizing: border-box !important;
    font-size: clamp(12px, 4.2vw, 20px) !important;
    line-height: 1.08 !important;
}

@media (min-width: 768px) {
    .wcctp-wrap .wcctp-price,
    .wcctp-shop-override .wcctp-price,
    .woocommerce .wcctp-shop-override .wcctp-price {
        font-size: clamp(12px, 1.28vw, 20px) !important;
    }
}

.wcctp-wrap .wcctp-price *,
.wcctp-shop-override .wcctp-price * {
    white-space: nowrap !important;
    display: inline !important;
    max-width: none !important;
    line-height: inherit !important;
    font-size: 1em !important;
}

.wcctp-wrap .wcctp-price.is-fitted,
.wcctp-shop-override .wcctp-price.is-fitted {
    letter-spacing: -0.45px !important;
}

.wcctp-wrap .wcctp-add-cart {
    position: relative !important;
    overflow: hidden !important;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.wcctp-wrap .wcctp-add-cart.is-adding {
    transform: translateY(-1px) scale(.98) !important;
    opacity: .88 !important;
}

.wcctp-wrap .wcctp-add-cart.is-added {
    animation: wcctpAddedPulse .72s ease both !important;
}

.wcctp-wrap .wcctp-add-cart.is-added::after {
    content: "✓";
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(255,255,255,.24);
    color: #fff;
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    font-weight: 800;
}

@keyframes wcctpAddedPulse {
    0% { box-shadow: 0 0 0 0 rgba(21, 151, 93, .45); }
    55% { box-shadow: 0 0 0 11px rgba(21, 151, 93, 0); }
    100% { box-shadow: 0 8px 18px rgba(21, 151, 93, .18); }
}

.wcctp-cart-toast {
    position: fixed;
    left: 50%;
    bottom: 22px;
    transform: translateX(-50%) translateY(12px);
    background: #0f8f55;
    color: #fff;
    border-radius: 999px;
    padding: 10px 16px;
    font-size: 13px;
    font-weight: 700;
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
    z-index: 99998;
    opacity: 0;
    transition: opacity .2s ease, transform .2s ease;
}

.wcctp-cart-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}


body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woocommerce-before-shop-loop,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .shop-loop-head,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .shop-topbar,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .shop-top-bar,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .archive-shop-actions,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .woocommerce-shop-header,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .products-header,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .catalog-header,
body.post-type-archive-product.woocommerce-shop.wcctp-shop-active .wcctp-hidden-shop-topbar {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.wcctp-wrap .wcctp-card,
.wcctp-shop-override .wcctp-card,
.woocommerce .wcctp-shop-override .wcctp-card {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.wcctp-wrap .wcctp-price,
.wcctp-shop-override .wcctp-price,
.woocommerce .wcctp-shop-override .wcctp-price {
    display: block !important;
    width: calc(100% - 18px) !important;
    max-width: calc(100% - 18px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-align: center !important;
    text-overflow: clip !important;
    box-sizing: border-box !important;
    line-height: 1.05 !important;
    font-size: clamp(9px, 3.7vw, 20px) !important;
}

@media (min-width: 768px) {
    .wcctp-wrap .wcctp-price,
    .wcctp-shop-override .wcctp-price,
    .woocommerce .wcctp-shop-override .wcctp-price {
        font-size: clamp(9px, 1.05vw, 20px) !important;
    }
}

.wcctp-wrap .wcctp-price *,
.wcctp-shop-override .wcctp-price *,
.woocommerce .wcctp-shop-override .wcctp-price * {
    white-space: nowrap !important;
    font-size: 1em !important;
    line-height: inherit !important;
    display: inline !important;
    max-width: none !important;
}

.wcctp-wrap .wcctp-price.is-fitted,
.wcctp-shop-override .wcctp-price.is-fitted {
    letter-spacing: -0.65px !important;
}






@media (max-width: 767px) {
}

body.wcctp-shop-active .woocommerce-before-shop-loop,
body.wcctp-shop-active .storefront-sorting,
body.wcctp-shop-active .woocommerce-ordering,
body.wcctp-shop-active .woocommerce-result-count,
body.wcctp-shop-active .shop-toolbar,
body.wcctp-shop-active .catalog-toolbar,
body.wcctp-shop-active .products-toolbar,
body.wcctp-shop-active .woocommerce-products-toolbar,
body.wcctp-shop-active .woo-product-toolbar,
body.wcctp-shop-active .ast-shop-toolbar-container,
body.wcctp-shop-active .gridlist-toggle,
body.wcctp-shop-active .grid-list-toggle,
body.wcctp-shop-active .woocommerce-view-switcher,
body.wcctp-shop-active .wc-view-switcher,
body.wcctp-shop-active .shop-view-switcher,
body.wcctp-shop-active .view-switcher,
body.wcctp-shop-active .product-view-switcher,
body.wcctp-shop-active .products-view,
body.wcctp-shop-active .product-display-toggle,
body.wcctp-shop-active .display-mode,
body.wcctp-shop-active .display-mode-buttons,
body.wcctp-shop-active [class*="gridlist"],
body.wcctp-shop-active [class*="grid-list"],
body.wcctp-shop-active [class*="view-switch"],
body.wcctp-shop-active [class*="layout-switch"],
body.wcctp-shop-active [class*="display-mode"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}

.wcctp-wrap .wcctp-card-body,
.wcctp-shop-override .wcctp-card-body,
.woocommerce .wcctp-shop-override .wcctp-card-body {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.wcctp-wrap .wcctp-price,
.wcctp-shop-override .wcctp-price,
.woocommerce .wcctp-shop-override .wcctp-price {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-align: center !important;
    box-sizing: border-box !important;
    font-size: clamp(7px, 2.9vw, 19px) !important;
    line-height: 1.05 !important;
}

.wcctp-wrap .wcctp-price *,
.wcctp-shop-override .wcctp-price *,
.woocommerce .wcctp-shop-override .wcctp-price * {
    max-width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 1em !important;
    line-height: 1.05 !important;
}

.wcctp-wrap .wcctp-price del,
.wcctp-wrap .wcctp-price ins,
.wcctp-shop-override .wcctp-price del,
.wcctp-shop-override .wcctp-price ins {
    flex: 0 1 auto !important;
    overflow: hidden !important;
    text-overflow: clip !important;
}

.wcctp-wrap .wcctp-price.is-fitted,
.wcctp-shop-override .wcctp-price.is-fitted,
.woocommerce .wcctp-shop-override .wcctp-price.is-fitted {
    font-size: clamp(6px, 2.4vw, 16px) !important;
    letter-spacing: -0.8px !important;
}

@media (max-width: 767px) {
    .wcctp-wrap .wcctp-price,
    .wcctp-shop-override .wcctp-price,
    .woocommerce .wcctp-shop-override .wcctp-price {
        font-size: clamp(6.5px, 2.75vw, 15px) !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
    }
}

@media (min-width: 768px) {
    .wcctp-wrap .wcctp-price,
    .wcctp-shop-override .wcctp-price,
    .woocommerce .wcctp-shop-override .wcctp-price {
        font-size: clamp(9px, .9vw, 19px) !important;
    }
}



/* v1.1.16: shop override hardening, mobile price containment, remove header cart badge */
.wcctp-wrap .wcctp-mobile-cart,
.wcctp-tabs-shell > .wcctp-mobile-cart,

.wcctp-wrap .wcctp-card,
.wcctp-wrap .wcctp-card-body,
.wcctp-shop-override .wcctp-card,
.wcctp-shop-override .wcctp-card-body {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
}

.wcctp-wrap .wcctp-price,
.wcctp-shop-override .wcctp-price {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
    display: block !important;
    text-align: center !important;
    line-height: 1.08 !important;
    padding: 0 1px !important;
}

.wcctp-wrap .wcctp-price *,
.wcctp-shop-override .wcctp-price * {
    white-space: nowrap !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: inline !important;
    line-height: inherit !important;
}

@media (max-width: 767px) {
    .wcctp-wrap .wcctp-price,
    .wcctp-shop-override .wcctp-price {
        font-size: clamp(9px, 3.45vw, 15px) !important;
        letter-spacing: -0.65px !important;
    }
}

body.wcctp-shop-active .woocommerce-ordering,
body.wcctp-shop-active .woocommerce-result-count,
body.wcctp-shop-active .storefront-sorting,
body.wcctp-shop-active .shop-toolbar,
body.wcctp-shop-active .catalog-toolbar,
body.wcctp-shop-active .woocommerce-products-toolbar,
body.wcctp-shop-active .products-toolbar,
body.wcctp-shop-active .woo-product-toolbar,
body.wcctp-shop-active .archive-toolbar,
body.wcctp-shop-active .wc-toolbar,
body.wcctp-shop-active .ast-shop-toolbar-container,
body.wcctp-shop-active .gridlist-toggle,
body.wcctp-shop-active .grid-list-toggle,
body.wcctp-shop-active .woocommerce-view-switcher,
body.wcctp-shop-active .wc-view-switcher,
body.wcctp-shop-active .shop-view-switcher,
body.wcctp-shop-active .view-switcher,
body.wcctp-shop-active .product-view-switcher,
body.wcctp-shop-active .products-view,
body.wcctp-shop-active .product-display-toggle,
body.wcctp-shop-active .display-mode,
body.wcctp-shop-active .display-mode-buttons,
body.wcctp-shop-active [class*="gridlist"],
body.wcctp-shop-active [class*="grid-list"],
body.wcctp-shop-active [class*="view-switch"],
body.wcctp-shop-active [class*="layout-switch"],
body.wcctp-shop-active [class*="display-mode"] {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
}


/* v1.1.17: restore visible sale + regular pricing and squeeze inside plugin cards */
.wcctp-wrap .wcctp-price,
.wcctp-shop-override .wcctp-price,
.woocommerce .wcctp-shop-override .wcctp-price {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    text-align: center !important;
    white-space: nowrap !important;
    line-height: 1.05 !important;
    font-size: clamp(10px, 3.25vw, 18px) !important;
    letter-spacing: -0.55px !important;
    padding: 0 2px !important;
    box-sizing: border-box !important;
}

.wcctp-wrap .wcctp-price del,
.wcctp-wrap .wcctp-price ins,
.wcctp-wrap .wcctp-price .woocommerce-Price-amount,
.wcctp-wrap .wcctp-price bdi,
.wcctp-wrap .wcctp-price span,
.wcctp-shop-override .wcctp-price del,
.wcctp-shop-override .wcctp-price ins,
.wcctp-shop-override .wcctp-price .woocommerce-Price-amount,
.wcctp-shop-override .wcctp-price bdi,
.wcctp-shop-override .wcctp-price span,
.woocommerce .wcctp-shop-override .wcctp-price del,
.woocommerce .wcctp-shop-override .wcctp-price ins,
.woocommerce .wcctp-shop-override .wcctp-price .woocommerce-Price-amount,
.woocommerce .wcctp-shop-override .wcctp-price bdi,
.woocommerce .wcctp-shop-override .wcctp-price span {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    white-space: nowrap !important;
    max-width: none !important;
    min-width: 0 !important;
    font-size: 1em !important;
    line-height: inherit !important;
    box-sizing: border-box !important;
}

.wcctp-wrap .wcctp-price del,
.wcctp-shop-override .wcctp-price del,
.woocommerce .wcctp-shop-override .wcctp-price del {
    opacity: 0.72 !important;
    margin-right: 3px !important;
}

.wcctp-wrap .wcctp-price ins,
.wcctp-shop-override .wcctp-price ins,
.woocommerce .wcctp-shop-override .wcctp-price ins {
    text-decoration: none !important;
    font-weight: 900 !important;
}

@media (max-width: 767px) {
    .wcctp-wrap .wcctp-price,
    .wcctp-shop-override .wcctp-price,
    .woocommerce .wcctp-shop-override .wcctp-price {
        font-size: clamp(8px, 2.8vw, 14px) !important;
        letter-spacing: -0.8px !important;
        transform-origin: center center !important;
    }
}


/* v1.1.18: restore normal page price size; allow JS to fit shop prices without hiding values */
.wcctp-wrap:not(.wcctp-shop-override) .wcctp-price {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: nowrap !important;
    text-align: center !important;
    font-size: clamp(17px, 4.2vw, 22px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.25px !important;
}
.wcctp-shop-override .wcctp-price,
.woocommerce .wcctp-shop-override .wcctp-price {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: nowrap !important;
    text-align: center !important;
    line-height: 1.08 !important;
    letter-spacing: -0.65px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.wcctp-shop-override .wcctp-price del,
.wcctp-shop-override .wcctp-price ins,
.wcctp-shop-override .wcctp-price .woocommerce-Price-amount,
.wcctp-shop-override .wcctp-price bdi,
.woocommerce .wcctp-shop-override .wcctp-price del,
.woocommerce .wcctp-shop-override .wcctp-price ins,
.woocommerce .wcctp-shop-override .wcctp-price .woocommerce-Price-amount,
.woocommerce .wcctp-shop-override .wcctp-price bdi {
    display: inline !important;
    white-space: nowrap !important;
    font-size: 1em !important;
    line-height: inherit !important;
}
.wcctp-shop-override .wcctp-price del,
.woocommerce .wcctp-shop-override .wcctp-price del { margin-right: 4px !important; }
@media (max-width: 767px) {
    .wcctp-wrap:not(.wcctp-shop-override) .wcctp-price { font-size: clamp(15px, 4.4vw, 19px) !important; }
    .wcctp-shop-override .wcctp-price,
    .woocommerce .wcctp-shop-override .wcctp-price { font-size: 14px !important; }
}


/* v1.1.19: prevent WooCommerce mini-cart/block cart drawer content from leaking into page footer */
body:not(.wc-block-mini-cart-open) .wc-block-mini-cart__drawer:not(.is-open),
body:not(.wc-block-mini-cart-open) .wc-block-mini-cart__drawer[aria-hidden="true"],
body:not(.wc-block-mini-cart-open) .wc-block-components-drawer__screen-overlay:not(.is-open):not(.wc-block-components-drawer__screen-overlay--is-open),
body:not(.wc-block-mini-cart-open) .wc-block-components-drawer:not(.is-open):not(.wc-block-components-drawer--is-open) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}



/* v1.1.21: faster AJAX feel with skeleton loading and smoother category transitions */
.wcctp-products {
    transition: opacity .18s ease, transform .18s ease;
}

.wcctp-products.is-loading {
    opacity: 1 !important;
    pointer-events: none;
}

.wcctp-skeleton-card {
    pointer-events: none;
}

.wcctp-skel {
    display: block;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(15,143,85,.07), rgba(15,143,85,.14), rgba(15,143,85,.07));
    background-size: 220% 100%;
    animation: wcctpShimmer 1.05s ease-in-out infinite;
}

.wcctp-skel-img {
    width: 100%;
    aspect-ratio: 1 / .86;
    border-radius: 0;
}

.wcctp-skel-title {
    width: 82%;
    height: 16px;
    margin: 2px auto 0;
}

.wcctp-skel-price {
    width: 64%;
    height: 18px;
    margin: 3px auto 0;
}

.wcctp-skel-button {
    width: 100%;
    height: 36px;
    margin: 4px auto 0;
    border-radius: 11px;
}

@keyframes wcctpShimmer {
    0% { background-position: 120% 0; }
    100% { background-position: -120% 0; }
}

@media (max-width: 767px) {
    .wcctp-skel-title { height: 14px; }
    .wcctp-skel-price { height: 16px; }
    .wcctp-skel-button { height: 34px; }
}


.wcctp-mobile-cart,
.wcctp-tabs-shell > .wcctp-mobile-cart {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}


/* v1.1.23 - safer floating category panel spacing */
.wcctp-tabs-placeholder {
    display: block !important;
    width: 100% !important;
    height: 0;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    flex: 0 0 auto !important;
}

.wcctp-wrap.wcctp-sticky-active .wcctp-products {
    margin-top: 12px !important;
}

.wcctp-tabs-shell.wcctp-tabs-fixed {
    background: #fff !important;
    border-radius: 0 0 8px 8px !important;
    box-shadow: 0 8px 20px rgba(15,31,45,.11) !important;
    isolation: isolate !important;
}

.wcctp-tabs-shell.wcctp-tabs-fixed::after {
    content: "";
    display: block;
    height: 6px;
    pointer-events: none;
}

@media (max-width: 767px) {
    .wcctp-wrap.wcctp-sticky-active .wcctp-products {
        margin-top: 14px !important;
    }

    .wcctp-tabs-shell.wcctp-tabs-fixed {
        max-height: calc(100vh - var(--wcctp-fixed-top, 94px) - 30px) !important;
        overflow: visible !important;
    }
}


/* v1.1.28 - keep child category tabs on same layer as parent switcher and below mobile/offcanvas menus */
.wcctp-tabs-shell.wcctp-tabs-fixed {
    z-index: 30 !important;
}
.wcctp-tabs-shell.wcctp-tabs-fixed .wcctp-parent-switcher,
.wcctp-tabs-shell.wcctp-tabs-fixed .wcctp-tabs,
.wcctp-tabs-shell.wcctp-tabs-fixed .wcctp-tabs.is-active,
.wcctp-tabs-shell.wcctp-tabs-fixed .wcctp-tab {
    position: relative !important;
    z-index: 1 !important;
}
@media (max-width: 767px) {
    body.wcctp-mobile-overlay-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.mobile-menu-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.menu-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.nav-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.offcanvas-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.drawer-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.ast-main-header-nav-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.has-modal-open .wcctp-tabs-shell.wcctp-tabs-fixed,
    body.elementor-menu-active .wcctp-tabs-shell.wcctp-tabs-fixed {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        z-index: 0 !important;
    }

    .mobile-menu,
    .mobile-menu-wrapper,
    .mobile-navigation,
    .main-navigation.toggled,
    .site-navigation.toggled,
    .offcanvas,
    .offcanvas-menu,
    .off-canvas,
    .drawer,
    .menu-drawer,
    .menu-popup,
    .elementor-nav-menu--dropdown,
    .elementor-popup-modal,
    .ast-mobile-popup-drawer,
    .wc-block-components-drawer__screen-overlay,
    .wc-block-mini-cart__drawer {
        z-index: 99999 !important;
    }
}

/* v1.1.29 - normal/non-floating tabs use same safe layer as parent switcher; fixed state untouched */
@media (max-width: 767px) {
    .wcctp-tabs-shell:not(.wcctp-tabs-fixed) {
        position: relative !important;
        z-index: 1 !important;
        isolation: auto !important;
    }

    .wcctp-tabs-shell:not(.wcctp-tabs-fixed) .wcctp-parent-switcher,
    .wcctp-tabs-shell:not(.wcctp-tabs-fixed) .wcctp-tabs,
    .wcctp-tabs-shell:not(.wcctp-tabs-fixed) .wcctp-tabs.is-active,
    .wcctp-tabs-shell:not(.wcctp-tabs-fixed) .wcctp-tab {
        position: relative !important;
        z-index: 1 !important;
    }

    body.wcctp-mobile-overlay-open .wcctp-tabs-shell:not(.wcctp-tabs-fixed),
    body.mobile-menu-open .wcctp-tabs-shell:not(.wcctp-tabs-fixed),
    body.menu-open .wcctp-tabs-shell:not(.wcctp-tabs-fixed),
    body.nav-open .wcctp-tabs-shell:not(.wcctp-tabs-fixed),
    body.offcanvas-open .wcctp-tabs-shell:not(.wcctp-tabs-fixed),
    body.drawer-open .wcctp-tabs-shell:not(.wcctp-tabs-fixed),
    body.ast-main-header-nav-open .wcctp-tabs-shell:not(.wcctp-tabs-fixed),
    body.has-modal-open .wcctp-tabs-shell:not(.wcctp-tabs-fixed),
    body.elementor-menu-active .wcctp-tabs-shell:not(.wcctp-tabs-fixed) {
        z-index: 0 !important;
    }
}
