/* Kattenhoek checkout skin. Native forms, notices, gateways and DOM order stay intact.
   Block component selectors below are cosmetic; review them after Woo major updates. */
.kh-purchase{--kh-buy-ink:#332c2c;--kh-buy-rose:#87345c;--kh-buy-line:#ded0d2;--kh-buy-paper:#fffdf8;--wp--preset--color--accent-1:#ecd4df}
.kh-purchase .wp-block-post-title{display:none}
.kh-purchase .wp-site-blocks>main{max-width:none;padding-inline:clamp(18px,5vw,80px)}
.kh-purchase .wp-block-post-content{max-width:none!important;width:100%}
.kh-purchase-content{max-width:1280px!important;margin:0 auto!important;padding:0 0 70px;font-size:16px;line-height:1.6}
.kh-purchase-intro{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:50px;padding:56px 0 32px}
.kh-purchase-eyebrow{font-size:11px;font-weight:700;letter-spacing:2.3px;margin:0 0 18px}
.kh-purchase-intro h1{font:clamp(42px,5.8vw,76px)/1.02 Georgia,serif;letter-spacing:-2.8px;margin:0 0 22px;color:var(--kh-buy-ink)}
.kh-purchase-intro h1 em,.kh-purchase-help em{font-weight:400;color:var(--kh-buy-rose)}
.kh-purchase-intro-copy>p:not(.kh-purchase-eyebrow){max-width:540px;margin:0 0 19px;color:#66565d}
.kh-purchase-back{display:inline-block;font-size:13px;text-decoration:none;border-bottom:1px solid #b7899e;padding-bottom:4px;transition:color .2s,transform .2s}
.kh-purchase-back:hover{color:var(--kh-buy-rose);transform:translateX(-3px)}
.kh-purchase-art{position:relative;justify-self:end;width:240px;height:230px;pointer-events:none}
.kh-purchase-cat{height:212px;width:212px;background:#ecd4df;border-radius:47% 53% 35% 65% / 60% 38% 62% 40%;display:grid;place-items:center;transform:rotate(-8deg)}
.kh-purchase-cat svg{width:145px;height:145px;color:#87345c;transform:rotate(8deg)}
.kh-purchase-stamp{position:absolute;right:0;bottom:0;background:#f8df92;border:1px dashed #8a6c40;border-radius:50%;height:100px;width:100px;display:grid;place-content:center;text-align:center;font-size:10px;line-height:1.7;letter-spacing:1px;font-weight:700;transform:rotate(12deg)}
.kh-purchase-steps{display:flex;flex-wrap:wrap;gap:16px 35px;padding:22px 0!important;margin:0 0 36px!important;list-style:none;border-block:1px solid var(--kh-buy-line)}
.kh-purchase-steps li{display:flex;align-items:center;gap:10px;font-size:13px;color:#76636c}
.kh-purchase-steps li span{display:grid;place-items:center;border:1px solid #bda6af;border-radius:50%;width:27px;height:27px;font-size:11px}
.kh-purchase-steps [aria-current]{font-weight:700;color:var(--kh-buy-rose)}
.kh-purchase-steps [aria-current] span{background:var(--kh-buy-rose);border-color:var(--kh-buy-rose);color:white}
.kh-purchase-native{min-width:0}
.kh-purchase-native :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout){max-width:none;margin:0;font-family:Arial,Helvetica,sans-serif;font-size:15px;color:var(--kh-buy-ink);--wc-form-color-background:#fffdf8;--wc-form-color-text:#332c2c;--wc-form-border-color:#bda6af;--wc-form-border-radius:12px;--wc-form-color-accent:#87345c}
/* Soft paper panels; do not move individual address or payment controls. */
.kh-purchase-native :is(.wp-block-woocommerce-cart-items-block,.wp-block-woocommerce-checkout-fields-block){background:var(--kh-buy-paper);border:1px solid var(--kh-buy-line);border-radius:30px 12px 30px 12px;padding:clamp(18px,3vw,36px)}
.kh-purchase-native :is(.wp-block-woocommerce-cart-totals-block,.wp-block-woocommerce-checkout-totals-block){background:#f2e3e9;border:1px solid #dfc7d2;border-radius:16px 16px 52px 16px;padding:clamp(18px,2.5vw,30px)}
.kh-purchase-native :is(h2,h3,.wc-block-components-title){font-family:Georgia,serif;letter-spacing:-.6px;color:var(--kh-buy-ink)}
.kh-purchase-native .wc-block-components-checkout-step__title{font-size:25px}
.kh-purchase-native .wc-block-components-checkout-step__description{color:#6e5c64;line-height:1.6}
.kh-purchase-native :is(.wc-block-components-product-name,.product-name a){font-weight:600;color:var(--kh-buy-ink);text-decoration:none;transition:color .2s}
.kh-purchase-native :is(.wc-block-components-product-name,.product-name a):hover{color:var(--kh-buy-rose);text-decoration:underline;text-underline-offset:4px}
.kh-purchase-native :is(.wc-block-cart-item__image img,.wc-block-components-order-summary-item__image img,.product-thumbnail img){border-radius:46% 46% 24% 24%;transition:border-radius .35s,filter .3s;object-fit:cover}
.kh-purchase-native :is(.wc-block-cart-item__image a:hover img,.wc-block-cart-item__image a:focus-visible img,.product-thumbnail a:hover img,.product-thumbnail a:focus-visible img){border-radius:22%;filter:brightness(1.035)}
.kh-purchase-native .wc-block-components-quantity-selector{border-radius:30px;background:#fffdf8}
.kh-purchase-native .wc-block-components-quantity-selector::after{border-radius:30px;border-color:#bda6af}
.kh-purchase-native :is(.wc-block-components-button:not(.is-link),.button,#place_order){background:var(--kh-buy-rose);color:#fff;border:1px solid var(--kh-buy-rose);border-radius:30px;padding:16px 25px;font:600 14px/1.4 Arial,sans-serif;box-shadow:none;text-decoration:none;transition:background .2s,border-radius .25s,box-shadow .2s;min-height:48px}
.kh-purchase-native :is(.wc-block-components-button:not(.is-link),.button,#place_order):hover{background:#652242;border-color:#652242;border-radius:16px;box-shadow:0 5px 0 #dec1cf}
.kh-purchase-native :is(button,input,select,textarea,a):focus-visible{outline:3px solid #87345c;outline-offset:4px}
.kh-purchase-native :is(button,.button):disabled{opacity:.5;cursor:not-allowed;box-shadow:none}
.kh-purchase-native :is(input[type=checkbox],input[type=radio]){accent-color:var(--kh-buy-rose)}
.kh-purchase-native :is(.wc-block-components-radio-control-accordion-option,.wc-block-components-radio-control__option){border-radius:12px}
.kh-purchase-native :is(.wc-block-components-order-summary,.wc-block-components-order-summary__content){border-color:#dfc7d2}
.kh-purchase-native .wc-block-components-totals-footer-item{font-size:20px}
.kh-purchase-native .wc-block-components-totals-coupon-link{color:var(--kh-buy-rose);text-underline-offset:4px}
/* All Woo notices remain visible, including field errors and gateway messages. */
.kh-purchase-native :is(.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner){border-radius:12px;background:#f5edf1;color:var(--kh-buy-ink);box-shadow:none}
.kh-purchase-native .woocommerce-error{border-top-color:#a5263a;background:#fff0f0}
.kh-purchase-native .woocommerce-message,.kh-purchase-native .woocommerce-info{border-top-color:var(--kh-buy-rose)}
/* Classic shortcodes: retain every core hook and extension field. */
.kh-purchase-native .woocommerce-cart-form{background:var(--kh-buy-paper);padding:24px;border:1px solid var(--kh-buy-line);border-radius:30px 12px}
.kh-purchase-native table.shop_table{border:0;border-collapse:collapse;margin:0 0 24px;text-align:left;width:100%}
.kh-purchase-native table.shop_table :is(td,th){border:0;border-bottom:1px solid var(--kh-buy-line);padding:18px 12px}
.kh-purchase-native table.shop_table thead th{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:#6e5c64}
.kh-purchase-native .product-thumbnail img{width:90px;max-width:none}
.kh-purchase-native .quantity .qty{width:70px;border-radius:25px;padding:10px;border:1px solid #bda6af;background:#fffdf8;color:var(--kh-buy-ink)}
.kh-purchase-native .cart-collaterals{margin-top:28px}
.kh-purchase-native .cart-collaterals .cart_totals{background:#f2e3e9;padding:30px;border-radius:16px 16px 52px 16px;border:1px solid #dfc7d2}
.kh-purchase-native .cart_totals h2{font:30px/1.2 Georgia,serif;margin:0 0 20px}
.kh-purchase-native .wc-proceed-to-checkout a.checkout-button{font-size:15px}
.kh-purchase-native .woocommerce form .form-row :is(input.input-text,textarea,select),.kh-purchase-native #coupon_code{border:1px solid #bda6af;border-radius:12px;background:#fffdf8;color:var(--kh-buy-ink);padding:14px;font:16px/1.5 Arial,sans-serif;min-height:48px}
.kh-purchase-native .woocommerce form .form-row label{font-size:13px;margin-bottom:5px}
.kh-purchase-native .woocommerce-invalid :is(input.input-text,select,textarea){border-color:#a5263a!important}
.kh-purchase-native .select2-container .select2-selection--single{height:50px;border:1px solid #bda6af;border-radius:12px;background:#fffdf8}
.kh-purchase-native .select2-container .select2-selection__rendered{line-height:48px;padding-left:14px}
.kh-purchase-native .select2-container .select2-selection__arrow{height:48px}
.kh-purchase-native #customer_details{background:var(--kh-buy-paper);border:1px solid var(--kh-buy-line);border-radius:30px 12px;padding:28px;margin-bottom:32px}
.kh-purchase-native #customer_details .col-1,.kh-purchase-native #customer_details .col-2{width:100%;float:none}
.kh-purchase-native #customer_details h3{font-size:27px;margin:10px 0 22px}
.kh-purchase-native #order_review_heading{font:30px/1.2 Georgia,serif;margin:30px 0 20px}
.kh-purchase-native #order_review{padding:28px;background:#f2e3e9;border:1px solid #dfc7d2;border-radius:16px 16px 52px 16px}
.kh-purchase-native #payment{background:#fffdf8;border-radius:18px}
.kh-purchase-native #payment div.payment_box{background:#f4eaf0;color:var(--kh-buy-ink);border-radius:12px}
.kh-purchase-native #payment div.payment_box::before{border-bottom-color:#f4eaf0}
.kh-purchase-native #payment ul.payment_methods{border-bottom:1px solid var(--kh-buy-line)}
.kh-purchase-native #payment .place-order{padding:22px}
.kh-purchase-native #place_order{width:100%;float:none;white-space:normal}
.kh-purchase-native .woocommerce-privacy-policy-text{font-size:12px;line-height:1.7}
/* Empty basket, cross-sells, order-pay and confirmation. */
.kh-purchase-native .wp-block-woocommerce-empty-cart-block{padding:35px 0 15px}
.kh-purchase-native .wc-block-cart__empty-cart__title{font:clamp(28px,4vw,42px)/1.2 Georgia,serif}
.kh-purchase-native .cross-sells h2{font-size:29px}
.kh-purchase-native .woocommerce-order{background:var(--kh-buy-paper);padding:clamp(18px,4vw,42px);border:1px solid var(--kh-buy-line);border-radius:30px 12px}
.kh-purchase-native .woocommerce-thankyou-order-received{font:30px/1.3 Georgia,serif;color:var(--kh-buy-rose)}
.kh-purchase-native ul.order_details{display:flex;flex-wrap:wrap;gap:20px;margin:28px 0;padding:22px;background:#f2e3e9;border-radius:16px;list-style:none}
.kh-purchase-native ul.order_details li{float:none;border:0;margin:0;padding:0;flex:1 1 150px;overflow-wrap:anywhere}
.kh-purchase-native .woocommerce-customer-details address{border:1px solid var(--kh-buy-line);border-radius:16px;padding:22px;box-sizing:border-box;width:100%}
.kh-purchase-help{margin-top:65px;padding:35px 40px;background:#f8e8b9;border-radius:12px 65px 12px 40px;display:flex;justify-content:space-between;align-items:center;gap:35px}
.kh-purchase-help h2{font:clamp(23px,2.7vw,34px)/1.2 Georgia,serif;letter-spacing:-.7px;margin:12px 0 0}
.kh-purchase-help>div:last-child{display:grid;gap:14px;flex-shrink:0}
.kh-purchase-help a{font-size:13px;text-decoration:none;border-bottom:1px solid #a78d64;padding:4px 0;transition:color .2s}
.kh-purchase-help a:hover{color:var(--kh-buy-rose)}
@media(min-width:1000px){
 .kh-purchase-native form.checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);column-gap:40px;align-items:start}
 .kh-purchase-native form.checkout>*{grid-column:1/-1}
 .kh-purchase-native form.checkout #customer_details{grid-column:1;grid-row:2/span 2}
 .kh-purchase-native form.checkout #order_review_heading{grid-column:2;grid-row:2;margin-top:0}
 .kh-purchase-native form.checkout #order_review{grid-column:2;grid-row:3}
}
@media(max-width:700px){
 .kh-purchase-content{padding-bottom:40px}
 .kh-purchase-intro{grid-template-columns:minmax(0,1fr) 85px;gap:12px;padding-top:32px}
 .kh-purchase-intro h1{font-size:40px;letter-spacing:-1.6px}
 .kh-purchase-intro-copy>p:not(.kh-purchase-eyebrow){font-size:14px}
 .kh-purchase-art{width:85px;height:130px;align-self:start;margin-top:24px}
 .kh-purchase-cat{height:85px;width:85px}
 .kh-purchase-cat svg{height:65px;width:65px}
 .kh-purchase-stamp{height:64px;width:64px;font-size:7px;bottom:0}
 .kh-purchase-steps{gap:16px;margin-bottom:24px!important}
 .kh-purchase-steps li{font-size:11px;gap:5px}
 .kh-purchase-steps li span{height:22px;width:22px}
 .kh-purchase-native :is(.wp-block-woocommerce-cart-items-block,.wp-block-woocommerce-checkout-fields-block){padding:16px;border-radius:20px 10px}
 .kh-purchase-native :is(.wp-block-woocommerce-cart-totals-block,.wp-block-woocommerce-checkout-totals-block){padding:20px;border-radius:16px 16px 35px 16px}
 .kh-purchase-native :is(.woocommerce-cart-form,#customer_details,#order_review){padding:18px}
 .kh-purchase-native .cart-collaterals .cart_totals{padding:20px}
 .kh-purchase-native table.shop_table :is(th,td){padding:14px 6px}
 .kh-purchase-native .woocommerce-cart-form .coupon{display:flex;flex-wrap:wrap;gap:10px}
 .kh-purchase-native #coupon_code{width:100%;min-width:0}
 .kh-purchase-help{padding:26px;display:block;margin-top:35px;border-radius:12px 42px 12px 30px}
 .kh-purchase-help>div:last-child{margin-top:24px;justify-items:start}
}
@media(prefers-reduced-motion:reduce){.kh-purchase-content *{transition:none!important}}
/* Empty basket has its own story; recommendations reuse the homepage component. */
.kh-purchase-content [data-kh-empty-cart][hidden],.kh-purchase-content [data-kh-filled-cart][hidden]{display:none!important}
.kh-empty-story{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr);align-items:center;gap:55px;padding:65px 0 45px}
.kh-empty-story h1{font:clamp(42px,5.8vw,76px)/1.04 Georgia,serif;letter-spacing:-2.8px;margin:0 0 24px}
.kh-empty-story h1 em{color:#87345c;font-weight:400}
.kh-empty-story p:not(.kh-purchase-eyebrow){max-width:470px;color:#66565d;margin-bottom:26px}
.kh-empty-inspiration{display:block;width:fit-content;margin-top:20px;font-size:13px;text-underline-offset:5px}
.kh-empty-art{position:relative;min-height:300px;display:grid;place-items:center;isolation:isolate}
.kh-empty-orbit{position:absolute;inset:10px 0;background:#ecd4df;border-radius:42% 58% 65% 35% / 44% 35% 65% 56%;transform:rotate(-9deg);z-index:-1}
.kh-empty-art>svg{width:220px;max-width:70%;color:#87345c;transform:rotate(-8deg)}
.kh-empty-note{position:absolute;bottom:0;right:0;background:#f8df92;clip-path:polygon(50% 0,61% 9%,75% 5%,80% 20%,95% 25%,91% 40%,100% 50%,91% 61%,95% 75%,80% 80%,75% 95%,60% 91%,50% 100%,39% 91%,25% 95%,20% 80%,5% 75%,9% 60%,0 50%,9% 39%,5% 25%,20% 20%,25% 5%,40% 9%);width:140px;height:140px;display:grid;place-content:center;text-align:center;font-size:12px;font-weight:700;letter-spacing:1px;transform:rotate(10deg)}
.woocommerce-cart .kh-purchase-native :is(.wp-block-woocommerce-empty-cart-block,.cart-empty,.return-to-shop,.cross-sells,.wp-block-woocommerce-cart-cross-sells-block){display:none!important}
/* Suppress the default block recommendation grids, replaced by the shared cards below. */
.woocommerce-cart .kh-purchase-native :is(.wp-block-woocommerce-product-collection,.wp-block-woocommerce-product-new,.wp-block-woocommerce-product-best-sellers,.wp-block-woocommerce-product-top-rated,.wp-block-woocommerce-handpicked-products){display:none!important}
.kh-cart-recommendations{padding-inline:0;max-width:none;margin-top:55px;scroll-margin-top:120px}
@media(max-width:700px){.kh-empty-story{grid-template-columns:1fr;gap:28px;padding:35px 0 15px}.kh-empty-story h1{font-size:43px;letter-spacing:-1.7px}.kh-empty-art{min-height:220px;width:260px;max-width:90%;justify-self:center}.kh-empty-art>svg{width:160px}.kh-empty-note{width:105px;height:105px;font-size:9px}.kh-cart-recommendations{margin-top:35px}}
.kh-cart-shipping{margin:35px 0;padding:30px;background:#e7e9d7;border-radius:35px 12px 35px 12px}.kh-cart-shipping h2{font:34px/1.2 Georgia,serif}.kh-cart-shipping p{font-size:14px;line-height:1.7}.kh-cart-shipping .shipping-calculator-form{display:block!important;max-width:650px}.kh-cart-shipping .shipping-calculator-button{display:none}.kh-cart-shipping :is(input,select){box-sizing:border-box;width:100%;padding:14px;border:1px solid #bda6af;border-radius:10px;background:#fffdf8;font:16px Arial}.kh-cart-shipping button{padding:14px 24px;border:0;border-radius:25px;background:#87345c;color:white;cursor:pointer}.kh-cart-shipping label{display:block;margin-bottom:7px}.kh-cart-shipping .form-row{float:none;width:100%}.kh-purchase-native .cart_totals .woocommerce-shipping-calculator{display:none}.kh-cart-shipping :is(input,select,button):focus-visible{outline:3px solid #87345c;outline-offset:4px}
/* Compact native calculator, placed with the right-hand totals. */
.kh-purchase .kh-shipping-inline{box-sizing:border-box;background:transparent;border:0;border-top:1px solid #dfd2d8;border-radius:0;padding:0;margin:0;width:100%;font:13px/1.6 Arial,sans-serif}.kh-purchase .kh-shipping-inline[hidden]{display:none!important}.kh-shipping-inline summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;padding:18px 0;cursor:pointer;font-weight:600;min-height:48px}.kh-shipping-inline summary::-webkit-details-marker{display:none}.kh-shipping-inline summary>span{font-size:20px;transition:transform .2s}.kh-shipping-inline[open] summary>span{transform:rotate(45deg)}.kh-shipping-inline>div{padding:0 0 18px}.kh-shipping-inline>div>p{font-size:12px;margin:0 0 16px}.kh-shipping-inline .shipping-calculator-form{max-width:none;margin:0;padding:0}.kh-shipping-inline .woocommerce-shipping-calculator{margin:0}.kh-purchase-native .cart_totals .kh-shipping-inline .woocommerce-shipping-calculator{display:block}.kh-shipping-inline .form-row{margin:10px 0;padding:0}.kh-shipping-inline :is(input,select){font-size:16px;max-width:100%}.kh-purchase .kh-remove-button{display:inline-flex!important;align-items:center;justify-content:center;min-width:40px;min-height:40px;width:auto!important;height:auto!important;border-radius:50%!important;font-size:0!important;text-decoration:none!important;background:transparent!important;color:#87345c!important;transition:background .2s}.kh-remove-button>svg:not(.kh-remove-bin){display:none}.kh-remove-bin{width:21px;height:21px;transform-origin:50% 80%;transition:transform .22s ease}.kh-remove-lid{transform-origin:19px 5px;transition:transform .22s ease}.kh-remove-button:is(:hover,:focus-visible) .kh-remove-bin{transform:rotate(8deg)}.kh-remove-button:is(:hover,:focus-visible) .kh-remove-lid{transform:translateY(-2px) rotate(23deg)}.kh-purchase .kh-remove-button:hover{background:#f2e3e9!important}.kh-remove-button:focus-visible,.kh-shipping-inline summary:focus-visible{outline:3px solid #87345c;outline-offset:3px}@media(prefers-reduced-motion:reduce){.kh-remove-bin,.kh-remove-lid,.kh-shipping-inline summary>span{transition:none!important;transform:none!important}}
