/*=============================================
=            Petsure WooCommerce CSS          =
=============================================*/

.woocommerce {
    font-family: var(--petsure-font-text);
}

/*=============================================
=            WooCommerce Notices                =
=            (Petsure Toast Style)             =
=============================================*/

/* Base styles for notice cards (works with or without toast container) */
.petsure-notice-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    padding: 16px 20px;
    color: var(--petsure-primary);
    font-size: 14px;
    line-height: 1.5;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
    position: relative;
    overflow: hidden;
}

.petsure-notice-card__icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--petsure-white);
    font-size: 14px;
    flex-shrink: 0;
}

.petsure-notice-card--success .petsure-notice-card__icon {
    background: var(--petsure-success);
}

.petsure-notice-card--info .petsure-notice-card__icon {
    background: var(--petsure-accent);
}

.petsure-notice-card--error .petsure-notice-card__icon {
    background: var(--petsure-error);
}

.petsure-notice-card__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 12px;
}

.petsure-notice-card__content p {
    margin: 0;
    color: var(--petsure-primary);
}

.petsure-notice-card__content a:not(.button) {
    color: var(--petsure-accent);
    font-weight: 600;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.petsure-notice-card__content a:not(.button):hover {
    color: var(--petsure-primary);
}

.petsure-notice-card__content a.button.wc-forward {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--petsure-accent);
    color: var(--petsure-white) !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    height: 36px;
    padding: 0 18px;
    text-decoration: none;
    border-radius: var(--petsure-border-radius);
    transition: all 0.3s ease;
    box-sizing: border-box;
    white-space: nowrap;
}

.petsure-notice-card__content a.button.wc-forward:hover {
    background: var(--petsure-primary);
    color: var(--petsure-white) !important;
}

/* Style .restore-item (Undo) as an outlined button inside notice cards */
.petsure-notice-card__content a.restore-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: transparent;
    color: var(--petsure-primary) !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    height: 36px;
    padding: 0 18px;
    text-decoration: none;
    border: 1.5px solid var(--petsure-primary);
    border-radius: var(--petsure-border-radius);
    transition: all 0.3s ease;
    box-sizing: border-box;
    white-space: nowrap;
}

.petsure-notice-card__content a.restore-item:hover {
    background: var(--petsure-primary);
    color: var(--petsure-white) !important;
    border-color: var(--petsure-primary);
}

.woocommerce-order-received .petsure-notice-card {
    margin-bottom: 30px;
    max-width: 100%;
}

/* Toast container specific styles (for floating toasts) */
.petsure-toast-container {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 99999;
    display: flex;
    flex-direction: column-reverse;
    gap: 12px;
    pointer-events: none;
    width: auto;
}

.petsure-toast-container .petsure-notice-card {
    pointer-events: auto;
    animation: petsure-toast-in 0.35s cubic-bezier(0.21, 1.02, 0.73, 1) forwards;
}

.petsure-toast-container .petsure-notice-card.petsure-toast-out {
    animation: petsure-toast-out 0.3s ease-in forwards;
}

@keyframes petsure-toast-in {
    0% {
        opacity: 0;
        transform: translateX(100%) scale(0.9);
    }

    100% {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}

@keyframes petsure-toast-out {
    0% {
        opacity: 1;
        transform: translateX(0) scale(1);
        max-height: 200px;
    }

    100% {
        opacity: 0;
        transform: translateX(100%) scale(0.9);
        max-height: 0;
        padding: 0 20px;
        margin: 0;
        border-width: 0;
    }
}

.petsure-toast-container .petsure-notice-card__icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: var(--petsure-white);
    font-size: 14px;
    flex-shrink: 0;
}

.petsure-toast-container .petsure-notice-card--success .petsure-notice-card__icon {
    background: var(--petsure-success);
}

.petsure-toast-container .petsure-notice-card--info .petsure-notice-card__icon {
    background: var(--petsure-accent);
}

.petsure-toast-container .petsure-notice-card--error .petsure-notice-card__icon {
    background: var(--petsure-error);
}

.petsure-toast-container .petsure-notice-card__content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 6px 12px;
}

.petsure-toast-container .petsure-notice-card__content a:not(.button) {
    color: var(--petsure-accent);
    font-weight: 600;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.petsure-toast-container .petsure-notice-card__content a:not(.button):hover {
    color: var(--petsure-primary);
}

.petsure-toast-container .petsure-notice-card__content a.button.wc-forward {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    background: var(--petsure-accent);
    color: var(--petsure-white) !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    height: 36px;
    padding: 0 18px;
    text-decoration: none;
    border-radius: var(--petsure-border-radius);
    transition: all 0.3s ease;
    box-sizing: border-box;
    white-space: nowrap;
}

.petsure-toast-container .petsure-notice-card__content a.button.wc-forward:hover {
    background: var(--petsure-primary);
    color: var(--petsure-white) !important;
}

/* Style .restore-item inside toast container (undo link) */
.petsure-toast-container .petsure-notice-card__content a.restore-item {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    background: transparent;
    color: var(--petsure-primary) !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    height: 36px;
    padding: 0 18px;
    text-decoration: none;
    border: 1.5px solid var(--petsure-primary);
    border-radius: var(--petsure-border-radius);
    transition: all 0.3s ease;
    box-sizing: border-box;
    white-space: nowrap;
}

.petsure-toast-container .petsure-notice-card__content a.restore-item:hover {
    background: var(--petsure-primary);
    color: var(--petsure-white) !important;
    border-color: var(--petsure-primary);
}

.petsure-toast-container .petsure-toast-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 3px;
    background: var(--petsure-accent);
    border-radius: 0 0 var(--petsure-border-radius) var(--petsure-border-radius);
    animation: petsure-toast-progress 5s linear forwards;
}

/* Restore/undo toasts: slower progress bar (8s) to give more time to act */
.petsure-toast-container .petsure-notice-card--restore .petsure-toast-progress {
    animation: petsure-toast-progress 8s linear forwards;
}

@keyframes petsure-toast-progress {
    0% {
        width: 100%;
    }

    100% {
        width: 0%;
    }
}

.petsure-toast-container .petsure-toast-dismiss,
.petsure-toast-dismiss {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    color: var(--petsure-primary) !important;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    padding: 0;
    line-height: 1;
    flex-shrink: 0;
}

.petsure-toast-container .petsure-toast-dismiss:hover,
.petsure-toast-dismiss:hover {
    background: var(--petsure-accent);
    color: var(--petsure-white) !important;
}

/* Static notice card (for messages like downloads - not a toast) */
.petsure-notice-card--static {
    position: relative;
    margin-bottom: 20px;
    animation: none !important;
}

.petsure-notice-card--static .petsure-toast-progress,
.petsure-notice-card--static .petsure-toast-dismiss,
.woocommerce-Reviews div.clear,
.woocommerce table.cart td.actions .coupon label,
.wc-block-cart .wc-block-cart--empty .wc-block-cart__empty-cart-wrapper .wc-block-components-notice-banner>svg,
.wc-block-cart .wc-block-cart-items thead th.wc-block-cart-items__header-product span {
    display: none;
}

/* Fallback: keep old selectors styled for edge cases */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
    padding: 20px 24px;
    margin-bottom: 30px;
    color: var(--petsure-primary);
    font-size: 15px;
    line-height: 1.6;
    border-radius: var(--petsure-border-radius-lg);
}

.woocommerce-error li {
    margin-bottom: 6px;
}

.woocommerce-error li:last-child {
    margin-bottom: 0;
}

.woocommerce-notices-wrapper,
.wc-empty-cart-message {
    width: 100%;
}

/*=============================================
=            No Products Found                  =
=============================================*/
.petsure-no-products-found {
    text-align: center;
    width: 100%;
}

.petsure-no-products-card {
    background: var(--petsure-secondary);
    border-radius: var(--petsure-border-radius-lg);
    padding: 60px 120px;
    margin: 0 auto;
    width: 100%;
}

.petsure-no-products-icon {
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
    color: var(--petsure-accent);
}

.petsure-no-products-icon svg {
    animation: petsure-paw-bounce 2s ease-in-out infinite;
    fill: currentColor;
}

.petsure-no-products-icon>i {
    font-size: 70px;
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@keyframes petsure-paw-bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

.petsure-no-products-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin-bottom: 16px;
    line-height: 1.2;
}

.petsure-no-products-text {
    font-size: 16px;
    color: var(--petsure-text);
    line-height: 1.6;
    margin-bottom: 28px;
    margin-left: auto;
    margin-right: auto;
}

@media only screen and (max-width: 767px) {
    .petsure-no-products-card {
        padding: 40px 24px;
    }

    .petsure-no-products-title {
        font-size: 22px;
    }
}

/* Products Grid */
.woocommerce ul.products,
.woocommerce-page ul.products {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
}

/* Neutralizar pseudo-elementos clearfix de WooCommerce que rompen el flexbox */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set:before,
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set:after,
.petsure-custom-cart-form .petsure-cart-col-details>span,
.petsure-recommended-products .petsure-product-container .swiper-button-next:after,
.petsure-recommended-products .petsure-product-container .swiper-button-prev:after {
    display: none;
}

.woocommerce ul.products li.product,
.petsure-recommended-products li.product {
    text-align: center;
    background: var(--petsure-background);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 15px;
    margin: 0;
    transition: all 0.4s ease-in-out;
}

.woocommerce ul.products.columns-2 li.product,
.woocommerce-page ul.products.columns-2 li.product,
.related .products.columns-2 li.product {
    width: calc((100% - 20px) / 2);
}

.woocommerce ul.products.columns-3 li.product,
.woocommerce-page ul.products.columns-3 li.product,
.related .products.columns-3 li.product {
    width: calc((100% - 40px) / 3);
}

.woocommerce ul.products.columns-4 li.product,
.woocommerce-page ul.products.columns-4 li.product,
.related .products.columns-4 li.product {
    width: calc((100% - 60px) / 4);
}

.woocommerce ul.products.columns-5 li.product,
.woocommerce-page ul.products.columns-5 li.product,
.related .products.columns-5 li.product {
    width: calc((100% - 80px) / 5);
}

.woocommerce ul.products li.product .petsure-product-image-wrapper,
.petsure-recommended-products li.product .petsure-product-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: var(--petsure-border-radius);
    margin-bottom: 20px;
}

.woocommerce ul.products li.product .petsure-product-image-wrapper img,
.petsure-recommended-products li.product .petsure-product-image-wrapper img {
    border-radius: 0;
    margin-bottom: 0;
    height: 220px;
    object-fit: cover;
    width: 100%;
    transition: transform 0.6s ease-in-out;
    display: block;
}

.woocommerce ul.products li.product:hover .petsure-product-image-wrapper img,
.petsure-recommended-products li.product:hover .petsure-product-image-wrapper img {
    transform: scale(1.08);
}

.woocommerce ul.products li.product .petsure-product-overlay,
.petsure-recommended-products li.product .petsure-product-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(var(--petsure-primary-rgb), 0.7);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.35s ease-in-out;
    z-index: 2;
}

.woocommerce ul.products li.product:hover .petsure-product-overlay,
.petsure-recommended-products li.product:hover .petsure-product-overlay {
    opacity: 1;
    visibility: visible;
}

.woocommerce ul.products li.product .petsure-product-overlay-buttons,
.petsure-recommended-products li.product .petsure-product-overlay-buttons {
    display: flex;
    flex-direction: row;
    gap: 8px;
    transform: translateY(15px);
    transition: transform 0.35s ease-in-out;
}

.woocommerce ul.products li.product:hover .petsure-product-overlay-buttons,
.petsure-recommended-products li.product:hover .petsure-product-overlay-buttons {
    transform: translateY(0);
}

.woocommerce ul.products li.product .petsure-product-overlay .button.add_to_cart_button.added:after,
.petsure-recommended-products li.product .petsure-product-overlay .button.add_to_cart_button.added:after {
    content: none !important;
}

.woocommerce ul.products li.product .petsure-product-overlay .button.add_to_cart_button,
.petsure-recommended-products li.product .petsure-product-overlay .button.add_to_cart_button,
.woocommerce ul.products li.product .petsure-product-overlay .button.petsure-btn-quickview,
.petsure-recommended-products li.product .petsure-product-overlay .button.petsure-btn-quickview,
.woocommerce ul.products li.product .petsure-product-overlay .button.petsure-btn-details,
.petsure-recommended-products li.product .petsure-product-overlay .button.petsure-btn-details,
.woocommerce ul.products li.product .petsure-product-overlay .added_to_cart,
.petsure-recommended-products li.product .petsure-product-overlay .added_to_cart,
.woocommerce ul.products li.product .petsure-product-overlay .button.product_type_external,
.petsure-recommended-products li.product .petsure-product-overlay .button.product_type_external,
.woocommerce ul.products li.product .petsure-product-overlay .button.product_type_grouped,
.petsure-recommended-products li.product .petsure-product-overlay .button.product_type_grouped {
    width: 44px;
    height: 44px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--petsure-white);
    color: var(--petsure-primary);
    font-size: 16px;
    border-radius: 50%;
    border: none;
    line-height: 1;
    transition: all 0.3s ease-in-out;
    min-width: 0;
    margin: 0;
}

.woocommerce ul.products li.product .petsure-product-overlay .button.add_to_cart_button:hover,
.petsure-recommended-products li.product .petsure-product-overlay .button.add_to_cart_button:hover,
.woocommerce ul.products li.product .petsure-product-overlay .button.petsure-btn-quickview:hover,
.petsure-recommended-products li.product .petsure-product-overlay .button.petsure-btn-quickview:hover,
.woocommerce ul.products li.product .petsure-product-overlay .button.petsure-btn-details:hover,
.petsure-recommended-products li.product .petsure-product-overlay .button.petsure-btn-details:hover,
.woocommerce ul.products li.product .petsure-product-overlay .added_to_cart:hover,
.petsure-recommended-products li.product .petsure-product-overlay .added_to_cart:hover,
.woocommerce ul.products li.product .petsure-product-overlay .button.product_type_external:hover,
.petsure-recommended-products li.product .petsure-product-overlay .button.product_type_external:hover,
.woocommerce ul.products li.product .petsure-product-overlay .button.product_type_grouped:hover,
.petsure-recommended-products li.product .petsure-product-overlay .button.product_type_grouped:hover {
    background: var(--petsure-accent);
    color: var(--petsure-white);
}

.woocommerce ul.products li.product .petsure-product-overlay .button.add_to_cart_button.loading .fa-cart-shopping,
.petsure-recommended-products li.product .petsure-product-overlay .button.add_to_cart_button.loading .fa-cart-shopping,
.woocommerce ul.products li.product .petsure-product-overlay .button.add_to_cart_button.added .fa-cart-shopping,
.petsure-recommended-products li.product .petsure-product-overlay .button.add_to_cart_button.added .fa-cart-shopping,
.woocommerce ul.products li.product .petsure-product-overlay .button.product_type_variable,
.petsure-recommended-products li.product .petsure-product-overlay .button.product_type_variable,
.woocommerce ul.products li.product .petsure-product-overlay .button.add_to_cart_button.loading i,
.petsure-recommended-products li.product .petsure-product-overlay .button.add_to_cart_button.loading i,
.woocommerce ul.products li.product .petsure-product-overlay .button.product_type_grouped,
.petsure-recommended-products li.product .petsure-product-overlay .button.product_type_grouped {
    display: none !important;
}

.woocommerce ul.products li.product .petsure-product-overlay .button.add_to_cart_button.loading:after,
.petsure-recommended-products li.product .petsure-product-overlay .button.add_to_cart_button.loading:after {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
}

.woocommerce ul.products li.product .petsure-product-overlay .added_to_cart,
.petsure-recommended-products li.product .petsure-product-overlay .added_to_cart {
    padding: 0 !important;
    font-size: 0;
    line-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.woocommerce ul.products li.product .petsure-product-overlay .added_to_cart::before,
.petsure-recommended-products li.product .petsure-product-overlay .added_to_cart::before {
    content: "\f290";
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    font-size: 16px;
    line-height: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.petsure-recommended-products li.product .woocommerce-loop-product__title {
    color: var(--petsure-primary);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1em;
    padding: 0;
    margin-bottom: 20px;
    transition: all ease-in-out .6s;
}

.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title,
.petsure-recommended-products li.product a:hover .woocommerce-loop-product__title {
    color: var(--petsure-accent);
}

.woocommerce ul.products li.product .price,
.petsure-recommended-products li.product .price {
    display: flex;
    flex-direction: row-reverse !important;
    gap: 15px;
    justify-content: center !important;
    align-items: center !important;
    color: var(--petsure-text) !important;
    font-size: 16px !important;
    margin: 15px 0 !important;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .price {
    flex-direction: row-reverse;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .price .wc-block-components-product-price__regular {
    opacity: 0.3;
    font-size: var(--wp--preset--font-size--small) !important;
}

.woocommerce ul.products li.product .price ins,
.petsure-recommended-products li.product .price ins {
    text-decoration: none;
    color: var(--petsure-primary) !important;
    font-size: 20px !important;
    font-weight: 700;
}

.woocommerce ul.products li.product .price del,
.petsure-recommended-products li.product .price del {
    opacity: 1;
}

.woocommerce ul.products li.product .price del bdi,
.petsure-recommended-products li.product .price del bdi {
    text-decoration: line-through;
    color: var(--petsure-text);
    font-weight: 400;
    font-size: 16px;
}

.woocommerce .star-rating::before,
.woocommerce .star-rating span {
    color: var(--petsure-accent);
}

.petsure-recommended-products .petsure-product-container {
    position: relative;
    padding: 0 45px 40px;
}

.petsure-recommended-products .petsure-product-container .swiper-button-next {
    right: 0;
}

.petsure-recommended-products .petsure-product-container .swiper-button-prev {
    left: 0;
}

.petsure-recommended-products .petsure-product-container .swiper-button-next,
.petsure-recommended-products .petsure-product-container .swiper-button-prev {
    font-size: 23px;
    color: var(--petsure-text);
    opacity: .6;
    transition: all ease-in-out .6s;
    width: 40px;
    height: 40px;
    aspect-ratio: 1;
    box-sizing: border-box;
    background-color: transparent;
    border-radius: var(--petsure-border-radius-lg);
    overflow: hidden;
    line-height: 1;
}

.petsure-recommended-products .petsure-product-container .swiper-button-next:hover,
.petsure-recommended-products .petsure-product-container .swiper-button-prev:hover {
    background-color: var(--petsure-accent);
    color: var(--petsure-white);
    opacity: 1;
}

.petsure-recommended-products .swiper-pagination {
    bottom: 0 !important;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.petsure-recommended-products .swiper-pagination .swiper-pagination-bullet {
    background: var(--petsure-text);
    width: 16px;
    height: 16px;
    border: 3px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all ease-in-out .6s;
    margin: 0 !important;
}

.petsure-recommended-products .swiper-pagination .swiper-pagination-bullet:before {
    content: "";
    background: transparent;
    border: 2px solid transparent;
    width: 10px;
    height: 10px;
    display: block;
    border-radius: 50%;
    transition: all ease-in-out .6s;
}

.petsure-recommended-products .swiper-pagination .swiper-pagination-bullet-active,
.petsure-recommended-products .swiper-pagination .swiper-pagination-bullet:hover {
    border-color: var(--petsure-accent);
    background-color: var(--petsure-accent);
    opacity: 1;
}

.petsure-recommended-products .swiper-pagination .swiper-pagination-bullet-active:before,
.petsure-recommended-products .swiper-pagination .swiper-pagination-bullet:hover:before {
    border-color: var(--petsure-white);
    background-color: var(--petsure-accent);
}

.woocommerce-shop span.onsale,
.petsure-recommended-products span.onsale {
    min-width: initial;
    min-height: initial;
    margin: auto !important;
    top: 15px !important;
    right: 15px !important;
    left: auto;
    color: var(--petsure-white);
    background: var(--petsure-primary);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4em;
    border-radius: var(--petsure-border-radius);
    border: none;
    padding: 5px 12px;
    text-transform: capitalize;
}

.single-product span.onsale,
.petsure-quickview-images span.onsale {
    min-width: initial;
    min-height: initial;
    margin: auto !important;
    top: 15px !important;
    left: 15px !important;
    right: auto !important;
    color: var(--petsure-white);
    background: var(--petsure-primary);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4em;
    border-radius: var(--petsure-border-radius);
    border: none;
    padding: 5px 12px;
    text-transform: capitalize;
}

/*=============================================
=            Custom Orderby Select              =
=============================================*/

.woocommerce .woocommerce-ordering {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 30px;
}

.woocommerce .woocommerce-ordering label {
    font-size: 14px;
    font-weight: 600;
    color: var(--petsure-primary);
    white-space: nowrap;
}

.petsure-orderby-wrapper,
.woocommerce table.shop_table .product-thumbnail a {
    position: relative;
    display: inline-block;
}

/* --- Custom Dropdown Trigger --- */
.petsure-orderby-custom .petsure-orderby-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-width: 270px;
    padding: 12px 16px;
    background: transparent;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    color: var(--petsure-primary);
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    line-height: 1.4;
    cursor: pointer;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    text-align: left;
    -webkit-appearance: none;
    appearance: none;
    background-image: none;
}

.petsure-orderby-custom .petsure-orderby-current:hover {
    border-color: var(--petsure-accent);
}

.petsure-orderby-custom .petsure-orderby-current:focus-visible {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.15);
}

.petsure-orderby-custom.petsure-orderby-open .petsure-orderby-current {
    border-color: var(--petsure-accent);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.petsure-orderby-custom .petsure-orderby-label {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.petsure-orderby-custom .petsure-orderby-icon {
    flex-shrink: 0;
    font-size: 12px;
    color: var(--petsure-primary);
    transition: transform 0.3s ease;
}

.petsure-orderby-custom.petsure-orderby-open .petsure-orderby-icon {
    transform: rotate(180deg);
    width: auto;
}

/* --- Custom Dropdown Panel --- */
.petsure-orderby-custom .petsure-orderby-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 100;
    min-width: 200px;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-accent);
    border-top: none;
    border-radius: 0 0 var(--petsure-border-radius) var(--petsure-border-radius);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    overflow: hidden;
}

.petsure-orderby-custom.petsure-orderby-open .petsure-orderby-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.petsure-orderby-custom .petsure-orderby-option {
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--petsure-primary);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    line-height: 1.4;
}

.petsure-orderby-custom .petsure-orderby-option:hover {
    background: rgba(var(--petsure-accent-rgb), 0.2);
    color: var(--petsure-accent);
}

.petsure-orderby-custom .petsure-orderby-option.selected {
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-weight: 600;
}

.petsure-orderby-custom .petsure-orderby-option:last-child {
    border-bottom: none;
}

@media only screen and (max-width: 480px) {
    .petsure-orderby-custom .petsure-orderby-current {
        min-width: 0;
        padding: 10px 12px;
        font-size: 13px;
    }

    .petsure-orderby-custom .petsure-orderby-dropdown {
        min-width: 0;
    }

    .woocommerce .woocommerce-ordering {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
    border: none;
    display: inline-flex;
    flex-wrap: wrap;
    row-gap: 10px;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
    margin: 0 5px;
    border-radius: var(--petsure-border-radius);
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: var(--petsure-primary);
    background: var(--petsure-secondary);
    font-weight: 700;
    border-radius: var(--petsure-border-radius);
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    color: var(--petsure-white);
    background: var(--petsure-accent);
}

/* Single Product */
.single-product .woocommerce-product-gallery {
    position: relative;
}

/* Ocultar el flexslider/zoom default de WooCommerce */
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery .flex-control-thumbs,
.single-product .woocommerce-product-gallery .flex-direction-nav,
.single-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    display: none !important;
}

.single-product .woocommerce-product-gallery__wrapper {
    border-radius: var(--petsure-border-radius-lg);
    position: relative;
}

/* --- Petsure Custom Gallery --- */
.petsure-gallery {
    display: flex;
    flex-direction: column-reverse;
    gap: 16px;
    align-items: flex-start;
}

.petsure-gallery-thumbs {
    display: flex;
    flex-direction: row;
    gap: 10px;
    flex: 0 0 80px;
    width: 80px;
}

.petsure-gallery-thumb {
    width: 80px;
    height: 80px;
    flex-shrink: 0;
    border-radius: var(--petsure-border-radius);
    overflow: hidden;
    cursor: pointer;
    border: 2px solid var(--petsure-divider);
    opacity: 0.6;
    transition: border-color 0.25s ease, opacity 0.25s ease;
    position: relative;
}

.petsure-gallery-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.petsure-gallery-thumb:hover {
    opacity: 0.85;
    border-color: var(--petsure-accent);
}

.petsure-gallery-thumb.active {
    opacity: 1;
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 2px rgba(var(--petsure-accent-rgb), 0.2);
}

.petsure-gallery-main {
    flex: 1;
    min-width: 0;
    position: relative;
    overflow: hidden;
    border-radius: var(--petsure-border-radius-lg);
}

.petsure-gallery-main img {
    width: 100%;
    height: auto;
    display: block;
    transition: opacity 0.3s ease;
}

/* --- Responsive --- */
@media only screen and (max-width: 991px) {
    .petsure-gallery {
        flex-direction: column-reverse;
    }

    .petsure-gallery-thumbs {
        flex-direction: row;
        flex-wrap: wrap;
        flex: none;
        width: 100%;
        gap: 8px;
    }

    .petsure-gallery-thumb {
        width: 60px;
        height: 60px;
    }

    .petsure-gallery-main {
        cursor: default;
    }
}

.woocommerce div.product .woocommerce-product-rating {
    margin-bottom: 0;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.petsure-quickview-details .petsure-quickview-price {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    color: var(--petsure-primary);
    font-size: 30px;
    font-weight: 700;
    line-height: 1.1em;
    margin-top: 20px;
    margin-bottom: 10px;
}

.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
    text-decoration: none;
}

.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins {
    text-decoration: none;
}

.woocommerce div.product p.price del .woocommerce-Price-amount {
    font-size: 20px;
    color: var(--petsure-primary);
    opacity: 0.3;
    text-decoration: line-through;
    font-weight: 500;
}

.woocommerce div.product form.cart,
.woocommerce-variation-add-to-cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
}

.woocommerce-grouped-product-list {
    width: 100%;
}

.woocommerce-grouped-product-list tr {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}

.woocommerce-grouped-product-list tr td {
    padding: 0 !important;
    width: auto !important;
    text-align: center !important;
}

.woocommerce-grouped-product-list tr td.woocommerce-grouped-product-list-item__price,
.petsure-cart-item-prices {
    display: flex;
    flex-direction: row-reverse;
    gap: 10px;
    color: var(--petsure-primary);
    font-weight: 700;
}

.petsure-cart-item-prices {
    width: max-content;
}

.woocommerce-grouped-product-list tr td.woocommerce-grouped-product-list-item__price del bdi,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__prices .price .wc-block-components-product-price__regular,
.petsure-cart-item-prices .petsure-cart-regular-price bdi {
    opacity: .3;
    font-weight: 500;
}

.woocommerce-grouped-product-list tr td.woocommerce-grouped-product-list-item__price ins,
.petsure-cart-item-prices ins {
    text-decoration: none;
}

.petsure-quickview-details .petsure-quickview-actions {
    margin: 20px 0;
}

.woocommerce div.product form.cart .single_add_to_cart_button,
.petsure-quickview-details .single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    height: 48px;
    padding: 0 28px;
    border: none;
    border-radius: var(--petsure-border-radius);
    cursor: pointer;
    transition: all 0.3s ease;
    box-sizing: border-box;
    text-transform: none;
    letter-spacing: normal;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.petsure-quickview-details .single_add_to_cart_button:hover {
    background: var(--petsure-primary) !important;
    color: var(--petsure-white) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.woocommerce div.product form.cart .quantity,
.petsure-quickview-details .quantity {
    display: inline-flex;
    align-items: center;
    margin: 0 !important;
}

.woocommerce div.product form.cart .quantity .qty,
.petsure-quickview-details .quantity .qty {
    width: 80px;
    height: 52px;
    padding: 0 10px;
    font-size: 16px;
    font-weight: 600;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    text-align: center;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    color: var(--petsure-primary);
}

.woocommerce div.product form.cart .quantity .qty:focus,
.petsure-quickview-details .quantity .qty:focus {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

/*=============================================
=            Product Variations                 =
=============================================*/

.woocommerce div.product form.cart .variations {
    margin-bottom: 0;
    width: 100%;
}

.woocommerce div.product form.cart .variations tbody {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 14px;
}

.woocommerce div.product form.cart .variations tr {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.woocommerce div.product form.cart .variations tr.petsure-reset-row {
    width: 100%;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
    display: block;
    padding: 0;
    border: none;
    background: none;
}

.woocommerce div.product form.cart .variations th.label {
    display: block;
    padding: 0;
}

.woocommerce div.product form.cart .variations label {
    font-size: 14px;
    font-weight: 600;
    color: var(--petsure-primary);
    margin-bottom: 0;
    display: inline-block;
}

.woocommerce div.product form.cart .variations .value {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 170px;
}

.woocommerce div.product form.cart .woocommerce-variation-description p:first-child {
    margin-top: 0;
}

.woocommerce div.product .variations_form .single_variation_wrap .woocommerce-variation-add-to-cart {
    margin: 0;
}

/*=============================================
=            Custom Variation Dropdown          =
=============================================*/

.petsure-variation-wrapper {
    position: relative;
    flex: 1;
    min-width: 0;
}

/* Ocultar selects nativos de variaciones desde el inicio */
.variations .value select,
.petsure-variation-wrapper select {
    display: none !important;
}

.wc-block-components-address-form .wc-blocks-components-select__container .wc-blocks-components-select__label {
    transform: scale(.82);
}

.wc-block-components-address-form .wc-blocks-components-select__container .petsure-variation-current {
    padding-top: 24px;
    max-height: 50px;
}

.petsure-variation-current {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    padding: 12px 14px;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    color: var(--petsure-primary);
    font-size: 14px;
    font-weight: 500;
    font-family: inherit;
    line-height: 1.5;
    cursor: pointer;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    text-align: left;
    box-shadow: none;
}

.petsure-variation-current:hover {
    border-color: var(--petsure-accent);
}

.petsure-variation-current:focus-visible {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.15);
}

.petsure-variation-wrapper.petsure-variation-open .petsure-variation-current {
    border-color: var(--petsure-accent);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.petsure-variation-label {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.petsure-variation-icon {
    flex-shrink: 0;
    font-size: 12px;
    color: var(--petsure-primary);
    transition: transform 0.3s ease;
}

.petsure-variation-wrapper.petsure-variation-open .petsure-variation-icon {
    transform: rotate(180deg);
}

/* Dropdown panel */
.petsure-variation-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;
    min-width: 160px;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-accent);
    border-top: none;
    border-radius: 0 0 var(--petsure-border-radius) var(--petsure-border-radius);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    max-height: 220px;
    overflow-y: auto;
}

.petsure-variation-wrapper.petsure-variation-open .petsure-variation-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/*=============================================
=            Custom Order Address Cards        =
=============================================*/

.petsure-order-confirmation .petsure-address-card,
.woocommerce-Address .petsure-address-card {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 28px;
    position: relative;
    overflow: hidden;
}

/* My Account Addresses specific styles */
.woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}

.woocommerce-Address {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 28px;
}

.woocommerce-Address-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--petsure-divider);
}

.woocommerce-Address-title h3 {
    font-size: 18px;
    font-weight: 600;
    color: var(--petsure-primary);
    margin: 0;
}

.woocommerce-Address-title .edit {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    color: var(--petsure-accent);
    text-decoration: none;
    transition: color 0.3s ease;
}

.woocommerce-Address-title .edit:hover {
    color: var(--petsure-primary);
}

.woocommerce-Address-title .edit i {
    font-size: 14px;
}

.petsure-order-confirmation .petsure-address-field,
.woocommerce-Address .petsure-address-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--petsure-divider);
}

.petsure-order-confirmation .petsure-address-field:last-child,
.woocommerce-Address .petsure-address-field:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.petsure-order-confirmation .petsure-address-label,
.woocommerce-Address .petsure-address-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--petsure-accent);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1.4;
}

.petsure-order-confirmation .petsure-address-value,
.woocommerce-Address .petsure-address-value {
    font-size: 15px;
    color: var(--petsure-text);
    line-height: 1.5;
    font-weight: 500;
}

.petsure-order-confirmation .petsure-address-value a,
.woocommerce-Address .petsure-address-value a {
    color: var(--petsure-primary);
    text-decoration: none;
    transition: color 0.3s ease;
}

.petsure-order-confirmation .petsure-address-value a:hover,
.woocommerce-Address .petsure-address-value a:hover {
    color: var(--petsure-accent);
}

/* Responsive styles for address cards */
@media only screen and (max-width: 767px) {

    .petsure-order-confirmation .petsure-address-card,
    .woocommerce-Address .petsure-address-card {
        padding: 24px 20px;
    }

    .petsure-order-confirmation .petsure-address-field,
    .woocommerce-Address .petsure-address-field {
        margin-bottom: 12px;
        padding-bottom: 12px;
    }

    .petsure-order-confirmation .petsure-address-label,
    .woocommerce-Address .petsure-address-label {
        font-size: 12px;
    }

    .petsure-order-confirmation .petsure-address-value,
    .woocommerce-Address .petsure-address-value {
        font-size: 14px;
    }
}

/*=============================================
=            Petsure Custom Cart                =
=============================================*/

.petsure-custom-cart:not(:last-child),
.petsure-custom-cart .petsure-custom-cart-form:not(:last-child) {
    width: 100%;
    max-width: 100%;
}

.petsure-custom-cart:not(:last-child),
.petsure-custom-cart .petsure-custom-cart-form:not(:last-child) {
    margin-bottom: 50px;
}

.petsure-custom-cart-layout,
.woocommerce-cart .woocommerce .petsure-classic-cart-layout,
.woocommerce-checkout form.woocommerce-checkout {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.petsure-custom-cart-main,
.petsure-classic-cart-layout .woocommerce-cart-form,
.woocommerce-checkout form.woocommerce-checkout #customer_details {
    flex: 1;
    min-width: 0;
}

.petsure-custom-cart-sidebar,
.petsure-classic-cart-layout .cart-collaterals {
    width: 380px;
    flex-shrink: 0;
}

.woocommerce-checkout form.woocommerce-checkout #order_review {
    width: 550px;
    flex-shrink: 0;
}

.petsure-classic-cart-layout:has(.woocommerce-cart-form__contents tbody:empty) {
    display: none;
}

/* --- Cart Table --- */
.petsure-cart-table-wrapper {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    margin-bottom: 20px;
}

.petsure-cart-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}

.petsure-cart-table th {
    background: var(--petsure-primary);
    color: var(--petsure-white);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 16px;
    text-align: left;
    border: none;
}

/* --- Cart Items --- */

.petsure-cart-item-sale-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    color: var(--petsure-white);
    background: var(--petsure-accent);
    padding: 3px 10px;
    border-radius: 20px;
    margin-top: 6px;
    line-height: 1.4;
    white-space: nowrap;
}

.petsure-cart-item-sale-badge .woocommerce-Price-amount {
    color: var(--petsure-white);
    font-weight: 700;
}

.petsure-cart-item {
    border-bottom: 1px solid var(--petsure-divider);
    transition: background 0.25s ease;
    background: var(--petsure-white);
}

.petsure-cart-item:last-child {
    border-bottom: none;
}

.petsure-cart-item:hover {
    background: rgba(var(--petsure-secondary-rgb), 0.4);
}

.petsure-cart-item td {
    padding: 20px 16px;
    vertical-align: middle;
}

.petsure-cart-item td .petsure-cart-item-total-price {
    font-size: 17px;
}

.petsure-cart-item td.petsure-cart-item-product {
    width: auto;
}

.petsure-cart-item td.petsure-cart-item-image {
    width: 140px;
}

.woocommerce img,
.woocommerce-page img {
    width: 100%;
}

.petsure-cart-header-row th.petsure-cart-col-total,
.petsure-cart-item td.petsure-cart-item-total {
    width: 140px;
    text-align: right;
}

.petsure-cart-backorder {
    font-size: 13px;
    color: var(--petsure-accent);
    font-weight: 500;
    margin: 4px 0 0;
}

/* --- Remove Item Link (trash icon) --- */
.petsure-cart-remove-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 4px;
    margin: 0;
    cursor: pointer;
    color: var(--petsure-text);
    opacity: 0.4;
    transition: opacity 0.2s ease, color 0.2s ease;
    line-height: 1;
    flex-shrink: 0;
}

.petsure-cart-remove-link:hover {
    opacity: 1;
    color: var(--petsure-error);
}

.petsure-cart-remove-link svg {
    display: block;
    fill: currentColor;
}

/* --- Quantity Selector --- */
.petsure-qty-selector {
    display: inline-flex;
    align-items: center;
    border: 2px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    overflow: hidden;
    background: var(--petsure-white);
    transition: border-color 0.3s ease;
}

.petsure-qty-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 40px;
    border: none;
    background: var(--petsure-secondary);
    color: var(--petsure-primary);
    font-size: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
    padding: 0;
    line-height: 1;
}

.petsure-qty-btn:hover {
    background: rgba(var(--petsure-accent-rgb), 0.15);
    color: var(--petsure-accent);
}

.petsure-qty-btn:disabled {
    opacity: 0.35;
    cursor: not-allowed;
    pointer-events: none;
}

.petsure-qty-input {
    width: 48px !important;
    height: 40px !important;
    border: none !important;
    border-radius: 0 !important;
    text-align: center !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--petsure-primary) !important;
    background: var(--petsure-white) !important;
    padding: 0 4px !important;
    margin: 0 !important;
    outline: none !important;
    -moz-appearance: textfield !important;
}

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

/* --- Cart Totals Card (Sidebar) --- */
.petsure-cart-totals-card {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 28px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    position: sticky;
    top: 100px;
}

.petsure-cart-totals-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--petsure-primary) !important;
    margin: 0 0 24px !important;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--petsure-primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.petsure-total-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    gap: 10px;
    border-bottom: 1px solid var(--petsure-divider);
}


.petsure-classic-cart-layout .cart_totals tr {
    display: flex;
    align-items: center;
    padding: 12px 0;
    gap: 10px;
    border-bottom: 1px solid var(--petsure-divider);
}

#order_review .woocommerce-checkout-review-order-table tbody tr,
#order_review .woocommerce-checkout-review-order-table tfoot tr {
    border-bottom: 1px solid var(--petsure-divider);
    padding: 12px 0;
}

.petsure-classic-cart-layout .cart_totals tr th,
.petsure-classic-cart-layout .cart_totals tr td,
#order_review .woocommerce-checkout-review-order-table tbody tr th,
#order_review .woocommerce-checkout-review-order-table tbody tr td,
#order_review .woocommerce-checkout-review-order-table tfoot tr th,
#order_review .woocommerce-checkout-review-order-table tfoot tr td {
    border: none !important;
    flex: 1;
}

.petsure-classic-cart-layout .cart_totals tr.woocommerce-shipping-totals.shipping th,
#order_review .woocommerce-shipping-totals th {
    max-width: 90px;
}

/* ===================================
=   Custom Radio Buttons for Shipping =
=================================== */

.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods,
#order_review .woocommerce-shipping-totals ul {
    margin-top: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li,
#order_review .woocommerce-shipping-totals ul li {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 2px 0;
}

/* Hide native radio button */
.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li input[type="radio"].shipping_method,
#order_review .woocommerce-shipping-totals ul li input[type="radio"].shipping_method {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    pointer-events: none;
}

/* Custom radio circle on label */
.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li label,
#order_review .woocommerce-shipping-totals ul li label {
    position: relative;
    padding-left: 30px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    color: var(--petsure-primary);
    transition: color 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1.4;
}

.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li label::before,
#order_review .woocommerce-shipping-totals ul li label::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border: 2px solid var(--petsure-divider);
    border-radius: 50%;
    background: var(--petsure-white);
    transition: all 0.25s ease;
    box-sizing: border-box;
}

.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li label:hover::before,
#order_review .woocommerce-shipping-totals ul li label:hover::before {
    border-color: var(--petsure-accent);
}

.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li input[type="radio"].shipping_method:checked+label,
#order_review .woocommerce-shipping-totals ul li input[type="radio"].shipping_method:checked+label {
    font-weight: 600;
}

/* Circle border on checked */
.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li input[type="radio"].shipping_method:checked+label::before,
#order_review .woocommerce-shipping-totals ul li input[type="radio"].shipping_method:checked+label::before {
    border-color: var(--petsure-accent);
    background: var(--petsure-white);
}

/* Inner dot for checked state */
.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li input[type="radio"].shipping_method:checked+label::after,
#order_review .woocommerce-shipping-totals ul li input[type="radio"].shipping_method:checked+label::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--petsure-accent);
    animation: petsure-radio-dot-in 0.2s ease-out forwards;
}

@keyframes petsure-radio-dot-in {
    0% {
        transform: translateY(-50%) scale(0);
    }

    100% {
        transform: translateY(-50%) scale(1);
    }
}

/* Single method (hidden input) — no radio circle */
.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li input[type="hidden"].shipping_method+label,
#order_review .woocommerce-shipping-totals ul li input[type="hidden"].shipping_method+label {
    padding-left: 0;
    font-weight: 600;
}

.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li input[type="hidden"].shipping_method+label::before,
.petsure-classic-cart-layout .cart_totals .woocommerce-shipping-methods li input[type="hidden"].shipping_method+label::after,
#order_review .woocommerce-shipping-totals ul li input[type="hidden"].shipping_method+label::before,
#order_review .woocommerce-shipping-totals ul li input[type="hidden"].shipping_method+label::after {
    display: none;
}

.petsure-classic-cart-layout .cart_totals tr.woocommerce-shipping-totals.shipping td,
#order_review .woocommerce-shipping-totals td {
    width: auto;
}

/* Destination text */
.petsure-classic-cart-layout .woocommerce-shipping-destination {
    font-size: 13px;
    color: var(--petsure-text);
    margin: 10px 0 0;
    line-height: 1.5;
}

.petsure-classic-cart-layout .woocommerce-shipping-destination strong {
    color: var(--petsure-primary);
    font-weight: 600;
}

.petsure-total-row:last-child {
    border-bottom: none;
}

.petsure-total-label {
    font-size: 15px;
    font-weight: 500;
    color: var(--petsure-text);
}

.petsure-total-value {
    font-size: 15px;
    font-weight: 600;
    color: var(--petsure-primary);
    text-align: right;
}

.petsure-total-discount {
    color: var(--petsure-accent);
}

.petsure-total-discount .petsure-total-label {
    color: var(--petsure-accent);
}

.petsure-total-discount-amount {
    color: var(--petsure-accent) !important;
}

.petsure-discount-description {
    padding: 0 0 12px 0;
    margin-top: -4px;
}

.petsure-discount-coupon-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.petsure-discount-chips {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.petsure-discount-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(var(--petsure-accent-rgb), 0.08);
    border: 1px solid rgba(var(--petsure-accent-rgb), 0.2);
    border-radius: 16px;
    padding: 3px 8px 3px 10px;
    font-size: 12px;
    font-weight: 600;
    color: var(--petsure-accent);
    line-height: 1.4;
}

.petsure-discount-chip__text {
    white-space: nowrap;
}

.petsure-discount-chip__remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    padding: 0;
    border: none;
    background: rgba(0, 0, 0, 0.1);
    border-radius: 50%;
    color: var(--petsure-accent);
    cursor: pointer;
    transition: all 0.2s ease;
    line-height: 1;
    flex-shrink: 0;
}

.petsure-discount-chip__remove:hover {
    background: var(--petsure-accent);
    color: var(--petsure-white);
}

.petsure-discount-chip__remove svg {
    display: block;
    fill: currentColor;
}

/* --- Coupon Panel (block cart style toggle + input) --- */
.petsure-cart-coupon-panel {
    margin-bottom: 8px;
}

.petsure-coupon-panel-toggle {
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    padding: 15px 0;
    background: none;
    border: none;
    border-bottom: 1px solid var(--petsure-divider);
    color: var(--petsure-accent);
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    text-align: left;
    transition: color 0.2s ease;
    outline: none !important;
}

.petsure-coupon-panel-toggle:hover {
    color: var(--petsure-primary);
}

.petsure-coupon-panel-toggle svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
    flex-shrink: 0;
    transition: transform 0.2s ease;
}

.petsure-coupon-panel-toggle[aria-expanded="true"] svg,
.petsure-cart-coupon-panel.is-open .petsure-coupon-panel-toggle svg {
    transform: rotate(180deg);
}

.petsure-coupon-panel-body {
    display: none;
    padding: 16px 0;
    border-bottom: 1px solid var(--petsure-divider);
}

.petsure-cart-coupon-panel.is-open .petsure-coupon-panel-body {
    display: block;
}

.petsure-coupon-input-row {
    display: flex;
    gap: 8px;
}

.petsure-sidebar-coupon-input {
    flex: 1;
    min-width: 0;
    height: 42px;
    padding: 0 14px;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    font-size: 14px;
    font-family: inherit;
    color: var(--petsure-primary);
    background: var(--petsure-white);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    box-sizing: border-box;
}

.petsure-sidebar-coupon-input:focus {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 2px rgba(var(--petsure-accent-rgb), 0.15);
}

.petsure-sidebar-coupon-input--error {
    border-color: var(--petsure-error);
    background: rgba(var(--petsure-error-rgb), 0.15);
}

.petsure-sidebar-coupon-input--error:focus {
    border-color: var(--petsure-error);
    box-shadow: 0 0 0 2px rgba(var(--petsure-error-rgb), 0.15);
}

.petsure-sidebar-coupon-input::placeholder {
    color: var(--petsure-text);
    opacity: 0.6;
}

.petsure-sidebar-coupon-btn {
    height: 42px;
    padding: 0 20px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border: none;
    border-radius: var(--petsure-border-radius);
    font-size: 14px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s ease, box-shadow 0.2s ease;
    flex-shrink: 0;
}

.petsure-sidebar-coupon-btn:hover {
    background: var(--petsure-primary);
}

.petsure-sidebar-coupon-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.petsure-sidebar-coupon-btn--loading {
    position: relative;
    color: transparent !important;
    pointer-events: none;
}

.petsure-sidebar-coupon-btn--loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: petsure-btn-spin 0.6s linear infinite;
}

@keyframes petsure-btn-spin {
    to {
        transform: rotate(360deg);
    }
}

.petsure-coupon-feedback {
    font-size: 13px;
    margin-top: 8px;
    padding: 6px 10px;
    border-radius: var(--petsure-border-radius);
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 6px;
}

.petsure-coupon-feedback i {
    flex-shrink: 0;
    font-size: 14px;
}

.petsure-coupon-feedback--success {
    color: var(--petsure-success);
    background: rgba(var(--petsure-success-rgb), 0.08);
}

.petsure-coupon-feedback--error {
    color: var(--petsure-error);
    background: rgba(var(--petsure-error-rgb), 0.08);
}

.petsure-total-grand .petsure-total-label,
.petsure-classic-cart-layout .cart_totals tr.order-total th {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--petsure-primary) !important;
}

.petsure-total-grand-value {
    font-size: 19px;
    font-weight: 700;
    color: var(--petsure-accent);
}

.petsure-total-tax-note {
    text-align: right;
    font-size: 13px;
    color: var(--petsure-text);
    margin: -4px 0 16px;
    opacity: 0.7;
}

/* --- Checkout Button --- */
.petsure-cart-checkout-wrap {
    margin-top: 20px;
}

.petsure-cart-checkout-wrap a.checkout-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100% !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    height: 52px;
    padding: 0 28px;
    background: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
    border-radius: var(--petsure-border-radius) !important;
    transition: all 0.3s ease;
    box-sizing: border-box;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    text-decoration: none;
    margin: 0 !important;
    float: none !important;
}

.petsure-cart-checkout-wrap a.checkout-button:hover {
    background: var(--petsure-primary) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* --- Cart Empty State (inside custom cart) --- */
.petsure-custom-cart .woocommerce-cart-empty {
    padding: 20px 0;
}

/* --- Responsive --- */
@media only screen and (max-width: 991px) {
    .petsure-custom-cart-layout {
        flex-direction: column;
    }

    .petsure-custom-cart-sidebar {
        width: 100%;
    }

    .petsure-cart-totals-card {
        position: static;
    }

}

@media only screen and (max-width: 767px) {
    .petsure-cart-table thead {
        display: none;
    }

    .petsure-cart-table,
    .petsure-cart-table tbody,
    .petsure-cart-table tr,
    .petsure-cart-table td {
        display: block;
    }

    .petsure-cart-item {
        padding: 16px;
        position: relative;
    }

    .petsure-cart-item td {
        padding: 8px 0;
        text-align: right;
        border: none;
    }

    .petsure-cart-item td[data-title]::before {
        content: attr(data-title) ": ";
        float: left;
        font-weight: 600;
        color: var(--petsure-text);
        font-size: 13px;
    }

    .petsure-cart-item-product {
        text-align: right;
    }

    .petsure-cart-item-product a {
        font-size: 16px;
    }

    .petsure-cart-totals-card {
        padding: 24px 20px;
    }

}

/*=============================================
=            Order Confirmation Page           =
=============================================*/

.petsure-order-confirmation {
    margin: 0 auto;
    padding: 40px 20px;
}

/* Order Header */
.petsure-order-header {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 32px;
    margin-bottom: 32px;
}

.petsure-order-success {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 24px;
}

.petsure-success-icon {
    width: 44px;
    height: 44px;
    background: var(--petsure-success);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--petsure-white);
    font-size: 22px;
    flex-shrink: 0;
}

.petsure-success-content h1 {
    font-size: 25px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin: 0 0 8px 0;
    line-height: 1.2;
}

.petsure-success-content p {
    font-size: 16px;
    color: var(--petsure-text);
    margin: 0;
    line-height: 1.5;
}

.petsure-order-meta {
    display: flex;
    justify-content: center;
    gap: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--petsure-divider);
}

.petsure-meta-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.petsure-meta-label {
    font-size: 13px;
    font-weight: 600;
    color: var(--petsure-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.petsure-meta-value {
    font-size: 16px;
    font-weight: 600;
    color: var(--petsure-primary);
}

.petsure-meta-value--highlight {
    color: var(--petsure-accent);
    font-size: 18px;
}

.petsure-meta-value--status {
    color: var(--petsure-primary);
    font-weight: 600;
}

/* Order Grid */
.petsure-order-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
    margin-bottom: 32px;
}

.petsure-order-details,
.petsure-order-payment {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 28px;
}

.petsure-section-title {
    font-size: 30px !important;
    font-weight: 700;
    color: var(--petsure-primary) !important;
    margin: 0 0 24px 0 !important;
    line-height: 1.3;
}

/* Payment Method Card */
.petsure-payment-method {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px;
    background: var(--petsure-secondary);
    border-radius: var(--petsure-border-radius);
    margin-bottom: 20px;
}

.petsure-payment-icon {
    width: 48px;
    height: 48px;
    background: var(--petsure-accent);
    border-radius: var(--petsure-border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--petsure-white);
    font-size: 20px;
    flex-shrink: 0;
}

.petsure-payment-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.petsure-payment-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--petsure-primary);
}

.petsure-payment-status {
    font-size: 14px;
    color: var(--petsure-success);
    font-weight: 500;
}

.petsure-payment-instructions {
    padding: 16px;
    background: rgba(var(--petsure-accent-rgb), 0.05);
    border-left: 3px solid var(--petsure-accent);
    border-radius: 0 var(--petsure-border-radius) var(--petsure-border-radius) 0;
    font-size: 14px;
    color: var(--petsure-text);
    line-height: 1.6;
}

.petsure-payment-instructions p {
    margin: 0 0 8px 0;
}

.petsure-payment-instructions p:last-child {
    margin: 0;
}

/* Customer Section */
.petsure-customer-section {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 28px;
    margin-bottom: 32px;
}

.petsure-customer-section .woocommerce-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.petsure-customer-section .woocommerce-column {
    padding: 0;
}

.petsure-customer-section .woocommerce-column__title {
    font-size: 18px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin: 0 0 20px 0;
    line-height: 1.3;
}

/* Order Actions */
.petsure-order-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.petsure-order-actions .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 48px;
    padding: 0 28px !important;
    background: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
    border-radius: var(--petsure-border-radius) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease;
    border: none !important;
    cursor: pointer !important;
    box-sizing: border-box;
}

.petsure-order-actions .button:hover {
    background: var(--petsure-primary) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Order Error */
.petsure-order-error {
    background: rgba(var(--petsure-error-rgb), 0.1);
    border: 1px solid var(--petsure-error);
    border-radius: var(--petsure-border-radius-lg);
    padding: 32px;
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.petsure-error-icon {
    width: 48px;
    height: 48px;
    background: var(--petsure-error);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--petsure-white);
    font-size: 24px;
    flex-shrink: 0;
}

.petsure-error-content h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--petsure-error);
    margin: 0 0 12px 0;
}

.petsure-error-content p {
    font-size: 15px;
    color: var(--petsure-text);
    margin: 0 0 20px 0;
    line-height: 1.5;
}

.petsure-error-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.petsure-error-actions .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 28px !important;
    background: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
    border-radius: var(--petsure-border-radius) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease;
    border: none !important;
    cursor: pointer !important;
    box-sizing: border-box;
}

.petsure-error-actions .button:hover {
    background: var(--petsure-primary) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

/* Responsive */
@media only screen and (max-width: 991px) {
    .petsure-order-grid {
        grid-template-columns: 1fr;
    }

    .petsure-order-meta {
        flex-direction: column;
        gap: 16px;
    }

    .petsure-customer-section .woocommerce-columns {
        grid-template-columns: 1fr;
    }
}

@media only screen and (max-width: 767px) {
    .petsure-order-confirmation {
        padding: 24px 16px;
    }

    .petsure-order-header {
        padding: 24px 20px;
    }

    .petsure-order-success {
        flex-direction: column;
        text-align: center;
        gap: 16px;
    }

    .petsure-success-content h1 {
        font-size: 24px;
    }

    .petsure-success-content p {
        font-size: 15px;
    }

    .petsure-order-details,
    .petsure-order-payment,
    .petsure-customer-section {
        padding: 24px 20px;
    }

    .petsure-section-title {
        font-size: 18px;
    }

    .petsure-order-actions {
        flex-direction: column;
    }

    .petsure-order-actions .button {
        width: 100%;
        justify-content: center;
    }

    .petsure-order-error {
        flex-direction: column;
        text-align: center;
    }

    .petsure-error-actions {
        flex-direction: column;
        width: 100%;
    }

    .petsure-error-actions .button {
        width: 100%;
    }
}

.petsure-variation-option {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 500;
    color: var(--petsure-primary);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    line-height: 1.4;
    outline: none;
}

.petsure-variation-option:hover,
.petsure-variation-option:focus-visible {
    background: rgba(var(--petsure-accent-rgb), 0.2);
    color: var(--petsure-accent);
}

.petsure-variation-option.selected {
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-weight: 600;
}

.petsure-variation-option--disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}

.petsure-variation-check {
    font-size: 12px;
    flex-shrink: 0;
}

/* Reset variations button */
.woocommerce div.product form.cart .reset_variations {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--petsure-primary);
    background: var(--petsure-white);
    border: 1px solid var(--petsure-primary);
    cursor: pointer;
    text-decoration: none;
    outline: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    margin: 0 !important;
    border-radius: var(--petsure-border-radius);
    padding: 5px 15px;

    /* Hidden by default with smooth exit */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(0.85) translateY(-4px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1),
        background 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce div.product form.cart .reset_variations::before,
.petsure-quickview-details .reset_variations::before {
    content: "\2715";
    font-size: 14px;
    line-height: 1;
}

.woocommerce div.product form.cart .reset_variations.petsure-reset-visible {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: scale(1) translateY(0);
}

.woocommerce div.product form.cart .reset_variations:hover {
    background: var(--petsure-secondary);
    border-color: var(--petsure-accent);
    color: var(--petsure-accent);
    box-shadow: 0 1px 4px rgba(var(--petsure-accent-rgb), 0.2);
}

.woocommerce div.product form.cart .reset_variations:focus-visible {
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.25);
}

/* Reset variations in its own row */
.petsure-reset-row td {
    padding: 0;
    border: none;
    background: none;
    display: flex;
    justify-content: flex-start;
}

.petsure-reset-row .reset_variations {
    margin-top: 4px;
}

.woocommerce div.product form.cart .stock {
    font-size: 14px;
    font-weight: 600;
    color: var(--petsure-text);
    margin-bottom: 12px;
}

.woocommerce div.product form.cart .stock.in-stock {
    color: var(--petsure-success);
}

.woocommerce div.product form.cart .stock.out-of-stock {
    color: var(--petsure-error);
}

.woocommerce div.product .product_meta,
.petsure-quickview-details .product_meta {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.woocommerce div.product .product_meta a,
.petsure-quickview-details .product_meta a {
    color: var(--petsure-primary);
    font-weight: 600;
    transition: all 0.3s ease-in-out;
}

.woocommerce div.product .product_meta a:hover,
.petsure-quickview-details .product_meta a:hover {
    color: var(--petsure-accent);
}

.petsure-quickview-details .button.petsure-quickview-details-link {
    display: inline-block;
    margin-top: 15px;
}

/*=============================================
=            Product Reviews                   =
=============================================*/

.woocommerce-Reviews {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.woocommerce-Reviews #comments {
    width: 48%;
}

.woocommerce-Reviews #review_form_wrapper {
    width: 45%;
}

.woocommerce-Reviews #review_form_wrapper #review_form {
    position: sticky;
    top: 20px;
}

.woocommerce #reviews #comments .woocommerce-Reviews-title,
.woocommerce-Reviews .comment-reply-title {
    display: block;
    color: var(--petsure-primary);
    font-size: 20px;
    font-weight: 600;
    text-transform: capitalize;
    margin-bottom: 30px;
}

.woocommerce #reviews #comments ol.commentlist {
    padding-left: 0;
    margin: 0;
    width: 100%;
    background: none;
    list-style: none;
}

.woocommerce #reviews #comments ol.commentlist li {
    border-bottom: 1px solid var(--petsure-divider);
    padding-bottom: 20px;
    margin-bottom: 20px;
    position: relative;
    background: none;
    border: none;
    border-bottom: 1px solid var(--petsure-divider);
}

.woocommerce #reviews #comments ol.commentlist .comment_container {
    display: flex;
    align-items: flex-start;
}

.woocommerce #reviews #comments ol.commentlist li img.avatar {
    float: none;
    position: initial;
    padding: 0;
    border: none;
    width: 100%;
    max-width: 60px;
    border-radius: 50%;
    margin-right: 20px;
    background: none;
    box-shadow: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text {
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta {
    color: var(--petsure-text);
    font-size: 14px;
    margin-bottom: 8px;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta .woocommerce-review__author {
    color: var(--petsure-primary);
    font-weight: 700;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .description p {
    margin-bottom: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating {
    float: right;
    margin-top: 0;
}

.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating::before,
.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating span {
    color: var(--petsure-accent);
}

/* --- Review Form --- */
.woocommerce-Reviews .comment-form span.required {
    color: var(--petsure-accent);
}

.woocommerce #review_form #respond {
    position: static;
    margin: 0;
    width: auto;
    padding: 0;
    background: transparent none;
    border: 0;
}

.woocommerce-Reviews .comment-form-rating {
    display: flex;
    align-items: center;
    margin-bottom: 16px;
}

.woocommerce-Reviews .comment-form-rating label {
    margin-right: 12px;
    font-weight: 600;
    color: var(--petsure-primary);
}

.woocommerce #review_form #respond p.stars {
    margin-bottom: 0;
}

.woocommerce p.stars a {
    color: var(--petsure-accent);
    font-size: 24px;
}

.woocommerce #review_form #respond p.comment-notes {
    margin-bottom: 15px;
    color: var(--petsure-text);
}

.woocommerce #review_form #respond .comment-form-comment,
.woocommerce #review_form #respond .comment-form-author,
.woocommerce #review_form #respond .comment-form-email {
    margin-bottom: 16px;
}

.woocommerce #review_form #respond .comment-form-comment label,
.woocommerce #review_form #respond .comment-form-author label,
.woocommerce #review_form #respond .comment-form-email label {
    display: block;
    font-weight: 600;
    color: var(--petsure-primary);
    margin-bottom: 6px;
}

.woocommerce #review_form #respond textarea,
.woocommerce #review_form #respond .comment-form-author input,
.woocommerce #review_form #respond .comment-form-email input {
    display: block;
    font-size: 15px;
    line-height: 1.5;
    width: 100%;
    background-color: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    box-shadow: none;
    outline: none;
    padding: 14px 16px;
    box-sizing: border-box;
    color: var(--petsure-primary);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce #review_form #respond textarea:focus,
.woocommerce #review_form #respond .comment-form-author input:focus,
.woocommerce #review_form #respond .comment-form-email input:focus {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.woocommerce #review_form #respond textarea {
    height: 120px;
}

.woocommerce-Reviews .comment-form p.comment-form-author {
    width: calc(50% - 15px);
    margin-right: 30px !important;
    float: left;
}

.woocommerce-Reviews .comment-form p.comment-form-email {
    width: calc(50% - 15px);
    float: left;
}

.woocommerce #review_form #respond .form-submit {
    clear: both;
    padding-top: 8px;
}

.woocommerce #review_form #respond .form-submit input.submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    height: 48px;
    padding: 0 28px;
    border: none;
    border-radius: var(--petsure-border-radius);
    cursor: pointer;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.woocommerce #review_form #respond .form-submit input.submit:hover {
    background: var(--petsure-primary);
}

/* --- Cookie consent checkbox --- */
.woocommerce-Reviews .comment-form-cookies-consent {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 16px;
    clear: both;
    padding-top: 8px;
}

.woocommerce-Reviews .comment-form-cookies-consent input[type="checkbox"] {
    accent-color: var(--petsure-accent);
}

.woocommerce-Reviews .comment-form-cookies-consent label {
    font-size: 14px;
    color: var(--petsure-text);
}

/* --- Reviews Responsive --- */
@media only screen and (max-width: 991px) {

    .woocommerce-Reviews #comments,
    .woocommerce-Reviews #review_form_wrapper {
        width: 100%;
    }

    .woocommerce-Reviews #review_form_wrapper {
        margin-top: 30px;
    }

    .woocommerce #reviews #comments .woocommerce-Reviews-title,
    .woocommerce-Reviews .comment-reply-title {
        margin-bottom: 20px;
    }

    .woocommerce div.product .woocommerce-tabs .panel {
        padding: 20px 0 0;
    }
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--petsure-divider);
    margin-bottom: 20px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    border: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: none;
    padding: 0;
    margin: 0 30px 0 0;
    border-radius: 0;
    background: none;
    color: var(--petsure-text);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 15px 0;
    font-size: 20px;
    color: var(--petsure-primary);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--petsure-accent);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active::after {
    width: 100%;
    height: 2px;
    background: var(--petsure-accent);
    bottom: -2px;
}

/*=============================================
=            Product Additional Info Table      =
=============================================*/

.woocommerce table.shop_attributes,
.woocommerce-page table.shop_attributes,
.woocommerce table.woocommerce-product-attributes {
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    overflow: hidden;
    margin-bottom: 30px;
}

.woocommerce table.shop_attributes th,
.woocommerce-page table.shop_attributes th,
.woocommerce table.woocommerce-product-attributes th {
    background: var(--petsure-secondary) !important;
    color: var(--petsure-primary);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 16px 20px;
    border-bottom: 1px solid var(--petsure-divider);
    border-right: 1px solid var(--petsure-divider);
    width: 30%;
    vertical-align: middle;
}

.woocommerce table.shop_attributes td,
.woocommerce-page table.shop_attributes td,
.woocommerce table.woocommerce-product-attributes td {
    padding: 16px 20px;
    border-bottom: 1px solid var(--petsure-divider);
    color: var(--petsure-text);
    font-size: 15px;
    line-height: 1.6;
    vertical-align: middle;
    background: none !important;
}

.woocommerce table.shop_attributes tr:last-child th,
.woocommerce table.shop_attributes tr:last-child td,
.woocommerce-page table.shop_attributes tr:last-child th,
.woocommerce-page table.shop_attributes tr:last-child td,
.woocommerce table.woocommerce-product-attributes tr:last-child th,
.woocommerce table.woocommerce-product-attributes tr:last-child td {
    border-bottom: none;
}

.woocommerce table.shop_attributes td p,
.woocommerce-page table.shop_attributes td p,
.woocommerce table.woocommerce-product-attributes td p {
    margin: 0;
    padding: 0;
}

.woocommerce table.shop_attributes .alt th,
.woocommerce table.shop_attributes .alt td,
.woocommerce-page table.shop_attributes .alt th,
.woocommerce-page table.shop_attributes .alt td,
.woocommerce table.woocommerce-product-attributes .alt th,
.woocommerce table.woocommerce-product-attributes .alt td {
    background: transparent;
}

.woocommerce table.shop_attributes td .star-rating,
.woocommerce-page table.shop_attributes td .star-rating {
    float: none;
    display: inline-block;
    vertical-align: middle;
}

/* Related Products */
.single-product .related.products>h2 {
    color: var(--petsure-primary);
    font-size: 52px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 40px;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    margin-bottom: 20px;
    line-height: 1.2;
}

/* Cart */
/*=============================================
=            Cart Page Styles                  =
=============================================*/
.woocommerce table.shop_table {
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
    border-collapse: separate;
}

.woocommerce table.shop_table thead {
    border-bottom: 2px solid var(--petsure-primary);
}

.woocommerce table.shop_table th {
    background: var(--petsure-primary);
    color: var(--petsure-white);
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    padding: 18px 16px;
    border: none;
}

.woocommerce table.shop_table td {
    padding: 20px 16px;
    border-top: 1px solid var(--petsure-divider);
    vertical-align: middle;
    font-size: 15px;
    color: var(--petsure-primary);
}

.woocommerce table.shop_table tbody tr {
    transition: background 0.25s ease;
}

.woocommerce table.shop_table tbody tr:hover {
    background: rgba(var(--petsure-secondary-rgb), 0.5);
}

/* Product thumbnail */
.woocommerce table.shop_table .product-thumbnail {
    width: 100px;
    text-align: center;
}

.woocommerce table.shop_table .product-thumbnail a img,
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img,
table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img {
    width: 100%;
    border-radius: var(--petsure-border-radius);
    display: block;
}

/* Product name */
.woocommerce table.shop_table td.product-name {
    font-size: 16px;
    font-weight: 600;
}

.woocommerce table.shop_table td.product-name a {
    color: var(--petsure-primary);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
}

.woocommerce table.shop_table td.product-name a:hover {
    color: var(--petsure-accent);
}

.woocommerce table.shop_table td.product-name .wc-item-meta {
    font-size: 13px;
    font-weight: 400;
    color: var(--petsure-text);
    margin-top: 6px;
}

.woocommerce table.shop_table td.product-name dl.variation {
    font-size: 13px;
    font-weight: 400;
    color: var(--petsure-text);
    margin: 6px 0 0;
    padding: 0;
}

.woocommerce table.shop_table td.product-name dl.variation dt {
    display: inline-block;
    font-weight: 600;
    margin: 0 4px 0 0;
    padding: 0;
}

.woocommerce table.shop_table td.product-name dl.variation dd {
    display: inline-block;
    margin: 0 12px 0 0;
    padding: 0;
}

/* Remove button */
.woocommerce table.shop_table .product-remove {
    width: 60px;
    text-align: center;
}

.woocommerce table.shop_table .product-remove a.remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    font-size: 16px;
    font-weight: 400;
    color: var(--petsure-text) !important;
    background: var(--petsure-secondary);
    border-radius: 50%;
    transition: all 0.3s ease;
    text-decoration: none;
    line-height: 1;
}

.woocommerce table.shop_table .product-remove a.remove:hover {
    background: rgba(var(--petsure-accent-rgb), 0.15);
    color: var(--petsure-accent) !important;
}

/* Price and subtotal */
.woocommerce table.shop_table td.product-price,
.woocommerce table.shop_table td.product-subtotal {
    color: var(--petsure-primary);
    font-weight: 700;
    font-size: 16px;
}

/* Quantity */
.woocommerce table.shop_table .product-quantity {
    text-align: center;
}

.woocommerce table.shop_table .product-quantity .quantity .qty {
    width: 60px;
    height: 44px;
    padding: 0 8px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    background: var(--petsure-white);
    border: 2px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    color: var(--petsure-primary);
}

.woocommerce table.shop_table .product-quantity .quantity .qty:focus {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

/* Actions row (coupon + update cart) */
.woocommerce table.shop_table td.actions {
    padding: 24px 20px;
    background: var(--petsure-secondary);
}

.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.cart td.actions .input-text {
    padding: 12px 14px;
    font-size: 14px;
    border-radius: var(--petsure-border-radius);
    height: 48px;
    max-width: 200px;
    border: 1px solid var(--petsure-divider);
    background: var(--petsure-white);
    line-height: 1.5;
    color: var(--petsure-primary);
    outline: none;
}

.woocommerce table.cart td.actions .coupon {
    display: flex;
    gap: 10px;
    align-items: center;
}

.woocommerce table.cart td.actions .coupon #coupon_code {
    width: auto;
    min-width: 220px;
    padding: 12px 14px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce table.cart td.actions .coupon #coupon_code:focus {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.woocommerce table.cart td.actions .coupon button.button {
    height: 48px;
    padding: 0 28px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border-radius: var(--petsure-border-radius);
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce table.cart td.actions .coupon button.button:hover {
    background: var(--petsure-primary);
}

.woocommerce table.cart td.actions .button[name="update_cart"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: right;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    line-height: 1;
    height: 48px;
    padding: 0 28px;
    box-sizing: border-box;
    border-radius: var(--petsure-border-radius);
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
}

.woocommerce table.cart td.actions .button[name="update_cart"]:hover {
    background: var(--petsure-primary);
}

.woocommerce table.cart td.actions .button[name="update_cart"]:disabled {
    pointer-events: none;
    opacity: 0.6;
}

/*=============================================
=            Cart Totals Sidebar               =
=============================================*/

.woocommerce .cart-collaterals .cart_totals,
#order_review {
    float: none;
    width: 100%;
    background: var(--petsure-secondary);
    padding: 30px;
    border: none;
    border-radius: var(--petsure-border-radius-lg);
}

.cart-collaterals .cart_totals>h2 {
    font-size: 36px;
    font-weight: 700;
    color: var(--petsure-primary) !important;
    margin: 0 0 24px !important;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--petsure-primary);
    display: flex;
    align-items: center;
    gap: 10px;
}

.woocommerce .cart_totals table.shop_table {
    border: none;
    background: transparent;
    box-shadow: none;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
    background: transparent;
    padding: 12px 0;
}

.woocommerce .cart_totals table.shop_table th {
    color: var(--petsure-text);
    font-weight: 500;
    font-size: 15px;
}

.woocommerce .cart_totals table.shop_table td {
    text-align: right;
    color: var(--petsure-primary);
}

.woocommerce .cart_totals table.shop_table td .includes_tax,
.woocommerce-checkout-review-order table.shop_table tfoot tr.order-total td .includes_tax,
.petsure-cart-totals-card .petsure-total-grand-value .includes_tax {
    display: block;
}

.petsure-cart-totals-card .petsure-total-grand-value .includes_tax {
    color: var(--petsure-primary);
    font-size: 15px;
}

.woocommerce .cart_totals table.shop_table tr.shipping {
    border-bottom: 1px solid var(--petsure-divider);
}

.woocommerce .cart_totals table.shop_table tr.shipping td {
    padding-bottom: 16px;
}

.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
    font-size: 20px;
    font-weight: 700 !important;
    color: var(--petsure-primary);
    padding-top: 16px;
    border-top: 2px solid var(--petsure-primary);
}

.woocommerce .cart_totals .order-total td {
    color: var(--petsure-accent);
}

.woocommerce .cart_totals .wc-proceed-to-checkout {
    padding-top: 20px;
}

.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    height: 52px;
    padding: 0 28px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border-radius: var(--petsure-border-radius);
    transition: all 0.3s ease;
    box-sizing: border-box;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 0;
}

.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--petsure-primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Shipping calculator inside totals */
.woocommerce-shipping-calculator {
    margin-top: 16px;
}

.woocommerce-shipping-calculator .shipping-calculator-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    width: 100%;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--petsure-primary);
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 0 !important;
    box-sizing: border-box;
}

.woocommerce-shipping-calculator .shipping-calculator-button:hover {
    background: var(--petsure-secondary);
    border-color: var(--petsure-accent);
    color: var(--petsure-accent);
}

.woocommerce-shipping-calculator .shipping-calculator-button[aria-expanded="true"] {
    background: var(--petsure-secondary);
    border-color: var(--petsure-primary);
    color: var(--petsure-primary);
}

.woocommerce-shipping-calculator .shipping-calculator-button[aria-expanded="true"]:hover {
    background: var(--petsure-accent);
    border-color: var(--petsure-accent);
    color: var(--petsure-white);
}

/* Flecha decorativa en el botón */

.woocommerce-shipping-calculator .shipping-calculator-button::after {
    vertical-align: middle;
}

.woocommerce-shipping-calculator .shipping-calculator-form {
    margin-top: 16px;
}

.woocommerce-shipping-calculator .shipping-calculator-form input[type="text"],
.woocommerce-shipping-calculator .shipping-calculator-form select {
    width: 100%;
    padding: 14px 16px;
    font-size: 15px;
    font-family: inherit;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    background: var(--petsure-white);
    color: var(--petsure-primary);
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    box-sizing: border-box;
    line-height: 1.5;
}

.woocommerce-shipping-calculator .shipping-calculator-form select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%233A1916' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
    cursor: pointer;
}

.woocommerce-shipping-calculator .shipping-calculator-form input[type="text"]:focus,
.woocommerce-shipping-calculator .shipping-calculator-form select:focus {
    border-color: var(--petsure-accent);
}

.woocommerce-shipping-calculator .shipping-calculator-form button.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 28px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border: none;
    border-radius: var(--petsure-border-radius);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
    box-sizing: border-box;
    width: 100%;
    margin-top: 8px;
}

.woocommerce-shipping-calculator .shipping-calculator-form button.button:hover {
    background: var(--petsure-primary);
}

/* -------- Shipping Calculator Custom Select -------- */
.woocommerce-shipping-calculator .shipping-calculator-form .form-row {
    margin-bottom: 14px;
}

.woocommerce-shipping-calculator .shipping-calculator-form .form-row label {
    font-size: 14px;
    font-weight: 600;
    color: var(--petsure-primary);
    margin-bottom: 6px;
    display: block;
}

.woocommerce-shipping-calculator .shipping-calculator-form .form-row label .required {
    color: var(--petsure-accent);
    text-decoration: none;
}

/* Custom dropdown en shipping calculator — mismo padding/font-size que checkout */
.woocommerce-shipping-calculator .petsure-variation-current {
    padding: 14px 16px;
    font-size: 15px;
}

/* -------- Checkout Custom Selects -------- */
.woocommerce-checkout .form-row .petsure-variation-wrapper {
    width: 100%;
}

.woocommerce-checkout .form-row .petsure-variation-current {
    padding: 14px 16px;
    font-size: 15px;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    color: var(--petsure-primary);
    font-weight: 500;
    font-family: inherit;
    line-height: 1.5;
    cursor: pointer;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    text-align: left;
    box-shadow: none;
    width: 100%;
}

.woocommerce-checkout .form-row .petsure-variation-current:hover {
    border-color: var(--petsure-accent);
}

.woocommerce-checkout .form-row .petsure-variation-current:focus-visible {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.woocommerce-checkout .form-row .petsure-variation-wrapper.petsure-variation-open .petsure-variation-current {
    border-color: var(--petsure-accent);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.woocommerce-checkout .form-row .petsure-variation-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 50;
    min-width: 100%;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-accent);
    border-top: none;
    border-radius: 0 0 var(--petsure-border-radius) var(--petsure-border-radius);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-4px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
    overflow: hidden;
    max-height: 220px;
    overflow-y: auto;
}

.woocommerce-checkout .form-row .petsure-variation-wrapper.petsure-variation-open .petsure-variation-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.woocommerce-checkout .form-row .petsure-variation-option {
    padding: 12px 16px;
    font-size: 15px;
    font-weight: 500;
    color: var(--petsure-primary);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    line-height: 1.4;
}

.woocommerce-checkout .form-row .petsure-variation-option:hover,
.woocommerce-checkout .form-row .petsure-variation-option:focus-visible {
    background: rgba(var(--petsure-accent-rgb), 0.2);
    color: var(--petsure-accent);
}

.woocommerce-checkout .form-row .petsure-variation-option.selected {
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-weight: 600;
}

/* Ocultar selects nativos del checkout */
.woocommerce-checkout .form-row select:not(.petsure-variation-wrapper select) {
    display: none !important;
}

/* -------- WooCommerce Blocks Custom Selects -------- */
.wc-blocks-components-select__select {
    display: none !important;
}

.wc-blocks-components-select__container .petsure-variation-wrapper {
    width: 100%;
}

.wc-blocks-components-select__expand {
    display: none !important;
}

.woocommerce-shipping-calculator .petsure-variation-dropdown {
    min-width: 100%;
}

/* Cross-sells */
.woocommerce-cart .cross-sells {
    width: 100%;
    margin-top: 50px;
    padding-top: 40px;
    border-top: 1px solid var(--petsure-divider);
}

.woocommerce-cart .cross-sells>h2 {
    font-size: 28px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin-bottom: 24px;
}

/* -------- Cart Empty -------- */
.woocommerce-cart .cart-empty {
    text-align: center;
    padding: 60px 20px 20px;
    font-size: 22px;
    color: var(--petsure-primary);
    font-weight: 600;
}

.woocommerce-cart .return-to-shop {
    text-align: center;
    margin: auto;
}

.woocommerce-cart .return-to-shop .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    line-height: 1;
    height: 48px;
    padding: 0 28px;
    box-sizing: border-box;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border-radius: var(--petsure-border-radius);
    text-decoration: none;
    transition: all 0.3s ease;
}

.woocommerce-cart .return-to-shop .button:hover {
    background: var(--petsure-primary);
}

/*=============================================
=            Checkout Page Styles              =
=============================================*/

form.woocommerce-checkout #customer_details {
    width: calc(65% - 10px);
}

form.woocommerce-checkout .woocommerce-checkout-review-order {
    width: calc(35% - 10px);
}

/* -------- Checkout Form Headings -------- */
.woocommerce-checkout h3 {
    font-size: 24px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin-bottom: 20px;
}

#order_review_heading {
    font-size: 24px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin-bottom: 20px;
}

/* -------- Checkout Form Fields -------- */
.woocommerce-checkout .form-row {
    margin-bottom: 16px;
}

.woocommerce-checkout .form-row label {
    font-size: 14px;
    font-weight: 600;
    color: var(--petsure-primary);
    margin-bottom: 6px;
    display: block;
}

.woocommerce-checkout .form-row label .required {
    color: var(--petsure-accent);
    text-decoration: none;
}

.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="password"],
.woocommerce-checkout .form-row input[type="number"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 15px;
    font-family: inherit;
    color: var(--petsure-primary) !important;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider) !important;
    border-radius: var(--petsure-border-radius) !important;
    outline: none;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    line-height: 1.5;
}

.woocommerce-checkout .form-row input[type="text"]:focus,
.woocommerce-checkout .form-row input[type="tel"]:focus,
.woocommerce-checkout .form-row input[type="email"]:focus,
.woocommerce-checkout .form-row input[type="password"]:focus,
.woocommerce-checkout .form-row input[type="number"]:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
    border-color: var(--petsure-accent) !important;
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1) !important;
}

.woocommerce-checkout .form-row select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%233A1916' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 40px;
    cursor: pointer;
}

.woocommerce-checkout .form-row textarea,
.wc-block-components-textarea {
    min-height: 140px;
    resize: vertical;
}

/* -------- My Account Form Fields (same as checkout) -------- */
.woocommerce-MyAccount-content .form-row,
.woocommerce-address-fields .form-row {
    margin-bottom: 16px;
}

.woocommerce-MyAccount-content .form-row label,
.woocommerce-address-fields .form-row label {
    font-size: 14px;
    font-weight: 600;
    color: var(--petsure-primary);
    margin-bottom: 8px;
    display: block;
}

.woocommerce-MyAccount-content .form-row label .required,
.woocommerce-address-fields .form-row label .required {
    color: var(--petsure-accent);
    text-decoration: none;
}

.woocommerce-MyAccount-content .form-row input[type="text"],
.woocommerce-MyAccount-content .form-row input[type="tel"],
.woocommerce-MyAccount-content .form-row input[type="email"],
.woocommerce-MyAccount-content .form-row input[type="password"],
.woocommerce-MyAccount-content .form-row input[type="number"],
.woocommerce-MyAccount-content .form-row select,
.woocommerce-MyAccount-content .form-row textarea,
.woocommerce-address-fields .form-row input[type="text"],
.woocommerce-address-fields .form-row input[type="tel"],
.woocommerce-address-fields .form-row input[type="email"],
.woocommerce-address-fields .form-row input[type="password"],
.woocommerce-address-fields .form-row input[type="number"],
.woocommerce-address-fields .form-row select,
.woocommerce-address-fields .form-row textarea {
    width: 100% !important;
    padding: 14px 16px !important;
    font-size: 15px;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    background: var(--petsure-white);
    color: var(--petsure-text);
    line-height: 1.5;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-MyAccount-content .form-row input[type="text"]:focus,
.woocommerce-MyAccount-content .form-row input[type="tel"]:focus,
.woocommerce-MyAccount-content .form-row input[type="email"]:focus,
.woocommerce-MyAccount-content .form-row input[type="password"]:focus,
.woocommerce-MyAccount-content .form-row input[type="number"]:focus,
.woocommerce-MyAccount-content .form-row select:focus,
.woocommerce-MyAccount-content .form-row textarea:focus,
.woocommerce-address-fields .form-row input[type="text"]:focus,
.woocommerce-address-fields .form-row input[type="tel"]:focus,
.woocommerce-address-fields .form-row input[type="email"]:focus,
.woocommerce-address-fields .form-row input[type="password"]:focus,
.woocommerce-address-fields .form-row input[type="number"]:focus,
.woocommerce-address-fields .form-row select:focus,
.woocommerce-address-fields .form-row textarea:focus {
    border-color: var(--petsure-accent) !important;
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1) !important;
    outline: none;
}

.woocommerce-MyAccount-content .form-row select,
.woocommerce-address-fields .form-row select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
    cursor: pointer;
}

/* -------- My Account Custom Selects -------- */
.woocommerce-MyAccount-content .form-row .petsure-variation-wrapper,
.woocommerce-address-fields .form-row .petsure-variation-wrapper {
    width: 100%;
}

.woocommerce-MyAccount-content .form-row .petsure-variation-current,
.woocommerce-address-fields .form-row .petsure-variation-current {
    padding: 14px 16px;
    font-size: 15px;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    color: var(--petsure-text);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-MyAccount-content .form-row .petsure-variation-current:hover,
.woocommerce-address-fields .form-row .petsure-variation-current:hover {
    border-color: var(--petsure-accent);
}

.woocommerce-MyAccount-content .form-row .petsure-variation-current:focus-visible,
.woocommerce-address-fields .form-row .petsure-variation-current:focus-visible {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.woocommerce-MyAccount-content .form-row .petsure-variation-wrapper.petsure-variation-open .petsure-variation-current,
.woocommerce-address-fields .form-row .petsure-variation-wrapper.petsure-variation-open .petsure-variation-current {
    border-color: var(--petsure-accent);
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.woocommerce-MyAccount-content .form-row .petsure-variation-dropdown,
.woocommerce-address-fields .form-row .petsure-variation-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-accent);
    border-top: none;
    border-bottom-left-radius: var(--petsure-border-radius);
    border-bottom-right-radius: var(--petsure-border-radius);
    max-height: 250px;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 100;
}

.woocommerce-MyAccount-content .form-row .petsure-variation-wrapper.petsure-variation-open .petsure-variation-dropdown,
.woocommerce-address-fields .form-row .petsure-variation-wrapper.petsure-variation-open .petsure-variation-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.woocommerce-MyAccount-content .form-row .petsure-variation-option,
.woocommerce-address-fields .form-row .petsure-variation-option {
    padding: 12px 16px;
    font-size: 15px;
    font-weight: 500;
    color: var(--petsure-text);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
    line-height: 1.4;
}

.woocommerce-MyAccount-content .form-row .petsure-variation-option:hover,
.woocommerce-MyAccount-content .form-row .petsure-variation-option:focus-visible,
.woocommerce-address-fields .form-row .petsure-variation-option:hover,
.woocommerce-address-fields .form-row .petsure-variation-option:focus-visible {
    background: rgba(var(--petsure-accent-rgb), 0.2);
    color: var(--petsure-accent);
}

.woocommerce-MyAccount-content .form-row .petsure-variation-option.selected,
.woocommerce-address-fields .form-row .petsure-variation-option.selected {
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-weight: 600;
}

/* Ocultar selects nativos de my account */
.woocommerce-MyAccount-content .form-row select:not(.petsure-variation-wrapper select),
.woocommerce-address-fields .form-row select:not(.petsure-variation-wrapper select) {
    display: none !important;
}

/* Ocultar Select2 en my account */
.woocommerce-MyAccount-content .select2-container,
.woocommerce-address-fields .select2-container {
    display: none !important;
}

/* -------- Checkout Checkbox / Radio Styles -------- */
.woocommerce-checkout .form-row input[type="checkbox"],
.woocommerce-checkout .form-row input[type="radio"] {
    accent-color: var(--petsure-accent);
    margin-right: 6px;
}

.woocommerce-checkout .form-row.create-account {
    margin-top: 10px;
}

/* -------- Checkout Shipping Section -------- */
#ship-to-different-address {
    font-size: 18px;
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--petsure-divider);
}

#ship-to-different-address label {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* -------- Checkout Review Order Table -------- */
.woocommerce-checkout-review-order table.shop_table {
    border: none;
    border-radius: var(--petsure-border-radius);
    overflow: hidden;
    margin-bottom: 20px;
    background: var(--petsure-white);
}

.woocommerce-checkout-review-order table.shop_table thead th {
    width: 50%;
}

.woocommerce-checkout-review-order table.shop_table thead th:last-child,
.woocommerce-checkout-review-order table.shop_table tbody td:last-child {
    text-align: right;
}

.woocommerce-checkout-review-order table.shop_table tbody td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--petsure-divider);
    font-size: 15px;
    color: var(--petsure-text);
}

.woocommerce-checkout-review-order table.shop_table tbody td.product-name {
    color: var(--petsure-primary);
    font-weight: 500;
}

.woocommerce-checkout-review-order table.shop_table tbody td.product-name .product-quantity {
    color: var(--petsure-text);
    font-weight: 400;
}

.woocommerce-checkout-review-order table.shop_table tfoot th {
    font-size: 14px;
    font-weight: 500;
    color: var(--petsure-text);
    padding: 12px 16px;
    border: none;
    background: transparent;
}

.woocommerce-checkout-review-order table.shop_table tfoot td {
    padding: 12px 16px;
    font-size: 15px;
    color: var(--petsure-primary);
    font-weight: 600;
    border: none;
    text-align: right;
}

.woocommerce-checkout-review-order table.shop_table tfoot tr.order-total th,
.woocommerce-checkout-review-order table.shop_table tfoot tr.order-total td {
    font-size: 20px;
    font-weight: 700;
    color: var(--petsure-primary);
    padding-top: 16px;
    border-top: 2px solid var(--petsure-primary);
}

.woocommerce-checkout-review-order table.shop_table tfoot tr.order-total td {
    color: var(--petsure-accent);
}

.woocommerce-checkout-review-order table.shop_table tfoot tr.cart-subtotal td,
.woocommerce-checkout-review-order table.shop_table tfoot tr.cart-discount td {
    color: var(--petsure-primary);
}

.woocommerce-checkout-review-order table.shop_table tfoot tr.cart-discount td {
    color: var(--petsure-accent);
}

/* -------- Checkout Shipping in Review -------- */
.woocommerce-checkout-review-order .woocommerce-shipping-totals td {
    color: var(--petsure-primary);
}

.woocommerce-checkout-review-order .woocommerce-shipping-totals .amount {
    font-weight: 600;
}

/* -------- Checkout Payment Section -------- */
.woocommerce-checkout-payment {
    background: var(--petsure-white);
    border-radius: var(--petsure-border-radius);
    padding: 0;
    overflow: hidden;
}

.woocommerce-checkout-payment .wc_payment_methods {
    list-style: none;
    padding: 0;
    margin: 0;
    border-bottom: 1px solid var(--petsure-divider);
}

.woocommerce-checkout-payment .wc_payment_methods li {
    padding: 16px 20px;
    border-bottom: 1px solid var(--petsure-divider);
    margin: 0;
    transition: background 0.2s ease;
}

.woocommerce-checkout-payment .wc_payment_methods li:last-child {
    border-bottom: none;
}

.woocommerce-checkout-payment .wc_payment_methods li input[type="radio"] {
    accent-color: var(--petsure-accent);
    margin-right: 10px;
    vertical-align: middle;
}

.woocommerce-checkout-payment .wc_payment_methods li label {
    font-size: 15px;
    font-weight: 600;
    color: var(--petsure-primary);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.woocommerce-checkout-payment .payment_box {
    margin-top: 12px !important;
    padding: 16px 20px !important;
    background: var(--petsure-primary) !important;
    color: var(--petsure-secondary) !important;
    border-radius: var(--petsure-border-radius) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}

.woocommerce-checkout-payment .payment_box p:first-child {
    margin-top: 0;
}

.woocommerce-checkout-payment .payment_box p:last-child {
    margin-bottom: 0;
}

#add_payment_method #payment ul.payment_methods,
.woocommerce-cart #payment ul.payment_methods,
.woocommerce-checkout #payment ul.payment_methods {
    padding: 0;
}

/* -------- Payment Method Background Override -------- */
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: var(--petsure-white);
    border-radius: var(--petsure-border-radius);
}

/* Payment box ::before arrow */
#add_payment_method #payment div.payment_box::before,
.woocommerce-cart #payment div.payment_box::before,
.woocommerce-checkout #payment div.payment_box::before {
    content: "";
    display: block;
    border: 1em solid var(--petsure-primary);
    border-right-color: transparent;
    border-left-color: transparent;
    border-top-color: transparent;
    position: absolute;
    top: -0.75em;
    left: 0;
    margin: -1em 0 0 2em;
}

/* -------- Checkout Place Order Button -------- */
.woocommerce-checkout-payment .form-row.place-order {
    padding: 24px 20px;
    margin: 0;
}

.woocommerce #payment #place_order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    height: 48px;
    padding: 0 28px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border: none;
    border-radius: var(--petsure-border-radius);
    cursor: pointer;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.woocommerce #payment #place_order:hover {
    background: var(--petsure-primary);
}

/* -------- Checkout Coupon Form -------- */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 20px;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .petsure-notice-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--petsure-secondary);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    padding: 16px 20px;
    color: var(--petsure-primary);
    font-size: 15px;
    line-height: 1.5;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .petsure-notice-card__icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-size: 14px;
    flex-shrink: 0;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .petsure-notice-card__content {
    flex: 1;
    min-width: 0;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .petsure-notice-card__content a.showcoupon {
    color: var(--petsure-accent);
    font-weight: 600;
    text-decoration: underline;
    transition: color 0.3s ease;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle .petsure-notice-card__content a.showcoupon:hover {
    color: var(--petsure-primary);
}

.woocommerce-checkout form.checkout_coupon {
    background: var(--petsure-secondary);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 24px;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
}

.woocommerce-checkout form.checkout_coupon .form-row {
    margin-bottom: 0;
}

.woocommerce-checkout form.checkout_coupon .form-row input.input-text {
    padding: 14px 16px;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    background: var(--petsure-white);
}

.woocommerce-checkout form.checkout_coupon .form-row button.button {
    height: 48px;
    padding: 0 28px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border: none;
    border-radius: var(--petsure-border-radius);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease;
    box-sizing: border-box;
}

.woocommerce-checkout form.checkout_coupon .form-row button.button:hover {
    background: var(--petsure-primary);
}

/* -------- Checkout Login Form -------- */
.woocommerce-checkout form.login {
    background: var(--petsure-secondary);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 24px;
    margin-bottom: 30px;
}

.woocommerce-checkout form.login .form-row input.input-text {
    padding: 14px 16px;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    background: var(--petsure-white);
}

.woocommerce-checkout form.login .form-row button.button {
    height: 48px;
    padding: 0 28px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border: none;
    border-radius: var(--petsure-border-radius);
    font-weight: 600;
    cursor: pointer;
    box-sizing: border-box;
}

.woocommerce-checkout form.login .form-row button.button:hover {
    background: var(--petsure-primary);
}

.woocommerce-checkout form.login .form-row .remember_me {
    display: flex;
    align-items: center;
    gap: 6px;
}

.woocommerce-checkout form.login .lost_password a {
    color: var(--petsure-accent);
    font-size: 14px;
}

.woocommerce-checkout form.login .lost_password a:hover {
    color: var(--petsure-primary);
}

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    padding: 30px;
    border-radius: var(--petsure-border-radius-lg);
    background: var(--petsure-secondary);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
    border-bottom: 1px solid var(--petsure-divider);
    padding: 10px 0;
    list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    color: var(--petsure-text);
    display: flex;
    flex-direction: row;
    gap: 10px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
    color: var(--petsure-primary);
}

/* My Account Form Styling */
.woocommerce-MyAccount-content .woocommerce-form-row,
.woocommerce-MyAccount-content .form-row {
    margin-bottom: 20px;
}

.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    background: var(--petsure-white);
    color: var(--petsure-text);
    font-size: 15px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-MyAccount-content input[type="text"]:focus,
.woocommerce-MyAccount-content input[type="email"]:focus,
.woocommerce-MyAccount-content input[type="password"]:focus,
.woocommerce-MyAccount-content input[type="tel"]:focus,
.woocommerce-MyAccount-content select:focus {
    outline: none;
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.woocommerce-MyAccount-content label {
    display: block;
    margin-bottom: 8px;
    font-weight: 500;
    color: var(--petsure-primary);
    font-size: 14px;
}

.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content .button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 48px;
    padding: 0 28px !important;
    background: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
    border-radius: var(--petsure-border-radius) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease;
    border: none !important;
    cursor: pointer !important;
    box-sizing: border-box;
}

.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content .button:hover {
    background: var(--petsure-primary) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.woocommerce-MyAccount-content .woocommerce-Button {
    background: var(--petsure-primary);
    color: var(--petsure-white);
    border: none;
    padding: 14px 32px;
    border-radius: var(--petsure-border-radius);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease;
}

.woocommerce-MyAccount-content .woocommerce-Button:hover {
    background: var(--petsure-accent);
    transform: translateY(-2px);
}

/* My Account Dashboard */
.petsure-dashboard-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--petsure-divider);
}

.petsure-dashboard-title {
    font-size: 36px;
    font-weight: 600;
    color: var(--petsure-primary) !important;
    margin: 0 !important;
}

.petsure-dashboard-logout {
    font-size: 14px;
    color: var(--petsure-accent);
    text-decoration: none;
    margin-left: 10px;
    transition: color 0.3s ease;
}

.petsure-dashboard-logout:hover {
    color: var(--petsure-primary);
}

.petsure-dashboard-content {
    background: var(--petsure-white);
    border-radius: var(--petsure-border-radius-lg);
    padding: 30px;
    border: 1px solid var(--petsure-divider);
}

.petsure-dashboard-greeting {
    font-size: 15px;
    color: var(--petsure-text);
    line-height: 1.6;
}

/*=============================================
=            My Account Navigation             =
=============================================*/

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav ul {
    padding: 0;
    margin: 0;
    background: none;
    border-radius: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav ul li {
    border-bottom: 1px solid var(--petsure-divider);
    padding: 0;
    margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav ul li:last-child {
    border-bottom: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav ul li a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    color: var(--petsure-text);
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.25s ease;
    position: relative;
}

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav ul li a:hover {
    background: rgba(var(--petsure-accent-rgb), 0.06);
    color: var(--petsure-accent);
}

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav ul li.is-active a {
    color: var(--petsure-primary);
    font-weight: 600;
    background: rgba(var(--petsure-accent-rgb), 0.04);
}

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav ul li.is-active a::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 24px;
    background: var(--petsure-accent);
    border-radius: 0 2px 2px 0;
}

.petsure-account-nav-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 20px;
    border-bottom: 1px solid var(--petsure-divider);
}

.petsure-account-nav-icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--petsure-accent);
    border-radius: 50%;
    color: var(--petsure-white);
    font-size: 16px;
}

.petsure-account-nav-user {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.petsure-account-nav-name {
    font-size: 15px;
    font-weight: 600;
    color: var(--petsure-primary);
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.petsure-account-nav-status {
    font-size: 12px;
    color: var(--petsure-success);
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 4px;
    line-height: 1;
}

.petsure-account-nav-status::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--petsure-success);
    border-radius: 50%;
    display: inline-block;
}

.petsure-nav-icon-wrapper {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--petsure-accent-rgb), 0.08);
    border-radius: var(--petsure-border-radius);
    font-size: 14px;
    color: var(--petsure-accent);
    transition: all 0.25s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav ul li a:hover .petsure-nav-icon-wrapper {
    background: var(--petsure-accent);
    color: var(--petsure-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation.petsure-account-nav ul li.is-active .petsure-nav-icon-wrapper {
    background: var(--petsure-accent);
    color: var(--petsure-white);
}

.petsure-nav-label {
    flex: 1;
    min-width: 0;
}

/*=============================================
=            Auth Cards (Login / Register)     =
=============================================*/

.petsure-auth-card {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 32px;
    margin-bottom: 24px;
    max-width: 480px;
}

.petsure-auth-card--narrow {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
}

.petsure-auth-card-header {
    text-align: center;
    margin-bottom: 28px;
}

.petsure-auth-card-header h2 {
    font-size: 24px;
    font-weight: 700;
    color: var(--petsure-primary) !important;
    margin: 0 0 8px 0 !important;
}

.petsure-auth-card-header p {
    font-size: 14px;
    color: var(--petsure-text);
    margin: 0;
    line-height: 1.5;
}

.petsure-auth-icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--petsure-accent);
    border-radius: 50%;
    color: var(--petsure-white);
    font-size: 22px;
}

.petsure-auth-icon--register {
    background: var(--petsure-primary);
}

.petsure-auth-icon--success {
    background: var(--petsure-success);
}

.petsure-auth-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.petsure-auth-actions .woocommerce-form-login__submit {
    height: 44px;
    padding: 0 24px;
}

.petsure-auth-actions label {
    font-size: 14px;
    font-weight: 500;
    color: var(--petsure-text);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    margin: 0;
}

.petsure-auth-actions label input[type="checkbox"] {
    accent-color: var(--petsure-accent);
}

.petsure-auth-note {
    font-size: 14px;
    color: var(--petsure-text);
    font-style: italic;
    margin-bottom: 20px;
}

.petsure-auth-back-link {
    text-align: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--petsure-divider);
}

.petsure-auth-back-link a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--petsure-accent);
    transition: color 0.3s ease;
}

.petsure-auth-back-link a:hover {
    color: var(--petsure-primary);
}

.petsure-auth-success-message {
    text-align: center;
    padding: 20px 0;
}

.petsure-auth-success-message p {
    font-size: 15px;
    color: var(--petsure-text);
    line-height: 1.6;
    margin: 0;
}

/* Login/Register side-by-side layout */
#customer_login.col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

#customer_login .col-1,
#customer_login .col-2 {
    width: 100% !important;
    float: none !important;
    padding: 0;
}

#customer_login .petsure-auth-card {
    max-width: 100%;
    height: 100%;
    margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
    #customer_login.col2-set {
        grid-template-columns: 1fr;
    }

    .petsure-auth-card {
        padding: 24px 20px;
    }
}

/*=============================================
=            Edit Account Sections             =
=============================================*/

.woocommerce-MyAccount-content .petsure-account-section {
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 28px;
    margin-bottom: 24px;
}

.woocommerce-MyAccount-content .petsure-account-section:last-child {
    margin-bottom: 0;
}

.woocommerce-MyAccount-content .petsure-account-section .woocommerce-address-fields__field-wrapper .form-row-first,
.woocommerce-MyAccount-content .petsure-account-section .woocommerce-address-fields__field-wrapper .form-row-last {
    float: none;
    width: 50%;
    display: inline-block;
}

.woocommerce-MyAccount-content .petsure-section-title {
    font-size: 20px !important;
    font-weight: 700;
    color: var(--petsure-primary) !important;
    margin: 0 0 20px 0 !important;
    padding-bottom: 16px !important;
    border-bottom: 1px solid var(--petsure-divider);
    display: flex;
    align-items: center;
    gap: 10px;
}

.woocommerce-MyAccount-content .petsure-section-description {
    font-size: 14px;
    color: var(--petsure-text);
    margin: -12px 0 20px 0;
    line-height: 1.5;
}

.woocommerce-MyAccount-content .petsure-form-row-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.woocommerce-MyAccount-content .petsure-form-row-group .form-row {
    margin-bottom: 0;
    width: 100%;
}

@media only screen and (max-width: 767px) {
    .woocommerce-MyAccount-content .petsure-form-row-group {
        grid-template-columns: 1fr;
    }
}

.woocommerce-MyAccount-content .petsure-field-hint {
    display: block;
    font-size: 13px;
    color: var(--petsure-text);
    margin-top: 6px;
    line-height: 1.4;
}

.woocommerce-MyAccount-content .petsure-form-actions {
    padding-top: 24px;
    margin-top: 24px;
    border-top: 1px solid var(--petsure-divider);
}

.woocommerce-MyAccount-content .petsure-form-actions button[type="submit"] {
    min-width: 200px;
}

/*=============================================
=            Orders Status Badges              =
=============================================*/

.woocommerce-account .petsure-orders-header {
    margin-bottom: 24px;
}

.woocommerce-account .petsure-orders-header .petsure-section-title {
    font-size: 24px !important;
    margin: 0 0 6px 0 !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.woocommerce-account .petsure-orders-header .petsure-section-description {
    font-size: 14px;
    color: var(--petsure-text);
    margin: 0;
}

.petsure-order-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 20px;
    line-height: 1.5;
    white-space: nowrap;
}

.petsure-order-status-badge::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: inline-block;
}

.petsure-status--success {
    background: rgba(46, 204, 113, 0.1);
    color: #27ae60;
}

.petsure-status--success::before {
    background: #27ae60;
}

.petsure-status--info {
    background: rgba(52, 152, 219, 0.1);
    color: #2980b9;
}

.petsure-status--info::before {
    background: #2980b9;
}

.petsure-status--warning {
    background: rgba(241, 196, 15, 0.12);
    color: #d4a017;
}

.petsure-status--warning::before {
    background: #d4a017;
}

.petsure-status--pending {
    background: rgba(230, 126, 34, 0.1);
    color: #d35400;
}

.petsure-status--pending::before {
    background: #d35400;
}

.petsure-status--error {
    background: rgba(231, 76, 60, 0.1);
    color: #c0392b;
}

.petsure-status--error::before {
    background: #c0392b;
}

.petsure-status--muted {
    background: rgba(149, 165, 166, 0.12);
    color: #7f8c8d;
}

.petsure-status--muted::before {
    background: #7f8c8d;
}

.petsure-order-number-link {
    font-weight: 600;
    color: var(--petsure-primary);
    transition: color 0.3s ease;
}

.petsure-order-number-link:hover {
    color: var(--petsure-accent);
}

.petsure-order-total {
    font-size: 14px;
    color: var(--petsure-primary);
    line-height: 1.5;
}

.petsure-orders-pagination {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 24px;
}

.petsure-orders-pagination .button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    height: 44px !important;
    padding: 0 24px !important;
    background: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
    border: none !important;
    border-radius: var(--petsure-border-radius) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

.petsure-orders-pagination .button:hover {
    background: var(--petsure-primary) !important;
}

/*=============================================
=            Downloads Header                  =
=============================================*/

.woocommerce-account .petsure-downloads-header {
    margin-bottom: 24px;
}

.woocommerce-account .petsure-downloads-header .petsure-section-title {
    font-size: 24px !important;
    margin: 0 0 6px 0 !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.woocommerce-account .petsure-downloads-header .petsure-section-description {
    font-size: 14px;
    color: var(--petsure-text);
    margin: 0;
}

/*=============================================
=            Payment Methods                   =
=============================================*/

.woocommerce-account .petsure-payment-methods-header {
    margin-bottom: 24px;
}

.woocommerce-account .petsure-payment-methods-header .petsure-section-title {
    font-size: 24px !important;
    margin: 0 !important;
    border-bottom: none !important;
    padding-bottom: 0 !important;
}

.petsure-payment-method-brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: var(--petsure-primary);
    font-size: 14px;
}

.petsure-payment-method-brand i {
    color: var(--petsure-accent);
    font-size: 16px;
}

.petsure-payment-default-badge {
    display: inline-flex;
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    padding: 2px 8px;
    background: var(--petsure-success);
    color: var(--petsure-white);
    border-radius: 4px;
    vertical-align: middle;
}

.petsure-payment-expires {
    font-size: 14px;
    color: var(--petsure-text);
}

.petsure-payment-methods-footer {
    margin-top: 20px;
}

.petsure-payment-methods-footer .button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    height: 44px !important;
    padding: 0 24px !important;
    background: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
    border: none !important;
    border-radius: var(--petsure-border-radius) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
}

.petsure-payment-methods-footer .button:hover {
    background: var(--petsure-primary) !important;
}

/*=============================================
=            Order Received / Thankyou         =
=============================================*/

.woocommerce-order {
    padding: 40px;
}

/* -------- Order Overview List -------- */
.woocommerce-order-overview {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0;
    list-style: none;
    padding: 0 !important;
    background: var(--petsure-white);
    border-radius: var(--petsure-border-radius);
    overflow: hidden;
    border: 1px solid var(--petsure-divider);
}

.woocommerce-order-overview:before,
.woocommerce-order-overview:after,
.woocommerce-order-overview li::before,
.woocommerce-order-overview li::after,
.petsure-customer-section .woocommerce-customer-details .woocommerce-columns::before,
.petsure-customer-section .woocommerce-customer-details .woocommerce-columns::after {
    display: none !important;
}

.woocommerce-order-overview li {
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    line-height: 1.5 !important;
    flex: 1 1 0;
    min-width: 120px;
    min-height: 90px;
    text-align: center;
    padding: 20px 10px !important;
    margin: -1px !important;
    border: 1px solid var(--petsure-divider) !important;
}

.woocommerce-order-overview li strong {
    display: block;
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* -------- Order Details Section -------- */
.woocommerce-order-details {
    margin-top: 30px;
}

.woocommerce-order-details__title {
    font-size: 24px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin-bottom: 20px;
}

.woocommerce-order-details table.shop_table {
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    overflow: hidden;
    background: var(--petsure-white);
    margin-bottom: 30px;
}

.woocommerce-order-details table.shop_table thead th {
    background: var(--petsure-primary);
    color: var(--petsure-white);
    font-size: 14px;
    font-weight: 600;
    padding: 14px 20px;
    border: none;
}

.woocommerce-order-details table.shop_table thead th.product-total {
    text-align: right;
}

.woocommerce-order-details table.shop_table tbody td,
.woocommerce-order-details table.shop_table tfoot td,
.woocommerce-order-details table.shop_table tfoot th {
    padding: 16px 20px;
    border-bottom: 1px solid var(--petsure-divider) !important;
    color: var(--petsure-text);
    font-size: 15px;
}

.woocommerce-order-details table.shop_table tbody td.product-name {
    color: var(--petsure-primary);
    font-weight: 500;
}

.woocommerce-order-details table.shop_table tbody td.product-name a {
    color: var(--petsure-primary);
    font-weight: 600;
    transition: color 0.3s ease;
}

.woocommerce-order-details table.shop_table tbody td.product-name a:hover {
    color: var(--petsure-accent);
}

.woocommerce-order-details table.shop_table tbody td.product-name .product-quantity {
    color: var(--petsure-text);
    font-weight: 400;
}

.woocommerce-order-details table.shop_table tbody td.product-total {
    color: var(--petsure-primary);
    font-weight: 600;
    text-align: right;
}

.woocommerce-order-details table.shop_table tfoot th {
    font-size: 14px;
    font-weight: 500;
    color: var(--petsure-text);
    padding: 12px 20px;
    border: none;
    background: transparent;
}

.woocommerce-order-details table.shop_table tfoot td {
    padding: 12px 20px;
    text-align: right;
    color: var(--petsure-primary);
    font-weight: 600;
    font-size: 15px;
    border: none;
}

.woocommerce-order-details table.shop_table tfoot tr:last-child th,
.woocommerce-order-details table.shop_table tfoot tr:last-child td {
    font-size: 20px;
    font-weight: 700;
    color: var(--petsure-primary);
    padding-top: 16px;
    border-bottom: none !important;
}

.woocommerce-order-details table.shop_table tfoot tr:last-child td {
    color: var(--petsure-accent);
}

/* -------- Customer Details -------- */
.woocommerce-customer-details {
    margin-top: 30px;
}

.woocommerce-customer-details:last-child,
.woocommerce-order-details:last-child {
    margin-bottom: 0;
}

.woocommerce-customer-details h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin-bottom: 16px;
}

.woocommerce-customer-details address {
    font-style: normal;
    font-size: 15px;
    line-height: 1.7;
    color: var(--petsure-text);
    padding: 0;
    border: none;
}

.woocommerce-customer-details address p {
    margin-bottom: 8px;
}

.woocommerce-customer-details .woocommerce-customer-details--phone,
.woocommerce-customer-details .woocommerce-customer-details--email {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--petsure-divider);
}

/* -------- Failed Order -------- */
.woocommerce-thankyou-order-failed {
    font-size: 18px;
    font-weight: 600;
    color: var(--petsure-accent);
    padding: 20px 24px;
    background: var(--petsure-white);
    border-left: 4px solid var(--petsure-accent);
    border-radius: var(--petsure-border-radius);
    margin-bottom: 20px;
}

.woocommerce-thankyou-order-failed-actions {
    display: flex;
    gap: 12px;
}

.woocommerce-thankyou-order-failed-actions .button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 28px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border-radius: var(--petsure-border-radius);
    font-weight: 600;
    line-height: 1;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.woocommerce-thankyou-order-failed-actions .button:hover {
    background: var(--petsure-primary);
}

/* Buttons Global */
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    height: 48px;
    padding: 0 28px;
    border-radius: var(--petsure-border-radius);
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover,
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover {
    background: var(--petsure-primary);
    color: var(--petsure-white);
}

/*=============================================
=            WooCommerce Blocks                =
=            (Checkout, Cart, Order Confirm)   =
=============================================*/

/* -------- Block Checkout -------- */
.wc-block-checkout,
.wp-block-woocommerce-checkout {
    font-family: var(--petsure-font-text);
    color: var(--petsure-text);
}

.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout .wc-block-components-combobox input,
.wc-block-checkout .wc-block-components-select input {
    border-radius: var(--petsure-border-radius);
    border-color: var(--petsure-divider);
    color: var(--petsure-primary);
    font-family: inherit;
}

.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus,
.wc-block-components-address-form .wc-blocks-components-select__container .petsure-variation-current:focus,
.wc-block-components-textarea:focus {
    border-color: var(--petsure-accent) !important;
    box-shadow: 0 0 0 2px rgba(var(--petsure-accent-rgb), 0.15) !important;
}

.wc-block-checkout .wc-block-components-title {
    color: var(--petsure-primary);
    font-weight: 700;
}

.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content,
.wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-totals-block {
    border: none !important;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 0;
}

.wc-block-components-totals-wrapper:empty,
.wc-block-components-totals-wrapper:has(>:only-child:empty),
.wc-block-components-totals-item__description:empty,
.wc-block-components-totals-item__description:has(>:only-child:empty),
.petsure-custom-cart .wc-empty-cart-message,
.petsure-classic-cart .wc-empty-cart-message {
    display: none;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title p {
    margin: 0 !important;
}

.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
    margin: 0 !important;
}

.wc-block-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper:not(:empty) {
    background: var(--petsure-secondary);
    border-radius: var(--petsure-border-radius-lg);
    padding: 30px;
    border: none;
    font-size: 15px;
}

.wc-block-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper h2,
.wc-block-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper .wc-block-components-title {
    font-size: 24px;
    font-weight: 700;
}

.wc-block-checkout .wc-block-components-panel {
    border-radius: var(--petsure-border-radius);
    border-color: var(--petsure-divider);
}

.wc-block-checkout .wc-block-components-panel__button {
    color: var(--petsure-primary);
    font-weight: 600;
}

.wc-block-checkout .wc-block-components-button:not(.is-outlined) {
    background: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
    border-radius: var(--petsure-border-radius);
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    padding: 0 20px !important;
    height: 48px;

}

.wc-block-checkout .wc-block-components-button:not(.is-outlined):hover {
    background: var(--petsure-primary) !important;
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-address-card {
    box-shadow: none !important;
    border: 1px solid var(--petsure-primary) !important;
    box-shadow: 0 0 0 2px rgba(var(--petsure-accent-rgb), 0.15) !important;
}

.wc-block-checkout__billing-fields .wc-block-components-address-form,
.wc-block-checkout__shipping-fields .wc-block-components-address-form {
    gap: 12px !important;
}

.wc-block-checkout .wc-block-components-button.is-outlined {
    color: var(--petsure-accent);
    border-color: var(--petsure-accent);
    border-radius: var(--petsure-border-radius);
}

.wc-block-checkout .wc-block-components-button.is-outlined:hover {
    background: var(--petsure-accent);
    color: var(--petsure-white);
}

.wc-block-checkout .wc-block-components-radio-control__label {
    color: var(--petsure-primary);
    font-weight: 600;
}

.wc-block-checkout .wc-block-components-radio-control__input {
    outline: none !important;
}

.wc-block-checkout .wc-block-components-radio-control__input:checked {
    background: var(--petsure-accent) !important;
    border-color: var(--petsure-accent) !important;
}

.wc-block-components-radio-control .wc-block-components-radio-control__input:checked:before {
    background: var(--petsure-white) !important;
}

/* -------- Block Checkout Checkbox -------- */
.wc-block-checkout .wc-block-components-checkbox__input {
    outline: none !important;
    box-shadow: none !important;
    accent-color: var(--petsure-accent);
}

.wc-block-checkout .wc-block-components-checkbox__input:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(var(--petsure-accent-rgb), 0.15) !important;
}

.wc-block-checkout .wc-block-components-checkbox__label {
    color: var(--petsure-primary);
    font-size: 15px;
    font-weight: 500;
}

.wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__total {
    color: var(--petsure-primary);
    font-weight: 700;
}

.wc-block-checkout .wc-block-components-order-summary__button-text {
    color: var(--petsure-accent);
}

.wc-block-checkout .wc-block-components-label {
    color: var(--petsure-primary);
}

.wc-block-checkout .wc-block-components-product-name {
    color: var(--petsure-primary);
    font-weight: 600;
}

.wc-block-checkout .wc-block-components-totals-item__label {
    color: var(--petsure-text);
}

.wc-block-checkout .wc-block-components-totals-item__value {
    color: var(--petsure-primary);
    font-weight: 600;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--petsure-primary);
    font-weight: 700;
    font-size: 20px;
}

.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--petsure-accent);
}

/* -------- Block Cart -------- */
.wc-block-cart,
.wp-block-woocommerce-cart {
    font-family: var(--petsure-font-text);
    color: var(--petsure-text);
}

.wc-block-cart .wc-block-components-title {
    color: var(--petsure-primary);
    font-weight: 700;
}

.wp-block-woocommerce-cart-order-summary-block .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper {
    margin-bottom: 16px !important;
}

/* --- Cart Order Summary (sidebar totals) --- */
.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper {
    background: var(--petsure-background);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 30px;
    margin-bottom: 0;
}

.wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper:last-child,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper:last-child {
    background: var(--petsure-secondary);
    border-color: transparent;
}

.wc-block-cart .wc-block-cart__totals-title,
.wp-block-woocommerce-cart-order-summary-heading-block {
    font-size: 22px;
    font-weight: 700;
    color: var(--petsure-primary);
    padding-bottom: 16px;
    margin-bottom: 16px;
    border-bottom: 1px solid var(--petsure-divider);
}

.wc-block-cart .wc-block-components-totals-item,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item {
    padding: 10px 0;
}

.wc-block-cart .wc-block-components-totals-item:not(:last-of-type),
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item:not(:last-of-type) {
    border-bottom: 1px solid var(--petsure-divider);
}

.wc-block-cart .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__label {
    color: var(--petsure-text);
    font-size: 15px;
    font-weight: 500;
}

.wc-block-cart .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item__value {
    color: var(--petsure-primary);
    font-weight: 600;
    font-size: 15px;
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--petsure-primary);
    font-weight: 700;
    font-size: 20px;
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    color: var(--petsure-accent);
}

.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__description,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
    font-size: 13px;
    color: var(--petsure-text);
}

/* --- Cart Order Summary: Panel (coupon toggle) --- */
.wc-block-cart .wc-block-components-sidebar .wc-block-components-panel,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel {
    padding: 0;
    border: none;
    border-radius: var(--petsure-border-radius);
}

.wc-block-cart .wc-block-components-panel__button,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel__button {
    font-size: 14px;
    font-weight: 600;
    color: var(--petsure-accent);
    padding: 8px 0;
    transition: color 0.3s ease;
}

.wc-block-cart .wc-block-components-panel__button:hover,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel__button:hover {
    color: var(--petsure-primary);
}

.wc-block-cart .wc-block-components-panel .wc-block-components-panel__button-icon,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel .wc-block-components-panel__button-icon {
    fill: var(--petsure-accent);
    transition: transform 0.3s ease;
}

.wc-block-cart .wc-block-components-panel[aria-expanded="true"] .wc-block-components-panel__button-icon,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel[aria-expanded="true"] .wc-block-components-panel__button-icon {
    transform: rotate(180deg);
}

/* --- Cart Coupon --- */
.wc-block-cart .wc-block-cart__coupon-form,
.wc-block-cart .wc-block-components-totals-coupon__form,
.wc-block-components-totals-coupon__form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.wc-block-cart .wc-block-cart__coupon-form .wc-block-components-text-input input,
.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__form .wc-block-components-text-input input,
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1px solid var(--petsure-divider) !important;
    border-radius: var(--petsure-border-radius) !important;
    font-size: 14px !important;
    background: var(--petsure-white) !important;
    color: var(--petsure-primary);
    transition: border-color 0.3s ease;
    outline: none;
    min-height: 50px !important;
}

.wc-block-cart .wc-block-cart__coupon-form .wc-block-components-text-input input:focus,
.wc-block-cart .wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__form .wc-block-components-text-input input:focus,
.wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__input input:focus {
    border-color: var(--petsure-accent) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(var(--petsure-accent-rgb), 0.15);
    padding: 24px 9px 8px !important;
}

.wc-block-cart .wc-block-components-totals-coupon__button,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__button {
    height: 50px;
    min-width: 100px;
    padding: 0 20px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    border: none;
    border-radius: var(--petsure-border-radius);
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: background 0.3s ease;
    white-space: nowrap;
}

.wc-block-cart .wc-block-components-totals-coupon__button:hover,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__button:hover {
    background: var(--petsure-primary);
}

.wc-block-cart .wc-block-components-totals-coupon__button:disabled,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* --- Cart Main Items Table --- */
.wc-block-cart .wc-block-components-product-name {
    color: var(--petsure-primary);
    font-weight: 600;
}

.wc-block-cart .wc-block-components-product-price {
    color: var(--petsure-primary);
    font-weight: 700;
    font-size: var(--wp--preset--font-size--medium) !important;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
    font-size: var(--wp--preset--font-size--medium) !important;
}

table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap {
    gap: 8px;
}

.wc-block-cart .wc-block-components-panel .wc-block-components-panel__button-icon,
.wp-block-woocommerce-cart-order-summary-block .wc-block-components-panel .wc-block-components-panel__button-icon,
.wc-block-components-totals-coupon .wc-block-components-panel__button .wc-block-components-panel__button-icon {
    top: 0;
    transform: none;
    position: relative;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    align-items: center;
    padding: 0;
}

.wc-block-components-totals-coupon .wc-block-components-panel__button:hover {
    color: var(--petsure-accent);
}

.wc-block-cart table.wc-block-cart-items {
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    overflow: hidden;
    background: var(--petsure-white);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04);
}

.wc-block-cart .wc-block-cart-items thead th {
    background: var(--petsure-primary) !important;
    color: var(--petsure-white) !important;
    font-weight: 700 !important;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid var(--petsure-primary) !important;
    padding: 18px 16px;
    visibility: visible !important;
}

.wp-block-woocommerce-cart-order-summary-totals-block {
    padding-top: 16px;
}

.wc-block-components-sidebar-layout .wc-block-components-main {
    padding-right: 0 !important;
}

.wc-block-cart .wc-block-cart-items tbody tr {
    border-bottom: 1px solid var(--petsure-divider);
    transition: background 0.25s ease;
}

.wc-block-cart .wc-block-cart-items tbody tr:hover {
    background: rgba(var(--petsure-secondary-rgb), 0.5);
}

.wc-block-cart .wc-block-cart-items tbody tr:last-child {
    border-bottom: none;
}

.wc-block-cart .wc-block-cart-items td {
    padding: 20px 16px;
    vertical-align: middle;
}

.wc-block-cart .wc-block-cart-items td .wc-block-cart-item__image {
    width: 100px;
}

.wc-block-cart .wc-block-components-quantity-selector {
    border-radius: var(--petsure-border-radius);
    border: 1px solid var(--petsure-divider);
    overflow: hidden;
    display: inline-flex;
    align-items: stretch;
    height: 44px;
    background: var(--petsure-white);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.wc-block-cart .wc-block-components-quantity-selector:focus-within {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
    width: 52px;
    height: 44px;
    padding: 0;
    border: none;
    border-left: 1px solid var(--petsure-divider);
    border-right: 1px solid var(--petsure-divider);
    color: var(--petsure-primary);
    font-weight: 700;
    font-size: 16px;
    text-align: center;
    outline: none;
    background: transparent;
    -moz-appearance: textfield;
}

.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled {
    pointer-events: none;
}

.wc-block-cart .wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button {
    width: 40px;
    height: 44px;
    padding: 0;
    border: none;
    background: transparent;
    color: var(--petsure-primary);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    line-height: 1;
    position: relative;
    border: none;
    box-shadow: none;
}

.wc-block-cart .wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button:hover {
    background: var(--petsure-accent);
    color: var(--petsure-white);
}

.wc-block-cart .wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button:active {
    background: var(--petsure-primary);
    color: var(--petsure-white);
}

/* --- Cart Item Remove Link --- */
.wc-block-cart .wc-block-cart-item__remove-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border: 1px solid var(--petsure-divider) !important;
    border-radius: var(--petsure-border-radius) !important;
    color: var(--petsure-text) !important;
}

.wc-block-cart .wc-block-cart-item__remove-link svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
    transition: transform 0.25s ease;
}

.wc-block-cart .wc-block-cart-item__remove-link:hover {
    background: var(--petsure-secondary) !important;
    border-color: var(--petsure-accent) !important;
    color: var(--petsure-accent) !important;
}

.wc-block-cart .wc-block-cart-item__remove-link:hover svg {
    transform: scale(1.15);
}

.wc-block-cart .wc-block-cart-item__remove-link:active {
    background: var(--petsure-primary) !important;
    border-color: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
}

.wc-block-cart .wc-block-components-button:not(.is-outlined) {
    background: var(--petsure-accent) !important;
    color: var(--petsure-white) !important;
    border-radius: var(--petsure-border-radius);
    font-weight: 600 !important;
    padding: 0 28px !important;
    height: 52px;
    line-height: 1;
    box-shadow: none !important;
}

.wc-block-cart .wc-block-components-button:not(.is-outlined):hover {
    background: var(--petsure-primary) !important;
}

.wc-block-cart .wc-block-components-button.is-outlined {
    color: var(--petsure-accent);
    border-color: var(--petsure-accent);
    border-radius: var(--petsure-border-radius);
    padding: 0 28px !important;
    height: 52px;
    line-height: 1;
    box-shadow: none !important;
}

.wc-block-cart .wc-block-components-button.is-outlined:hover {
    background: var(--petsure-accent);
    color: var(--petsure-white);
}

.wc-block-cart .wc-block-cart__coupon-form .wc-block-components-text-input input {
    border-radius: var(--petsure-border-radius);
    border-color: var(--petsure-divider);
}

.wc-block-cart .wc-block-cart__coupon-form .wc-block-components-text-input input:focus {
    border-color: var(--petsure-accent);
}

/* --- Block Cart Empty State --- */
.wc-block-cart .wc-block-cart--empty .wc-block-cart__empty-cart-wrapper {
    text-align: center;
    padding: 40px 0;
}

.wc-block-cart .wc-block-cart--empty .wc-block-cart__empty-cart-wrapper .wc-block-components-notice-banner {
    background: var(--petsure-secondary);
    border-radius: var(--petsure-border-radius-lg);
    padding: 60px 120px;
    max-width: 520px;
    margin: 0 auto;
    border: none;
    box-shadow: none;
}

.wc-block-cart .wc-block-cart--empty .wc-block-cart__empty-cart-wrapper .wc-block-components-notice-banner__content {
    font-size: 28px;
    color: var(--petsure-primary);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 28px;
    display: block;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .wc-block-cart .wc-block-cart--empty .wc-block-cart__empty-cart-wrapper .wc-block-components-notice-banner {
        padding: 40px 24px;
    }
}

/* --- Block Cart Variation Meta --- */
.wc-block-cart .wc-block-components-product-metadata {
    font-size: 13px;
    color: var(--petsure-text);
    margin-top: 4px;
}

.wc-block-cart .wc-block-components-product-metadata .wc-block-components-product-metadata__item {
    font-size: 13px;
    color: var(--petsure-text);
    line-height: 1.5;
}

.wc-block-cart .wc-block-components-product-metadata .wc-block-components-product-metadata__item-label {
    font-weight: 600;
}

/*=============================================
=            Snackbar Notices                  =
=            (contour + button + icon)          =
=============================================*/

/* Contorno del snackbar */
.wc-block-components-notice-snackbar {
    align-items: center !important;
    background: var(--petsure-primary) !important;
    color: var(--petsure-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: var(--petsure-border-radius) !important;
}

/* Color del icono */
.wc-block-components-notice-snackbar>svg {
    background-color: var(--petsure-white) !important;
    color: var(--petsure-accent) !important;
}

.wc-block-components-notice-snackbar>svg path {
    fill: currentColor !important;
}

/* Botón dismiss */
.wc-block-components-notice-snackbar .wc-block-components-button.wc-block-components-notice-banner__dismiss {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    padding: 5px !important;
    background: rgba(255, 255, 255, 0.15) !important;
    color: var(--petsure-secondary) !important;
    border: none !important;
    border-radius: 50% !important;
    cursor: pointer;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    box-shadow: none !important;
    margin: 0 !important;
}

.wc-block-components-notice-banner>.wc-block-components-button:focus {
    outline: none !important;
}

.wc-block-components-notice-snackbar .wc-block-components-button.wc-block-components-notice-banner__dismiss:hover {
    color: var(--petsure-secondary) !important;
    background: var(--petsure-accent) !important;
}

.wc-block-components-notice-snackbar .wc-block-components-button.wc-block-components-notice-banner__dismiss svg path {
    fill: currentColor;
}

/* Neutralizar box-shadow azul heredado */
.wc-block-components-notice-banner {
    box-shadow: none !important;
}

/* -------- Block Order Confirmation -------- */
.wc-block-order-confirmation,
.wp-block-woocommerce-order-confirmation {
    font-family: var(--petsure-font-text);
    color: var(--petsure-text);
}

.wc-block-order-confirmation .wc-block-order-confirmation-summary,
.wc-block-order-confirmation .wc-block-order-confirmation-details,
.wc-block-order-confirmation .wc-block-order-confirmation-totals {
    background: var(--petsure-secondary);
    border-radius: var(--petsure-border-radius-lg);
    padding: 24px;
    margin-bottom: 20px;
}

.wc-block-order-confirmation .wc-block-components-title {
    color: var(--petsure-primary);
    font-weight: 700;
}

.wc-block-order-confirmation .wc-block-order-confirmation-summary .wc-block-order-confirmation-summary-list-item__label {
    color: var(--petsure-text);
    font-size: 13px;
    text-transform: uppercase;
    font-weight: 500;
}

.wc-block-order-confirmation .wc-block-order-confirmation-summary .wc-block-order-confirmation-summary-list-item__value {
    color: var(--petsure-primary);
    font-weight: 700;
    font-size: 18px;
}

.wc-block-order-confirmation .wc-block-order-confirmation-totals table {
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    overflow: hidden;
    background: var(--petsure-white);
}

.wc-block-order-confirmation .wc-block-order-confirmation-totals table th {
    color: var(--petsure-text);
    font-weight: 500;
    font-size: 14px;
    padding: 12px 16px;
}

.wc-block-order-confirmation .wc-block-order-confirmation-totals table td {
    color: var(--petsure-primary);
    font-weight: 600;
    padding: 12px 16px;
    text-align: right;
}

/*=============================================
=            Quick View Modal                   =
=============================================*/

/* --- Quick View Instant Preview / Skeleton --- */
.petsure-quickview-product {
    position: relative;
}

.petsure-quickview-loading.petsure-quickview-product {
    pointer-events: none;
}

.petsure-quickview-thumbnails-skeleton {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}

.petsure-skeleton-thumb {
    width: 64px;
    height: 64px;
    border-radius: var(--petsure-border-radius, 8px);
    background: var(--petsure-divider);
    animation: petsure-shimmer 1.5s ease-in-out infinite;
}

.petsure-quickview-skeleton-text {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.petsure-skeleton-line {
    display: block;
    height: 14px;
    border-radius: 4px;
    background: var(--petsure-divider);
    animation: petsure-shimmer 1.5s ease-in-out infinite;
}

.petsure-skeleton-line--short {
    width: 60%;
}

@keyframes petsure-shimmer {
    0% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.5;
    }
}

.petsure-quickview-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    padding: 40px 20px;
    overflow-y: auto;
}

.petsure-quickview-overlay.active {
    opacity: 1;
    visibility: visible;
}

body.petsure-modal-open {
    overflow: hidden;
}

.petsure-quickview-modal {
    position: relative;
    background: var(--petsure-background, #fff);
    border-radius: var(--petsure-border-radius-lg, 16px);
    max-width: 900px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    padding: 40px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    transform: scale(0.95) translateY(20px);
    transition: transform 0.35s ease;
}

.petsure-quickview-overlay.active .petsure-quickview-modal {
    transform: scale(1) translateY(0);
}

.petsure-quickview-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--petsure-secondary, #f5f2ef);
    color: var(--petsure-primary);
    border: none;
    border-radius: 50%;
    font-size: 22px;
    cursor: pointer;
    z-index: 10;
    transition: background 0.3s ease;
    line-height: 1;
}

.petsure-quickview-close:hover {
    background: var(--petsure-accent);
    color: var(--petsure-white);
}

.petsure-quickview-loading {
    text-align: center;
    font-size: 32px;
    color: var(--petsure-primary);
}

.petsure-quickview-error {
    text-align: center;
    padding: 40px;
    color: var(--petsure-text);
    font-size: 16px;
}

.petsure-quickview-product {
    display: flex;
    gap: 40px;
}

.petsure-quickview-images {
    flex: 0 0 45%;
    max-width: 45%;
}

.petsure-quickview-main-image {
    border-radius: var(--petsure-border-radius, 8px);
    overflow: hidden;
    margin-bottom: 12px;
}

.petsure-quickview-main-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: var(--petsure-border-radius, 8px);
}

.petsure-quickview-thumbnails {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.petsure-quickview-thumb {
    width: 64px;
    height: 64px;
    border-radius: var(--petsure-border-radius, 8px);
    overflow: hidden;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.3s ease, opacity 0.3s ease;
    opacity: 0.6;
}

.petsure-quickview-thumb.active,
.petsure-quickview-thumb:hover {
    border-color: var(--petsure-accent);
    opacity: 1;
}

.petsure-quickview-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.petsure-quickview-details {
    flex: 1;
    min-width: 0;
}

.petsure-quickview-images {
    position: relative;
}

.petsure-quickview-images .onsale {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 5;
    min-width: initial;
    min-height: initial;
    margin: 0 !important;
    color: var(--petsure-white);
    background: var(--petsure-primary);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4em;
    border-radius: var(--petsure-border-radius);
    border: none;
    padding: 4px 10px;
    text-transform: capitalize;
    pointer-events: none;
}

.petsure-quickview-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin-bottom: 12px;
    line-height: 1.2;
    text-align: left;
}

.petsure-quickview-title a {
    color: inherit;
    text-decoration: none;
}

.petsure-quickview-title a:hover {
    color: var(--petsure-accent);
}

.petsure-quickview-rating {
    margin-bottom: 12px;
}

.petsure-quickview-rating .star-rating {
    float: none;
}

.petsure-quickview-price {
    font-size: 24px;
    font-weight: 700;
    color: var(--petsure-primary);
    margin-bottom: 16px;
}

.petsure-quickview-price ins {
    text-decoration: none;
}

.petsure-quickview-price del {
    font-size: 18px;
    opacity: 0.5;
    margin-right: 8px;
}

.petsure-quickview-excerpt {
    font-size: 15px;
    line-height: 1.7;
    color: var(--petsure-text);
    margin-bottom: 24px;
}

/* Description inside quickview */
.petsure-quickview-details .woocommerce-product-details__short-description {
    font-size: 15px;
    line-height: 1.7;
    color: var(--petsure-text);
    margin-bottom: 20px;
}

.petsure-quickview-details .woocommerce-product-details__short-description p {
    margin-bottom: 8px;
}

.petsure-quickview-details .woocommerce-product-details__short-description p:last-child {
    margin-bottom: 0;
}

.petsure-quickview-actions,
.petsure-cart-item-quantity {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

.petsure-quickview-actions .cart {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    flex-wrap: wrap;
}

.petsure-quickview-actions .quantity .qty {
    width: 80px;
    height: 52px;
    padding: 0 10px;
    font-size: 16px;
    font-weight: 600;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    text-align: center;
    outline: none;
    color: var(--petsure-primary);
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.petsure-quickview-actions .quantity .qty:focus {
    border-color: var(--petsure-accent);
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.1);
}

.petsure-quickview-actions .single_add_to_cart_button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    height: 48px;
    padding: 0 28px;
    border: none;
    border-radius: var(--petsure-border-radius);
    cursor: pointer;
    transition: all 0.3s ease;
    box-sizing: border-box;
}

.petsure-quickview-actions .single_add_to_cart_button:hover {
    background: var(--petsure-primary);
    color: var(--petsure-white);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Quick View add-to-cart feedback message */
.petsure-quickview-feedback {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 12px 16px;
    background: var(--petsure-background);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    color: var(--petsure-primary);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    margin: 8px 0 0;
    animation: petsure-feedback-in 0.3s ease forwards;
}

.petsure-quickview-feedback i {
    font-size: 16px;
    color: var(--petsure-success);
}

@keyframes petsure-feedback-in {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.petsure-quickview-details-link {
    background: transparent;
    color: var(--petsure-primary);
    font-size: 14px;
    font-weight: 600;
    padding: 12px 20px;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    text-decoration: none;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.petsure-quickview-details-link:hover {
    background: var(--petsure-primary);
    color: var(--petsure-white);
    border-color: var(--petsure-primary);
}

/* --- Variations table layout in Quick View --- */
.petsure-quickview-details .variations {
    margin-bottom: 0;
    width: 100%;
}

.petsure-quickview-details .variations tbody {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 14px;
}

.petsure-quickview-details .variations tr {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
}

.petsure-quickview-details .variations tr.petsure-reset-row {
    width: 100%;
}

.petsure-quickview-details .variations td,
.petsure-quickview-details .variations th {
    display: block;
    padding: 0;
    border: none;
    background: none;
}

.petsure-quickview-details .variations th.label {
    display: block;
    padding: 0;
}

.petsure-quickview-details .variations label {
    font-size: 14px;
    font-weight: 600;
    color: var(--petsure-primary);
    margin-bottom: 0;
    display: inline-block;
}

.petsure-quickview-details .variations .value {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 170px;
}

/* --- Reset variations button in Quick View --- */
.petsure-quickview-details .reset_variations {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    color: var(--petsure-primary);
    background: var(--petsure-white);
    border: 1px solid var(--petsure-primary);
    cursor: pointer;
    text-decoration: none;
    outline: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    margin: 0 !important;
    border-radius: var(--petsure-border-radius);
    padding: 5px 15px;
    /* Hidden by default with smooth exit */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(0.85) translateY(-4px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.petsure-quickview-details .reset_variations.petsure-reset-visible {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
    transform: scale(1) translateY(0);
}

.petsure-quickview-details .reset_variations:hover {
    background: var(--petsure-secondary);
    border-color: var(--petsure-accent);
    color: var(--petsure-accent);
    box-shadow: 0 1px 4px rgba(var(--petsure-accent-rgb), 0.2);
}

.petsure-quickview-details .reset_variations:focus-visible {
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.25);
}

/* --- Quick View product form.cart layout --- */
.petsure-quickview-details form.cart .woocommerce-variation-description p:first-child {
    margin-top: 0;
}

.woocommerce .col2-set .col-1,
.woocommerce-page .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-2 {
    width: 100%;
    max-width: 100%;
    float: none;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set {
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set .col-1,
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set .col-2 {
    max-width: 50%;
    flex: 1;
}

.wc-block-components-product-badge {
    background: var(--petsure-primary) !important;
    color: var(--petsure-white) !important;
    border-radius: 5px;
    padding: 4px 6px !important;
    line-height: 1 !important;
}

.wc-block-components-order-summary {
    padding: 0;
}

.wc-block-components-address-form .wc-blocks-components-select__container .petsure-variation-current,
.wc-block-components-address-form .wc-blocks-components-select__container .petsure-variation-dropdown {
    border: 1px solid color-mix(in srgb, currentColor 80%, transparent);
    border-radius: 4px;
}

.wc-block-components-form .wc-block-components-text-input input[type=email],
.wc-block-components-form .wc-block-components-text-input input[type=number],
.wc-block-components-form .wc-block-components-text-input input[type=password],
.wc-block-components-form .wc-block-components-text-input input[type=tel],
.wc-block-components-form .wc-block-components-text-input input[type=text],
.wc-block-components-form .wc-block-components-text-input input[type=url],
.wc-block-components-text-input input[type=email],
.wc-block-components-text-input input[type=number],
.wc-block-components-text-input input[type=password],
.wc-block-components-text-input input[type=tel],
.wc-block-components-text-input input[type=text],
.wc-block-components-text-input input[type=url],
.wc-block-components-textarea {
    outline: none !important;
}

.wc-block-components-textarea {
    padding: 16px 12px !important;
    border-radius: 4px !important;
}

/*=============================================
=            My Account / Edit Account         =
=============================================*/
.woocommerce-MyAccount-content .petsure-password-fieldset {
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 30px;
    margin: 0;
    background: var(--petsure-secondary);
}

.woocommerce-MyAccount-content .petsure-fieldset-legend {
    font-family: var(--petsure-font-primary);
    font-weight: var(--petsure-heading-weight);
    font-size: 20px;
    color: var(--petsure-primary);
    padding: 5px 15px;
    border: 1px solid var(--petsure-divider);
    margin: 0;
    float: none;
    width: auto;
    text-transform: none;
    background: var(--petsure-secondary);
    border-radius: var(--petsure-border-radius);
    margin-left: 10px;
}

.woocommerce-MyAccount-content .petsure-password-fields {
    margin-top: 20px;
}

.woocommerce-MyAccount-content .petsure-password-fields .form-row {
    margin-bottom: 20px;
}

.woocommerce-MyAccount-content .petsure-password-fields .form-row:last-child {
    margin-bottom: 0;
}

.woocommerce-MyAccount-content .petsure-password-fields label {
    display: block;
    font-weight: 500;
    margin-bottom: 6px;
    color: var(--petsure-primary);
}

.woocommerce-MyAccount-content .petsure-password-fields input[type="password"] {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    background: var(--petsure-white);
    color: var(--petsure-text);
    font-family: inherit;
    font-size: 15px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-MyAccount-content .petsure-password-fields input[type="password"]:focus {
    border-color: var(--petsure-accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.12);
}

.woocommerce-MyAccount-content .petsure-password-fields input[type="password"]:hover {
    border-color: var(--petsure-accent);
}

/*=============================================
=            post-entry WooCommerce fix        =
=            Remove border when inside WC pages=
=============================================*/

body.woocommerce .post-entry {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/*=============================================
=            Edit Account Form Inputs          =
=============================================*/

.woocommerce-EditAccountForm.edit-account input[type="text"],
.woocommerce-EditAccountForm.edit-account input[type="email"],
.woocommerce-EditAccountForm.edit-account input[type="password"] {
    width: 100%;
    padding: 14px 18px;
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius);
    background: var(--petsure-white);
    color: var(--petsure-text);
    font-family: inherit;
    font-size: 15px;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.woocommerce-EditAccountForm.edit-account input[type="text"]:focus,
.woocommerce-EditAccountForm.edit-account input[type="email"]:focus,
.woocommerce-EditAccountForm.edit-account input[type="password"]:focus {
    border-color: var(--petsure-accent);
    outline: none;
    box-shadow: 0 0 0 3px rgba(var(--petsure-accent-rgb), 0.12);
}

.woocommerce-EditAccountForm.edit-account label {
    display: block;
    font-weight: 500;
    margin-bottom: 6px;
    color: var(--petsure-primary);
}

.woocommerce-EditAccountForm.edit-account .form-row {
    margin-bottom: 20px;
}

.woocommerce-EditAccountForm.edit-account .button {
    display: inline-flex;
    align-items: center;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-size: 16px;
    font-weight: 600;
    border: none;
    padding: 14px 28px;
    border-radius: var(--petsure-border-radius);
    cursor: pointer;
    transition: all 0.4s ease-in-out;
}

.woocommerce-EditAccountForm.edit-account .button:hover {
    background: var(--petsure-primary);
}

/*=============================================
=            Account Dashboard Cards           =
=============================================*/

.woocommerce-MyAccount-content .petsure-account-dashboard {
    max-width: 700px;
}

.woocommerce-MyAccount-content .petsure-dashboard-welcome {
    display: flex;
    align-items: center;
    gap: 20px;
}

.woocommerce-MyAccount-content .petsure-dashboard-avatar {
    flex-shrink: 0;
}

.woocommerce-MyAccount-content .petsure-dashboard-avatar img {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--petsure-secondary);
    display: block;
}

.woocommerce-MyAccount-content .petsure-dashboard-greeting {
    flex: 1;
    min-width: 0;
}

.woocommerce-MyAccount-content .petsure-dashboard-title {
    font-size: 22px;
    color: var(--petsure-primary);
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.woocommerce-MyAccount-content .petsure-dashboard-subtitle {
    font-size: 14px;
    color: var(--petsure-text);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.woocommerce-MyAccount-content .petsure-dashboard-logout {
    font-size: 13px;
    font-weight: 500;
    color: var(--petsure-accent);
    white-space: nowrap;
    transition: color 0.3s ease;
    margin: 0;
    display: inline-block;
    padding: 5px 10px;
    line-height: 1;
}

.woocommerce-MyAccount-content .petsure-dashboard-logout:hover {
    color: var(--petsure-primary);
}

/* --- Quick Access Cards Grid --- */
.woocommerce-MyAccount-content .petsure-dashboard-cards {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 24px;
}

.woocommerce-MyAccount-content .petsure-dashboard-cards:last-child {
    margin-bottom: 0;
}

@media (max-width: 600px) {
    .woocommerce-MyAccount-content .petsure-dashboard-cards {
        grid-template-columns: 1fr;
    }
}

.woocommerce-MyAccount-content .petsure-dashboard-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: var(--petsure-white);
    border: 1px solid var(--petsure-divider);
    border-radius: var(--petsure-border-radius-lg);
    padding: 20px;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}

.woocommerce-MyAccount-content .petsure-dashboard-card:hover {
    border-color: var(--petsure-accent);
    box-shadow: 0 4px 16px rgba(var(--petsure-accent-rgb), 0.12);
}

.woocommerce-MyAccount-content .petsure-dashboard-card:active {
    transform: translateY(0);
}

.woocommerce-MyAccount-content .petsure-dashboard-card-icon {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--petsure-accent);
    background: transparent;
    border-radius: var(--petsure-border-radius);
    font-size: 20px;
    color: var(--petsure-accent);
    transition: all 0.3s ease;
}

.woocommerce-MyAccount-content .petsure-dashboard-card:hover .petsure-dashboard-card-icon {
    background: var(--petsure-accent);
    color: var(--petsure-white);
}

.woocommerce-MyAccount-content .petsure-dashboard-card-body {
    flex: 1;
    min-width: 0;
}

.woocommerce-MyAccount-content .petsure-dashboard-card-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--petsure-primary);
    margin: 0 0 4px 0;
    line-height: 1.3;
}

.woocommerce-MyAccount-content .petsure-dashboard-card-text {
    font-size: 13px;
    color: var(--petsure-text);
    margin: 0;
    line-height: 1.4;
}

.woocommerce-MyAccount-content .petsure-dashboard-card-arrow {
    flex-shrink: 0;
    font-size: 14px;
    color: var(--petsure-text);
    opacity: 0.4;
    transition: all 0.3s ease;
}

.woocommerce-MyAccount-content .petsure-dashboard-card:hover .petsure-dashboard-card-arrow {
    opacity: 1;
    color: var(--petsure-accent);
    transform: translateX(3px);
}

/*=============================================
=            Orders Table (My Account)         =
=============================================*/

.woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 15px;
}

.woocommerce-orders-table thead th {
    background: var(--petsure-secondary);
    color: var(--petsure-primary);
    font-weight: 600;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 1px solid var(--petsure-divider);
}

.woocommerce-orders-table tbody td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--petsure-divider);
    vertical-align: middle;
}

.woocommerce-orders-table tbody tr:hover td {
    background: rgba(var(--petsure-secondary-rgb), 0.5);
}

.woocommerce-orders-table .button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border: none;
    border-radius: var(--petsure-border-radius);
    transition: all 0.3s ease;
}

.woocommerce-orders-table .button:hover {
    background: var(--petsure-primary);
}

/*=============================================
=            Order Table (details)            =
=============================================*/

.woocommerce-order-details .shop_table {
    width: 100%;
    border-collapse: collapse;
    border-radius: var(--petsure-border-radius-lg);
    overflow: hidden;
    background: var(--petsure-white);
}

.woocommerce-order-details .shop_table thead th {
    background: var(--petsure-secondary);
    color: var(--petsure-primary);
    font-weight: 600;
    padding: 14px 16px;
    text-align: left;
}

.woocommerce-order-details .shop_table tbody td,
.woocommerce-order-details .shop_table tfoot td,
.woocommerce-order-details .shop_table tfoot th {
    padding: 14px 16px;
    border-bottom: 1px solid var(--petsure-divider);
}

.woocommerce-order-details .shop_table tfoot th {
    font-weight: 600;
    color: var(--petsure-primary);
}

.woocommerce-order-details .product-quantity {
    font-weight: 400;
}

/*=============================================
=            Downloads Table                  =
=============================================*/

.woocommerce-MyAccount-downloads .shop_table {
    width: 100%;
    border-collapse: collapse;
    border-radius: var(--petsure-border-radius-lg);
    overflow: hidden;
}

.woocommerce-MyAccount-downloads .shop_table thead th {
    background: var(--petsure-secondary);
    color: var(--petsure-primary);
    font-weight: 600;
    padding: 14px 16px;
    text-align: left;
}

.woocommerce-MyAccount-downloads .shop_table tbody td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--petsure-divider);
}

.woocommerce-MyAccount-downloads .shop_table .button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--petsure-accent);
    color: var(--petsure-white);
    font-size: 13px;
    font-weight: 600;
    padding: 8px 16px;
    border: none;
    border-radius: var(--petsure-border-radius);
    transition: all 0.3s ease;
}

.woocommerce-MyAccount-downloads .shop_table .button:hover {
    background: var(--petsure-primary);
}

/*=============================================
=            Prevent flash of empty cart title =
=============================================*/

body.woocommerce-cart .wc-block-cart__empty-cart__title {
    display: none !important;
}

/*=============================================
=  Product loop title & price (scattered)     =
=============================================*/
ul.products li.product .price {
    font-size: 15px;
    font-weight: 600;
    color: var(--petsure-accent);
    display: block;
    text-align: center;
    margin-bottom: 6px;
}

ul.products li.product .price del {
    opacity: 0.5;
    font-weight: 400;
    margin-right: 4px;
}

ul.products li.product .price ins {
    text-decoration: none;
}

/*=============================================
=  WooCommerce integration notice (misc)      =
=============================================*/

.woocommerce .page-single-post {
    padding: 60px 0;
}

.woocommerce .content-area {
    max-width: var(--petsure-content-max);
    margin: 0 auto;
    padding: 0 15px;
}

@media only screen and (max-width: 767px) {
    .petsure-quickview-product {
        flex-direction: column;
        gap: 24px;
    }

    .petsure-quickview-images {
        flex: none;
        max-width: 100%;
    }

    .petsure-quickview-modal {
        padding: 24px 20px;
    }

    .petsure-quickview-title {
        font-size: 22px;
    }

    .petsure-quickview-price {
        font-size: 20px;
    }

    .petsure-quickview-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .petsure-quickview-actions .cart {
        width: 100%;
        justify-content: center;
    }
}

/* Responsive */
@media only screen and (max-width: 991px) {
    .woocommerce-cart .woocommerce .woocommerce-cart-form {
        width: 100%;
    }

    .woocommerce-cart .woocommerce .cart-collaterals {
        width: 100%;
        margin-left: 0;
        margin-top: 30px;
    }

    form.woocommerce-checkout #customer_details {
        width: 100%;
    }

    form.woocommerce-checkout .woocommerce-checkout-review-order {
        width: 100%;
        margin-left: 0;
        margin-top: 20px;
        padding: 20px;
    }

    .single-product .related.products>h2 {
        font-size: 38px;
        margin-bottom: 30px;
    }

    .woocommerce div.product p.price,
    .woocommerce div.product span.price {
        font-size: 26px;
    }

    /* -------- Block Cart Tablet (768px-991px) -------- */
    @media only screen and (min-width: 768px) and (max-width: 991px) {

        /* Stack main items + sidebar vertically */
        .wc-block-cart .wc-block-components-main.wc-block-cart__main {
            width: 100%;
        }

        .wc-block-cart .wc-block-components-sidebar {
            width: 100%;
            margin-left: 0;
            margin-top: 30px;
        }

        /* Reduce table header padding & font */
        .wc-block-cart .wc-block-cart-items thead th {
            padding: 14px 12px;
            font-size: 13px;
        }

        /* Reduce cell padding */
        .wc-block-cart .wc-block-cart-items td {
            padding: 16px 12px;
        }

        /* Smaller product image */
        .wc-block-cart .wc-block-cart-items td .wc-block-cart-item__image {
            width: 72px;
        }

        /* Compact product name */
        table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
            font-size: 15px;
        }

        /* Smaller quantity selector */
        .wc-block-cart .wc-block-components-quantity-selector {
            height: 38px;
        }

        .wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
            width: 44px;
            height: 38px;
            font-size: 14px;
        }

        .wc-block-cart .wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button {
            width: 34px;
            height: 38px;
            font-size: 14px;
        }

        /* Smaller remove button */
        .wc-block-cart .wc-block-cart-item__remove-link {
            width: 30px !important;
            height: 30px !important;
        }

        .wc-block-cart .wc-block-cart-item__remove-link svg {
            width: 14px;
            height: 14px;
        }

        /* Compact coupon button */
        .wc-block-cart .wc-block-components-totals-coupon__button,
        .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-coupon__button {
            min-width: 80px;
            padding: 0 14px;
            font-size: 13px;
        }

        /* Smaller sidebar totals padding */
        .wc-block-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
        .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-wrapper {
            padding: 20px;
        }

        /* Product price size */
        .wc-block-cart .wc-block-components-product-price {
            font-size: 15px !important;
        }

        /* Variation meta compact */
        .wc-block-cart .wc-block-components-product-metadata {
            font-size: 12px;
        }

        /* Empty state padding */
        .wc-block-cart .wc-block-cart--empty .wc-block-cart__empty-cart-wrapper {
            padding: 40px 20px;
        }

        .wc-block-cart .wc-block-cart--empty .wc-block-cart__empty-cart-wrapper .wc-block-components-notice-banner__content {
            font-size: 18px;
        }
    }

}

@media only screen and (max-width: 767px) {
    .woocommerce ul.products[class*=columns-] li.product {
        width: 100%;
    }

    /* -------- Classic Cart Mobile -------- */
    .woocommerce-cart .woocommerce .woocommerce-cart-form {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .woocommerce table.shop_table {
        min-width: 600px;
    }

    .woocommerce table.shop_table th {
        font-size: 13px;
        padding: 12px 8px;
    }

    .woocommerce table.shop_table td {
        padding: 12px 8px;
        font-size: 14px;
    }

    .woocommerce table.shop_table .product-thumbnail {
        width: 70px;
    }

    .woocommerce table.shop_table .product-remove {
        width: 40px;
    }

    .woocommerce table.shop_table .product-remove a.remove {
        width: 32px;
        height: 32px;
        font-size: 16px;
    }

    .woocommerce table.shop_table td.product-name a {
        font-size: 14px;
    }

    .woocommerce table.shop_table td.product-price,
    .woocommerce table.shop_table td.product-subtotal {
        font-size: 14px;
    }

    .woocommerce table.shop_table td.actions {
        padding: 16px 12px;
    }

    .woocommerce-page table.cart td.actions .coupon {
        width: 100%;
    }

    .woocommerce table.cart td.actions .coupon {
        flex-direction: column;
        gap: 10px;
        width: 100%;
    }

    .woocommerce table.cart td.actions .coupon #coupon_code {
        min-width: 0;
        width: 100%;
    }

    .woocommerce table.cart td.actions .coupon button.button {
        width: 100%;
    }

    .woocommerce table.cart td.actions .button[name="update_cart"] {
        float: none;
        width: 100%;
        margin-top: 12px;
    }

    .woocommerce .cart-collaterals .cart_totals {
        padding: 20px;
    }

    .cart-collaterals .cart_totals>h2 {
        font-size: 22px;
    }

    .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {
        width: 100%;
    }

    .woocommerce-cart .cross-sells>h2 {
        font-size: 22px;
    }

    .woocommerce-cart .return-to-shop .button {
        width: 100%;
    }

    /* -------- Block Cart Mobile -------- */
    .wc-block-cart .wc-block-cart__coupon-form {
        flex-direction: column;
    }

    .wc-block-cart .wc-block-cart__coupon-form .wc-block-components-text-input input {
        min-height: 48px;
    }

    .wc-block-cart .wc-block-cart__coupon-form .wc-block-components-totals-coupon__button {
        width: 100%;
        min-height: 48px;
    }

    .wc-block-cart .wc-block-components-quantity-selector {
        height: 38px;
    }

    .wc-block-cart .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input {
        width: 44px;
        height: 38px;
        font-size: 14px;
    }

    .wc-block-cart .wc-block-components-quantity-selector button.wc-block-components-quantity-selector__button {
        width: 34px;
        height: 38px;
        font-size: 14px;
    }

    .wc-block-cart .wc-block-cart-item__remove-link {
        width: 32px !important;
        height: 32px !important;
    }

    .wc-block-cart .wc-block-cart-item__remove-link svg {
        width: 16px;
        height: 16px;
    }

    .single-product .related.products>h2 {
        font-size: 26px;
    }

    .woocommerce-order {
        padding: 20px;
    }

    /* -------- Order Overview Mobile: stack vertically -------- */
    .woocommerce-order-overview {
        flex-direction: column;
    }

    .woocommerce-order-overview li {
        flex: none;
        width: 100%;
        min-width: 0;
        border-right: none;
        border-bottom: 1px solid var(--petsure-divider);
        padding: 16px 20px;
        text-align: left;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .woocommerce-order-overview li:last-child {
        border-bottom: none;
    }

    .woocommerce-order-overview li strong {
        margin-top: 0;
        font-size: 15px;
    }

    /* -------- Customer details mobile -------- */
    .woocommerce-customer-details {
        padding: 20px;
    }

    /* Make product overlay always visible on mobile (no hover on touch) */
    .woocommerce ul.products li.product .petsure-product-overlay {
        opacity: 1;
        visibility: visible;
        background: linear-gradient(to top, rgba(var(--petsure-primary-rgb), 0.85) 0%, rgba(var(--petsure-primary-rgb), 0.2) 60%, transparent 100%);
        backdrop-filter: none;
        -webkit-backdrop-filter: none;
        top: auto;
        height: 50%;
    }

    .woocommerce ul.products li.product .petsure-product-overlay-buttons {
        transform: translateY(0);
        flex-direction: row;
        gap: 8px;
    }

    .woocommerce ul.products li.product .petsure-product-overlay .button.add_to_cart_button,
    .woocommerce ul.products li.product .petsure-product-overlay .button.petsure-btn-quickview,
    .woocommerce ul.products li.product .petsure-product-overlay .button.petsure-btn-details,
    .woocommerce ul.products li.product .petsure-product-overlay .added_to_cart,
    .woocommerce ul.products li.product .petsure-product-overlay .button.product_type_external {
        width: 38px;
        height: 38px;
        padding: 0;
        font-size: 14px;
    }
}