/* Scoped presentation. Woo and gateway behavior/visibility remain native. */
body.spco-page { --spco-ink:#252521; --spco-muted:#686862; --spco-line:#deded7; --spco-paper:#fff; --spco-aside:#f6f6f2; margin:0; background:var(--spco-paper); color:var(--spco-ink); font-family:"Helvetica Neue",Helvetica,sans-serif; font-size:14px; line-height:1.55; }
.spco-page *, .spco-page *::before, .spco-page *::after { box-sizing:border-box; }
.spco-page a { color:inherit; text-underline-offset:3px; }
.spco-page a:hover { text-decoration:underline; }
.spco-page button, .spco-page input, .spco-page select, .spco-page textarea { font:inherit; }
.spco-page button, .spco-page input[type=checkbox], .spco-page input[type=radio] { accent-color:var(--spco-ink); }
.spco-page :focus-visible { outline:2px solid #54574a; outline-offset:3px; }
.spco-skip { position:absolute; left:16px; top:-100px; padding:10px; background:#fff; z-index:100000; }
.spco-skip:focus { top:10px; }
.spco-header { max-width:1180px; min-height:108px; padding:24px 40px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--spco-line); }
.spco-brand { font-family:Georgia,"Times New Roman",serif; font-size:31px; line-height:1.2; letter-spacing:.06em; text-decoration:none; }
.spco-secure { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--spco-muted); }
.spco-shell { width:min(1180px,100%); margin:0 auto; padding:22px 40px 56px; }
.spco-back { display:flex; align-items:center; gap:10px; font-size:12px; color:var(--spco-muted); margin-bottom:28px; }
.spco-back a { text-decoration:none; }
.spco-back a span { font-size:20px; line-height:0; }
.spco-page .woocommerce { width:100%; max-width:none; margin:0; padding:0; background:none; }
.spco-page .spco-form { margin:0; padding:0; width:100%; }
.spco-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); align-items:start; gap:64px; }
.spco-main, .spco-summary { min-width:0; }
.spco-page h1 { font-size:29px; font-weight:500; letter-spacing:-.025em; }
.spco-page h2, .spco-page h3 { font-family:inherit; font-size:20px; font-weight:500; letter-spacing:-.02em; line-height:1.3; text-transform:none; margin:0 0 18px; color:var(--spco-ink); }
.spco-page #customer_details, .spco-page #customer_details .col-1, .spco-page #customer_details .col-2 { width:100%!important; float:none!important; margin:0; padding:0; max-width:none; }
.spco-page #customer_details::before, .spco-page #customer_details::after { display:none; }
.spco-contact { margin-bottom:30px; }
.spco-address { display:flow-root; }
.spco-page .woocommerce-billing-fields__field-wrapper { display:block; }
.spco-page .form-row { margin:0 0 14px; padding:0; display:block; }
.spco-page .form-row::before, .spco-page .form-row::after { content:none; }
.spco-page .form-row label { display:block; margin:0 0 6px; font-size:12px; line-height:1.5; color:var(--spco-ink); }
.spco-page .form-row label.checkbox { font-size:13px; }
.spco-page .form-row-first { float:left; width:calc(50% - 7px); clear:left; }
.spco-page .form-row-last { float:right; width:calc(50% - 7px); }
.spco-page .form-row-wide { width:100%; clear:both; }
.spco-page .form-row .input-text, .spco-page .form-row select { display:block; width:100%; max-width:100%; min-height:48px; height:auto; border:1px solid #bcbdb5; border-radius:5px; background:#fff; color:var(--spco-ink); box-shadow:none; padding:11px 13px; font-size:16px; line-height:1.5; }
.spco-page .form-row textarea.input-text { min-height:86px; resize:vertical; }
.spco-page .form-row .input-text:focus, .spco-page .form-row select:focus { border-color:#555b4f; outline:1px solid #555b4f; }
.spco-page .form-row.woocommerce-invalid .input-text, .spco-page .form-row.woocommerce-invalid select { border-color:#b3261e; }
.spco-page .form-row .required { color:#a32d28; text-decoration:none; border:0; }
.spco-page .select2-container { width:100%!important; max-width:100%; }
.spco-page .select2-container .select2-selection--single { height:48px; border:1px solid #bcbdb5; border-radius:5px; background:#fff; }
.spco-page .select2-container .select2-selection--single .select2-selection__rendered { padding:10px 32px 10px 13px; line-height:26px; color:var(--spco-ink); }
.spco-page .select2-container .select2-selection--single .select2-selection__arrow { height:46px; right:8px; }
.spco-page .woocommerce-account-fields, .spco-page .woocommerce-shipping-fields, .spco-page .woocommerce-additional-fields { clear:both; padding-top:12px; }
.spco-page #ship-to-different-address { font-size:14px; margin:0 0 15px; }
.spco-page #ship-to-different-address label { display:flex; gap:8px; align-items:center; cursor:pointer; }
.spco-page input[type=checkbox], .spco-page input[type=radio] { width:17px; height:17px; min-height:0; padding:0; vertical-align:middle; margin:0 6px 0 0; flex-shrink:0; }
.spco-payment { margin-top:30px; clear:both; }
.spco-page #payment { background:transparent; border-radius:0; }
.spco-page #payment ul.payment_methods { margin:0; padding:16px; list-style:none; border:1px solid var(--spco-line); border-radius:5px; background:#fff; }
.spco-page #payment ul.payment_methods li { list-style:none; margin:0 0 10px; padding:0; line-height:1.5; }
.spco-page #payment ul.payment_methods li:last-child { margin-bottom:0; }
.spco-page #payment ul.payment_methods li label { display:inline; font-size:14px; cursor:pointer; }
.spco-page #payment ul.payment_methods li img { display:inline-block; max-height:28px; width:auto; max-width:100%; vertical-align:middle; margin:0 0 0 6px; }
.spco-page #payment .payment_box { margin:12px 0 0; padding:14px; border-radius:3px; background:var(--spco-aside); color:var(--spco-muted); font-size:13px; }
.spco-page #payment .payment_box::before { display:none; }
.spco-page #payment div.form-row.place-order { float:none; width:100%; padding:16px 0 0; margin:0; }
.spco-page #payment .woocommerce-terms-and-conditions-wrapper { font-size:12px; color:var(--spco-muted); margin:0 0 16px; }
.spco-page .woocommerce-privacy-policy-text p { margin:0 0 12px; }
.spco-page .button, .spco-page #place_order { display:inline-flex; justify-content:center; align-items:center; min-height:51px; padding:13px 24px; border:1px solid var(--spco-ink); border-radius:5px; background:var(--spco-ink); color:white; font-weight:500; font-size:15px; line-height:1.4; text-decoration:none; text-transform:none; letter-spacing:0; cursor:pointer; box-shadow:none; }
.spco-page #place_order { float:none; width:100%; margin:4px 0 0; }
.spco-page .button:hover, .spco-page #place_order:hover { background:#41413b; color:#fff; }
.spco-page .button:disabled, .spco-page #place_order:disabled { opacity:.55; cursor:wait; }
.spco-summary { position:sticky; top:28px; padding:28px; background:var(--spco-aside); border:1px solid #e9e9e2; border-radius:6px; }
.spco-page .spco-summary #order_review_heading { font-size:17px; margin:0 0 22px; }
.spco-summary-toggle { display:none; width:100%; border:0; padding:0; background:none; color:inherit; text-align:left; cursor:pointer; }
.spco-summary-toggle > span:first-child { display:flex; align-items:center; gap:10px; }
.spco-summary-toggle [data-spco-total] { font-size:18px; font-weight:500; white-space:nowrap; }
.spco-chevron { display:inline-block; transition:transform .15s; }
.spco-summary-toggle[aria-expanded=true] .spco-chevron { transform:rotate(180deg); }
.spco-page #order_review { width:100%; float:none; padding:0; margin:0; border:0; }
.spco-page table.shop_table.woocommerce-checkout-review-order-table { border:0; background:none; border-radius:0; width:100%; table-layout:fixed; border-collapse:collapse; margin:0; font-size:13px; text-align:left; }
.spco-page .woocommerce-checkout-review-order-table th, .spco-page .woocommerce-checkout-review-order-table td { border:0; padding:11px 0; vertical-align:top; background:none; color:inherit; overflow-wrap:anywhere; font-weight:400; }
.spco-page .woocommerce-checkout-review-order-table th:first-child, .spco-page .woocommerce-checkout-review-order-table td:first-child { width:62%; padding-right:14px; }
.spco-page .woocommerce-checkout-review-order-table th:last-child, .spco-page .woocommerce-checkout-review-order-table td:last-child { text-align:right; }
.spco-page .woocommerce-checkout-review-order-table thead { font-size:11px; color:var(--spco-muted); }
.spco-page .woocommerce-checkout-review-order-table thead th { padding-top:0; border-bottom:1px solid var(--spco-line); }
.spco-page .woocommerce-checkout-review-order-table tbody td { padding-top:16px; padding-bottom:16px; }
.spco-page .woocommerce-checkout-review-order-table tbody tr:last-child td { border-bottom:1px solid var(--spco-line); }
.spco-page .woocommerce-checkout-review-order-table .product-quantity { white-space:nowrap; font-weight:400; color:var(--spco-muted); }
.spco-page .woocommerce-checkout-review-order-table .variation { font-size:11px; margin:6px 0 0; color:var(--spco-muted); }
.spco-page .woocommerce-checkout-review-order-table .variation dt, .spco-page .woocommerce-checkout-review-order-table .variation dd { margin:0 4px 0 0; float:none; display:inline; }
.spco-page .woocommerce-checkout-review-order-table .variation dd p { display:inline; }
.spco-page .woocommerce-checkout-review-order-table tfoot .order-total th, .spco-page .woocommerce-checkout-review-order-table tfoot .order-total td { border-top:1px solid var(--spco-line); padding-top:18px; font-size:18px; font-weight:500; }
.spco-page .woocommerce-checkout-review-order-table .order-total strong { font-weight:500; }
.spco-page .woocommerce-checkout-review-order-table .order-total .includes_tax { display:block; font-size:10px; font-weight:400; color:var(--spco-muted); }
.spco-page ul#shipping_method { padding:0; margin:0; list-style:none; text-align:left; }
.spco-page ul#shipping_method li { padding:0; margin:0 0 9px; list-style:none; }
.spco-page ul#shipping_method label { display:inline; font-size:12px; overflow-wrap:anywhere; }
.spco-edit-cart { display:inline-block; font-size:12px; margin-top:20px; }
.spco-page .woocommerce-error, .spco-page .woocommerce-message, .spco-page .woocommerce-info { position:relative; margin:0 0 20px; padding:14px 16px; border:1px solid var(--spco-line); border-radius:5px; background:#fafaf7; color:var(--spco-ink); font-size:13px; list-style:none; }
.spco-page .woocommerce-error { border-color:#d0a29e; background:#fff6f5; }
.spco-page .woocommerce-error::before, .spco-page .woocommerce-info::before, .spco-page .woocommerce-message::before { display:none; }
.spco-page .woocommerce-form-login, .spco-page .checkout_coupon { margin:0 0 24px; padding:20px; border:1px solid var(--spco-line); border-radius:5px; max-width:100%; }
.spco-page .woocommerce-form-login::after, .spco-page .checkout_coupon::after { content:""; display:table; clear:both; }
.spco-page .wp-checkout-return-promise { font-size:12px; }
.spco-footer { max-width:1100px; margin:0 auto; padding:22px 0 30px; border-top:1px solid var(--spco-line); display:flex; gap:20px; flex-wrap:wrap; font-size:11px; color:var(--spco-muted); }
.spco-footer > span { margin-right:auto; }
.spco-empty { padding:30px 0 70px; max-width:540px; }
.spco-empty .button { margin:12px 20px 0 0; }
.spco-page .spco-summary [hidden], .spco-page .spco-summary-toggle[hidden] { display:none!important; }
@media (max-width:1100px) and (min-width:900px) { .spco-layout { gap:36px; } .spco-summary { padding:22px; } }
@media (max-width:899px) {
  .spco-header { min-height:82px; padding:21px 22px; }
  .spco-brand { font-size:25px; }
  .spco-secure { font-size:10px; gap:5px; }
  .spco-shell { padding:16px 22px 36px; }
  .spco-back { margin-bottom:19px; }
  .spco-layout { grid-template-columns:minmax(0,1fr); gap:29px; }
  .spco-summary { grid-row:1; position:static; margin:0 -22px; padding:18px 22px; border-width:1px 0; border-radius:0; }
  .spco-summary-toggle:not([hidden]) { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:13px; min-height:27px; }
  .spco-summary:has(.spco-summary-toggle:not([hidden])) #order_review_heading { display:none; }
  #spco-summary-content:not([hidden]) { padding-top:20px; }
  .spco-page h2, .spco-page h3 { font-size:20px; }
  .spco-contact { margin-bottom:25px; }
  .spco-payment { margin-top:25px; }
  .spco-footer { margin:0 22px; padding:20px 0 25px; gap:14px; }
  .spco-footer > span { flex-basis:100%; }
}
@media (prefers-reduced-motion:reduce) { .spco-chevron { transition:none; } }
