/* ==========================================================================
   METAFLIGHT HUD - WOOCOMMERCE LAYER
   Load order: mf-hud-tokens.css, then this file.

   RULE FOR THIS ENTIRE FILE: CSS ONLY.
   Nothing here may rely on rebuilding WooCommerce markup. No form, field,
   nonce, button or payment element is ever replaced - we style what
   WooCommerce and Breakdance already output. If a change cannot be made in
   CSS, it does not get made.

   TARGETING: WooCommerce's own stable classes (.products, li.product,
   .woocommerce-loop-product__title, .price, .add_to_cart_button ...), NOT
   Breakdance's generated per-element classes (.bde-div-7344-105). Those
   carry template IDs and will change the moment the product card template
   is edited.

   STAGE 1 OF 6: STORE / PRODUCT ARCHIVE.
   Cart, My Account, Checkout and order-received are deliberately NOT styled
   yet - each is a separate, individually tested stage.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. PRIMITIVES
   Duplicated from the homepage layer on purpose: the two layers never load
   together, and a checkout page must not pull 30kB of scroll choreography.
   Values are identical - tokens above are the single source for colour.
   -------------------------------------------------------------------------- */
body.mf-woo{background:var(--mf-void);color:var(--mf-text);font-family:'Rajdhani',sans-serif;-webkit-font-smoothing:antialiased}
body.mf-woo h1,body.mf-woo h2,body.mf-woo h3,body.mf-woo .title{font-family:'Orbitron',sans-serif;text-transform:uppercase;letter-spacing:.03em;color:var(--mf-text)}
body.mf-woo p,body.mf-woo li{line-height:1.7}
body.mf-woo ::selection{background:var(--mf-cyan);color:var(--mf-void)}
body.mf-woo :focus-visible{outline:2px solid var(--mf-cyan);outline-offset:3px}

.mf-woo-ch{clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}

/* --------------------------------------------------------------------------
   2. ARCHIVE HEADER - result count and the sort dropdown
   -------------------------------------------------------------------------- */
body.mf-woo .woocommerce-result-count{
  font-family:var(--mf-mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mf-muted);margin:0;
}
body.mf-woo .woocommerce-ordering{margin:0}
body.mf-woo .bde-woo-select select,
body.mf-woo .woocommerce-ordering select{
  background:rgba(255,255,255,.04);
  color:var(--mf-text);
  border:1px solid var(--mf-hair);
  font-family:var(--mf-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.7rem 2.4rem .7rem 1rem;
  border-radius:0;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  transition:border-color .3s var(--mf-ease);
}
body.mf-woo .woocommerce-ordering select:hover,
body.mf-woo .woocommerce-ordering select:focus{border-color:var(--mf-cyan);outline:none}
body.mf-woo .woocommerce-ordering select option{background:#0B1524;color:var(--mf-text)}
body.mf-woo .bde-woo-select__arrow{border-color:var(--mf-cyan)}

/* --------------------------------------------------------------------------
   3. PRODUCT CARD -> HUD PANEL
   The frame is drawn with an inset box-shadow rather than the two-div
   padding trick used on the homepage: we cannot add a wrapper element here
   without touching markup, and inset shadow follows the clip-path edge.
   -------------------------------------------------------------------------- */
body.mf-woo ul.products{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1.5rem;
  list-style:none;margin:2.5rem 0 0;padding:0;
}
body.mf-woo ul.products::before,
body.mf-woo ul.products::after{content:none} /* kill the float clearfix Woo adds */

body.mf-woo ul.products li.product{
  position:relative;
  width:auto!important;margin:0!important;float:none!important;clear:none!important;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),var(--mf-scrim);
  backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);
  box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07),0 18px 50px rgba(0,0,0,.42);
  clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));
  transition:box-shadow .4s var(--mf-ease),transform .4s var(--mf-ease);
  overflow:hidden;
}
body.mf-woo ul.products li.product:hover{
  transform:translateY(-3px);
  box-shadow:inset 0 0 0 1px rgba(0,212,255,.45),inset 0 1px 0 rgba(255,255,255,.1),0 26px 64px rgba(0,0,0,.5),0 0 46px rgba(0,212,255,.07);
}

/* corner brackets, pseudo-elements only - no markup added */
body.mf-woo ul.products li.product::before,
body.mf-woo ul.products li.product::after{
  content:'';position:absolute;width:13px;height:13px;z-index:3;pointer-events:none;
  transition:width .4s var(--mf-ease),height .4s var(--mf-ease);
}
body.mf-woo ul.products li.product::before{top:8px;right:8px;border-top:1px solid var(--mf-cyan-lit);border-right:1px solid var(--mf-cyan-lit)}
body.mf-woo ul.products li.product::after{bottom:8px;left:8px;border-bottom:1px solid var(--mf-cyan-lit);border-left:1px solid var(--mf-cyan-lit)}
body.mf-woo ul.products li.product:hover::before,
body.mf-woo ul.products li.product:hover::after{width:24px;height:24px}

/* the whole-card link wrapper Woo/Breakdance emits */
body.mf-woo li.product .woocommerce-loop-product__link{display:block;text-decoration:none;color:inherit}

/* --------------------------------------------------------------------------
   4. CARD MEDIA
   -------------------------------------------------------------------------- */
body.mf-woo li.product .breakdance-image-clip,
body.mf-woo li.product .custom-area-1{position:relative;overflow:hidden}
body.mf-woo li.product img{
  display:block;width:100%;height:auto;
  filter:saturate(.9) contrast(1.03);
  transition:transform .8s var(--mf-ease),filter .5s var(--mf-ease);
}
body.mf-woo li.product:hover img{transform:scale(1.05);filter:saturate(1) contrast(1.06)}

/* scanline veil over the media, consistent with the homepage panels */
body.mf-woo li.product .custom-area-1::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,transparent 55%,rgba(8,10,14,.72) 100%),
             repeating-linear-gradient(0deg,rgba(0,212,255,.04) 0 1px,transparent 1px 4px);
}

/* --------------------------------------------------------------------------
   5. CARD BODY - stock chip, price, title
   -------------------------------------------------------------------------- */
body.mf-woo li.product .custom-area-2{padding:1.15rem 1.2rem .4rem}

/* "in stock" row */
body.mf-woo li.product .custom-area-2 .sx-icon{color:var(--mf-cyan)}
body.mf-woo li.product .custom-area-2 .bde-text{
  font-family:var(--mf-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mf-muted);
}

/* price - Orbitron, cyan, the loudest thing in the card after the title */
body.mf-woo li.product .price,
body.mf-woo li.product .bde-code-block{
  font-family:'Orbitron',sans-serif;font-weight:700;
  color:var(--mf-cyan);font-size:1.18rem;letter-spacing:.01em;line-height:1.2;
}
/* Sale: keep BOTH prices visible. The struck-through original and any
   "lowest price in 30 days" notice are legally required under the EU
   Omnibus Directive - never hide del/ins or the surrounding notice. */
body.mf-woo li.product .price del{color:var(--mf-muted);font-size:.8em;font-weight:400;opacity:.75;margin-right:.5rem}
body.mf-woo li.product .price ins{text-decoration:none;color:var(--mf-cyan)}
body.mf-woo li.product .price small,
body.mf-woo li.product .price .subscription-details{
  display:block;font-family:var(--mf-mono);font-size:.58rem;font-weight:400;
  letter-spacing:.12em;text-transform:uppercase;color:var(--mf-muted);margin-top:.3rem;
}

body.mf-woo li.product .woocommerce-loop-product__title{
  font-family:'Orbitron',sans-serif;font-weight:700;text-transform:uppercase;
  font-size:.94rem;letter-spacing:.045em;line-height:1.3;
  color:var(--mf-text);
  padding:.2rem 1.2rem .7rem;margin:0;
}
body.mf-woo li.product:hover .woocommerce-loop-product__title{color:var(--mf-cyan-lit)}

body.mf-woo li.product .woocommerce-product-details__short-description{
  padding:0 1.2rem .9rem;font-size:.9rem;color:var(--mf-muted);
}
body.mf-woo li.product .woocommerce-product-details__short-description p:last-child{margin-bottom:0}

/* --------------------------------------------------------------------------
   6. CARD FOOTER - quantity stepper + add to cart
   The button keeps every WooCommerce class and data attribute; only its
   appearance changes. AJAX add-to-cart continues to work untouched.
   -------------------------------------------------------------------------- */
body.mf-woo .bde-woo-product-footer{
  margin-top:auto;
  display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;
  padding:.9rem 1.2rem 1.2rem;
  border-top:1px solid var(--mf-hair);
}
body.mf-woo .bde-quantity-button,
body.mf-woo .quantity input.qty{
  background:rgba(255,255,255,.04);
  color:var(--mf-text);
  border:1px solid var(--mf-hair);
  font-family:var(--mf-mono);font-size:.75rem;
  border-radius:0;
  transition:border-color .25s var(--mf-ease),color .25s var(--mf-ease);
}
body.mf-woo .bde-quantity-button:hover{border-color:var(--mf-cyan);color:var(--mf-cyan)}
body.mf-woo .quantity input.qty{text-align:center}
/* Hide the number spinners - visual only, the input still accepts typing */
body.mf-woo .quantity input.qty::-webkit-outer-spin-button,
body.mf-woo .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.mf-woo .quantity input.qty{-moz-appearance:textfield}

body.mf-woo li.product .button,
body.mf-woo li.product .add_to_cart_button{
  flex:1 1 auto;
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:var(--mf-cyan);color:#04121C;
  font-family:var(--mf-mono);font-weight:600;font-size:.68rem;
  text-transform:uppercase;letter-spacing:.15em;
  padding:.85rem 1.2rem;border:none;border-radius:0;
  clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);
  transition:background .3s var(--mf-ease),box-shadow .3s var(--mf-ease);
}
body.mf-woo li.product .button:hover,
body.mf-woo li.product .add_to_cart_button:hover{
  background:var(--mf-cyan-lit);box-shadow:0 0 30px rgba(0,212,255,.4);color:#04121C;
}
/* AJAX states Woo toggles on the button */
body.mf-woo li.product .add_to_cart_button.loading{opacity:.65;pointer-events:none}
body.mf-woo li.product .added_to_cart{
  flex:1 1 100%;text-align:center;
  font-family:var(--mf-mono);font-size:.63rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--mf-cyan);padding:.5rem 0 0;text-decoration:none;
}
body.mf-woo li.product .added_to_cart:hover{color:var(--mf-cyan-lit);text-decoration:underline}

/* --------------------------------------------------------------------------
   7. BADGES
   -------------------------------------------------------------------------- */
body.mf-woo li.product .onsale{
  position:absolute;top:0;left:0;z-index:4;margin:0;
  background:var(--mf-violet);color:#fff;
  font-family:var(--mf-mono);font-size:.58rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  padding:.4rem .8rem;border-radius:0;min-height:0;min-width:0;line-height:1;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);
}
body.mf-woo li.product.outofstock{opacity:.55}

/* --------------------------------------------------------------------------
   8. NOTICES - must stay highly readable, they carry errors and confirmations
   -------------------------------------------------------------------------- */
body.mf-woo .woocommerce-message,
body.mf-woo .woocommerce-info,
body.mf-woo .woocommerce-error{
  background:rgba(8,10,14,.62);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  color:var(--mf-text);
  border:none;border-left:2px solid var(--mf-cyan);
  border-radius:0;
  font-family:var(--mf-mono);font-size:.74rem;letter-spacing:.06em;
  padding:1rem 1.2rem;list-style:none;
}
body.mf-woo .woocommerce-error{border-left-color:#FF5C6C}
body.mf-woo .woocommerce-message{border-left-color:var(--mf-cyan)}
body.mf-woo .woocommerce-message::before,
body.mf-woo .woocommerce-info::before,
body.mf-woo .woocommerce-error::before{color:inherit}
body.mf-woo .woocommerce-message .button,
body.mf-woo .woocommerce-info .button{
  background:transparent;color:var(--mf-cyan);
  box-shadow:inset 0 0 0 1px var(--mf-cyan);
  font-family:var(--mf-mono);font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;
  padding:.5rem 1rem;border-radius:0;
}
body.mf-woo .woocommerce-message .button:hover,
body.mf-woo .woocommerce-info .button:hover{background:var(--mf-cyan);color:#04121C}

/* --------------------------------------------------------------------------
   9. PAGINATION
   -------------------------------------------------------------------------- */
body.mf-woo .woocommerce-pagination ul{border:none;display:flex;gap:.5rem;justify-content:center;margin:2.5rem 0 0}
body.mf-woo .woocommerce-pagination ul li{border:none;margin:0}
body.mf-woo .woocommerce-pagination a.page-numbers,
body.mf-woo .woocommerce-pagination span.page-numbers{
  display:grid;place-items:center;min-width:38px;height:38px;
  font-family:var(--mf-mono);font-size:.72rem;
  color:var(--mf-muted);background:rgba(255,255,255,.03);
  box-shadow:inset 0 0 0 1px var(--mf-hair);
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  transition:all .25s var(--mf-ease);
}
body.mf-woo .woocommerce-pagination a.page-numbers:hover{color:var(--mf-cyan);box-shadow:inset 0 0 0 1px var(--mf-cyan)}
body.mf-woo .woocommerce-pagination span.current{background:var(--mf-cyan);color:#04121C;box-shadow:none}

/* --------------------------------------------------------------------------
   10. RESPONSIVE - Breakdance breakpoints
   -------------------------------------------------------------------------- */
@media(max-width:767px){
  body.mf-woo ul.products{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.1rem}
  body.mf-woo li.product .woocommerce-loop-product__title{font-size:.88rem}
}
@media(max-width:479px){
  body.mf-woo ul.products{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  body.mf-woo *,body.mf-woo *::before,body.mf-woo *::after{animation:none!important;transition-duration:.01ms!important}
  body.mf-woo ul.products li.product:hover{transform:none}
}

/* ==========================================================================
   STORE ARCHIVE - v2 STRUCTURE
   Two offers, distinguished by SHAPE and COLOUR rather than by a label the
   visitor has to read: the subscription is a wide violet band, FlightCoins
   a cyan grid. Both are visible without any click or meaningful scroll.
   Still CSS only - no Woo markup, form, nonce or cart button is rebuilt.
   ========================================================================== */
/* Breakdance .section-container is flex/flex-start: children shrink and hug
   left unless stretched. Same root cause as the homepage. */
body.mf-woo .bde-section > .section-container{align-items:stretch;width:100%}
/* --- compact header --- */
body.mf-woo .title{font-family:'Orbitron',sans-serif;font-weight:900;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.8rem,3.4vw,2.6rem);margin:0 0 .6rem}
/* --- section labels shared by both offers --- */
body.mf-woo .mf-s-tag,body.mf-woo .mf-fc-tag{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mf-mono);font-size:.6rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;padding:.35rem .7rem;width:auto;align-self:flex-start}
body.mf-woo .mf-s-tag{color:#C4B5FD;box-shadow:inset 0 0 0 1px rgba(139,92,246,.45)}
body.mf-woo .mf-fc-tag{color:var(--mf-cyan-lit);box-shadow:inset 0 0 0 1px rgba(0,212,255,.4);margin-top:3.5rem}
/* --- SUBSCRIPTION BAND (violet) --- */
body.mf-woo .mf-s-band{position:relative;margin-top:1.6rem;padding:1.8rem 1.8rem 2rem;background:radial-gradient(120% 100% at 8% 0%,rgba(139,92,246,.20),transparent 60%),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px rgba(139,92,246,.45),inset 0 1px 0 rgba(255,255,255,.08),0 20px 60px rgba(0,0,0,.45);clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch))}
body.mf-woo .mf-s-band::before,body.mf-woo .mf-s-band::after{content:'';position:absolute;width:14px;height:14px;pointer-events:none}
body.mf-woo .mf-s-band::before{top:8px;right:8px;border-top:1px solid #C4B5FD;border-right:1px solid #C4B5FD}
body.mf-woo .mf-s-band::after{bottom:8px;left:8px;border-bottom:1px solid #C4B5FD;border-left:1px solid #C4B5FD}
body.mf-woo .mf-s-intro{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:1.4rem}
body.mf-woo .mf-s-h{font-family:'Orbitron',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.45rem;margin:.7rem 0 .5rem;color:var(--mf-text)}
body.mf-woo .mf-s-lead{font-family:'Rajdhani',sans-serif;font-size:1rem;line-height:1.6;color:var(--mf-muted);max-width:640px}
body.mf-woo .mf-s-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;width:100%}
body.mf-woo .mf-s-plan{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:1.3rem 1.2rem 1.2rem;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--mf-hair);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:box-shadow .3s var(--mf-ease),transform .3s var(--mf-ease)}
body.mf-woo .mf-s-plan:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(196,181,253,.6)}
body.mf-woo .mf-s-plan-best{background:rgba(139,92,246,.10);box-shadow:inset 0 0 0 1px rgba(139,92,246,.7)}
body.mf-woo .mf-s-flag{position:absolute;top:0;right:0;background:var(--mf-violet);color:#fff;font-family:var(--mf-mono);font-size:.55rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.3rem .65rem;clip-path:polygon(0 0,100% 0,100% 100%,8px 100%)}
body.mf-woo .mf-s-plan-n{font-family:var(--mf-mono);font-size:.66rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo .mf-s-plan-p{font-family:'Orbitron',sans-serif;font-weight:900;font-size:2rem;line-height:1;color:var(--mf-text);margin:.55rem 0 .35rem}
body.mf-woo .mf-s-plan-m{font-family:var(--mf-mono);font-size:.6rem;letter-spacing:.08em;line-height:1.7;color:var(--mf-muted);min-height:2.4em}
body.mf-woo .mf-s-cta{margin-top:1rem;width:100%;display:flex}
body.mf-woo .mf-s-cta .bde-button__button{width:100%;justify-content:center}
/* --- FLIGHTCOINS GRID (cyan) --- */
body.mf-woo .mf-fc-h{font-family:'Orbitron',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:1.45rem;margin:.7rem 0 1.3rem;color:var(--mf-text)}
body.mf-woo .mf-fc-grid .bde-woo-products-list,body.mf-woo .mf-fc-grid ul.products{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.3rem;list-style:none;margin:0;padding:0;float:none}
/* image goes 16:10 instead of square - this is what pulls the first row up */
body.mf-woo li.product img{aspect-ratio:16/10;object-fit:cover;width:100%;height:auto}
/* --- retire the generic e-commerce chrome --- */
body.mf-woo .woocommerce-result-count,body.mf-woo .woocommerce-ordering,body.mf-woo .bde-woo-select{display:none!important}
/* --- responsive --- */
@media(max-width:1023px){
body.mf-woo .mf-s-plans{grid-template-columns:1fr;gap:.8rem}
body.mf-woo .mf-s-band{padding:1.4rem 1.2rem 1.5rem}
body.mf-woo .mf-s-plan-p{font-size:1.7rem}
body.mf-woo .mf-s-plan-m{min-height:0}
body.mf-woo .mf-fc-tag{margin-top:2.5rem}
body.mf-woo .mf-fc-grid ul.products{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
}
@media(max-width:479px){
body.mf-woo .mf-fc-grid ul.products{grid-template-columns:1fr}
}

/* ===== STORE CARD v3 - alignment, FC gain, image framing ===== */
/* 1. Everything below the image shares one horizontal rhythm. The price sat
      flush against the card edge because Woo prints it outside the padded
      wrapper - pad the elements themselves instead. */
body.mf-woo li.product .woocommerce-loop-product__title,
body.mf-woo li.product .price,
body.mf-woo li.product .mf-fc-gain,
body.mf-woo li.product .bde-woo-product-footer,
body.mf-woo li.product .button,
body.mf-woo li.product .add_to_cart_button{padding-left:1.15rem;padding-right:1.15rem}
body.mf-woo li.product .woocommerce-loop-product__title{padding-top:1rem;padding-bottom:.15rem;font-size:.92rem}
body.mf-woo li.product .price{display:block;padding-top:.15rem;padding-bottom:.9rem;font-size:1.3rem;text-align:left}
/* 2. FlightCoins gain - the reason to buy, so it outranks the euro price */
body.mf-woo .mf-fc-gain{display:flex;align-items:baseline;flex-wrap:wrap;gap:.45rem;padding-top:.5rem;padding-bottom:.15rem}
body.mf-woo .mf-fc-amount{position:relative;font-family:'Orbitron',sans-serif;font-weight:700;font-size:1.05rem;line-height:1;color:var(--mf-text);padding-left:1.15rem}
body.mf-woo .mf-fc-amount::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:13px;height:13px;border-radius:50%;background:var(--mf-amber);box-shadow:0 0 8px rgba(255,176,32,.5)}
body.mf-woo .mf-fc-bonus{font-family:var(--mf-mono);font-size:.62rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mf-amber)}
/* 3. Image framing. The artwork is square with a centred subject, so a 16:10
      cover crop was cutting the top and bottom off. A 4:3 frame with inner
      padding shows the whole illustration without making the card taller. */
body.mf-woo li.product .bde-woo-product-image,body.mf-woo li.product a.woocommerce-LoopProduct-link{display:block}
body.mf-woo li.product img{aspect-ratio:4/3;object-fit:contain;width:100%;height:auto;padding:.6rem .6rem 0;background:radial-gradient(70% 70% at 50% 45%,rgba(0,212,255,.10),transparent 70%)}
body.mf-woo li.product:hover img{transform:scale(1.04)}
@media(max-width:479px){
body.mf-woo li.product img{aspect-ratio:16/9}
}

/* ===== STORE GRID v4 - 3 columns x 2 rows, square artwork =====
   6 packs in a fixed 3-column grid instead of auto-fill: cards get enough
   width for the illustration to carry the product. The art is square, so the
   frame is square too and uses cover - no letterboxing from contain, no crop
   from a wide ratio. */
body.mf-woo .mf-fc-grid .bde-woo-products-list,body.mf-woo .mf-fc-grid ul.products{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1.5rem}
body.mf-woo li.product img{aspect-ratio:1/1;object-fit:cover;object-position:center;width:100%;height:auto;padding:0;background:none;transition:transform .7s var(--mf-ease)}
/* Scanline veil + bottom fade so the artwork reads as part of the HUD panel
   rather than a pasted-on picture. */
body.mf-woo li.product .bde-woo-product-image,body.mf-woo li.product a.woocommerce-LoopProduct-link{position:relative;display:block;overflow:hidden}
body.mf-woo li.product .bde-woo-product-image::after,body.mf-woo li.product a.woocommerce-LoopProduct-link::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 62%,rgba(8,10,14,.72) 100%),repeating-linear-gradient(0deg,rgba(0,212,255,.035) 0 1px,transparent 1px 4px)}
body.mf-woo li.product:hover img{transform:scale(1.05)}
@media(max-width:1023px){
body.mf-woo .mf-fc-grid ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1.1rem}
}
@media(max-width:559px){
body.mf-woo .mf-fc-grid ul.products{grid-template-columns:1fr!important}
body.mf-woo li.product img{aspect-ratio:16/9}
}

/* ===== STORE CARD v5 - readability + typographic parity =====
   1. The scanline/fade veil was attached to a.woocommerce-LoopProduct-link,
      which wraps the TITLE as well as the image - so it was painting over
      the text and killing contrast. Restricted to the image wrapper only.
   2. Card typography now matches the subscription band exactly: Orbitron for
      figures and titles, JetBrains Mono for labels, Rajdhani for prose. */
body.mf-woo li.product a.woocommerce-LoopProduct-link::after{content:none!important}
body.mf-woo li.product .bde-woo-product-image::after,body.mf-woo li.product .breakdance-image-clip::after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,transparent 65%,rgba(8,10,14,.6) 100%),repeating-linear-gradient(0deg,rgba(0,212,255,.03) 0 1px,transparent 1px 4px)}
/* titles: Orbitron, full contrast - they were rendering in the theme sans */
body.mf-woo li.product .woocommerce-loop-product__title,body.mf-woo li.product h2,body.mf-woo li.product h3{font-family:'Orbitron',sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.045em;font-size:.92rem;line-height:1.35;color:var(--mf-text)!important;opacity:1!important}
body.mf-woo li.product:hover .woocommerce-loop-product__title{color:var(--mf-cyan-lit)!important}
/* price: same Orbitron 900 treatment as the subscription plan figures */
body.mf-woo li.product .price,body.mf-woo li.product .price .amount,body.mf-woo li.product .price bdi{font-family:'Orbitron',sans-serif!important;font-weight:900!important;color:var(--mf-text)!important;font-size:1.35rem;line-height:1;opacity:1!important}
body.mf-woo li.product .price del{font-weight:400!important;color:var(--mf-muted)!important;font-size:.75em}
body.mf-woo li.product .price ins{text-decoration:none;color:var(--mf-text)!important}
/* FC gain: Orbitron figure + mono bonus, readable sizes */
body.mf-woo .mf-fc-amount{font-size:1.1rem;color:var(--mf-text);opacity:1}
body.mf-woo .mf-fc-bonus{font-size:.66rem;color:var(--mf-amber);opacity:1}
/* short description, when shown, uses the body face */
body.mf-woo li.product .woocommerce-product-details__short-description,body.mf-woo li.product p{font-family:'Rajdhani',sans-serif;color:var(--mf-muted)}
/* the card body must sit above the image veil */
body.mf-woo li.product .woocommerce-loop-product__title,body.mf-woo li.product .price,body.mf-woo li.product .mf-fc-gain{position:relative;z-index:3}

/* ==========================================================================
   SINGLE PRODUCT - STAGE 2
   CSS only. No form, field, nonce, variation selector or cart button is
   rebuilt - AJAX add-to-cart and variation handling stay untouched.
   ========================================================================== */
/* The FC block inside each short description is hand-written HTML whose
   inline styles reference var(--text-primary)/var(--text-secondary). Those
   tokens do not exist here, so the text fell back to inherit and read grey.
   Aliasing them to our palette makes that existing markup render correctly
   without editing a single product. */
body.mf-woo{--text-primary:var(--mf-text);--text-secondary:var(--mf-muted)}
/* --- layout --- */
body.mf-woo .bde-section > .section-container{align-items:stretch;width:100%}
body.mf-woo .woocommerce-breadcrumb{font-family:var(--mf-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo .woocommerce-breadcrumb a{color:var(--mf-muted)}
body.mf-woo .woocommerce-breadcrumb a:hover{color:var(--mf-cyan)}
/* --- gallery as a HUD panel --- */
body.mf-woo .bde-woo-product-images,body.mf-woo .woocommerce-product-gallery{position:relative;background:linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.4);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07);clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch));overflow:hidden}
body.mf-woo .woocommerce-product-gallery img{width:100%;height:auto;display:block}
/* --- title / price --- */
body.mf-woo .bde-woo-product-title,body.mf-woo .product_title{font-family:'Orbitron',sans-serif!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.15;color:var(--mf-text)!important;margin:0 0 .8rem}
body.mf-woo .bde-woo-product-price,body.mf-woo p.price,body.mf-woo .summary .price,body.mf-woo .summary .price bdi{font-family:'Orbitron',sans-serif!important;font-weight:900!important;font-size:2rem!important;line-height:1;color:var(--mf-text)!important}
body.mf-woo .summary .price del{font-weight:400!important;font-size:.6em;color:var(--mf-muted)!important;opacity:.8}
body.mf-woo .summary .price ins{text-decoration:none;color:var(--mf-text)!important}
/* subscription recurring terms must stay visible - legal requirement */
body.mf-woo .subscription-details,body.mf-woo .woocommerce-Price-currencySymbol + .subscription-details{display:inline!important;font-family:var(--mf-mono)!important;font-size:.68rem!important;font-weight:500!important;letter-spacing:.1em;text-transform:uppercase;color:var(--mf-muted)!important}
/* --- quantity + add to cart --- */
body.mf-woo .quantity input.qty,body.mf-woo .bde-quantity-button{background:rgba(255,255,255,.04);color:var(--mf-text);border:1px solid var(--mf-hair);border-radius:0;font-family:var(--mf-mono);font-size:.8rem;height:46px}
body.mf-woo .bde-quantity-button:hover{border-color:var(--mf-cyan);color:var(--mf-cyan)}
body.mf-woo .quantity input.qty::-webkit-outer-spin-button,body.mf-woo .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
body.mf-woo .single_add_to_cart_button,body.mf-woo .summary .button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--mf-cyan);color:#04121C;font-family:var(--mf-mono);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;padding:1rem 2rem;border:none;border-radius:0;height:46px;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:background .3s var(--mf-ease),box-shadow .3s var(--mf-ease)}
body.mf-woo .single_add_to_cart_button:hover{background:var(--mf-cyan-lit);box-shadow:0 0 34px rgba(0,212,255,.45);color:#04121C}
/* --- variation selector (subscription plans) --- */
body.mf-woo .variations select{background:rgba(255,255,255,.04);color:var(--mf-text);border:1px solid var(--mf-hair);border-radius:0;font-family:var(--mf-mono);font-size:.72rem;letter-spacing:.1em;padding:.8rem 1rem;width:100%}
body.mf-woo .variations select:focus{outline:none;border-color:var(--mf-cyan)}
body.mf-woo .variations select option{background:#0B1524;color:var(--mf-text)}
body.mf-woo .variations th,body.mf-woo .variations label{font-family:var(--mf-mono);font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo .reset_variations{font-family:var(--mf-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo .woocommerce-variation-price{margin:.8rem 0}
/* --- meta --- */
body.mf-woo .product_meta{font-family:var(--mf-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mf-muted);border-top:1px solid var(--mf-hair);padding-top:1rem;margin-top:1.2rem}
body.mf-woo .product_meta a{color:var(--mf-cyan)}
/* --- accordion --- */
body.mf-woo .breakdance-accordion__title,body.mf-woo .bde-accordion__title{font-family:var(--mf-mono)!important;font-size:.7rem!important;letter-spacing:.16em;text-transform:uppercase;color:var(--mf-text)!important}
body.mf-woo .breakdance-accordion__item{border-bottom:1px solid var(--mf-hair)}
body.mf-woo .breakdance-accordion__content{font-family:'Rajdhani',sans-serif;color:var(--mf-muted);line-height:1.7}
/* --- section headings inside the product page --- */
body.mf-woo .bde-heading,body.mf-woo h2,body.mf-woo h3{font-family:'Orbitron',sans-serif;text-transform:uppercase;letter-spacing:.04em;color:var(--mf-text)}
/* --- description + reviews --- */
body.mf-woo .woocommerce-Tabs-panel,body.mf-woo .bde-product-description,body.mf-woo .bde-product-description p{font-family:'Rajdhani',sans-serif;font-size:1rem;line-height:1.75;color:var(--mf-muted)}
body.mf-woo .star-rating span::before,body.mf-woo .star-rating::before{color:var(--mf-amber)}
body.mf-woo #reviews .comment-text{background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--mf-hair);border-radius:0;padding:1.1rem}
body.mf-woo #reviews input,body.mf-woo #reviews textarea{background:rgba(255,255,255,.04);border:1px solid var(--mf-hair);color:var(--mf-text);border-radius:0;font-family:'Rajdhani',sans-serif}
body.mf-woo #reviews input:focus,body.mf-woo #reviews textarea:focus{outline:none;border-color:var(--mf-cyan)}
/* --- related products reuse the archive card styling --- */
body.mf-woo .related ul.products,body.mf-woo .upsells ul.products{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;list-style:none;margin:0;padding:0}
@media(max-width:1023px){
body.mf-woo .related ul.products,body.mf-woo .upsells ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
body.mf-woo .bde-woo-product-title,body.mf-woo .product_title{font-size:1.4rem}
body.mf-woo .bde-woo-product-price,body.mf-woo p.price{font-size:1.6rem!important}
}
@media(max-width:559px){
body.mf-woo .related ul.products,body.mf-woo .upsells ul.products{grid-template-columns:1fr}
body.mf-woo .single_add_to_cart_button{width:100%}
}

/* ==========================================================================
   WOO v6 - GEOMETRY PARITY
   Breakdance and the theme apply border-radius on their own atoms (summary
   panel, gallery, quantity stepper, cart button, breadcrumb, badges). The
   HUD language has no rounded corners: everything is squared, and the
   containers that read as panels get the chamfer instead.
   ========================================================================== */
/* blanket reset - nothing on a Woo page keeps a radius */
body.mf-woo *,body.mf-woo *::before,body.mf-woo *::after{border-radius:0!important}
/* --- summary panel (right column) --- */
body.mf-woo .bde-woo-product-builder .bde-columns > .bde-column:last-child > .bde-div{clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07)}
/* --- gallery --- */
body.mf-woo .woocommerce-product-gallery__wrapper,body.mf-woo .woocommerce-product-gallery__image,body.mf-woo .woocommerce-product-gallery img{clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .woocommerce-product-gallery__trigger{box-shadow:inset 0 0 0 1px var(--mf-hair);background:rgba(8,10,14,.7)!important;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
/* --- breadcrumb bar --- */
body.mf-woo .woocommerce-breadcrumb,body.mf-woo .bde-woo-breadcrumb{clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 1px var(--mf-hair);padding:.7rem 1.1rem}
/* --- quantity stepper --- */
body.mf-woo .quantity,body.mf-woo .quantity--number{display:inline-flex;align-items:stretch;box-shadow:inset 0 0 0 1px var(--mf-hair);background:rgba(255,255,255,.04);clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .quantity input.qty{background:transparent;border:none;width:46px;text-align:center;height:46px;color:var(--mf-text);font-family:var(--mf-mono)}
body.mf-woo .bde-quantity-button{background:transparent;border:none;width:38px;color:var(--mf-muted);cursor:pointer;transition:color .25s var(--mf-ease)}
body.mf-woo .bde-quantity-button:hover{color:var(--mf-cyan);background:rgba(0,212,255,.08)}
/* --- add to cart: chamfer, not a pill --- */
body.mf-woo .single_add_to_cart_button,body.mf-woo .single_add_to_cart_button.button.alt{clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)!important;background:var(--mf-cyan)!important;color:#04121C!important;font-family:var(--mf-mono)!important;font-weight:600!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.15em!important;height:46px;padding:0 2rem;border:none!important}
body.mf-woo .single_add_to_cart_button:hover{background:var(--mf-cyan-lit)!important;box-shadow:0 0 34px rgba(0,212,255,.45)!important}
/* --- variation select --- */
body.mf-woo .variations select,body.mf-woo .bde-woo-select select{clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
/* --- payment icons strip --- */
body.mf-woo .bde-div img[src*="card"],body.mf-woo .wpsc-payment-icons img{filter:grayscale(.25) brightness(1.05)}
/* --- product cards keep their own chamfer --- */
body.mf-woo li.product{clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo li.product img{clip-path:none}

/* ==========================================================================
   SINGLE PRODUCT v7 - conversion pass
   ========================================================================== */
/* 1. QUANTITY STEPPER
   The -/+ glyphs are drawn by Breakdance pseudo-elements; my global
   border-radius reset flattened them into blocks that sat on top of the
   input. Rebuilt explicitly: fixed-width buttons, own glyphs, input between. */
body.mf-woo .quantity,body.mf-woo .quantity--number{display:inline-flex!important;align-items:center;height:52px;box-shadow:inset 0 0 0 1px var(--mf-hair);background:rgba(255,255,255,.04)}
body.mf-woo .bde-quantity-button{position:relative;flex:0 0 auto;width:42px;height:52px;background:transparent;border:none;padding:0;cursor:pointer;color:var(--mf-muted);transition:color .2s var(--mf-ease),background .2s var(--mf-ease)}
body.mf-woo .bde-quantity-button:hover{color:var(--mf-cyan);background:rgba(0,212,255,.1)}
body.mf-woo .quantity input.qty{flex:0 0 auto;width:52px;height:52px;background:transparent;border:none;box-shadow:none;text-align:center;color:var(--mf-text);font-family:'Orbitron',sans-serif;font-weight:700;font-size:.95rem;position:relative;z-index:2}
/* 2. Remove the noise: category meta line and the empty section below */
body.mf-woo .product_meta,body.mf-woo .bde-woo-product-meta{display:none!important}
body.mf-woo .bde-section:not(.mf-bd-hd):not(.mf-bd-ft){background:transparent!important}
/* 3. BALANCE - the gallery was dwarfing the summary. Even columns, summary
      sticky so the CTA stays in view while the artwork scrolls. */
body.mf-woo .bde-woo-product-builder > .bde-columns{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.5rem;align-items:start}
body.mf-woo .bde-woo-product-builder > .bde-columns > .bde-column{width:auto;min-width:0}
body.mf-woo .woocommerce-product-gallery{position:relative;max-width:560px}
body.mf-woo .bde-woo-product-builder .bde-columns > .bde-column:last-child > .bde-div{position:sticky;top:110px;padding:2rem 1.9rem}
/* 4. Value hierarchy: FC gain sits above the euro price and outweighs it */
body.mf-woo .summary .price,body.mf-woo p.price{margin:1.4rem 0 1.2rem;position:relative;padding-top:1.2rem}
body.mf-woo .summary .price::before,body.mf-woo p.price::before{content:'';position:absolute;top:0;left:0;width:44px;height:1px;background:var(--mf-cyan)}
/* 5. CTA - a pulse that invites the click without shouting */
body.mf-woo .single_add_to_cart_button{position:relative;overflow:hidden;flex:1 1 auto;min-width:200px}body.mf-woo .single_add_to_cart_button:hover{transform:translateY(-1px)}
body.mf-woo .single_add_to_cart_button:active{transform:translateY(0)}
/* the cart form lays quantity and CTA on one line */
body.mf-woo form.cart{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin:0}
@media(max-width:1023px){
body.mf-woo .bde-woo-product-builder > .bde-columns{grid-template-columns:1fr;gap:1.6rem}
body.mf-woo .bde-woo-product-builder .bde-columns > .bde-column:last-child > .bde-div{position:static;padding:1.4rem 1.2rem}
body.mf-woo .woocommerce-product-gallery{max-width:none}
}
@media(max-width:559px){
body.mf-woo form.cart{gap:.7rem}
body.mf-woo .single_add_to_cart_button{width:100%;flex:1 1 100%}
}

/* ==========================================================================
   SINGLE PRODUCT v8
   The v7 quantity glyphs and the CTA sheen were removed: overriding
   Breakdance pseudo-elements hid its own -/+ marks and left the stepper
   looking broken. Breakdance renders and wires those buttons itself - we
   only give them a size, a colour and a hover state now.
   ========================================================================== */
body.mf-woo .quantity,body.mf-woo .quantity--number{display:inline-flex!important;align-items:stretch;height:52px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--mf-hair)}
body.mf-woo .bde-quantity-button{display:flex!important;align-items:center;justify-content:center;flex:0 0 auto;width:44px;min-width:44px;height:52px;background:transparent;border:none;padding:0;cursor:pointer;color:var(--mf-muted);font-size:1rem;line-height:1;transition:color .2s var(--mf-ease),background .2s var(--mf-ease)}
body.mf-woo .bde-quantity-button:hover{color:var(--mf-cyan);background:rgba(0,212,255,.12)}
body.mf-woo .bde-quantity-button svg{width:14px;height:14px;fill:currentColor}
body.mf-woo .quantity input.qty{flex:1 1 auto;width:54px;min-width:54px;height:52px;background:transparent;border:none;box-shadow:none;text-align:center;color:var(--mf-text);font-family:'Orbitron',sans-serif;font-weight:700;font-size:1rem;padding:0}
/* separators between the three parts, drawn without adding markup */
body.mf-woo .bde-quantity-button--dec{box-shadow:inset -1px 0 0 var(--mf-hair)}
body.mf-woo .bde-quantity-button--inc{box-shadow:inset 1px 0 0 var(--mf-hair)}body.mf-woo .single_add_to_cart_button:hover{animation:none!important;background:var(--mf-cyan-lit)!important;box-shadow:0 0 36px 6px rgba(0,212,255,.5)!important;transform:translateY(-1px)}
/* --- GALLERY: slow drift + hover zoom, so the artwork sells the pack --- */
body.mf-woo .woocommerce-product-gallery__image,body.mf-woo .woocommerce-product-gallery__wrapper{overflow:hidden}
body.mf-woo .woocommerce-product-gallery img{transition:transform .8s var(--mf-ease);will-change:transform}
html:not(.mf-still) body.mf-woo .woocommerce-product-gallery img{animation:mf-gal-drift 14s ease-in-out infinite}
@keyframes mf-gal-drift{0%,100%{transform:scale(1.01)}50%{transform:scale(1.06)}}
body.mf-woo .woocommerce-product-gallery:hover img{animation:none;transform:scale(1.12)}
/* --- FAQ block below the fold --- */
body.mf-woo .mf-faq-h{font-family:'Orbitron',sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem!important;color:var(--mf-text)!important}
body.mf-woo .breakdance-accordion,body.mf-woo .accordion{width:100%!important;max-width:none!important}
body.mf-woo .breakdance-accordion__item{background:rgba(255,255,255,.03)!important;box-shadow:inset 0 0 0 1px var(--mf-hair);margin-bottom:.6rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .breakdance-accordion__title,body.mf-woo .breakdance-accordion__button{font-family:var(--mf-mono)!important;font-size:.72rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--mf-text)!important}
body.mf-woo .breakdance-accordion__content,body.mf-woo .breakdance-accordion__content p{font-family:'Rajdhani',sans-serif!important;font-size:.95rem!important;line-height:1.7;color:var(--mf-muted)!important}
@media(max-width:1023px){
body.mf-woo .woocommerce-product-gallery img{animation:none!important}
}

/* ===== SINGLE PRODUCT v9 ===== */
/* 1. Summary card gets the HUD treatment. Targeted by an explicit class on
      the element rather than a structural selector, so it cannot drift. */
body.mf-woo .mf-prod-panel{position:relative;clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch));background:radial-gradient(120% 90% at 10% 0%,rgba(0,212,255,.13),transparent 58%),radial-gradient(100% 90% at 95% 100%,rgba(139,92,246,.16),transparent 62%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.52)!important;backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.08),0 20px 60px rgba(0,0,0,.45);border:none!important;overflow:hidden}
body.mf-woo .mf-prod-panel::before,body.mf-woo .mf-prod-panel::after{content:'';position:absolute;width:15px;height:15px;pointer-events:none;z-index:4}
body.mf-woo .mf-prod-panel::before{top:9px;right:9px;border-top:1px solid var(--mf-cyan-lit);border-right:1px solid var(--mf-cyan-lit)}
body.mf-woo .mf-prod-panel::after{bottom:9px;left:9px;border-bottom:1px solid var(--mf-cyan-lit);border-left:1px solid var(--mf-cyan-lit)}
/* payment strip inside the panel */
body.mf-woo .mf-prod-panel > .bde-div:last-child{background:rgba(255,255,255,.03)!important;border-top:1px solid var(--mf-hair)}
/* gallery matches the panel chamfer */
body.mf-woo .woocommerce-product-gallery,body.mf-woo .woocommerce-product-gallery__wrapper,body.mf-woo .woocommerce-product-gallery img{clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch))}
/* 2. Quantity glyphs. Breakdance leaves these buttons EMPTY and draws the
      marks in its own CSS; that CSS is not reaching them here, so we supply
      the glyphs as text content - deterministic and always visible. */
body.mf-woo .bde-quantity-button{font-family:var(--mf-mono);font-size:1.05rem;line-height:1}
body.mf-woo .bde-quantity-button--dec::before{content:'\2212'}
body.mf-woo .bde-quantity-button--inc::before{content:'+'}
/* 3. CTA blink: animate the glow and brightness only. Animating background
      lost to the !important colour set earlier in this file. */
body.mf-woo .single_add_to_cart_button{background:var(--mf-cyan)!important;will-change:filter,box-shadow}/* 4. FAQ, now a global block outside the product builder */
body.mf-woo .mf-faq-sec{padding:3.5rem 0 4.5rem}
body.mf-woo .mf-faq-wrap{max-width:840px;margin:0 auto!important;width:100%}
body.mf-woo .mf-faq-h{font-family:'Orbitron',sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em;font-size:1.15rem!important;color:var(--mf-text)!important;margin-bottom:1.2rem}
body.mf-woo .mf-faq-acc .breakdance-accordion__item,body.mf-woo .mf-faq-acc details{background:rgba(255,255,255,.035)!important;box-shadow:inset 0 0 0 1px var(--mf-hair);margin-bottom:.6rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .mf-faq-acc .breakdance-accordion__title{font-family:var(--mf-mono)!important;font-size:.74rem!important;letter-spacing:.12em;text-transform:uppercase;color:var(--mf-text)!important;padding:1rem 1.2rem}
body.mf-woo .mf-faq-a{font-family:'Rajdhani',sans-serif!important;font-size:.98rem!important;line-height:1.7;color:var(--mf-muted)!important;padding:0 1.2rem 1.1rem}

/* ===== SINGLE PRODUCT v10 =====
   The increment button was not hidden by styling - it was CLIPPED. The
   stepper carried overflow:hidden while the number input was flex:1 1 auto,
   so the input grew and pushed + past the container edge. Fixed width on
   all three parts, no clipping. */
body.mf-woo .quantity,body.mf-woo .quantity--number{overflow:visible!important;width:auto!important;flex:0 0 auto}
body.mf-woo .quantity input.qty{flex:0 0 auto!important;width:56px!important;min-width:56px!important;max-width:56px!important}
body.mf-woo .bde-quantity-button{flex:0 0 auto!important;width:44px!important;min-width:44px!important;display:inline-flex!important;visibility:visible!important;opacity:1!important;overflow:visible}
body.mf-woo .bde-quantity-button::before{display:inline-block;color:currentColor}
/* --- FAQ as a HUD panel, not raw text on the field --- */
body.mf-woo .mf-faq-sec{padding:4rem 0 5rem}
body.mf-woo .mf-faq-panel{position:relative;max-width:900px;margin:0 auto!important;width:100%;padding:2.2rem 2rem 2rem;clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch));background:radial-gradient(110% 80% at 8% 0%,rgba(0,212,255,.10),transparent 58%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07),0 20px 60px rgba(0,0,0,.4)}
body.mf-woo .mf-faq-panel::before,body.mf-woo .mf-faq-panel::after{content:'';position:absolute;width:15px;height:15px;pointer-events:none}
body.mf-woo .mf-faq-panel::before{top:9px;right:9px;border-top:1px solid var(--mf-cyan-lit);border-right:1px solid var(--mf-cyan-lit)}
body.mf-woo .mf-faq-panel::after{bottom:9px;left:9px;border-bottom:1px solid var(--mf-cyan-lit);border-left:1px solid var(--mf-cyan-lit)}
body.mf-woo .mf-faq-h{margin-bottom:1.4rem!important;padding-bottom:.9rem;border-bottom:1px solid var(--mf-hair)}
/* each question becomes a bordered row rather than floating text */
body.mf-woo .mf-faq-acc .breakdance-accordion__item{background:rgba(255,255,255,.04)!important;box-shadow:inset 0 0 0 1px var(--mf-hair);margin-bottom:.55rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));transition:background .25s var(--mf-ease),box-shadow .25s var(--mf-ease)}
body.mf-woo .mf-faq-acc .breakdance-accordion__item:hover{background:rgba(0,212,255,.06)!important;box-shadow:inset 0 0 0 1px rgba(0,212,255,.35)}
body.mf-woo .mf-faq-acc .breakdance-accordion__title{padding:.95rem 1.2rem!important;color:var(--mf-text)!important}
body.mf-woo .mf-faq-acc .breakdance-accordion__item svg{fill:var(--mf-cyan)!important;color:var(--mf-cyan)!important}
body.mf-woo .mf-faq-a{padding:0 1.2rem 1.1rem!important;margin:0!important}
@media(max-width:767px){
body.mf-woo .mf-faq-panel{padding:1.5rem 1.1rem}
body.mf-woo .mf-faq-sec{padding:2.5rem 0 3rem}
}

/* ==========================================================================
   QUANTITY STEPPER - AUTHORITATIVE BLOCK (v11)

   ROOT CAUSE, verified by reading breakdance-woocommerce.css:
     .breakdance-woocommerce .quantity { position:relative; max-width:85px }
     .bde-quantity-button   { position:absolute; top:50%; transform:translateY(-50%) }
   Breakdance pins both buttons absolutely inside an 85px-wide box. Every
   earlier fix set widths (44 + 56 + 44 = 144px) without ever clearing
   position:absolute or max-width, so the increment button sat outside the
   container and was invisible. The decrement one survived because it is
   pinned to the left edge.

   This block is authoritative: it supersedes the quantity rules above.
   ========================================================================== */
body.mf-woo .quantity,body.mf-woo .quantity--number,body.mf-woo .breakdance-woocommerce .quantity{
  position:relative!important;
  max-width:none!important;
  width:auto!important;
  display:inline-flex!important;
  align-items:stretch!important;
  flex:0 0 auto!important;
  height:52px;
  overflow:visible!important;
  background:rgba(255,255,255,.05);
  box-shadow:inset 0 0 0 1px var(--mf-hair);
}
body.mf-woo .bde-quantity-button,body.mf-woo .breakdance-woocommerce .bde-quantity-button{
  position:static!important;
  transform:none!important;
  top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
  display:inline-flex!important;
  align-items:center;justify-content:center;
  flex:0 0 auto!important;
  width:44px!important;min-width:44px!important;max-width:44px!important;
  height:52px!important;
  padding:0!important;margin:0!important;
  background:transparent;border:none;
  color:var(--mf-muted);
  font-family:var(--mf-mono);font-size:1.05rem;line-height:1;
  cursor:pointer;visibility:visible!important;opacity:1!important;
  transition:color .2s var(--mf-ease),background .2s var(--mf-ease);
}
body.mf-woo .bde-quantity-button:hover{color:var(--mf-cyan);background:rgba(0,212,255,.12)}
body.mf-woo .bde-quantity-button--dec{box-shadow:inset -1px 0 0 var(--mf-hair)}
body.mf-woo .bde-quantity-button--inc{box-shadow:inset 1px 0 0 var(--mf-hair)}
body.mf-woo .bde-quantity-button--dec::before{content:'\2212';display:inline-block}
body.mf-woo .bde-quantity-button--inc::before{content:'+';display:inline-block}
body.mf-woo .quantity input.qty,body.mf-woo .breakdance-woocommerce .quantity input{
  position:static!important;
  flex:0 0 auto!important;
  width:56px!important;min-width:56px!important;max-width:56px!important;
  height:52px!important;
  padding:0!important;margin:0!important;
  background:transparent!important;border:none!important;box-shadow:none!important;
  text-align:center;color:var(--mf-text);
  font-family:'Orbitron',sans-serif;font-weight:700;font-size:1rem;
}

/* ==========================================================================
   ADD TO CART - AUTHORITATIVE ANIMATION BLOCK (v12)

   ROOT CAUSE of the invisible glow: the button carries a clip-path for the
   HUD chamfer, and clip-path CLIPS box-shadow. Every earlier attempt
   animated box-shadow, so the halo was cut off flush with the button edge
   and nothing showed. filter:drop-shadow() is applied AFTER clipping and
   follows the chamfered silhouette, so it is used here instead.

   Three competing animations (pulse, blink, glow) were declared earlier in
   this file. This block is authoritative and overrides all of them.
   ========================================================================== */
body.mf-woo .single_add_to_cart_button,body.mf-woo li.product .add_to_cart_button{
  position:relative;overflow:hidden;
  will-change:filter,transform;
  transition:filter .25s var(--mf-ease),transform .25s var(--mf-ease);
}/* hover takes over: animation stops, glow holds, button lifts */
body.mf-woo .single_add_to_cart_button:hover,body.mf-woo li.product .add_to_cart_button:hover{
  animation:none!important;
  filter:brightness(1.16) drop-shadow(0 0 18px rgba(0,212,255,.8))!important;
  transform:translateY(-2px);
}
body.mf-woo .single_add_to_cart_button:hover::after,body.mf-woo li.product .add_to_cart_button:hover::after{animation:none;opacity:0}
body.mf-woo .single_add_to_cart_button:active{transform:translateY(0)}

/* ==========================================================================
   ADD TO CART - FINAL (v13). All previous animations were purged from this
   file. One effect only: the button brightens and glows, nothing moves.
   drop-shadow, not box-shadow: the chamfer clip-path clips box-shadow.
   ========================================================================== */
body.mf-woo .single_add_to_cart_button,body.mf-woo li.product .add_to_cart_button{overflow:visible;will-change:filter;transition:filter .25s var(--mf-ease)}
body.mf-woo .single_add_to_cart_button::after,body.mf-woo li.product .add_to_cart_button::after{content:none!important}
html:not(.mf-still) body.mf-woo .single_add_to_cart_button,html:not(.mf-still) body.mf-woo li.product .add_to_cart_button{animation:mf-btn-glow 1.9s ease-in-out infinite}
@keyframes mf-btn-glow{0%,100%{filter:brightness(1) drop-shadow(0 0 3px rgba(0,212,255,.35))}50%{filter:brightness(1.22) drop-shadow(0 0 16px rgba(0,212,255,.85))}}
body.mf-woo .single_add_to_cart_button:hover,body.mf-woo li.product .add_to_cart_button:hover{animation:none;filter:brightness(1.25) drop-shadow(0 0 20px rgba(0,212,255,.9))}

/* ==========================================================================
   FAQ ACCORDION - FINAL (v13)
   The earlier rules targeted .breakdance-accordion__* and matched nothing:
   the real markup is .bde-accordion__content-wrapper / __button / __title /
   __icon / __panel. The icon spans ship EMPTY, so the chevron is drawn here.
   ========================================================================== */
body.mf-woo .mf-faq-acc{display:flex;flex-direction:column;gap:.6rem}
body.mf-woo .mf-faq-acc .bde-accordion__content-wrapper{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--mf-hair);clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));transition:background .25s var(--mf-ease),box-shadow .25s var(--mf-ease),transform .25s var(--mf-ease)}
body.mf-woo .mf-faq-acc .bde-accordion__content-wrapper:hover{background:rgba(0,212,255,.07);box-shadow:inset 0 0 0 1px rgba(0,212,255,.45);transform:translateX(3px)}
body.mf-woo .mf-faq-acc .bde-accordion__title-tag{margin:0}
body.mf-woo .mf-faq-acc .bde-accordion__button{display:flex!important;align-items:center;gap:1rem;width:100%;background:transparent;border:none;cursor:pointer;text-align:left;padding:1.05rem 1.2rem}
body.mf-woo .mf-faq-acc .bde-accordion__title{flex:1 1 auto;font-family:var(--mf-mono);font-size:.74rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mf-muted);transition:color .25s var(--mf-ease)}
body.mf-woo .mf-faq-acc .bde-accordion__button:hover .bde-accordion__title{color:var(--mf-cyan-lit)}
body.mf-woo .mf-faq-acc .bde-accordion__button[aria-expanded="true"] .bde-accordion__title{color:var(--mf-text)}
/* chevron drawn from an empty span */
body.mf-woo .mf-faq-acc .bde-accordion__icon--active{display:none!important}
body.mf-woo .mf-faq-acc .bde-accordion__icon--default{position:relative;flex:0 0 auto;width:18px;height:18px;display:block;transition:transform .3s var(--mf-ease)}
body.mf-woo .mf-faq-acc .bde-accordion__icon--default::before,body.mf-woo .mf-faq-acc .bde-accordion__icon--default::after{content:'';position:absolute;top:50%;width:9px;height:1.5px;background:var(--mf-cyan);transition:transform .3s var(--mf-ease)}
body.mf-woo .mf-faq-acc .bde-accordion__icon--default::before{left:1px;transform:translateY(-50%) rotate(45deg)}
body.mf-woo .mf-faq-acc .bde-accordion__icon--default::after{right:1px;transform:translateY(-50%) rotate(-45deg)}
body.mf-woo .mf-faq-acc .bde-accordion__button[aria-expanded="true"] .bde-accordion__icon--default{transform:rotate(180deg)}
/* a left accent bar that fills when the row is open */
body.mf-woo .mf-faq-acc .bde-accordion__content-wrapper{position:relative}
body.mf-woo .mf-faq-acc .bde-accordion__content-wrapper::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--mf-cyan);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--mf-ease)}
body.mf-woo .mf-faq-acc .bde-accordion__content-wrapper:hover::before{transform:scaleY(.35)}
body.mf-woo .mf-faq-acc .bde-accordion__content-wrapper:has([aria-expanded="true"])::before{transform:scaleY(1)}
body.mf-woo .mf-faq-acc .bde-accordion__content-wrapper:has([aria-expanded="true"]){background:rgba(0,212,255,.06);box-shadow:inset 0 0 0 1px rgba(0,212,255,.4)}
body.mf-woo .mf-faq-acc .bde-accordion__panel-content{padding:0 1.2rem 1.15rem 1.2rem}
body.mf-woo .mf-faq-a{font-family:'Rajdhani',sans-serif!important;font-size:.98rem!important;line-height:1.7;color:var(--mf-muted)!important;padding:0!important;margin:0!important}

/* ==========================================================================
   CART - STAGE 3
   Markup verified by rendering [woocommerce_cart] server-side: standard
   WooCommerce tables inside a .bde-cart wrapper, and the SAME quantity
   stepper as the product page (absolutely positioned buttons in an 85px
   box) - so the v11 neutralisation applies here too and is reasserted.
   CSS only: no form, field, nonce, coupon input or checkout button rebuilt.
   ========================================================================== */
/* --- page heading --- */
body.mf-woo .bde-heading{font-family:'Orbitron',sans-serif!important;text-transform:uppercase;letter-spacing:.03em;color:var(--mf-text)!important}
/* --- cart form becomes a HUD panel --- */
body.mf-woo .woocommerce-cart-form{position:relative;padding:1.6rem 1.5rem;clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch));background:linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07)}
body.mf-woo .woocommerce-cart-form::before,body.mf-woo .woocommerce-cart-form::after{content:'';position:absolute;width:14px;height:14px;pointer-events:none}
body.mf-woo .woocommerce-cart-form::before{top:9px;right:9px;border-top:1px solid var(--mf-cyan-lit);border-right:1px solid var(--mf-cyan-lit)}
body.mf-woo .woocommerce-cart-form::after{bottom:9px;left:9px;border-bottom:1px solid var(--mf-cyan-lit);border-left:1px solid var(--mf-cyan-lit)}
/* --- table --- */
body.mf-woo table.shop_table{width:100%;border:none!important;border-collapse:collapse;margin:0;background:transparent}
body.mf-woo table.shop_table th{font-family:var(--mf-mono);font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--mf-muted);border:none;border-bottom:1px solid var(--mf-hair);padding:.9rem .8rem;text-align:left}
body.mf-woo table.shop_table td{border:none;border-bottom:1px solid var(--mf-hair);padding:1.1rem .8rem;vertical-align:middle;background:transparent}
body.mf-woo tr.cart_item:last-child td{border-bottom:1px solid var(--mf-hair)}
body.mf-woo td.product-thumbnail img{width:78px;height:78px;object-fit:cover;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo td.product-name a{font-family:'Orbitron',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;color:var(--mf-text);text-decoration:none}
body.mf-woo td.product-name a:hover{color:var(--mf-cyan-lit)}
body.mf-woo td.product-price,body.mf-woo td.product-subtotal{font-family:'Orbitron',sans-serif;font-weight:700;color:var(--mf-text);font-size:.95rem}
body.mf-woo td.product-subtotal{color:var(--mf-cyan)}
/* remove link as a discreet HUD cross */
body.mf-woo td.product-remove a.remove{display:inline-flex!important;align-items:center;justify-content:center;width:30px;height:30px;background:rgba(255,255,255,.05)!important;box-shadow:inset 0 0 0 1px var(--mf-hair);color:var(--mf-muted)!important;font-size:1rem;line-height:1;text-decoration:none;transition:all .25s var(--mf-ease)}
body.mf-woo td.product-remove a.remove:hover{background:rgba(255,92,108,.15)!important;box-shadow:inset 0 0 0 1px rgba(255,92,108,.6);color:#FF5C6C!important}
/* --- quantity stepper: same neutralisation as v11 --- */
body.mf-woo td.product-quantity .quantity{position:relative!important;max-width:none!important;width:auto!important;display:inline-flex!important;height:46px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--mf-hair);overflow:visible!important}
body.mf-woo td.product-quantity .bde-quantity-button{position:static!important;transform:none!important;top:auto!important;bottom:auto!important;left:auto!important;right:auto!important;width:38px!important;min-width:38px!important;max-width:38px!important;height:46px!important;display:inline-flex!important;align-items:center;justify-content:center;background:transparent;border:none;color:var(--mf-muted);font-family:var(--mf-mono);font-size:1rem;cursor:pointer}
body.mf-woo td.product-quantity .bde-quantity-button:hover{color:var(--mf-cyan);background:rgba(0,212,255,.12)}
body.mf-woo td.product-quantity .quantity input.qty{position:static!important;width:48px!important;min-width:48px!important;max-width:48px!important;height:46px!important;background:transparent!important;border:none!important;box-shadow:none!important;text-align:center;color:var(--mf-text);font-family:'Orbitron',sans-serif;font-weight:700}
/* --- coupon + update row --- */
body.mf-woo .actions{padding-top:1.3rem!important}
body.mf-woo .coupon{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
body.mf-woo .coupon label{font-family:var(--mf-mono);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo #coupon_code,body.mf-woo .coupon input.input-text{background:rgba(255,255,255,.05);border:none;box-shadow:inset 0 0 0 1px var(--mf-hair);color:var(--mf-text);font-family:var(--mf-mono);font-size:.72rem;letter-spacing:.1em;padding:0 1rem;height:44px;min-width:190px;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo #coupon_code:focus{outline:none;box-shadow:inset 0 0 0 1px var(--mf-cyan)}
body.mf-woo #coupon_code::placeholder{color:var(--mf-muted);opacity:.7}
/* secondary buttons: apply coupon, update cart */
body.mf-woo .actions .button,body.mf-woo button[name="apply_coupon"],body.mf-woo button[name="update_cart"]{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 1.4rem;background:rgba(255,255,255,.05)!important;color:var(--mf-cyan-lit)!important;box-shadow:inset 0 0 0 1px rgba(140,232,255,.35);border:none!important;font-family:var(--mf-mono)!important;font-weight:600!important;font-size:.66rem!important;text-transform:uppercase!important;letter-spacing:.14em!important;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:all .25s var(--mf-ease)}
body.mf-woo .actions .button:hover:not(:disabled){background:rgba(255,255,255,.12)!important;box-shadow:inset 0 0 0 1px var(--mf-cyan-lit)}
body.mf-woo .actions .button:disabled{opacity:.4;cursor:not-allowed}
/* --- totals panel --- */
body.mf-woo .cart-collaterals{margin-top:2rem}
body.mf-woo .cart_totals{position:relative;padding:1.6rem 1.5rem;clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch));background:radial-gradient(110% 90% at 90% 0%,rgba(0,212,255,.12),transparent 60%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.55);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07)}
body.mf-woo .cart_totals::before,body.mf-woo .cart_totals::after{content:'';position:absolute;width:14px;height:14px;pointer-events:none}
body.mf-woo .cart_totals::before{top:9px;right:9px;border-top:1px solid var(--mf-cyan-lit);border-right:1px solid var(--mf-cyan-lit)}
body.mf-woo .cart_totals::after{bottom:9px;left:9px;border-bottom:1px solid var(--mf-cyan-lit);border-left:1px solid var(--mf-cyan-lit)}
body.mf-woo .cart_totals h2{font-family:'Orbitron',sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em;font-size:1rem!important;color:var(--mf-text)!important;margin:0 0 1.1rem;padding-bottom:.8rem;border-bottom:1px solid var(--mf-hair)}
body.mf-woo .cart_totals th{font-family:var(--mf-mono);font-size:.64rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mf-muted);padding:.75rem 0;border:none;text-align:left}
body.mf-woo .cart_totals td{padding:.75rem 0;border:none;text-align:right;font-family:'Rajdhani',sans-serif;font-size:1rem;color:var(--mf-text)}
body.mf-woo .cart_totals tr.cart-subtotal td,body.mf-woo .cart_totals tr.tax-rate td{color:var(--mf-muted)}
body.mf-woo .cart_totals tr.order-total th,body.mf-woo .cart_totals tr.order-total td{border-top:1px solid var(--mf-hair);padding-top:1rem}
body.mf-woo .cart_totals tr.order-total td{font-family:'Orbitron',sans-serif;font-weight:900;font-size:1.55rem;color:var(--mf-cyan)}
/* --- proceed to checkout: primary CTA, same glow language --- */
body.mf-woo .wc-proceed-to-checkout{padding:1.2rem 0 0!important}
body.mf-woo a.checkout-button{display:flex!important;align-items:center;justify-content:center;width:100%;height:52px;background:var(--mf-cyan)!important;color:#04121C!important;font-family:var(--mf-mono)!important;font-weight:600!important;font-size:.74rem!important;text-transform:uppercase!important;letter-spacing:.16em!important;border:none!important;text-decoration:none;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);will-change:filter;transition:filter .25s var(--mf-ease)}
html:not(.mf-still) body.mf-woo a.checkout-button{animation:mf-btn-glow 1.9s ease-in-out infinite}
body.mf-woo a.checkout-button:hover{animation:none;filter:brightness(1.25) drop-shadow(0 0 20px rgba(0,212,255,.9))}
/* --- empty cart state --- */
body.mf-woo .cart-empty,body.mf-woo .wc-empty-cart-message .woocommerce-info{font-family:var(--mf-mono);font-size:.74rem;letter-spacing:.1em;color:var(--mf-text)}
body.mf-woo .return-to-shop .button{display:inline-flex;align-items:center;height:46px;padding:0 1.8rem;background:var(--mf-cyan)!important;color:#04121C!important;font-family:var(--mf-mono)!important;font-weight:600!important;font-size:.7rem!important;text-transform:uppercase!important;letter-spacing:.15em!important;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
/* --- responsive: the table collapses to stacked rows --- */
@media(max-width:767px){
body.mf-woo table.shop_table thead{display:none}
body.mf-woo table.shop_table tr.cart_item{display:grid;grid-template-columns:78px 1fr;gap:.4rem .9rem;padding:1rem 0;border-bottom:1px solid var(--mf-hair)}
body.mf-woo table.shop_table tr.cart_item td{border:none;padding:0}
body.mf-woo td.product-thumbnail{grid-row:1 / span 3}
body.mf-woo td.product-remove{grid-column:2;justify-self:end;margin-top:-1.9rem}
body.mf-woo .coupon{width:100%}
body.mf-woo #coupon_code{flex:1 1 auto;min-width:0}
body.mf-woo .woocommerce-cart-form,body.mf-woo .cart_totals{padding:1.2rem 1rem}
}

/* ==========================================================================
   CART v2 - flat greys replaced by the HUD gradient language
   The grey slabs came from Breakdance element settings: #202127 on the
   heading Div and var(--bde-background-color) on the contents table.
   Both now carry the same glass + cyan/violet lighting as the other Woo
   panels, so the page reads as one system.
   ========================================================================== */
/* --- SHOPPING CART title bar --- */
body.mf-woo .mf-cart-head{position:relative;background:radial-gradient(120% 100% at 4% 0%,rgba(0,212,255,.18),transparent 55%),linear-gradient(90deg,rgba(139,92,246,.14),transparent 60%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5)!important;backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.08);border:none!important;padding:.85rem 1.2rem!important;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .mf-cart-head::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--mf-cyan);box-shadow:0 0 12px var(--mf-cyan)}
body.mf-woo .mf-cart-head .bde-heading{font-family:'Orbitron',sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;font-size:1rem!important;color:var(--mf-text)!important}
body.mf-woo .mf-cart-head svg{color:var(--mf-cyan)!important;fill:var(--mf-cyan)!important}
/* --- cart contents: kill the flat grey table slab --- */
body.mf-woo .mf-cart-body table.shop_table,body.mf-woo .mf-cart-body .woocommerce-cart-form table{background:transparent!important}
body.mf-woo .mf-cart-body .bde-cart__contents,body.mf-woo .mf-cart-body .shop-cart__contents{background:transparent!important}
body.mf-woo .woocommerce-cart-form{background:radial-gradient(110% 80% at 6% 0%,rgba(0,212,255,.10),transparent 58%),radial-gradient(90% 80% at 96% 100%,rgba(139,92,246,.13),transparent 62%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5)!important}
/* --- notice bar matches the same language --- */
body.mf-woo .woocommerce-message,body.mf-woo .woocommerce-info{position:relative;background:linear-gradient(90deg,rgba(0,212,255,.10),transparent 55%),rgba(8,10,14,.55)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--mf-hair);border:none!important;border-left:2px solid var(--mf-cyan)!important;color:var(--mf-text)!important;font-family:var(--mf-mono);font-size:.72rem;letter-spacing:.06em;padding:1rem 1.2rem}
body.mf-woo .woocommerce-message .button,body.mf-woo .woocommerce-info .button{background:transparent!important;color:var(--mf-cyan)!important;box-shadow:inset 0 0 0 1px var(--mf-cyan);font-family:var(--mf-mono)!important;font-size:.62rem!important;letter-spacing:.15em!important;text-transform:uppercase!important;padding:.55rem 1.1rem!important;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .woocommerce-message .button:hover{background:var(--mf-cyan)!important;color:#04121C!important}
/* --- apply coupon: secondary, not brand blue --- */
body.mf-woo button[name="apply_coupon"]{background:rgba(255,255,255,.05)!important;color:var(--mf-cyan-lit)!important;box-shadow:inset 0 0 0 1px rgba(140,232,255,.35)!important}
body.mf-woo button[name="apply_coupon"] svg{color:var(--mf-cyan-lit)!important;fill:var(--mf-cyan-lit)!important}
body.mf-woo button[name="apply_coupon"]:hover{background:rgba(255,255,255,.12)!important;box-shadow:inset 0 0 0 1px var(--mf-cyan-lit)!important}
/* --- totals panel: keep Breakdance padding, replace its flat fill --- */
body.mf-woo .cart_totals,body.mf-woo .mf-cart-body .cart_totals{background:radial-gradient(110% 90% at 92% 0%,rgba(0,212,255,.14),transparent 58%),radial-gradient(90% 80% at 6% 100%,rgba(139,92,246,.16),transparent 60%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.55)!important;border:none!important}
/* wallet buttons keep their brand identity - never restyle Apple/Google/Link */
body.mf-woo .wc-stripe-payment-request-wrapper,body.mf-woo #wc-stripe-express-checkout-element{margin-top:.7rem}

/* ==========================================================================
   CART v3 - the grey slab, actual root cause

   It was never a background property on the table. Breakdance paints the
   table through CSS VARIABLES:
     post-8.css   .bde-cart-8-102 .woocommerce-cart-form{
                    --bde-woo-tables__background-color:var(--bde-background-color) }
     breakdance-woocommerce.css   tbody{ background-color:var(--bde-woo-tables__background-color) }
                                  thead{ background-color:var(--bde-woo-tables__header-color) }
   So background:transparent on <table> could never win - the fill lives on
   tbody/thead. The variables themselves have to be neutralised.
   ========================================================================== */
body.mf-woo .woocommerce-cart-form,body.mf-woo .cart-collaterals,body.mf-woo .mf-cart-body,body.mf-woo .breakdance-woocommerce{
  --bde-woo-tables__background-color:transparent!important;
  --bde-woo-tables__header-color:transparent!important;
  --bde-woo-tables__border-color:transparent!important;
  --bde-woo-tables__border-width:0px!important;
  --bde-woo-tables__border-radius:0px!important;
}
/* belt and braces on the painted elements themselves */
body.mf-woo table.shop_table thead,body.mf-woo table.shop_table tbody,body.mf-woo .woocommerce-cart-form__contents thead,body.mf-woo .woocommerce-cart-form__contents tbody{background-color:transparent!important;box-shadow:none!important}
body.mf-woo table.shop_table tr,body.mf-woo table.shop_table th,body.mf-woo table.shop_table td{background-color:transparent!important}
/* the coupon row sat on the same slab */
body.mf-woo tr.woocommerce-cart-form__cart-item,body.mf-woo td.actions{background-color:transparent!important}

/* ==========================================================================
   CHECKOUT - STAGE 4
   CSS only. Nothing here rebuilds a form, a field, a nonce or a payment
   control. The Stripe Payment Element is an IFRAME: site CSS cannot style
   its interior, and no attempt is made to. We style the container only.
   Breakdance paints its Woo tables through --bde-woo-tables__* variables,
   so those are neutralised here as they were on the cart.
   ========================================================================== */
body.mf-woo .woocommerce-checkout,body.mf-woo .checkout,body.mf-woo .mf-co-panel,body.mf-woo .breakdance-woocommerce{--bde-woo-tables__background-color:transparent!important;--bde-woo-tables__header-color:transparent!important;--bde-woo-tables__border-color:var(--mf-hair)!important;--bde-woo-tables__border-radius:0px!important}
/* --- section heading bars --- */
body.mf-woo .mf-co-head{position:relative;background:radial-gradient(120% 100% at 4% 0%,rgba(0,212,255,.18),transparent 55%),linear-gradient(90deg,rgba(139,92,246,.14),transparent 60%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5)!important;backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.08);border:none!important;padding:.85rem 1.2rem!important;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .mf-co-head::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--mf-cyan);box-shadow:0 0 12px var(--mf-cyan)}
body.mf-woo .mf-co-head .bde-heading{font-family:'Orbitron',sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.06em;font-size:1rem!important;color:var(--mf-text)!important}
body.mf-woo .mf-co-head svg{color:var(--mf-cyan)!important;fill:var(--mf-cyan)!important}
/* --- panels --- */
body.mf-woo .mf-co-panel,body.mf-woo .checkout-summary .bde-woo-checkout-order-review__inner,body.mf-woo #order_review{position:relative;background:radial-gradient(110% 80% at 6% 0%,rgba(0,212,255,.10),transparent 58%),radial-gradient(90% 80% at 96% 100%,rgba(139,92,246,.13),transparent 62%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5)!important;backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07);border:none!important;clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch))}
body.mf-woo .mf-co-panel::before,body.mf-woo .mf-co-panel::after{content:'';position:absolute;width:14px;height:14px;pointer-events:none;z-index:3}
body.mf-woo .mf-co-panel::before{top:9px;right:9px;border-top:1px solid var(--mf-cyan-lit);border-right:1px solid var(--mf-cyan-lit)}
body.mf-woo .mf-co-panel::after{bottom:9px;left:9px;border-bottom:1px solid var(--mf-cyan-lit);border-left:1px solid var(--mf-cyan-lit)}
/* --- FORM FIELDS: the biggest friction surface on this page --- */
body.mf-woo .woocommerce-billing-fields h3,body.mf-woo .woocommerce-shipping-fields h3,body.mf-woo .woocommerce-additional-fields h3{font-family:var(--mf-mono)!important;font-size:.66rem!important;font-weight:500!important;letter-spacing:.2em;text-transform:uppercase;color:var(--mf-cyan)!important;margin:0 0 1.1rem}
body.mf-woo .form-row label,body.mf-woo .woocommerce-input-wrapper label{font-family:var(--mf-mono);font-size:.6rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--mf-muted);margin-bottom:.4rem;display:block}
body.mf-woo .form-row .required{color:var(--mf-cyan);text-decoration:none}
body.mf-woo .form-row input.input-text,body.mf-woo .form-row textarea,body.mf-woo .form-row select,body.mf-woo .select2-selection{background:rgba(255,255,255,.05)!important;border:none!important;box-shadow:inset 0 0 0 1px var(--mf-hair)!important;color:var(--mf-text)!important;font-family:'Rajdhani',sans-serif!important;font-size:1rem!important;height:50px;padding:0 1rem!important;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));transition:box-shadow .2s var(--mf-ease)}
body.mf-woo .form-row textarea{height:auto;padding:.9rem 1rem!important;min-height:100px}
body.mf-woo .form-row input.input-text:focus,body.mf-woo .form-row textarea:focus,body.mf-woo .form-row select:focus{outline:none!important;box-shadow:inset 0 0 0 1px var(--mf-cyan),0 0 0 3px rgba(0,212,255,.15)!important}
body.mf-woo .form-row input::placeholder,body.mf-woo .form-row textarea::placeholder{color:var(--mf-muted);opacity:.6}
/* clear inline validation feedback - reduces re-submit friction */
body.mf-woo .woocommerce-invalid input.input-text,body.mf-woo .woocommerce-invalid select,body.mf-woo .woocommerce-invalid .select2-selection{box-shadow:inset 0 0 0 1px #FF5C6C!important}
body.mf-woo .woocommerce-validated input.input-text,body.mf-woo .woocommerce-validated select{box-shadow:inset 0 0 0 1px rgba(93,202,165,.7)!important}
/* select2 dropdown */
body.mf-woo .select2-container--default .select2-selection--single{height:50px!important;display:flex;align-items:center}
body.mf-woo .select2-container--default .select2-selection__rendered{color:var(--mf-text)!important;line-height:normal!important;padding-left:0!important}
body.mf-woo .select2-dropdown{background:#0B1524!important;border:1px solid var(--mf-hair)!important;border-radius:0!important}
body.mf-woo .select2-results__option{font-family:'Rajdhani',sans-serif;color:var(--mf-muted)}
body.mf-woo .select2-results__option--highlighted{background:rgba(0,212,255,.18)!important;color:var(--mf-text)!important}
body.mf-woo .select2-search__field{background:rgba(255,255,255,.05)!important;border:1px solid var(--mf-hair)!important;color:var(--mf-text)!important}
/* checkboxes: create-account, terms */
body.mf-woo .woocommerce-form__label-for-checkbox{display:flex!important;align-items:flex-start;gap:.6rem;font-family:'Rajdhani',sans-serif;font-size:.95rem;color:var(--mf-muted);cursor:pointer}
body.mf-woo input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:18px;height:18px;flex:0 0 auto;margin-top:.15rem;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--mf-hair);cursor:pointer;position:relative;transition:all .2s var(--mf-ease)}
body.mf-woo input[type="checkbox"]:checked{background:var(--mf-cyan);box-shadow:inset 0 0 0 1px var(--mf-cyan)}
body.mf-woo input[type="checkbox"]:checked::after{content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #04121C;border-width:0 2px 2px 0;transform:rotate(45deg)}
/* --- ORDER REVIEW --- */
body.mf-woo #order_review table.shop_table thead th{font-family:var(--mf-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mf-muted);border:none;border-bottom:1px solid var(--mf-hair);padding:.8rem 0}
body.mf-woo #order_review table.shop_table td,body.mf-woo #order_review table.shop_table th{border:none;border-bottom:1px solid var(--mf-hair);padding:.85rem 0;background:transparent!important}
body.mf-woo #order_review .product-name{font-family:'Rajdhani',sans-serif;font-size:.98rem;color:var(--mf-text)}
body.mf-woo #order_review .product-total,body.mf-woo #order_review .cart-subtotal td{font-family:'Orbitron',sans-serif;font-weight:700;color:var(--mf-text)}
body.mf-woo #order_review tr.order-total th{font-family:var(--mf-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo #order_review tr.order-total td{font-family:'Orbitron',sans-serif;font-weight:900;font-size:1.5rem;color:var(--mf-cyan)}
/* recurring totals for subscriptions must stay legible - legal requirement */
body.mf-woo .recurring-total,body.mf-woo .recurring-totals,body.mf-woo .subscription-details{display:table-row!important;font-family:var(--mf-mono)!important;font-size:.66rem!important;letter-spacing:.08em;color:var(--mf-muted)!important}
/* RECURRING TOTAL ROW (2026-10-27): WCS prints it as tr.order-total.recurring-total, so it inherited the 1.5rem cyan grand-total style (and so did the first renewal date). Back to the subtotal scale; terms stay fully legible (legal). */
body.mf-woo #order_review tr.order-total.recurring-total td,body.mf-woo .cart_totals tr.order-total.recurring-total td{font-family:'Orbitron',sans-serif;font-weight:700;font-size:1rem;line-height:1.35;color:var(--mf-text)}
body.mf-woo tr.order-total.recurring-total td .amount,body.mf-woo tr.order-total.recurring-total td bdi{font-size:inherit;color:inherit}
body.mf-woo tr.recurring-total td small.first-payment-date{display:block;margin-top:.35rem;font-family:var(--mf-mono);font-weight:400;font-size:.66rem;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--mf-muted)}
/* --- PAYMENT --- */
body.mf-woo .wc_payment_methods{list-style:none;margin:0;padding:0}
body.mf-woo li.wc_payment_method{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--mf-hair);margin-bottom:.6rem;padding:1rem 1.1rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));transition:all .25s var(--mf-ease)}
body.mf-woo li.wc_payment_method:hover{background:rgba(0,212,255,.06);box-shadow:inset 0 0 0 1px rgba(0,212,255,.35)}
body.mf-woo li.wc_payment_method label{font-family:var(--mf-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mf-text);cursor:pointer}
body.mf-woo input[type="radio"]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border-radius:50%!important;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--mf-hair);position:relative;cursor:pointer;margin-right:.6rem;vertical-align:-2px}
body.mf-woo input[type="radio"]:checked{box-shadow:inset 0 0 0 1px var(--mf-cyan)}
body.mf-woo input[type="radio"]:checked::after{content:'';position:absolute;inset:4px;border-radius:50%;background:var(--mf-cyan)}
/* Stripe mounts an iframe here: give it room and a frame, never touch inside */
body.mf-woo .payment_box{background:rgba(0,0,0,.25)!important;box-shadow:inset 0 0 0 1px var(--mf-hair);margin-top:.8rem;padding:1.1rem!important;border-radius:0!important}
body.mf-woo .payment_box::before{display:none!important}
/* --- PLACE ORDER --- */
body.mf-woo #place_order,body.mf-woo .woocommerce-checkout button[type="submit"]{display:flex!important;align-items:center;justify-content:center;width:100%;height:56px;background:var(--mf-cyan)!important;color:#04121C!important;font-family:var(--mf-mono)!important;font-weight:600!important;font-size:.78rem!important;text-transform:uppercase!important;letter-spacing:.16em!important;border:none!important;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);will-change:filter;transition:filter .25s var(--mf-ease)}
html:not(.mf-still) body.mf-woo #place_order{animation:mf-btn-glow 1.9s ease-in-out infinite}
body.mf-woo #place_order:hover{animation:none;filter:brightness(1.25) drop-shadow(0 0 20px rgba(0,212,255,.9))}
/* --- notices, coupon toggle, login toggle --- */
body.mf-woo .woocommerce-form-coupon-toggle .woocommerce-info,body.mf-woo .woocommerce-form-login-toggle .woocommerce-info{font-family:var(--mf-mono);font-size:.68rem;letter-spacing:.06em}
body.mf-woo .woocommerce-error{border-left-color:#FF5C6C!important}
body.mf-woo .woocommerce-error li{font-family:var(--mf-mono);font-size:.7rem;color:var(--mf-text)}
/* --- responsive --- */
@media(max-width:1023px){
body.mf-woo .mf-co-panel{padding:1.3rem 1.1rem!important}
body.mf-woo .form-row input.input-text,body.mf-woo .form-row select{height:48px}
body.mf-woo #place_order{height:52px;font-size:.72rem!important}
}

/* ==========================================================================
   AJAX LOADER - replaces the WooCommerce blockUI veil

   WooCommerce blocks the cart/checkout during every AJAX round trip with
   jQuery blockUI, which injects .blockUI.blockOverlay carrying INLINE
   styles (white background, opacity .6). That white wash is what reads as
   a broken page. Inline styles mean !important is required here.
   No markup is added: the plane and the caption are pseudo-elements.
   ========================================================================== */
body.mf-woo .blockUI.blockOverlay{background:rgba(5,8,16,.86)!important;opacity:1!important;backdrop-filter:blur(6px) saturate(1.2);-webkit-backdrop-filter:blur(6px) saturate(1.2);cursor:progress}
/* runway line the aircraft travels along */
body.mf-woo .blockUI.blockOverlay::after{content:'';position:absolute;left:12%;right:12%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--mf-hair) 15%,var(--mf-hair) 85%,transparent);pointer-events:none}
/* the aircraft itself, flying the line with a cyan trail */
body.mf-woo .blockUI.blockOverlay::before{content:'';position:absolute;top:50%;left:12%;width:26px;height:26px;margin-top:-13px;background-color:var(--mf-cyan);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21 16v-2l-8-5V3.5A1.5 1.5 0 0 0 11.5 2A1.5 1.5 0 0 0 10 3.5V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1l3.5 1v-1.5L13 19v-5.5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M21 16v-2l-8-5V3.5A1.5 1.5 0 0 0 11.5 2A1.5 1.5 0 0 0 10 3.5V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1l3.5 1v-1.5L13 19v-5.5z'/%3E%3C/svg%3E");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;transform:rotate(90deg);filter:drop-shadow(0 0 10px rgba(0,212,255,.8));pointer-events:none;animation:mf-fly 1.6s cubic-bezier(.45,0,.55,1) infinite}
@keyframes mf-fly{0%{left:12%;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(88% - 26px);opacity:0}}
/* blockUI also injects a message box - keep it out of the way */
body.mf-woo .blockUI.blockMsg{background:transparent!important;border:none!important;color:var(--mf-cyan)!important;font-family:var(--mf-mono)!important;font-size:.62rem!important;letter-spacing:.24em;text-transform:uppercase}
/* WooCommerce also uses .loader and a spinner on some controls */
body.mf-woo .woocommerce .loader::before,body.mf-woo .blockUI.blockOverlay .loader{display:none!important}
body.mf-woo .wc-block-components-spinner::after{border-color:var(--mf-cyan) transparent transparent transparent!important}
/* buttons in their own loading state */
body.mf-woo .button.loading,body.mf-woo .single_add_to_cart_button.loading,body.mf-woo .add_to_cart_button.loading{opacity:.75;pointer-events:none;animation:none!important}
body.mf-woo .button.loading::after{border-top-color:#04121C!important}
@media(prefers-reduced-motion:reduce){
body.mf-woo .blockUI.blockOverlay::before{animation:none;left:50%;margin-left:-13px}
}

/* ==========================================================================
   ORDER RECEIVED (thank you) - STAGE 5
   ========================================================================== */
/* --- confirmation banner --- */
body.mf-woo .woocommerce-notice--success,body.mf-woo .woocommerce-thankyou-order-received{position:relative;display:block;background:linear-gradient(90deg,rgba(93,202,165,.14),transparent 60%),rgba(8,10,14,.55)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1px var(--mf-hair);border:none!important;border-left:2px solid #5DCAA5!important;color:var(--mf-text)!important;font-family:var(--mf-mono)!important;font-size:.78rem!important;letter-spacing:.08em;text-transform:uppercase;padding:1.15rem 1.3rem!important;margin:0 0 1.5rem}
body.mf-woo .woocommerce-notice--success::before{display:none!important}
/* --- SYNC NOTICE: the loudest block on the page --- */
body.mf-woo .mf-sync{position:relative;margin:0 0 2rem;padding:2rem 1.9rem;clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch));background:radial-gradient(120% 90% at 8% 0%,rgba(0,212,255,.20),transparent 58%),radial-gradient(100% 90% at 95% 100%,rgba(139,92,246,.18),transparent 60%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.55);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px rgba(0,212,255,.4),inset 0 1px 0 rgba(255,255,255,.09),0 20px 60px rgba(0,0,0,.45)}
body.mf-woo .mf-sync::before,body.mf-woo .mf-sync::after{content:'';position:absolute;width:16px;height:16px;pointer-events:none}
body.mf-woo .mf-sync::before{top:9px;right:9px;border-top:1px solid var(--mf-cyan);border-right:1px solid var(--mf-cyan)}
body.mf-woo .mf-sync::after{bottom:9px;left:9px;border-bottom:1px solid var(--mf-cyan);border-left:1px solid var(--mf-cyan)}
body.mf-woo .mf-sync-tag{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--mf-mono);font-size:.6rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--mf-cyan);margin-bottom:.9rem}
body.mf-woo .mf-sync-tag::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--mf-cyan);box-shadow:0 0 10px var(--mf-cyan)}
html:not(.mf-still) body.mf-woo .mf-sync-tag::before{animation:mf-blip 1.8s ease-in-out infinite}
@keyframes mf-blip{0%,100%{opacity:1}50%{opacity:.25}}
body.mf-woo .mf-sync-h{font-family:'Orbitron',sans-serif!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.03em;font-size:clamp(1.25rem,2.4vw,1.75rem)!important;line-height:1.15;color:var(--mf-text)!important;margin:0 0 .8rem!important}
body.mf-woo .mf-sync-p{font-family:'Rajdhani',sans-serif;font-size:1.05rem;line-height:1.7;color:#C3D4E6;margin:0 0 1.2rem;max-width:660px}
body.mf-woo ul.mf-sync-list{list-style:none;margin:0 0 1.5rem;padding:0;border-top:1px solid var(--mf-hair)}
body.mf-woo ul.mf-sync-list li{display:flex;align-items:flex-start;gap:.75rem;padding:.7rem 0;border-bottom:1px solid var(--mf-hair);font-family:'Rajdhani',sans-serif;font-size:.98rem;line-height:1.5;color:var(--mf-muted)}
body.mf-woo ul.mf-sync-list li::marker{content:''}
body.mf-woo ul.mf-sync-list li::before{content:'';flex:0 0 auto;margin-top:.4rem;width:8px;height:8px;border-top:1px solid var(--mf-cyan);border-right:1px solid var(--mf-cyan);transform:rotate(45deg)}
body.mf-woo a.mf-sync-cta{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 1.8rem;background:rgba(255,255,255,.05);color:var(--mf-cyan-lit);box-shadow:inset 0 0 0 1px rgba(140,232,255,.4);font-family:var(--mf-mono);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;text-decoration:none;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:all .25s var(--mf-ease)}
 body.mf-woo a.mf-sync-cta:hover{background:var(--mf-cyan);color:#04121C;box-shadow:none;filter:drop-shadow(0 0 16px rgba(0,212,255,.7))}

/* --------------------------------------------------------------------------
   FLIGHTCOINS ON THE PURCHASE RECORD (2026-09-05).
   Until now the amount bought only existed in a product description, so a
   pilot had to walk back into the Store to know what he had just paid for.
   Amber is the currency colour and nothing else wears it. These are purchase
   screens, not gameplay ones, so a euro total and an FC figure may share a
   page: that exemption is exactly what makes a receipt readable.
   -------------------------------------------------------------------------- */
/* Thank-you page: the headline figure, straight under the title. */
body.mf-woo .mf-sync-fc{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem 1rem;
  margin:0 0 1.25rem;padding:.85rem 1.1rem;
  background:linear-gradient(90deg,rgba(255,176,32,.14),rgba(255,176,32,.03));
  box-shadow:inset 0 0 0 1px rgba(255,176,32,.34);
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
}
body.mf-woo .mf-sync-fc-k{
  font-family:var(--mf-mono);font-size:.6rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--mf-muted);
}
body.mf-woo .mf-sync-fc-v{
  font-family:'Orbitron',sans-serif;font-weight:900;
  font-size:clamp(1.35rem,3vw,1.9rem);line-height:1;letter-spacing:.02em;
  color:var(--mf-amber);white-space:nowrap;
}
/* Per order line, in the WooCommerce order table. One hook draws this on the
   thank-you page and on my-account order detail, so one rule styles both. */
body.mf-woo .mf-fc-line{
  display:flex;align-items:baseline;flex-wrap:wrap;gap:.15rem .55rem;
  margin-top:.45rem;
}
body.mf-woo .mf-fc-line-k{
  font-family:var(--mf-mono);font-size:.55rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mf-muted);
}
body.mf-woo .mf-fc-line-v{
  font-family:'Orbitron',sans-serif;font-weight:700;font-size:.95rem;
  color:var(--mf-amber);white-space:nowrap;
}
body.mf-woo .mf-fc-line-b{
  font-family:var(--mf-mono);font-size:.58rem;letter-spacing:.08em;
  color:var(--mf-muted);white-space:nowrap;
}
/* --- order overview strip --- */
body.mf-woo ul.woocommerce-order-overview,body.mf-woo ul.order_details{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;list-style:none;margin:0 0 2rem;padding:0;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair)}
body.mf-woo ul.woocommerce-order-overview li{position:relative;border:none!important;padding:1.2rem 1.2rem!important;margin:0!important;font-family:var(--mf-mono);font-size:.6rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo ul.woocommerce-order-overview li + li::before{content:'';position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--mf-hair)}
body.mf-woo ul.woocommerce-order-overview li strong{display:block;margin-top:.5rem;font-family:'Orbitron',sans-serif;font-weight:700;font-size:.95rem;letter-spacing:.02em;text-transform:none;color:var(--mf-text)}
/* --- order details table --- */
body.mf-woo .woocommerce-order-details__title,body.mf-woo .woocommerce-column__title{font-family:'Orbitron',sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em;font-size:1.05rem!important;color:var(--mf-text)!important;margin:0 0 1.1rem;padding-bottom:.8rem;border-bottom:1px solid var(--mf-hair)}
body.mf-woo table.order_details,body.mf-woo table.woocommerce-table--order-details{width:100%;border:none!important;border-collapse:collapse;background:transparent!important}
body.mf-woo table.order_details th,body.mf-woo table.order_details td{border:none!important;border-bottom:1px solid var(--mf-hair)!important;padding:.95rem 0!important;background:transparent!important}
body.mf-woo table.order_details thead th{font-family:var(--mf-mono);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo table.order_details td.product-name,body.mf-woo table.order_details td.woocommerce-table__product-name{font-family:'Orbitron',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.88rem;color:var(--mf-text)}
body.mf-woo table.order_details td.product-name a{color:var(--mf-text);text-decoration:none}
body.mf-woo table.order_details td.product-name a:hover{color:var(--mf-cyan-lit)}
body.mf-woo table.order_details tfoot th{font-family:var(--mf-mono);font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mf-muted);text-align:left}
body.mf-woo table.order_details tfoot td{font-family:'Orbitron',sans-serif;font-weight:700;color:var(--mf-text);text-align:right}
body.mf-woo table.order_details tfoot tr:last-child th,body.mf-woo table.order_details tfoot tr:last-child td{border-bottom:none!important;padding-top:1.1rem!important}
body.mf-woo table.order_details tfoot tr:last-child td{font-family:'Orbitron',sans-serif;font-weight:900;font-size:1.4rem;color:var(--mf-cyan)}
/* --- addresses --- */
body.mf-woo .woocommerce-customer-details{margin-top:2rem}
body.mf-woo .woocommerce-columns--addresses,body.mf-woo .woocommerce-customer-details .col2-set{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.2rem}
body.mf-woo .woocommerce-column--billing-address,body.mf-woo .woocommerce-column--shipping-address{position:relative;padding:1.5rem 1.4rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair);width:auto;float:none}
body.mf-woo .woocommerce-customer-details address{font-family:'Rajdhani',sans-serif;font-size:1rem;line-height:1.7;color:var(--mf-muted);font-style:normal;border:none!important;padding:0!important}
/* --- downloads, if any --- */
body.mf-woo .woocommerce-order-downloads__title{font-family:'Orbitron',sans-serif!important;text-transform:uppercase;letter-spacing:.05em;color:var(--mf-text)!important}
@media(max-width:767px){
body.mf-woo .mf-sync{padding:1.4rem 1.2rem}
body.mf-woo ul.woocommerce-order-overview{grid-template-columns:1fr}
body.mf-woo ul.woocommerce-order-overview li + li::before{left:12%;right:12%;top:0;bottom:auto;width:auto;height:1px}
body.mf-woo a.mf-sync-cta{width:100%}
}

/* ==========================================================================
   ORDER RECEIVED v2 - the two remaining surfaces
   Markup read from wc_get_template(checkout/thankyou.php):
     section.woocommerce-order-details    - had no panel, sat on the field
     section.woocommerce-customer-details - holds h2 + <address> DIRECTLY,
       with no .woocommerce-column--billing-address wrapper, which is why
       the earlier rule missed it and the theme grey showed through.
   ========================================================================== */
body.mf-woo section.woocommerce-order-details,body.mf-woo section.woocommerce-customer-details{position:relative;padding:1.8rem 1.7rem!important;margin:0 0 1.6rem!important;clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch));background:radial-gradient(110% 80% at 6% 0%,rgba(0,212,255,.10),transparent 58%),radial-gradient(90% 80% at 96% 100%,rgba(139,92,246,.13),transparent 62%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5)!important;backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07);border:none!important}
body.mf-woo section.woocommerce-order-details::before,body.mf-woo section.woocommerce-customer-details::before{content:'';position:absolute;top:9px;right:9px;width:14px;height:14px;border-top:1px solid var(--mf-cyan-lit);border-right:1px solid var(--mf-cyan-lit);pointer-events:none}
body.mf-woo section.woocommerce-order-details::after,body.mf-woo section.woocommerce-customer-details::after{content:'';position:absolute;bottom:9px;left:9px;width:14px;height:14px;border-bottom:1px solid var(--mf-cyan-lit);border-left:1px solid var(--mf-cyan-lit);pointer-events:none}
/* the address block itself carried the theme grey */
body.mf-woo .woocommerce-customer-details address{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;margin:0!important;font-family:'Rajdhani',sans-serif;font-size:1rem;line-height:1.75;color:var(--mf-muted);font-style:normal}
body.mf-woo .woocommerce-customer-details--email,body.mf-woo .woocommerce-customer-details--phone{font-family:var(--mf-mono);font-size:.72rem;letter-spacing:.06em;color:var(--mf-cyan-lit);margin:.5rem 0 0}
/* order actions (pay / cancel) as secondary HUD buttons */
body.mf-woo .order-actions-button,body.mf-woo .woocommerce-button.button{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 1.2rem;background:rgba(255,255,255,.05)!important;color:var(--mf-cyan-lit)!important;box-shadow:inset 0 0 0 1px rgba(140,232,255,.35);border:none!important;font-family:var(--mf-mono)!important;font-weight:600!important;font-size:.62rem!important;text-transform:uppercase!important;letter-spacing:.14em!important;text-decoration:none;margin-right:.5rem;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px)}
body.mf-woo .order-actions-button:hover{background:rgba(255,255,255,.12)!important;box-shadow:inset 0 0 0 1px var(--mf-cyan-lit)}
body.mf-woo .order-actions--heading{font-family:var(--mf-mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mf-muted)}
@media(max-width:767px){
body.mf-woo section.woocommerce-order-details,body.mf-woo section.woocommerce-customer-details{padding:1.3rem 1.1rem!important}
}

/* ==========================================================================
   SAVE CARD - one-tap toggle
   The WooCommerce/Stripe tokenisation checkbox is the mechanism that keeps
   the card on the MetaFlight account, which is what makes a second purchase
   a single tap. It shipped as a bare checkbox buried under the card fields;
   here it becomes a deliberate switch with a visible benefit.
   NOTE: the Stripe Link prompt lives INSIDE the payment iframe and cannot
   be reached from site CSS - it is turned off in the gateway, not here.
   ========================================================================== */
body.mf-woo .woocommerce-SavedPaymentMethods-saveNew,body.mf-woo p.form-row:has(#wc-stripe-new-payment-method),body.mf-woo .wc-stripe-save-payment-method{display:flex!important;align-items:center;gap:.9rem;margin:1rem 0 0!important;padding:.95rem 1.1rem;background:rgba(0,212,255,.06);box-shadow:inset 0 0 0 1px rgba(0,212,255,.3);clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));cursor:pointer;transition:background .25s var(--mf-ease),box-shadow .25s var(--mf-ease)}
body.mf-woo .woocommerce-SavedPaymentMethods-saveNew:hover,body.mf-woo p.form-row:has(#wc-stripe-new-payment-method):hover{background:rgba(0,212,255,.12);box-shadow:inset 0 0 0 1px rgba(0,212,255,.55)}
/* the checkbox itself becomes a switch */
body.mf-woo #wc-stripe-new-payment-method{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 auto;width:42px!important;height:24px!important;margin:0!important;background:rgba(255,255,255,.09)!important;box-shadow:inset 0 0 0 1px var(--mf-hair)!important;border-radius:999px!important;cursor:pointer;transition:background .25s var(--mf-ease),box-shadow .25s var(--mf-ease)}
body.mf-woo #wc-stripe-new-payment-method::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%!important;background:var(--mf-muted);transition:transform .25s var(--mf-ease),background .25s var(--mf-ease)}
body.mf-woo #wc-stripe-new-payment-method:checked{background:var(--mf-cyan)!important;box-shadow:inset 0 0 0 1px var(--mf-cyan),0 0 16px rgba(0,212,255,.45)!important}
body.mf-woo #wc-stripe-new-payment-method:checked::after{transform:translateX(18px);background:#04121C}
body.mf-woo #wc-stripe-new-payment-method:focus-visible{outline:2px solid var(--mf-cyan);outline-offset:3px}
/* label carries the benefit, plus a supporting line */
body.mf-woo label[for="wc-stripe-new-payment-method"]{flex:1 1 auto;margin:0!important;font-family:var(--mf-mono)!important;font-size:.68rem!important;font-weight:500!important;letter-spacing:.1em;text-transform:uppercase;color:var(--mf-text)!important;cursor:pointer;line-height:1.5}
body.mf-woo label[for="wc-stripe-new-payment-method"]::after{content:'Stored securely on your MetaFlight account. Change it anytime.';display:block;margin-top:.3rem;font-family:'Rajdhani',sans-serif;font-size:.85rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--mf-muted)}
/* saved cards list, for returning customers - this is the one-tap path */
body.mf-woo .woocommerce-SavedPaymentMethods{list-style:none;margin:0 0 1rem;padding:0}
body.mf-woo .woocommerce-SavedPaymentMethods-token{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.1rem;margin-bottom:.5rem;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--mf-hair);clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));cursor:pointer;transition:all .25s var(--mf-ease)}
body.mf-woo .woocommerce-SavedPaymentMethods-token:hover{background:rgba(0,212,255,.07);box-shadow:inset 0 0 0 1px rgba(0,212,255,.4)}
body.mf-woo .woocommerce-SavedPaymentMethods-token label{font-family:var(--mf-mono);font-size:.7rem;letter-spacing:.08em;color:var(--mf-text);cursor:pointer;margin:0}

/* ==========================================================================
   TERMS ACCEPTANCE - make the blocker findable
   The error notice sits at the top of the page while the checkbox that
   causes it sits at the very bottom in 11px type. Users who cannot find
   what to tick abandon. The row is promoted to a deliberate, full-width
   consent panel, and turns red the moment validation fails.
   ========================================================================== */
body.mf-woo .woocommerce-terms-and-conditions-wrapper{margin:1.4rem 0 0}
body.mf-woo .woocommerce-terms-and-conditions-checkbox-text,body.mf-woo p.form-row.validate-required:has(#terms){display:flex!important;align-items:center;gap:.95rem;margin:0!important;padding:1.1rem 1.2rem;background:rgba(0,212,255,.06);box-shadow:inset 0 0 0 1px rgba(0,212,255,.35);clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));cursor:pointer;transition:background .25s var(--mf-ease),box-shadow .25s var(--mf-ease)}
body.mf-woo p.form-row.validate-required:has(#terms):hover{background:rgba(0,212,255,.11);box-shadow:inset 0 0 0 1px rgba(0,212,255,.6)}
/* the checkbox becomes the same switch as the save-card one */
body.mf-woo #terms{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 auto;width:42px!important;height:24px!important;margin:0!important;background:rgba(255,255,255,.09)!important;box-shadow:inset 0 0 0 1px var(--mf-hair)!important;border-radius:999px!important;cursor:pointer;transition:background .25s var(--mf-ease),box-shadow .25s var(--mf-ease)}
body.mf-woo #terms::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%!important;background:var(--mf-muted);transition:transform .25s var(--mf-ease),background .25s var(--mf-ease)}
body.mf-woo #terms:checked{background:var(--mf-cyan)!important;box-shadow:inset 0 0 0 1px var(--mf-cyan),0 0 16px rgba(0,212,255,.45)!important}
body.mf-woo #terms:checked::after{transform:translateX(18px);background:#04121C}
body.mf-woo #terms:focus-visible{outline:2px solid var(--mf-cyan);outline-offset:3px}
/* readable label, not 11px grey */
body.mf-woo .woocommerce-terms-and-conditions-checkbox-text{font-family:'Rajdhani',sans-serif!important;font-size:1rem!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--mf-text)!important;line-height:1.5}
body.mf-woo .woocommerce-terms-and-conditions-checkbox-text a{color:var(--mf-cyan-lit);text-decoration:underline}
body.mf-woo .woocommerce-terms-and-conditions-wrapper .required{color:var(--mf-cyan);margin-left:.2rem}
/* --- ERROR STATE: the row that blocks the order announces itself --- */
body.mf-woo p.form-row.validate-required.woocommerce-invalid:has(#terms),body.mf-woo .mf-terms-alert{background:rgba(255,92,108,.10)!important;box-shadow:inset 0 0 0 1px rgba(255,92,108,.75)!important}
body.mf-woo p.form-row.validate-required.woocommerce-invalid:has(#terms) .woocommerce-terms-and-conditions-checkbox-text,body.mf-woo .mf-terms-alert .woocommerce-terms-and-conditions-checkbox-text{color:#FFD3D7!important}
html:not(.mf-still) body.mf-woo .mf-terms-alert{animation:mf-terms-flash 1.1s ease-in-out 3}
@keyframes mf-terms-flash{0%,100%{box-shadow:inset 0 0 0 1px rgba(255,92,108,.75)}50%{box-shadow:inset 0 0 0 2px rgba(255,92,108,1),0 0 26px rgba(255,92,108,.55)}}
/* the duplicated inline reminder under the panel is noise once the panel shouts */
body.mf-woo .woocommerce-terms-and-conditions-wrapper > p:not(.form-row){font-family:var(--mf-mono);font-size:.66rem;letter-spacing:.08em;color:var(--mf-muted);margin-top:.7rem}

/* ==========================================================================
   MY ACCOUNT - STAGE 6
   Sidebar navigation grouped into four families, a status dashboard and
   orders as rows. Group headings are drawn with ::before on the first item
   of each family, so no markup is invented.
   ========================================================================== */
body.mf-woo .woocommerce-account .woocommerce{--bde-woo-tables__background-color:transparent!important;--bde-woo-tables__header-color:transparent!important}
body.mf-woo .woocommerce-MyAccount-navigation{width:230px;float:none;margin:0}
body.mf-woo .woocommerce-account .woocommerce,body.mf-woo .bde-woo-account{display:grid!important;grid-template-columns:230px minmax(0,1fr);gap:2rem;align-items:start}
body.mf-woo .woocommerce-MyAccount-content{width:auto;float:none;margin:0;min-width:0}
/* --- sidebar --- */
body.mf-woo .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}
body.mf-woo .woocommerce-MyAccount-navigation li{margin:0}
body.mf-woo .woocommerce-MyAccount-navigation li a{display:block;padding:.7rem .9rem;font-family:var(--mf-mono);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--mf-muted);text-decoration:none;border-left:2px solid transparent;transition:all .25s var(--mf-ease)}
body.mf-woo .woocommerce-MyAccount-navigation li a:hover{color:var(--mf-cyan-lit);background:rgba(0,212,255,.06);border-left-color:rgba(0,212,255,.4)}
body.mf-woo .woocommerce-MyAccount-navigation li.is-active a{color:var(--mf-text);background:rgba(0,212,255,.1);border-left-color:var(--mf-cyan)}
/* group headings, drawn on the first item of each family */
body.mf-woo .woocommerce-MyAccount-navigation li::before{display:block;font-family:var(--mf-mono);font-size:.55rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--mf-cyan);padding:1.3rem .9rem .45rem}
body.mf-woo .woocommerce-MyAccount-navigation-link--dashboard::before{content:'Pilot';padding-top:.2rem!important}
body.mf-woo .woocommerce-MyAccount-navigation-link--orders::before{content:'Purchases'}
body.mf-woo .woocommerce-MyAccount-navigation-link--edit-address::before{content:'Account'}
body.mf-woo .woocommerce-MyAccount-navigation-link--support-ticket::before{content:'Help'}
/* LOG OUT (2026-09-25). Was muted grey and read as disabled. Now the only red
   item of the account: outline + power glyph, never a fill (a red fill reads
   as an alarm). --mf-danger is reserved for leaving/destructive actions.
   SCOPE: the live account layer is .bde-woopageaccount ... ul li a, which locks
   color, background and border-left-color with !important at (0,3,4). These
   rules sit in the same scope at (0,4,4) and restate !important on exactly
   those three properties, nothing else. */
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a{
  display:flex;flex-direction:row;align-items:center;gap:.6rem;
  color:var(--mf-danger)!important;font-weight:600!important;
  background:transparent!important;border-left-color:transparent!important;
  box-shadow:inset 0 0 0 1px var(--mf-danger-line);
  clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));
}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a::before{
  content:'';width:14px;height:14px;flex:0 0 auto;
  background-color:currentColor;
  -webkit-mask-image:var(--mf-i-power);mask-image:var(--mf-i-power);
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain;
}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover,
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:focus-visible{
  color:var(--mf-danger)!important;background:var(--mf-danger-wash)!important;
  border-left-color:transparent!important;
  box-shadow:inset 0 0 0 1px var(--mf-danger);outline:none;
}
/* sidebar layout only: set apart at the foot of the list, under a hairline */
@media(min-width:1024px){
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout{
  margin-top:.9rem;padding-top:.9rem;box-shadow:inset 0 1px 0 0 var(--mf-hair);
}
}
/* --- dashboard cards --- */
body.mf-woo .mf-acc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:1rem;margin-bottom:1.4rem}
body.mf-woo .mf-acc-card{position:relative;display:flex;flex-direction:column;padding:1.3rem 1.2rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07)}
body.mf-woo .mf-acc-card--sub{background:radial-gradient(110% 90% at 88% 0%,rgba(139,92,246,.22),transparent 60%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);box-shadow:inset 0 0 0 1px rgba(139,92,246,.45),inset 0 1px 0 rgba(255,255,255,.08)}
body.mf-woo .mf-acc-card-label{font-family:var(--mf-mono);font-size:.58rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo .mf-acc-card-value{font-family:'Orbitron',sans-serif;font-weight:700;font-size:1.2rem;line-height:1.2;color:var(--mf-text);margin:.5rem 0 .35rem}
body.mf-woo .mf-acc-card-value--off{color:var(--mf-muted)}
body.mf-woo .mf-acc-card-meta{font-family:'Rajdhani',sans-serif;font-size:.92rem;line-height:1.5;color:var(--mf-muted)}
body.mf-woo .mf-acc-card-cta{margin-top:auto;padding-top:1rem;font-family:var(--mf-mono);font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mf-cyan-lit);text-decoration:none}
body.mf-woo .mf-acc-card-cta:hover{color:var(--mf-cyan);text-decoration:underline}
/* status pill, shared by dashboard and order rows */
body.mf-woo .mf-acc-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.22rem .6rem;margin-right:.5rem;font-family:var(--mf-mono);font-size:.55rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
body.mf-woo .mf-acc-pill::before{content:'';width:6px;height:6px;border-radius:50%}
body.mf-woo .mf-acc-pill.is-ok{color:#7FE3C4;box-shadow:inset 0 0 0 1px rgba(93,202,165,.5)}
body.mf-woo .mf-acc-pill.is-ok::before{background:#5DCAA5;box-shadow:0 0 8px rgba(93,202,165,.8)}
body.mf-woo .mf-acc-pill.is-wait{color:var(--mf-amber);box-shadow:inset 0 0 0 1px rgba(255,176,32,.45)}
body.mf-woo .mf-acc-pill.is-wait::before{background:var(--mf-amber)}
/* --- quick actions --- */
body.mf-woo .mf-acc-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem}
body.mf-woo .mf-acc-act{display:flex;align-items:center;justify-content:center;height:46px;font-family:var(--mf-mono);font-size:.66rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;color:var(--mf-cyan-lit);background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(140,232,255,.32);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:all .25s var(--mf-ease)}
body.mf-woo .mf-acc-act:hover{background:rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px var(--mf-cyan-lit)}
body.mf-woo .mf-acc-act--primary{background:var(--mf-cyan);color:#04121C;box-shadow:none}
body.mf-woo .mf-acc-act--primary:hover{background:var(--mf-cyan-lit);color:#04121C;filter:drop-shadow(0 0 16px rgba(0,212,255,.55))}
/* --- generic account panel (SSO notice, empty states) --- */
body.mf-woo .mf-acc-panel{position:relative;padding:2rem 1.9rem;clip-path:polygon(var(--mf-ch) 0,100% 0,100% calc(100% - var(--mf-ch)),calc(100% - var(--mf-ch)) 100%,0 100%,0 var(--mf-ch));background:radial-gradient(110% 80% at 8% 0%,rgba(0,212,255,.12),transparent 58%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07)}
body.mf-woo .mf-acc-panel::before{content:'';position:absolute;top:9px;right:9px;width:14px;height:14px;border-top:1px solid var(--mf-cyan-lit);border-right:1px solid var(--mf-cyan-lit)}
body.mf-woo .mf-acc-panel::after{content:'';position:absolute;bottom:9px;left:9px;width:14px;height:14px;border-bottom:1px solid var(--mf-cyan-lit);border-left:1px solid var(--mf-cyan-lit)}
body.mf-woo .mf-acc-tag{display:inline-flex;font-family:var(--mf-mono);font-size:.58rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--mf-cyan);margin-bottom:.8rem}
body.mf-woo .mf-acc-h{font-family:'Orbitron',sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.04em;font-size:1.15rem!important;color:var(--mf-text)!important;margin:0 0 .7rem!important}
body.mf-woo .mf-acc-p{font-family:'Rajdhani',sans-serif;font-size:1rem;line-height:1.7;color:var(--mf-muted);max-width:620px;margin:0 0 1.3rem}
body.mf-woo .mf-acc-idlist{display:grid;grid-template-columns:auto 1fr;gap:.55rem 1.4rem;margin:0 0 1.5rem;padding:1.1rem 0;border-top:1px solid var(--mf-hair);border-bottom:1px solid var(--mf-hair)}
body.mf-woo .mf-acc-idlist dt{font-family:var(--mf-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo .mf-acc-idlist dd{margin:0;font-family:'Rajdhani',sans-serif;font-size:1rem;color:var(--mf-text)}
body.mf-woo a.mf-acc-cta{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 1.8rem;background:var(--mf-cyan);color:#04121C;font-family:var(--mf-mono);font-weight:600;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;text-decoration:none;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:filter .25s var(--mf-ease)}
body.mf-woo a.mf-acc-cta:hover{filter:brightness(1.2) drop-shadow(0 0 18px rgba(0,212,255,.7))}
body.mf-woo .mf-acc-note{margin-top:.9rem;font-family:var(--mf-mono);font-size:.62rem;letter-spacing:.06em;color:var(--mf-muted)}
/* --- order rows --- */
body.mf-woo .mf-ord-list{display:flex;flex-direction:column;gap:.7rem}
body.mf-woo .mf-ord{display:grid;grid-template-columns:56px minmax(0,1fr) auto auto auto;align-items:center;gap:1rem;padding:.9rem 1.1rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--mf-hair);transition:all .25s var(--mf-ease)}
body.mf-woo .mf-ord:hover{background:rgba(0,212,255,.06);box-shadow:inset 0 0 0 1px rgba(0,212,255,.35)}
body.mf-woo .mf-ord-thumb img{width:56px;height:56px;object-fit:cover;display:block;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .mf-ord-name{font-family:'Orbitron',sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;color:var(--mf-text)}
body.mf-woo .mf-ord-more{margin-left:.4rem;font-family:var(--mf-mono);font-size:.58rem;letter-spacing:.1em;color:var(--mf-muted);text-transform:none}
body.mf-woo .mf-ord-meta{margin-top:.3rem;font-family:var(--mf-mono);font-size:.6rem;letter-spacing:.08em;color:var(--mf-muted)}
body.mf-woo .mf-ord-fc{color:var(--mf-amber)}
body.mf-woo .mf-ord-total{font-family:'Orbitron',sans-serif;font-weight:700;font-size:.95rem;color:var(--mf-text);white-space:nowrap}
body.mf-woo .mf-ord-actions{display:flex;gap:.4rem}
body.mf-woo .mf-ord-act{display:inline-flex;align-items:center;height:34px;padding:0 .9rem;font-family:var(--mf-mono);font-size:.58rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--mf-cyan-lit);text-decoration:none;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(140,232,255,.3);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:all .25s var(--mf-ease);white-space:nowrap}
body.mf-woo .mf-ord-act:hover{background:var(--mf-cyan);color:#04121C;box-shadow:none}
body.mf-woo .mf-ord-pager{display:flex;gap:.6rem;margin-top:1.2rem}
/* --- responsive --- */
@media(max-width:1023px){
body.mf-woo .woocommerce-account .woocommerce,body.mf-woo .bde-woo-account{grid-template-columns:1fr;gap:1.2rem}
body.mf-woo .woocommerce-MyAccount-navigation{width:auto}
body.mf-woo .woocommerce-MyAccount-navigation ul{flex-direction:row;flex-wrap:wrap;gap:.4rem}
body.mf-woo .woocommerce-MyAccount-navigation li::before{display:none}
body.mf-woo .woocommerce-MyAccount-navigation li a{border-left:none;box-shadow:inset 0 0 0 1px var(--mf-hair);padding:.6rem .8rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .woocommerce-MyAccount-navigation li.is-active a{box-shadow:inset 0 0 0 1px var(--mf-cyan)}
body.mf-woo .mf-ord{grid-template-columns:48px minmax(0,1fr);gap:.7rem}
body.mf-woo .mf-ord-thumb img{width:48px;height:48px}
body.mf-woo .mf-ord-status,body.mf-woo .mf-ord-total,body.mf-woo .mf-ord-actions{grid-column:2}
body.mf-woo .mf-acc-panel{padding:1.4rem 1.2rem}
}

/* ==========================================================================
   MY ACCOUNT - AUTHORITATIVE BLOCK (v2)

   ROOT CAUSES, read from Breakdance CSS rather than guessed:
     - layout lives on  .bde-woopageaccount .woocommerce  (flex, wrap),
       NOT on .woocommerce-account .woocommerce which I targeted first, so
       the sidebar never became a column;
     - the grey panels come from a VARIABLE set in post-7440.css:
         --bde-woo-wrappers__background-color:#1f2026
       plus a 15px radius and a light border. Setting background on the
       elements could never win - the variable has to be reassigned;
     - the nav width is  var(--bde-woo-responsive__width, calc(25% - ...)).
   ========================================================================== */
/* 1. reassign every wrapper/table variable to the HUD palette */
body.mf-woo .bde-woopageaccount,body.mf-woo .breakdance-woocommerce{
  --bde-woo-wrappers__background-color:transparent!important;
  --bde-woo-wrappers__border-color:transparent!important;
  --bde-woo-wrappers__border-width:0px!important;
  --bde-woo-wrappers__border-radius:0px!important;
  --bde-woo-tables__background-color:transparent!important;
  --bde-woo-tables__header-color:transparent!important;
  --bde-woo-buttons-and-links__nav-link-background-active:transparent!important;
  --bde-woo-buttons-and-links__nav-border-radius:0px!important;
  --bde-woo-responsive__width:230px!important;
}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-content,body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation{background:transparent!important;border:none!important;border-radius:0!important;padding:0!important}
/* 2. real layout selector: two columns, sidebar left */
body.mf-woo .bde-woopageaccount .woocommerce{display:grid!important;grid-template-columns:230px minmax(0,1fr)!important;gap:2rem!important;align-items:start;flex-wrap:nowrap}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation{width:230px!important;min-width:0!important;margin:0}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-content{width:auto!important;min-width:0;margin:0;float:none}
/* 3. sidebar items */
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul{display:flex!important;flex-direction:column!important;gap:.15rem;list-style:none;margin:0;padding:0}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li{display:block!important;margin:0}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li a{display:block;width:100%;padding:.7rem .9rem!important;font-family:var(--mf-mono)!important;font-size:.68rem!important;font-weight:500!important;letter-spacing:.12em;text-transform:uppercase;color:var(--mf-muted)!important;text-decoration:none;background:transparent!important;border-radius:0!important;border-left:2px solid transparent;transition:all .25s var(--mf-ease)}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li a:hover{color:var(--mf-cyan-lit)!important;background:rgba(0,212,255,.07)!important;border-left-color:rgba(0,212,255,.45)!important}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li.is-active a{color:var(--mf-text)!important;background:rgba(0,212,255,.11)!important;border-left-color:var(--mf-cyan)!important}
/* group headings, still pseudo-elements - no markup invented */
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li::before{display:block;font-family:var(--mf-mono);font-size:.55rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--mf-cyan);padding:1.4rem .9rem .45rem}
body.mf-woo .woocommerce-MyAccount-navigation-link--dashboard::before{content:'Pilot';padding-top:0!important}
body.mf-woo .woocommerce-MyAccount-navigation-link--orders::before{content:'Purchases'}
body.mf-woo .woocommerce-MyAccount-navigation-link--edit-address::before{content:'Account'}
body.mf-woo .woocommerce-MyAccount-navigation-link--support-ticket::before{content:'Help'}
/* 4. title bar: same treatment as the cart heading */
body.mf-woo .mf-cart-head{border:none!important;border-radius:0!important}
/* 5. content wrapper gets the HUD panel instead of the grey slab */
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-content > *:not(.mf-acc-grid):not(.mf-acc-actions):not(.mf-ord-list):not(.mf-acc-panel):not(.mf-ord-pager){background:transparent!important}
@media(max-width:1023px){
body.mf-woo .bde-woopageaccount .woocommerce{grid-template-columns:1fr!important;gap:1.2rem!important}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation{width:auto!important}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul{flex-direction:row!important;flex-wrap:wrap;gap:.4rem}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li::before{display:none}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li a{border-left:none;box-shadow:inset 0 0 0 1px var(--mf-hair);clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm))}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li.is-active a{box-shadow:inset 0 0 0 1px var(--mf-cyan)}
}

/* ==========================================================================
   MY ACCOUNT v3 - every sub-view given a panel
   Class list taken from the WooCommerce and Subscriptions templates rather
   than guessed: subscription_details, order_details, woocommerce-orders-table,
   my_account_subscriptions, woocommerce-OrderUpdates, woocommerce-Address.
   Each of those rendered straight onto the background field with no panel.
   ========================================================================== */
/* --- headings: the templates emit bare <h2>, which inherited the display size --- */
body.mf-woo .woocommerce-MyAccount-content h2,body.mf-woo .woocommerce-MyAccount-content h3{font-family:'Orbitron',sans-serif!important;font-weight:700!important;text-transform:uppercase;letter-spacing:.05em!important;font-size:1.05rem!important;line-height:1.3!important;color:var(--mf-text)!important;margin:0 0 1rem!important}
body.mf-woo .woocommerce-MyAccount-content header h2{margin:0!important}
/* --- tables become panels --- */
body.mf-woo table.subscription_details,body.mf-woo table.order_details,body.mf-woo table.woocommerce-orders-table,body.mf-woo table.my_account_subscriptions,body.mf-woo table.my_account_orders,body.mf-woo #woocommerce-subscriptions-related-orders-table{width:100%;border:none!important;border-collapse:separate;border-spacing:0;margin:0 0 1.6rem;padding:1.4rem 1.4rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:radial-gradient(110% 80% at 6% 0%,rgba(0,212,255,.10),transparent 58%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07)}
body.mf-woo .woocommerce-MyAccount-content table th{font-family:var(--mf-mono)!important;font-size:.6rem!important;font-weight:500!important;letter-spacing:.2em;text-transform:uppercase;color:var(--mf-muted)!important;border:none!important;border-bottom:1px solid var(--mf-hair)!important;padding:.8rem .6rem!important;text-align:left;background:transparent!important}
body.mf-woo .woocommerce-MyAccount-content table td{border:none!important;border-bottom:1px solid var(--mf-hair)!important;padding:.95rem .6rem!important;background:transparent!important;font-family:'Rajdhani',sans-serif;font-size:.98rem;color:var(--mf-muted)}
body.mf-woo .woocommerce-MyAccount-content table tr:last-child td{border-bottom:none!important}
body.mf-woo .woocommerce-MyAccount-content table td strong,body.mf-woo .woocommerce-MyAccount-content table td a{color:var(--mf-text);text-decoration:none}
body.mf-woo .woocommerce-MyAccount-content table td a:hover{color:var(--mf-cyan-lit)}
body.mf-woo .woocommerce-MyAccount-content table .amount,body.mf-woo .woocommerce-MyAccount-content table bdi{font-family:'Orbitron',sans-serif;font-weight:700;color:var(--mf-text)}
body.mf-woo table.order_details tfoot tr:last-child td .amount,body.mf-woo table.subscription_details tfoot tr:last-child td .amount{color:var(--mf-cyan);font-size:1.2rem}
/* subscription detail rows read as a spec sheet */
body.mf-woo table.subscription_details td:first-child,body.mf-woo table.subscription_details th:first-child{font-family:var(--mf-mono)!important;font-size:.64rem!important;letter-spacing:.14em;text-transform:uppercase;color:var(--mf-muted)!important;width:40%}
/* --- addresses --- */
body.mf-woo .woocommerce-Addresses,body.mf-woo .woocommerce-customer-details .col2-set{display:grid;grid-template-columns:1fr;gap:1.2rem}
body.mf-woo .woocommerce-Address{position:relative;padding:1.5rem 1.4rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:radial-gradient(110% 80% at 6% 0%,rgba(0,212,255,.10),transparent 58%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07);width:auto;float:none}
body.mf-woo .woocommerce-Address-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--mf-hair)}
body.mf-woo .woocommerce-Address-title h2,body.mf-woo .woocommerce-Address-title h3{margin:0!important;font-size:.95rem!important}
body.mf-woo .woocommerce-Address address{font-family:'Rajdhani',sans-serif;font-size:1rem;line-height:1.75;color:var(--mf-muted);font-style:normal;background:transparent!important;border:none!important;padding:0!important;margin:0!important}
/* --- buttons: the theme was painting them cyan pills --- */
body.mf-woo .woocommerce-MyAccount-content .button,body.mf-woo .woocommerce-MyAccount-content a.edit,body.mf-woo .woocommerce-Address a.edit,body.mf-woo .woocommerce-button,body.mf-woo .subscription_details .button{display:inline-flex!important;align-items:center;justify-content:center;height:36px;padding:0 1rem!important;background:rgba(255,255,255,.05)!important;color:var(--mf-cyan-lit)!important;box-shadow:inset 0 0 0 1px rgba(140,232,255,.32)!important;border:none!important;font-family:var(--mf-mono)!important;font-weight:600!important;font-size:.6rem!important;letter-spacing:.14em!important;text-transform:uppercase!important;text-decoration:none;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:all .25s var(--mf-ease);white-space:nowrap}
body.mf-woo .woocommerce-MyAccount-content .button:hover,body.mf-woo .woocommerce-Address a.edit:hover,body.mf-woo .woocommerce-button:hover{background:var(--mf-cyan)!important;color:#04121C!important;box-shadow:none!important}
/* pay is the one primary action in this area */
body.mf-woo .woocommerce-button.pay,body.mf-woo .woocommerce-MyAccount-content .button.pay{background:var(--mf-cyan)!important;color:#04121C!important;box-shadow:none!important}
/* --- notices --- */
body.mf-woo .woocommerce-MyAccount-content .woocommerce-message,body.mf-woo .woocommerce-MyAccount-content .woocommerce-info,body.mf-woo .woocommerce-MyAccount-content .woocommerce-Message{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;background:linear-gradient(90deg,rgba(0,212,255,.10),transparent 55%),rgba(8,10,14,.5)!important;box-shadow:inset 0 0 0 1px var(--mf-hair);border:none!important;border-left:2px solid var(--mf-cyan)!important;color:var(--mf-text)!important;font-family:var(--mf-mono);font-size:.7rem;letter-spacing:.06em;line-height:1.6;padding:1rem 1.2rem!important;margin:0 0 1.4rem}
body.mf-woo .woocommerce-MyAccount-content .woocommerce-message::before,body.mf-woo .woocommerce-MyAccount-content .woocommerce-info::before{display:none!important}
/* --- order updates / notes --- */
body.mf-woo .woocommerce-OrderUpdates{list-style:none;margin:0 0 1.6rem;padding:1.3rem 1.4rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:radial-gradient(110% 80% at 6% 0%,rgba(0,212,255,.10),transparent 58%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07)}
body.mf-woo .woocommerce-OrderUpdate{border-bottom:1px solid var(--mf-hair);padding:.9rem 0}
body.mf-woo .woocommerce-OrderUpdate:last-child{border-bottom:none}
body.mf-woo .woocommerce-OrderUpdate-meta{font-family:var(--mf-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo .woocommerce-OrderUpdate-description{font-family:'Rajdhani',sans-serif;font-size:.98rem;color:var(--mf-muted)}
/* --- payment methods table --- */
body.mf-woo .woocommerce-MyAccount-paymentMethods{width:100%;border:none!important;padding:1.4rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:radial-gradient(110% 80% at 6% 0%,rgba(0,212,255,.10),transparent 58%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07)}
/* --- pagination --- */
body.mf-woo .woocommerce-pagination{display:flex;gap:.6rem;margin-top:1rem}
/* --- forms inside account (edit address) --- */
body.mf-woo .woocommerce-MyAccount-content form.edit-account,body.mf-woo .woocommerce-MyAccount-content form.woocommerce-address-fields,body.mf-woo .woocommerce-MyAccount-content .woocommerce-address-fields{padding:1.6rem 1.5rem;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:radial-gradient(110% 80% at 6% 0%,rgba(0,212,255,.10),transparent 58%),linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(8,10,14,.5);backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.07)}
body.mf-woo .woocommerce-MyAccount-content form h3{margin-bottom:1.2rem!important}
@media(max-width:767px){
body.mf-woo .woocommerce-MyAccount-content table{padding:1rem .9rem;display:block;overflow-x:auto}
body.mf-woo .woocommerce-Address{padding:1.2rem 1rem}
}

/* ==========================================================================
   ACCOUNT NAV - HUD panel
   Deliberately quieter than the content cards: no cyan glow, lower veil,
   softer frame. The sidebar is a support surface - if it carries the same
   weight as the dashboard cards the two compete and the page loses its
   reading order.
   ========================================================================== */
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation{position:relative;padding:1rem .6rem 1.2rem!important;clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.008)),rgba(8,10,14,.42)!important;backdrop-filter:blur(18px) saturate(1.3);-webkit-backdrop-filter:blur(18px) saturate(1.3);box-shadow:inset 0 0 0 1px var(--mf-hair),inset 0 1px 0 rgba(255,255,255,.05)}
/* corner brackets, dimmer than on content panels */
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation::before,body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation::after{content:'';position:absolute;width:12px;height:12px;pointer-events:none;opacity:.55}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation::before{top:8px;right:8px;border-top:1px solid var(--mf-cyan-lit);border-right:1px solid var(--mf-cyan-lit)}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation::after{bottom:8px;left:8px;border-bottom:1px solid var(--mf-cyan-lit);border-left:1px solid var(--mf-cyan-lit)}
/* the panel now supplies the padding, so items sit tighter to their edge */
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li a{padding:.62rem .8rem!important}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation ul li::before{padding:1.1rem .8rem .4rem}
body.mf-woo .woocommerce-MyAccount-navigation-link--dashboard::before{padding-top:.15rem!important}
/* keep it in view while long order lists scroll */
@media(min-width:1024px){
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation{position:sticky;top:110px}
}
@media(max-width:1023px){
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation{padding:.7rem!important}
body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation::before,body.mf-woo .bde-woopageaccount .woocommerce-MyAccount-navigation::after{display:none}
}

/* ==========================================================================
   v5 FIXES - three separate causes, three separate fixes.
   ========================================================================== */

/* 1. ORDER SUMMARY, DOUBLE PANEL.
   .mf-co-panel sits on the Checkout Order Review element and #order_review is
   its own child, and BOTH were in the glass rule above, so the summary drew
   one chamfered panel inside another. The outer one keeps the glass; the inner
   div is reduced to a transparent spacer. Its 15px radius and hairline border
   came from the builder UI and were removed at the element, not patched here.
   -------------------------------------------------------------------------- */
body.mf-woo #order_review{
  background:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  box-shadow:none!important;border:none!important;border-radius:0!important;
  clip-path:none!important;width:100%!important;max-width:none!important;
}
body.mf-woo .checkout-summary.mf-co-panel table.shop_table{width:100%!important;max-width:none!important}

/* 2. --bde-woo-responsive__width LEAK.
   The My Account block set it to 230px on .breakdance-woocommerce, which is
   the wrapper on EVERY WooCommerce surface, not just the account page. Any
   other Woo layout reading that variable - cart totals, the checkout columns,
   cross-sells - was silently pinned to 230px. It is scoped back to the account
   element, which is the only place that needs it.
   -------------------------------------------------------------------------- */
body.mf-woo .breakdance-woocommerce{--bde-woo-responsive__width:initial!important}
body.mf-woo .bde-woopageaccount{--bde-woo-responsive__width:230px!important}

/* 3. CHECKED CHECKBOXES READ AS A BLANK BLUE SQUARE.
   Two causes, both in the same place. Breakdance draws its tick as a
   background-image, and our :checked rule used the background SHORTHAND, which
   resets background-image to none. Breakdance then also declares
   input[type=checkbox]:checked:after{display:none}, which killed the fallback
   tick we drew ourselves. So: background-COLOR only, and the pseudo-element is
   given an explicit display so it survives.
   -------------------------------------------------------------------------- */
body.mf-woo input[type='checkbox']:checked{
  background-color:var(--mf-cyan)!important;
  background-image:none!important;
  box-shadow:inset 0 0 0 1px var(--mf-cyan)!important;
  border-color:transparent!important;
}
body.mf-woo input[type='checkbox']:checked::after{
  content:'';display:block!important;position:absolute;
  left:5px;top:1px;width:5px;height:10px;
  border:solid #04121C;border-width:0 2px 2px 0;
  transform:rotate(45deg);background:none;
}
/* The two switch-style controls (#terms, #wc-stripe-new-payment-method) already
   have a complete checked state further up this file: cyan track, dark knob
   translated 18px. They are excluded from the tick, and nothing here restates
   their geometry - two competing knob definitions is how a switch ends up half
   drawn. */
body.mf-woo #terms:checked::after,
body.mf-woo #wc-stripe-new-payment-method:checked::after{
  border:none;background:#04121C;
}
/* --------------------------------------------------------------------------
   v6 - ORDER SUMMARY WIDTH, ROOT CAUSE (measured in the browser, not guessed)
   Breakdance emits an intermediate .bde-order-review-column inside the
   Checkout Order Review element and styles it as
     width: var(--bde-woo-responsive__width, calc(40% - extra-large-gap/2))
   because its own checkout layout assumes that column is a direct child of
   form.woocommerce-checkout, sharing the row with a 60% .col2-set. This page
   uses the Checkout Builder with real Breakdance Columns instead, so the 40%
   was taken AGAIN inside an already 481px column: 40% of 481 minus half the
   gap = 165px, which is the narrow box inside the glass panel.
   Inside our panel the column is the only occupant, so it takes the width.
   -------------------------------------------------------------------------- */
body.mf-woo .bde-checkout-order-review .bde-order-review-column{
  width:100%!important;max-width:none!important;flex:1 1 auto!important;
}

/* ==========================================================================
   STORE TRUST BAND (page 2895, section 120). KEEP LAST IN THIS FILE.
   The four reassurance items sat directly on the starfield with no surface of
   their own, so the row read as loose text floating under the header. It now
   gets its own instrument band: a full bleed hairline strip with a cyan wash
   that fades out, sitting flush under the sticky header.
   NOTE, NOT FIXED HERE: the glyphs are WPSix Icon elements rendering Iconify
   (<span class=iconify data-icon=solar:shield-up-bold>). That is an icon
   library default, which the design system forbids, and Iconify resolves its
   sprites from an external host - the same RGPD exposure as the Google Fonts
   dependency. Recoloured and resized here; replacing them needs a markup pass.
   ========================================================================== */
body.breakdance.mf-woo .mf-st-trust{
  position:relative;z-index:2;padding:0;
  background-color:rgba(5,8,16,.55);
  background-image:linear-gradient(180deg,rgba(0,212,255,.07) 0%,rgba(0,212,255,0) 100%);
  backdrop-filter:blur(14px) saturate(1.3);
  -webkit-backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:inset 0 -1px 0 var(--mf-hair),inset 0 1px 0 rgba(160,225,255,.08);
}
body.breakdance.mf-woo .mf-st-trust > .section-container{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;gap:0;
  max-width:1240px;margin:0 auto;width:100%;
  padding:.85rem 2rem;
}
body.breakdance.mf-woo .mf-st-trust-i{
  position:relative;
  display:flex;flex-direction:row;align-items:center;justify-content:center;
  gap:.7rem;width:auto;min-width:0;padding:.35rem 1rem;
}
body.breakdance.mf-woo .mf-st-trust-i + .mf-st-trust-i::before{
  content:'';position:absolute;left:0;top:15%;bottom:15%;width:1px;
  background:var(--mf-hair);
}
body.breakdance.mf-woo .mf-st-trust-t{
  font-family:'Rajdhani',sans-serif;font-weight:600;
  font-size:.86rem;line-height:1.3;letter-spacing:.01em;
  color:var(--mf-text);width:auto;
}
body.breakdance.mf-woo .mf-st-trust-ic{width:auto;flex:0 0 auto;line-height:0}
body.breakdance.mf-woo .mf-st-trust-ic .sx-icon-box,
body.breakdance.mf-woo .mf-st-trust-ic .iconify{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;font-size:18px;line-height:1;
  color:var(--mf-cyan-lit);
  background:transparent;border-radius:0;
}
body.breakdance.mf-woo .mf-st-trust-ic svg{width:18px;height:18px;color:var(--mf-cyan-lit)}

@media (max-width:1023px){
body.breakdance.mf-woo .mf-st-trust > .section-container{
  grid-template-columns:repeat(2,minmax(0,1fr));padding:.7rem 1.25rem;gap:.2rem;
}
body.breakdance.mf-woo .mf-st-trust-i:nth-child(odd)::before{display:none}
body.breakdance.mf-woo .mf-st-trust-i{justify-content:flex-start;padding:.45rem .6rem}
body.breakdance.mf-woo .mf-st-trust-t{font-size:.78rem}
}
@media (max-width:479px){
body.breakdance.mf-woo .mf-st-trust > .section-container{grid-template-columns:1fr}
body.breakdance.mf-woo .mf-st-trust-i::before{display:none!important}
}
/* ==========================================================================
   SINGLE PRODUCT - STICKY ACTION BAR (v1)   prefix mf-sab

   SOURCE: Global Block 9540 (Product Header), inserted as node 229 of
   template 2893 Single Product. It is a HeaderBuilder with sticky enabled,
   so BREAKDANCE owns position:fixed and the reveal / hide classes. This
   layer owns STYLE only. Every builder-UI design property was stripped from
   the block on 2026-08-20 (grey slab 22232a, border-radius 8px and 10px,
   gfont-inter, drop shadow); the nodes now carry classes only.

   THREE ROOT CAUSES, each verified in uploads/breakdance/css/post-9540.css:

   1. Z-INDEX. Breakdance resolves --bde-z-index-header-sticky to
      --bde-z-index-medium, which is 200 in global-settings.css. The bar was
      therefore painted OVER the site header (.mf-bd-hd, z-index 100).
      Pinned to 90 here: above the background field (.mf-field, z-index 0,
      injected at wp_footer) and below the header.

   2. DOCKING. --bde-header-sticky-offset defaulted to 0px, so the bar
      landed at top:0 and covered the header. Reassigned per breakpoint to
      the real header height. Going through Breakdances own variable rather
      than through top: keeps its WP admin bar compensation working.

   3. STACKING. Breakdance emits flex-direction:column on the container
      below 1119px, and --bde-woo-responsive__stack:column plus
      --bde-woo-responsive__width:100% below 767px. All three are
      neutralised, SCOPED TO .mf-sab: a reassigned variable leaks as far as
      its selector, and these ones are shared with the whole product page.

   MOBILE ONLY, by decision. Above 1023px the product summary column is
   already sticky (see SINGLE PRODUCT v9, top:110px), so a second sticky
   CTA would be redundant.

   THE STRIPE EXPRESS BUTTONS ARE NOT IN THIS BAR. Wooproductcartbutton
   calls woocommerce_template_single_add_to_cart(), which fires
   woocommerce_after_add_to_cart_form a second time; Stripe prints
   id=wc-stripe-express-checkout-element there, and an id must be unique.
   The duplicate is suppressed in mf-hud-system.php, not here.
   ========================================================================== */

body.breakdance.mf-woo .mf-sab{
  position:fixed;left:0;right:0;width:100%;
  z-index:90;
  --bde-header-sticky-offset:66px;
  padding:0;
  background:linear-gradient(180deg,var(--mf-veil-top),var(--mf-veil-bot)),rgba(6,9,15,.86);
  backdrop-filter:var(--mf-blur);-webkit-backdrop-filter:var(--mf-blur);
  box-shadow:inset 0 1px 0 var(--mf-hair),inset 0 -1px 0 var(--mf-hair),0 12px 30px rgba(0,0,0,.5);
}

/* the bar is the second sticky surface on the page, so it must never be
   allowed to grow: one row, fixed height, no wrap. */
body.breakdance.mf-woo .mf-sab .bde-header-builder__container{
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;
  width:100%;max-width:1240px;margin:0 auto;
  min-height:0;gap:.75rem;padding:.55rem 1rem;
}
body.breakdance.mf-woo .mf-sab .bde-productbuilder,
body.breakdance.mf-woo .mf-sab .mf-sab-cart{
  --bde-woo-responsive__stack:row;
  --bde-woo-responsive__width:auto;
  --bde-woo-responsive__max-width:none;
}

body.breakdance.mf-woo .mf-sab-row{
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;
  justify-content:space-between;gap:.75rem;width:100%;max-width:none;
}
body.breakdance.mf-woo .mf-sab-id{
  display:flex;flex-direction:row;align-items:center;gap:.6rem;
  flex:1 1 auto;min-width:0;width:auto;
}
body.breakdance.mf-woo .mf-sab-act{
  display:flex;flex-direction:row;align-items:center;gap:.65rem;
  flex:0 0 auto;width:auto;
}

/* thumbnail: chamfer, never a radius. The deprecated Image element wraps the
   img in a container and a clip div, so both carry the geometry. */
body.breakdance.mf-woo .mf-sab-img{flex:0 0 auto;width:auto}
body.breakdance.mf-woo .mf-sab-img .breakdance-image-container,
body.breakdance.mf-woo .mf-sab-img .breakdance-image-clip{
  border:none;border-radius:0;
  clip-path:polygon(var(--mf-ch-sm) 0,100% 0,100% calc(100% - var(--mf-ch-sm)),calc(100% - var(--mf-ch-sm)) 100%,0 100%,0 var(--mf-ch-sm));
  box-shadow:inset 0 0 0 1px var(--mf-hair);
}
body.breakdance.mf-woo .mf-sab-img .breakdance-image-object{
  display:block;width:34px;height:34px;object-fit:cover;border-radius:0;
}

body.breakdance.mf-woo .mf-sab-name{
  font-family:'Orbitron',sans-serif;font-weight:700;
  font-size:.68rem;line-height:1.2;letter-spacing:.05em;text-transform:uppercase;
  color:var(--mf-text);
  min-width:0;width:auto;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* the euro must stay perfectly legible: this is a purchase surface. */
body.breakdance.mf-woo .mf-sab-price{width:auto;flex:0 0 auto}
body.breakdance.mf-woo .mf-sab-price p.price,
body.breakdance.mf-woo .mf-sab-price .price .woocommerce-Price-amount bdi{
  font-family:'Orbitron',sans-serif;font-weight:900;
  font-size:.92rem;line-height:1;letter-spacing:.02em;
  color:var(--mf-text);margin:0;white-space:nowrap;
}
body.breakdance.mf-woo .mf-sab-price .price del,
body.breakdance.mf-woo .mf-sab-price .price del .woocommerce-Price-amount bdi{
  font-size:.68rem;color:var(--mf-muted);
}

body.breakdance.mf-woo .mf-sab-cart{width:auto;flex:0 0 auto}
body.breakdance.mf-woo .mf-sab-cart form.cart{
  display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;
  gap:.5rem;margin:0;width:auto;
}
body.breakdance.mf-woo .mf-sab-cart .single_add_to_cart_button{
  width:auto;min-width:0;flex:0 0 auto;
  height:38px;padding:0 1.05rem;font-size:.62rem;letter-spacing:.13em;
  animation:none!important;
}

/* ----- 1023 and below: the bar is live. Header is 58px from 767 down. ----- */
@media (max-width:767px){
body.breakdance.mf-woo .mf-sab{--bde-header-sticky-offset:58px}
body.breakdance.mf-woo .mf-sab .bde-header-builder__container{padding:.5rem .9rem;gap:.55rem}
/* the stepper is 144px wide and cannot share a 375px row with a price and a
   CTA. It stays in the product panel; the bar posts a quantity of 1. */
body.breakdance.mf-woo .mf-sab-cart .quantity{display:none!important}
body.breakdance.mf-woo .mf-sab-img .breakdance-image-object{width:30px;height:30px}
body.breakdance.mf-woo .mf-sab-name{font-size:.62rem}
body.breakdance.mf-woo .mf-sab-price p.price,
body.breakdance.mf-woo .mf-sab-price .price .woocommerce-Price-amount bdi{font-size:.82rem}
}

@media (max-width:479px){
body.breakdance.mf-woo .mf-sab{--bde-header-sticky-offset:52px}
body.breakdance.mf-woo .mf-sab .bde-header-builder__container{padding:.45rem .75rem;gap:.45rem}
body.breakdance.mf-woo .mf-sab-cart .single_add_to_cart_button{padding:0 .8rem;font-size:.58rem;letter-spacing:.1em}
}

/* ----- 1024 and up: the summary column already sticks, so stand down ----- */
@media (min-width:1024px){
body.breakdance.mf-woo .mf-sab{display:none}
}

@media (prefers-reduced-motion:reduce){
body.breakdance.mf-woo .mf-sab{transition:none}
}

/* ==========================================================================
   ORDER DETAILS v3 (2026-10-12) - one panel, aligned totals
   section.woocommerce-order-details is already the panel. MY ACCOUNT v3 turns
   every table.order_details into a second panel inside it (pitfall 16d), and
   that inner padding never applied: Breakdance forces border-collapse:collapse
   at higher specificity and a collapsed table ignores padding, so the rows
   touched the inner frame. Covers thank-you AND my-account view-order, which
   render the same section. Payment method now sits above Total (filter in
   mf-hud-system.php), so tr:last-child is Total again; its th was picking up
   the Breakdance global font (Inter) through a tr:last-child th rule.
   ========================================================================== */
body.mf-woo section.woocommerce-order-details table.order_details{padding:0!important;margin:0!important;clip-path:none!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body.mf-woo section.woocommerce-order-details table.order_details thead th.product-total,body.mf-woo section.woocommerce-order-details table.order_details td.product-total{text-align:right!important}
body.mf-woo section.woocommerce-order-details table.order_details tfoot tr th{font-family:var(--mf-mono)!important;font-size:.64rem!important;font-weight:500!important;letter-spacing:.16em!important;line-height:1.4!important;text-transform:uppercase;color:var(--mf-muted)!important}

/* ==========================================================================
   SSO-LOCKED EMAIL FIELD (2026-10-12)
   billing_email is read-only on checkout and edit-address (mf-hud-system.php,
   SSO EMAIL LOCK). Reads as a fixed value, not an input: dimmer fill and ink,
   no cyan focus ring (a muted hairline keeps keyboard focus visible). The
   WooCommerce description is shown permanently instead of the blue focus
   tooltip; display and height are locked because woocommerce.js slides it.
   ========================================================================== */
body.mf-woo .form-row input.input-text.mf-locked{background-color:rgba(255,255,255,.02)!important;color:var(--mf-muted)!important;cursor:default;box-shadow:inset 0 0 0 1px rgba(160,225,255,.08)!important}
body.mf-woo .form-row input.input-text.mf-locked:focus{outline:none!important;box-shadow:inset 0 0 0 1px rgba(160,225,255,.3)!important}
body.mf-woo .form-row.mf-locked-row .woocommerce-input-wrapper .description{display:block!important;position:static!important;height:auto!important;overflow:visible!important;opacity:1!important;background:none!important;border:none!important;border-radius:0!important;padding:0!important;margin:.45rem 0 0!important;font-family:var(--mf-mono);font-size:.58rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mf-muted)}
body.mf-woo .form-row.mf-locked-row .woocommerce-input-wrapper .description::before{content:none!important;display:none!important}
/* STORE LAUNCH GATE (2026-10-26): the coming-soon section 138 of template 2895
   is empty once the Store opens; drop its box so no padding is left behind. */
body.breakdance:not(.mf-store-prelaunch) .mf-stl-sec{display:none}
