/* FitnessNaWynos Signature — Cart */
.fnwl-cart-signature{--cart-border:#e7e7eb;--cart-soft:#f7f8fa;--cart-pink:#dc0b5c;--cart-ink:#17181d;--cart-green:#148458;background:#fff;color:var(--cart-ink)}
.fnwl-cart-signature .fnwl-cart.is-current{position:relative;background:#fff2f7;border-color:#ffc7dc;color:var(--cart-pink)}
.fnwl-cart-signature .fnwl-cart.is-current b{position:absolute;right:-7px;top:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--cart-pink);color:#fff;font-size:11px;line-height:20px;text-align:center}
.fnwl-cart-hero{padding:64px 0 34px;background:linear-gradient(135deg,#fff 0%,#fff 45%,#fff4f8 100%);border-bottom:1px solid #f0e7eb}
.fnwl-cart-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:70px;align-items:end}
.fnwl-cart-hero h1{font-size:clamp(42px,5vw,72px);line-height:.96;letter-spacing:-.055em;margin:15px 0 22px;max-width:820px}
.fnwl-cart-hero h1 span{color:var(--cart-pink)}
.fnwl-cart-hero p:not(.fnwl-eyebrow){font-size:17px;line-height:1.65;color:#60616a;max-width:700px;margin:0}
.fnwl-cart-steps{display:grid;grid-template-columns:1fr 40px 1fr 40px 1fr;align-items:center;padding:24px;border:1px solid #f0dce5;border-radius:24px;background:rgba(255,255,255,.84);box-shadow:0 18px 50px rgba(50,20,32,.06)}
.fnwl-cart-steps>div{text-align:center}.fnwl-cart-steps>div span{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 9px;border-radius:50%;background:#f0f0f2;font-weight:800}.fnwl-cart-steps>div.is-current span{background:var(--cart-pink);color:#fff}.fnwl-cart-steps b{display:block;font-size:14px}.fnwl-cart-steps small{display:block;margin-top:3px;color:#8a8b92;font-size:11px}.fnwl-cart-steps>i{height:1px;background:#ddd;position:relative}.fnwl-cart-steps>i:after{content:"";position:absolute;right:0;top:-3px;border-width:4px 0 4px 5px;border-style:solid;border-color:transparent transparent transparent #ddd}
.fnwl-cart-note{background:#17181d;color:#fff}.fnwl-cart-note>.fnwl-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:30px}.fnwl-cart-note .fnwl-wrap>div{display:flex;align-items:center;gap:14px}.fnwl-cart-note .fnwl-icon{width:26px;height:26px;color:#ff4e91;flex:0 0 auto}.fnwl-cart-note p{margin:0;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.fnwl-cart-note strong{font-size:14px}.fnwl-cart-note span{color:#c8c9cd;font-size:13px}.fnwl-cart-note a{color:#fff;text-decoration:none;font-weight:750;font-size:13px;display:flex;align-items:center;gap:8px;white-space:nowrap}.fnwl-cart-note a .fnwl-icon{width:16px;height:16px;color:inherit}
.fnwl-cart-content{padding-top:42px;padding-bottom:34px}.fnwl-cart-shell>.woocommerce{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);gap:34px;align-items:start}.fnwl-cart-shell>.woocommerce>*{min-width:0}.fnwl-cart-shell .woocommerce-notices-wrapper,.fnwl-cart-shell .woocommerce-message,.fnwl-cart-shell .woocommerce-error,.fnwl-cart-shell .woocommerce-info{grid-column:1/-1}
.fnwl-cart-shell .woocommerce-cart-form{grid-column:1}.fnwl-cart-shell .cart-collaterals{grid-column:2;grid-row:1 / span 3}.fnwl-cart-shell .cross-sells{display:none!important}
.fnwl-cart-shell table.shop_table{border:1px solid var(--cart-border)!important;border-radius:22px!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden;background:#fff;margin:0!important;box-shadow:0 18px 54px rgba(21,22,29,.055)}
.fnwl-cart-shell table.shop_table thead th{background:#f8f8fa!important;color:#74757d!important;font-size:11px!important;letter-spacing:.09em!important;text-transform:uppercase!important;font-weight:800!important;padding:15px 14px!important;border:0!important;border-bottom:1px solid var(--cart-border)!important}
.fnwl-cart-shell table.shop_table td{padding:18px 14px!important;border:0!important;border-bottom:1px solid #eeeef1!important;vertical-align:middle!important}.fnwl-cart-shell table.shop_table tr:last-child td{border-bottom:0!important}
.fnwl-cart-shell td.product-thumbnail{width:118px}.fnwl-cart-shell td.product-thumbnail img{width:92px!important;height:92px!important;object-fit:contain;background:#fbfbfc;border:1px solid #ececf0;border-radius:15px;padding:8px}
.fnwl-cart-shell td.product-name a{font-size:16px;font-weight:850;color:#1b1c21;text-decoration:none;line-height:1.25}.fnwl-cart-shell td.product-name a:hover{color:var(--cart-pink)}
.fnwl-cart-shell td.product-name dl.variation{margin:8px 0 0!important;display:grid;grid-template-columns:auto 1fr;gap:3px 8px;color:#777}.fnwl-cart-shell td.product-name dl.variation dt,.fnwl-cart-shell td.product-name dl.variation dd{font-size:12px!important;margin:0!important;padding:0!important}.fnwl-cart-shell td.product-name dl.variation p{margin:0!important}
.fnwl-cart-shell td.product-price,.fnwl-cart-shell td.product-subtotal{font-weight:800;white-space:nowrap;color:#23242a}.fnwl-cart-shell td.product-subtotal{color:var(--cart-pink)}
.fnwl-cart-shell td.product-remove{width:40px}.fnwl-cart-shell a.remove{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border:1px solid #e4e4e8!important;border-radius:50%!important;color:#7b7c83!important;font-size:0!important;text-decoration:none!important;background:#fff!important}.fnwl-cart-shell a.remove:after{content:"×";font-size:21px;line-height:1}.fnwl-cart-shell a.remove:hover{background:#fff1f5!important;border-color:#ffbad2!important;color:var(--cart-pink)!important}
.fnwl-cart-shell .quantity{display:inline-flex!important;align-items:center;border:1px solid #dedee3;border-radius:12px;overflow:hidden;background:#fff;height:44px}.fnwl-cart-shell .quantity input.qty{width:46px!important;height:42px!important;border:0!important;border-radius:0!important;text-align:center!important;font-weight:800!important;box-shadow:none!important;background:#fff!important;padding:0!important}.fnwl-cart-shell .fnwl-cart-qty-btn{width:38px;height:42px;border:0;background:#f7f7f9;color:#26272c;font-size:20px;cursor:pointer}.fnwl-cart-shell .fnwl-cart-qty-btn:hover{background:#ffeaf2;color:var(--cart-pink)}
.fnwl-cart-shell .actions{padding:18px!important;background:#fcfcfd}.fnwl-cart-shell .actions .coupon{display:flex!important;gap:8px!important}.fnwl-cart-shell .coupon input.input-text{min-width:190px!important;height:46px!important;border:1px solid #dedee3!important;border-radius:12px!important;padding:0 14px!important;box-shadow:none!important}.fnwl-cart-shell .button{min-height:46px!important;border-radius:12px!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important;padding:0 18px!important;background:#1b1c21!important;color:#fff!important;border:0!important;box-shadow:none!important}.fnwl-cart-shell .button:hover{background:#000!important;color:#fff!important}.fnwl-cart-shell button[name="apply_coupon"]{background:#fff!important;color:#1b1c21!important;border:1px solid #dcdce1!important}.fnwl-cart-shell button[name="update_cart"]{float:right!important}
.fnwl-cart-shell .cart_totals{width:100%!important;float:none!important;padding:24px;border:1px solid var(--cart-border);border-radius:22px;background:#fff;box-shadow:0 18px 54px rgba(21,22,29,.07);position:sticky;top:100px}.fnwl-cart-shell .cart_totals h2{font-size:24px;margin:0 0 17px;letter-spacing:-.03em}.fnwl-cart-shell .cart_totals table{border:0!important;border-radius:0!important;box-shadow:none!important}.fnwl-cart-shell .cart_totals table th,.fnwl-cart-shell .cart_totals table td{padding:12px 0!important;border:0!important;border-bottom:1px solid #eee!important;background:none!important;font-size:14px!important}.fnwl-cart-shell .cart_totals table th{font-weight:650!important;color:#686970}.fnwl-cart-shell .cart_totals table td{text-align:right!important;font-weight:800!important}.fnwl-cart-shell .cart_totals .order-total th,.fnwl-cart-shell .cart_totals .order-total td{font-size:17px!important;padding-top:17px!important;border-bottom:0!important}.fnwl-cart-shell .cart_totals .order-total td{color:var(--cart-pink);font-size:22px!important}.fnwl-cart-shell .wc-proceed-to-checkout{padding:16px 0 0!important;margin:0!important}.fnwl-cart-shell .wc-proceed-to-checkout a.checkout-button{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;min-height:56px!important;margin:0!important;border-radius:14px!important;background:var(--cart-pink)!important;color:#fff!important;font-size:15px!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:.02em!important;padding:0 18px!important}.fnwl-cart-shell .wc-proceed-to-checkout a.checkout-button:hover{background:#bf074e!important}
.fnwl-cart-shell .woocommerce-shipping-methods{margin:0!important;list-style:none!important;padding:0!important}.fnwl-cart-shell .woocommerce-shipping-destination,.fnwl-cart-shell .woocommerce-shipping-calculator{font-size:12px;color:#777}.fnwl-cart-shell .shipping-calculator-button{color:var(--cart-pink);font-weight:700}
.fnwl-cart-shell .woocommerce-info,.fnwl-cart-shell .woocommerce-message{border:1px solid #dfece7!important;border-radius:15px!important;background:#f4fbf8!important;padding:16px 18px!important;color:#2a5e49!important}.fnwl-cart-shell .woocommerce-error{border:1px solid #f2c8d8!important;border-radius:15px!important;background:#fff5f8!important;padding:16px 18px 16px 46px!important}
.fnwl-cart-shell .cart-empty.woocommerce-info{grid-column:1/-1!important;text-align:center!important;padding:54px 20px!important;background:#fbfbfc!important;border:1px solid var(--cart-border)!important;color:#56575e!important}.fnwl-cart-shell .return-to-shop{grid-column:1/-1;text-align:center}.fnwl-cart-shell .return-to-shop .button{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:240px!important}
.fnwl-cart-reassurance{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:12px;padding-bottom:70px}.fnwl-cart-reassurance>div{border:1px solid var(--cart-border);border-radius:18px;padding:21px;background:#fff}.fnwl-cart-reassurance span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff0f5;color:var(--cart-pink);margin-bottom:16px}.fnwl-cart-reassurance .fnwl-icon{width:21px;height:21px}.fnwl-cart-reassurance strong{display:block;font-size:14px;margin-bottom:6px}.fnwl-cart-reassurance p{font-size:12px;line-height:1.55;color:#777;margin:0}
.fnwl-cart-help{margin-bottom:70px;padding:34px 38px;border-radius:26px;background:#17181d;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px}.fnwl-cart-help h2{font-size:clamp(26px,3vw,42px);line-height:1.04;letter-spacing:-.045em;max-width:760px;margin:8px 0 0}.fnwl-cart-help .fnwl-eyebrow{color:#ff5b99}.fnwl-cart-help .fnwl-actions{margin:0;flex:0 0 auto}.fnwl-cart-help .fnwl-btn-outline{border-color:#484951!important;color:#fff!important;background:transparent!important}
.fnwl-cart-mobile-bar{display:none}
@media(max-width:1050px){.fnwl-cart-hero-grid{grid-template-columns:1fr;gap:34px}.fnwl-cart-steps{max-width:620px}.fnwl-cart-shell>.woocommerce{grid-template-columns:1fr}.fnwl-cart-shell .woocommerce-cart-form,.fnwl-cart-shell .cart-collaterals{grid-column:1;grid-row:auto}.fnwl-cart-shell .cart_totals{position:static}.fnwl-cart-reassurance{grid-template-columns:repeat(2,1fr)}.fnwl-cart-help{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){body.fnwl-cart-page{padding-bottom:88px}.fnwl-cart-hero{padding:34px 0 26px}.fnwl-cart-hero h1{font-size:42px}.fnwl-cart-hero p:not(.fnwl-eyebrow){font-size:15px}.fnwl-cart-steps{grid-template-columns:1fr 22px 1fr 22px 1fr;padding:16px 10px;border-radius:18px}.fnwl-cart-steps>div span{width:30px;height:30px;font-size:12px}.fnwl-cart-steps b{font-size:12px}.fnwl-cart-steps small{display:none}.fnwl-cart-note>.fnwl-wrap{padding-top:14px;padding-bottom:14px;align-items:flex-start}.fnwl-cart-note p{display:block}.fnwl-cart-note span{display:block;margin-top:3px}.fnwl-cart-note a{display:none}.fnwl-cart-content{padding-top:22px;padding-bottom:24px}.fnwl-cart-shell table.shop_table{display:block;border-radius:18px!important}.fnwl-cart-shell table.shop_table thead{display:none}.fnwl-cart-shell table.shop_table tbody,.fnwl-cart-shell table.shop_table tr,.fnwl-cart-shell table.shop_table td{display:block;width:100%!important}.fnwl-cart-shell table.shop_table tr.cart_item{position:relative;padding:16px 16px 18px 122px;border-bottom:1px solid #ececf0;min-height:138px}.fnwl-cart-shell table.shop_table tr.cart_item td{padding:0!important;border:0!important;text-align:left!important}.fnwl-cart-shell td.product-thumbnail{position:absolute;left:16px;top:16px;width:92px!important}.fnwl-cart-shell td.product-thumbnail:before,.fnwl-cart-shell td.product-name:before,.fnwl-cart-shell td.product-remove:before{display:none!important}.fnwl-cart-shell td.product-thumbnail img{width:90px!important;height:90px!important}.fnwl-cart-shell td.product-name{padding-right:28px!important}.fnwl-cart-shell td.product-name a{font-size:15px}.fnwl-cart-shell td.product-price,.fnwl-cart-shell td.product-quantity,.fnwl-cart-shell td.product-subtotal{display:flex!important;align-items:center;justify-content:space-between!important;margin-top:10px!important;font-size:13px}.fnwl-cart-shell td[data-title]:before{content:attr(data-title)!important;float:none!important;font-size:10px!important;letter-spacing:.06em;text-transform:uppercase;color:#8a8b91;font-weight:800}.fnwl-cart-shell td.product-remove{position:absolute;right:11px;top:11px;width:auto!important}.fnwl-cart-shell a.remove{width:30px!important;height:30px!important}.fnwl-cart-shell .actions{padding:16px!important}.fnwl-cart-shell .actions .coupon{float:none!important;width:100%!important;display:grid!important;grid-template-columns:1fr auto!important}.fnwl-cart-shell .coupon input.input-text{min-width:0!important;width:100%!important}.fnwl-cart-shell button[name="update_cart"]{float:none!important;width:100%!important;margin-top:10px!important}.fnwl-cart-shell .cart_totals{padding:20px;border-radius:18px}.fnwl-cart-shell .cart_totals h2{font-size:21px}.fnwl-cart-reassurance{grid-template-columns:1fr 1fr;gap:10px;padding-bottom:34px}.fnwl-cart-reassurance>div{padding:16px}.fnwl-cart-reassurance span{width:36px;height:36px;margin-bottom:11px}.fnwl-cart-help{padding:27px 22px;margin-bottom:30px;border-radius:20px}.fnwl-cart-help .fnwl-actions{width:100%;display:grid;grid-template-columns:1fr}.fnwl-cart-help .fnwl-btn{width:100%!important}.fnwl-cart-mobile-bar{position:fixed;z-index:9999;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #dedee4;padding:10px max(14px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;box-shadow:0 -12px 32px rgba(17,18,23,.1)}.fnwl-cart-mobile-bar>div small{display:block;font-size:9px;letter-spacing:.1em;color:#8a8b92;font-weight:800}.fnwl-cart-mobile-bar>div strong{display:block;font-size:18px}.fnwl-cart-mobile-bar>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border-radius:13px;background:var(--cart-pink);color:#fff!important;text-decoration:none!important;font-weight:900;font-size:14px}.fnwl-cart-mobile-bar>a .fnwl-icon{width:17px;height:17px}}
@media(max-width:430px){.fnwl-cart-hero h1{font-size:36px}.fnwl-cart-reassurance{grid-template-columns:1fr}.fnwl-cart-shell table.shop_table tr.cart_item{padding-left:108px}.fnwl-cart-shell td.product-thumbnail{width:78px!important}.fnwl-cart-shell td.product-thumbnail img{width:76px!important;height:76px!important}}

/* v1.9.1 — cart grid alignment hotfix
   WooCommerce outputs an empty notices wrapper before the cart form. In a CSS grid
   that wrapper occupied the first row while cart totals were forced into row 1,
   so the product form started underneath the full height of the totals card. */
.fnwl-cart-shell>.woocommerce{
  grid-template-areas:
    "notice notice"
    "items totals";
  grid-auto-rows:auto;
}
.fnwl-cart-shell>.woocommerce::before,
.fnwl-cart-shell>.woocommerce::after{content:none!important;display:none!important}
.fnwl-cart-shell .woocommerce-notices-wrapper{grid-area:notice!important;margin:0!important}
.fnwl-cart-shell .woocommerce-notices-wrapper:empty{display:none!important}
.fnwl-cart-shell .woocommerce-cart-form{
  grid-area:items!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  align-self:start!important;
}
.fnwl-cart-shell .cart-collaterals{
  grid-area:totals!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  align-self:start!important;
}
.fnwl-cart-shell .cart-collaterals::before,
.fnwl-cart-shell .cart-collaterals::after{content:none!important;display:none!important}
.fnwl-cart-shell .woocommerce-cart-form table.shop_table{margin-top:0!important}

@media(max-width:1050px){
  .fnwl-cart-shell>.woocommerce{
    grid-template-areas:
      "notice"
      "items"
      "totals";
  }
}

/* v1.9.2 — deterministic cart layout
   WooCommerce/theme markup can inject notices/clearfix elements around the form.
   JS now puts the real cart form + totals into one dedicated wrapper so both cards
   always share the same grid row instead of depending on WooCommerce child order. */
.fnwl-cart-shell > .woocommerce{
  display:block!important;
  width:100%!important;
  max-width:none!important;
}
.fnwl-cart-shell > .woocommerce > .fnwl-cart-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.62fr) minmax(300px,.72fr)!important;
  gap:32px!important;
  align-items:start!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.fnwl-cart-shell > .woocommerce > .fnwl-cart-grid > .woocommerce-cart-form,
.fnwl-cart-shell > .woocommerce > .fnwl-cart-grid > .cart-collaterals{
  grid-area:auto!important;
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  align-self:start!important;
}
.fnwl-cart-shell > .woocommerce > .fnwl-cart-grid > .cart-collaterals{
  position:relative!important;
}
.fnwl-cart-shell > .woocommerce > .fnwl-cart-grid .cart_totals{
  margin:0!important;
  width:100%!important;
}
.fnwl-cart-shell > .woocommerce > .woocommerce-notices-wrapper,
.fnwl-cart-shell > .woocommerce > .woocommerce-message,
.fnwl-cart-shell > .woocommerce > .woocommerce-error,
.fnwl-cart-shell > .woocommerce > .woocommerce-info{
  width:100%!important;
  margin:0 0 18px!important;
}
.fnwl-cart-shell > .woocommerce > .woocommerce-notices-wrapper:empty{display:none!important}

@media(max-width:1050px){
  .fnwl-cart-shell > .woocommerce > .fnwl-cart-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .fnwl-cart-shell > .woocommerce > .fnwl-cart-grid .cart_totals{position:static!important}
}
