/* Scoped checkout corrections: visible focus, contrast and theme isolation. */
.shopy-page:not(.shopy-js) :is(.shopy-coupon, .shopy-qty-btn) { display: none; }
.shopy-page .shopy-cta { color: var(--shopy-accent-ink, #14151a) !important; }
.shopy-page .shopy-cta::before, .shopy-page .shopy-cta::after { content: none !important; }
.shopy-page :is(.shopy-brand, .shopy-secure) { color: var(--shopy-header-ink, #fff) !important; }
body:has(.shopy-hide-theme-chrome) :is(.storefront-breadcrumb, #secondary, .storefront-handheld-footer-bar) { display: none !important; }
.shopy-page #payment .payment_methods > li.shopy-pay-option { position: relative; padding: 18px !important; background: #fff !important; }
.shopy-page .shopy-pay-radio { top: 20px; left: 20px; }
.shopy-page #payment .payment_methods > li.shopy-pay-option.shopy-selected { background: #fafcf0 !important; border-color: #14151a !important; }
.shopy-page :is(.woocommerce-billing-fields, .woocommerce-shipping-fields) .form-row {
 display: grid; grid-template-columns: minmax(0, 1fr) auto;
 grid-template-rows: minmax(30px, auto) auto minmax(24px, auto);
 align-content: start; align-items: start;
}
.shopy-page :is(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) { row-gap: 6px; }
.shopy-page :is(.woocommerce-billing-fields, .woocommerce-shipping-fields) .form-row > label { grid-column: 1; grid-row: 1; max-width: none; display: block; }
.shopy-page :is(.woocommerce-billing-fields, .woocommerce-shipping-fields) .form-row > .shopy-help-wrap { grid-column: 2; grid-row: 1; align-self: start; }
.shopy-page :is(.woocommerce-billing-fields, .woocommerce-shipping-fields) .form-row > .woocommerce-input-wrapper { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
.shopy-page :is(.shopy-inline-error, .shopy-phone-status, .checkout-inline-error-message) { grid-column: 1 / -1; grid-row: 3; }
.shopy-page .checkout-inline-error-message { color: #b42318; }
.shopy-page .shopy-shipping-table { width: 100%; margin: 8px 0; border: 0; border-collapse: collapse; table-layout: fixed; }
.shopy-page .shopy-shipping-table th { width: 26%; text-align: left; vertical-align: top; }
.shopy-page .shopy-shipping-table th :is(h2, h3) { font-size: 14px; line-height: 1.5; margin: 0; font-family: inherit; }
.shopy-page .shopy-shipping-table :is(th, td) { padding: 8px 0; border: 0; font-size: 14px; overflow-wrap: anywhere; }
.shopy-page .shopy-shipping-table ul { margin: 0; padding: 0; list-style: none; }
.shopy-page .shopy-shipping-table li { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 8px; }
.shopy-page .shopy-shipping-table input[type="radio"] { position: static; float: none; flex: 0 0 18px; width: 18px; height: 18px; margin: 3px 0; appearance: auto; }
.shopy-page .shopy-shipping-table label { display: inline-block !important; margin: 0 !important; min-height: 24px; line-height: 1.5; }
.shopy-page .shopy-payment-consent { margin-top: 20px; font-size: 14px; line-height: 1.6; color: #50555b; }
.shopy-page .shopy-payment-consent .form-row { display: block !important; width: 100%; }
.shopy-page .shopy-payment-consent label { display: block !important; font-size: 14px; }
.shopy-page .shopy-payment-consent input[type="checkbox"] { position: static !important; float: none !important; width: 20px; height: 20px; margin: 0 8px 0 0; vertical-align: middle; appearance: auto; }
.shopy-page .shopy-payment-consent label::before, .shopy-page .shopy-payment-consent label::after { content: none !important; }
.shopy-page .shopy-payment-consent a { text-decoration: underline; }
.shopy-page .woocommerce-billing-fields__field-wrapper > .form-row-wide { grid-column: 1 / -1; }
@media (prefers-reduced-motion: reduce) { .shopy-page *, .shopy-page *::before, .shopy-page *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
body:has(.shopy-hide-theme-chrome) .elementor-header-group-wrapper { display: none !important; }
body:has(.shopy-hide-theme-chrome) .monpicko-mobile-nav { display: none !important; }
body:has(.shopy-hide-theme-chrome) .footer-width-fixer { display: none !important; }
.shopy-page .form-row { position: relative; }
.shopy-page .shopy-help-wrap { position: static; margin: 0 0 6px 4px; vertical-align: middle; }
.shopy-page label.shopy-field-label-with-help { display: inline-flex; max-width: calc(100% - 34px); }
.shopy-page .shopy-tooltip { max-width: calc(100vw - 64px); font-size: 13px; }
.shopy-page .shopy-required-note { margin-top: 8px; font-size: 13px; }
.shopy-page .woocommerce-billing-fields label .required,
.shopy-page .woocommerce-shipping-fields label .required { display: inline !important; color: #b42318; }
.shopy-page #ship-to-different-address label { display: flex !important; min-height: 44px; font-size: 14px !important; }
.shopy-page #ship-to-different-address-checkbox { position: static !important; float: none !important; order: 0; }
.shopy-page #ship-to-different-address label span { order: 1; }
.shopy-page #ship-to-different-address label span { margin: 0 !important; padding: 0 !important; align-self: center; }
.shopy-page .select2-container .select2-selection--single {
 position: relative !important;
 display: flex !important;
 align-items: center;
 height: 42px !important;
 min-height: 42px;
 padding: 0 !important;
 box-sizing: border-box;
}
.shopy-page select, .shopy-page .select2-container .select2-selection--single { border-color: #858585 !important; }
.shopy-page .form-row.shopy-client-invalid :is(select, .select2-selection--single) { border-color: #b42318 !important; }
.shopy-page .woocommerce-billing-fields h2 { font-size: 16px; font-weight: 700; margin: 0 0 20px; }
.shopy-page .select2-container .select2-selection--single .select2-selection__rendered {
 display: block !important;
 flex: 1;
 min-width: 0;
 height: 40px !important;
 line-height: 40px !important;
 padding: 0 36px 0 12px !important;
 margin: 0 !important;
 box-sizing: border-box;
}
.shopy-page .select2-container .select2-selection--single .select2-selection__arrow {
 position: absolute !important;
 top: 0 !important;
 right: 8px !important;
 height: 40px !important;
 width: 20px;
 margin: 0 !important;
 transform: none !important;
}
.shopy-page .select2-selection__arrow b {
 position: absolute !important; top: 50% !important; left: 50% !important;
 transform: translate(-50%, -50%) !important; width: 0 !important; height: 0 !important;
 margin: 0 !important; padding: 0 !important; background: none !important;
 border-style: solid !important; border-width: 5px 4px 0 !important;
 border-color: #50555b transparent transparent !important;
}
.shopy-page .select2-container--open .select2-selection__arrow b { transform: translate(-50%, -50%) rotate(180deg) !important; }
.shopy-page .shopy-phone-validity { grid-column: 1 / -1; grid-row: 3; }
.shopy-page .shopy-phone-validity:empty { display: none; }
.shopy-page .shopy-pay-option { border-color: #858585 !important; }
.shopy-page .shopy-dot { border-color: #858585; }
.shopy-page :is(input, select, textarea, button, a, [tabindex]):focus-visible,
.shopy-page .select2-container--focus .select2-selection {
 outline: 2px solid #1e3fa8 !important; outline-offset: 3px;
}
.shopy-page :is(input, select, textarea, button, a, [tabindex]) { scroll-margin-top: 60px; scroll-margin-bottom: 100px; }
.shopy-page .shopy-save-info label { min-height: 32px; }
.shopy-page .shopy-help-button { color: #50555b !important; }
.shopy-page .woocommerce-billing-fields label,
.shopy-page .woocommerce-shipping-fields label { font-size: 14px; }
.shopy-page .shopy-item-sub { white-space: normal; overflow-wrap: anywhere; }
.shopy-page .shopy-phone-valid .shopy-phone-control input[type="tel"] { border-color: #168647 !important; }
.shopy-page :is(.shopy-inline-error, .checkout-inline-error-message, .shopy-phone-validity) {
 font-size: 13px; line-height: 18px; padding-top: 4px; margin: 0;
 align-self: start; overflow-wrap: anywhere;
}
.shopy-page .shopy-phone-validity { float: none; }
@media (max-width: 900px) {
 .shopy-page :is(input.input-text, select, textarea, .select2-selection__rendered) { font-size: 16px !important; }
}
@media (prefers-reduced-motion: reduce) {
 .shopy-page *, .shopy-page *::before, .shopy-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
 .shopy-page .shopy-selected { outline: 2px solid Highlight; }
 .shopy-page .shopy-dot-inner { background: Highlight; forced-color-adjust: none; }
}
