/* Checkout and cart: approved SoupyDog palette with native WooCommerce controls. */
#soupy-flow #payment .soupy-test-payment{background:#eee6f2;border:1px solid #48316c30;border-radius:7px;padding:14px 16px;margin:12px 0 18px;color:#48316c}
#soupy-flow #payment .soupy-test-payment-badge{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.09em;border:1px solid #48316c55;border-radius:4px;padding:3px 6px;line-height:1.3}
#soupy-flow #payment .soupy-test-payment p{font-size:13px;line-height:1.5;margin:9px 0 12px}
#soupy-flow #payment .soupy-test-payment dl{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:0}
#soupy-flow #payment .soupy-test-card-number{grid-column:1/-1}
#soupy-flow #payment .soupy-test-payment dt{font-size:11px;line-height:1.4;margin-bottom:3px;font-weight:400}
#soupy-flow #payment .soupy-test-payment dd{margin:0;line-height:1.4}
#soupy-flow #payment .soupy-test-payment code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:15px;font-weight:600;background:transparent;padding:0;color:inherit;white-space:nowrap;user-select:all;-webkit-user-select:all}
body.woocommerce-cart #soupy-flow,body.woocommerce-checkout #soupy-flow{background:#f5eddf}
#soupy-flow .soupy-page:has(.woocommerce-cart-form),#soupy-flow .soupy-page:has(form.checkout){width:min(90%,1220px)}
#soupy-flow .soupy-page-title{line-height:1;letter-spacing:-.015em}
#soupy-flow .soupy-checkout-path{display:flex;gap:12px 24px;flex-wrap:wrap;margin:28px 0 34px;font-size:14px;font-weight:700}
#soupy-flow .soupy-checkout-path a{display:flex;align-items:center;gap:9px}
#soupy-flow .soupy-checkout-path span{width:30px;height:30px;display:grid;place-items:center;border:1px solid #48316c55;border-radius:50%;font-size:12px}
#soupy-flow .soupy-checkout-path a:hover span{background:#48316c;color:#f5eddf}
#soupy-flow .soupy-checkout-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,60px);align-items:start}
#soupy-flow .soupy-checkout-layout:before,#soupy-flow .soupy-checkout-layout:after{display:none}
#soupy-flow .soupy-checkout-details,#soupy-flow .soupy-checkout-summary,#soupy-flow .soupy-checkout-payment{min-width:0}
#soupy-flow .soupy-checkout-layout .col2-set{width:100%}
#soupy-flow .soupy-checkout-layout .col2-set .col-1,#soupy-flow .soupy-checkout-layout .col2-set .col-2{width:100%;float:none}
#soupy-flow .soupy-checkout-layout h3,#soupy-flow .cart_totals h2{text-transform:uppercase;font-size:30px;margin:0 0 22px;font-family:'Helvetica Now Condensed',Arial,sans-serif}
#soupy-flow .soupy-checkout-layout .woocommerce-additional-fields,#soupy-flow .soupy-checkout-layout .woocommerce-shipping-fields{margin-top:26px}
#soupy-flow .soupy-checkout-layout #ship-to-different-address{font-family:'Helvetica Now Text',Arial,sans-serif;font-size:16px;text-transform:none;line-height:1.5}
#soupy-flow .woocommerce form .form-row{margin:0 0 18px;padding:0}
#soupy-flow .woocommerce form .form-row label{font-size:15px;font-weight:700;line-height:1.4;margin-bottom:8px;color:#48316c}
#soupy-flow .woocommerce form .form-row .optional{font-size:12px;font-weight:400}
#soupy-flow .woocommerce form .form-row input.input-text,#soupy-flow .woocommerce form .form-row textarea,#soupy-flow .woocommerce form .form-row select{border-radius:6px;min-height:50px;padding:13px 14px;color:#48316c;background:#fffaf2;line-height:1.4;font-size:16px;border:1px solid #48316c55;box-sizing:border-box}
#soupy-flow .woocommerce form .form-row textarea{min-height:110px;resize:vertical}
#soupy-flow .woocommerce form .form-row input:focus,#soupy-flow .woocommerce form .form-row textarea:focus{outline:2px solid #48316c;outline-offset:2px}
#soupy-flow .woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:#b12639}
#soupy-flow .woocommerce .select2-container .select2-selection--single{height:50px;border:1px solid #48316c55;border-radius:6px;background:#fffaf2}
#soupy-flow .woocommerce .select2-container .select2-selection__rendered{line-height:48px;padding-left:14px;color:#48316c;font-size:16px}
#soupy-flow .woocommerce .select2-container .select2-selection__arrow{height:48px;right:8px}
#soupy-flow .woocommerce .form-row-first,#soupy-flow .woocommerce .form-row-last{width:calc(50% - 8px)}
#soupy-flow .soupy-checkout-summary{background:#e9decc;border:1px solid #48316c24;border-radius:12px;padding:26px}
#soupy-flow .soupy-summary-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 15px;margin-bottom:18px}
#soupy-flow .soupy-summary-heading h3{margin:0}
#soupy-flow .soupy-summary-heading a{font-size:13px;text-decoration:underline;text-underline-offset:4px}
#soupy-flow #order_review{padding:0;border-radius:0;background:transparent}
#soupy-flow .woocommerce table.shop_table{border:0;background:transparent;border-collapse:collapse;margin:0 0 25px;line-height:1.5}
#soupy-flow .woocommerce table.shop_table th,#soupy-flow .woocommerce table.shop_table td{padding:15px 0;border-top:1px solid #48316c30;color:#48316c;font-size:15px}
#soupy-flow .woocommerce table.shop_table thead th{border-top:0;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
#soupy-flow .woocommerce-checkout-review-order-table .product-total,#soupy-flow .woocommerce-checkout-review-order-table tfoot td{text-align:right;padding-left:15px!important}
#soupy-flow .woocommerce table.shop_table .amount{white-space:nowrap}
#soupy-flow .soupy-review-product{display:flex;align-items:center;gap:12px;font-weight:700}
#soupy-flow .soupy-review-product .soupy-review-thumb{height:76px;width:50px;object-fit:contain;flex:none}
#soupy-flow .woocommerce-checkout-review-order-table .product-quantity{font-size:13px;font-weight:400;display:inline-block;margin:4px 0}
#soupy-flow .woocommerce table.shop_table dl.variation{font-size:13px;font-weight:400}
#soupy-flow .woocommerce table.shop_table tr.order-total th,#soupy-flow .woocommerce table.shop_table tr.order-total td{font-size:20px;border-top:2px solid #48316c;padding-top:18px}
#soupy-flow .woocommerce table.shop_table tr.recurring-totals th{font-family:'Helvetica Now Condensed',Arial,sans-serif;font-size:23px;padding-top:30px}
#soupy-flow .woocommerce table.shop_table small{display:block;font-size:12px;line-height:1.5;font-weight:400;margin-top:6px}
#soupy-flow #shipping_method{padding:0;text-align:left}
#soupy-flow #shipping_method li{padding:12px;margin:0 0 10px;border:1px solid #48316c55;border-radius:6px;background:#fffaf2;font-size:14px;text-align:left}
#soupy-flow #shipping_method label{display:inline;line-height:1.5}
#soupy-flow #shipping_method .amount{display:inline-block}
#soupy-flow #payment{background:transparent;border-radius:0;padding-top:24px;border-top:1px solid #48316c55}
#soupy-flow #payment h3{margin-bottom:18px}
#soupy-flow #payment ul.payment_methods{padding:0;border:0;list-style:none;margin:0}
#soupy-flow #payment li.wc_payment_method{border:1px solid #48316c55;border-radius:7px;margin:0 0 12px;padding:16px;background:#fffaf2;line-height:1.5}
#soupy-flow #payment li.wc_payment_method:has(>input:checked){border-color:#48316c;box-shadow:inset 0 0 0 1px #48316c}
#soupy-flow #payment li.wc_payment_method>input{margin:0 10px 0 0;vertical-align:middle}
#soupy-flow #payment li.wc_payment_method>label{font-weight:700;font-size:17px;vertical-align:middle;cursor:pointer}
#soupy-flow #payment li.wc_payment_method>label img{max-height:28px;width:auto;max-width:100px;vertical-align:middle;float:right}
#soupy-flow #payment div.payment_box{background:transparent;color:#48316c;border-top:1px solid #48316c30;padding:14px 0 0;margin:14px 0 0;font-size:14px;line-height:1.5;width:100%}
#soupy-flow #payment div.payment_box:before{display:none}
#soupy-flow #payment div.form-row.place-order{padding:15px 0 0;margin:0}
#soupy-flow #payment .woocommerce-privacy-policy-text,#soupy-flow .soupy-renewal-note{font-size:13px;line-height:1.6;margin-bottom:16px}
#soupy-flow #payment a:not(.button){text-decoration:underline;text-underline-offset:3px}
#soupy-flow #place_order,#soupy-flow .wc-proceed-to-checkout .checkout-button{width:100%;background:#ffdc00;color:#48316c;padding:19px 20px;min-height:58px;font-size:17px;text-align:center;text-transform:uppercase;float:none}
#soupy-flow .woocommerce .woocommerce-error,#soupy-flow .woocommerce .woocommerce-info,#soupy-flow .woocommerce .woocommerce-message{border-radius:6px;font-size:14px;line-height:1.6}
#soupy-flow .woocommerce .woocommerce-error li{color:#9d2436}
#soupy-flow .soupy-cart-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:35px;align-items:start;margin-top:30px}
#soupy-flow .soupy-cart-layout>form,#soupy-flow .soupy-cart-layout>.cart-collaterals{min-width:0;width:100%;float:none}
#soupy-flow .soupy-cart-layout .cart_totals{width:100%;float:none;background:#e9decc;border:1px solid #48316c24;border-radius:12px;padding:24px;box-sizing:border-box}
#soupy-flow .woocommerce-cart-form table.cart td,#soupy-flow .woocommerce-cart-form table.cart th{padding:18px 8px}
#soupy-flow .woocommerce-cart-form table.cart td.product-name{font-weight:700}
#soupy-flow .woocommerce-cart-form table.cart td.product-thumbnail{min-width:70px}
#soupy-flow .woocommerce-cart-form table.cart td.product-thumbnail img{width:70px;height:95px;object-fit:contain;transform:none}
#soupy-flow .woocommerce-cart-form table.cart .product-price{display:none}
#soupy-flow .woocommerce-cart-form .quantity{display:inline-flex;align-items:center;border:1px solid #48316c55;border-radius:6px;overflow:hidden;background:#fffaf2}
#soupy-flow .woocommerce-cart-form .quantity .qty{border:0;border-radius:0;padding:8px 2px;width:42px;min-height:44px;margin:0;text-align:center;-moz-appearance:textfield}
#soupy-flow .woocommerce-cart-form .quantity .qty::-webkit-inner-spin-button,#soupy-flow .woocommerce-cart-form .quantity .qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
#soupy-flow .soupy-qty-control{border:0;background:transparent;color:#48316c;min-width:30px;min-height:44px;font:inherit;font-weight:700;cursor:pointer;padding:0}
#soupy-flow .woocommerce-cart-form a.remove{display:grid;place-items:center;color:#48316c!important;border:1px solid #48316c33;width:30px;height:30px;line-height:1;font-size:23px;font-weight:400}
#soupy-flow .woocommerce-cart-form a.remove:hover{background:#48316c;color:#fffaf2!important}
#soupy-flow .woocommerce-cart-form .actions{padding-inline:0!important}
#soupy-flow .woocommerce-cart-form .actions .coupon{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap;float:none;margin-bottom:14px}
#soupy-flow .woocommerce-cart-form #coupon_code{width:160px;flex:1;min-width:100px}
#soupy-flow .woocommerce-cart-form .actions .button{font-size:13px}
#soupy-flow .woocommerce-cart-form button[name=update_cart]{float:right}
#soupy-flow .cart_totals .wc-proceed-to-checkout{padding-bottom:0}
#soupy-flow .cart_totals .wc-proceed-to-checkout .checkout-button{margin-bottom:0}
#soupy-flow .cart_totals .shipping-calculator-button{font-size:13px;text-decoration:underline}
#soupy-flow #customer_details,#soupy-flow #order_review_heading,#soupy-flow #soupy-payment-heading,#soupy-flow #soupy-shipping-heading{scroll-margin-top:125px}
/* Both WooCommerce and Stripe prepend their notices directly into the grid. */
#soupy-flow .soupy-checkout-layout > :is(.woocommerce-NoticeGroup,.woocommerce-notices-wrapper,.woocommerce-error,.woocommerce-message,.woocommerce-info){grid-column:1/-1;min-width:0;width:100%;box-sizing:border-box}
#soupy-flow .soupy-checkout-layout > .woocommerce-NoticeGroup > :last-child{margin-bottom:0}
#soupy-flow .soupy-pickup-state[hidden]{display:none!important}
#soupy-flow .soupy-pickup-error{color:#b51f32;font-size:14px;line-height:1.5;margin:12px 0 0;font-weight:700}
#soupy-flow #vp-woo-pont-show-map:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:1050px){
 #soupy-flow .soupy-cart-layout{grid-template-columns:1fr}
 #soupy-flow .soupy-checkout-layout{gap:24px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 #soupy-flow .soupy-checkout-summary{padding:20px}
}
@media(max-width:780px){
 #soupy-flow .soupy-checkout-layout{grid-template-columns:1fr;gap:30px}
 #soupy-flow .soupy-checkout-path{gap:12px;font-size:12px}
 #soupy-flow .soupy-checkout-path span{width:25px;height:25px}
 #soupy-flow .soupy-checkout-path a{gap:6px}
 #soupy-flow .soupy-page:has(.woocommerce-cart-form),#soupy-flow .soupy-page:has(form.checkout){width:calc(100% - 36px)}
 #soupy-flow .soupy-cart-layout{gap:24px}
 #soupy-flow .woocommerce-cart-form table.cart thead{display:none}
 #soupy-flow .woocommerce-cart-form table.cart tr.cart_item{position:relative;display:grid;grid-template-columns:78px minmax(0,1fr) 34px;gap:8px 12px;border-top:1px solid #48316c40;padding:22px 0;background:transparent}
 #soupy-flow .woocommerce-cart-form table.cart tr.cart_item td{border:0;padding:0;display:block;text-align:left!important;background:transparent}
 #soupy-flow .woocommerce-cart-form table.cart tr.cart_item td:before{display:none}
 #soupy-flow .woocommerce-cart-form table.cart tr.cart_item .product-thumbnail{grid-column:1;grid-row:1/4;align-self:center}
 #soupy-flow .woocommerce-cart-form table.cart tr.cart_item .product-name{grid-column:2;grid-row:1;padding-right:0;font-size:17px}
 #soupy-flow .woocommerce-cart-form table.cart tr.cart_item .product-remove{grid-column:3;grid-row:1}
 #soupy-flow .woocommerce-cart-form table.cart tr.cart_item .product-price{display:none}
 #soupy-flow .woocommerce-cart-form table.cart tr.cart_item .product-quantity{grid-column:2;grid-row:2}
 #soupy-flow .woocommerce-cart-form table.cart tr.cart_item .product-subtotal{grid-column:2;grid-row:3;font-weight:700;font-size:18px}
 #soupy-flow .woocommerce-cart-form table.cart .actions{padding-block:22px!important;background:transparent}
 #soupy-flow .woocommerce-cart-form table.cart .actions .coupon .button{width:auto!important}
 #soupy-flow .woocommerce-cart-form table.cart .actions .coupon input{width:120px!important}
 #soupy-flow .woocommerce-cart-form table.cart button[name=update_cart]{width:100%;float:none}
 #soupy-flow .cart_totals{padding:20px!important}
 #soupy-flow .cart_totals table.shop_table_responsive tr{background:transparent}
 #soupy-flow .cart_totals table.shop_table_responsive tr td{background:transparent;padding-block:14px}
 #soupy-flow .cart_totals table.shop_table_responsive tr.recurring-totals{display:table-row}
 #soupy-flow .cart_totals table.shop_table_responsive tr.recurring-totals th{display:table-cell}
}
@media(max-width:380px){
 #soupy-flow .soupy-checkout-summary{padding:16px}
 #soupy-flow .soupy-checkout-path{gap:8px 15px}
 #soupy-flow .woocommerce .form-row-first,#soupy-flow .woocommerce .form-row-last{float:none;width:100%}
}

/* Linear checkout: details and delivery, then payment; summary alongside on desktop. */
#soupy-flow .soupy-checkout-payment{grid-column:1;min-width:0}
#soupy-flow .soupy-checkout-shipping{margin-top:34px;padding-top:30px;border-top:1px solid #48316c40;scroll-margin-top:125px}
#soupy-flow .soupy-checkout-shipping[hidden]{display:none}
#soupy-flow .soupy-section-intro{font-size:16px;line-height:1.5;margin:-8px 0 20px}
#soupy-flow .soupy-shipping-options{width:100%;margin-bottom:0!important}
#soupy-flow .woocommerce table.soupy-shipping-options>tbody>tr:not([hidden]){display:block}
#soupy-flow .woocommerce table.soupy-shipping-options>tbody>tr>th,#soupy-flow .woocommerce table.soupy-shipping-options>tbody>tr>td{display:block;width:100%;box-sizing:border-box;text-align:left;padding:10px 0;border:0}
#soupy-flow .woocommerce table.soupy-shipping-options>tbody>tr.woocommerce-shipping-totals>th{font-size:14px;padding-bottom:0}
#soupy-flow .soupy-shipping-options .vp-woo-pont-review-order{border:1px solid #48316c55;border-radius:10px;background:#fffaf2;padding:20px;margin-top:12px}
#soupy-flow .woocommerce table.soupy-shipping-options .vp-woo-pont-review-order>th{font-size:20px;font-family:'Helvetica Now Condensed',Arial,sans-serif;padding:0 0 10px}
#soupy-flow .woocommerce table.soupy-shipping-options .vp-woo-pont-review-order>td{padding:0}
#soupy-flow .soupy-shipping-options #vp-woo-pont-show-map{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid #48316c;border-radius:6px;padding:12px 18px;background:#48316c;color:#fffaf2;font-size:16px;font-weight:700;text-decoration:none;margin-top:10px;box-sizing:border-box}
#soupy-flow .soupy-shipping-options .soupy-pickup-help{margin:0 0 8px;font-size:15px;line-height:1.5}
#soupy-flow .soupy-shipping-options .vp-woo-pont-review-order.soupy-pickup-invalid{border:2px solid #b51f32}
#soupy-flow .soupy-shipping-options .vp-woo-pont-review-order-selected{align-items:flex-start}
#soupy-flow .soupy-checkout-payment #payment{padding-top:0;border-top:0}
#soupy-flow .soupy-checkout-summary table.shop_table{margin-bottom:0}
@media(min-width:781px){#soupy-flow .soupy-checkout-summary{position:sticky;top:110px}}
