/* Commerce Checkout Studio — intentionally restricted to WooCommerce page contexts.
   No all:unset, no Shadow DOM, no payment-frame modification, no hidden gateway inputs. */
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout,.woocommerce-order),
body.ccs-on .ccs-progress {font-family:var(--ccs-font)!important;font-size:var(--ccs-font-size)!important;line-height:var(--ccs-line-height)!important;color:var(--ccs-text)!important;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) {max-width:var(--ccs-max-width);margin-inline:auto;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(h1,h2,h3,h4,.wc-block-components-title,.wc-block-components-checkout-step__title,.woocommerce-order-details__title,.woocommerce-column__title) {color:var(--ccs-heading)!important;font-family:var(--ccs-font)!important;font-weight:var(--ccs-heading-weight)!important;line-height:1.5!important;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(h2,h3,.wc-block-components-title,.wc-block-components-checkout-step__title){font-size:var(--ccs-heading-size)!important;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(label,.wc-block-components-checkbox__label,.wc-block-components-text-input label) {font-family:var(--ccs-font)!important;font-size:var(--ccs-label-size)!important;font-weight:600!important;color:var(--ccs-text)!important;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(p,td,th,.amount,.wc-block-components-formatted-money-amount){font-family:var(--ccs-font)!important;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(.woocommerce-info,.woocommerce-message,.woocommerce-error,.woocommerce-notices-wrapper .woocommerce-error){background:var(--ccs-surface-alt)!important;color:var(--ccs-text)!important;border:var(--ccs-border-width) solid var(--ccs-border)!important;border-inline-start:4px solid var(--ccs-success)!important;border-radius:var(--ccs-radius)!important;padding:13px 18px!important;padding-inline-start:55px!important;position:relative!important;box-shadow:none!important;}
body.ccs-on .woocommerce-error {border-inline-start-color:var(--ccs-danger)!important;}
body.ccs-on .woocommerce-info {border-inline-start-color:var(--ccs-warning)!important;}

/* Classic cart and totals. Keep WooCommerce's native forms, names and quantity AJAX. */
body.ccs-on-cart :is(.woocommerce-cart-form,.cart_totals,.woocommerce .cross-sells),
body.ccs-on-checkout :is(#customer_details,.woocommerce-checkout-review-order,.woocommerce-checkout-payment),
body.ccs-on-thankyou :is(.woocommerce-order-overview,.woocommerce-order-details,.woocommerce-customer-details) {background:var(--ccs-surface)!important;color:var(--ccs-text)!important;border:var(--ccs-border-width) solid var(--ccs-border)!important;border-radius:var(--ccs-radius)!important;box-shadow:var(--ccs-shadow)!important;}
body.ccs-on-cart .woocommerce-cart-form {padding:var(--ccs-card-padding)!important;margin-block:0 var(--ccs-gap)!important;overflow-x:auto;}
body.ccs-on-cart .cart_totals,body.ccs-on-checkout #customer_details,body.ccs-on-checkout .woocommerce-checkout-review-order{padding:var(--ccs-card-padding)!important;}
body.ccs-on-cart .cart-collaterals .cart_totals{float:none!important;width:auto!important;max-width:100%!important;}
body.ccs-on-cart .cart-collaterals{max-width:var(--ccs-summary-width);margin-inline-start:auto;}
body.ccs-on-cart table.shop_table,body.ccs-on-checkout table.shop_table,body.ccs-on-thankyou table.shop_table{background:transparent!important;border:0!important;border-collapse:separate!important;border-spacing:0!important;color:var(--ccs-text)!important;width:100%;}
body.ccs-on-cart table.shop_table :is(td,th),body.ccs-on-checkout table.shop_table :is(td,th){background:transparent!important;border-block-end:1px solid var(--ccs-border)!important;padding:12px!important;font-size:var(--ccs-font-size)!important;vertical-align:middle;}
body.ccs-on-cart table.shop_table th,body.ccs-on-checkout table.shop_table th{color:var(--ccs-heading)!important;font-weight:700!important;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .amount,
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .woocommerce-Price-amount{color:var(--ccs-heading)!important;font-weight:700!important;}
body.ccs-on-cart .product-thumbnail img{border-radius:var(--ccs-field-radius)!important;max-width:90px!important;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) a{color:var(--ccs-heading);text-decoration:none;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) a:hover{color:var(--ccs-success);}
body.ccs-on .woocommerce .quantity .qty{max-width:90px!important;text-align:center;}
body.ccs-on .woocommerce .product-remove a.remove{color:var(--ccs-danger)!important;}

/* Classic fields, select2, notices. Never hide input elements used by payment gateways. */
body.ccs-on .woocommerce :is(input.input-text,input[type="email"],input[type="tel"],input[type="text"],input[type="number"],input[type="password"],select,textarea),
body.ccs-on .woocommerce .select2-container--default .select2-selection--single{
  background:var(--ccs-input-bg)!important;color:var(--ccs-text)!important;border:1px solid var(--ccs-border)!important;border-radius:var(--ccs-field-radius)!important;min-height:var(--ccs-input-height)!important;height:auto;font-family:var(--ccs-font)!important;font-size:var(--ccs-font-size)!important;box-shadow:none!important;transition:border-color .15s ease,box-shadow .15s ease!important;box-sizing:border-box!important;
}
body.ccs-on .woocommerce :is(input.input-text,input[type="email"],input[type="tel"],input[type="text"],input[type="number"],input[type="password"],select){padding:10px 13px!important;}
body.ccs-on .woocommerce textarea{padding:12px 14px!important;min-height:90px!important;}
body.ccs-on .woocommerce :is(input,select,textarea):focus{outline:none!important;border-color:var(--ccs-success)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--ccs-success) 13%,transparent)!important;}
body.ccs-on .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ccs-text)!important;line-height:calc(var(--ccs-input-height) - 2px)!important;padding-inline:12px!important;}
body.ccs-on .woocommerce .select2-selection__arrow{height:100%!important;}
body.ccs-on .woocommerce :is(.form-row,.woocommerce-billing-fields__field-wrapper>.form-row,.woocommerce-shipping-fields__field-wrapper>.form-row){margin-block-end:var(--ccs-field-gap)!important;}
body.ccs-on .woocommerce .form-row label{display:block;margin-bottom:6px!important;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(button.button,a.button,input.button,a.checkout-button,#place_order,button[type="submit"],.wc-block-components-button,.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button){
  background:var(--ccs-accent)!important;color:var(--ccs-accent-text)!important;border:0!important;border-radius:var(--ccs-button-radius)!important;min-height:var(--ccs-button-height)!important;padding:10px 18px!important;line-height:1.4!important;font-weight:700!important;font-family:var(--ccs-font)!important;font-size:var(--ccs-font-size)!important;box-shadow:none!important;text-shadow:none!important;text-decoration:none!important;cursor:pointer;transition:filter .2s ease!important;
}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(button.button,a.button,input.button,a.checkout-button,#place_order,button[type="submit"],.wc-block-components-button):hover{filter:brightness(.94);color:var(--ccs-accent-text)!important;background:var(--ccs-accent)!important;}
body.ccs-on :is(.woocommerce,.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(button.button,a.button,input.button,#place_order,.wc-block-components-button):disabled{opacity:.55!important;cursor:not-allowed!important;}
body.ccs-on-checkout #place_order,body.ccs-on-cart .wc-proceed-to-checkout .checkout-button,body.ccs-on-checkout .wc-block-components-checkout-place-order-button{width:100%!important;display:inline-flex!important;align-items:center;justify-content:center;}
body.ccs-on-checkout #payment{background:var(--ccs-payment-bg)!important;border-radius:var(--ccs-radius)!important;color:var(--ccs-text)!important;}
body.ccs-on-checkout #payment ul.payment_methods{background:transparent!important;border-color:var(--ccs-border)!important;}
body.ccs-on-checkout #payment div.payment_box{background:var(--ccs-surface-alt)!important;color:var(--ccs-text)!important;border-radius:var(--ccs-field-radius)!important;}
body.ccs-on-checkout #payment div.payment_box:before{border-bottom-color:var(--ccs-surface-alt)!important;}
body.ccs-on-checkout .woocommerce-checkout-review-order-table{margin:0!important;}
body.ccs-on-checkout #order_review_heading{color:var(--ccs-heading)!important;font-size:var(--ccs-heading-size)!important;}
body.ccs-on-checkout #customer_details .col-1,body.ccs-on-checkout #customer_details .col-2{float:none!important;width:100%!important;max-width:100%!important;padding:0!important;}
body.ccs-on-checkout #customer_details .col-1{margin-block-end:var(--ccs-gap)!important;}

/* Block Cart / Checkout: style Woo public visual components; preserve internal layout, validation and payment iframes. */
body.ccs-on :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(.wc-block-components-main,.wc-block-components-sidebar,.wc-block-cart-items,.wc-block-components-order-summary,.wc-block-checkout__payment-method,.wc-block-components-totals-wrapper){color:var(--ccs-text)!important;}
body.ccs-on :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(.wc-block-components-sidebar,.wc-block-components-order-summary,.wc-block-components-panel,.wc-block-components-checkout-step){background:var(--ccs-surface)!important;border-radius:var(--ccs-radius)!important;}
body.ccs-on :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-sidebar{padding:var(--ccs-card-padding)!important;border:var(--ccs-border-width) solid var(--ccs-border)!important;box-shadow:var(--ccs-shadow)!important;}
body.ccs-on :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(.wc-block-components-text-input input,.wc-block-components-combobox-control input,.wc-block-components-form .wc-block-components-text-input input,.wc-block-components-select select,.wc-block-components-address-form__address_1 input){background:var(--ccs-input-bg)!important;color:var(--ccs-text)!important;border:1px solid var(--ccs-border)!important;border-radius:var(--ccs-field-radius)!important;min-height:var(--ccs-input-height)!important;font-family:var(--ccs-font)!important;font-size:var(--ccs-font-size)!important;box-shadow:none!important;}
body.ccs-on :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(input,select,textarea):focus{border-color:var(--ccs-success)!important;outline:2px solid color-mix(in srgb,var(--ccs-success) 22%,transparent)!important;outline-offset:1px!important;}
body.ccs-on :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) .wc-block-components-radio-control__option:has(input:checked){background:var(--ccs-surface-alt)!important;border-radius:var(--ccs-field-radius)!important;}
body.ccs-on :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(.wc-block-components-totals-item__label,.wc-block-components-order-summary-item__description,.wc-block-components-product-name){color:var(--ccs-text)!important;}
body.ccs-on :is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout) :is(.wc-block-components-order-summary-item__total-price,.wc-block-components-totals-footer-item .wc-block-components-totals-item__value){color:var(--ccs-heading)!important;font-weight:700!important;}

/* Order confirmation / thank-you */
body.ccs-on-thankyou .woocommerce-order-overview{display:flex;flex-wrap:wrap;gap:8px 15px;list-style:none!important;margin:0 0 var(--ccs-gap)!important;padding:var(--ccs-card-padding)!important;}
body.ccs-on-thankyou .woocommerce-order-overview li{border-inline-end:1px solid var(--ccs-border);padding-inline-end:15px;color:var(--ccs-muted)!important;}
body.ccs-on-thankyou :is(.woocommerce-order-details,.woocommerce-customer-details){padding:var(--ccs-card-padding)!important;margin-block-end:var(--ccs-gap)!important;}
body.ccs-on-thankyou .woocommerce-thankyou-order-received{color:var(--ccs-success)!important;font-weight:700!important;font-size:var(--ccs-heading-size)!important;padding:12px 0!important;}

/* Context-specific stepper; not a fake multi-step checkout flow. */
body.ccs-on .ccs-progress{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;max-width:var(--ccs-max-width);margin:0 auto var(--ccs-gap)!important;padding:10px 18px!important;background:var(--ccs-surface)!important;border:1px solid var(--ccs-border)!important;border-radius:var(--ccs-radius)!important;box-shadow:var(--ccs-shadow)!important;}
body.ccs-on .ccs-progress-step{flex:1;text-align:center;color:var(--ccs-muted);font-size:var(--ccs-label-size);font-weight:600;}
body.ccs-on .ccs-progress-step.is-current{color:var(--ccs-heading);background:var(--ccs-accent);padding:8px 12px;border-radius:var(--ccs-field-radius);}
body.ccs-on .ccs-progress-step.is-complete{color:var(--ccs-success);}

/* Optional mini cart (classic widget only; block mini cart uses separate modal architecture). */
body.ccs-mini-on .widget_shopping_cart_content{background:var(--ccs-surface)!important;color:var(--ccs-text)!important;font-family:var(--ccs-font)!important;font-size:var(--ccs-font-size)!important;border-radius:var(--ccs-radius)!important;}
body.ccs-mini-on .widget_shopping_cart_content a:not(.button){color:var(--ccs-heading)!important;}
body.ccs-mini-on .widget_shopping_cart_content a.button{background:var(--ccs-accent)!important;color:var(--ccs-accent-text)!important;padding:10px 14px!important;border-radius:var(--ccs-button-radius)!important;}

@media (min-width:960px) {
 body.ccs-on-checkout .woocommerce-checkout-review-order,body.ccs-on-checkout .wc-block-components-sidebar{position:sticky;top:35px;align-self:start;}
}
@media (max-width:959px) {
 body.ccs-on-checkout form.checkout{display:block!important;}
 body.ccs-on-checkout form.checkout>#customer_details,body.ccs-on-checkout form.checkout>#order_review{width:100%!important;float:none!important;max-width:100%!important;margin:0 0 var(--ccs-gap)!important;}
 body.ccs-on-checkout :is(.woocommerce-checkout-review-order,.wc-block-components-sidebar){position:static!important;}
 body.ccs-on-cart .cart-collaterals{max-width:100%;}
}
@media (max-width:650px) {
 body.ccs-on .ccs-progress{padding:8px!important;gap:4px!important;}
 body.ccs-on .ccs-progress-step{font-size:11px!important;padding:7px 4px!important;}
 body.ccs-on-cart table.shop_table :is(td,th){padding:8px 5px!important;}
 body.ccs-on .woocommerce{padding-inline:10px;}
 body.ccs-on-cart .woocommerce-cart-form{padding:12px!important;}
 body.ccs-on .woocommerce input,body.ccs-on .woocommerce button{max-width:100%;}
}
@media(prefers-reduced-motion:reduce){body.ccs-on *{transition:none!important;animation:none!important}}
/* Site canvas is configurable without changing the cart/checkout form markup. */
body.ccs-on-cart,body.ccs-on-checkout,body.ccs-on-thankyou{background-color:var(--ccs-canvas)!important;}
body.ccs-on :is(.main-page-wrapper,.site-content):has(.woocommerce){background-color:var(--ccs-canvas)!important;}
 

/* v1.1.1 - Notice icon/text isolation for Woodmart, Elementor, WooCommerce RTL/LTR.
   The legacy icon is generated by :before and often overlays text when a theme
   overrides its positioning. Reserve a dedicated inline gutter, then replace
   the theme icon glyph with a fixed-size CSS-drawn mark. No payment logic changes. */
body.ccs-on :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  min-height: 54px !important;
  padding-block: 13px !important;
  padding-inline-start: 55px !important;
  padding-inline-end: 18px !important;
  text-align: start !important;
  line-height: 1.9 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
  text-indent: 0 !important;
}
body.ccs-on :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before {
  content: "!" !important;
  position: absolute !important;
  top: 50% !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  inset-inline-start: 16px !important;
  inset-inline-end: auto !important;
  transform: translateY(-50%) !important;
  display: grid !important;
  place-items: center !important;
  width: 23px !important;
  height: 23px !important;
  min-width: 23px !important;
  min-height: 23px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid currentColor !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: var(--ccs-success, #18794e) !important;
  font: 800 13px/1 Arial, sans-serif !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: 1 !important;
  pointer-events: none !important;
}
body.ccs-on .woocommerce-error::before {
  content: "!" !important;
  color: var(--ccs-danger, #b42318) !important;
}
body.ccs-on .woocommerce-message::before {
  content: "\2713" !important;
  color: var(--ccs-success, #18794e) !important;
}
body.ccs-on ul.woocommerce-error > li {
  list-style: none !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
}
@media (max-width: 767px) {
  body.ccs-on :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) {
    padding-inline-start: 50px !important;
    padding-inline-end: 12px !important;
    padding-block: 12px !important;
  }
  body.ccs-on :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before {
    inset-inline-start: 13px !important;
  }
}
