/* SalamTavalod · WooCommerce BLOCK checkout/cart/confirmation (2026)
 * Scoped to transactional routes. Native Woo Blocks keep ownership of data,
 * payment gateways, shipping, validation, coupons and order placement.
 * The page intro is rendered by page.php; no duplicate forms or fake totals.
 */
body:is(.woocommerce-checkout,.woocommerce-cart) .st-woocommerce-page {
  --st-wc-ink:#173f49;--st-wc-muted:#6d878c;--st-wc-pink:#ff6b7a;
  --st-wc-edge:rgba(23,63,73,.115);--st-wc-soft:#fbfaf7;
  --st-wc-shadow:0 18px 48px -34px rgba(23,63,73,.42);
  min-height:68vh;background:linear-gradient(180deg,#fff 0%,#fff 58%,#fbfaf7 100%);
  color:var(--st-wc-ink);direction:rtl;text-align:right;
  font-family:var(--st-font-family,IRANSansFaNum,Tahoma,Arial,sans-serif);
}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-woocommerce-page,
body:is(.woocommerce-checkout,.woocommerce-cart) .st-woocommerce-page * {box-sizing:border-box}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-woocommerce-page :is(button,input,select,textarea){font-family:inherit}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-woocommerce-page :is(a,button,input,select,textarea):focus-visible {outline:2px solid var(--st-wc-pink);outline-offset:3px}

/* Mockup's breadcrumb, hero, description and three light trust chips. */
body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry {
  background:radial-gradient(circle at 12% 7%,rgba(255,107,122,.06),transparent 30rem),#fff;
  border-bottom:1px solid var(--st-wc-edge);
}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__container {
  width:min(100%,1380px);margin:auto;padding:24px clamp(16px,3vw,40px) 22px;
}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__crumb {
  display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:0 0 14px;
  font-size:.72rem;line-height:1.8;color:var(--st-wc-muted);
}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__crumb a {color:inherit;text-decoration:none}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__crumb a:hover{color:var(--st-wc-pink)}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry h1 {
  font-size:clamp(1.65rem,2.5vw,2.25rem);line-height:1.42;font-weight:900;
  margin:0;color:var(--st-wc-ink);letter-spacing:-.015em;
}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__lead {
  font-size:.88rem;line-height:1.95;margin:9px 0 0;max-width:72ch;color:var(--st-wc-muted);
}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__assurances {
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;
}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__assurances span {
  display:inline-flex;align-items:center;justify-content:center;gap:6px;
  min-height:35px;padding:7px 12px;border:1px solid var(--st-wc-edge);
  border-radius:999px;background:#fff;color:#516f75;font-size:.69rem;font-weight:800;line-height:1.5;
}

body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__assurances svg {width:15px;height:15px;flex:0 0 15px;fill:none;stroke:#173f49;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Shared WooCommerce React block canvas. Do not depend on classic PHP templates. */
body.woocommerce-checkout .st-woocommerce-page .wp-block-woocommerce-checkout,
body.woocommerce-cart .st-woocommerce-page .wp-block-woocommerce-cart {
  width:100%;max-width:1380px;margin:0 auto!important;
  padding:26px clamp(16px,3vw,40px) 74px!important;
  color:var(--st-wc-ink);font-family:inherit;direction:rtl;
  float:none;min-width:0;
}
body:is(.woocommerce-checkout,.woocommerce-cart) .st-woocommerce-page :is(.wc-block-checkout,.wc-block-cart) {
  font-size:.85rem;color:var(--st-wc-ink);font-family:inherit;
  --wc-form-color-text:#173f49;--wc-form-color-text-placeholder:rgba(23,63,73,.42);
  --wc-form-color-border:rgba(23,63,73,.22);
  --wc-form-border-radius:11px;
}
/* WC's built-in side-by-side layout uses floats and percentage widths; normalize the
 * live React root to the exact main/summary ratio from the owner's mockup. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout.wc-block-components-sidebar-layout,
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout:has(> .wc-block-checkout__main) {
  display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(340px,.85fr);
  gap:28px;align-items:start;max-width:none;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__main,
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-sidebar {
  min-width:0;max-width:100%;width:auto!important;float:none!important;
  margin:0!important;flex:none;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__main {grid-column:1;grid-row:1}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar {grid-column:2;grid-row:1}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__main>*,
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar>* {min-width:0}

/* WooCommerce React steps are the visual equivalents of the mockup's section-card. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step {
  position:relative;clear:both;margin:0 0 16px!important;
  padding:0!important;background:#fff;border:1px solid var(--st-wc-edge);
  border-radius:18px;box-shadow:0 1px 0 rgba(23,63,73,.02);overflow:visible;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__heading {
  display:flex;align-items:center;min-height:63px;gap:12px;
  margin:0!important;padding:14px 18px 12px!important;
  border-bottom:1px solid var(--st-wc-edge);
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__heading-container {margin:0;min-width:0;flex:1}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__heading-title {
  color:var(--st-wc-ink);font-weight:900;font-size:.98rem;line-height:1.6;letter-spacing:0;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__heading-description,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__description {
  color:var(--st-wc-muted);font-size:.72rem;line-height:1.85;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__container {
  padding:18px!important;margin:0!important;max-width:none;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__content {min-width:0}
/* Numbered steps are presentation-only and never cover inputs. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__main {counter-reset:st-wc-step}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__main .wc-block-components-checkout-step__heading::before {
  content:counter(st-wc-step);counter-increment:st-wc-step;
  width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;
  border-radius:50%;background:var(--st-wc-ink);color:#fff;
  font-size:.7rem;font-weight:900;order:5;
}
/* Some WC versions wrap the content in an additional block div. */
body.woocommerce-checkout .st-woocommerce-page .wp-block-woocommerce-checkout-fields-block {
  min-width:0;display:block;width:100%;
}
body.woocommerce-checkout .st-woocommerce-page .wp-block-woocommerce-checkout-fields-block>* {min-width:0}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-form,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form {min-width:0}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form>* {min-width:0;margin:0!important}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form :is(.wc-block-components-address-form__address_1,.wc-block-components-address-form__address_2,.wc-block-components-address-form__company,.wc-block-components-address-form__country){grid-column:1/-1}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-text-input,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-combobox {min-width:0;max-width:100%;margin:0 0 12px}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form :is(.wc-block-components-text-input,.wc-block-components-combobox){margin:0}
body.woocommerce-checkout .st-woocommerce-page :is(.wc-block-components-text-input input,.wc-block-components-combobox-control input,.wc-block-components-textarea,.wc-block-components-select select){
  width:100%;min-height:45px;max-width:100%;
  border:1px solid rgba(23,63,73,.21)!important;border-radius:11px!important;
  background:#fff!important;color:var(--st-wc-ink)!important;box-shadow:none!important;
  font-size:.84rem;line-height:1.65;
}
body.woocommerce-checkout .st-woocommerce-page :is(input,textarea):focus {border-color:#173f49!important;box-shadow:0 0 0 3px rgba(23,63,73,.075)!important}
body.woocommerce-checkout .st-woocommerce-page :is(label,.wc-block-components-text-input label,.wc-block-components-checkbox__label) {font-family:inherit}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-text-input label {color:var(--st-wc-muted);font-size:.76rem}
body.woocommerce-checkout .st-woocommerce-page :is(.wc-block-components-validation-error,.wc-block-components-text-input.has-error label) {color:#c94a59;line-height:1.7}

/* Real checkout method selectors; leave React-controlled radios and fields intact. */
body.woocommerce-checkout .st-woocommerce-page :is(.wc-block-components-radio-control__option,.wc-block-checkout__shipping-method-option) {
  border:1px solid var(--st-wc-edge);border-radius:12px;background:#fff;
  margin:7px 0;padding:13px 14px;min-height:50px;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-radio-control__option:has(input:checked) {
  border-color:#173f49;background:#f7faf9;box-shadow:inset 0 0 0 1px #173f49;
}
body.woocommerce-checkout .st-woocommerce-page :is(.wc-block-components-radio-control__input,.wc-block-components-checkbox__input) {accent-color:#173f49}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-payment-methods,
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__payment-method {min-width:0}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-payment-methods__save-card-info {font-size:.72rem}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-payment-method__content {border-radius:12px;background:#fbfaf7;line-height:1.9}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-place-order-button.wc-block-components-button {
  min-height:51px!important;width:100%;border:1px solid #ff6b7a!important;
  border-radius:11px!important;background:#ff6b7a!important;color:white!important;
  font-weight:900;font-size:.88rem;box-shadow:0 7px 18px -14px rgba(243,86,104,.6);
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-place-order-button:hover {background:#f35668!important}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__actions {padding:16px 0 0;border-top:1px solid var(--st-wc-edge)}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__terms {font-size:.73rem;line-height:1.9;color:var(--st-wc-muted)}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-notice-banner {border-radius:12px;padding:12px 16px;font-size:.74rem;line-height:1.8;overflow-wrap:anywhere}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-notice-banner.is-error {background:#fff7f7;color:#9f3944;border-color:#f0d4d8}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-notice-banner.is-warning {background:#fff9e9;color:#906320}

/* Sticky "Your order" panel. Woo Blocks supplies live product data and prices. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar {
  position:sticky;top:20px;align-self:start;min-width:0;
  padding:0!important;background:#fff;border:1px solid var(--st-wc-edge);
  border-radius:19px;overflow:hidden;box-shadow:var(--st-wc-shadow);
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar .wc-block-components-order-summary {
  min-width:0;border:0!important;padding:0;margin:0;background:#fff;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar :is(.wc-block-components-checkout-order-summary__title,.wc-block-components-order-summary__title,.wc-block-components-order-summary__button-text) {
  color:var(--st-wc-ink);font-weight:900;font-size:1rem;line-height:1.6;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar .wc-block-components-order-summary__button {
  width:100%;min-height:60px;padding:16px 18px;
  border:0;border-bottom:1px solid var(--st-wc-edge);border-radius:0;
  background:#fff;color:var(--st-wc-ink);text-align:right;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item {
  position:relative;display:flex;align-items:flex-start;gap:12px;
  padding:15px 17px;border-bottom:1px solid var(--st-wc-edge);
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__image,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__image img {
  width:70px;height:70px;max-width:70px;aspect-ratio:1;object-fit:contain;
  flex:0 0 70px;border-radius:12px;background:#f7f6f2;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__description {flex:1;min-width:0}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  color:var(--st-wc-ink);font-size:.78rem;font-weight:900;line-height:1.65;white-space:normal;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__description :is(.wc-block-components-product-metadata,.wc-block-components-product-details__name,.wc-block-components-order-summary-item__quantity) {
  font-size:.68rem;line-height:1.7;color:var(--st-wc-muted);
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__total-price {font-size:.75rem;color:var(--st-wc-ink);font-weight:900;white-space:normal}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-wrapper {border-color:var(--st-wc-edge);padding:12px 17px}
body.woocommerce-checkout .st-woocommerce-page :is(.wc-block-components-totals-item,.wc-block-components-totals-footer-item) {
  padding:6px 0;font-size:.75rem;line-height:1.7;min-width:0;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-footer-item {font-size:.89rem;font-weight:900;color:var(--st-wc-ink)}
body.woocommerce-checkout .st-woocommerce-page :is(.wc-block-components-totals-coupon,.wc-block-components-totals-coupon-link) {font-size:.72rem;line-height:1.7}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-coupon__form {display:flex;flex-wrap:wrap;gap:8px;align-items:end}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-coupon__form :is(input,button) {min-height:42px;border-radius:10px}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-button:not(.wc-block-components-checkout-place-order-button){font-family:inherit;border-radius:10px;min-height:42px}

/* Direct /cart/ is a separate Woo Block, styled to the same mockup system. */
body.woocommerce-cart .st-woocommerce-page .wc-block-cart.wc-block-components-sidebar-layout,
body.woocommerce-cart .st-woocommerce-page .wc-block-cart:has(> .wc-block-cart__main) {
  display:grid!important;grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr);gap:26px;align-items:start;
}
body.woocommerce-cart .st-woocommerce-page :is(.wc-block-cart__main,.wc-block-cart__sidebar) {
  min-width:0;width:auto!important;max-width:100%;float:none!important;margin:0!important;
  border:1px solid var(--st-wc-edge);border-radius:19px;background:#fff;overflow:hidden;
}
body.woocommerce-cart .st-woocommerce-page .wc-block-cart__main {grid-column:1;grid-row:1}
body.woocommerce-cart .st-woocommerce-page .wc-block-cart__sidebar {grid-column:2;grid-row:1;position:sticky;top:20px;box-shadow:var(--st-wc-shadow);padding:14px}
body.woocommerce-cart .st-woocommerce-page .wc-block-cart-items {margin:0;border:0;width:100%}
body.woocommerce-cart .st-woocommerce-page .wc-block-cart-items :is(td,th) {border-color:var(--st-wc-edge)}
body.woocommerce-cart .st-woocommerce-page .wc-block-cart-items__row :is(img,.wc-block-cart-item__image img) {aspect-ratio:1;object-fit:contain;border-radius:11px}
body.woocommerce-cart .st-woocommerce-page .wc-block-cart-item__product .wc-block-components-product-name {font-weight:900;color:var(--st-wc-ink);font-size:.81rem}
body.woocommerce-cart .st-woocommerce-page .wc-block-cart__submit-button {width:100%;min-height:50px;border-radius:11px;background:var(--st-wc-pink)!important;color:#fff!important;font-weight:900}
body.woocommerce-cart .st-woocommerce-page .wc-block-cart__submit-button:hover{background:#f35668!important}
body.woocommerce-cart .st-woocommerce-page .wc-block-components-quantity-selector {border:1px solid var(--st-wc-edge);border-radius:9px;min-height:34px}

/* Order-received block output (real order, no pre-emptive "paid" claim). */
body.woocommerce-checkout .st-woocommerce-page .wp-block-woocommerce-order-confirmation,
body.woocommerce-checkout .st-woocommerce-page .wc-block-order-confirmation {
  width:min(100%,1180px);max-width:1180px;margin:0 auto!important;
  padding:28px clamp(16px,3vw,36px) 72px!important;color:var(--st-wc-ink);direction:rtl;
}
body.woocommerce-checkout .st-woocommerce-page :is(.wc-block-order-confirmation-status,.wc-block-order-confirmation-summary,.wc-block-order-confirmation-totals,.wc-block-order-confirmation-billing-address,.wc-block-order-confirmation-shipping-address,.wc-block-order-confirmation-additional-fields) {
  border:1px solid var(--st-wc-edge);border-radius:18px;background:#fff;padding:18px;margin:12px 0;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-order-confirmation :is(h1,h2,h3){font-weight:900;line-height:1.55;color:var(--st-wc-ink)}
body.woocommerce-checkout .st-woocommerce-page .wc-block-order-confirmation :is(.wc-block-components-order-summary-item__image img,.wc-block-cart-item__image img){object-fit:contain;aspect-ratio:1}
body.woocommerce-checkout .st-woocommerce-page .wc-block-order-confirmation :is(table,th,td){border-color:var(--st-wc-edge);overflow-wrap:anywhere}

@media(max-width:1020px){
  body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout.wc-block-components-sidebar-layout,
  body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout:has(> .wc-block-checkout__main) {grid-template-columns:minmax(0,1fr) minmax(305px,.8fr);gap:17px}
}
@media(max-width:860px){
  body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout.wc-block-components-sidebar-layout,
  body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout:has(> .wc-block-checkout__main),
  body.woocommerce-cart .st-woocommerce-page .wc-block-cart.wc-block-components-sidebar-layout,
  body.woocommerce-cart .st-woocommerce-page .wc-block-cart:has(> .wc-block-cart__main) {grid-template-columns:minmax(0,1fr);gap:15px}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar,
  body.woocommerce-cart .st-woocommerce-page .wc-block-cart__sidebar {grid-column:1;grid-row:1;position:static;top:auto}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__main,
  body.woocommerce-cart .st-woocommerce-page .wc-block-cart__main {grid-column:1;grid-row:2}
}
@media(max-width:640px){
  body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__container {padding:16px 14px 18px}
  body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry h1{font-size:1.55rem}
  body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__lead{font-size:.82rem;line-height:1.85}
  body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__assurances{display:grid;gap:7px}
  body:is(.woocommerce-checkout,.woocommerce-cart) .st-wc-entry__assurances span{width:100%;min-height:34px}
  body.woocommerce-checkout .st-woocommerce-page .wp-block-woocommerce-checkout,
  body.woocommerce-cart .st-woocommerce-page .wp-block-woocommerce-cart {padding:18px 14px 42px!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step {border-radius:15px;margin-bottom:12px!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__heading {padding:13px 14px!important;min-height:55px}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__container {padding:14px!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form{grid-template-columns:minmax(0,1fr);gap:12px}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form>*{grid-column:1/-1}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar .wc-block-components-order-summary__button{min-height:56px;padding:14px}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item {padding:13px 12px}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__image,
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__image img{width:62px;height:62px;max-width:62px;flex-basis:62px}
  body.woocommerce-cart .st-woocommerce-page .wc-block-cart__sidebar {padding:12px}
}
@media(prefers-reduced-motion:reduce){
  body:is(.woocommerce-checkout,.woocommerce-cart) .st-woocommerce-page *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}


/* ================================================================
   Checkout Block · exact mockup alignment, actual Woo/THWCFE fields.
   This second-pass layer deliberately comes AFTER the original styles.
   It changes only appearance, never React form ownership/totals.
   ================================================================ */
body.woocommerce-checkout .st-woocommerce-page .st-wc-account-area {
  width:min(100%,1380px);padding:0 clamp(16px,3vw,40px);
  margin:26px auto -9px;
}
body.woocommerce-checkout .st-woocommerce-page .st-wc-account-hint {
  display:flex;align-items:center;gap:11px;padding:13px 16px;
  border:1px solid #ffd9df;border-radius:13px;
  background:linear-gradient(95deg,#fff2f4 0%,#fffaf9 55%,#f7f7f4 100%);
  font-size:.76rem;line-height:1.9;color:#627f85;min-width:0;
}
body.woocommerce-checkout .st-woocommerce-page .st-wc-account-hint__icon {
  width:24px;flex:0 0 24px;font-size:23px;color:#173f49;
}
body.woocommerce-checkout .st-woocommerce-page .st-wc-account-hint a {
  color:#f35668;font-weight:900;text-decoration:none;
}
body.woocommerce-checkout .st-woocommerce-page .st-wc-account-hint a:hover{text-decoration:underline}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout {
  --wc-form-color-text:#173f49;--wc-form-color-border:#d4dfe0;
  --wc-form-color-text-placeholder:#94a7ab;
  --wc-form-border-radius:11px;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__main {min-width:0}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step {
  border-color:#dfe7e7!important;overflow:visible!important;
  box-shadow:0 1px 0 rgba(23,63,73,.025)!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__heading {
  align-items:flex-start!important;min-height:80px;
  border-bottom-color:#e7eded!important;background:#fff;
  border-radius:18px 18px 0 0;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__heading-title {
  font-size:1rem!important;line-height:1.75!important;font-weight:900!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__heading-description,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__description {
  font-size:.72rem!important;line-height:1.8!important;color:#779097;
  margin-top:3px;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__container {
  padding:22px 18px 19px!important;
}
/* Keep the contact email and phone aligned; never overlap plugin-added fields. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-form .wc-block-components-address-form {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:15px 14px!important;align-items:start!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form > * {
  float:none!important;min-width:0!important;width:auto!important;
  max-width:100%!important;flex:none!important;margin:0!important;
  grid-column:auto;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form :is(
 .wc-block-components-address-form__address_1,
 .wc-block-components-address-form__address_2,
 .wc-block-components-address-form__company,
 .wc-block-components-address-form__email,
 .wc-block-components-address-form__phone
) {grid-column:auto!important}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form :is(
 .wc-block-components-address-form__address_1,
 .wc-block-components-address-form__address_2,
 .wc-block-components-address-form__company
) {grid-column:1/-1!important}
/* Country is intentionally retained as IR in the WC address payload, but omitted
   from the one-country shopper interface. CSS never removes the valid value. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout :is(
 .wc-block-components-address-form__country,
 .wc-block-components-country-input,
 .wc-block-components-country-input__input
),
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form > :is([id*="-country"],[id*="_country"]),
body.woocommerce-checkout .st-woocommerce-page .checkout-page :is(#billing_country_field,#shipping_country_field,.st-country-locked) {
  display:none!important;
}
/* Woo's native floating labels placed labels inside the input. Transform the
   actual input/label component into the mockup's above-field label layout. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout :is(
 .wc-block-components-text-input,.wc-block-components-combobox-control,
 .wc-block-components-select
) {min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-text-input:has(>label),
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-combobox-control:has(>label) {
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(46px,auto)!important;gap:7px!important;
  align-items:start!important;position:relative;
  margin:0!important;padding:0!important;height:auto!important;
}
body.woocommerce-checkout .st-woocommerce-page :is(
 .wc-block-components-text-input,.wc-block-components-combobox-control
) > label {
  position:static!important;inset:auto!important;top:auto!important;
  right:auto!important;left:auto!important;
  transform:none!important;scale:1!important;grid-row:1!important;grid-column:1!important;
  display:block!important;width:auto!important;max-width:100%!important;
  background:transparent!important;margin:0!important;padding:0!important;
  font-size:.75rem!important;line-height:1.65!important;font-weight:800!important;
  color:#173f49!important;text-align:right!important;pointer-events:auto!important;
}
body.woocommerce-checkout .st-woocommerce-page :is(
 .wc-block-components-text-input,.wc-block-components-combobox-control
 ) > input,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-combobox-control > .wc-block-components-combobox-control__input {
  grid-row:2!important;grid-column:1!important;align-self:stretch;
  height:46px!important;min-height:46px!important;box-sizing:border-box!important;
  width:100%!important;padding:10px 13px!important;
  margin:0!important;border:1px solid #cfdbde!important;
  border-radius:11px!important;background:#fff!important;
  font-size:.83rem!important;color:#173f49!important;text-align:right;
  box-shadow:none!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-combobox-control > .wc-block-components-combobox-control__button,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-combobox-control > .wc-block-components-combobox-control__indicator {
  grid-column:1;grid-row:2;justify-self:end;align-self:center;z-index:1;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-text-input > .wc-block-components-validation-error {
  grid-row:3!important;grid-column:1!important;line-height:1.7;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-text-input:focus-within > input,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-combobox-control:focus-within > input {
  border-color:#173f49!important;box-shadow:0 0 0 3px rgba(23,63,73,.07)!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout .wc-block-components-textarea {
  min-height:110px!important;width:100%!important;padding:13px!important;
  border:1px solid #cfdbde!important;border-radius:11px!important;
  font-size:.84rem!important;text-align:right;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkbox {min-width:0;line-height:1.8}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkbox__label {font-size:.75rem;line-height:1.8}
/* Option-card radios: consistent circular controls instead of mixed native/WC styles. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout :is(
  .wc-block-components-radio-control,.wc-block-components-radio-control__option-layout,
  .wc-block-checkout__shipping-method-option,.wc-block-components-payment-methods
) {min-width:0}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout .wc-block-components-radio-control__option {
  position:relative!important;display:flex!important;align-items:flex-start!important;
  gap:12px!important;min-height:64px!important;padding:14px!important;
  margin:0 0 9px!important;border:1px solid #dbe5e5!important;
  border-radius:13px!important;background:#fff!important;
  box-shadow:none!important;overflow:visible!important;cursor:pointer;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout .wc-block-components-radio-control__option:has(input:checked) {
  border-color:#173f49!important;background:#f7faf9!important;
  box-shadow:inset 0 0 0 1px #173f49!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout input.wc-block-components-radio-control__input[type=radio] {
  flex:0 0 18px!important;width:18px!important;height:18px!important;
  min-width:18px!important;min-height:18px!important;margin:3px 0 0!important;
  padding:0!important;position:relative!important;top:auto!important;left:auto!important;right:auto!important;
  transform:none!important;border:1.7px solid #9cafb3!important;
  appearance:none!important;-webkit-appearance:none!important;
  border-radius:50%!important;background:#fff!important;cursor:pointer;
  box-shadow:none!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout input.wc-block-components-radio-control__input[type=radio]:checked {
  border-color:#173f49!important;
  background:radial-gradient(circle at center,#173f49 0 4px,#fff 4.5px)!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout input.wc-block-components-radio-control__input[type=radio]::before,
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout input.wc-block-components-radio-control__input[type=radio]::after {content:none!important;display:none!important}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout .wc-block-components-radio-control__label,
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout .wc-block-components-radio-control__option-layout {
  flex:1!important;min-width:0!important;margin:0!important;
  font-size:.78rem!important;line-height:1.75!important;color:#173f49!important;font-weight:800;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout .wc-block-components-radio-control__description {
  color:#748d92!important;font-size:.7rem!important;line-height:1.85!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout .wc-block-components-radio-control-accordion-option {
  border-radius:12px;min-width:0;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout .wc-block-components-radio-control-accordion-option:has(input:checked) {
  border-color:#173f49;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout .wc-block-components-radio-control-accordion-content {
  background:#fbfaf7;border:1px solid #edf0ec;border-radius:10px;
  padding:12px 14px;margin:0 0 12px;color:#648085;font-size:.74rem;line-height:1.9;
}
/* Order summary: card header, clear product list and readable monetary totals. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar {
  border:1px solid #dfe7e7!important;border-radius:20px!important;
  background:#fff!important;overflow:hidden!important;
  box-shadow:0 18px 48px -34px rgba(23,63,73,.35)!important;
  padding:0!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar > .wc-block-components-order-summary {
  border:0!important;box-shadow:none!important;border-radius:0!important;
  padding:0!important;margin:0!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar :is(
 .wc-block-components-order-summary__button,.wc-block-components-checkout-order-summary__title
) {min-height:63px!important;display:flex!important;align-items:center!important;
  background:#fff!important;border-bottom:1px solid #e4eaea!important;
  padding:15px 18px!important;margin:0!important;text-align:right!important;
  font-size:1rem!important;font-weight:900!important;color:#173f49!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar .wc-block-components-order-summary__content {
  padding:0!important;margin:0!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item {
  display:flex!important;flex-direction:row!important;align-items:flex-start!important;
  gap:12px!important;padding:17px 18px!important;
  border-bottom:1px solid #e9eeee!important;margin:0!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__image {
  flex:0 0 70px!important;width:70px!important;max-width:70px!important;
  height:70px!important;overflow:hidden;border-radius:12px;
  background:#f7f6f2;margin:0!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__image img {
  display:block!important;width:100%!important;height:100%!important;
  aspect-ratio:1!important;object-fit:contain!important;border-radius:10px;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__description {
  flex:1!important;min-width:0!important;overflow-wrap:anywhere;
  text-align:right;line-height:1.65;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-size:.8rem!important;line-height:1.7!important;font-weight:900!important;
  color:#173f49!important;text-decoration:none;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__description .wc-block-components-product-details,
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__description .wc-block-components-product-metadata {
  margin-top:5px!important;color:#779198!important;
  font-size:.67rem!important;line-height:1.7!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__total-price {
  font-size:.73rem!important;font-weight:900!important;line-height:1.7;
  color:#173f49!important;max-width:100%;overflow-wrap:anywhere;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__quantity {
  background:#fff!important;color:#173f49!important;border:1px solid #d5e0e2!important;
  box-shadow:0 0 0 2px white!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-wrapper {
  padding:12px 18px!important;margin:0!important;border-color:#e8eeee!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-item {
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  font-size:.76rem!important;line-height:1.85!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-item__label {
  color:#638085!important;font-size:.74rem!important;flex:1;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-item__value {
  text-align:left!important;direction:ltr;unicode-bidi:plaintext;
  color:#173f49!important;font-size:.8rem!important;font-weight:900!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-footer-item {
  background:#f7faf9!important;border-top:1px solid #e7eeee!important;
  padding:14px 18px!important;font-size:.92rem!important;font-weight:900!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar .wc-block-components-totals-coupon {
  padding:5px 18px 15px!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar .wc-block-components-totals-coupon__form {
  display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar .wc-block-components-totals-coupon__form input {
  min-width:0!important;height:43px!important;border:1px solid #d7e1e2!important;
  border-radius:10px!important;padding:8px 12px!important;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar .wc-block-components-totals-coupon__form button {
  min-height:43px!important;padding:7px 12px!important;border-radius:10px!important;
  background:#173f49!important;color:white!important;font-size:.72rem;font-weight:900;
}
body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-place-order-button {
  width:100%!important;min-height:52px!important;font-size:.87rem!important;font-weight:900!important;
  border-radius:11px!important;background:#ff6b7a!important;color:#fff!important;
  box-shadow:0 8px 20px -13px rgba(255,107,122,.55)!important;
}
body.woocommerce-checkout .st-woocommerce-page :is(.wc-block-components-notice-banner,.wc-block-components-validation-error) {
  max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;
}
/* Compact layout mirrors the mockup mobile flow: summary first, forms below. */
@media(max-width:860px){
  body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar{position:static!important;top:auto!important}
  body.woocommerce-checkout .st-woocommerce-page .st-wc-account-area{margin-top:18px}
}
@media(max-width:640px){
  body.woocommerce-checkout .st-woocommerce-page .st-wc-account-area{padding:0 14px;margin:15px auto 0}
  body.woocommerce-checkout .st-woocommerce-page .st-wc-account-hint{font-size:.71rem;line-height:1.8;padding:12px}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__heading{min-height:67px;padding:13px 14px!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__container{padding:17px 14px!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form{grid-template-columns:minmax(0,1fr)!important;gap:13px!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-address-form>*{grid-column:1/-1!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item{padding:13px!important;gap:10px!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-order-summary-item__image{width:60px!important;height:60px!important;flex-basis:60px!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-totals-wrapper{padding:10px 14px!important}
  body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout__sidebar .wc-block-components-totals-coupon__form{grid-template-columns:minmax(0,1fr) auto}
}

/* The mockup's login prompt belongs to the FORM column, not across the summary. */
@media(min-width:861px){
  body.woocommerce-checkout .st-woocommerce-page .st-wc-account-area{
    display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,.85fr);gap:28px;
  }
  body.woocommerce-checkout .st-woocommerce-page .st-wc-account-hint{grid-column:1;min-width:0}
}
@media(min-width:861px) and (max-width:1020px){
  body.woocommerce-checkout .st-woocommerce-page .st-wc-account-area{
    grid-template-columns:minmax(0,1fr) minmax(305px,.8fr);gap:17px;
  }
}
body.woocommerce-checkout .st-woocommerce-page .st-wc-account-hint__icon svg {
  width:20px;height:20px;display:block;color:#173f49;
}
/* When Woo's contact step contains two native inputs, match mockup's two-column row. */
@media(min-width:641px){
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__container:has(> .wc-block-components-text-input + .wc-block-components-text-input){
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
  }
  body.woocommerce-checkout .st-woocommerce-page .wc-block-components-checkout-step__container:has(> .wc-block-components-text-input + .wc-block-components-text-input) > * {min-width:0;margin:0!important;}
}
/* Country field equivalents injected by editor extensions. Only the visible
   control is removed; server-side country defaults/allowed countries remain IR. */
body.woocommerce-checkout .st-woocommerce-page .wc-block-checkout :is(
  [data-field-id="billing_country"],[data-field-id="shipping_country"],
  [data-field-name="billing_country"],[data-field-name="shipping_country"],
  #billing_country_field,#shipping_country_field
){display:none!important}
