/* InPrimePay Shop v1.3.9 – scoped styling for WooCommerce Block Cart and Checkout.
   No changes to payment inputs/gateway logic, no global selectors. */
body.woocommerce-cart,body.woocommerce-checkout{--ipps-ui-border:#dce4e9;--ipps-ui-bg:#fff;--ipps-ui-ink:#182d3d;overflow-x:clip}
body.woocommerce-cart .ipps-shop-hero,body.woocommerce-checkout .ipps-shop-hero{
  position:relative;isolation:isolate;width:100%;min-height:240px;padding:36px 16px;
  display:grid;place-items:center;box-sizing:border-box;overflow:hidden;text-align:center;
  background:#142633;color:#fff;
}
body.woocommerce-cart .ipps-shop-hero::before,body.woocommerce-checkout .ipps-shop-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,rgba(8,19,26,.67),rgba(8,19,26,.55)),var(--ipps-shop-hero-image);
  background-size:cover;background-position:center;
}
body.woocommerce-cart .ipps-shop-hero__inner,body.woocommerce-checkout .ipps-shop-hero__inner{max-width:900px;color:white}
body.woocommerce-cart .ipps-shop-hero__eyebrow,body.woocommerce-checkout .ipps-shop-hero__eyebrow{font-size:11px;font-weight:700;letter-spacing:.23em;opacity:.95}
body.woocommerce-cart .ipps-shop-hero h1,body.woocommerce-checkout .ipps-shop-hero h1{font-size:clamp(36px,5vw,58px)!important;letter-spacing:-.025em;line-height:1.08;font-weight:800;color:#fff!important;margin:12px 0!important}
body.woocommerce-cart .ipps-shop-hero p,body.woocommerce-checkout .ipps-shop-hero p{font-size:clamp(14px,1.6vw,17px);color:#fff!important;opacity:.94;margin:0}
/* Hide duplicate page title while preserving screen-reader accessible document semantics via banner h1. */
body.woocommerce-cart :is(.entry-title,.page-title),body.woocommerce-checkout :is(.entry-title,.page-title){display:none!important}
body.woocommerce-cart .site-main,body.woocommerce-checkout .site-main,
body.woocommerce-cart main#content,body.woocommerce-checkout main#content{
  width:100%!important;max-width:1280px!important;margin:0 auto!important;
  padding:clamp(18px,3vw,34px) clamp(16px,3vw,34px) 58px!important;box-sizing:border-box!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {width:100%!important;min-width:0!important;max-width:none!important;box-sizing:border-box}
body.woocommerce-cart .wp-block-woocommerce-cart :is(a,a:visited),
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(a,a:visited){color:var(--ipps-link-color,#182d3d)!important;text-decoration:none!important;text-underline-offset:3px}
body.woocommerce-cart .wp-block-woocommerce-cart a:hover,
body.woocommerce-checkout .wp-block-woocommerce-checkout a:hover{color:var(--ipps-accent,#182d3d)!important;text-decoration:underline!important}
body.woocommerce-cart .wc-block-cart :is(.wc-block-cart-items__row,.wc-block-components-totals-wrapper),
body.woocommerce-checkout .wc-block-checkout :is(.wc-block-components-order-summary,.wc-block-checkout__form){border-color:var(--ipps-ui-border)!important}
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name{color:var(--ipps-heading-color,#15222d)!important;font-weight:700!important;text-decoration:none!important}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout button[type=submit]{
  min-height:52px!important;border:1px solid var(--ipps-accent,#182d3d)!important;
  border-radius:10px!important;background:var(--ipps-accent,#182d3d)!important;color:white!important;
  font-weight:750!important;box-shadow:none!important;text-decoration:none!important;
  cursor:pointer;transition:filter .18s ease,transform .18s ease;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button :is(span,div),
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button :is(span,div){color:inherit!important;text-decoration:none!important}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button:is(:hover,:focus-visible):not(:disabled),
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button:is(:hover,:focus-visible):not(:disabled){
  filter:brightness(1.18);transform:translateY(-1px);background:var(--ipps-accent,#182d3d)!important;color:#fff!important
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-components-button:disabled,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-button:disabled{opacity:.55;cursor:not-allowed}
body.woocommerce-cart .wp-block-woocommerce-cart :is(.wc-block-components-quantity-selector,.wc-block-components-totals-coupon),
body.woocommerce-checkout .wp-block-woocommerce-checkout :is(.wc-block-components-text-input input,.wc-block-components-combobox input){border-color:var(--ipps-ui-border)!important;border-radius:8px}
/* Classic-cart fallback, for themes which still use shortcode instead of Blocks. */
body.woocommerce-cart .woocommerce a.button,body.woocommerce-cart .woocommerce button.button,
body.woocommerce-checkout .woocommerce button.button.alt{
  background:var(--ipps-accent,#182d3d)!important;color:#fff!important;border-radius:8px!important;border:0!important;
}
@media(max-width:700px){
  body.woocommerce-cart .ipps-shop-hero,body.woocommerce-checkout .ipps-shop-hero{min-height:176px;padding:27px 12px}
  body.woocommerce-cart .site-main,body.woocommerce-checkout .site-main{padding:22px 16px 42px!important}
  body.woocommerce-cart .wp-block-woocommerce-cart,body.woocommerce-checkout .wp-block-woocommerce-checkout{max-width:100%!important;overflow-wrap:anywhere}
}

/* v1.3.10 — Contrast fix: WooCommerce Cart Block checkout link and child labels. */
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-container a.wc-block-cart__submit-button,
body.woocommerce-cart .wp-block-woocommerce-cart a.wc-block-cart__submit-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .wp-block-woocommerce-checkout button.wc-block-components-checkout-place-order-button{
  background-color:#182d3d!important;color:#fff!important;border-color:#182d3d!important;
  text-decoration:none!important;opacity:1!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button *,
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button__text,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button *,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text{
  color:#fff!important;opacity:1!important;text-decoration:none!important;-webkit-text-fill-color:#fff!important;
}
body.woocommerce-cart .wp-block-woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{
  background-color:#26465a!important;color:#fff!important;
}
body.woocommerce-cart .wc-block-cart__submit-button:disabled,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled{opacity:.6!important}


/* v1.3.11 – WooCommerce BLOCK Cart: mobile width containment.
   Account for blocks alignwide, sidebar and intrinsic sizing (not classic tables).
   All fixes scoped to cart page; payment logic remains untouched. */
@media (max-width: 782px){
  html:has(body.woocommerce-cart),body.woocommerce-cart{max-width:100%;overflow-x:clip!important}
  body.woocommerce-cart :is(.site-main,main#content,.page-content,.entry-content,.wp-block-post-content,.wp-site-blocks,.woocommerce,.woocommerce-page){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  body.woocommerce-cart :is(.alignwide,.alignfull,.wp-block-woocommerce-cart.alignwide,.wp-block-woocommerce-cart.alignfull){width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important;left:auto!important;right:auto!important;transform:none!important}
  body.woocommerce-cart :is(.wp-block-woocommerce-cart,.wc-block-cart,.wc-block-cart__main,.wc-block-cart__sidebar,.wc-block-components-sidebar-layout,.wc-block-components-main,.wc-block-components-sidebar){min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
  body.woocommerce-cart :is(.wc-block-components-sidebar-layout,.wc-block-cart .wc-block-components-sidebar-layout){width:100%!important;display:flex!important;flex-direction:column!important;gap:22px!important;align-items:stretch!important;flex-wrap:nowrap!important}
  body.woocommerce-cart :is(.wc-block-cart__main,.wc-block-cart__sidebar,.wc-block-components-main,.wc-block-components-sidebar){width:100%!important;flex:0 1 auto!important;margin:0!important;padding:0!important;float:none!important;position:static!important}
  body.woocommerce-cart :is(.wc-block-cart-items,.wc-block-cart-items__row,.wc-block-cart__totals-title,.wc-block-components-totals-wrapper,.wc-block-cart__submit-container){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  body.woocommerce-cart .wc-block-cart-items{table-layout:fixed!important}
  body.woocommerce-cart .wc-block-cart-items :is(td,th,.wc-block-cart-item__product,.wc-block-cart-item__image,.wc-block-cart-item__total){min-width:0!important;overflow-wrap:anywhere!important;box-sizing:border-box!important}
  body.woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image img{max-width:100%!important;height:auto!important;object-fit:contain}
  body.woocommerce-cart .wc-block-components-product-name{overflow-wrap:anywhere;word-break:normal}
  body.woocommerce-cart .wc-block-cart__submit-container a.wc-block-cart__submit-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;padding:14px 16px!important;white-space:normal!important;line-height:1.35!important;text-align:center!important}
  body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text{max-width:100%!important;white-space:normal!important}
  body.woocommerce-cart .wc-block-components-quantity-selector{max-width:100%!important}
  body.woocommerce-cart .wc-block-components-order-summary-item__description{min-width:0!important}
}
