/* Touch sizes and readable copy; desktop and WooCommerce behaviour stay intact. */
@media (max-width:767px) {
    /* Inputs already share a 50px height and 16px font in form-fields.css. */
    body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form, .themore-passwordless-form, .tm-sms-demo, .tm-cart-coupon) :is(.themore-passwordless-form__label, .tm-contact-label, .form-row>label, .tm-order-coupon-form>label, .tm-checkout-coupon>label, .tm-cart-coupon>label) {
        font-size:14px!important;line-height:1.45!important;
    }
    body :is(.tm-auth-field-hint, .tm-field-feedback, .tm-auth-sent-hint, .tm-sms-demo__hint, .tm-sms-demo__status, .tm-checkout-address-hint, .tm-checkout-map-caption, .tm-checkout-bonus-hint, .tm-order-delivery-note),
    body #login :is(.tm-field-feedback, .tm-auth-sent-hint, .tm-sms-demo__hint, .tm-sms-demo__status) {font-size:14px;line-height:1.5}
    body .tm-auth-consent, body #login .tm-auth-consent,
    body .account__form .themore-checkout-consents label.checkbox,
    body .tm-checkout .themore-checkout-consents label {min-height:44px;font-size:14px!important;line-height:1.5!important}
    body :is(#login, .tm-sms-demo, .account__form, form.tm-checkout, .tm-order-coupon-form, .woocommerce-cart-form) .tm-auth-primary {font-size:16px!important}
    body :is(.tm-order-bonuses p, .tm-order-total-lines>div, .tm-order-applied-coupon, .tm-checkout-applied-coupon) {font-size:14px;line-height:1.45}
    body :is(.tm-order-remove-coupon, .tm-checkout-bonus-hint button, .tm-order-bonuses button, .tm-order-bonuses a, .tm-sms-demo__link, .tm-auth-change-email, .tm-auth-back),
    body #login :is(.tm-sms-demo__link, .tm-auth-change-email, .tm-auth-back, .themore-passkey-login-form button, .themore-passwordless-form button.tm-auth-secondary),
    body .tm-sms-demo .themore-passkey-login-form button {min-height:44px;font-size:14px}

    /* The menu stays two-column, with room for fingers and multi-digit prices. */
    body.product-catalog-scroll-page .product-catalog .shop-products ul.products li.product .woocommerce-loop-product__title {font-size:16px!important;line-height:1.35}
    body.product-catalog-scroll-page .product-catalog .shop-products .product :is(.product-dop-info, .product-short-description, .product-nutrition) {font-size:14px;line-height:1.45}
    body.product-catalog-scroll-page .product-catalog .tabs-head .tab-name {min-height:48px;font-size:16px}
    body.product-catalog-scroll-page .product-catalog .tabs-wrapper :is(.swiper-button-prev, .swiper-button-next) {min-width:44px}
    body header .menu__icon {width:44px;height:44px}
    body header .menu__icon .toggle {width:44px;height:44px;display:block}
    body header .menu__icon .toggle span,
    body header .menu__icon .toggle::before,
    body header .menu__icon .toggle::after {width:22px!important;left:11px;height:2px}
    body header .menu__icon .toggle::before {top:14px}
    body header .menu__icon .toggle span {top:21px}
    body header .menu__icon .toggle::after {bottom:14px}
    html.menu-open body header .menu__icon .toggle span {width:0!important}
    html.menu-open body header .menu__icon .toggle::before {top:21px}
    html.menu-open body header .menu__icon .toggle::after {bottom:21px}
    body header .header-center .menu-top-menu-container {width:min(360px,100vw);max-width:100%;padding:76px 20px 24px;background:#03465e;border-radius:22px 0 0 22px;box-shadow:-12px 0 40px #002b3b26;overscroll-behavior:contain}
    body header .menu-top-menu-container .menu {align-items:stretch;gap:8px;margin-bottom:24px}
    body header .menu-top-menu-container .menu a {display:flex;align-items:center;justify-content:flex-end;min-height:48px;padding:10px 14px;border-radius:12px;background:#ffffff08;font-size:18px;line-height:1.5}
    body header .menu-top-menu-container .menu .sub-menu a {font-size:16px;margin-top:6px}
    body header .menu-top-menu-container .header__action a.header__button {min-height:48px;padding:12px 14px;border-radius:12px;font-size:16px}
    body :is(.product-catalog, .tm-product-pairing, .tm-order-drawer) .tm-order-control {
        --tm-control-gap:2px!important;position:relative;align-items:flex-start;gap:var(--tm-control-gap);padding:4px;
        transition:padding-bottom .26s var(--tm-order-ease);
    }
    body :is(.product-catalog, .tm-product-pairing, .tm-order-drawer) .tm-order-control .tm-order-step {width:44px!important;height:44px!important;font-size:24px;border-radius:11px}
    /* Do not set min-width on the minus: its zero state must still collapse. */
    body :is(.product-catalog, .tm-product-pairing, .tm-order-drawer) .tm-order-control .tm-order-amount {min-height:44px;justify-content:center;font-size:16px!important;font-weight:400}
    body :is(.product-catalog, .tm-product-pairing, .tm-order-drawer) .tm-order-control .tm-order-price {font-size:16px;line-height:1.3;white-space:nowrap}
    body :is(.product-catalog, .tm-product-pairing, .tm-order-drawer) .tm-order-control.has-items {padding-bottom:30px!important}
    body :is(.product-catalog, .tm-product-pairing, .tm-order-drawer) .tm-order-control.has-items .tm-order-price {position:absolute;left:4px;right:4px;bottom:8px;text-align:center;font-size:14px;transform:none;transition:none}
    body.single-product .tm-product-pairing h3 {font-size:16px;line-height:1.4}
    body.single-product .tm-product-pairing__label {font-size:13px;line-height:1.4}
    body.single-product .tm-product-pairing__choose {min-height:48px;display:flex;align-items:center;justify-content:center;font-size:15px}
    body.single-product .shop-product .single-two form.cart .qib-button-wrapper button.qib-button {min-width:44px!important;width:44px!important;min-height:44px!important;height:44px!important}

    /* Image/name above, quantity/remove below: no cramped three-way row. */
    body .tm-order-drawer .tm-order-product,
    body .tm-checkout-line {display:grid;grid-template-columns:60px minmax(0,1fr);gap:12px;align-items:center}
    body .tm-order-drawer .tm-order-product-image,
    body .tm-order-drawer .tm-order-product-image img {width:60px!important;height:60px!important}
    body .tm-order-drawer .tm-order-product-info,
    body .tm-checkout-line-name {font-size:16px;line-height:1.4;overflow-wrap:anywhere}
    body .tm-order-drawer .tm-order-product-info strong {font-size:16px}
    body .tm-order-line-actions,
    body .tm-checkout-line-actions {grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px}
    body .tm-order-line-stepper,
    body .tm-checkout-stepper {gap:4px;padding:4px;border-radius:13px;background:#f5f4f1}
    body .tm-order-line-stepper .tm-order-step,
    body .tm-checkout-stepper button {width:44px;height:44px;border-radius:10px;font-size:24px}
    body .tm-order-line-stepper>span,
    body .tm-checkout-stepper>span {min-width:32px;text-align:center;font-size:16px}
    body .tm-order-drawer .tm-order-remove,
    body .tm-checkout-line-actions>.tm-order-remove {min-width:64px;min-height:44px;padding:10px 8px;font-size:14px;color:#657c85}
    body .tm-order-drawer .tm-order-close,
    body .tm-order-clear {width:44px;height:44px}
    body .tm-order-heading {gap:10px}
    body .tm-order-suggestion {flex-basis:164px}
    body .tm-order-suggestion-name {font-size:15px;line-height:1.4;padding:10px}
    body .tm-order-suggestion>img {height:112px}
    body .tm-order-drawer.xoo-wsc-container {top:var(--tm-viewport-top,0)!important;height:var(--tm-viewport-height,100dvh)!important;max-height:var(--tm-viewport-height,100dvh)}

    /* Full cart uses the whole lower row for the enlarged stepper. */
    body.woocommerce-cart .woocommerce-cart-form__contents tr.cart_item {
        grid-template-columns:58px minmax(0,1fr) 44px;
        grid-template-areas:"thumb name remove" "qty qty subtotal";gap:14px 10px;
    }
    body.woocommerce-cart .woocommerce-cart-form__contents td.product-name {font-size:16px;line-height:1.4;overflow-wrap:anywhere;text-align:left!important}
    body.woocommerce-cart .woocommerce-cart-form__contents tr.cart_item td.product-price {display:none!important}
    body.woocommerce-cart .woocommerce-cart-form__contents td.product-subtotal {font-size:16px;min-width:max-content}
    body.woocommerce-cart .woocommerce-cart-form__contents td.product-remove a.remove {width:44px!important;height:44px!important;font-size:24px}
    body.woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .qib-button-wrapper {height:54px!important;padding:4px!important;gap:2px!important}
    body.woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .qib-button-wrapper button.qib-button {flex-basis:44px!important;width:44px!important;min-width:44px!important;height:44px!important;font-size:24px!important}
    body.woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .qib-button-wrapper .quantity {flex-basis:40px!important;width:40px!important;min-width:40px!important;height:44px!important}
    body.woocommerce-cart .woocommerce-cart-form__contents td.product-quantity .qib-button-wrapper .quantity input.input-text.qty.text {width:40px!important;min-width:40px!important;height:44px!important;min-height:44px!important;font-size:16px!important;line-height:44px!important}

    body .tm-checkout .tm-checkout-contact-group {grid-template-columns:minmax(0,1fr)}
    body .tm-checkout-summary {font-size:14px;line-height:1.5;gap:10px}
    body .tm-checkout-summary>span:last-child {font-size:14px}
    body .tm-checkout-page-heading>a {display:inline-flex;align-items:center;min-height:44px;font-size:15px}
    body .tm-checkout-page #payment ul.payment_methods li label {display:inline-flex;align-items:center;min-height:44px;font-size:16px}
    body .tm-checkout-page #payment div.payment_box {font-size:14px;line-height:1.5}
    body .tm-checkout-map-heading span {font-size:14px}
    body .tm-checkout-delivery-status {font-size:14px}
    body .tm-checkout-dialog {top:var(--tm-viewport-top,0);bottom:auto;height:var(--tm-viewport-height,100dvh);box-sizing:border-box;padding:12px}
    body .tm-checkout-dialog-card {box-sizing:border-box;padding:24px 18px;max-height:calc(var(--tm-viewport-height,100dvh) - 24px);overscroll-behavior:contain;scroll-padding:16px}
    body .tm-checkout-dialog-card h2 {padding-right:42px;line-height:1.3}
    body .tm-checkout-dialog-close {width:44px;height:44px;right:10px;top:12px}

    /* Phone/email use identical touch targets, including the visible passkey action. */
    body .tm-sms-demo .tm-sms-demo__switch button {min-height:48px;font-size:16px}
    body #login.tm-auth-modal {top:var(--tm-viewport-top,0);bottom:auto;height:var(--tm-viewport-height,100dvh)}
    body #login.tm-auth-modal .popup__wrapper {box-sizing:border-box;height:100%;min-height:0;padding:12px}
    body #login.tm-auth-modal .popup__content {box-sizing:border-box;padding:28px 20px 20px;max-height:calc(var(--tm-viewport-height,100dvh) - 24px);overscroll-behavior:contain;scroll-padding:16px}
    body #login .tm-auth-close {width:44px;height:44px;right:10px;top:10px}
    body #login h2 {padding-inline:32px}
    body.woocommerce-account .account__form .form__group p {font-size:14px;line-height:1.5}
    body.woocommerce-account .woocommerce-MyAccount-navigation a {min-height:44px;font-size:16px;display:flex;align-items:center}
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table td::before {font-size:12px;letter-spacing:0;text-transform:none}

    /* Compact thumb-reachable dock instead of controls covering the right column. */
    body:is(.tm-mobile-dock,:has(.fixed-actions)) {padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}
    body:is(.tm-mobile-dock,:has(.fixed-actions)) .fixed-actions {
        box-sizing:border-box;top:auto;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:12px;
        transform:none;flex-direction:row;gap:8px;padding:6px;border:1px solid #e5e9e6;border-radius:20px;
        background:#fff;box-shadow:0 4px 24px #002b3b20;pointer-events:auto;
    }
    body:is(.tm-mobile-dock,:has(.fixed-actions)) .fixed-actions :is(.account-button,.xoo-wsc-basket) {
        display:flex!important;align-items:center;justify-content:center;flex:1 1 0!important;min-width:0;width:auto!important;height:50px!important;
        box-sizing:border-box;padding:0 12px!important;margin:0!important;border:0!important;border-radius:14px!important;position:relative;
        background-color:#03465e;background-position:12px center;background-size:24px;color:#fff;
        text-decoration:none;transition:background-color .18s ease;
    }
    body:is(.tm-mobile-dock,:has(.fixed-actions)) .fixed-actions .account-button {background-color:#f3eee7;background-image:url('../img/new/icon/acc_user_brown.svg');background-size:48px;background-position:0 center;color:#805d41}
    body:is(.tm-mobile-dock,:has(.fixed-actions)) .fixed-actions .xoo-wsc-basket {background-image:url('../img/shopping-bag.svg')}
    body:is(.tm-mobile-dock,:has(.fixed-actions)) .fixed-actions :is(.account-button,.xoo-wsc-basket)::after {content:attr(data-mobile-label);padding-left:24px;font:500 15px/1.3 Gilroy,Arial,sans-serif}
    body:is(.tm-mobile-dock,:has(.fixed-actions)) .fixed-actions .xoo-wsc-items-count {top:-5px!important;left:auto!important;right:0;min-width:22px;width:auto!important;height:22px!important;line-height:22px!important;border-radius:8px;font-size:12px;padding-inline:4px}
    body:is(.tm-mobile-dock,:has(.fixed-actions)) .fixed-actions :focus-visible {outline:2px solid #b67c56;outline-offset:2px}
    html:is(.tm-auth-open,.popup-show,.menu-open,.tm-mobile-keyboard,.tm-checkout-dialog-open) body:is(.tm-mobile-dock,:has(.fixed-actions)) .fixed-actions,
    body:is(.tm-mobile-dock,:has(.fixed-actions)):is(.xoo-wsc-cart-active,.tm-checkout-dialog-open) .fixed-actions,
    body:is(.tm-mobile-dock,:has(.fixed-actions)):has(.xoo-wsc-modal.xoo-wsc-cart-active) .fixed-actions {display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
    body:is(.tm-mobile-dock,:has(.fixed-actions)) .tm-order-status {bottom:calc(94px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:380px) {
    body.single-product .tm-product-pairing__action {padding:12px 4px 6px}
}
@media (max-width:359px) {
    body .tm-checkout .tm-checkout-time-fields {grid-template-columns:minmax(0,1fr)}
    body .tm-checkout-summary {flex-wrap:wrap}
    body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table>tbody>tr {grid-template-columns:minmax(0,1fr)}
}
@media (max-width:767px) and (prefers-reduced-motion:reduce) {
    body :is(.product-catalog,.tm-product-pairing,.tm-order-drawer) .tm-order-control,
    body:is(.tm-mobile-dock,:has(.fixed-actions)) .fixed-actions :is(.account-button,.xoo-wsc-basket),
    body header .menu-top-menu-container,
    body header .toggle span, body header .toggle::before, body header .toggle::after {transition:none!important}
}
