/* === SINGLE PRODUCT PAGE - FLOWER SHOP STYLE === */

/* Color Variables - Matching Product Cards */
:root {
    --flower-primary: #1A3C34;
    --flower-primary-hover: #EFDCD5;
    --flower-primary-dark: #2a5f50;
    --flower-text: #1a1a1a;
    --flower-text-secondary: #4a5568;
    --flower-text-light: #6b7280;
    --flower-price-color: #4d4d4d;
    --flower-white: #ffffff;
    --flower-bg: #f9f7f5;
    --flower-border: #E8E8E8;
    --flower-border-light: #F0F0F0;
    --flower-separator: #f0f0f0;
    --flower-card-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 8px 32px rgba(0,0,0,0.06);
    --flower-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    --flower-shadow-hover: 0 6px 20px rgba(0, 0, 0, 0.12);
    --flower-shadow-button: 0 2px 8px rgba(158, 184, 157, 0.25);
    --flower-radius: 16px;
    --flower-radius-small: 8px;
    --flower-radius-pill: 50px;
    --flower-transition: all 0.3s ease;
    --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* === MAIN CONTAINER === */
.single-product div.product {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem 1rem;
    font-family: var(--font-family) !important;
    background: transparent !important;
}

/* === PRODUCT TOP SECTION (Gallery + Summary wrapper) === */
.product-top-section {
    display: flex !important;
    gap: 0 5% !important;
    margin-bottom: 0 !important;
}

/* === PRODUCT LAYOUT === */
.woocommerce-product-gallery {
    width: 55% !important;
    flex-shrink: 0 !important;
    margin-bottom: 2rem !important;
    background: transparent !important;
    position: sticky !important;
    top: 2rem !important;
    align-self: flex-start !important;
}

.summary.entry-summary {
    width: 40% !important;
    flex: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    position: relative !important;
}

.woocommerce-product-gallery__wrapper {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: var(--flower-radius) !important;
    overflow: hidden !important;
    background: var(--flower-bg) !important;
    box-shadow: var(--flower-shadow) !important;
    transition: var(--flower-transition) !important;
}

.woocommerce-product-gallery__wrapper:hover {
    box-shadow: var(--flower-shadow-hover) !important;
}

/* Main product image */
.woocommerce-product-gallery__image img {
    border-radius: var(--flower-radius) !important;
    object-fit: cover !important;
    width: 100% !important;
}

/* Gallery Thumbnails - Vertical on Left */
.flex-control-thumbs {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0.5rem !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 80px !important;
    z-index: 10 !important;
}

.woocommerce-product-gallery .flex-viewport {
    margin-left: 92px !important;
    border-radius: var(--flower-radius) !important;
    overflow: hidden !important;
}

.flex-control-thumbs li {
    width: 100% !important;
    margin: 0 !important;
    list-style: none !important;
}

.flex-control-thumbs img {
    width: 100% !important;
    height: 80px !important;
    object-fit: cover !important;
    border-radius: var(--flower-radius-small) !important;
    border: 2px solid transparent !important;
    transition: var(--flower-transition) !important;
    cursor: pointer !important;
    opacity: 0.7 !important;
    display: block !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}

.flex-control-thumbs img.flex-active,
.flex-control-thumbs img:hover {
    border-color: var(--flower-primary) !important;
    opacity: 1 !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(158, 184, 157, 0.2) !important;
}

/* === PRODUCT TITLE === */
.product_title {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    margin: 0 0 0.375rem 0 !important;
    padding-right: 2.75rem !important;
    color: var(--flower-text) !important;
    font-weight: 600 !important;
    font-family: var(--font-family) !important;
    letter-spacing: -0.025em !important;
}

/* === PRICE === */
.summary .price {
    font-size: 1.25rem !important;
    margin: 0 0 0.5rem 0 !important;
    color: var(--flower-price-color) !important;
    font-weight: 600 !important;
    font-family: var(--font-family) !important;
    letter-spacing: -0.025em !important;
    font-feature-settings: 'tnum' 1 !important;
}

.summary .price del {
    color: var(--flower-text-light) !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    opacity: 0.6 !important;
}

/* Hide summary price — price shown in CTA area only */
.single-product .summary > .price {
    display: none !important;
}

/* === SHORT DESCRIPTION === */
.woocommerce-product-details__short-description {
    margin: 1.25rem 0 1rem 0 !important;
    padding: 0 0 0 0.875rem !important;
    line-height: 1.6 !important;
    color: var(--flower-text-secondary) !important;
    font-size: 0.9rem !important;
    border: none !important;
    border-left: 3px solid var(--flower-border) !important;
    background: transparent !important;
}

.woocommerce-product-details__short-description p {
    margin-bottom: 0.75rem !important;
}

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

/* === VARIATIONS FORM (single card for entire purchase area) === */
.variations_form {
    margin: 0.75rem 0 0 0 !important;
    padding: 24px 28px !important;
    background: var(--flower-white) !important;
    border: none !important;
    border-radius: var(--flower-radius) !important;
    box-shadow: var(--flower-card-shadow) !important;
    overflow: visible !important; /* allow 3D carousel transforms */
    display: flex !important;
    flex-direction: column !important;
}

/* Flex order: Size → Extras → Card Message → CTA (bottom) */
.variations_form > .variations { order: 1 !important; }
.variations_form > .reset_variations_alert { order: 1 !important; }
.variations_form > .wc-product-bundles { order: 2 !important; }
.variations_form > .wccm3-wrapper { order: 3 !important; }
.variations_form > .wccm3-wrapper-container { order: 3 !important; }
.variations_form > .single_variation_wrap { order: 5 !important; }

/* Variations Selector (inside form card — transparent) */
.variations {
    margin: 0 0 0.75rem 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.variations tr {
    display: block !important;
    margin-bottom: 0.75rem !important;
}

.variations tr:last-child {
    margin-bottom: 0 !important;
}

/* Labels */
.variations .label {
    display: block !important;
    margin-bottom: 0.25rem !important;
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    color: var(--flower-text) !important;
    text-align: left !important;
    letter-spacing: -0.025em !important;
}

/* Select Dropdowns */
.variations select {
    width: 100% !important;
    padding: 0.5rem 2.25rem 0.5rem 0.75rem !important;
    border: 1.5px solid var(--flower-border) !important;
    border-radius: var(--flower-radius-small) !important;
    appearance: none !important;
    background: var(--flower-white) url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a5568' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.75rem center !important;
    background-size: 12px !important;
    color: var(--flower-text) !important;
    font-size: 0.9rem !important;
    font-weight: 500 !important;
    transition: var(--flower-transition) !important;
    cursor: pointer !important;
    height: 38px !important;
    font-family: var(--font-family) !important;
}

.variations select:hover {
    border-color: var(--flower-primary) !important;
    background-color: var(--flower-bg) !important;
}

.variations select:focus {
    outline: none !important;
    border-color: var(--flower-primary) !important;
    box-shadow: 0 0 0 3px rgba(158, 184, 157, 0.1) !important;
    background-color: var(--flower-white) !important;
}

/* Reset Link */
.reset_variations {
    font-size: 0.8125rem !important;
    color: var(--flower-text-secondary) !important;
    text-decoration: underline !important;
    margin-top: 0.5rem !important;
    display: inline-block !important;
    transition: color 0.2s ease !important;
}

.reset_variations:hover {
    color: var(--flower-primary) !important;
}


/* === ADD TO CART SECTION (CTA footer inside form card) === */
.single_variation_wrap {
    margin: 0.75rem -28px -24px -28px !important;
    padding: 20px 28px 24px !important;
    background: linear-gradient(to top, #f9f9f9, var(--flower-white)) !important;
    border: none !important;
    border-top: 1px solid var(--flower-separator) !important;
    border-radius: 0 0 var(--flower-radius) var(--flower-radius) !important;
    box-shadow: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.75rem !important;
}

/* Variation price — hidden (subtotal element replaces it) */
.woocommerce-variation-price {
    display: none !important;
}

/* Dissolve intermediate containers so children join single_variation_wrap flex */
.single_variation {
    display: contents !important;
}
.woocommerce-variation-add-to-cart {
    display: contents !important;
}

/* Flex ordering inside CTA: qty(1) → subtotal(2) → button(3) → wishlist(4) */
.single_variation_wrap .quantity {
    order: 1 !important;
}
.single_variation_wrap .quin-subtotal {
    order: 2 !important;
    margin-left: auto !important;
    text-align: right !important;
    line-height: 1 !important;
    align-self: center !important;
}
.single_variation_wrap .quin-subtotal strong {
    display: block !important;
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    color: var(--flower-text) !important;
    line-height: 1.2 !important;
}
.single_variation_wrap .quin-subtotal .quin-subtotal-breakdown {
    display: block !important;
    font-size: 0.75rem !important;
    color: var(--flower-text-secondary) !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
}
.single_variation_wrap .single_add_to_cart_button {
    order: 3 !important;
}
.single_variation_wrap .yith-wcwl-add-to-wishlist {
    order: 4 !important;
    flex-basis: 100% !important;
}

/* Quantity Input with +/- buttons */
.quantity {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    position: relative !important;
    border: 1.5px solid var(--flower-border) !important;
    border-radius: var(--flower-radius-small) !important;
    overflow: hidden !important;
    background: var(--flower-white) !important;
    transition: var(--flower-transition) !important;
}

.quantity:hover {
    border-color: var(--flower-primary) !important;
}

.quantity:focus-within {
    border-color: var(--flower-primary) !important;
    box-shadow: 0 0 0 3px rgba(158, 184, 157, 0.1) !important;
}

.quantity input[type="number"] {
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    text-align: center !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: var(--flower-text) !important;
    background: transparent !important;
    -moz-appearance: textfield !important;
    font-family: var(--font-family) !important;
}

/* Hide native arrows */
.quantity input[type="number"]::-webkit-inner-spin-button,
.quantity input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
}

.quantity input[type="number"]:focus {
    outline: none !important;
    box-shadow: none !important;
}

/* Custom +/- buttons */
.quin-qty-btn {
    width: 32px !important;
    height: 36px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: var(--flower-bg) !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: var(--flower-text-secondary) !important;
    transition: var(--flower-transition) !important;
    padding: 0 !important;
    line-height: 1 !important;
    font-family: var(--font-family) !important;
    flex-shrink: 0 !important;
}

.quin-qty-btn:hover {
    background: var(--flower-border-light) !important;
    color: var(--flower-text) !important;
}

.quin-qty-btn:active {
    background: var(--flower-border) !important;
}

/* Add to Cart Button — full width on its own row */
.single_add_to_cart_button {
    flex-basis: 100% !important;
    width: 100% !important;
    background-color: var(--flower-primary) !important;
    color: var(--flower-white) !important;
    border: none !important;
    padding: 0 1.25rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    border-radius: var(--flower-radius-pill) !important;
    cursor: pointer !important;
    transition: var(--flower-transition) !important;
    height: 38px !important;
    letter-spacing: -0.025em !important;
    font-family: var(--font-family) !important;
    box-shadow: var(--flower-shadow-button) !important;
}

.single_add_to_cart_button:hover {
    background-color: var(--flower-primary-hover) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 6px 16px rgba(158, 184, 157, 0.25) !important;
}

.single_add_to_cart_button:active {
    background-color: var(--flower-primary-dark) !important;
    transform: translateY(0) !important;
}


/* === DYNAMIC SUBTOTAL (shown when qty > 1) === */
.quin-subtotal {
    margin-top: 0.5rem !important;
    padding: 0.375rem 0 0 0 !important;
    font-size: 0.8125rem !important;
    color: var(--flower-text-secondary) !important;
    font-family: var(--font-family) !important;
    letter-spacing: -0.025em !important;
}

.quin-subtotal strong {
    color: var(--flower-text) !important;
    font-weight: 600 !important;
    font-feature-settings: 'tnum' 1 !important;
}

/* === WISHLIST BUTTON (YITH Block Version) ===
 * The plugin renders OUTSIDE form.cart as:
 * div.yith-add-to-wishlist-button-block--single
 *   > a.yith-wcwl-add-to-wishlist-button--anchor
 *     > svg.yith-wcwl-icon + span.yith-wcwl-add-to-wishlist-button__label
 *
 * Positioned: absolutely pinned to top-right of summary, next to the title
 */
.yith-add-to-wishlist-button-block--single {
    position: absolute !important;
    top: -0.25rem !important;
    right: 0 !important;
    margin: 0 !important;
    z-index: 2 !important;
}

.yith-wcwl-add-to-wishlist-button,
.yith-wcwl-add-to-wishlist a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.375rem !important;
    background: transparent !important;
    border: 1.5px solid var(--flower-border) !important;
    border-radius: 50% !important;
    width: 36px !important;
    height: 36px !important;
    padding: 0 !important;
    transition: var(--flower-transition) !important;
    text-decoration: none !important;
    color: var(--flower-text-light) !important;
    cursor: pointer !important;
}

.yith-wcwl-add-to-wishlist-button:hover,
.yith-wcwl-add-to-wishlist a:hover {
    border-color: #F8BBD0 !important;
    background-color: #FCE4EC !important;
    transform: scale(1.1) !important;
    box-shadow: 0 4px 12px rgba(233, 30, 99, 0.12) !important;
}

.yith-wcwl-icon,
.yith-wcwl-add-to-wishlist svg {
    width: 18px !important;
    height: 18px !important;
    stroke: #E91E63 !important;
    stroke-width: 2 !important;
    fill: none !important;
    transition: var(--flower-transition) !important;
}

.yith-wcwl-add-to-wishlist-button:hover .yith-wcwl-icon,
.yith-wcwl-add-to-wishlist a:hover svg {
    fill: #F8BBD0 !important;
    transform: scale(1.1) !important;
}

/* Hide the text label — icon only */
.yith-wcwl-add-to-wishlist-button__label {
    display: none !important;
}

/* Wishlist heart — filled red when product is in wishlist.
 * The SVG uses fill="currentColor", so we set color on the anchor. */
.yith-wcwl-add-to-wishlist-button--added,
.yith-wcwl-add-to-wishlist-button--added .yith-wcwl-icon {
    color: #E91E63 !important;
    fill: #E91E63 !important;
}

/* Wishlist button circle — pink bg when product is in wishlist */
.yith-wcwl-add-to-wishlist-button--added {
    border-color: #F8BBD0 !important;
    background-color: #FCE4EC !important;
}

/* === PRODUCT META (Categories / Tags) === */
.product_meta {
    margin: 0 !important;
    padding: 0.75rem 0 0 0 !important;
    border-top: 1px solid var(--flower-border-light) !important;
    font-size: 0.7rem !important;
    color: var(--flower-text-light) !important;
    line-height: 1.5 !important;
}

.product_meta > span {
    display: block !important;
    margin: 0 0 0.2rem 0 !important;
}

.product_meta > span:last-child {
    margin-bottom: 0 !important;
}

.product_meta a {
    color: var(--flower-text-light) !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    transition: color 0.2s ease !important;
}

.product_meta a:hover {
    color: var(--flower-primary) !important;
}

/* === TABS SECTION === */
.woocommerce-tabs {
    width: 100% !important;
    margin-top: 4rem !important;
    padding-top: 2rem !important;
    border-top: 1px solid var(--flower-border) !important;
}

/* Tab Navigation */
.single-product .woocommerce-tabs ul.tabs,
.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 2rem 0 !important;
    border: none !important;
    background: var(--flower-bg) !important;
    border-radius: var(--flower-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--flower-shadow) !important;
}

.single-product .woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 !important;
    background: transparent !important;
    border: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 1rem 1.25rem !important;
    color: var(--flower-text-secondary) !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    font-size: 0.95rem !important;
    text-align: center !important;
    transition: var(--flower-transition) !important;
    background: transparent !important;
    font-family: var(--font-family) !important;
    letter-spacing: -0.025em !important;
}

.single-product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--flower-text) !important;
    background: rgba(255,255,255,0.5) !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
    color: var(--flower-text) !important;
    font-weight: 600 !important;
    background: var(--flower-white) !important;
    box-shadow: var(--flower-shadow) !important;
    border-radius: var(--flower-radius-small) !important;
    margin: 0.25rem !important;
}

.woocommerce-tabs .panel {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    color: var(--flower-text-secondary) !important;
    line-height: 1.6 !important;
}

.woocommerce-tabs .panel h2:first-child {
    display: none !important;
}

/* === RELATED PRODUCTS === */
.related.products {
    margin-top: 4rem !important;
    padding-top: 2rem !important;
    border-top: 1px solid var(--flower-border) !important;
    width: 100% !important;
}

.related.products > h2 {
    font-size: 1.375rem !important;
    margin-bottom: 1.5rem !important;
    color: var(--flower-text) !important;
    font-weight: 600 !important;
    font-family: var(--font-family) !important;
    letter-spacing: -0.025em !important;
}

/* === RESPONSIVE DESIGN === */
@media (max-width: 992px) {
    .product-top-section {
        flex-direction: column !important;
        gap: 0 !important;
    }

    .woocommerce-product-gallery,
    .summary.entry-summary {
        width: 100% !important;
        margin-right: 0 !important;
    }

    .woocommerce-product-gallery {
        position: relative !important;
        top: auto !important;
        margin-bottom: 2rem !important;
    }

    .woocommerce-tabs {
        margin-top: 3rem !important;
        padding-top: 1.5rem !important;
    }
}

@media (max-width: 768px) {
    .single-product div.product {
        padding: 1rem 0.75rem !important;
    }

    .product_title {
        font-size: 1.35rem !important;
    }

    .summary .price {
        font-size: 1.125rem !important;
    }

    .variations_form {
        padding: 16px 20px !important;
    }

    .single_variation_wrap {
        margin: 0.75rem -20px -16px -20px !important;
        padding: 16px 20px 20px !important;
        border-radius: 0 0 var(--flower-radius) var(--flower-radius) !important;
    }

    .product_meta {
        padding: 1rem !important;
    }

    /* Tabs — smaller padding on mobile */
    .single-product .woocommerce-tabs ul.tabs li a {
        padding: 0.75rem 0.75rem !important;
        font-size: 0.85rem !important;
    }

    .single-product .woocommerce-tabs ul.tabs li.active a {
        margin: 0.2rem !important;
    }

    .woocommerce-tabs {
        margin-top: 2.5rem !important;
        padding-top: 1.25rem !important;
    }

    .single-product .woocommerce-tabs ul.tabs {
        margin: 0 0 1.5rem 0 !important;
    }

    /* Thumbnails below on mobile */
    .woocommerce-product-gallery .flex-viewport {
        margin-left: 0 !important;
    }

    .flex-control-thumbs {
        position: relative !important;
        flex-direction: row !important;
        width: 100% !important;
        left: auto !important;
        top: auto !important;
        margin-top: 0.75rem !important;
    }

    .flex-control-thumbs li {
        width: calc(25% - 0.375rem) !important;
    }

    .flex-control-thumbs img {
        height: 70px !important;
    }
}

@media (max-width: 480px) {
    .product_title {
        font-size: 1.2rem !important;
    }

    /* Card form tighter on small screens */
    .variations_form {
        padding: 14px 16px !important;
    }

    /* CTA footers — match reduced form padding */
    .single_variation_wrap {
        margin: 0.5rem -16px -14px -16px !important;
        padding: 14px 16px 16px !important;
    }

    .quin-simple-cta {
        margin: 0.5rem -16px -14px -16px !important;
        padding: 14px 16px 16px !important;
    }

    .single-product form.cart:not(.variations_form) {
        padding: 14px 16px !important;
    }

    /* Subtotal font smaller */
    .single_variation_wrap .quin-subtotal strong,
    .quin-simple-cta .quin-subtotal strong {
        font-size: 1.2rem !important;
    }

    .quin-qty-btn {
        width: 32px !important;
        height: 36px !important;
        font-size: 0.875rem !important;
    }

    .quantity input[type="number"] {
        width: 34px !important;
        height: 36px !important;
        font-size: 0.8125rem !important;
    }

    .single_add_to_cart_button {
        font-size: 0.875rem !important;
        padding: 0 1rem !important;
        height: 36px !important;
    }

    .yith-wcwl-add-to-wishlist-button,
    .yith-wcwl-add-to-wishlist a {
        width: 32px !important;
        height: 32px !important;
    }

    .yith-wcwl-icon,
    .yith-wcwl-add-to-wishlist svg {
        width: 15px !important;
        height: 15px !important;
    }

    /* Tabs — stack vertically on very small screens */
    .single-product .woocommerce-tabs ul.tabs {
        flex-direction: column !important;
        border-radius: var(--flower-radius-small) !important;
    }

    .single-product .woocommerce-tabs ul.tabs li a {
        padding: 0.7rem 1rem !important;
        font-size: 0.85rem !important;
        text-align: left !important;
    }

    .single-product .woocommerce-tabs ul.tabs li.active a {
        border-radius: var(--flower-radius-small) !important;
    }

    /* Accordion toggle buttons — tighter */
    .woocommerce.single-product div.product .wccm3-wrapper .wccm3-toggle-button,
    .single-product form.cart .wc-product-bundles .wc-bundle-toggle-button {
        padding: 14px 0 !important;
        font-size: 13px !important;
    }
}

/* === CLEAN OVERRIDES === */
/* Remove all unnecessary backgrounds and borders */
.single-product div.product,
.variations tr,
.variations th,
.variations td,
.woocommerce-variation,
.woocommerce-product-gallery,
.summary.entry-summary,
.woocommerce-Tabs-panel {
    background: transparent !important;
}

/* Flex layout — clearfix no longer needed */

/* Reset Elementor overrides */
.single-product .variations,
.single-product .variations td,
.single-product .variations th,
.single-product .variations tbody > tr:nth-child(odd) > td,
.single-product .variations tbody > tr:nth-child(odd) > th,
.single-product .variations tbody tr:hover > td,
.single-product .variations tbody tr:hover > th {
    background-color: transparent !important;
}

/* Focus states */
*:focus {
    outline: none !important;
}

/* Remove pseudo-elements that might interfere */
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after,
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}


table {
    background-color: unset !important;
    border-collapse: unset !important;
    border-spacing: unset !important;
}


.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
    margin-top: 3%;
}


.woocommerce div.product form.cart .variations td.yith_wccl_layout_separate {
      padding: 8px 0px 0px 0px !important;
}


th.label.yith_wccl_layout_separate {
    padding: 0px !important;
}


/* === WC PRODUCT BUNDLES PRO ===
 * Plugin has its own card styling — only adjust spacing to fit inside our forms.
 */

/* Bundle inside form cards — strip plugin's own card styling,
 * use a top separator instead of card-in-card. */
.single-product form.cart .wc-product-bundles {
    background: transparent !important;
    border: none !important;
    border-top: 1px solid var(--flower-separator) !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    display: block !important;
}

/* Prevent our simple-card inline-flex from affecting bundle internals */
.single-product form.cart:not(.variations_form) .wc-product-bundles,
.single-product form.cart:not(.variations_form) .wc-product-bundles * {
    vertical-align: initial !important;
}

/* Bundle toggle button — match WCCM3 accordion style */
.single-product form.cart .wc-product-bundles .wc-bundle-toggle-button {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 18px 0 !important;
    margin: 0 !important;
    border: none !important;
    border-bottom: none !important;
    background: transparent !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    font-family: var(--font-family) !important;
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
}

.single-product form.cart .wc-product-bundles .wc-bundle-toggle-button:hover {
    color: var(--flower-primary) !important;
    border: none !important;
}

.single-product form.cart .wc-product-bundles .wc-bundle-toggle-button.open {
    border: none !important;
    border-bottom: none !important;
}

/* Replace +/− icon with 🎁 emoji */
.single-product form.cart .wc-product-bundles .wc-bundle-plus-icon {
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    display: inline-block !important;
    width: auto !important;
    vertical-align: middle !important;
}

.single-product form.cart .wc-product-bundles .wc-bundle-plus-icon::before {
    content: '\1F381' !important;
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif !important;
    font-size: 18px !important;
}

/* Add chevron arrow on right side — matching WCCM3 style */
.single-product form.cart .wc-product-bundles .wc-bundle-toggle-button::after {
    content: '' !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center !important;
    background-size: 18px 18px !important;
    transition: transform 0.25s ease !important;
}

.single-product form.cart .wc-product-bundles .wc-bundle-toggle-button.open::after {
    transform: rotate(180deg) !important;
}

/* === SIMPLE PRODUCT ADD-TO-CART CARD ===
 * Matches variable product .variations_form styling.
 * JS reorder script creates .quin-simple-cta wrapper for qty+button+subtotal.
 */
.single-product form.cart:not(.variations_form) {
    padding: 24px 28px !important;
    background: var(--flower-white) !important;
    border: none !important;
    border-radius: var(--flower-radius) !important;
    box-shadow: var(--flower-card-shadow) !important;
    margin: 0.75rem 0 0 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Flex ordering inside simple product card: Extras → Card Message → CTA */
.single-product form.cart:not(.variations_form) > .wc-product-bundles {
    order: 1 !important;
    border-top: none !important;
}
.single-product form.cart:not(.variations_form) > .wccm3-wrapper {
    order: 2 !important;
}
.single-product form.cart:not(.variations_form) > .quin-simple-cta {
    order: 3 !important;
}

/* CTA footer for simple products — mirrors .single_variation_wrap */
.quin-simple-cta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0.75rem !important;
    margin: 0.75rem -28px -24px -28px !important;
    padding: 20px 28px 24px !important;
    background: linear-gradient(to top, #f9f9f9, var(--flower-white)) !important;
    border-top: 1px solid var(--flower-separator) !important;
    border-radius: 0 0 var(--flower-radius) var(--flower-radius) !important;
}

/* Flex ordering inside CTA: qty(1) → subtotal(2) → button(3) */
.quin-simple-cta .quantity {
    order: 1 !important;
}
.quin-simple-cta .quin-subtotal {
    order: 2 !important;
    margin-left: auto !important;
    text-align: right !important;
    line-height: 1 !important;
    align-self: center !important;
}
.quin-simple-cta .quin-subtotal strong {
    display: block !important;
    font-size: 1.4rem !important;
    font-weight: 600 !important;
    color: var(--flower-text) !important;
    line-height: 1.2 !important;
}
.quin-simple-cta .quin-subtotal .quin-subtotal-breakdown {
    display: block !important;
    font-size: 0.75rem !important;
    color: var(--flower-text-secondary) !important;
    font-weight: 400 !important;
    margin-top: 2px !important;
}
.quin-simple-cta .single_add_to_cart_button {
    order: 3 !important;
    flex-basis: 100% !important;
    width: 100% !important;
}

/* === WCCM3 CUSTOM FIELDS (Plugin) ===
 * Flat separator style — no card-in-card. Override plugin's own card CSS.
 * Uses !important + high specificity to beat plugin's .woocommerce div.product .wccm3-wrapper
 */
.woocommerce.single-product div.product .wccm3-wrapper,
.woocommerce.single-product div.product .summary > .wccm3-wrapper {
    all: unset !important;
    display: block !important;
    box-sizing: border-box !important;
    order: 3 !important; /* restore flex order after all:unset — Size(1) → Extras(2) → CardMsg(3) → CTA(5) */
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    border-top: 1px solid var(--flower-separator) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0.85rem !important;
    color: var(--flower-text-secondary) !important;
    line-height: 1.6 !important;
    font-family: var(--font-family) !important;
    position: relative !important;
}

/* WCCM3 toggle button — accordion style matching mockup */
.woocommerce.single-product div.product .wccm3-wrapper .wccm3-toggle-header {
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce.single-product div.product .wccm3-wrapper .wccm3-toggle-button {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 18px 0 !important;
    margin: 0 !important;
    border: none !important;
    border-bottom: none !important;
    background: transparent !important;
    cursor: pointer !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #333 !important;
    font-family: var(--font-family) !important;
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
}

.woocommerce.single-product div.product .wccm3-wrapper .wccm3-toggle-button:hover {
    color: var(--flower-primary) !important;
}

.woocommerce.single-product div.product .wccm3-wrapper .wccm3-toggle-button:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

/* Replace +/- dashicon with 💌 emoji — must use emoji font to override dashicons */
.woocommerce.single-product div.product .wccm3-wrapper .wccm3-plus-icon {
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif !important;
    font-size: 18px !important;
    line-height: 1 !important;
    margin-right: 0 !important;
    display: inline-block !important;
    width: auto !important;
    vertical-align: middle !important;
}

/* Both collapsed and expanded states — beats plugin's .wccm3-expanded variant */
.woocommerce.single-product div.product .wccm3-wrapper .wccm3-plus-icon::before,
.woocommerce.single-product div.product .wccm3-wrapper.wccm3-expanded .wccm3-plus-icon::before {
    content: '💌' !important;
    font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif !important;
    font-size: 18px !important;
}

/* Hide plugin's injected chevron — we add our own via ::after */
.woocommerce.single-product div.product .wccm3-wrapper .wccm3-chevron {
    display: none !important;
}

/* Add chevron arrow on right side of toggle */
.woocommerce.single-product div.product .wccm3-wrapper .wccm3-toggle-button::after {
    content: '' !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    margin-left: auto !important;
    flex-shrink: 0 !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat center !important;
    background-size: 18px 18px !important;
    transition: transform 0.25s ease !important;
}

.woocommerce.single-product div.product .wccm3-wrapper.wccm3-expanded .wccm3-toggle-button::after {
    transform: rotate(180deg) !important;
}

/* WCCM3 content area — display controlled by .wccm3-expanded class.
 * Do NOT set display here — it overrides jQuery .hide() and prevents closing. */
.woocommerce.single-product div.product .wccm3-wrapper .wccm3-content {
    flex-wrap: wrap !important;
    align-items: baseline !important;
    padding: 0 0 4px 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Show as flex ONLY when expanded or animating */
.woocommerce.single-product div.product .wccm3-wrapper.wccm3-expanded .wccm3-content,
.woocommerce.single-product div.product .wccm3-wrapper.wccm3-animating .wccm3-content {
    display: flex !important;
}

/* WCCM3 field label — hidden, redundant with toggle text */
.woocommerce.single-product div.product .wccm3-wrapper .wccm3-field-label {
    display: none !important;
}

/* WCCM3 textarea — match mockup */
.woocommerce.single-product div.product .wccm3-wrapper .wccm3-textarea {
    width: 100% !important;
    min-height: 88px !important;
    padding: 14px 16px !important;
    border-radius: 10px !important;
    border: 1.5px solid #e0e0e0 !important;
    font-size: 14px !important;
    font-family: var(--font-family) !important;
    color: #333 !important;
    background: #fafafa !important;
    line-height: 1.5 !important;
    resize: vertical !important;
    outline: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce.single-product div.product .wccm3-wrapper .wccm3-textarea:focus {
    border-color: var(--flower-primary) !important;
    background: #fff !important;
    box-shadow: none !important;
}

/* WCCM3 counter — right side of the row */
.woocommerce.single-product div.product .wccm3-wrapper .wccm3-counter {
    order: 2 !important;
    margin-left: auto !important;
    margin-top: 8px !important;
    padding: 0 !important;
    font-size: 12px !important;
    color: #bbb !important;
    font-weight: 500 !important;
    font-variant-numeric: tabular-nums !important;
    text-align: right !important;
    background: transparent !important;
    border: none !important;
}

/* WCCM3 helper/delivery message — left side of the row
 * Uses ultra-high specificity to beat plugin's body .woocommerce div.product ... selector */
body.single-product .woocommerce.single-product div.product .wccm3-wrapper .wccm3-content .wccm3-helper,
body.single-product .woocommerce.single-product div.product .wccm3-wrapper .wccm3-content .wccm3-delivery-message {
    order: 1 !important;
    flex: 1 !important;
    display: block !important;
    margin: 8px 0 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-left: none !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 300 !important;
    color: #aaa !important;
    box-shadow: none !important;
    position: static !important;
    z-index: auto !important;
}

/* Remove emoji from delivery message — keep it minimal */
body.single-product .woocommerce.single-product div.product .wccm3-wrapper .wccm3-content .wccm3-delivery-message::before {
    display: none !important;
}

/* WCCM3 labels and inputs (fallback) */
.wccm3-wrapper label {
    font-weight: 600 !important;
    font-size: 0.8125rem !important;
    color: var(--flower-text) !important;
    display: block !important;
    margin-bottom: 0.25rem !important;
    letter-spacing: -0.025em !important;
}

.wccm3-wrapper input,
.wccm3-wrapper select,
.wccm3-wrapper textarea {
    width: 100% !important;
    padding: 0.5rem 0.75rem !important;
    border: 1.5px solid var(--flower-border) !important;
    border-radius: var(--flower-radius-small) !important;
    font-size: 0.95rem !important;
    font-family: var(--font-family) !important;
    color: var(--flower-text) !important;
    background: var(--flower-white) !important;
    transition: var(--flower-transition) !important;
}

.wccm3-wrapper input:focus,
.wccm3-wrapper select:focus,
.wccm3-wrapper textarea:focus {
    outline: none !important;
    border-color: var(--flower-primary) !important;
    box-shadow: 0 0 0 3px rgba(158, 184, 157, 0.1) !important;
}

.wccm3-wrapper textarea {
    min-height: 60px !important;
    resize: vertical !important;
}

@media (max-width: 768px) {
    .single-product form.cart:not(.variations_form) {
        padding: 16px 20px !important;
    }
    .quin-simple-cta {
        margin: 0.75rem -20px -16px -20px !important;
        padding: 16px 20px 20px !important;
    }
}
