/* WallArt2D single product — compact premium layout */
body.single-product {
    --wa-product-pumpkin:#fa7921;
    --wa-product-saffron:#fe9920;
    --wa-product-bronze:#b9a44c;
    --wa-product-fern:#566e3d;
    --wa-product-yale:#0c4767;

    --wa-product-ink:#0a344b;
    --wa-product-text:#31464f;
    --wa-product-muted:#6e797d;
    --wa-product-paper:#f8f6f0;
    --wa-product-line:rgba(12,71,103,.12);
    --wa-product-blue-soft:#edf3f5;
    --wa-product-green-soft:#eef2e9;
    --wa-product-gold-soft:#f6f1df;

    background:
        radial-gradient(circle at 8% 4%,rgba(254,153,32,.055),transparent 25rem),
        radial-gradient(circle at 93% 12%,rgba(86,110,61,.05),transparent 28rem),
        var(--wa-product-paper);
}

body.single-product #main {
    padding-top:0!important;
}

body.single-product #main > .ct-container,
body.single-product #main > .ct-container-full {
    width:min(1040px,calc(100% - 44px));
    max-width:none;
    padding-top:28px;
    padding-bottom:34px;
}

body.single-product .woocommerce-breadcrumb,
body.single-product .ct-breadcrumbs {
    margin:0 0 24px!important;
    color:var(--wa-product-muted)!important;
    font-size:10px!important;
    font-weight:750;
    letter-spacing:.07em;
    text-transform:uppercase;
}

body.single-product .woocommerce-breadcrumb a,
body.single-product .ct-breadcrumbs a {
    color:var(--wa-product-yale)!important;
}

body.single-product .woocommerce-breadcrumb a:hover,
body.single-product .ct-breadcrumbs a:hover {
    color:var(--wa-product-pumpkin)!important;
}

/* Blocksy puts gallery + summary inside .product-entry-wrapper. */
body.single-product div.product {
    display:block!important;
    width:100%!important;
    max-width:none!important;
}

body.single-product div.product::before,
body.single-product div.product::after,
body.single-product .product-entry-wrapper::before,
body.single-product .product-entry-wrapper::after {
    display:none!important;
}

body.single-product .product-entry-wrapper {
    display:grid!important;
    grid-template-columns:380px minmax(460px,540px)!important;
    justify-content:center!important;
    align-items:start!important;
    gap:clamp(28px,3vw,40px)!important;
    width:100%!important;
    max-width:960px!important;
    margin:0 auto!important;
}

body.single-product .product-entry-wrapper > .woocommerce-product-gallery,
body.single-product .product-entry-wrapper > .ct-product-gallery-container,
body.single-product .product-entry-wrapper > .entry-summary,
body.single-product .product-entry-wrapper > .summary {
    float:none!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
}

/* Gallery: Blocksy Flexy first, WooCommerce native as fallback. */
body.single-product .product-entry-wrapper > .woocommerce-product-gallery,
body.single-product .product-entry-wrapper > .ct-product-gallery-container {
    width:380px!important;
    max-width:380px!important;
    min-width:0!important;
    justify-self:end!important;
    padding:9px!important;
    border:1px solid rgba(12,71,103,.09)!important;
    border-radius:20px!important;
    background:
        radial-gradient(circle at 86% 10%,rgba(185,164,76,.07),transparent 18rem),
        linear-gradient(145deg,#fffdf8 0%,var(--wa-product-blue-soft) 100%)!important;
    box-shadow:0 16px 42px rgba(12,71,103,.085)!important;
    overflow:hidden!important;
}

/* Blocksy Flexy gallery: the visible frame itself is square. */
body.single-product .ct-product-gallery-container .flexy-view {
    width:100%!important;
    aspect-ratio:1 / 1!important;
    overflow:hidden!important;
    border-radius:13px!important;
    background:#fbfaf6!important;
}

body.single-product .ct-product-gallery-container .flexy-items {
    height:100%!important;
}

body.single-product .ct-product-gallery-container .flexy-item {
    height:100%!important;
}

body.single-product .ct-product-gallery-container .flexy-item .ct-media-container {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:100%!important;
    aspect-ratio:1 / 1!important;
    overflow:hidden!important;
    background:#fbfaf6!important;
}

body.single-product .ct-product-gallery-container .flexy-item .ct-media-container img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    max-height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
}

/* Blocksy thumbnails — target Flexy's real ol/li structure. */
body.single-product .ct-product-gallery-container .flexy-pills {
    display:block!important;
    width:100%!important;
    margin-top:10px!important;
    overflow:visible!important;
}

body.single-product .ct-product-gallery-container ol.flexy-pills,
body.single-product .ct-product-gallery-container .flexy-pills ol {
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
    overflow:visible!important;
}

body.single-product .ct-product-gallery-container ol.flexy-pills > li,
body.single-product .ct-product-gallery-container .flexy-pills ol li {
    display:block!important;
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    cursor:pointer!important;
}

body.single-product .ct-product-gallery-container .flexy-pills ol li .ct-media-container,
body.single-product .ct-product-gallery-container .flexy-pills ol li .ct-image-container {
    display:block!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    overflow:hidden!important;
    border:1px solid rgba(12,71,103,.10)!important;
    border-radius:9px!important;
    background:#fff!important;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}

body.single-product .ct-product-gallery-container .flexy-pills ol li img {
    display:block!important;
    width:100%!important;
    height:100%!important;
    aspect-ratio:1 / 1!important;
    object-fit:cover!important;
    object-position:center!important;
    border:0!important;
    border-radius:8px!important;
    background:#fff!important;
}

body.single-product .ct-product-gallery-container .flexy-pills ol li:hover .ct-media-container,
body.single-product .ct-product-gallery-container .flexy-pills ol li:hover .ct-image-container {
    border-color:rgba(250,121,33,.48)!important;
    transform:translateY(-1px);
}

body.single-product .ct-product-gallery-container .flexy-pills ol li.active .ct-media-container,
body.single-product .ct-product-gallery-container .flexy-pills ol li.active .ct-image-container {
    border-color:var(--wa-product-pumpkin)!important;
    box-shadow:0 0 0 2px rgba(250,121,33,.12)!important;
}

/* WooCommerce native gallery fallback. Do not force inherited 100% heights:
   FlexSlider calculates its own track dimensions. */
body.single-product .woocommerce-product-gallery .flex-viewport {
    width:100%!important;
    aspect-ratio:1 / 1!important;
    overflow:hidden!important;
    border-radius:13px!important;
    background:#fbfaf6!important;
}

body.single-product .woocommerce-product-gallery__wrapper {
    margin:0!important;
}

body.single-product .woocommerce-product-gallery__image {
    aspect-ratio:1 / 1!important;
    overflow:hidden!important;
    background:#fbfaf6!important;
}

body.single-product .woocommerce-product-gallery__image a {
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    aspect-ratio:1 / 1!important;
    background:#fbfaf6!important;
}

body.single-product .woocommerce-product-gallery__image img {
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    margin:0!important;
    aspect-ratio:1 / 1!important;
    object-fit:contain!important;
    object-position:center!important;
}

body.single-product .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__wrapper {
    aspect-ratio:1 / 1!important;
}

body.single-product .woocommerce-product-gallery__trigger {
    top:18px!important;
    right:18px!important;
    width:40px!important;
    height:40px!important;
    border:1px solid rgba(12,71,103,.12)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 8px 20px rgba(12,71,103,.08)!important;
}

body.single-product .flex-control-thumbs {
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:7px!important;
    margin:10px 0 0!important;
    padding:0!important;
    list-style:none!important;
}

body.single-product .flex-control-thumbs li {
    float:none!important;
    width:auto!important;
    margin:0!important;
}

body.single-product .flex-control-thumbs img {
    width:100%!important;
    aspect-ratio:1/1!important;
    object-fit:cover!important;
    border:1px solid rgba(12,71,103,.09)!important;
    border-radius:8px!important;
    background:#fff!important;
    opacity:.72!important;
    transition:opacity .18s ease,border-color .18s ease,transform .18s ease!important;
}

body.single-product .flex-control-thumbs img:hover,
body.single-product .flex-control-thumbs img.flex-active {
    opacity:1!important;
    border-color:rgba(250,121,33,.5)!important;
    transform:translateY(-1px);
}

/* Purchase panel */
body.single-product .product-entry-wrapper > .entry-summary,
body.single-product .product-entry-wrapper > .summary {
    max-width:540px!important;
    justify-self:start!important;
    padding:24px 26px!important;
    border:1px solid rgba(12,71,103,.09)!important;
    border-radius:22px!important;
    background:rgba(255,255,255,.92)!important;
    box-shadow:0 18px 48px rgba(12,71,103,.075)!important;
    backdrop-filter:blur(10px);
}

.wa-product-kicker {
    margin:0 0 9px!important;
    color:var(--wa-product-fern);
    font-size:9px;
    font-weight:850;
    letter-spacing:.15em;
    text-transform:uppercase;
}

body.single-product .product_title {
    margin:0!important;
    color:var(--wa-product-ink)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(32px,2.5vw,41px)!important;
    font-weight:400!important;
    letter-spacing:-.04em!important;
    line-height:1.04!important;
}

body.single-product div.product p.price,
body.single-product div.product span.price {
    margin:15px 0 0!important;
    color:var(--wa-product-yale)!important;
    font-size:21px!important;
    font-weight:800!important;
    line-height:1.2!important;
}

body.single-product div.product p.price del,
body.single-product div.product span.price del {
    color:var(--wa-product-muted)!important;
    opacity:.52!important;
    font-weight:400!important;
}

body.single-product div.product p.price ins,
body.single-product div.product span.price ins {
    color:var(--wa-product-pumpkin)!important;
    text-decoration:none!important;
}

body.single-product .woocommerce-product-details__short-description {
    margin-top:18px!important;
    padding-top:17px!important;
    border-top:1px solid var(--wa-product-line)!important;
    color:var(--wa-product-text)!important;
    font-size:15px!important;
    line-height:1.68!important;
}

body.single-product .woocommerce-product-details__short-description p {
    margin:0!important;
}

/* Compact reassurance: clear customer-facing benefits. */
.wa-product-reassurance {
    display:flex;
    flex-wrap:wrap;
    gap:8px 10px;
    margin:16px 0 0;
    padding:0;
    list-style:none;
}

.wa-product-reassurance li {
    display:inline-flex;
    align-items:center;
    gap:7px;
    min-height:34px;
    padding:7px 10px;
    border:1px solid rgba(12,71,103,.08);
    border-radius:999px;
    color:var(--wa-product-ink);
    background:#fbfcfa;
    font-size:10px;
    font-weight:700;
    line-height:1.2;
}

.wa-product-reassurance li > span {
    display:grid;
    width:19px;
    height:19px;
    flex:0 0 19px;
    place-items:center;
    border-radius:50%;
    color:var(--wa-product-yale);
    background:var(--wa-product-blue-soft);
    font-size:8px;
    font-weight:900;
}

.wa-product-reassurance li:nth-child(2) > span {
    color:var(--wa-product-fern);
    background:var(--wa-product-green-soft);
}

.wa-product-reassurance li:nth-child(3) > span {
    color:#927516;
    background:var(--wa-product-gold-soft);
}

/* Main cart action — Blocksy wraps quantity + CTA in .ct-cart-actions. */
body.single-product form.cart {
    display:block!important;
    margin:20px 0 0!important;
    padding-top:18px!important;
    border-top:1px solid var(--wa-product-line)!important;
}

body.single-product form.cart .ct-cart-actions {
    display:grid!important;
    grid-template-columns:108px minmax(0,1fr)!important;
    gap:10px!important;
    align-items:stretch!important;
    width:100%!important;
}

body.single-product .quantity {
    position:relative!important;
    display:grid!important;
    grid-template-columns:30px 1fr 30px!important;
    grid-template-areas:"decrease input increase"!important;
    align-items:center!important;
    width:108px!important;
    min-width:108px!important;
    min-height:44px!important;
    margin:0!important;
    border:1px solid rgba(12,71,103,.14)!important;
    border-radius:10px!important;
    background:#fff!important;
    overflow:hidden!important;
}

body.single-product .quantity input.qty {
    grid-area:input!important;
    width:100%!important;
    min-width:0!important;
    height:42px!important;
    padding:0!important;
    border:0!important;
    color:var(--wa-product-ink)!important;
    background:transparent!important;
    box-shadow:none!important;
    font-size:13px!important;
    font-weight:750!important;
    text-align:center!important;
    appearance:textfield!important;
    -moz-appearance:textfield!important;
}

body.single-product .quantity .ct-increase,
body.single-product .quantity .ct-decrease,
body.single-product .quantity button,
body.single-product .quantity [class*="plus"],
body.single-product .quantity [class*="minus"] {
    display:grid!important;
    position:absolute!important;
    top:0!important;
    z-index:2!important;
    height:42px!important;
    width:30px!important;
    min-width:30px!important;
    place-items:center!important;
    padding:0!important;
    color:var(--wa-product-yale)!important;
    background:transparent!important;
    box-shadow:none!important;
    cursor:pointer!important;
    user-select:none!important;
}

body.single-product .quantity .ct-decrease {
    left:0!important;
    grid-area:decrease!important;
}

body.single-product .quantity .ct-increase {
    right:0!important;
    grid-area:increase!important;
}

/* Blocksy's Woo icon font can fall back to an underscore when its font is
   delayed or replaced by a theme update. Draw stable CSS controls instead. */
body.single-product .quantity .ct-increase::before,
body.single-product .quantity .ct-decrease::before {
    content:""!important;
    display:block!important;
    width:12px!important;
    height:2px!important;
    border-radius:2px!important;
    background:currentColor!important;
    font-family:inherit!important;
}

body.single-product .quantity .ct-increase::after {
    content:""!important;
    position:absolute!important;
    width:2px!important;
    height:12px!important;
    border-radius:2px!important;
    background:currentColor!important;
}

body.single-product .single_add_to_cart_button {
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:0 18px!important;
    border:0!important;
    border-radius:10px!important;
    color:#fff!important;
    background:linear-gradient(110deg,var(--wa-product-pumpkin),var(--wa-product-saffron) 76%,#e5a229)!important;
    box-shadow:0 10px 22px rgba(250,121,33,.17)!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.1!important;
    white-space:nowrap!important;
    transition:transform .18s ease,box-shadow .18s ease!important;
}

body.single-product .single_add_to_cart_button:hover {
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(250,121,33,.23)!important;
}

/* Preserve payment providers' native compact layout and branding. */
body.single-product .product-entry-wrapper > .entry-summary iframe,
body.single-product .product-entry-wrapper > .summary iframe {
    display:block!important;
    width:100%!important;
    max-width:330px!important;
    margin-left:0!important;
    margin-right:auto!important;
}

body.single-product .wc-stripe-product-checkout-container,
body.single-product .ppc-button-wrapper,
body.single-product #wc-stripe-payment-request-wrapper,
body.single-product #wcpay-express-checkout-wrapper,
body.single-product .wcpay-express-checkout-wrapper {
    width:100%!important;
    max-width:330px!important;
    margin:10px auto 0 0!important;
}

body.single-product .wc-stripe-product-checkout-container iframe,
body.single-product .ppc-button-wrapper iframe,
body.single-product #wc-stripe-payment-request-wrapper iframe,
body.single-product #wcpay-express-checkout-wrapper iframe,
body.single-product .wcpay-express-checkout-wrapper iframe {
    max-width:330px!important;
}

body.single-product .product-entry-wrapper > .entry-summary [class*="express"],
body.single-product .product-entry-wrapper > .entry-summary [class*="payment-request"],
body.single-product .product-entry-wrapper > .entry-summary [class*="amazon"],
body.single-product .product-entry-wrapper > .entry-summary [class*="paypal"],
body.single-product .product-entry-wrapper > .entry-summary [id*="express"],
body.single-product .product-entry-wrapper > .entry-summary [id*="payment-request"],
body.single-product .product-entry-wrapper > .entry-summary [id*="amazon"],
body.single-product .product-entry-wrapper > .entry-summary [id*="paypal"] {
    max-width:330px!important;
}


/* Metadata */
body.single-product .product_meta {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 16px!important;
    margin:22px 0 0!important;
    padding:17px 0 0!important;
    border-top:1px solid var(--wa-product-line)!important;
    color:var(--wa-product-muted)!important;
    font-size:9px!important;
    font-weight:700!important;
    letter-spacing:.06em!important;
    text-transform:uppercase!important;
}

body.single-product .product_meta > span {
    display:block!important;
}

body.single-product .product_meta a {
    color:var(--wa-product-yale)!important;
    font-weight:800!important;
}

/* Description / reviews */
body.single-product .woocommerce-tabs {
    width:min(1020px,100%)!important;
    margin:36px auto 0!important;
    padding:0!important;
    border:1px solid rgba(12,71,103,.08)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 14px 38px rgba(12,71,103,.055)!important;
    overflow:hidden!important;
}

body.single-product .woocommerce-tabs ul.tabs {
    display:flex!important;
    justify-content:center!important;
    gap:6px!important;
    margin:0!important;
    padding:10px 18px 0!important;
    border:0!important;
    background:linear-gradient(180deg,#fbfaf6,#fff)!important;
}

body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
    display:none!important;
}

body.single-product .woocommerce-tabs ul.tabs li {
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
    display:block!important;
    padding:13px 17px!important;
    border-bottom:2px solid transparent!important;
    color:var(--wa-product-muted)!important;
    font-size:10px!important;
    font-weight:800!important;
    letter-spacing:.065em!important;
    text-transform:uppercase!important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
    border-bottom-color:var(--wa-product-pumpkin)!important;
    color:var(--wa-product-yale)!important;
}

body.single-product .woocommerce-Tabs-panel {
    max-width:900px!important;
    margin:0 auto!important;
    padding:32px 36px 38px!important;
    color:var(--wa-product-text)!important;
    font-size:15px!important;
    line-height:1.78!important;
}

body.single-product .woocommerce-Tabs-panel h2 {
    margin-top:0!important;
    color:var(--wa-product-ink)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-weight:400!important;
}

/* Related products / upsells */
body.single-product .related.products,
body.single-product .upsells.products {
    width:min(1180px,100%)!important;
    margin:48px auto 0!important;
}

body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
    margin:0 0 22px!important;
    color:var(--wa-product-ink)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:clamp(28px,2.8vw,40px)!important;
    font-weight:400!important;
    letter-spacing:-.03em!important;
}

body.single-product .related.products ul.products,
body.single-product .upsells.products ul.products {
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
}

body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product {
    width:auto!important;
    margin:0!important;
    padding:9px 9px 16px!important;
    border:1px solid rgba(12,71,103,.08)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 10px 26px rgba(12,71,103,.05)!important;
}

body.single-product .related.products ul.products li.product img,
body.single-product .upsells.products ul.products li.product img {
    width:100%!important;
    aspect-ratio:1/1!important;
    object-fit:contain!important;
    border-radius:11px!important;
    background:var(--wa-product-blue-soft)!important;
}

body.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product .upsells.products ul.products li.product .woocommerce-loop-product__title {
    color:var(--wa-product-ink)!important;
    font-family:Georgia,"Times New Roman",serif!important;
    font-size:18px!important;
    font-weight:400!important;
}

body.single-product .related.products ul.products li.product .price,
body.single-product .upsells.products ul.products li.product .price {
    color:var(--wa-product-yale)!important;
    font-size:14px!important;
    font-weight:750!important;
}

@media (max-width:1080px) {
    body.single-product #main > .ct-container,
    body.single-product #main > .ct-container-full {
        width:calc(100% - 40px);
    }

    body.single-product .product-entry-wrapper {
        grid-template-columns:350px minmax(390px,1fr)!important;
        gap:22px!important;
    }

    body.single-product .product-entry-wrapper > .woocommerce-product-gallery,
    body.single-product .product-entry-wrapper > .ct-product-gallery-container {
        width:350px!important;
        max-width:350px!important;
    }

    .wa-product-reassurance {
        grid-template-columns:1fr!important;
    }
}

@media (max-width:820px) {
    body.single-product #main > .ct-container,
    body.single-product #main > .ct-container-full {
        width:calc(100% - 32px);
        padding-top:28px;
        padding-bottom:58px;
    }

    body.single-product .product-entry-wrapper {
        grid-template-columns:1fr!important;
        gap:24px!important;
        max-width:700px!important;
    }

    body.single-product .product-entry-wrapper > .woocommerce-product-gallery,
    body.single-product .product-entry-wrapper > .ct-product-gallery-container,
    body.single-product .product-entry-wrapper > .entry-summary,
    body.single-product .product-entry-wrapper > .summary {
        max-width:460px!important;
        justify-self:center!important;
    }

    body.single-product .woocommerce-product-gallery__image img {
        height:100%!important;
    }

    body.single-product .related.products ul.products,
    body.single-product .upsells.products ul.products {
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

@media (max-width:620px) {
    body.single-product #main > .ct-container,
    body.single-product #main > .ct-container-full {
        width:calc(100% - 20px);
        padding-top:20px;
        padding-bottom:46px;
    }

    body.single-product .woocommerce-breadcrumb,
    body.single-product .ct-breadcrumbs {
        margin-bottom:16px!important;
        font-size:8px!important;
    }

    body.single-product .product-entry-wrapper > .woocommerce-product-gallery,
    body.single-product .product-entry-wrapper > .ct-product-gallery-container {
        width:100%!important;
        max-width:100%!important;
        padding:6px!important;
        border-radius:16px!important;
    }

    body.single-product .woocommerce-product-gallery__image,
    body.single-product .woocommerce-product-gallery__image a {
        border-radius:11px!important;
    }

    body.single-product .woocommerce-product-gallery__image img {
        max-height:none!important;
    }

    body.single-product .flex-control-thumbs {
        grid-template-columns:repeat(4,minmax(0,1fr))!important;
        gap:6px!important;
    }

    body.single-product .product-entry-wrapper > .entry-summary,
    body.single-product .product-entry-wrapper > .summary {
        max-width:100%!important;
        padding:22px 19px!important;
        border-radius:17px!important;
    }

    body.single-product .product_title {
        font-size:clamp(34px,11vw,44px)!important;
    }

    body.single-product div.product p.price,
    body.single-product div.product span.price {
        font-size:21px!important;
    }

    body.single-product form.cart {
        margin-top:18px!important;
        padding-top:18px!important;
    }

    body.single-product form.cart .ct-cart-actions {
        grid-template-columns:104px minmax(0,1fr)!important;
        gap:8px!important;
    }

    body.single-product .quantity {
        width:104px!important;
        min-width:104px!important;
        max-width:104px!important;
    }

    body.single-product .product_meta {
        grid-template-columns:1fr!important;
    }

    body.single-product .woocommerce-tabs {
        margin-top:34px!important;
        border-radius:15px!important;
    }

    body.single-product .woocommerce-tabs ul.tabs {
        overflow-x:auto!important;
        justify-content:flex-start!important;
        padding-inline:10px!important;
    }

    body.single-product .woocommerce-tabs ul.tabs li a {
        white-space:nowrap!important;
        padding-inline:12px!important;
    }

    body.single-product .woocommerce-Tabs-panel {
        padding:25px 20px 30px!important;
        font-size:14px!important;
    }

    body.single-product .related.products ul.products,
    body.single-product .upsells.products ul.products {
        grid-template-columns:1fr!important;
    }
}

@media (prefers-reduced-motion:reduce) {
    body.single-product *,
    body.single-product *::before,
    body.single-product *::after {
        transition:none!important;
        animation:none!important;
        scroll-behavior:auto!important;
    }

    body.single-product .single_add_to_cart_button:hover,
    body.single-product .flex-control-thumbs img:hover {
        transform:none!important;
    }
}


/* Quantity controls: stable hover/focus states */
body.single-product .quantity .ct-increase,
body.single-product .quantity .ct-decrease,
body.single-product .quantity button,
body.single-product .quantity [class*="plus"],
body.single-product .quantity [class*="minus"] {
    color:var(--wa-product-yale)!important;
    background:transparent!important;
    background-color:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    transform:none!important;
    outline:none!important;
}

body.single-product .quantity .ct-increase:hover,
body.single-product .quantity .ct-increase:focus,
body.single-product .quantity .ct-increase:active,
body.single-product .quantity .ct-decrease:hover,
body.single-product .quantity .ct-decrease:focus,
body.single-product .quantity .ct-decrease:active,
body.single-product .quantity button:hover,
body.single-product .quantity button:focus,
body.single-product .quantity button:active,
body.single-product .quantity [class*="plus"]:hover,
body.single-product .quantity [class*="plus"]:focus,
body.single-product .quantity [class*="plus"]:active,
body.single-product .quantity [class*="minus"]:hover,
body.single-product .quantity [class*="minus"]:focus,
body.single-product .quantity [class*="minus"]:active {
    color:var(--wa-product-pumpkin)!important;
    background:transparent!important;
    background-color:transparent!important;
    box-shadow:none!important;
    filter:none!important;
    transform:none!important;
    outline:none!important;
}
