/* Wowoo Checkout Funnels — Step 10.9 Professional Checkout Reset
   Everything is scoped to Wowoo checkout wrappers/body classes to avoid theme, Elementor and WooCommerce bleed. */

:root{
  --wowoo-cf-primary:#ff174f;
  --wowoo-cf-dark:#07111f;
  --wowoo-cf-bg:#f6f8fb;
  --wowoo-cf-card:#ffffff;
  --wowoo-cf-text:#111827;
  --wowoo-cf-muted:#667085;
  --wowoo-cf-border:rgba(17,24,39,.10);
  --wowoo-cf-radius:24px;
  --wowoo-cf-shadow:0 22px 60px rgba(15,23,42,.08);
  --wowoo-cf-page-w:1180px;
  --wowoo-cf-side-w:380px;
  --wowoo-cf-gap:32px;
}

body.wowoo-cf-checkout-page,
body.wowoo-cf-canvas-body{
  background:#ffffff!important;
}

body.wowoo-cf-checkout-page .site,
body.wowoo-cf-checkout-page .site-content,
body.wowoo-cf-checkout-page .entry-content{
  overflow:visible;
}

.wowoo-cf-canvas{
  min-height:100vh;
  padding:34px 18px 42px;
  background:linear-gradient(180deg,#fff 0%,#fff 120px,#f7f9fc 120px,#f7f9fc 100%);
}

.wowoo-cf-canvas-article{
  width:100%;
  max-width:1240px;
  margin:0 auto;
}

.wowoo-cf-canvas-header{
  max-width:820px;
  margin:12px auto 30px;
  text-align:center;
}

.wowoo-cf-canvas-header h1{
  margin:0;
  color:var(--wowoo-cf-dark);
  font-size:clamp(32px,4vw,48px);
  line-height:1.04;
  letter-spacing:-.055em;
  font-weight:950;
}

.wowoo-cf-kicker{
  display:inline-flex;
  margin:0 0 12px;
  color:var(--wowoo-cf-primary);
  font-size:12px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.045em;
}

.wowoo-cf-checkout-app,
.wowoo-cf-checkout-app *{
  box-sizing:border-box;
}

.wowoo-cf-checkout-app{
  width:100%;
  max-width:100%;
  color:var(--wowoo-cf-text);
  font-family:inherit;
  font-size:14px;
  line-height:1.45;
  isolation:isolate;
}

.wowoo-cf-checkout-app .wowoo-cf-shell,
.wowoo-cf-checkout-app .wowoo-cf-main{
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:0;
  background:transparent!important;
}

.wowoo-cf-checkout-app a{
  color:var(--wowoo-cf-primary);
}

/* Notices */
.wowoo-cf-checkout-app .woocommerce-NoticeGroup,
.wowoo-cf-checkout-app .woocommerce-error,
.wowoo-cf-checkout-app .woocommerce-message,
.wowoo-cf-checkout-app .woocommerce-info:not(.woocommerce-form-coupon-toggle .woocommerce-info){
  width:min(var(--wowoo-cf-page-w),calc(100vw - 40px));
  max-width:var(--wowoo-cf-page-w);
  margin:0 auto 18px!important;
  padding:14px 18px!important;
  border-radius:16px!important;
  border:1px solid var(--wowoo-cf-border)!important;
  background:#fff!important;
  color:var(--wowoo-cf-text)!important;
  box-shadow:0 12px 34px rgba(15,23,42,.06)!important;
}

/* Coupon row */
.wowoo-cf-checkout-app .woocommerce-form-coupon-toggle,
.wowoo-cf-checkout-app .wowoo-cf-coupon-card{
  width:min(var(--wowoo-cf-page-w),calc(100vw - 40px))!important;
  max-width:var(--wowoo-cf-page-w)!important;
  margin:0 auto 28px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  float:none!important;
  clear:both!important;
}

.wowoo-cf-checkout-app .woocommerce-form-coupon-toggle .woocommerce-info,
.wowoo-cf-checkout-app .woocommerce-info{
  min-height:58px;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  margin:0!important;
  padding:0 26px!important;
  border:1px solid rgba(255,23,79,.18)!important;
  border-left:4px solid var(--wowoo-cf-primary)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 16px 44px rgba(15,23,42,.055)!important;
  color:var(--wowoo-cf-muted)!important;
  font-size:14px!important;
  font-weight:650!important;
}

.wowoo-cf-checkout-app .woocommerce-form-coupon-toggle .woocommerce-info:before,
.wowoo-cf-checkout-app .woocommerce-info:before{
  display:none!important;
  content:none!important;
}

.wowoo-cf-checkout-app .showcoupon,
.wowoo-cf-checkout-app .wowoo-cf-coupon-toggle{
  color:var(--wowoo-cf-primary)!important;
  font-weight:900!important;
  text-decoration:none!important;
  cursor:pointer;
}

.wowoo-cf-checkout-app form.checkout_coupon,
.wowoo-cf-checkout-app form.woocommerce-form-coupon{
  width:min(760px,calc(100vw - 40px))!important;
  max-width:760px!important;
  margin:-12px auto 28px!important;
  padding:18px!important;
  border:1px solid var(--wowoo-cf-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 16px 42px rgba(15,23,42,.065)!important;
}

.wowoo-cf-checkout-app form.checkout_coupon:before,
.wowoo-cf-checkout-app form.checkout_coupon:after,
.wowoo-cf-checkout-app form.woocommerce-form-coupon:before,
.wowoo-cf-checkout-app form.woocommerce-form-coupon:after{
  content:""!important;
  display:table!important;
  clear:both!important;
}

.wowoo-cf-checkout-app form.checkout_coupon p,
.wowoo-cf-checkout-app form.woocommerce-form-coupon p{
  margin:0 0 12px!important;
  color:var(--wowoo-cf-muted)!important;
}

.wowoo-cf-checkout-app form.checkout_coupon .form-row,
.wowoo-cf-checkout-app form.woocommerce-form-coupon .form-row{
  margin:0!important;
  padding:0!important;
  float:none!important;
}

.wowoo-cf-checkout-app form.checkout_coupon .form-row-first,
.wowoo-cf-checkout-app form.woocommerce-form-coupon .form-row-first{
  width:calc(100% - 166px)!important;
  display:inline-block!important;
  vertical-align:top!important;
}

.wowoo-cf-checkout-app form.checkout_coupon .form-row-last,
.wowoo-cf-checkout-app form.woocommerce-form-coupon .form-row-last{
  width:154px!important;
  display:inline-block!important;
  margin-left:10px!important;
  vertical-align:top!important;
}

/* Main two column layout */
.wowoo-cf-checkout-app form.checkout,
.wowoo-cf-checkout-app form.woocommerce-checkout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) var(--wowoo-cf-side-w)!important;
  gap:var(--wowoo-cf-gap)!important;
  align-items:start!important;
  width:min(var(--wowoo-cf-page-w),calc(100vw - 40px))!important;
  max-width:var(--wowoo-cf-page-w)!important;
  margin:0 auto!important;
  padding:0 0 8px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  float:none!important;
  clear:both!important;
  overflow:visible!important;
}

.wowoo-cf-checkout-app form.checkout:before,
.wowoo-cf-checkout-app form.checkout:after,
.wowoo-cf-checkout-app form.woocommerce-checkout:before,
.wowoo-cf-checkout-app form.woocommerce-checkout:after{
  content:none!important;
  display:none!important;
}

.wowoo-cf-checkout-app .wowoo-cf-card,
.wowoo-cf-checkout-app .wowoo-cf-customer-card,
.wowoo-cf-checkout-app .wowoo-cf-review-card,
.wowoo-cf-empty-cart,
.wowoo-cf-notice{
  background:var(--wowoo-cf-card)!important;
  border:1px solid var(--wowoo-cf-border)!important;
  border-radius:var(--wowoo-cf-radius)!important;
  box-shadow:var(--wowoo-cf-shadow)!important;
}

.wowoo-cf-checkout-app form.checkout>.wowoo-cf-customer-card,
.wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-customer-card{
  grid-column:1!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:30px 32px 34px!important;
  overflow:hidden!important;
}

.wowoo-cf-checkout-app form.checkout>.wowoo-cf-review-card,
.wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-review-card{
  grid-column:2!important;
  width:100%!important;
  max-width:var(--wowoo-cf-side-w)!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  position:sticky!important;
  top:24px!important;
  align-self:start!important;
}

.wowoo-cf-checkout-app #customer_details,
.wowoo-cf-checkout-app #customer_details .col-1,
.wowoo-cf-checkout-app #customer_details .col-2{
  width:100%!important;
  max-width:100%!important;
  float:none!important;
  margin:0!important;
  padding:0!important;
}

.wowoo-cf-checkout-app #ship-to-different-address,
.wowoo-cf-checkout-app .woocommerce-shipping-fields{
  margin:22px 0 0!important;
}

/* Customer information titles */
.wowoo-cf-checkout-app .woocommerce-billing-fields h3,
.wowoo-cf-checkout-app .woocommerce-additional-fields h3,
.wowoo-cf-checkout-app .wowoo-activation-details-title span{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0!important;
  padding:0!important;
  color:var(--wowoo-cf-dark)!important;
  font-size:20px!important;
  line-height:1.15!important;
  letter-spacing:-.035em!important;
  font-weight:950!important;
}

.wowoo-cf-checkout-app .woocommerce-billing-fields h3:before,
.wowoo-cf-checkout-app .woocommerce-additional-fields h3:before,
.wowoo-cf-checkout-app .wowoo-activation-details-title span:before{
  content:"";
  width:11px;
  height:11px;
  flex:0 0 11px;
  border-radius:50%;
  background:var(--wowoo-cf-primary);
  box-shadow:0 0 0 6px rgba(255,23,79,.10);
}

.wowoo-cf-checkout-app .wowoo-customer-details-subtitle,
.wowoo-cf-checkout-app .wowoo-activation-details-title em,
.wowoo-cf-checkout-app .woocommerce-additional-fields p:first-child{
  display:block!important;
  margin:10px 0 24px!important;
  color:var(--wowoo-cf-muted)!important;
  font-size:13px!important;
  line-height:1.55!important;
  font-style:normal!important;
}

.wowoo-cf-checkout-app .wowoo-activation-details-title,
.wowoo-cf-checkout-app .woocommerce-additional-fields{
  margin:28px 0 0!important;
  padding-top:26px!important;
  border-top:1px solid var(--wowoo-cf-border)!important;
}

/* Field grid and controls */
.wowoo-cf-checkout-app .woocommerce-billing-fields__field-wrapper,
.wowoo-cf-checkout-app .woocommerce-shipping-fields__field-wrapper,
.wowoo-cf-checkout-app .woocommerce-additional-fields__field-wrapper{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:16px 18px!important;
  margin:0!important;
  padding:0!important;
}

.wowoo-cf-checkout-app .form-row,
.wowoo-cf-checkout-app .woocommerce-billing-fields__field-wrapper>.form-row,
.wowoo-cf-checkout-app .woocommerce-shipping-fields__field-wrapper>.form-row,
.wowoo-cf-checkout-app .woocommerce-additional-fields__field-wrapper>.form-row{
  width:auto!important;
  min-width:0!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  padding:0!important;
}

.wowoo-cf-checkout-app .form-row-first,
.wowoo-cf-checkout-app .form-row-last,
.wowoo-cf-checkout-app .wowoo-field-half,
.wowoo-cf-checkout-app #billing_first_name_field,
.wowoo-cf-checkout-app #billing_last_name_field{
  grid-column:span 6!important;
}

.wowoo-cf-checkout-app .form-row-wide,
.wowoo-cf-checkout-app .wowoo-field-full,
.wowoo-cf-checkout-app .wowoo-activation-field{
  grid-column:1/-1!important;
}

.wowoo-cf-checkout-app .form-row label{
  display:block!important;
  margin:0 0 8px!important;
  color:var(--wowoo-cf-text)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:850!important;
}

.wowoo-cf-checkout-app .form-row .optional,
.wowoo-cf-checkout-app .form-row label .optional,
.wowoo-cf-checkout-app .form-row label .wowoo-optional-mark{
  display:none!important;
}

.wowoo-cf-checkout-app .form-row .required,
.wowoo-cf-checkout-app .form-row label .required,
.wowoo-cf-checkout-app .form-row label .wowoo-required-mark{
  display:inline!important;
  color:var(--wowoo-cf-primary)!important;
  margin-left:4px!important;
  text-decoration:none!important;
  font-weight:950!important;
}

.wowoo-cf-checkout-app input.input-text,
.wowoo-cf-checkout-app input[type="text"],
.wowoo-cf-checkout-app input[type="tel"],
.wowoo-cf-checkout-app input[type="email"],
.wowoo-cf-checkout-app input[type="number"],
.wowoo-cf-checkout-app textarea,
.wowoo-cf-checkout-app select,
.wowoo-cf-checkout-app .select2-container .select2-selection--single,
.wowoo-cf-checkout-app .select2-container--default .select2-selection--single{
  width:100%!important;
  min-height:48px!important;
  height:auto!important;
  margin:0!important;
  padding:0 16px!important;
  border:1px solid rgba(17,24,39,.11)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--wowoo-cf-text)!important;
  box-shadow:none!important;
  font-size:14px!important;
  line-height:48px!important;
  outline:0!important;
}

.wowoo-cf-checkout-app textarea{
  min-height:112px!important;
  padding:14px 16px!important;
  line-height:1.45!important;
  resize:vertical!important;
}

.wowoo-cf-checkout-app input.input-text:focus,
.wowoo-cf-checkout-app textarea:focus,
.wowoo-cf-checkout-app select:focus,
.wowoo-cf-checkout-app .select2-container--focus .select2-selection--single{
  border-color:rgba(255,23,79,.58)!important;
  box-shadow:0 0 0 4px rgba(255,23,79,.10)!important;
}

.wowoo-cf-checkout-app .select2-container{width:100%!important;}
.wowoo-cf-checkout-app .select2-container--default .select2-selection--single .select2-selection__rendered{line-height:48px!important;padding-left:0!important;color:var(--wowoo-cf-text)!important;}
.wowoo-cf-checkout-app .select2-container--default .select2-selection--single .select2-selection__arrow{height:48px!important;}

/* Sidebar */
.wowoo-cf-checkout-app .wowoo-cf-review-card>h3,
.wowoo-cf-checkout-app .wowoo-cf-review-card>#order_review_heading{
  display:block!important;
  margin:0!important;
  padding:22px 22px 16px!important;
  color:var(--wowoo-cf-dark)!important;
  background:#fff!important;
  border-bottom:1px solid var(--wowoo-cf-border)!important;
  font-size:19px!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:-.028em!important;
}

.wowoo-cf-checkout-app .wowoo-cf-sidebar-top{
  padding:0 20px 18px!important;
}

.wowoo-cf-checkout-app .wowoo-cf-review-card #order_review,
.wowoo-cf-checkout-app .wowoo-cf-review-card .woocommerce-checkout-review-order{
  padding:0 20px 20px!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-card{
  margin:0 -20px 16px!important;
  padding:18px 20px!important;
  border-bottom:1px solid var(--wowoo-cf-border)!important;
  background:#fff!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-kicker,
.wowoo-cf-checkout-app .wowoo-cf-bump-eyebrow{
  display:block!important;
  margin:0 0 10px!important;
  color:var(--wowoo-cf-primary)!important;
  font-size:10px!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
  font-weight:950!important;
  line-height:1!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-line{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-thumb,
.wowoo-cf-checkout-app .wowoo-cf-bump-thumb{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  border-radius:14px!important;
  overflow:hidden!important;
  background:#f8fafc!important;
  border:1px solid var(--wowoo-cf-border)!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-thumb img,
.wowoo-cf-checkout-app .wowoo-cf-bump-thumb img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-fallback,
.wowoo-cf-checkout-app .wowoo-cf-bump-fallback{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  color:var(--wowoo-cf-primary)!important;
  font-weight:950!important;
  background:rgba(255,23,79,.08)!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-meta,
.wowoo-cf-checkout-app .wowoo-cf-bump-copy{
  min-width:0!important;
  overflow:hidden!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-meta strong,
.wowoo-cf-checkout-app .wowoo-cf-bump-copy strong{
  display:block!important;
  color:var(--wowoo-cf-text)!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:950!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-meta span,
.wowoo-cf-checkout-app .wowoo-cf-bump-copy p{
  display:block!important;
  margin:5px 0 0!important;
  color:var(--wowoo-cf-muted)!important;
  font-size:11.5px!important;
  line-height:1.35!important;
  font-weight:650!important;
  overflow-wrap:anywhere!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-price,
.wowoo-cf-checkout-app .wowoo-cf-bump-price{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:58px!important;
  max-width:104px!important;
  padding:7px 9px!important;
  border-radius:999px!important;
  background:#f8fafc!important;
  border:1px solid var(--wowoo-cf-border)!important;
  color:var(--wowoo-cf-text)!important;
  font-size:11px!important;
  line-height:1!important;
  font-weight:950!important;
  white-space:nowrap!important;
}

.wowoo-cf-checkout-app .wowoo-cf-order-bump{
  margin:0!important;
  padding:15px!important;
  border:1px solid rgba(255,23,79,.20)!important;
  border-left:4px solid var(--wowoo-cf-primary)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#fff 0%,rgba(255,23,79,.035) 100%)!important;
  box-shadow:0 14px 30px rgba(15,23,42,.052)!important;
  transition:opacity .18s ease, transform .18s ease;
  max-width:100%!important;
  overflow:hidden!important;
}

.wowoo-cf-checkout-app .wowoo-cf-order-bump.is-loading{opacity:.65;pointer-events:none;}

.wowoo-cf-checkout-app .wowoo-cf-bump-toggle{
  display:grid!important;
  grid-template-columns:20px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  margin:0 0 13px!important;
  cursor:pointer!important;
}

.wowoo-cf-checkout-app .wowoo-cf-bump-toggle input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}

.wowoo-cf-checkout-app .wowoo-cf-bump-check{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:20px!important;
  height:20px!important;
  margin-top:1px!important;
  border-radius:50%!important;
  border:1px solid rgba(255,23,79,.36)!important;
  background:#fff!important;
  color:transparent!important;
  font-size:11px!important;
  font-weight:950!important;
}

.wowoo-cf-checkout-app .wowoo-cf-order-bump.is-selected .wowoo-cf-bump-check{
  background:var(--wowoo-cf-primary)!important;
  border-color:var(--wowoo-cf-primary)!important;
  color:#fff!important;
}

.wowoo-cf-checkout-app .wowoo-cf-bump-label{
  display:block!important;
  color:var(--wowoo-cf-text)!important;
  font-size:12px!important;
  line-height:1.32!important;
  font-weight:950!important;
  overflow-wrap:anywhere!important;
}

.wowoo-cf-checkout-app .wowoo-cf-bump-body{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto!important;
  gap:11px!important;
  align-items:center!important;
}

/* Native order review table */
.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table,
.wowoo-cf-checkout-app table.shop_table{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
  background:transparent!important;
  table-layout:auto!important;
}

.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table thead,
.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table tbody .cart_item{
  display:none!important;
}

.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table tfoot{
  display:block!important;
  margin:0!important;
  padding:10px 0 0!important;
  border-top:1px solid var(--wowoo-cf-border)!important;
}

.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table tfoot tr{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 0!important;
  border:0!important;
  border-bottom:1px solid rgba(17,24,39,.06)!important;
}

.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table tfoot tr:last-child{border-bottom:0!important;}

.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table th,
.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table td{
  display:block!important;
  width:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--wowoo-cf-muted)!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:800!important;
}

.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table td{
  text-align:right!important;
  color:var(--wowoo-cf-text)!important;
  font-weight:950!important;
}

.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table .order-total th{
  font-size:13px!important;
  color:var(--wowoo-cf-text)!important;
}

.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table .order-total td,
.wowoo-cf-checkout-app .woocommerce-checkout-review-order-table .order-total .amount{
  color:var(--wowoo-cf-text)!important;
  font-size:22px!important;
  line-height:1!important;
  font-weight:950!important;
}

/* Payment */
.wowoo-cf-checkout-app #payment,
.wowoo-cf-checkout-app .woocommerce-checkout-payment{
  width:100%!important;
  max-width:100%!important;
  margin:14px 0 0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.wowoo-cf-checkout-app #payment ul.payment_methods,
.wowoo-cf-checkout-app .woocommerce-checkout-payment ul.payment_methods{
  width:100%!important;
  margin:0 0 16px!important;
  padding:14px!important;
  border:1px solid var(--wowoo-cf-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  list-style:none!important;
}

.wowoo-cf-checkout-app #payment ul.payment_methods li,
.wowoo-cf-checkout-app .woocommerce-checkout-payment ul.payment_methods li{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  color:var(--wowoo-cf-text)!important;
}

.wowoo-cf-checkout-app #payment ul.payment_methods input[type="radio"]{
  margin:0 8px 0 0!important;
  vertical-align:middle!important;
}

.wowoo-cf-checkout-app #payment ul.payment_methods label{
  display:inline!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:900!important;
}

.wowoo-cf-checkout-app #payment div.payment_box,
.wowoo-cf-checkout-app .woocommerce-checkout-payment div.payment_box{
  width:100%!important;
  max-width:100%!important;
  margin:11px 0 0!important;
  padding:14px!important;
  border:1px solid rgba(17,24,39,.06)!important;
  border-radius:14px!important;
  background:#f8fafc!important;
  color:var(--wowoo-cf-muted)!important;
  font-size:11.8px!important;
  line-height:1.58!important;
  overflow-wrap:anywhere!important;
}

.wowoo-cf-checkout-app #payment div.payment_box:before{border-bottom-color:#f8fafc!important;}

.wowoo-cf-checkout-app .woocommerce-privacy-policy-text,
.wowoo-cf-checkout-app .woocommerce-terms-and-conditions-wrapper{
  margin:0!important;
  color:var(--wowoo-cf-muted)!important;
  font-size:11.5px!important;
  line-height:1.55!important;
}

.wowoo-cf-checkout-app .woocommerce-privacy-policy-text a,
.wowoo-cf-checkout-app .woocommerce-terms-and-conditions-wrapper a{
  color:var(--wowoo-cf-primary)!important;
  text-decoration:none!important;
  font-weight:800!important;
}

.wowoo-cf-checkout-app .form-row.place-order{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

.wowoo-cf-checkout-app #place_order,
.wowoo-cf-checkout-app button.button,
.wowoo-cf-checkout-app a.button{
  border:0!important;
  border-radius:15px!important;
  background:var(--wowoo-cf-primary)!important;
  color:#fff!important;
  font-weight:950!important;
  text-decoration:none!important;
  box-shadow:0 18px 36px rgba(255,23,79,.24)!important;
  transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease!important;
}

.wowoo-cf-checkout-app #place_order{
  width:100%!important;
  min-height:52px!important;
  margin:18px 0 0!important;
  padding:15px 18px!important;
  font-size:14px!important;
  line-height:1.1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.wowoo-cf-checkout-app #place_order:hover,
.wowoo-cf-checkout-app button.button:hover,
.wowoo-cf-checkout-app a.button:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 22px 42px rgba(255,23,79,.28)!important;
  opacity:.98!important;
}

/* Trust badges */
.wowoo-cf-checkout-app .wowoo-cf-sidebar-trust{
  padding:0 20px 22px!important;
}

.wowoo-cf-checkout-app .wowoo-cf-trust-badges{
  display:grid!important;
  gap:9px!important;
  margin:0!important;
  padding:0!important;
}

.wowoo-cf-checkout-app .wowoo-cf-trust-badge{
  min-height:40px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 13px!important;
  border-radius:13px!important;
  background:#fff!important;
  border:1px solid var(--wowoo-cf-border)!important;
  color:var(--wowoo-cf-text)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
  box-shadow:none!important;
}

.wowoo-cf-checkout-app .wowoo-cf-trust-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:rgba(255,23,79,.08)!important;
  color:var(--wowoo-cf-primary)!important;
  font-size:11px!important;
  font-weight:950!important;
  flex:0 0 18px!important;
}

.wowoo-cf-empty-cart,
.wowoo-cf-notice{
  max-width:720px;
  margin:24px auto!important;
  padding:28px!important;
  text-align:center!important;
}

/* Component widgets */
.wowoo-cf-component-app{
  max-width:100%;
}

.wowoo-cf-component{
  padding:22px!important;
}

.wowoo-cf-component-title{
  margin:0 0 16px!important;
  color:var(--wowoo-cf-dark)!important;
  font-size:18px!important;
  font-weight:950!important;
}

/* Template variants */
.wowoo-cf-template-premium-dark{
  --wowoo-cf-bg:#050505;
  --wowoo-cf-card:#111216;
  --wowoo-cf-text:#f8fafc;
  --wowoo-cf-muted:#b6becb;
  --wowoo-cf-border:rgba(255,255,255,.10);
  --wowoo-cf-shadow:0 28px 80px rgba(0,0,0,.35);
}

body.wowoo-cf-template-premium-dark .wowoo-cf-canvas{
  background:#050505!important;
}

.wowoo-cf-template-premium-dark .wowoo-cf-card,
.wowoo-cf-template-premium-dark .wowoo-cf-customer-card,
.wowoo-cf-template-premium-dark .wowoo-cf-review-card,
.wowoo-cf-template-premium-dark .woocommerce-form-coupon-toggle .woocommerce-info,
.wowoo-cf-template-premium-dark .wowoo-cf-offer-card,
.wowoo-cf-template-premium-dark .wowoo-cf-trust-badge{
  background:#111216!important;
}

.wowoo-cf-template-premium-dark input.input-text,
.wowoo-cf-template-premium-dark input[type="text"],
.wowoo-cf-template-premium-dark input[type="tel"],
.wowoo-cf-template-premium-dark input[type="email"],
.wowoo-cf-template-premium-dark textarea,
.wowoo-cf-template-premium-dark select,
.wowoo-cf-template-premium-dark .select2-container .select2-selection--single,
.wowoo-cf-template-premium-dark #payment ul.payment_methods{
  background:#171820!important;
  color:#fff!important;
  border-color:rgba(255,255,255,.12)!important;
}

.wowoo-cf-template-premium-dark .wowoo-cf-review-card>h3,
.wowoo-cf-template-premium-dark .wowoo-cf-review-card>#order_review_heading,
.wowoo-cf-template-premium-dark #payment div.payment_box{
  background:rgba(255,255,255,.045)!important;
}

/* Elementor wrapper compatibility */
.elementor-widget-wowoo_checkout_form,
.elementor-widget-wowoo-checkout-form,
.wowoo-demo-checkout-form-widget,
.elementor-widget-wowoo_order_summary,
.elementor-widget-wowoo_coupon_box,
.elementor-widget-wowoo_trust_badges{
  width:100%!important;
  max-width:100%!important;
}

.elementor-widget-wowoo_checkout_form .wowoo-cf-checkout-app,
.elementor-widget-wowoo-checkout-form .wowoo-cf-checkout-app,
.wowoo-demo-checkout-form-widget .wowoo-cf-checkout-app{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

@media (max-width:1180px){
  .wowoo-cf-checkout-app{
    --wowoo-cf-page-w:1040px;
    --wowoo-cf-side-w:360px;
    --wowoo-cf-gap:28px;
  }
}

@media (max-width:980px){
  .wowoo-cf-checkout-app{
    --wowoo-cf-page-w:760px;
    --wowoo-cf-side-w:100%;
    --wowoo-cf-gap:22px;
  }
  .wowoo-cf-checkout-app form.checkout,
  .wowoo-cf-checkout-app form.woocommerce-checkout{
    grid-template-columns:1fr!important;
    width:min(760px,calc(100vw - 28px))!important;
    max-width:min(760px,calc(100vw - 28px))!important;
  }
  .wowoo-cf-checkout-app form.checkout>.wowoo-cf-customer-card,
  .wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-customer-card,
  .wowoo-cf-checkout-app form.checkout>.wowoo-cf-review-card,
  .wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-review-card{
    grid-column:1!important;
    width:100%!important;
    max-width:100%!important;
    position:static!important;
  }
  .wowoo-cf-checkout-app .woocommerce-form-coupon-toggle,
  .wowoo-cf-checkout-app .wowoo-cf-coupon-card{
    width:min(760px,calc(100vw - 28px))!important;
    margin-bottom:24px!important;
  }
}

@media (max-width:560px){
  .wowoo-cf-canvas{
    padding:20px 8px 34px;
    background:#f7f9fc;
  }
  .wowoo-cf-canvas-header{margin:10px auto 22px;}
  .wowoo-cf-canvas-header h1{font-size:32px;}
  .wowoo-cf-checkout-app form.checkout,
  .wowoo-cf-checkout-app form.woocommerce-checkout,
  .wowoo-cf-checkout-app .woocommerce-form-coupon-toggle,
  .wowoo-cf-checkout-app .wowoo-cf-coupon-card{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
  }
  .wowoo-cf-checkout-app form.checkout>.wowoo-cf-customer-card,
  .wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-customer-card{
    padding:24px 18px 28px!important;
    border-radius:22px!important;
  }
  .wowoo-cf-checkout-app form.checkout>.wowoo-cf-review-card,
  .wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-review-card{
    border-radius:22px!important;
  }
  .wowoo-cf-checkout-app .woocommerce-billing-fields__field-wrapper,
  .wowoo-cf-checkout-app .woocommerce-shipping-fields__field-wrapper,
  .wowoo-cf-checkout-app .woocommerce-additional-fields__field-wrapper{
    grid-template-columns:1fr!important;
    gap:15px!important;
  }
  .wowoo-cf-checkout-app .form-row-first,
  .wowoo-cf-checkout-app .form-row-last,
  .wowoo-cf-checkout-app .wowoo-field-half,
  .wowoo-cf-checkout-app #billing_first_name_field,
  .wowoo-cf-checkout-app #billing_last_name_field{
    grid-column:1/-1!important;
  }
  .wowoo-cf-checkout-app .woocommerce-form-coupon-toggle .woocommerce-info,
  .wowoo-cf-checkout-app .woocommerce-info{
    min-height:56px;
    padding:0 18px!important;
    font-size:13px!important;
  }
  .wowoo-cf-checkout-app form.checkout_coupon .form-row-first,
  .wowoo-cf-checkout-app form.woocommerce-form-coupon .form-row-first,
  .wowoo-cf-checkout-app form.checkout_coupon .form-row-last,
  .wowoo-cf-checkout-app form.woocommerce-form-coupon .form-row-last{
    width:100%!important;
    display:block!important;
    margin:0 0 10px!important;
  }
  .wowoo-cf-checkout-app .wowoo-cf-sidebar-top,
  .wowoo-cf-checkout-app .wowoo-cf-review-card #order_review,
  .wowoo-cf-checkout-app .wowoo-cf-review-card .woocommerce-checkout-review-order,
  .wowoo-cf-checkout-app .wowoo-cf-sidebar-trust{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .wowoo-cf-checkout-app .wowoo-cf-offer-card{
    margin-left:-18px!important;
    margin-right:-18px!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .wowoo-cf-checkout-app .wowoo-cf-offer-line,
  .wowoo-cf-checkout-app .wowoo-cf-bump-body{
    grid-template-columns:52px minmax(0,1fr)!important;
  }
  .wowoo-cf-checkout-app .wowoo-cf-offer-price,
  .wowoo-cf-checkout-app .wowoo-cf-bump-price{
    grid-column:2!important;
    justify-self:start!important;
    margin-top:4px!important;
  }
}

/* Step 10.9.2 — Screenshot audit hard reset
   Fixes activation title grid break, custom IPTV field interleaving, sidebar compression,
   and tablet/mobile overflow while staying scoped to Wowoo checkout only. */
.wowoo-cf-checkout-app{
  --wowoo-cf-page-w:1220px;
  --wowoo-cf-side-w:390px;
  --wowoo-cf-gap:34px;
}

.wowoo-cf-checkout-app .wowoo-cf-shell,
.wowoo-cf-checkout-app .wowoo-cf-main{
  overflow:visible!important;
}

.wowoo-cf-checkout-app form.checkout,
.wowoo-cf-checkout-app form.woocommerce-checkout{
  grid-template-columns:minmax(0,1fr) minmax(360px,var(--wowoo-cf-side-w))!important;
  gap:var(--wowoo-cf-gap)!important;
  align-items:start!important;
}

.wowoo-cf-checkout-app form.checkout>.wowoo-cf-customer-card,
.wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-customer-card{
  padding:32px 34px 36px!important;
  overflow:visible!important;
}

/* Keep WooCommerce billing rows in a stable visual order even if saved priorities were old. */
.wowoo-cf-checkout-app #billing_first_name_field{order:10!important;}
.wowoo-cf-checkout-app #billing_last_name_field{order:20!important;}
.wowoo-cf-checkout-app #billing_company_field{order:30!important;}
.wowoo-cf-checkout-app #billing_country_field{order:40!important;}
.wowoo-cf-checkout-app #billing_address_1_field{order:50!important;}
.wowoo-cf-checkout-app #billing_address_2_field{order:60!important;}
.wowoo-cf-checkout-app #billing_postcode_field{order:70!important;}
.wowoo-cf-checkout-app #billing_city_field{order:80!important;}
.wowoo-cf-checkout-app #billing_state_field{order:85!important;}
.wowoo-cf-checkout-app #billing_phone_field{order:90!important;}
.wowoo-cf-checkout-app #billing_email_field{order:100!important;}

/* Activation heading is injected inside WooCommerce billing grid; it must span full width. */
.wowoo-cf-checkout-app .woocommerce-billing-fields__field-wrapper>.wowoo-activation-details-title,
.wowoo-cf-checkout-app .wowoo-activation-details-title{
  grid-column:1/-1!important;
  order:120!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:10px 0 0!important;
  padding:26px 0 0!important;
  border-top:1px solid var(--wowoo-cf-border)!important;
  clear:both!important;
}

.wowoo-cf-checkout-app .wowoo-activation-details-title span{
  display:flex!important;
  width:100%!important;
  white-space:normal!important;
}

.wowoo-cf-checkout-app .wowoo-activation-details-title em{
  display:block!important;
  max-width:620px!important;
  margin:8px 0 2px!important;
  white-space:normal!important;
}

.wowoo-cf-checkout-app .woocommerce-billing-fields__field-wrapper>.wowoo-activation-field,
.wowoo-cf-checkout-app .woocommerce-billing-fields__field-wrapper>[id^="wowoo_custom_"]{
  grid-column:1/-1!important;
  order:130!important;
}
.wowoo-cf-checkout-app #wowoo_custom_device_type_field{order:131!important;}
.wowoo-cf-checkout-app #wowoo_custom_mac_address_field{order:132!important;}
.wowoo-cf-checkout-app #wowoo_custom_iptv_app_field{order:133!important;}
.wowoo-cf-checkout-app #wowoo_custom_whatsapp_number_field{order:134!important;}
.wowoo-cf-checkout-app #wowoo_custom_activation_note_field{order:135!important;}

/* Native additional information should stay below the customer/activation block, not inside it visually. */
.wowoo-cf-checkout-app .woocommerce-additional-fields{
  order:200!important;
  margin-top:30px!important;
  padding-top:26px!important;
}

.wowoo-cf-checkout-app .woocommerce-additional-fields__field-wrapper>#order_comments_field{
  grid-column:1/-1!important;
}

/* Better field density/readability. */
.wowoo-cf-checkout-app .woocommerce-billing-fields__field-wrapper,
.wowoo-cf-checkout-app .woocommerce-shipping-fields__field-wrapper,
.wowoo-cf-checkout-app .woocommerce-additional-fields__field-wrapper{
  gap:17px 20px!important;
}

.wowoo-cf-checkout-app .form-row label{
  white-space:normal!important;
}

.wowoo-cf-checkout-app input.input-text,
.wowoo-cf-checkout-app input[type="text"],
.wowoo-cf-checkout-app input[type="tel"],
.wowoo-cf-checkout-app input[type="email"],
.wowoo-cf-checkout-app input[type="number"],
.wowoo-cf-checkout-app textarea,
.wowoo-cf-checkout-app select,
.wowoo-cf-checkout-app .select2-container .select2-selection--single,
.wowoo-cf-checkout-app .select2-container--default .select2-selection--single{
  min-height:50px!important;
  border-radius:15px!important;
}

/* Sidebar: keep cards compact but readable; no crushed payment box. */
.wowoo-cf-checkout-app form.checkout>.wowoo-cf-review-card,
.wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-review-card{
  max-width:var(--wowoo-cf-side-w)!important;
  overflow:hidden!important;
}

.wowoo-cf-checkout-app .wowoo-cf-review-card>h3,
.wowoo-cf-checkout-app .wowoo-cf-review-card>#order_review_heading{
  padding:24px 24px 17px!important;
}

.wowoo-cf-checkout-app .wowoo-cf-sidebar-top,
.wowoo-cf-checkout-app .wowoo-cf-review-card #order_review,
.wowoo-cf-checkout-app .wowoo-cf-review-card .woocommerce-checkout-review-order,
.wowoo-cf-checkout-app .wowoo-cf-sidebar-trust{
  padding-left:24px!important;
  padding-right:24px!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-card{
  margin-left:-24px!important;
  margin-right:-24px!important;
  padding-left:24px!important;
  padding-right:24px!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-line,
.wowoo-cf-checkout-app .wowoo-cf-bump-body{
  grid-template-columns:52px minmax(0,1fr) auto!important;
}

.wowoo-cf-checkout-app .wowoo-cf-offer-price,
.wowoo-cf-checkout-app .wowoo-cf-bump-price{
  justify-self:end!important;
  align-self:center!important;
}

.wowoo-cf-checkout-app .wowoo-cf-order-bump{
  padding:16px!important;
  margin:0 0 2px!important;
}

.wowoo-cf-checkout-app #payment ul.payment_methods,
.wowoo-cf-checkout-app .woocommerce-checkout-payment ul.payment_methods{
  padding:16px!important;
  border-radius:18px!important;
}

.wowoo-cf-checkout-app #payment div.payment_box,
.wowoo-cf-checkout-app .woocommerce-checkout-payment div.payment_box{
  font-size:12px!important;
  line-height:1.62!important;
  padding:15px!important;
  overflow:visible!important;
}

/* Prevent long product/gateway text from breaking the sidebar. */
.wowoo-cf-checkout-app .wowoo-cf-offer-meta strong,
.wowoo-cf-checkout-app .wowoo-cf-offer-meta span,
.wowoo-cf-checkout-app .wowoo-cf-bump-copy strong,
.wowoo-cf-checkout-app .wowoo-cf-bump-copy p,
.wowoo-cf-checkout-app #payment,
.wowoo-cf-checkout-app #payment *{
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

@media (max-width:1180px){
  .wowoo-cf-checkout-app{
    --wowoo-cf-page-w:1080px;
    --wowoo-cf-side-w:370px;
    --wowoo-cf-gap:28px;
  }
}

@media (max-width:980px){
  .wowoo-cf-checkout-app{
    --wowoo-cf-page-w:760px;
    --wowoo-cf-side-w:100%;
    --wowoo-cf-gap:22px;
  }
  .wowoo-cf-checkout-app form.checkout,
  .wowoo-cf-checkout-app form.woocommerce-checkout{
    grid-template-columns:1fr!important;
    width:min(760px,calc(100vw - 28px))!important;
    max-width:min(760px,calc(100vw - 28px))!important;
  }
  .wowoo-cf-checkout-app form.checkout>.wowoo-cf-review-card,
  .wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-review-card{
    max-width:100%!important;
    position:static!important;
  }
}

@media (max-width:560px){
  .wowoo-cf-checkout-app form.checkout>.wowoo-cf-customer-card,
  .wowoo-cf-checkout-app form.woocommerce-checkout>.wowoo-cf-customer-card{
    padding:24px 18px 28px!important;
    overflow:hidden!important;
  }
  .wowoo-cf-checkout-app .woocommerce-billing-fields__field-wrapper>.wowoo-activation-details-title,
  .wowoo-cf-checkout-app .wowoo-activation-details-title{
    padding-top:22px!important;
  }
  .wowoo-cf-checkout-app .wowoo-cf-sidebar-top,
  .wowoo-cf-checkout-app .wowoo-cf-review-card #order_review,
  .wowoo-cf-checkout-app .wowoo-cf-review-card .woocommerce-checkout-review-order,
  .wowoo-cf-checkout-app .wowoo-cf-sidebar-trust{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}
