/* Shared customer-form controls. Loaded after the individual page styles.
   No display override: hidden native shipping/time fields must stay hidden. */
body {
    --tm-field-surface:#fafbf9;
    --tm-field-line:#dce3e3;
    --tm-field-ink:#153c4b;
    --tm-field-muted:#627b85;
    --tm-field-focus:#779ca5;
    --tm-field-radius:12px;
}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code]) {
    box-sizing:border-box;width:100%!important;max-width:100%;min-width:0;height:50px!important;min-height:50px!important;
    padding:0 14px!important;border:1px solid var(--tm-field-line)!important;border-radius:var(--tm-field-radius)!important;
    background-color:var(--tm-field-surface)!important;color:var(--tm-field-ink)!important;
    font:400 16px/1.4 Gilroy,Arial,sans-serif!important;box-shadow:none;
    transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code])::placeholder {color:#8d9ca1!important;opacity:1}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code]):where(:hover:not(:disabled):not([readonly])) {border-color:#bdcccf!important}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code]):focus {outline:0;border-color:var(--tm-field-focus)!important;box-shadow:0 0 0 3px #03465e12}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code]):is(textarea) {height:auto!important;min-height:100px!important;padding:12px 14px!important;resize:vertical}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code]):is(select) {padding-right:32px!important;cursor:pointer}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code]):disabled,
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code])[readonly] {background-color:#f1f3f0!important;color:#71838a!important;cursor:default;box-shadow:none}
/* Error styles come after focus, including errors supplied by WooCommerce. */
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code]).tm-field-invalid,
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code])[aria-invalid=true],
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) .woocommerce-invalid :is(input.input-text,select,textarea) {
    border-color:#b4604e!important;background-color:#fffaf8!important;box-shadow:0 0 0 2px #b4604e0d;
}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(.themore-passwordless-form__label, .tm-contact-label, .form-row>label, .tm-order-coupon-form>label, .tm-checkout-coupon>label) {
    display:block;margin:0 0 7px!important;padding:0;color:var(--tm-field-muted);font:400 13px/1.4 Gilroy,Arial,sans-serif!important;
}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form, .checkout_loyalty) :is(.tm-auth-primary, .tm-checkout-apply-coupon, .tm-checkout-dialog-save, #place_order, .account__form button.button, .woocommerce-cart-form button.button, .woocommerce-form button[type=submit], .tm-order-coupon-form button, .checkout_loyalty .button) {
    box-sizing:border-box;min-height:48px;margin-top:0;padding:12px 16px!important;border:1px solid transparent!important;border-radius:12px!important;
    background:#03465e!important;color:#fff!important;font:600 15px/1.4 Gilroy,Arial,sans-serif!important;
    text-align:center;text-decoration:none;cursor:pointer;box-shadow:none;transform:none;
    transition:background-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form, .checkout_loyalty) :is(.tm-auth-primary, .tm-checkout-apply-coupon, .tm-checkout-dialog-save, #place_order, .account__form button.button, .woocommerce-cart-form button.button, .woocommerce-form button[type=submit], .tm-order-coupon-form button, .checkout_loyalty .button):hover:not(:disabled) {background:#07546e!important;box-shadow:0 5px 16px #03465e1a;transform:none}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form, .checkout_loyalty) :is(.tm-auth-primary, .tm-checkout-apply-coupon, .tm-checkout-dialog-save, #place_order, .account__form button.button, .woocommerce-cart-form button.button, .woocommerce-form button[type=submit], .tm-order-coupon-form button, .checkout_loyalty .button):disabled {opacity:.45;cursor:default;box-shadow:none;transform:none}
body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form, .checkout_loyalty) :is(.tm-auth-primary, .tm-checkout-apply-coupon, .tm-checkout-dialog-save, #place_order, .account__form button.button, .woocommerce-cart-form button.button, .woocommerce-form button[type=submit], .tm-order-coupon-form button, .checkout_loyalty .button):focus-visible {outline:2px solid #b67c56;outline-offset:3px}
/* Coupons stay open, with a full-width field and a touch-friendly action. */
body :is(.tm-order-coupon-form, .tm-checkout-coupon, .tm-cart-coupon) {margin:0;font-family:Gilroy,Arial,sans-serif}
body .tm-checkout-coupon {margin:14px 0 18px}
body.woocommerce-cart .woocommerce-cart-form__contents .tm-cart-coupon {display:block;float:none;width:100%;max-width:440px;margin-bottom:12px;text-align:left}
body.woocommerce-cart .woocommerce-cart-form__contents .tm-cart-coupon label {position:static;width:auto;height:auto;margin:0 0 7px;padding:0;overflow:visible;clip:auto;white-space:normal}
body :is(.tm-order-coupon-form, .tm-checkout-coupon, .tm-cart-coupon)>label {display:block;margin:0 0 7px;color:var(--tm-field-muted);font:400 13px/1.4 Gilroy,Arial,sans-serif}
body :is(.tm-order-coupon-form, .tm-checkout-coupon, .tm-cart-coupon) .tm-coupon-controls {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}
body .tm-coupon-controls>input {margin:0!important}
body :is(.tm-order-coupon-form, .tm-checkout-coupon, .tm-cart-coupon) .tm-coupon-controls>button {width:auto!important;min-height:50px!important;margin:0;white-space:nowrap;float:none;justify-self:stretch}
body :is(.tm-order-applied-coupon, .tm-checkout-applied-coupon) {gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:#f2f6f0;overflow-wrap:anywhere}
body :is(.tm-order-applied-coupon, .tm-checkout-applied-coupon)>span {min-width:0}
body .tm-order-remove-coupon {flex:none;min-height:36px;color:#456b7c;text-underline-offset:3px}
/* The existing bonus plugin's fields share the same layout without changing its rules. */
body .woocommerce .checkout_loyalty.woocommerce-form-loyalty>.computy_skidka_form {display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;padding:0;border:0}
body .woocommerce .checkout_loyalty.woocommerce-form-loyalty #loyalty_points {flex:1 1 170px;width:auto!important}
body .woocommerce .checkout_loyalty.woocommerce-form-loyalty .button {width:auto;min-height:50px;display:flex;align-items:center;justify-content:center}
body .checkout_loyalty .points-desc {flex:0 0 100%;width:100%;gap:4px;margin:0;color:#627b85;font:400 13px/1.45 Gilroy,Arial,sans-serif}
@media(max-width:380px) {
    body :is(.tm-order-coupon-form, .tm-checkout-coupon, .tm-cart-coupon) .tm-coupon-controls {grid-template-columns:minmax(0,1fr)}
    body .tm-coupon-controls>button {width:100%}
}
@media(prefers-reduced-motion:reduce) {
    body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code]), body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form, .checkout_loyalty) :is(.tm-auth-primary, .tm-checkout-apply-coupon, .tm-checkout-dialog-save, #place_order, .account__form button.button, .woocommerce-cart-form button.button, .woocommerce-form button[type=submit], .tm-order-coupon-form button, .checkout_loyalty .button) {transition:none!important;animation:none!important}
}
@media(forced-colors:active) {
    body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form .account__group, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form .coupon, .checkout_loyalty) :is(input:not([type]), input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=date], input[type=time], input[type=search], select, textarea):not([data-code]) {border-color:ButtonText!important;color:CanvasText!important;background:Canvas!important}
    body :is(#login, #customer_login, form.tm-checkout, .tm-checkout-dialog, .tm-order-coupon-form, .account__form, .themore-passwordless-form, .tm-sms-demo, .woocommerce-cart-form, .checkout_loyalty) :is(.tm-auth-primary, .tm-checkout-apply-coupon, .tm-checkout-dialog-save, #place_order, .account__form button.button, .woocommerce-cart-form button.button, .woocommerce-form button[type=submit], .tm-order-coupon-form button, .checkout_loyalty .button) {border-color:ButtonText!important}
}

/* Errors occupy their own line without changing the label/input column layout. */
.tm-field-feedback, #login .tm-field-feedback, .tm-sms-demo .tm-field-feedback {display:block;box-sizing:border-box;clear:both;width:100%;max-width:100%;min-width:0;margin:6px 0 10px;padding:0;color:#a04435;font:400 12px/1.45 Gilroy,Arial,sans-serif;text-align:left;overflow-wrap:anywhere;animation:tm-field-feedback-in .18s ease-out}
.tm-field-feedback[hidden], #login .tm-field-feedback[hidden] {display:none!important}
/* Cancel an input's bottom margin only when its inline error is visible. */
input.tm-live-field:has(+ .tm-field-feedback:not([hidden])), #login input.tm-live-field:has(+ .tm-field-feedback:not([hidden])) {margin-bottom:0!important}
input.tm-live-field.tm-field-invalid, #login input.tm-live-field.tm-field-invalid, .tm-sms-demo input.tm-live-field.tm-field-invalid {border-color:#b4604e!important;box-shadow:0 0 0 2px #b4604e0d;background-color:#fffaf8!important}
.tm-live-field {scroll-margin-top:110px;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.account__form .tm-contact-label {display:block;margin:0 0 6px;color:#60757b;font:400 13px/1.4 Gilroy,Arial,sans-serif}
/* A dotted, masked date plus the device's calendar. ISO input stays in the form. */
.tm-date-field {position:relative;display:grid;grid-template-columns:minmax(0,1fr) 46px;width:100%;min-width:0;text-align:left}
body :is(#tm-checkout-dialog, #login, form, .account__form) .tm-date-field > input[data-tm-date-display] {grid-area:1/1/2/3;margin:0!important;padding-right:50px!important}
body :is(#tm-checkout-dialog, #login, form, .account__form) .tm-date-field > input.tm-date-native[type=date] {
    position:absolute!important;right:0;bottom:0;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;min-height:1px!important;
    margin:0!important;padding:0!important;border:0!important;opacity:0!important;clip-path:inset(50%);pointer-events:none;
}
body .tm-date-field > .tm-date-picker {
    grid-area:1/2/2/3;align-self:start;z-index:1;display:flex;align-items:center;justify-content:center;
    box-sizing:border-box;width:46px;height:50px;min-height:44px;padding:0;margin:0;border:0;border-radius:12px;background:transparent;color:var(--tm-field-ink);cursor:pointer;
    transition:background-color .18s ease;
}
body .tm-date-field > .tm-date-picker:hover:not(:disabled) {background:#03465e0a}
body .tm-date-field > .tm-date-picker:focus-visible {outline:2px solid var(--tm-field-focus);outline-offset:-4px}
body .tm-date-field > .tm-date-picker:disabled {opacity:.45;cursor:default}
.tm-date-field > .tm-field-feedback {grid-column:1/-1;grid-row:2}
@media(prefers-reduced-motion:reduce) {body .tm-date-field > .tm-date-picker {transition:none}}
/* Keep native checkbox semantics and label/keyboard interaction; only restyle the box. */
body :is(#login, .tm-sms-demo, .themore-passwordless-form, .tm-checkout, .account__form, .woocommerce-form, .themore-checkout-consents) input[type=checkbox] {
    -webkit-appearance:none!important;appearance:none!important;display:inline-block!important;position:static!important;transform:none!important;opacity:1!important;
    box-sizing:border-box;flex:0 0 20px;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;
    margin:1px 0 0!important;padding:0!important;border:1.5px solid #8a9fa5!important;border-radius:6px!important;background:#fff!important;vertical-align:top;cursor:pointer;
    transition:background-color .16s,border-color .16s,box-shadow .16s;
}
body :is(#login, .tm-sms-demo, .themore-passwordless-form, .tm-checkout, .account__form, .woocommerce-form, .themore-checkout-consents) input[type=checkbox]:checked {
    border-color:#03465e!important;background:#03465e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3 8 3.2 3.2L13 4.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px 14px no-repeat!important;
}
body :is(#login, .tm-sms-demo, .themore-passwordless-form, .tm-checkout, .account__form, .woocommerce-form, .themore-checkout-consents) input[type=checkbox]:indeterminate {
    border-color:#03465e!important;background:#03465e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8h8' stroke='white' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/14px 14px no-repeat!important;
}
body :is(#login, .tm-sms-demo, .themore-passwordless-form, .tm-checkout, .account__form, .woocommerce-form, .themore-checkout-consents) input[type=checkbox]:hover:not(:disabled) {border-color:#b67c56!important}
body :is(#login, .tm-sms-demo, .themore-passwordless-form, .tm-checkout, .account__form, .woocommerce-form, .themore-checkout-consents) input[type=checkbox]:focus-visible {outline:2px solid #b67c56!important;outline-offset:3px;box-shadow:0 0 0 3px #b67c561a}
body :is(#login, .tm-sms-demo, .themore-passwordless-form, .tm-checkout, .account__form, .woocommerce-form, .themore-checkout-consents) input[type=checkbox]:disabled {opacity:.45!important;cursor:not-allowed}
body :is(#login, .tm-sms-demo, .themore-passwordless-form, .tm-checkout, .account__form, .woocommerce-form, .themore-checkout-consents) :is(.woocommerce-invalid input[type=checkbox], input[type=checkbox][aria-invalid=true]) {border-color:#a04435!important}
@media(prefers-reduced-motion:reduce) {body :is(#login, .tm-sms-demo, .themore-passwordless-form, .tm-checkout, .account__form, .woocommerce-form, .themore-checkout-consents) input[type=checkbox] {transition:none}}
@media(forced-colors:active) {body :is(#login, .tm-sms-demo, .themore-passwordless-form, .tm-checkout, .account__form, .woocommerce-form, .themore-checkout-consents) input[type=checkbox] {appearance:auto!important;background:revert!important;border-color:ButtonText!important;forced-color-adjust:auto}}
@keyframes tm-field-feedback-in {from {opacity:0;transform:translateY(2px)} to {opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce) {.tm-field-feedback {animation:none!important}.tm-live-field {transition:none!important}}
