/* Adaptive Payment Desk — intentionally uses inherited typography and low-specificity,
   theme-neutral tokens instead of imposing a brand palette. */
:where(.woocommerce-cart,.woocommerce-checkout,.wc-block-cart,.wc-block-checkout,.woocommerce-order,.woocommerce-account){
  --apd-radius:var(--wp--custom--border--radius,14px);
  --apd-radius-sm:calc(var(--apd-radius) * .72);
  --apd-line:rgba(127,127,127,.28);
  --apd-soft:rgba(127,127,127,.06);
  --apd-soft-2:rgba(127,127,127,.10);
  --apd-shadow:0 16px 46px rgba(0,0,0,.14);
}

/* Cart + classic checkout polish while preserving the site's colors and fonts. */
:where(.woocommerce-cart,.woocommerce-checkout) table.shop_table,
:where(.woocommerce-cart,.woocommerce-checkout) #order_review,
:where(.woocommerce-cart,.woocommerce-checkout) .cart_totals,
:where(.woocommerce-cart,.woocommerce-checkout) .woocommerce-checkout-review-order-table{
  border-color:var(--apd-line)!important;border-radius:var(--apd-radius)!important;overflow:hidden;
}
:where(.woocommerce-cart,.woocommerce-checkout) form .form-row input.input-text,
:where(.woocommerce-cart,.woocommerce-checkout) form .form-row textarea,
:where(.woocommerce-cart,.woocommerce-checkout) form .form-row select,
:where(.woocommerce-cart,.woocommerce-checkout) .select2-container--default .select2-selection--single{
  font:inherit;color:inherit;border-color:var(--apd-line);border-radius:var(--apd-radius-sm);min-height:46px;
}
:where(.woocommerce-cart,.woocommerce-checkout) #payment{
  background:var(--apd-soft)!important;color:inherit!important;border:1px solid var(--apd-line);border-radius:var(--apd-radius)!important;
}
:where(.woocommerce-cart,.woocommerce-checkout) #payment div.payment_box{
  background:var(--apd-soft-2)!important;color:inherit!important;border-radius:var(--apd-radius-sm)!important;
}
:where(.woocommerce-cart,.woocommerce-checkout) #payment div.payment_box:before{display:none!important}
:where(.woocommerce-cart,.woocommerce-checkout) .button,
:where(.wc-block-cart,.wc-block-checkout) .wc-block-components-button{font:inherit;border-radius:var(--apd-radius-sm)}

/* Checkout Blocks. */
:where(.wc-block-cart,.wc-block-checkout) .wc-block-components-sidebar,
:where(.wc-block-cart,.wc-block-checkout) .wc-block-components-order-summary,
:where(.wc-block-cart,.wc-block-checkout) .wc-block-components-totals-wrapper{
  border-color:var(--apd-line)!important;
}
.apd-block-picker{display:grid;gap:.55rem;padding:.6rem 0}.apd-block-picker label{font-weight:600}.apd-block-picker select{width:100%;min-height:46px;font:inherit;color:inherit;background:transparent;border:1px solid var(--apd-line);border-radius:var(--apd-radius-sm);padding:.65rem .8rem}
.apd-block-help{font-size:.9em;opacity:.72;margin:0}

.apd-checkout-payment-picker{padding:.65rem 0}.apd-checkout-payment-picker .select2-container{width:100%!important}
.apd-checkout-payment-picker label{font:inherit}

.apd-order-next-step,.apd-payment-panel{margin:1.5rem 0;padding:clamp(1rem,2vw,1.4rem);border:1px solid var(--apd-line);border-radius:var(--apd-radius);background:var(--apd-soft);box-shadow:var(--apd-shadow);color:inherit}
.apd-payment-card{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:1.25rem;padding:1.1rem;border:1px solid var(--apd-line);border-radius:var(--apd-radius);background:var(--apd-soft)}
.apd-payment-copy{display:grid;gap:1rem}.apd-payment-copy>div>span{display:block;opacity:.68;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}.apd-payment-copy strong{font-size:1.05rem}
.apd-copy-row{display:flex;gap:.75rem;align-items:flex-start;flex-wrap:wrap}.apd-copy-value{display:block;white-space:pre-wrap;word-break:break-word;flex:1;min-width:220px;padding:.8rem;border:1px solid var(--apd-line);border-radius:var(--apd-radius-sm);background:var(--apd-soft-2);color:inherit;font:inherit}
.apd-payment-qr-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.apd-qr{background:#fff;color:#111;padding:10px;border-radius:12px;min-width:180px;min-height:180px;display:grid;place-items:center}.apd-qr img,.apd-qr canvas{max-width:180px!important;height:auto!important}
.apd-proof-box{margin-top:1rem;padding:1rem;border:1px solid var(--apd-line);border-radius:var(--apd-radius);background:var(--apd-soft)}
.apd-proof-form input[type="file"],.apd-proof-form input[type="text"]{max-width:100%}.apd-payment-stage{margin-bottom:1rem}.apd-payment-support{opacity:.85}
@media(max-width:720px){.apd-payment-card{grid-template-columns:1fr}.apd-payment-qr-wrap{order:-1}.apd-copy-row{display:block}.apd-copy-button{margin-top:.6rem}}

@supports (color:color-mix(in srgb,#000 50%,#fff)){
:where(.woocommerce-cart,.woocommerce-checkout,.wc-block-cart,.wc-block-checkout,.woocommerce-order,.woocommerce-account){
  --apd-line:color-mix(in srgb,currentColor 16%,transparent);--apd-soft:color-mix(in srgb,currentColor 4%,transparent);--apd-soft-2:color-mix(in srgb,currentColor 7%,transparent);--apd-shadow:0 16px 46px color-mix(in srgb,#000 14%,transparent);
}}

/* --------------------------------------------------------------------------
   v0.2 — authoritative Cart + Checkout shell
   APD owns layout and component treatment while deliberately inheriting the
   host site's header/footer, typography and button/brand language.
   -------------------------------------------------------------------------- */
body.apd-checkout-owned{
  --apd-page-width:min(1180px,calc(100vw - 36px));
  --apd-gap:clamp(18px,3vw,34px);
  --apd-surface:rgba(127,127,127,.045);
  --apd-surface-strong:rgba(127,127,127,.075);
  --apd-owner-line:rgba(127,127,127,.22);
  --apd-owner-shadow:0 22px 60px rgba(0,0,0,.10);
}
body.apd-checkout-owned .apd-owned-page{display:block;width:100%;margin:0;padding:clamp(42px,6vw,88px) 0 clamp(60px,8vw,120px);background:transparent;color:inherit;font:inherit}
body.apd-checkout-owned .apd-owned-shell{width:var(--apd-page-width);max-width:1180px;margin:0 auto}
body.apd-checkout-owned .apd-owned-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:clamp(20px,3vw,32px);margin-bottom:clamp(24px,4vw,42px);border-bottom:1px solid var(--apd-owner-line)}
body.apd-checkout-owned .apd-owned-heading h1{margin:0!important;padding:0!important;font:inherit;font-size:clamp(34px,5vw,64px)!important;font-weight:750!important;letter-spacing:-.045em;line-height:.98;color:inherit}
body.apd-checkout-owned .apd-owned-kicker{margin:0 0 .55rem!important;font:inherit;font-size:.76rem!important;font-weight:750!important;letter-spacing:.13em;text-transform:uppercase;opacity:.56}
body.apd-checkout-owned .apd-owned-woocommerce{font:inherit;color:inherit}
body.apd-checkout-owned .apd-owned-woocommerce :where(h2,h3,h4,label,input,select,textarea,button,.button){font-family:inherit}
body.apd-checkout-owned .apd-owned-woocommerce :where(.woocommerce-message,.woocommerce-info,.woocommerce-error){border:1px solid var(--apd-owner-line)!important;border-top-width:1px!important;border-radius:var(--apd-radius-sm)!important;background:var(--apd-surface)!important;color:inherit!important;padding:1rem 1rem 1rem 3rem!important}
body.apd-checkout-owned .apd-owned-woocommerce :where(.woocommerce-message,.woocommerce-info,.woocommerce-error):before{top:1rem!important}

/* Controlled cards and fields. */
body.apd-checkout-owned .apd-owned-woocommerce :where(table.shop_table,.cart_totals,#order_review,#customer_details .col-1,#customer_details .col-2){border:1px solid var(--apd-owner-line)!important;border-radius:var(--apd-radius)!important;background:var(--apd-surface)!important;box-shadow:none;overflow:hidden}
body.apd-checkout-owned .apd-owned-woocommerce table.shop_table{border-collapse:separate!important;border-spacing:0!important;margin:0!important}
body.apd-checkout-owned .apd-owned-woocommerce table.shop_table :where(th,td){padding:16px!important;border-color:var(--apd-owner-line)!important;background:transparent!important;color:inherit!important}
body.apd-checkout-owned .apd-owned-woocommerce :where(input.input-text,input.qty,textarea,select,.select2-selection--single){box-sizing:border-box!important;width:100%;min-height:48px!important;border:1px solid var(--apd-owner-line)!important;border-radius:11px!important;background:transparent!important;color:inherit!important;padding:.72rem .85rem!important;outline:none!important;box-shadow:none!important;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
body.apd-checkout-owned .apd-owned-woocommerce :where(input.input-text,input.qty,textarea,select):focus{border-color:currentColor!important;box-shadow:0 0 0 3px rgba(127,127,127,.12)!important;background:var(--apd-surface)!important}
body.apd-checkout-owned .apd-owned-woocommerce textarea{min-height:110px!important;resize:vertical}
body.apd-checkout-owned .apd-owned-woocommerce .form-row{margin:0 0 15px!important;padding:0!important}
body.apd-checkout-owned .apd-owned-woocommerce .form-row label{display:block;margin:0 0 7px;font-size:.88rem;font-weight:650;opacity:.82}
body.apd-checkout-owned .apd-owned-woocommerce .required{opacity:.65}
body.apd-checkout-owned .apd-owned-woocommerce :where(.button,button.button,#place_order){min-height:48px!important;border-radius:11px!important;padding:.78rem 1rem!important;font:inherit!important;font-weight:750!important;line-height:1.15!important;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}
body.apd-checkout-owned .apd-owned-woocommerce :where(.button,button.button,#place_order):hover{transform:translateY(-1px)}

/* Cart: APD controls the desktop split instead of the active theme. */
body.apd-owned-cart .apd-owned-woocommerce{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(300px,.72fr);gap:var(--apd-gap);align-items:start}
body.apd-owned-cart .apd-owned-woocommerce > :where(.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-info,.woocommerce-error,.return-to-shop){grid-column:1/-1}
body.apd-owned-cart .woocommerce-cart-form{grid-column:1;min-width:0}
body.apd-owned-cart .cart-collaterals{grid-column:2;min-width:0;width:100%!important}
body.apd-owned-cart .cart-collaterals .cart_totals{float:none!important;width:100%!important;padding:clamp(18px,2.2vw,28px)!important;position:sticky;top:28px;box-shadow:var(--apd-owner-shadow)}
body.apd-owned-cart .cart-collaterals .cart_totals h2{margin:0 0 18px!important;font-size:clamp(22px,2vw,28px)!important}
body.apd-owned-cart .woocommerce-cart-form table.cart{box-shadow:var(--apd-owner-shadow)}
body.apd-owned-cart .woocommerce-cart-form table.cart img{width:76px!important;height:auto!important;border-radius:10px!important}
body.apd-owned-cart .woocommerce-cart-form .coupon{display:flex!important;gap:8px;align-items:center}
body.apd-owned-cart .woocommerce-cart-form .coupon .input-text{width:min(230px,100%)!important;margin:0!important}
body.apd-owned-cart .wc-proceed-to-checkout{padding:18px 0 0!important}
body.apd-owned-cart .wc-proceed-to-checkout .checkout-button{display:flex!important;align-items:center;justify-content:center;width:100%;margin:0!important}

/* Checkout: left customer details + sticky right order/payment card. */
body.apd-owned-checkout form.checkout.woocommerce-checkout{display:grid!important;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);column-gap:var(--apd-gap);row-gap:14px;align-items:start}
body.apd-owned-checkout form.checkout > #customer_details{grid-column:1;grid-row:1/20;min-width:0;width:100%!important;float:none!important}
body.apd-owned-checkout form.checkout > #order_review_heading{grid-column:2;grid-row:1;margin:0!important;padding:0 0 4px!important;font-size:clamp(22px,2vw,28px)!important;line-height:1.2}
body.apd-owned-checkout form.checkout > #order_review{grid-column:2;grid-row:2;min-width:0;width:100%!important;float:none!important;position:sticky;top:28px;padding:clamp(18px,2.2vw,28px)!important;box-shadow:var(--apd-owner-shadow)}
body.apd-owned-checkout #customer_details{display:grid!important;grid-template-columns:1fr!important;gap:var(--apd-gap)}
body.apd-owned-checkout #customer_details :where(.col-1,.col-2){float:none!important;width:100%!important;padding:clamp(18px,2.2vw,28px)!important}
body.apd-owned-checkout #customer_details :where(.woocommerce-billing-fields>h3,.woocommerce-shipping-fields>h3,.woocommerce-additional-fields>h3){margin:0 0 22px!important;font-size:clamp(21px,2vw,28px)!important}
body.apd-owned-checkout #order_review .woocommerce-checkout-review-order-table{margin-bottom:20px!important;border:0!important;border-radius:0!important;background:transparent!important}
body.apd-owned-checkout #order_review .woocommerce-checkout-review-order-table :where(th,td){padding-left:0!important;padding-right:0!important}
body.apd-owned-checkout #payment{margin-top:18px!important;padding:0!important;border:0!important;background:transparent!important;color:inherit!important}
body.apd-owned-checkout #payment ul.payment_methods{padding:0!important;margin:0!important;border:0!important;list-style:none!important}
body.apd-owned-checkout #payment .wc_payment_method{margin:0!important;padding:0!important}
body.apd-owned-checkout #payment .wc_payment_method > input.input-radio{position:absolute!important;opacity:0!important;pointer-events:none!important}
body.apd-owned-checkout #payment .wc_payment_method > label{display:block!important;margin:0 0 10px!important;font-size:.78rem!important;font-weight:750!important;letter-spacing:.10em;text-transform:uppercase;opacity:.58}
body.apd-owned-checkout #payment div.payment_box{display:block!important;margin:0!important;padding:0!important;background:transparent!important;color:inherit!important;border:0!important;border-radius:0!important}
body.apd-owned-checkout #payment div.payment_box:before{display:none!important}
body.apd-owned-checkout .apd-checkout-payment-picker{padding:0!important}
body.apd-owned-checkout .apd-checkout-payment-picker p{margin:0 0 7px!important}
body.apd-owned-checkout .apd-checkout-payment-picker strong{font-size:.9rem}
body.apd-owned-checkout #payment .place-order{padding:20px 0 0!important;margin:0!important}
body.apd-owned-checkout #place_order{float:none!important;width:100%!important;margin:0!important}
body.apd-owned-checkout .woocommerce-privacy-policy-text{font-size:.82rem;opacity:.76;line-height:1.55}
body.apd-owned-checkout form.checkout_coupon{max-width:600px;margin:0 0 24px!important;padding:18px!important;border:1px solid var(--apd-owner-line)!important;border-radius:var(--apd-radius)!important;background:var(--apd-surface)!important}

/* Searchable payment selector must remain readable even when theme Select2 rules are aggressive. */
body.apd-checkout-owned .select2-container{font:inherit!important;color:inherit!important}
body.apd-checkout-owned .select2-container--default .select2-selection--single{height:auto!important;display:flex!important;align-items:center;padding:.55rem 2.5rem .55rem .75rem!important}
body.apd-checkout-owned .select2-container--default .select2-selection--single .select2-selection__rendered{color:inherit!important;line-height:1.35!important;padding:0!important}
body.apd-checkout-owned .select2-container--default .select2-selection--single .select2-selection__arrow{height:100%!important;right:7px!important;top:0!important}
body.apd-checkout-owned .select2-container--default .select2-selection--single .select2-selection__placeholder{color:inherit!important;opacity:.55}
body.apd-checkout-owned .blockUI.blockOverlay{border-radius:var(--apd-radius)!important}

/* Order received remains in the same controlled visual shell. */
body.apd-owned-checkout .woocommerce-order{display:grid;gap:20px}
body.apd-owned-checkout :where(.woocommerce-order-overview,.woocommerce-order-details,.woocommerce-customer-details,.apd-order-next-step,.apd-payment-panel){border:1px solid var(--apd-owner-line)!important;border-radius:var(--apd-radius)!important;background:var(--apd-surface)!important;padding:clamp(18px,2.2vw,28px)!important;box-shadow:none!important;color:inherit!important}

@media(max-width:900px){
  body.apd-owned-cart .apd-owned-woocommerce{grid-template-columns:1fr}
  body.apd-owned-cart .woocommerce-cart-form,body.apd-owned-cart .cart-collaterals{grid-column:1}
  body.apd-owned-cart .cart-collaterals .cart_totals{position:static}
  body.apd-owned-checkout form.checkout.woocommerce-checkout{grid-template-columns:1fr!important}
  body.apd-owned-checkout form.checkout > #customer_details{grid-column:1;grid-row:auto}
  body.apd-owned-checkout form.checkout > #order_review_heading{grid-column:1;grid-row:auto;margin-top:10px!important}
  body.apd-owned-checkout form.checkout > #order_review{grid-column:1;grid-row:auto;position:static}
}
@media(max-width:620px){
  body.apd-checkout-owned{--apd-page-width:min(100% - 24px,1180px)}
  body.apd-checkout-owned .apd-owned-page{padding-top:32px}
  body.apd-checkout-owned .apd-owned-heading{display:block}
  body.apd-checkout-owned .apd-owned-heading h1{font-size:38px!important}
  body.apd-owned-cart .woocommerce-cart-form table.cart .product-thumbnail{display:none}
  body.apd-owned-cart .woocommerce-cart-form .coupon{display:grid!important;grid-template-columns:1fr}
  body.apd-owned-cart .woocommerce-cart-form .coupon .input-text{width:100%!important}
  body.apd-owned-checkout #customer_details :where(.col-1,.col-2),body.apd-owned-checkout form.checkout > #order_review{padding:17px!important}
}

@supports (color:color-mix(in srgb,#000 50%,#fff)){
  body.apd-checkout-owned{
    --apd-surface:color-mix(in srgb,currentColor 4%,transparent);
    --apd-surface-strong:color-mix(in srgb,currentColor 7%,transparent);
    --apd-owner-line:color-mix(in srgb,currentColor 17%,transparent);
    --apd-owner-shadow:0 22px 60px color-mix(in srgb,#000 11%,transparent);
  }
}
