/* Shared finish for storefront calls to action; keep existing sizing. */
:is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn:is(.ty-orange-btn, .ty-white-btn, .ty-green-btn, .js-pc-builder-add-cart),
main.ty-content .ty-home-build-sect a.ty-btn,
main.ty-content .js-pc-builder-clear-all {
    border-radius:9px !important; border-style:solid; border-width:1px;
    color:#fff; text-decoration:none;
    box-shadow:inset 0 1px 0 #ffffff20, 0 3px 8px #0003;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
:is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn:is(.ty-orange-btn, .ty-green-btn, .js-pc-builder-add-cart) {
    background:linear-gradient(180deg, #b3541b 0%, #8e3d12 100%); border-color:#cf763f;
}
:is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn.ty-white-btn,
main.ty-content .ty-home-build-sect a.ty-btn:not(.ty-orange-btn),
main.ty-content .js-pc-builder-clear-all {
    background:linear-gradient(180deg, #303036 0%, #202024 100%); border-color:#8b8b95; color:#fff;
}
:is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn:is(.ty-orange-btn, .ty-white-btn, .ty-green-btn, .js-pc-builder-add-cart) > :is(span, i) { color:inherit; }
@media(hover:hover) {
    :is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn:is(.ty-orange-btn, .ty-white-btn, .ty-green-btn, .js-pc-builder-add-cart):not(:disabled):not(.disabled):hover,
    main.ty-content .ty-home-build-sect a.ty-btn:hover,
    main.ty-content .js-pc-builder-clear-all:not(:disabled):hover {
        transform:translateY(-2px); filter:brightness(1.08); border-color:#e3b394;
        box-shadow:inset 0 1px 0 #ffffff24, 0 6px 14px #0005;
    }
    :is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn.ty-white-btn:not(:disabled):hover { border-color:#d5d5de; }
}
:is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn:is(.ty-orange-btn, .ty-white-btn, .ty-green-btn, .js-pc-builder-add-cart):focus-visible,
main.ty-content .ty-home-build-sect a.ty-btn:focus-visible,
main.ty-content .js-pc-builder-clear-all:focus-visible { outline:2px solid #fff; outline-offset:3px; }
:is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn:is(.ty-orange-btn, .ty-white-btn, .ty-green-btn, .js-pc-builder-add-cart):disabled {
    opacity:.55; cursor:not-allowed; transform:none; filter:none;
}
@media(prefers-reduced-motion:reduce) {
    :is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn:is(.ty-orange-btn, .ty-white-btn, .ty-green-btn, .js-pc-builder-add-cart),
    main.ty-content .ty-home-build-sect a.ty-btn,
    main.ty-content .js-pc-builder-clear-all { transition:none; }
    :is(main.ty-content, .ty-modal, .ty-side-modal) .ty-btn:is(.ty-orange-btn, .ty-white-btn, .ty-green-btn, .js-pc-builder-add-cart):hover,
    main.ty-content .ty-home-build-sect a.ty-btn:hover,
    main.ty-content .js-pc-builder-clear-all:hover { transform:none; }
}

/* Purchase actions: restrained colour, tactile borders and consistent touch targets. */
main.ty-content button.ty-btn:is(.js-add-quote-btn, .js-buy-now) {
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    min-height:44px; box-sizing:border-box;
    padding:10px 18px !important; border:1px solid transparent;
    border-radius:9px !important; font-weight:600 !important; line-height:1.25;
    color:#fff; text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
main.ty-content button.ty-btn.js-add-quote-btn {
    background:linear-gradient(180deg, #b3541b 0%, #8e3d12 100%);
    border-color:#cf763f;
    box-shadow:inset 0 1px 0 #ffffff20, 0 3px 8px #0003;
}
main.ty-content button.ty-btn.js-buy-now {
    background:linear-gradient(180deg, #303036 0%, #202024 100%);
    border-color:#8b8b95; color:#fff;
    box-shadow:inset 0 1px 0 #ffffff12, 0 3px 8px #0003;
}
main.ty-content button.ty-btn:is(.js-add-quote-btn, .js-buy-now) > span {
    color:inherit; font-weight:inherit; line-height:inherit;
}
main.ty-content button.ty-btn:is(.js-add-quote-btn, .js-buy-now) > i {
    color:inherit; font-size:.85em; margin:0;
}
@media(hover:hover) {
    main.ty-content button.ty-btn:is(.js-add-quote-btn, .js-buy-now):not(:disabled):hover {
        transform:translateY(-2px); filter:brightness(1.08);
        box-shadow:inset 0 1px 0 #ffffff24, 0 6px 14px #0005;
    }
    main.ty-content button.ty-btn.js-add-quote-btn:not(:disabled):hover { border-color:#eea575; }
    main.ty-content button.ty-btn.js-buy-now:not(:disabled):hover { border-color:#d5d5de; }
}
main.ty-content button.ty-btn:is(.js-add-quote-btn, .js-buy-now):focus-visible {
    outline:2px solid #fff; outline-offset:3px;
}
main.ty-content button.ty-btn:is(.js-add-quote-btn, .js-buy-now):not(:disabled):active {
    transform:translateY(0); filter:brightness(.96); box-shadow:inset 0 1px 3px #0004;
}
main.ty-content button.ty-btn:is(.js-add-quote-btn, .js-buy-now):disabled {
    opacity:.55; cursor:not-allowed; transform:none; filter:none;
}
@media(max-width:599px) {
    main.ty-content :is(.ty-product-block, .ty-product-block-min) button.ty-btn.js-add-quote-btn {
        padding:10px 6px !important;
    }
}
@media(prefers-reduced-motion:reduce) {
    main.ty-content button.ty-btn:is(.js-add-quote-btn, .js-buy-now) { transition:none; }
    main.ty-content button.ty-btn:is(.js-add-quote-btn, .js-buy-now):hover { transform:none; }
}

/* Preserve the original compact product-page actions on mobile. */
@media(max-width:959px) {
    main.ty-content .product-title-actions { gap:1rem; }
    main.ty-content .product-title-actions button.ty-btn:is(.js-add-quote-btn, .js-buy-now) {
        flex:0 1 auto; display:flex; min-height:0; width:auto;
        padding:8px .7rem !important; gap:5px;
        font-size:16px; font-weight:700 !important; line-height:normal;
    }
    main.ty-content .product-title-actions button.ty-btn:is(.js-add-quote-btn, .js-buy-now) > i { font-size:1em; }
}

/* Component selection and review actions share the purchase-button finish. */
main.ty-content :is(button:is([data-pc-builder-component-trigger], [data-pc-builder-remove-product]), a.ty-reviews-button) {
    border-radius:9px !important; border:1px solid #8b8b95;
    background:linear-gradient(180deg, #303036 0%, #202024 100%); color:#fff;
    box-shadow:inset 0 1px 0 #ffffff12, 0 3px 8px #0003; text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
}
main.ty-content a.ty-reviews-button[data-all-reviews] {
    background:linear-gradient(180deg, #b3541b 0%, #8e3d12 100%); border-color:#cf763f;
    box-shadow:inset 0 1px 0 #ffffff20, 0 3px 8px #0003;
}
main.ty-content button:is([data-pc-builder-component-trigger], [data-pc-builder-remove-product]) > :is(span, i) { color:inherit; }
@media(hover:hover) {
    main.ty-content :is(button:is([data-pc-builder-component-trigger], [data-pc-builder-remove-product]), a.ty-reviews-button):not(:disabled):hover {
        transform:translateY(-2px); filter:brightness(1.08); border-color:#d5d5de;
        box-shadow:inset 0 1px 0 #ffffff24, 0 6px 14px #0005;
    }
    main.ty-content a.ty-reviews-button[data-all-reviews]:hover { border-color:#eea575; }
}
main.ty-content :is(button:is([data-pc-builder-component-trigger], [data-pc-builder-remove-product]), a.ty-reviews-button):focus-visible {
    outline:2px solid #fff; outline-offset:3px;
}
main.ty-content button:is([data-pc-builder-component-trigger], [data-pc-builder-remove-product]):disabled { opacity:.55; cursor:not-allowed; transform:none; }
@media(prefers-reduced-motion:reduce) {
    main.ty-content :is(button:is([data-pc-builder-component-trigger], [data-pc-builder-remove-product]), a.ty-reviews-button) { transition:none; }
    main.ty-content :is(button:is([data-pc-builder-component-trigger], [data-pc-builder-remove-product]), a.ty-reviews-button):hover { transform:none; }
}

/* Desktop header utilities retain their compact sizing. */
@media(min-width:960px) {
    #ty-header-desktop :is(.ty-header-call, .ty-header-cart-block),
    #ty-header-desktop .ty-header-desktop-login-block > a {
        border-radius:9px; border:1px solid #8b8b95;
        background:linear-gradient(180deg, #303036 0%, #202024 100%); color:#fff;
        box-shadow:inset 0 1px 0 #ffffff12, 0 3px 8px #0003;
        transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease;
    }
    #ty-header-desktop .ty-header-cart-block {
        background:linear-gradient(180deg, #b3541b 0%, #8e3d12 100%); border-color:#cf763f;
        box-shadow:inset 0 1px 0 #ffffff20, 0 3px 8px #0003;
    }
    #ty-header-desktop :is(.ty-header-call, .ty-header-cart-block) > :is(span, i),
    #ty-header-desktop .ty-header-desktop-login-block > a > :is(span, i) { color:inherit; }
    #ty-header-desktop :is(.ty-header-call, .ty-header-cart-block):focus-visible,
    #ty-header-desktop .ty-header-desktop-login-block > a:focus-visible { outline:2px solid #fff; outline-offset:3px; }
}
@media(min-width:960px) and (hover:hover) {
    #ty-header-desktop :is(.ty-header-call, .ty-header-cart-block):hover,
    #ty-header-desktop .ty-header-desktop-login-block > a:hover {
        transform:translateY(-2px); filter:brightness(1.08); border-color:#d5d5de;
        box-shadow:inset 0 1px 0 #ffffff24, 0 6px 14px #0005;
    }
    #ty-header-desktop .ty-header-cart-block:hover { border-color:#eea575; }
}
@media(min-width:960px) and (prefers-reduced-motion:reduce) {
    #ty-header-desktop :is(.ty-header-call, .ty-header-cart-block),
    #ty-header-desktop .ty-header-desktop-login-block > a { transition:none; }
    #ty-header-desktop :is(.ty-header-call, .ty-header-cart-block):hover,
    #ty-header-desktop .ty-header-desktop-login-block > a:hover { transform:none; }
}
