/* Haydi Fast 1.5: predictable contrast, usable fields, classic and block checkout.
 * Layout overrides apply to classic WooCommerce. Blocks keep their own responsive layout.
 */
.woocommerce-cart .hf-page>article,.woocommerce-checkout .hf-page>article,.woocommerce-account .hf-page>article{max-width:1180px}
:where(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout){--wc-primary:var(--hf-primary,#5b32a3);--wc-primary-text:var(--hf-on-primary,#fff);--wc-content-bg:#fff;--wc-subtext:#625d6b;--wc-form-border-color:#bfb8c9;--wc-form-border-radius:10px;--wc-form-border-width:1px;--wc-form-color-background:#fff;--wc-form-color-text:#24212c;color:var(--hf-text,#24212c)}
/* Explicit hover/focus colors prevent WooCommerce's pale hover background + white text. */
.woocommerce #respond input#submit,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit.alt,.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;height:auto;
    padding:12px 20px;border:1px solid transparent;border-radius:11px;background:var(--hf-primary,#5b32a3);
    background-image:none;color:var(--hf-on-primary,#fff);-webkit-text-fill-color:currentColor;font:inherit;
    font-size:14px;font-weight:700;line-height:1.7;text-align:center;text-decoration:none;text-shadow:none;
    white-space:normal;word-break:normal;box-shadow:none;opacity:1;cursor:pointer;
}
.woocommerce #respond input#submit:is(:hover,:focus-visible,:active),.woocommerce a.button:is(:hover,:focus-visible,:active),
.woocommerce button.button:is(:hover,:focus-visible,:active),.woocommerce input.button:is(:hover,:focus-visible,:active),
.woocommerce #respond input#submit.alt:is(:hover,:focus-visible,:active),.woocommerce a.button.alt:is(:hover,:focus-visible,:active),
.woocommerce button.button.alt:is(:hover,:focus-visible,:active),.woocommerce input.button.alt:is(:hover,:focus-visible,:active),
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:is(:hover,:focus-visible,:active){background:var(--hf-primary,#5b32a3);color:var(--hf-on-primary,#fff);filter:brightness(.91);text-decoration:none}
.woocommerce button.button:disabled,.woocommerce button.button:disabled[disabled],.woocommerce button.button.disabled,
.woocommerce a.button.disabled,.woocommerce input.button:disabled{background:#e7e2ee;color:#62596d;opacity:1;cursor:not-allowed;filter:none;padding:12px 20px}
.woocommerce :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--hf-focus,#9375be);outline-offset:3px}
.woocommerce .wc-proceed-to-checkout{padding:18px 0 0}
.woocommerce .wc-proceed-to-checkout a.checkout-button,.woocommerce #payment #place_order{width:100%;float:none;margin:0}
.woocommerce a.remove{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;width:40px;height:40px;border:1px solid #e8cbd2;border-radius:10px;background:#fff5f7;color:#a02042!important;font-size:25px;font-weight:400;line-height:1;text-decoration:none}
.woocommerce a.remove:hover{background:#a02042;color:#fff!important;border-color:#a02042}
/* Classic inputs and address selectors. Checkbox/radio dimensions must remain independent. */
.woocommerce form .form-row{min-width:0;padding:0;margin:0 0 18px}
.woocommerce form .form-row label{margin-bottom:7px;color:var(--hf-text);font-size:14px;line-height:1.8}
.woocommerce form .form-row .woocommerce-input-wrapper{display:block;min-width:0}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea.input-text,.woocommerce form .form-row select,
.woocommerce .coupon input.input-text,.woocommerce .quantity input.qty{
    box-sizing:border-box;height:48px;min-height:48px;max-width:100%;padding:10px 12px;border:1px solid #bfb8c9;
    border-radius:10px;background:#fff;color:#24212c;font:inherit;font-size:16px;line-height:1.6;box-shadow:none;
}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea.input-text{width:100%}
.woocommerce form .form-row textarea.input-text{height:auto;min-height:120px;resize:vertical}
.woocommerce form input::placeholder,.woocommerce form textarea::placeholder{color:#746b7f;opacity:1}
.woocommerce form .form-row input:focus,.woocommerce form .form-row textarea.input-text:focus,.woocommerce form .form-row select:focus{border-color:var(--hf-primary);box-shadow:0 0 0 3px #5b32a310}
.woocommerce form :is(input[type=checkbox],input[type=radio]){appearance:auto;-webkit-appearance:auto;display:inline-block;flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0;margin:0 0 0 8px;vertical-align:middle;accent-color:var(--hf-primary);box-shadow:none;border-radius:3px}
.woocommerce form label.checkbox,.woocommerce form label.woocommerce-form__label-for-checkbox{display:inline;cursor:pointer;line-height:2}
.woocommerce form .form-row.woocommerce-invalid :is(input.input-text,select,textarea){border-color:#b4233c}
.woocommerce form .form-row .required{color:#a01c36}
.woocommerce input[type=tel],.woocommerce input[type=email],.woocommerce input[name*=postcode],.woocommerce .quantity input.qty{direction:ltr;text-align:start;font-variant-numeric:tabular-nums}
.woocommerce .quantity input.qty{min-width:72px;width:80px;text-align:center;padding-inline:4px}
.woocommerce .select2-container{max-width:100%;min-width:0;font-size:15px}
.woocommerce .select2-container .select2-selection--single{height:48px;min-height:48px;border:1px solid #bfb8c9;border-radius:10px;background:#fff;color:#24212c}
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:46px;padding-inline:12px 30px;color:#24212c;text-align:start}
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow{height:46px}
.select2-dropdown{border-color:#bfb8c9;border-radius:10px;color:#24212c;background:#fff;font-family:HaydiSans,Tahoma,sans-serif}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--hf-primary,#5b32a3);color:var(--hf-on-primary,#fff)}
/* Keep the content's generic horizontally scrolling tables away from commerce tables. */
.hf-content .woocommerce table.shop_table,.hf-content .woocommerce table.woocommerce-checkout-review-order-table{display:table;width:100%;max-width:100%;table-layout:auto;border-collapse:separate;border-spacing:0;border:1px solid var(--hf-line);border-radius:14px;background:#fff;overflow:visible}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:14px 16px;border:0;border-bottom:1px solid var(--hf-line);vertical-align:middle;text-align:start;line-height:1.9}
.woocommerce table.shop_table thead th{background:var(--hf-surface);font-weight:700;color:#393140}
.woocommerce table.shop_table :is(tbody,tfoot)>tr:last-child>:is(th,td){border-bottom:0}
.woocommerce table.shop_table .product-name{overflow-wrap:anywhere;word-break:normal}
.woocommerce table.shop_table .product-subtotal,.woocommerce table.shop_table .product-total{font-weight:700}
.woocommerce-cart table.cart .product-thumbnail img{width:72px;min-width:56px;border-radius:10px}
.woocommerce-cart table.cart .product-remove{width:60px}
.woocommerce-cart table.cart td.actions{background:var(--hf-surface);padding:16px}
.woocommerce-cart table.cart td.actions .coupon{display:flex;align-items:center;flex-wrap:wrap;gap:8px;float:inline-start;max-width:100%;margin:0}
.woocommerce-cart table.cart td.actions .coupon input.input-text{width:180px;min-width:0;float:none;margin:0}
.woocommerce-cart table.cart td.actions>.button{float:inline-end;margin:0}
.woocommerce-cart .cart-collaterals{margin-top:28px}
.woocommerce-cart .cart-collaterals .cart_totals{width:min(520px,100%);float:none;margin-inline-start:auto;padding:24px;border:1px solid var(--hf-line);border-radius:18px;background:#fff}
.woocommerce .cart_totals h2{font-size:21px;margin-bottom:18px}
.woocommerce .cart_totals table.shop_table{margin:0;border:0;border-radius:0}
.woocommerce .cart_totals table.shop_table th,.woocommerce .cart_totals table.shop_table td{padding:12px 0}
.woocommerce .cart_totals table.shop_table th{width:36%;padding-inline-end:14px}
.woocommerce ul#shipping_method{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.woocommerce ul#shipping_method li{margin:0;line-height:1.9}
.woocommerce ul#shipping_method li label{display:inline;cursor:pointer;font-size:14px}
.woocommerce .woocommerce-shipping-destination{font-size:13px;color:#625d6b;line-height:1.9;margin-top:12px}
.woocommerce .shipping-calculator-button{display:inline-block;color:#512790;text-decoration:underline;text-underline-offset:4px;font-size:13px}
.woocommerce .woocommerce-shipping-calculator .shipping-calculator-form{padding-top:16px}
/* Two columns are assigned only to the classic checkout, never payment provider internals. */
.woocommerce form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:0 28px}
.woocommerce form.woocommerce-checkout>*{min-width:0;grid-column:1/-1}
.woocommerce form.woocommerce-checkout #customer_details{grid-column:1;grid-row:2;display:block;width:100%;margin:0}
.woocommerce form.woocommerce-checkout #customer_details>.col-1,.woocommerce form.woocommerce-checkout #customer_details>.col-2{float:none;width:100%;min-width:0;margin:0}
.woocommerce form.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:2;align-self:start;z-index:1;margin:0 22px;padding:22px 0 0;background:transparent;border:0;border-radius:0;font-size:21px}
.woocommerce form.woocommerce-checkout #order_review{grid-column:2;grid-row:2;align-self:start;min-width:0;padding:60px 22px 22px;border:1px solid var(--hf-line);border-radius:16px;background:#fff}
.woocommerce .woocommerce-billing-fields,.woocommerce .woocommerce-shipping-fields,.woocommerce .woocommerce-additional-fields{padding:22px;border:1px solid var(--hf-line);border-radius:16px;background:#fff;margin-bottom:22px}
.woocommerce .woocommerce-billing-fields h3,.woocommerce .woocommerce-shipping-fields h3,.woocommerce .woocommerce-additional-fields h3{font-size:20px;margin:0 0 20px}
.woocommerce #ship-to-different-address{font-size:17px;margin:0}
.woocommerce #ship-to-different-address label{cursor:pointer;display:block}
.woocommerce .shipping_address{padding-top:20px}
.woocommerce .woocommerce-billing-fields__field-wrapper::after,.woocommerce .woocommerce-shipping-fields__field-wrapper::after{content:"";display:table;clear:both}
.woocommerce .woocommerce-checkout-review-order-table{margin-block:16px!important;font-size:14px}
.woocommerce table.woocommerce-checkout-review-order-table :is(th,td){padding:12px 10px}
.woocommerce #payment.woocommerce-checkout-payment{background:var(--hf-surface);padding:16px;border:1px solid var(--hf-line);border-radius:12px}
.woocommerce #payment ul.payment_methods{display:block;padding:0 0 16px;margin:0;border:0;list-style:none}
.woocommerce #payment ul.payment_methods li{margin:0 0 12px;padding:0;line-height:1.9;text-align:start;overflow-wrap:anywhere}
.woocommerce #payment ul.payment_methods li>label{display:inline;color:#302838;font-weight:700;font-size:14px;cursor:pointer}
.woocommerce #payment ul.payment_methods li input{margin-inline:0 8px}
.woocommerce #payment ul.payment_methods li img{max-width:90px;max-height:36px;width:auto;vertical-align:middle;margin-inline-start:8px}
.woocommerce #payment div.payment_box{width:100%;margin:12px 0 0;padding:14px;background:#fff;border:1px solid #ded6e9;border-radius:10px;color:#41374b;font-size:13px;line-height:1.9}
.woocommerce #payment div.payment_box::before{display:none}
.woocommerce #payment div.payment_box p:last-child{margin:0}
.woocommerce #payment div.form-row{padding:0;margin:0}
.woocommerce .woocommerce-privacy-policy-text{color:#625d6b;font-size:12px;line-height:2}
.woocommerce .woocommerce-terms-and-conditions-wrapper{margin-bottom:16px}
.woocommerce .woocommerce-terms-and-conditions-wrapper a{color:#512790;text-decoration:underline;text-underline-offset:3px}
.woocommerce .woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce .woocommerce-form-login-toggle .woocommerce-info{margin-top:0}
.woocommerce form.checkout_coupon{padding:20px;border:1px solid var(--hf-line);border-radius:14px;background:#fff;margin:0 0 24px}
.woocommerce form.checkout_coupon>.form-row{flex:1 1 180px;float:none;width:auto;margin:0;clear:none}
.woocommerce form.checkout_coupon>p:not(.form-row){flex-basis:100%}
.woocommerce form.checkout_coupon button{width:100%}
.woocommerce :is(.woocommerce-error,.woocommerce-info,.woocommerce-message){clear:both;overflow-wrap:anywhere;line-height:1.9;padding:16px 20px}
.woocommerce :is(.woocommerce-error,.woocommerce-info,.woocommerce-message) a:not(.button){color:#512790;text-decoration:underline;text-underline-offset:3px}
.woocommerce .woocommerce-error{color:#8b1e33}
.woocommerce .woocommerce-message a.button{margin-block:6px;margin-inline-start:12px}
/* Blocks: use public button/global-style contracts, leaving field/floating-label layout intact. */
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link){
    min-height:48px;height:auto;padding:12px 20px;border:1px solid transparent;border-radius:11px;
    background:var(--hf-primary,#5b32a3);color:var(--hf-on-primary,#fff);font:inherit;font-size:14px;
    font-weight:700;line-height:1.7;text-decoration:none;box-shadow:none;white-space:normal;
}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-button:not(.is-link):is(:hover,:focus-visible){background:var(--hf-primary,#5b32a3);color:var(--hf-on-primary,#fff);filter:brightness(.91)}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-button.is-link{background:transparent;color:#512790;border:0;box-shadow:none;text-decoration:underline;text-underline-offset:3px}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-button:disabled{opacity:.6;cursor:not-allowed;filter:none}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(input,select,textarea){font-family:inherit;font-size:16px;color:#24212c;box-shadow:none}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(input[type=checkbox],input[type=radio]){padding:0;min-height:0;accent-color:var(--hf-primary)}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) a{color:#512790}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--hf-focus);outline-offset:3px}
.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{width:100%;max-width:100%;min-width:0}
/* Clear generic theme button styling from icon-only block controls. */
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-quantity-selector button{min-height:0;padding:0;background:transparent;color:#302838;border:0;border-radius:0;filter:none;box-shadow:none}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-quantity-selector input{padding:0;min-height:0;border:0;background:transparent;text-align:center}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-product-remove-button{background:transparent;color:#9c2040;min-height:40px;padding:6px 0;border:0;filter:none;font-size:13px;text-decoration:underline}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-totals-coupon-link{background:transparent;color:#512790;min-height:44px;padding:6px 0;border:0;filter:none}
:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-panel__button{background:transparent;color:#302838;filter:none;border-radius:0;box-shadow:none}
/* The account layout also contains notices and the OTP form. Keep these on a full row. */
.woocommerce-account .hf-content>.woocommerce>.woocommerce-notices-wrapper,.woocommerce-account .hf-content>.woocommerce>[data-hidy-otp-form]{flex-basis:100%}
.woocommerce-account .woocommerce-MyAccount-navigation{background:#fff;border:1px solid var(--hf-line);border-radius:14px;overflow:hidden}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--hf-primary);color:var(--hf-on-primary,#fff)}
@media(max-width:960px){
    .woocommerce form.woocommerce-checkout{display:block}
    .woocommerce form.woocommerce-checkout #order_review_heading{margin:6px 0 0;padding:22px 22px 0;background:#fff;border:1px solid var(--hf-line);border-bottom:0;border-radius:16px 16px 0 0}
    .woocommerce form.woocommerce-checkout #order_review{padding-top:0;border-top:0;border-radius:0 0 16px 16px}
    .woocommerce .woocommerce-billing-fields,.woocommerce .woocommerce-shipping-fields,.woocommerce .woocommerce-additional-fields{padding:20px}
}
@media(max-width:700px){
    .woocommerce-cart .cart-collaterals .cart_totals{padding:18px}
    .hf-content .woocommerce table.shop_table_responsive{display:block;border-radius:14px;overflow:hidden}
    .woocommerce table.shop_table_responsive tbody{display:block;width:100%}
    .woocommerce table.shop_table_responsive tr{display:block;width:100%;padding:12px 14px;background:#fff;border-bottom:1px solid var(--hf-line)}
    .woocommerce table.shop_table_responsive tr:last-child{border-bottom:0}
    .woocommerce table.shop_table_responsive tr td{display:block;width:100%;padding:10px 0;border:0;min-height:40px;text-align:end!important;overflow-wrap:anywhere;background:transparent}
    .woocommerce table.shop_table_responsive tr td::before{content:attr(data-title) ": ";float:inline-start;font-weight:700;margin-inline-end:12px}
    .woocommerce table.shop_table_responsive tr td.product-remove{width:100%;text-align:end!important;padding-top:0}
    .woocommerce table.shop_table_responsive tr td.product-thumbnail{display:none}
    .woocommerce table.shop_table_responsive tr td.actions::before,.woocommerce table.shop_table_responsive tr td.product-remove::before{display:none}
    .woocommerce-cart table.cart td.actions .coupon{float:none;width:100%;max-width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:12px}
    .woocommerce-cart table.cart td.actions .coupon input.input-text,.woocommerce-cart table.cart td.actions .coupon .button,.woocommerce-cart table.cart td.actions>.button{float:none;width:100%;margin:0}
    .woocommerce .cart_totals table.shop_table_responsive tr{padding:10px 0}
    .woocommerce .cart_totals table.shop_table_responsive td{padding:8px 0;font-size:14px}
    .woocommerce table.shop_table td,.woocommerce table.shop_table th{font-size:14px}
    .woocommerce form .form-row-first,.woocommerce form .form-row-last{float:none;width:100%}
    .woocommerce form.woocommerce-checkout #order_review,.woocommerce form.woocommerce-checkout #order_review_heading{padding-inline:16px}
    .woocommerce .woocommerce-billing-fields,.woocommerce .woocommerce-shipping-fields,.woocommerce .woocommerce-additional-fields{padding:18px 16px}
    .woocommerce table.woocommerce-checkout-review-order-table :is(th,td){padding:10px 7px;font-size:13px}
    .woocommerce #payment.woocommerce-checkout-payment{padding:14px}
    .woocommerce .woocommerce-message a.button{float:none;display:flex;margin:10px 0 0;width:100%}
}
@media(forced-colors:active){.woocommerce :is(.button,input,select,textarea),:where(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-button{border:1px solid ButtonText}}

/* Payment SDKs own their iframe proportions and table layout. */
.woocommerce #payment iframe,.wp-block-woocommerce-checkout iframe{aspect-ratio:auto}
.woocommerce #payment table{display:table}
/* Native HTML controls inside the public Checkout block: preserve its floating-label padding. */
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(input:not([type=checkbox],[type=radio]),select,textarea){border-radius:10px;border-color:#bfb8c9;background-color:#fff}
