/* Staging-only skin of native WooCommerce forms. No pricing or checkout logic. */
body.torp-checkout-preview {
  --torp-bg: #0a0a0b;
  --torp-panel: #161719;
  --torp-input: #1d1e22;
  --torp-border: #2a2c31;
  --torp-text: #f3f4f6;
  --torp-muted: #a7acb4;
  --torp-red: #ff4a3b;
  background: var(--torp-bg) !important;
  color: var(--torp-text) !important;
  font: 400 15px/1.6 ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  letter-spacing: 0;
}
.torp-checkout-preview *, .torp-checkout-preview *::before, .torp-checkout-preview *::after { box-sizing: border-box; }
.torp-checkout-preview #site-header, .torp-checkout-preview #site-footer,
.torp-checkout-preview .footer-nav-widgets-wrapper, .torp-checkout-preview .entry-header,
.torp-checkout-preview .post-meta-wrapper, .torp-checkout-preview .pagination-single,
.torp-checkout-preview .powered-by-wordpress { display: none; }
.torp-checkout-preview #site-content, .torp-checkout-preview .post-inner,
.torp-checkout-preview .entry-content { background: var(--torp-bg); padding: 0 !important; }
.torp-checkout-preview .section-inner, .torp-checkout-preview .entry-content > * { max-width: none !important; }
.torp-checkout-preview .entry-content { font: inherit !important; }
.torp-checkout-preview .entry-content p, .torp-checkout-preview .entry-content li,
.torp-checkout-preview .entry-content label, .torp-checkout-preview .entry-content table { font-family: inherit; }
.torp-checkout-preview a { color: var(--torp-text); text-underline-offset: 4px; }
.torp-checkout-preview a:hover { color: var(--torp-red); }
.torp-checkout-preview :focus-visible { outline: 2px solid var(--torp-red) !important; outline-offset: 4px; }
.torp-checkout-preview h1, .torp-checkout-preview h2, .torp-checkout-preview h3, .torp-checkout-preview h4 {
  font-family: inherit; color: var(--torp-text); font-weight: 750; letter-spacing: -.035em;
}
.torp-commerce-header { border-bottom: 1px solid var(--torp-border); background: #101013; }
.torp-commerce-header__inner { max-width: 1280px; margin: auto; padding: 16px 24px; display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.torp-commerce-brand { display: inline-flex; flex-shrink: 0; }
.torp-commerce-brand img { display: block; width: 88px; height: auto; }
.torp-commerce-preview { border-left: 1px solid #3a3d44; padding-left: 22px; font-size: 12px; color: var(--torp-muted); }
.torp-commerce-back { margin-left: auto; font-size: 14px; font-weight: 600; text-decoration: none; }
.torp-commerce-back span { padding-right: 6px; }
.torp-commerce-lang { display: flex; align-items: center; gap: 2px; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .04em; }
.torp-commerce-lang a, .torp-commerce-lang span { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 36px; padding: 0 6px; border-radius: 6px; text-decoration: none; }
.torp-commerce-lang a { color: var(--torp-muted); }
.torp-commerce-lang a:hover { color: var(--torp-text); background: #202124; }
.torp-commerce-lang span { color: var(--torp-text); box-shadow: inset 0 -2px 0 var(--torp-red); }
.torp-commerce-nav { flex: 1; min-width: 0; }
.torp-commerce-nav .torp-commerce-nav__links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.torp-commerce-nav__links li { margin: 0; position: relative; }
.torp-commerce-nav__links a { display: flex; align-items: center; gap: 7px; min-height: 44px; padding: 10px 12px; font-size: 13px; font-weight: 550; line-height: 1.4; text-decoration: none; border-radius: 7px; color: var(--torp-muted); transition: color .15s, background .15s; }
.torp-commerce-nav__links a:hover { color: var(--torp-text); background: #202124; }
.torp-commerce-nav__links .current-menu-item > a { color: var(--torp-text); background: #252022; box-shadow: inset 0 -2px 0 var(--torp-red); }
.torp-commerce-nav-icon { display: block; flex: 0 0 18px; width: 18px; height: 18px; }
.torp-commerce-nav__links a.torp-commerce-link--dealer { margin-left: 12px; padding: 10px 15px; border: 1px solid #e01500; background: #291716; color: #fff; font-weight: 700; }
.torp-commerce-nav__links a.torp-commerce-link--dealer:hover { background: #e01500; border-color: #e01500; color: #fff; }
.torp-commerce-link--dealer .torp-commerce-nav-icon { color: #ff4a35; }
.torp-commerce-link--dealer:hover .torp-commerce-nav-icon { color: #fff; }
.torp-commerce-nav__links a:focus-visible { outline: 2px solid #ff4a35; outline-offset: 3px; }
.torp-commerce-cart-count { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 50%; background: #e01500; color: #fff; font-size: 11px; font-weight: 750; }
.torp-commerce-nav__links .sub-menu { display: none; position: absolute; top: 100%; left: 0; z-index: 50; min-width: 190px; padding: 6px; margin: 0; list-style: none; background: var(--torp-panel); border: 1px solid var(--torp-border); border-radius: 7px; }
.torp-commerce-nav__links li:hover > .sub-menu, .torp-commerce-nav__links li:focus-within > .sub-menu { display: block; }
.torp-commerce-menu-button { display: none; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 12px; border: 1px solid #3a3d44; border-radius: 7px; background: transparent; color: var(--torp-text); font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1.4; letter-spacing: 0; text-transform: none; cursor: pointer; }
@media (max-width: 1100px) {
  .torp-commerce-nav { order: 3; flex-basis: 100%; }
  .torp-commerce-header__inner { gap: 10px 20px; }
  .torp-commerce-nav .torp-commerce-nav__links { justify-content: flex-start; }
}
@media (max-width: 700px) {
  .torp-commerce-header__inner { gap: 10px 12px; }
  .torp-commerce-back { margin-left: auto; order: 1; }
  .torp-commerce-lang { order: 1; }
  .torp-commerce-menu-button { display: inline-flex; order: 2; }
  .torp-commerce-nav.is-enhanced { display: none; }
  .torp-commerce-nav.is-enhanced.is-open { display: block; }
  .torp-commerce-nav .torp-commerce-nav__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; border-top: 1px solid var(--torp-border); padding-top: 10px; }
  .torp-commerce-nav__links a { font-size: 14px; min-height: 46px; padding: 12px; }
  .torp-commerce-nav__links a.torp-commerce-link--dealer { margin-left: 0; padding: 12px; }
  .torp-commerce-nav__links .sub-menu { position: static; display: block; min-width: 0; border: 0; }
}
.torp-checkout-preview .entry-content > .torp-checkout-shell { width: 100% !important; max-width: 1200px !important; margin: auto !important; padding: 46px 24px 24px; }
.torp-commerce-intro { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-bottom: 34px; }
.torp-commerce-intro .torp-commerce-eyebrow { margin: 0 0 9px; color: var(--torp-red); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.torp-commerce-intro h1 { font-size: clamp(32px, 3.4vw, 46px); line-height: 1.15; margin: 0 0 12px; }
.torp-commerce-dot { color: #ff2116; }
.torp-commerce-intro p { color: var(--torp-muted); font-size: 15px; margin: 0; max-width: 500px; }
.torp-checkout-preview .torp-commerce-steps { display: flex; align-items: center; gap: 20px; list-style: none; padding: 0; margin: 0; }
.torp-commerce-steps li { display: flex; align-items: center; gap: 8px; color: var(--torp-muted); font-size: 13px; white-space: nowrap; margin: 0; }
.torp-commerce-steps li > span { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #3a3d44; border-radius: 50%; font-size: 12px; }
.torp-commerce-steps li.is-current { color: var(--torp-text); font-weight: 700; }
.torp-commerce-steps li.is-current > span { color: white; border-color: #e01500; background: #e01500; }
.torp-commerce-steps li.is-complete > span { border-color: var(--torp-red); color: var(--torp-red); }
.torp-commerce-steps a { text-decoration: none; }
.torp-commerce-footer { border-top: 1px solid var(--torp-border); margin-top: 46px; padding: 20px 0 4px; display: flex; flex-wrap: wrap; gap: 12px 24px; font-size: 12px; color: var(--torp-muted); }
.torp-commerce-footer span { margin-right: auto; }
.torp-commerce-footer a { color: var(--torp-muted); }

/* Shared WooCommerce elements */
.torp-checkout-preview .woocommerce { font: inherit; color: var(--torp-text); }
.torp-checkout-preview .woocommerce a { color: var(--torp-text); }
.torp-checkout-preview .woocommerce a:hover { color: var(--torp-red); }
.torp-checkout-preview .woocommerce h2, .torp-checkout-preview .woocommerce h3 { margin: 0 0 24px; font-size: 24px; line-height: 1.25; }
.torp-checkout-preview .woocommerce form { margin: 0; }
.torp-checkout-preview .woocommerce table { margin: 0; font-size: 14px; border: 0; border-collapse: collapse; color: var(--torp-text); background: transparent; }
.torp-checkout-preview .woocommerce table th, .torp-checkout-preview .woocommerce table td { padding: 14px 0; border: 0; border-bottom: 1px solid var(--torp-border); vertical-align: top; }
.torp-checkout-preview .woocommerce table th { color: var(--torp-muted); font-weight: 500; }
.torp-checkout-preview .woocommerce table td { font-weight: 500; }
.torp-checkout-preview .woocommerce table td:last-child { text-align: right; }
.torp-checkout-preview .woocommerce small { color: var(--torp-muted); font-size: 12px; font-weight: 400; }
.torp-checkout-preview .woocommerce .woocommerce-Price-amount { white-space: nowrap; font-variant-numeric: tabular-nums; }
.torp-checkout-preview .woocommerce .torp-hr-price-note { display: block; font-size: 11px; line-height: 1.5; color: var(--torp-muted); margin-top: 4px; }
.torp-checkout-preview .woocommerce .button, .torp-checkout-preview .woocommerce button.button,
.torp-checkout-preview .woocommerce input.button, .torp-checkout-preview .woocommerce #place_order {
  background: #e01500; color: #fff; border: 1px solid #e01500; border-radius: 7px;
  font-family: inherit; font-size: 15px; font-weight: 700;
  line-height: 1.5; letter-spacing: 0; text-transform: none; text-decoration: none;
  padding: 14px 18px; min-height: 48px; box-shadow: none; cursor: pointer;
}
.torp-checkout-preview .woocommerce .button:hover, .torp-checkout-preview .woocommerce #place_order:hover { background: #c91300; color: #fff; border-color: #c91300; text-decoration: none; }
.torp-checkout-preview .woocommerce .button:disabled { cursor: default; opacity: .45; padding: 14px 18px; }
.torp-checkout-preview .woocommerce .woocommerce-error,
.torp-checkout-preview .woocommerce .woocommerce-info,
.torp-checkout-preview .woocommerce .woocommerce-message { background: var(--torp-panel); color: var(--torp-text); border: 1px solid var(--torp-border); border-left: 3px solid var(--torp-red); border-radius: 7px; padding: 16px 20px; font: inherit; margin: 0 0 20px; }
.torp-checkout-preview .woocommerce .woocommerce-error::before,
.torp-checkout-preview .woocommerce .woocommerce-info::before,
.torp-checkout-preview .woocommerce .woocommerce-message::before { display: none; }
.torp-checkout-preview .woocommerce .woocommerce-error li { margin: 4px 0; }
.torp-checkout-preview .woocommerce input.input-text, .torp-checkout-preview .woocommerce textarea,
.torp-checkout-preview .woocommerce select, .torp-checkout-preview .select2-selection--single {
  background: var(--torp-input); border: 1px solid #3a3d44; color: var(--torp-text);
  border-radius: 6px; padding: 12px 14px; min-height: 48px; width: 100%;
  font-family: inherit; font-size: 16px; line-height: 1.4; box-shadow: none;
}
.torp-checkout-preview .woocommerce input::placeholder, .torp-checkout-preview .woocommerce textarea::placeholder { color: #9399a3; opacity: 1; }
.torp-checkout-preview .woocommerce input[type="checkbox"], .torp-checkout-preview .woocommerce input[type="radio"] { appearance: auto; accent-color: #e01500; width: 18px; height: 18px; min-width: 18px; vertical-align: middle; margin: 0 8px 2px 0; }
.torp-checkout-preview .woocommerce input[type="checkbox"]::before, .torp-checkout-preview .woocommerce input[type="radio"]::before { content: none; }
.torp-checkout-preview .woocommerce .required { color: var(--torp-red); text-decoration: none; }
.torp-checkout-preview .woocommerce ul#shipping_method { list-style: none; padding: 0; margin: 0; }
.torp-checkout-preview .woocommerce ul#shipping_method li { margin: 0 0 9px; font-size: 13px; }
.torp-checkout-preview .woocommerce ul#shipping_method li:last-child { margin-bottom: 0; }
.torp-checkout-preview .woocommerce ul#shipping_method label { color: var(--torp-text); font-weight: 400; }
.torp-checkout-preview .woocommerce .woocommerce-shipping-destination { font-size: 12px; color: var(--torp-muted); margin: 8px 0 0; }
.torp-checkout-preview .woocommerce .cross-sells { grid-column: 1 / -1; width: 100%; float: none; margin: 12px 0 0; padding: 28px 0 0; border-top: 1px solid var(--torp-border); }
.torp-checkout-preview .cross-sells ul.products { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 20px; padding: 0; margin: 0; }
.torp-checkout-preview .cross-sells ul.products::before, .torp-checkout-preview .cross-sells ul.products::after { display: none; }
.torp-checkout-preview .cross-sells ul.products li.product { width: 100%; max-width: 240px; float: none; margin: 0; padding: 16px; background: var(--torp-panel); border: 1px solid var(--torp-border); border-radius: 8px; }
.torp-checkout-preview .cross-sells ul.products li.product a img { width: 100%; aspect-ratio: 1; object-fit: contain; margin: 0 0 14px; border-radius: 5px; background: #202124; }
.torp-checkout-preview .cross-sells ul.products li.product .woocommerce-loop-product__title { font-size: 17px; margin: 0 0 10px; padding: 0; line-height: 1.4; }
.torp-checkout-preview .cross-sells ul.products li.product .price { font-size: 18px; font-weight: 650; color: var(--torp-text); margin-bottom: 14px; }
.torp-checkout-preview .cross-sells ul.products li.product .button { display: flex; justify-content: center; width: 100%; margin: 0; font-size: 13px; }
.torp-checkout-preview .woocommerce .order-total th { padding-top: 24px; font-size: 16px; color: var(--torp-text); }
.torp-checkout-preview .woocommerce .order-total td { padding-top: 22px; font-size: 27px; font-weight: 750; letter-spacing: -.04em; }
.torp-checkout-preview .woocommerce .order-total td strong { font-weight: 750; }
.torp-checkout-preview .woocommerce .order-total td small { display: block; letter-spacing: 0; font-size: 11px; }
.torp-checkout-preview .woocommerce .order-total > * { border-bottom: 0; }
.torp-checkout-preview .woocommerce dl.variation { font-size: 12px; color: var(--torp-muted); margin: 6px 0 0; border: 0; padding: 0; }
.torp-checkout-preview .woocommerce dl.variation dt, .torp-checkout-preview .woocommerce dl.variation dd { padding: 0; margin: 0 5px 2px 0; font-weight: 400; }
.torp-checkout-preview .woocommerce dl.variation p { font-size: inherit; margin: 0; }

/* Cart: native table becomes roomy product cards, with a persistent summary. */
.torp-checkout-preview.woocommerce-cart .torp-checkout-shell > .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 24px 32px; }
.torp-checkout-preview.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.torp-checkout-preview.woocommerce-cart .woocommerce-notices-wrapper:empty { display: none; }
.torp-checkout-preview.woocommerce-cart .woocommerce-cart-form { grid-column: 1; min-width: 0; }
.torp-checkout-preview .woocommerce-cart-form table, .torp-checkout-preview .woocommerce-cart-form tbody { display: block; }
.torp-checkout-preview .woocommerce-cart-form thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.torp-checkout-preview .woocommerce-cart-form tr.cart_item { display: grid; grid-template-columns: 90px minmax(0, 1fr) 130px; gap: 8px 18px; padding: 22px; background: var(--torp-panel); border: 1px solid var(--torp-border); border-radius: 10px; margin: 0 0 14px; }
.torp-checkout-preview .woocommerce-cart-form tr.cart_item td { display: block; padding: 0; border: 0; background: transparent !important; text-align: left !important; }
.torp-checkout-preview .woocommerce-cart-form tr.cart_item td::before { content: none; }
.torp-checkout-preview .woocommerce-cart-form .product-thumbnail { grid-column: 1; grid-row: 1 / 4; }
.torp-checkout-preview .woocommerce-cart-form .product-thumbnail img { width: 90px; height: 90px; object-fit: contain; border: 0; background: #202124; border-radius: 6px; }
.torp-checkout-preview .woocommerce-cart-form .product-name { grid-column: 2; grid-row: 1; font-size: 16px; line-height: 1.45; font-weight: 700; }
.torp-checkout-preview .woocommerce-cart-form .product-name a { text-decoration: none; }
.torp-checkout-preview .woocommerce-cart-form .product-price { grid-column: 2; grid-row: 2; font-size: 13px; color: var(--torp-muted); }
.torp-checkout-preview .woocommerce-cart-form .product-price .woocommerce-Price-amount { color: #d9dce1; }
.torp-checkout-preview .woocommerce-cart-form .product-quantity { grid-column: 2; grid-row: 3; padding-top: 7px; }
.torp-checkout-preview .woocommerce-cart-form .product-subtotal { grid-column: 3; grid-row: 2 / 4; align-self: end; text-align: right !important; font-size: 22px; font-weight: 700; }
.torp-checkout-preview .woocommerce-cart-form .product-subtotal small { display: block; margin-top: 3px; }
.torp-checkout-preview .woocommerce-cart-form .product-remove { grid-column: 3; grid-row: 1; justify-self: end; }
.torp-checkout-preview .woocommerce a.remove { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid #3a3d44; border-radius: 50%; color: var(--torp-muted) !important; background: transparent; line-height: 1; }
.torp-checkout-preview .woocommerce a.remove:hover { border-color: var(--torp-red); color: white !important; background: #3d1a19; }
.torp-checkout-preview .woocommerce .quantity { display: inline-flex; width: auto; align-items: center; border: 1px solid #3a3d44; background: var(--torp-input); border-radius: 6px; overflow: hidden; }
.torp-checkout-preview .woocommerce .quantity input.qty { width: 45px; min-height: 40px; height: 40px; padding: 0 4px; text-align: center; border: 0; border-radius: 0; font-size: 15px; -moz-appearance: textfield; }
.torp-checkout-preview .woocommerce .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.torp-checkout-preview .torp-quantity-step { width: 34px; height: 40px; padding: 0; border: 0; background: transparent; color: var(--torp-text); text-transform: none; font-family: inherit; font-size: 20px; font-weight: 400; line-height: 1; cursor: pointer; }
.torp-checkout-preview .torp-quantity-step:hover { background: #303239; }
.torp-checkout-preview .woocommerce-cart-form td.actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; width: 100%; padding: 20px 0; border: 0; }
.torp-checkout-preview .woocommerce-cart-form td.actions::before { display: none; }
.torp-checkout-preview .woocommerce-cart-form .coupon { display: flex; gap: 8px; float: none; }
.torp-checkout-preview .woocommerce-cart-form .coupon #coupon_code { width: 170px; margin: 0; min-height: 46px; }
.torp-checkout-preview .woocommerce-cart-form td.actions .button { background: transparent; border: 1px solid #3a3d44; color: var(--torp-text); padding: 12px 14px; min-height: 46px; font-size: 13px; width: auto; }
.torp-checkout-preview .woocommerce-cart-form td.actions .button:hover { border-color: var(--torp-red); background: #211718; }
.torp-checkout-preview .cart-collaterals { grid-column: 2; grid-row: auto; position: sticky; top: 22px; width: 100%; }
.torp-checkout-preview .cart-collaterals .cart_totals { float: none !important; width: 100% !important; background: var(--torp-panel); border: 1px solid var(--torp-border); border-radius: 10px; padding: 26px; }
.torp-checkout-preview .cart_totals table { width: 100%; }
.torp-checkout-preview .cart_totals table th { width: 36%; }
.torp-checkout-preview .cart_totals .wc-proceed-to-checkout { padding: 22px 0 0; }
.torp-checkout-preview .cart_totals .wc-proceed-to-checkout .button { display: block; width: 100%; margin: 0; font-size: 15px; }
.torp-checkout-preview .cart-empty, .torp-checkout-preview .return-to-shop { grid-column: 1 / -1; }

/* Checkout: native fields and native AJAX review fragments, no template overrides. */
.torp-checkout-preview .woocommerce-form-login-toggle, .torp-checkout-preview .woocommerce-form-coupon-toggle { margin-bottom: 12px; }
.torp-checkout-preview .woocommerce-form-coupon-toggle .woocommerce-info,
.torp-checkout-preview .woocommerce-form-login-toggle .woocommerce-info { padding: 12px 16px; font-size: 13px; border-left: 1px solid var(--torp-border); background: transparent; }
.torp-checkout-preview .woocommerce-form-coupon-toggle a, .torp-checkout-preview .woocommerce-form-login-toggle a { text-decoration: underline; }
.torp-checkout-preview .woocommerce form.checkout_coupon, .torp-checkout-preview .woocommerce form.login { border: 1px solid var(--torp-border); background: var(--torp-panel); border-radius: 8px; padding: 22px; margin-bottom: 24px; }
.torp-checkout-layout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 32px; align-items: start; margin-top: 30px; }
.torp-checkout-preview #customer_details { width: 100%; float: none; }
.torp-checkout-preview #customer_details .col-1, .torp-checkout-preview #customer_details .col-2 { float: none; width: 100%; max-width: none; padding: 0; }
.torp-checkout-preview #customer_details::before, .torp-checkout-preview #customer_details::after { display: none; }
.torp-checkout-preview .woocommerce-billing-fields, .torp-checkout-preview .woocommerce-shipping-fields,
.torp-checkout-preview .woocommerce-additional-fields, .torp-checkout-preview .woocommerce-account-fields { background: var(--torp-panel); border: 1px solid var(--torp-border); border-radius: 10px; padding: 28px; margin-bottom: 20px; }
.torp-checkout-preview .woocommerce-shipping-fields:empty, .torp-checkout-preview .woocommerce-account-fields:empty { display: none; }
.torp-checkout-preview .woocommerce-billing-fields h3 { margin-bottom: 26px; }
.torp-checkout-preview .woocommerce form .form-row { padding: 0; margin: 0 0 18px; }
.torp-checkout-preview .woocommerce form .form-row label { display: block; color: #d9dce1; margin: 0 0 7px; font-size: 13px; line-height: 1.5; font-weight: 500; }
.torp-checkout-preview .woocommerce form .form-row label.checkbox { font-size: 14px; font-weight: 400; }
.torp-checkout-preview .woocommerce form .form-row .optional { color: var(--torp-muted); font-size: 12px; }
.torp-checkout-preview .woocommerce form .form-row-first, .torp-checkout-preview .woocommerce form .form-row-last { width: calc(50% - 8px); }
.torp-checkout-preview .woocommerce form .woocommerce-input-wrapper { display: block; }
.torp-checkout-preview .woocommerce form .woocommerce-invalid input.input-text { border-color: var(--torp-red); }
.torp-checkout-preview .woocommerce form .woocommerce-invalid label { color: #ff8e84; }
.torp-checkout-preview .woocommerce textarea { min-height: 100px; resize: vertical; }
.torp-checkout-preview .woocommerce .woocommerce-additional-fields p:last-child { margin-bottom: 0; }
.torp-checkout-preview #ship-to-different-address { font-size: 15px; margin: 0; letter-spacing: 0; }
.torp-checkout-preview #ship-to-different-address label { display: flex; gap: 10px; align-items: center; font-weight: 500; cursor: pointer; }
.torp-checkout-preview #ship-to-different-address input { margin: 0; }
body.torp-checkout-preview #ship-to-different-address #ship-to-different-address-checkbox { display: inline-block; position: static; opacity: 1; visibility: visible; }
body.torp-checkout-preview #ship-to-different-address label::before,
body.torp-checkout-preview #ship-to-different-address label::after,
body.torp-checkout-preview #ship-to-different-address label span::before,
body.torp-checkout-preview #ship-to-different-address label span::after { display: none; }
body.torp-checkout-preview #ship-to-different-address label span { padding: 0; }
.torp-checkout-preview .shipping_address { margin-top: 24px; }
.torp-checkout-preview .select2-selection--single { display: flex; align-items: center; padding: 0 14px; height: 48px; }
body.torp-checkout-preview .select2-container--default .select2-selection--single .select2-selection__rendered {
  width: 100%; height: auto; padding: 0 28px 0 0; color: var(--torp-text); line-height: 1.4;
}
.torp-checkout-preview .select2-container--default .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }
.torp-checkout-preview .select2-dropdown { background: var(--torp-input); color: var(--torp-text); border: 1px solid #3a3d44; font-size: 14px; }
.torp-checkout-preview .select2-results__option { margin: 0; padding: 10px 14px; }
.torp-checkout-preview .select2-container--default .select2-results__option--highlighted[aria-selected],
.torp-checkout-preview .select2-container--default .select2-results__option--highlighted[data-selected] { background: #3a3d44; color: white; }
.torp-checkout-preview .select2-container--default .select2-results__option[aria-selected=true],
.torp-checkout-preview .select2-container--default .select2-results__option[data-selected=true] { background: #303239; }
.torp-checkout-preview .select2-search input.select2-search__field { background: var(--torp-input); color: var(--torp-text); border: 1px solid #555a64; padding: 10px; font-size: 16px; }
.torp-checkout-preview .select2-results__options { margin: 0; }
.torp-checkout-summary { position: sticky; top: 22px; min-width: 0; background: var(--torp-panel); border: 1px solid var(--torp-border); border-radius: 10px; padding: 28px; }
.torp-checkout-preview #order_review_heading { float: none; width: 100%; padding: 0; margin: 0 0 20px; }
.torp-checkout-preview #order_review { float: none; width: 100%; }
.torp-checkout-preview .woocommerce-checkout-review-order-table { width: 100%; }
.torp-checkout-preview .woocommerce-checkout-review-order-table thead { display: none; }
.torp-checkout-preview .woocommerce-checkout-review-order-table .product-name { width: 66%; font-size: 13px; line-height: 1.5; padding-right: 12px; }
.torp-checkout-preview .woocommerce-checkout-review-order-table .product-total { font-size: 15px; }
.torp-review-thumb { float: left; width: 48px; height: 48px; object-fit: contain; background: #202124; border: 0; border-radius: 5px; margin: 0 12px 6px 0; }
.torp-review-product-name { font-weight: 600; }
.torp-checkout-preview .woocommerce-checkout-review-order-table dl.variation { margin-left: 60px; }
.torp-checkout-preview .woocommerce-checkout-review-order-table .product-quantity { color: var(--torp-muted); font-size: 12px; font-weight: 500; }
.torp-checkout-preview #payment { background: transparent; border-radius: 0; border-top: 1px solid var(--torp-border); margin-top: 22px; }
.torp-checkout-preview #payment ul.payment_methods { padding: 22px 0; border-bottom: 1px solid var(--torp-border); margin: 0; list-style: none; }
.torp-checkout-preview #payment ul.payment_methods li { margin: 0; font-size: 14px; }
.torp-checkout-preview #payment ul.payment_methods li > label { color: var(--torp-text); font-weight: 600; }
body.torp-checkout-preview #payment ul.payment_methods input[type="radio"] { display: inline-block !important; position: static; opacity: 1; visibility: visible; width: 18px; height: 18px; margin: 0 8px 2px 0; }
body.torp-checkout-preview #payment ul.payment_methods li > label::before,
body.torp-checkout-preview #payment ul.payment_methods li > label::after { display: none; }
.torp-checkout-preview #payment ul.payment_methods li + li { margin-top: 18px; }
body.torp-checkout-preview #payment ul.payment_methods li { display: grid; grid-template-columns: 18px minmax(0, 1fr); column-gap: 10px; align-items: start; }
body.torp-checkout-preview #payment ul.payment_methods li > input[type="radio"] { grid-column: 1; margin: 2px 0 0; }
body.torp-checkout-preview #payment ul.payment_methods li > label { grid-column: 2; margin: 0; padding: 0; line-height: 1.5; }
body.torp-checkout-preview #payment ul.payment_methods li > .payment_box { grid-column: 1 / -1; }
.torp-checkout-preview #payment div.payment_box { background: var(--torp-input); color: var(--torp-muted); padding: 14px; margin: 14px 0 0; border-radius: 6px; font-size: 13px; }
.torp-checkout-preview #payment div.payment_box::before { display: none; }
.torp-checkout-preview #payment div.payment_box p { font-size: 13px; margin: 0; }
body.torp-checkout-preview #payment .payment_box.payment_method_stripe { background: #17191d; border: 1px solid #343840; color: var(--torp-text); color-scheme: dark; }
body.torp-checkout-preview #payment .payment_box.payment_method_stripe fieldset {
  min-width: 0; padding: 14px 16px; border: 1px solid #3a3e46; border-radius: 6px;
  background: #202228; color: var(--torp-text);
}
body.torp-checkout-preview #payment .payment_box.payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew { margin: 0; padding: 0; }
body.torp-checkout-preview #payment .payment_box.payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew label { color: var(--torp-text); opacity: 1; }
.torp-checkout-preview #payment div.form-row { padding: 22px 0 0; }
.torp-checkout-preview .woocommerce-privacy-policy-text p { color: var(--torp-muted); font-size: 12px; line-height: 1.65; margin: 0 0 18px; }
.torp-checkout-preview .woocommerce-privacy-policy-text a, .torp-checkout-preview .woocommerce .torp-checkout-consent a { color: #ff8e84; text-decoration: underline; }
.torp-checkout-preview .woocommerce form .torp-checkout-consent { margin-bottom: 14px; }
.torp-checkout-preview .woocommerce form .torp-checkout-consent label.checkbox { display: block; position: relative; padding: 0 0 0 30px; font-size: 12px; line-height: 1.65; font-weight: 400; }
.torp-checkout-preview .woocommerce form .torp-checkout-consent input[type="checkbox"] { position: absolute; left: 0; top: 2px; margin: 0; }
.torp-checkout-preview #place_order { width: 100%; margin: 12px 0 0; float: none; }
.torp-checkout-preview .woocommerce-terms-and-conditions { background: var(--torp-input); color: var(--torp-text); border: 1px solid var(--torp-border); }
.torp-checkout-preview .woocommerce-error a { color: var(--torp-text); }
.torp-checkout-preview .woocommerce-order { background: var(--torp-panel); border: 1px solid var(--torp-border); border-radius: 10px; padding: 28px; }
.torp-checkout-preview .woocommerce-order address { background: transparent; border: 1px solid var(--torp-border); }
.torp-checkout-preview button.cmplz-manage-consent {
  background: var(--torp-panel) !important; color: var(--torp-muted) !important;
  border: 1px solid #3a3d44 !important; border-radius: 6px !important;
  left: 12px !important; right: auto !important; bottom: 12px !important;
  padding: 8px 12px !important; min-height: 40px !important; height: auto !important;
  font-family: inherit !important; font-size: 11px !important; line-height: 1.4 !important;
  text-transform: none !important; box-shadow: none !important;
}

/* Twenty Twenty's WooCommerce stylesheet uses ID-specific widths and floats. */
body.torp-checkout-preview #site-content .torp-checkout-shell > .woocommerce { padding: 0; margin: 0; max-width: none; }
body.torp-checkout-preview #site-content .woocommerce form #customer_details { width: 100%; padding: 0; margin: 0; float: none; }
body.torp-checkout-preview #site-content .woocommerce form #customer_details .col-1,
body.torp-checkout-preview #site-content .woocommerce form #customer_details .col-2 { width: 100%; margin: 0; float: none; }
body.torp-checkout-preview #site-content .woocommerce form #order_review,
body.torp-checkout-preview #site-content .woocommerce form #order_review_heading { width: 100%; padding: 0; float: none; clear: none; }
body.torp-checkout-preview #site-content .woocommerce form #order_review_heading { margin: 0 0 20px; }
body.torp-checkout-preview #site-content .woocommerce form #order_review table { margin: 0; }
body.torp-checkout-preview #site-content .woocommerce form #order_review table tr,
body.torp-checkout-preview #site-content .woocommerce form #order_review table th,
body.torp-checkout-preview #site-content .woocommerce form #order_review table td { border-color: var(--torp-border); }
body.torp-checkout-preview #site-content .torp-checkout-details { padding: 0; }
body.torp-checkout-preview #site-content .woocommerce .amount { color: inherit; }
body.torp-checkout-preview #site-content .woocommerce .cart_item .product-subtotal { color: var(--torp-text); }
body.torp-checkout-preview #site-content .woocommerce-cart-form tbody > tr:not(.cart_item) { display: block; border: 0; }
body.torp-checkout-preview #site-content .woocommerce-cart-form td.actions { border: 0; }
body.torp-checkout-preview #site-content .woocommerce-cart-form tr.cart_item td { border: 0; }
body.torp-checkout-preview #site-content .woocommerce-cart-form td.actions { background: transparent !important; width: 100%; padding: 20px 0; }
body.torp-checkout-preview #site-content .woocommerce-cart-form .actions .coupon { display: flex; flex-wrap: wrap; float: none; gap: 8px; width: auto; padding: 0; }
body.torp-checkout-preview #site-content .woocommerce-cart-form .actions .coupon #coupon_code { width: 170px; min-width: 0; margin: 0; float: none; }
body.torp-checkout-preview #site-content .woocommerce-cart-form .actions .button { width: auto; margin: 0; flex-shrink: 0; }
.torp-checkout-preview .coupon-error-notice { flex-basis: 100%; width: 100%; margin: 6px 0 0; color: #ff8e84; font-size: 13px; line-height: 1.5; }
body.torp-checkout-preview #site-content .woocommerce .cart_totals table tr,
body.torp-checkout-preview #site-content .woocommerce .cart_totals table th,
body.torp-checkout-preview #site-content .woocommerce .cart_totals table td { border-color: var(--torp-border); }
body.torp-checkout-preview .woocommerce form .form-row .woocommerce-input-wrapper .input-text,
body.torp-checkout-preview .woocommerce form .form-row .woocommerce-input-wrapper select { border-color: #3a3d44; background: var(--torp-input); color: var(--torp-text); }
body.torp-checkout-preview .woocommerce form .woocommerce-invalid .woocommerce-input-wrapper .input-text { border-color: var(--torp-red); }
.torp-checkout-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; }
.torp-checkout-tools > form { grid-column: 1 / -1; }
.torp-checkout-preview .woocommerce-form-login-toggle,
.torp-checkout-preview .woocommerce-form-coupon-toggle { width: 100%; margin: 0; }
.torp-checkout-preview .woocommerce-form-login-toggle .woocommerce-info,
.torp-checkout-preview .woocommerce-form-coupon-toggle .woocommerce-info { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 8px; margin: 0; }

@media (max-width: 1020px) {
  .torp-commerce-intro { align-items: flex-start; flex-direction: column; gap: 24px; }
  .torp-checkout-layout { grid-template-columns: minmax(0, 1fr) 360px; gap: 22px; }
  .torp-checkout-preview.woocommerce-cart .torp-checkout-shell > .woocommerce { grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; }
  .torp-checkout-summary, .torp-checkout-preview .cart-collaterals .cart_totals { padding: 22px; }
  .torp-checkout-preview .woocommerce-cart-form tr.cart_item { grid-template-columns: 68px minmax(0, 1fr) 100px; gap: 8px 12px; padding: 18px; }
  .torp-checkout-preview .woocommerce-cart-form .product-thumbnail img { width: 68px; height: 68px; }
  .torp-checkout-preview .woocommerce-cart-form .product-subtotal { font-size: 20px; }
}
@media (max-width: 800px) {
  .torp-checkout-preview .entry-content > .torp-checkout-shell { padding: 30px 18px 18px; }
  .torp-checkout-preview.woocommerce-cart .torp-checkout-shell > .woocommerce, .torp-checkout-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .torp-checkout-preview .cart-collaterals { grid-column: 1; position: static; }
  .torp-checkout-summary { position: static; }
  .torp-checkout-tools { grid-template-columns: 1fr; }
  .torp-checkout-preview .woocommerce-form-login-toggle,
  .torp-checkout-preview .woocommerce-form-coupon-toggle { display: block; width: 100%; margin-right: 0; }
  .torp-commerce-intro { margin-bottom: 24px; gap: 22px; }
  .torp-commerce-steps { width: 100%; }
  .torp-checkout-preview .woocommerce .cart_totals table td::before { display: none; }
  .torp-checkout-preview .woocommerce .cart_totals table th { display: table-cell; }
  .torp-checkout-preview .woocommerce .cart_totals table tr { display: table-row; }
  .torp-checkout-preview .woocommerce .cart_totals table td { display: table-cell; background: transparent !important; }
  .torp-checkout-preview .woocommerce-cart-form .product-thumbnail { display: block !important; }
  .torp-checkout-preview .woocommerce-cart-form tr.cart_item { grid-template-columns: 82px minmax(0, 1fr) 112px; }
  .torp-checkout-preview .woocommerce-cart-form .product-thumbnail img { width: 82px; height: 82px; }
  .torp-checkout-preview .woocommerce table.shop_table_responsive tbody th { display: table-cell; }
  .torp-checkout-preview .woocommerce-billing-fields, .torp-checkout-preview .woocommerce-shipping-fields,
  .torp-checkout-preview .woocommerce-additional-fields, .torp-checkout-preview .woocommerce-account-fields { padding: 22px; }
  .torp-checkout-preview .woocommerce form .form-row-first, .torp-checkout-preview .woocommerce form .form-row-last { width: calc(50% - 8px); }
}
@media (max-width: 480px) {
  .torp-commerce-header__inner { padding: 16px 18px; gap: 14px; }
  .torp-commerce-brand img { width: 70px; }
  .torp-commerce-preview { display: none; }
  .torp-commerce-back { font-size: 12px; }
  .torp-commerce-intro p { font-size: 13px; }
  .torp-checkout-preview .torp-commerce-steps { gap: 16px; justify-content: space-between; }
  .torp-commerce-steps li { font-size: 11px; gap: 6px; }
  .torp-commerce-steps li > span { width: 24px; height: 24px; font-size: 11px; }
  .torp-checkout-preview .woocommerce-cart-form tr.cart_item { grid-template-columns: 62px minmax(0, 1fr) 32px; padding: 16px; gap: 8px 12px; }
  .torp-checkout-preview .woocommerce-cart-form .product-thumbnail img { width: 62px; height: 62px; }
  .torp-checkout-preview .woocommerce-cart-form .product-name { font-size: 14px; }
  .torp-checkout-preview .woocommerce-cart-form .product-price { grid-column: 2 / 4; font-size: 12px; }
  .torp-checkout-preview .woocommerce-cart-form .product-quantity { grid-column: 1 / 3; grid-row: 4; padding-top: 4px; }
  .torp-checkout-preview .woocommerce-cart-form .product-subtotal { grid-column: 2 / 4; grid-row: 4; font-size: 21px; align-self: center; justify-self: end; }
  .torp-checkout-preview .woocommerce-cart-form td.actions { padding: 8px 0; gap: 12px; }
  .torp-checkout-preview .woocommerce-cart-form .coupon { width: 100%; }
  .torp-checkout-preview .woocommerce-cart-form .coupon #coupon_code { width: 0; flex: 1; min-width: 0; }
  .torp-checkout-preview .woocommerce-cart-form td.actions > .button { width: 100%; }
  body.torp-checkout-preview #site-content .woocommerce-cart-form td.actions { padding: 8px 0; }
  body.torp-checkout-preview #site-content .woocommerce-cart-form .actions .coupon { width: 100%; }
  body.torp-checkout-preview #site-content .woocommerce-cart-form .actions .coupon #coupon_code { width: 0; flex: 1; }
  body.torp-checkout-preview #site-content .woocommerce-cart-form .actions > .button { width: 100%; }
  .torp-checkout-preview .woocommerce h2, .torp-checkout-preview .woocommerce h3 { font-size: 21px; }
  .torp-checkout-preview .woocommerce-billing-fields, .torp-checkout-preview .woocommerce-shipping-fields,
  .torp-checkout-preview .woocommerce-additional-fields, .torp-checkout-preview .woocommerce-account-fields { padding: 20px; }
  .torp-checkout-preview .woocommerce form .form-row-first, .torp-checkout-preview .woocommerce form .form-row-last { width: 100%; float: none; }
  .torp-checkout-preview .woocommerce-checkout-review-order-table .product-name { width: 65%; }
  .torp-checkout-preview .woocommerce-checkout-review-order-table .product-total { font-size: 14px; }
  .torp-review-thumb { width: 40px; height: 40px; margin-right: 10px; }
  .torp-checkout-preview .woocommerce-checkout-review-order-table dl.variation { margin-left: 50px; }
  .torp-commerce-footer { margin-top: 30px; font-size: 11px; gap: 10px 18px; }
  .torp-commerce-footer span { width: 100%; }
}

/* Stripe's "OR" separator, only under express payment buttons (checkout.js). */
body.torp-checkout-preview #wc-stripe-express-checkout-button-separator.torp-express-empty { display: none !important; }

/* Checkboxes in the shop's colours. The native control stays white on a dark
   page whatever its accent colour, so draw the box: dark when empty, red with
   a white tick when checked. Cookie-banner switches are outside .woocommerce. */
body.torp-checkout-preview #site-content .woocommerce input[type="checkbox"] { -webkit-appearance: none; appearance: none; display: inline-grid; place-content: center; flex: 0 0 auto; width: 20px; height: 20px; min-width: 20px; margin: 0 10px 2px 0; padding: 0; vertical-align: middle; border: 1.5px solid #5b5f69; border-radius: 4px; background: var(--torp-input); cursor: pointer; transition: border-color .15s, background-color .15s; }
body.torp-checkout-preview #site-content .woocommerce input[type="checkbox"]:hover { border-color: #8d929c; }
body.torp-checkout-preview #site-content .woocommerce input[type="checkbox"]:checked { border-color: #e01500; background: #e01500; }
body.torp-checkout-preview #site-content .woocommerce input[type="checkbox"]::before { content: ""; width: 10px; height: 5px; border: solid #fff; border-width: 0 0 2px 2px; transform: translateY(-1px) rotate(-45deg); opacity: 0; }
body.torp-checkout-preview #site-content .woocommerce input[type="checkbox"]:checked::before { opacity: 1; }
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent input[type="checkbox"] { position: absolute; left: 0; top: 1px; margin: 0; }
body.torp-checkout-preview #site-content .woocommerce .woocommerce-invalid input[type="checkbox"]:not(:checked) { border-color: #ff8e84; }

/* Twenty Twenty clips every table; on the cart that cut the left of the
   coupon field's focus ring. */
body.torp-checkout-preview .woocommerce-cart-form table.cart { overflow: visible; }

/* The two required consents. torp-checkout-consent.php draws them as light
   boxes with !important rules for the native pages; in this design they are
   dark boxes with the shop's checkbox, keeping the whole box clickable. */
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent label.checkbox { display: block !important; min-height: 0; margin: 0 !important; padding: 14px 16px 14px 48px !important; border: 1px solid #3a3d44; border-radius: 6px; background: var(--torp-input); color: var(--torp-text) !important; font-family: inherit; font-size: 14px !important; line-height: 1.6 !important; }
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent label.checkbox:hover { border-color: #5b5f69; }
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent.woocommerce-invalid label.checkbox { border-color: #ff8e84; }
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent input[type="checkbox"] { -webkit-appearance: none !important; -moz-appearance: none !important; appearance: none !important; display: inline-grid !important; place-content: center; left: 16px !important; top: 16px !important; width: 20px !important; min-width: 20px !important; height: 20px !important; border: 1.5px solid #5b5f69; border-radius: 4px; background: #121316; }
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent input[type="checkbox"]:checked { border-color: #e01500; background: #e01500; }
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent input[type="checkbox"]::before { content: "" !important; display: block !important; width: 10px; height: 5px; border: solid #fff; border-width: 0 0 2px 2px; transform: translateY(-1px) rotate(-45deg); opacity: 0; }
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent input[type="checkbox"]:checked::before { opacity: 1; }
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent input:focus-visible { outline: 2px solid var(--torp-red) !important; outline-offset: 3px; }
body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent a, body.torp-checkout-preview #site-content .woocommerce form .torp-checkout-consent .required { color: #ff8e84; }

/* Radio buttons (payment methods, shipping choices) to match the checkboxes. */
body.torp-checkout-preview #site-content .woocommerce input[type="radio"] { -webkit-appearance: none; appearance: none; display: inline-grid; place-content: center; flex: 0 0 auto; width: 20px; height: 20px; min-width: 20px; margin: 0 10px 2px 0; padding: 0; vertical-align: middle; border: 1.5px solid #5b5f69; border-radius: 50%; background: var(--torp-input); cursor: pointer; transition: border-color .15s; }
body.torp-checkout-preview #site-content .woocommerce input[type="radio"]:hover { border-color: #8d929c; }
body.torp-checkout-preview #site-content .woocommerce input[type="radio"]:checked { border-color: #e01500; }
body.torp-checkout-preview #site-content .woocommerce input[type="radio"]::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #e01500; transform: scale(0); transition: transform .15s; }
body.torp-checkout-preview #site-content .woocommerce input[type="radio"]:checked::before { transform: scale(1); }

/* Twenty Twenty positions its own tick absolutely in the corner; keep ours
   centred in the box (checkboxes, consents and radios). */
body.torp-checkout-preview #site-content .woocommerce input[type="checkbox"]::before, body.torp-checkout-preview #site-content .woocommerce input[type="radio"]::before { position: static !important; top: auto; left: auto; }

/* The remove (×) icon must not take the click: Google Analytics for
   WooCommerce reads the product id from the clicked element, which has to be
   the link itself, or the remove_from_cart event is dropped. */
body.torp-checkout-preview .woocommerce a.remove svg, body.torp-checkout-preview .woocommerce a.remove svg * { pointer-events: none; }

/* Older rules make the ship-to-another-address box and the payment-method
   radios display:block, which left their tick and dot in the corner instead
   of centred. Keep them grids like every other box. */
body.torp-checkout-preview #site-content .woocommerce #ship-to-different-address-checkbox, body.torp-checkout-preview #site-content .woocommerce #payment .wc_payment_method > input[type="radio"] { display: inline-grid !important; place-content: center; }

/* Cart-reminder notice under the email field (Cart Abandonment Recovery).
   The plugin writes font-size: xx-small inline, 9px here; read it like the
   form's other hints. */
body.torp-checkout-preview #site-content .woocommerce span:has(> #wcf_ca_gdpr_no_thanks) { display: block; margin-top: 7px; font-size: 12px !important; line-height: 1.5; color: rgb(167, 172, 180); }
body.torp-checkout-preview #site-content .woocommerce #wcf_ca_gdpr_no_thanks { color: rgb(217, 220, 225); text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }

/* The theme's import-fees banner (US, CH, UK, CA visitors; twentytwenty
   functions.php) prints inside the two-column checkout tools and the two-column
   cart, where it took a single cell. Give it its own full-width, centred row. */
body.torp-checkout-preview #site-content .torp-checkout-tools > .tariffs-banner,
body.torp-checkout-preview.woocommerce-cart .torp-checkout-shell > .woocommerce > .tariffs-banner { grid-column: 1 / -1; justify-self: center; width: 100%; max-width: 860px; margin: 6px 0 0; text-align: center; }
body.torp-checkout-preview #site-content .tariffs-banner img { display: block; width: 100%; height: auto; margin: 0 auto; border-radius: 10px; }

/* Stripe measures the checkout's input styles with a hidden full-width input
   that is wider than the payment box, so the page could scroll sideways,
   most noticeably on phones. Keep it inside its box. */
body.torp-checkout-preview #wc-stripe-hidden-style-input { max-width: 100%; }
body.torp-checkout-preview .payment_box { overflow-x: hidden; }

/* No cookie banner on the cart and checkout (owner, 2026-10-19): shoppers have
   already answered on www.torpmotors.com, whose choice is shared with this
   site, and the banner covered half of the checkout form. Anyone who never
   answered is simply not asked here: where consent comes first, Complianz then
   keeps analytics off. */
body.torp-checkout-preview.woocommerce-cart #cmplz-cookiebanner-container,
body.torp-checkout-preview.woocommerce-checkout #cmplz-cookiebanner-container,
body.torp-checkout-preview.woocommerce-cart .cmplz-cookiebanner,
body.torp-checkout-preview.woocommerce-checkout .cmplz-cookiebanner { display: none !important; }
