/*
Theme Name: MonsterCourses 2.0
Theme URI: https://www.monstercourses.com
Description: Executive glass child theme for MonsterCourses, built on Avada. Provides the MonsterCourses 2.0 homepage template and a redesigned WooCommerce course page applied automatically to every existing course product.
Author: MonsterCourses
Template: Avada
Version: 2.9.0
Text Domain: mc2
*/

:root{
  --bg-base:#F3F6FC;
  --glass-fill:rgba(255,255,255,0.50);
  --glass-fill-hi:rgba(255,255,255,0.78);
  --glass-border:rgba(255,255,255,0.55);
  --glass-border-hi:rgba(255,122,26,0.4);
  --ink-900:#0B1E44;
  --ink-700:#22314F;
  --ink-500:#5B6B8C;
  --ink-400:#8390AC;
  --indigo:#0B1E44;
  --violet:#FF7A1A;
  --amber:#B45309;
  --font-display:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --radius-lg:24px;
  --radius-md:16px;
  --radius-sm:11px;
  --shadow-glass:0 16px 44px rgba(11,30,68,0.14), 0 1px 0 rgba(255,255,255,0.9) inset, 0 0 0 1px rgba(255,255,255,0.35) inset;
}

/* Scope resets to our template wrapper only, so we don't fight Avada's global styles elsewhere on the site */
.mc2{
  background:var(--bg-base);
  color:var(--ink-700);
  font-family:var(--font-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.mc2 *{box-sizing:border-box;}
.mc2 img{max-width:100%; display:block;}
.mc2 a{color:inherit; text-decoration:none;}
.mc2 ul{list-style:none; margin:0; padding:0;}
.mc2 :focus-visible{outline:2px solid var(--indigo); outline-offset:3px;}
.mc2 .wrap{max-width:1200px; margin:0 auto; padding:0 28px;}

.mc2 .field{position:fixed; inset:0; z-index:-2; background:var(--bg-base); overflow:hidden;}
.mc2 .field::before,.mc2 .field::after{content:""; position:absolute; width:58vw; height:58vw; border-radius:50%; filter:blur(120px); opacity:0.26;}
.mc2 .field::before{background:radial-gradient(circle,#FDBA8C,transparent 65%); top:-16vw; left:-12vw;}
.mc2 .field::after{background:radial-gradient(circle,#B8C4D9,transparent 65%); bottom:-20vw; right:-10vw;}
.mc2 .field-accent{position:fixed; z-index:-2; width:36vw; height:36vw; border-radius:50%; filter:blur(110px); opacity:0.18; background:radial-gradient(circle,#5EEAD4,transparent 65%); top:22vh; right:8vw; pointer-events:none;}

/* Per-academy accent colors — a single warm indigo tint for six different
   cards reads flat; a distinct accent per discipline reads more like a
   real academy system (each department has its own color). */
.mc2 .academy-icon.acc-violet{background:linear-gradient(135deg, rgba(255,122,26,0.16), rgba(255,122,26,0.06)); border-color:rgba(255,122,26,0.28); color:#FF7A1A;}
.mc2 .academy-icon.acc-blue{background:linear-gradient(135deg, rgba(37,99,235,0.16), rgba(37,99,235,0.06)); border-color:rgba(37,99,235,0.22); color:#2563EB;}
.mc2 .academy-icon.acc-teal{background:linear-gradient(135deg, rgba(13,148,136,0.16), rgba(13,148,136,0.06)); border-color:rgba(13,148,136,0.22); color:#0D9488;}
.mc2 .academy-icon.acc-amber{background:linear-gradient(135deg, rgba(180,83,9,0.16), rgba(180,83,9,0.06)); border-color:rgba(180,83,9,0.22); color:#B45309;}
.mc2 .academy-icon.acc-rose{background:linear-gradient(135deg, rgba(225,29,72,0.14), rgba(225,29,72,0.05)); border-color:rgba(225,29,72,0.2); color:#E11D48;}
.mc2 .academy-icon.acc-green{background:linear-gradient(135deg, rgba(21,128,61,0.15), rgba(21,128,61,0.05)); border-color:rgba(21,128,61,0.2); color:#15803D;}

.mc2 .glass{
  position:relative;
  background:var(--glass-fill);
  border:1px solid var(--glass-border);
  backdrop-filter:blur(28px) saturate(180%);
  -webkit-backdrop-filter:blur(28px) saturate(180%);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-glass);
  overflow:hidden;
}
.mc2 .glass::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:linear-gradient(155deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.08) 35%, rgba(255,255,255,0) 60%);
}

/* Header / nav */
.mc2 header.mc2-header{position:sticky; top:0; z-index:150; padding:14px 0;}
.mc2 .nav-shell{
  display:flex; align-items:center; justify-content:space-between; gap:18px; padding:9px 12px 9px 20px; border-radius:999px;
  background:rgba(255,255,255,0.98) !important;
  backdrop-filter:blur(24px) saturate(160%);
  -webkit-backdrop-filter:blur(24px) saturate(160%);
  box-shadow:0 10px 34px rgba(11,30,68,0.12), 0 1px 0 rgba(255,255,255,0.8) inset;
}
.mc2 .brand{font-family:var(--font-display); font-weight:700; font-size:1.1rem; display:flex; align-items:center; gap:9px; color:var(--ink-900);}
.mc2 .brand-mark{width:30px; height:30px; border-radius:9px; background:linear-gradient(135deg,var(--indigo),var(--violet)); display:grid; place-items:center; font-family:var(--font-mono); font-size:0.68rem; color:#fff; font-weight:700;}
.mc2 nav.primary{display:flex; align-items:center; gap:20px; flex:1; justify-content:center;}
.mc2 nav.primary ul{display:flex; gap:20px; font-size:0.85rem; color:var(--ink-500); font-weight:500;}
.mc2 nav.primary ul li a:hover{color:var(--indigo);}
.mc2 .nav-actions{display:flex; align-items:center; gap:10px;}
.mc2 .nav-ghost{font-size:0.82rem; font-weight:600; color:var(--ink-700); padding:9px 14px;}
.mc2 .nav-cta{font-size:0.82rem; font-weight:600; padding:10px 18px; border-radius:999px; color:#fff; background:linear-gradient(100deg,var(--indigo),var(--violet)); box-shadow:0 8px 20px -8px rgba(11,30,68,0.45);}

/* Typography */
.mc2 h1{font-family:var(--font-display); font-weight:700; font-size:clamp(2rem,4vw,3.3rem); line-height:1.1; letter-spacing:-0.01em; color:var(--ink-900);}
.mc2 h1 .accent{background:linear-gradient(100deg,var(--indigo),var(--violet)); -webkit-background-clip:text; background-clip:text; color:transparent;}
.mc2 h2{font-family:var(--font-display); font-weight:600; font-size:clamp(1.55rem,2.5vw,2.15rem); letter-spacing:-0.01em; color:var(--ink-900); margin-bottom:12px;}
.mc2 .eyebrow{font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--indigo); margin-bottom:12px; display:block;}
.mc2 section{padding:56px 0;}
.mc2 .section-head{max-width:660px; margin-bottom:38px;}
.mc2 .section-head p{color:var(--ink-500); font-size:0.98rem;}

/* Buttons */
.mc2 .btn{font-weight:600; font-size:0.9rem; padding:13px 22px; border-radius:999px; display:inline-flex; align-items:center; gap:8px; transition:transform .18s ease;}
.mc2 .btn-solid{background:linear-gradient(100deg,var(--indigo),var(--violet)); color:#fff; box-shadow:0 10px 26px -10px rgba(11,30,68,0.45);}
.mc2 .btn-solid:hover{transform:translateY(-2px); color:#fff;}
.mc2 .btn-ghost{background:var(--glass-fill); border:1px solid var(--glass-border-hi); color:var(--ink-900);}
.mc2 .btn-ghost:hover{background:var(--glass-fill-hi); transform:translateY(-2px);}

/* Cards, grids reused across homepage + course template */
.mc2 .academy-grid,.mc2 .talks-grid,.mc2 .emerging-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.mc2 .academy-card,.mc2 .talk-card,.mc2 .emerging-card,.mc2 .related-card{padding:24px; transition:transform .2s ease, border-color .2s ease;}
.mc2 .academy-card:hover,.mc2 .related-card:hover{transform:translateY(-4px); border-color:var(--glass-border-hi);}
.mc2 .academy-icon{width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:linear-gradient(135deg, rgba(11,30,68,0.10), rgba(255,122,26,0.14)); border:1px solid var(--glass-border); margin-bottom:16px; font-size:1.15rem;}
.mc2 .academy-card h3{font-family:var(--font-display); font-weight:600; font-size:1.08rem; color:var(--ink-900); margin-bottom:8px;}
.mc2 .academy-card p{color:var(--ink-500); font-size:0.86rem;}

/* Course intelligence + curriculum (single-product template) */
.mc2 .intel-card{padding:22px;}
.mc2 .intel-card h4{font-family:var(--font-mono); font-size:0.7rem; letter-spacing:0.05em; color:var(--ink-400); text-transform:uppercase; margin-bottom:14px;}
.mc2 .intel-row{display:flex; justify-content:space-between; padding:9px 0; border-bottom:1px solid var(--glass-border); font-size:0.85rem;}
.mc2 .intel-row:last-child{border-bottom:none;}
.mc2 .intel-row span:first-child{color:var(--ink-500);}
.mc2 .intel-row span:last-child{color:var(--ink-900); font-weight:600;}
.mc2 .cat-tag{font-family:var(--font-mono); font-size:0.7rem; color:var(--violet); letter-spacing:0.05em; margin-bottom:14px; display:block;}
.mc2 .level-row{display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:0.84rem; color:var(--ink-500); margin:14px 0 24px;}
.mc2 .lv-badge{font-family:var(--font-mono); font-size:0.7rem; padding:4px 11px; border-radius:999px; background:rgba(11,30,68,0.06); color:var(--indigo); border:1px solid rgba(11,30,68,0.18);}
.mc2 .course-desc{font-size:0.96rem; color:var(--ink-700); max-width:760px;}
.mc2 .course-desc p{margin-bottom:14px;}
.mc2 .course-desc h2{
  font-family:var(--font-display); font-weight:600; font-size:1.35rem; color:var(--ink-900);
  margin:36px 0 14px; padding-top:22px; border-top:1px solid var(--glass-border);
}
.mc2 .course-desc h2:first-child{border-top:none; padding-top:0; margin-top:0;}
.mc2 .course-desc ul{margin:0 0 16px 0;}
.mc2 .course-desc ul li{position:relative; padding-left:20px; margin-bottom:8px; font-size:0.92rem;}
.mc2 .course-desc ul li::before{content:"✓"; position:absolute; left:0; color:var(--indigo); font-weight:700;}
.mc2 .course-desc ol{margin:0 0 20px 0; padding-left:0; counter-reset:mc2step; list-style:none;}
.mc2 .course-desc ol li{
  position:relative; padding-left:38px; margin-bottom:10px; font-size:0.94rem; counter-increment:mc2step;
}
.mc2 .course-desc ol li::before{
  content:counter(mc2step, decimal-leading-zero);
  position:absolute; left:0; top:0; width:28px; height:28px; border-radius:8px;
  background:linear-gradient(100deg,var(--indigo),var(--violet)); color:#fff;
  font-family:var(--font-mono); font-size:0.72rem; font-weight:600;
  display:flex; align-items:center; justify-content:center;
}
.mc2 .breadcrumb{font-size:0.78rem; color:var(--ink-400); padding:18px 0 0;}
.mc2 .breadcrumb a:hover{color:var(--indigo);}

/* Enquiry / contact */
.mc2 .enquiry-card{padding:30px;}
.mc2 .form-row{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:12px;}
.mc2 .form-field{display:flex; flex-direction:column; gap:6px;}
.mc2 .form-field.full{grid-column:1/-1;}
.mc2 .form-field label{font-size:0.78rem; color:var(--ink-500); font-weight:500;}
.mc2 .form-field input,.mc2 .form-field select,.mc2 .form-field textarea{padding:11px 14px; border-radius:var(--radius-sm); border:1px solid var(--glass-border); background:var(--glass-fill-hi); font-family:var(--font-body); font-size:0.88rem; color:var(--ink-900); outline:none; width:100%;}
/* Selects need explicit appearance reset + extra right padding to leave
   room for the custom arrow, otherwise the option text renders under
   the browser's native dropdown chevron and looks like it's overlapping
   with the field below it. */
.mc2 .form-field select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  padding-right:38px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%235B6B8C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:12px 8px;
}

/* Footer + floating actions */
.mc2 footer.mc2-footer{padding:50px 0 26px; border-top:1px solid var(--glass-border); margin-top:20px;}
.mc2 .footer-grid{display:grid; grid-template-columns:1.2fr 0.85fr 0.85fr 0.85fr 0.85fr; gap:24px; margin-bottom:34px;}
.mc2 .footer-col h4{font-family:var(--font-display); font-size:0.86rem; color:var(--ink-900); margin-bottom:14px;}
.mc2 .footer-col ul li{margin-bottom:9px;}
.mc2 .footer-col ul li a{font-size:0.83rem; color:var(--ink-500);}
.mc2 .footer-col ul li a:hover{color:var(--indigo);}
.mc2 .social-row{display:flex; gap:9px; margin-top:14px;}
.mc2 .social-row a{width:33px; height:33px; border-radius:50%; display:grid; place-items:center; background:var(--glass-fill); border:1px solid var(--glass-border); font-size:0.8rem;}
.mc2 .float-stack{position:fixed; bottom:22px; right:22px; z-index:200; display:flex; flex-direction:column; gap:10px; align-items:flex-end;}
.mc2 .float-btn{display:flex; align-items:center; gap:9px; padding:13px 18px; border-radius:999px; font-size:0.85rem; font-weight:600; color:#fff; background:linear-gradient(100deg,var(--indigo),var(--violet)); box-shadow:0 12px 28px -10px rgba(11,30,68,0.5);}
.mc2 .float-btn.secondary{background:var(--glass-fill-hi); color:var(--ink-900); border:1px solid var(--glass-border-hi); box-shadow:var(--shadow-glass);}

@media (max-width:960px){
  .mc2 .academy-grid,.mc2 .talks-grid,.mc2 .emerging-grid{grid-template-columns:repeat(2,1fr);}
  .mc2 .footer-grid{grid-template-columns:1fr 1fr;}
  .mc2 nav.primary{display:none;}
}
@media (max-width:640px){
  .mc2 .academy-grid,.mc2 .talks-grid,.mc2 .emerging-grid{grid-template-columns:1fr;}
  .mc2 .form-row{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion:reduce){.mc2 *{animation:none !important; transition:none !important;}}

/* Mini-cart */
.mc2 .mc2-mini-cart{position:relative !important; display:inline-block !important;}
.mc2 .mc2-cart-trigger{
  position:relative !important; display:flex !important; align-items:center; justify-content:center;
  width:36px; height:36px; border-radius:50%; font-size:1.1rem; color:var(--ink-700);
}
.mc2 .mc2-cart-count{
  position:absolute !important; top:-4px; right:-4px; min-width:16px; height:16px; padding:0 3px;
  border-radius:999px; background:linear-gradient(100deg,var(--indigo),var(--violet)); color:#fff;
  font-family:var(--font-mono); font-size:0.62rem; display:flex !important; align-items:center; justify-content:center;
}
.mc2 .mc2-cart-dropdown{
  display:none !important;
  position:absolute !important; top:calc(100% + 10px) !important; right:0 !important;
  left:auto !important; width:280px !important; max-width:88vw; max-height:70vh !important;
  overflow-y:auto !important; padding:18px; margin:0 !important; float:none !important;
  z-index:500 !important;
}
.mc2 .mc2-mini-cart.is-open .mc2-cart-dropdown,
.mc2 .mc2-mini-cart:hover .mc2-cart-dropdown,
.mc2 .mc2-mini-cart:focus-within .mc2-cart-dropdown{
  display:block !important;
}
.mc2-cart-items{display:flex; flex-direction:column; gap:10px; margin-bottom:14px; max-height:220px; overflow-y:auto;}
.mc2-cart-item{display:flex; justify-content:space-between; gap:10px; font-size:0.83rem; color:var(--ink-700); padding-bottom:10px; border-bottom:1px solid var(--glass-border);}
.mc2-cart-item:last-child{border-bottom:none; padding-bottom:0;}
.mc2-cart-item-name{flex:1;}
.mc2-cart-total{display:flex; justify-content:space-between; align-items:center; font-size:0.88rem; color:var(--ink-900); margin-bottom:14px; padding-top:4px;}

/* Video section */
.mc2-video-panel{position:relative; border-radius:var(--radius-lg); overflow:hidden; aspect-ratio:16/9; background:linear-gradient(135deg,#0B1F3A,#1B2447); cursor:pointer;}
.mc2-video-panel img{width:100%; height:100%; object-fit:cover; opacity:0.65;}
.mc2-video-play{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:76px; height:76px; border-radius:50%; background:rgba(255,255,255,0.95);
  display:flex; align-items:center; justify-content:center; box-shadow:0 12px 34px rgba(0,0,0,0.35);
  transition:transform .2s ease;
}
.mc2-video-panel:hover .mc2-video-play{transform:translate(-50%,-50%) scale(1.08);}
.mc2-video-play::after{
  content:""; width:0; height:0; margin-left:6px;
  border-top:14px solid transparent; border-bottom:14px solid transparent; border-left:22px solid var(--indigo);
}
.mc2-video-caption{position:absolute; left:24px; bottom:22px; color:#fff; font-family:var(--font-display); font-weight:600; font-size:1.1rem; text-shadow:0 2px 12px rgba(0,0,0,0.5);}
.mc2-video-card .mc2-video-play{width:54px; height:54px;}
.mc2-video-card .mc2-video-play::after{border-top-width:10px; border-bottom-width:10px; border-left-width:16px; margin-left:4px;}
.mc2-video-card .mc2-video-caption{left:16px; bottom:16px; font-size:0.92rem; right:16px;}
.mc2-video-duration{
  position:absolute; top:14px; right:14px; font-family:var(--font-mono); font-size:0.68rem; color:#fff;
  background:rgba(0,0,0,0.55); padding:4px 9px; border-radius:999px;
}

/* Hero banner — two-column layout with an illustrated visual on the right */
.mc2 .hero-grid{display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center; text-align:left;}
.mc2 .hero-visual{position:relative; height:420px;}
.mc2 .hero-visual svg{width:100%; height:100%;}
.mc2 .hero-chip{
  position:absolute; padding:11px 16px; display:flex; align-items:center; gap:8px;
  font-size:0.8rem; font-weight:600; color:var(--ink-900);
}
.mc2 .hero-chip .dot{width:7px; height:7px; border-radius:50%; flex-shrink:0;}
.mc2 .hero-chip.chip-1{top:6%; left:2%;}
.mc2 .hero-chip.chip-2{top:38%; right:0;}
.mc2 .hero-chip.chip-3{bottom:20%; left:8%;}
.mc2 .hero-chip.chip-4{bottom:2%; right:10%;}
@keyframes mc2Float{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}
.mc2 .hero-chip{animation:mc2Float 5s ease-in-out infinite;}
.mc2 .hero-chip.chip-2{animation-delay:0.6s;}
.mc2 .hero-chip.chip-3{animation-delay:1.2s;}
.mc2 .hero-chip.chip-4{animation-delay:1.8s;}

@media (max-width:960px){
  .mc2 .hero-grid{grid-template-columns:1fr; text-align:center;}
  .mc2 .hero-visual{display:none;}
}

/* ================================================================== */
/*  WOOCOMMERCE SKIN — cart, checkout, my-account                      */
/*  Applies the glass design to WooCommerce's default templates        */
/*  without overriding their PHP, so cart/checkout logic, AJAX and     */
/*  payment gateway plugins keep working exactly as WooCommerce ships  */
/*  them — only the visual layer changes.                              */
/* ================================================================== */

body.woocommerce-cart, body.woocommerce-checkout, body.woocommerce-account,
body.woocommerce-cart .mc2-wc-wrap, body.woocommerce-checkout .mc2-wc-wrap {
  background:var(--bg-base);
}

.mc2-wc-wrap{max-width:1100px; margin:0 auto; padding:40px 28px 70px; font-family:var(--font-body); color:var(--ink-700);}
.mc2-wc-wrap h1, .mc2-wc-wrap h2, .mc2-wc-wrap h3{font-family:var(--font-display); color:var(--ink-900);}

/* Cart table + checkout form wrapped in glass */
.woocommerce-cart table.cart, .woocommerce-checkout form.checkout,
.woocommerce-account .woocommerce-MyAccount-content, .woocommerce-account .woocommerce-MyAccount-navigation{
  background:var(--glass-fill-hi) !important;
  border:1px solid var(--glass-border) !important;
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border-radius:var(--radius-lg) !important;
  box-shadow:var(--shadow-glass) !important;
  padding:24px !important;
}
.woocommerce-cart .cart_totals, .woocommerce-checkout #order_review{
  background:var(--glass-fill) !important;
  border:1px solid var(--glass-border) !important;
  border-radius:var(--radius-md) !important;
  padding:22px !important;
}
.woocommerce-checkout input[type="text"], .woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"], .woocommerce-checkout select, .woocommerce-checkout textarea,
.woocommerce-cart input[type="number"]{
  border-radius:var(--radius-sm) !important;
  border:1px solid var(--glass-border) !important;
  background:#fff !important;
  padding:11px 14px !important;
  font-family:var(--font-body) !important;
}
.woocommerce #payment ul.payment_methods{border-top:1px solid var(--glass-border) !important;}
.woocommerce #payment div.payment_box{
  background:rgba(11,30,68,0.05) !important;
  border-radius:var(--radius-sm) !important;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, #place_order{
  background:linear-gradient(100deg,var(--indigo),var(--violet)) !important;
  color:#fff !important;
  border:0 !important;
  border-radius:999px !important;
  font-weight:600 !important;
  padding:13px 26px !important;
  font-family:var(--font-body) !important;
  box-shadow:0 10px 26px -10px rgba(11,30,68,0.45) !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, #place_order:hover{
  transform:translateY(-2px); opacity:0.96;
}

/* Proceed to Checkout — a MAXIMALLY specific override. This button
   uses WooCommerce's ".alt" class, which Avada styles with its own
   dark/black button design at higher specificity than the general
   rule above, causing invisible dark-text-on-dark-background. This
   selector matches WooCommerce's exact real class combination to
   guarantee it wins regardless of what Avada does. */
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button.button.alt,
.woocommerce a.button.alt,
.woocommerce a.checkout-button {
  background:linear-gradient(100deg,var(--indigo),var(--violet)) !important;
  color:#ffffff !important;
  border:0 !important;
  border-radius:999px !important;
  font-weight:600 !important;
}

/* ================================================================== */
/*  CART PAGE REDESIGN — transforms WooCommerce's plain table markup   */
/*  into card-based line items via CSS only (display:flex on table     */
/*  elements). Nothing about cart/checkout LOGIC changes — same forms, */
/*  same AJAX, same hooks — this is purely visual, which is why it's   */
/*  safe to do aggressively without risking the actual payment funnel. */
/* ================================================================== */

.woocommerce-cart table.cart{
  background:transparent !important; border:none !important; box-shadow:none !important;
  backdrop-filter:none !important; padding:0 !important; display:block !important;
}
.woocommerce-cart table.cart thead{display:none !important;}
.woocommerce-cart table.cart tbody{display:flex !important; flex-direction:column; gap:14px;}
.woocommerce-cart table.cart tr.cart_item, .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item{
  display:flex !important; align-items:center; gap:18px; flex-wrap:wrap;
  background:var(--glass-fill-hi) !important; border:1px solid var(--glass-border) !important;
  border-radius:var(--radius-md) !important; padding:18px 20px !important;
  backdrop-filter:blur(20px) saturate(160%); box-shadow:var(--shadow-glass);
}
.woocommerce-cart table.cart td{border:none !important; padding:0 !important;}
.woocommerce-cart table.cart td.product-thumbnail img{
  width:64px !important; height:64px !important; object-fit:cover; border-radius:var(--radius-sm) !important;
}
.woocommerce-cart table.cart td.product-name{
  flex:1; min-width:180px; font-family:var(--font-display); font-weight:600; font-size:0.95rem; color:var(--ink-900) !important;
}
.woocommerce-cart table.cart td.product-name a{color:var(--ink-900) !important;}
.woocommerce-cart table.cart td.product-price{color:var(--ink-500); font-size:0.85rem; white-space:nowrap;}
.woocommerce-cart table.cart td.product-quantity .quantity{display:flex; align-items:center;}
.woocommerce-cart table.cart td.product-quantity input.qty{
  width:56px !important; text-align:center; border-radius:var(--radius-sm) !important;
  border:1px solid var(--glass-border) !important; padding:8px !important; background:#fff !important;
}
.woocommerce-cart table.cart td.product-subtotal{
  font-family:var(--font-mono); font-weight:600; color:var(--indigo); font-size:0.95rem; white-space:nowrap; margin-left:auto;
}
.woocommerce-cart table.cart td.product-remove{order:99;}
.woocommerce-cart table.cart td.product-remove a.remove{
  display:flex !important; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%; background:rgba(225,29,72,0.08) !important;
  color:#E11D48 !important; font-size:1.1rem; text-decoration:none !important;
}
.woocommerce-cart table.cart td.product-remove a.remove:hover{background:rgba(225,29,72,0.18) !important;}
.woocommerce-cart table.cart td.actions{
  display:flex !important; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px;
  background:none !important; border:none !important; margin-top:6px;
}
.woocommerce-cart table.cart td.actions .coupon{display:flex; gap:8px; align-items:center;}
.woocommerce-cart table.cart td.actions input#coupon_code{
  border-radius:999px !important; border:1px solid var(--glass-border) !important; padding:10px 16px !important; background:#fff !important;
}

/* Trust signal injected via functions.php hook, near the checkout button */
.mc2-cart-trust{
  display:flex; align-items:center; gap:10px; margin-top:14px; padding:12px 16px;
  background:rgba(21,128,61,0.06); border:1px solid rgba(21,128,61,0.2); border-radius:var(--radius-sm);
  font-size:0.8rem; color:#15803D;
}

/* Cross-sells ("You may be interested in...") on the Cart page — a
   separate WooCommerce block from the cart table itself, so it needed
   its own styling or its "Add to cart" buttons render with Avada's
   unstyled default (black) button look instead of ours. */
.woocommerce-cart .cross-sells{margin-top:40px;}
.woocommerce-cart .cross-sells h2{font-family:var(--font-display); font-size:1.3rem; color:var(--ink-900); margin-bottom:18px;}
.woocommerce-cart .cross-sells ul.products{
  display:grid !important; grid-template-columns:repeat(4,1fr); gap:16px; list-style:none !important; padding:0 !important; margin:0 !important;
}
.woocommerce-cart .cross-sells ul.products li.product{
  background:var(--glass-fill-hi) !important; border:1px solid var(--glass-border) !important;
  border-radius:var(--radius-md) !important; padding:16px !important; backdrop-filter:blur(20px) saturate(160%);
  box-shadow:var(--shadow-glass) !important; list-style:none !important;
}
.woocommerce-cart .cross-sells ul.products li.product img{border-radius:var(--radius-sm) !important; margin-bottom:10px !important;}
.woocommerce-cart .cross-sells ul.products li.product h2,
.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display) !important; font-size:0.9rem !important; color:var(--ink-900) !important; margin-bottom:4px !important;
}
.woocommerce-cart .cross-sells ul.products li.product .price{color:var(--indigo) !important; font-weight:600 !important; font-size:0.85rem !important;}
@media (max-width:900px){.woocommerce-cart .cross-sells ul.products{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:600px){.woocommerce-cart .cross-sells ul.products{grid-template-columns:1fr !important;}}

/* Shop / category archive pages — same fix pattern as cart: these are
   Avada-rendered pages, not our custom templates, so they need explicit
   product-grid styling rather than just the base .mc2 font/color rules. */
.woocommerce.archive ul.products{display:grid !important; grid-template-columns:repeat(3,1fr); gap:20px; list-style:none !important; margin:0 !important; padding:40px 0 !important;}
.woocommerce.archive ul.products li.product{
  background:var(--glass-fill-hi) !important; border:1px solid var(--glass-border) !important;
  border-radius:var(--radius-lg) !important; padding:20px !important; backdrop-filter:blur(20px) saturate(160%);
  box-shadow:var(--shadow-glass) !important; list-style:none !important; float:none !important; width:auto !important;
}
.woocommerce.archive ul.products li.product img{border-radius:var(--radius-md) !important; margin-bottom:14px !important;}
.woocommerce.archive ul.products li.product h2, .woocommerce.archive ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font-display) !important; font-size:1rem !important; color:var(--ink-900) !important; margin-bottom:6px !important;
}
.woocommerce.archive ul.products li.product .price{color:var(--indigo) !important; font-weight:600 !important;}
.woocommerce.archive .woocommerce-result-count, .woocommerce.archive .woocommerce-ordering select{color:var(--ink-700) !important;}
@media (max-width:900px){.woocommerce.archive ul.products{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:600px){.woocommerce.archive ul.products{grid-template-columns:1fr !important;}}
.woocommerce-MyAccount-navigation ul li{margin-bottom:8px;}
.woocommerce-MyAccount-navigation ul li a{
  display:block; padding:10px 14px; border-radius:999px; font-size:0.88rem; color:var(--ink-700);
}
.woocommerce-MyAccount-navigation ul li.is-active a{
  background:linear-gradient(100deg,var(--indigo),var(--violet)); color:#fff;
}

/* Payment trust badges — shown on checkout + course pages */
.mc2-pay-badges{display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:16px;}
.mc2-pay-badges span{
  font-family:var(--font-mono); font-size:0.7rem; padding:6px 12px; border-radius:999px;
  background:var(--glass-fill); border:1px solid var(--glass-border); color:var(--ink-500);
}
.mc2-pay-badges .label{font-size:0.75rem; color:var(--ink-400); margin-right:4px;}

/* Content page prose — for About, FAQ, Contact, legal pages etc. that
   use the native WordPress editor content via the_content() */
.mc2-prose h2{font-family:var(--font-display); font-weight:600; font-size:1.4rem; color:var(--ink-900); margin:30px 0 14px;}
.mc2-prose h3{font-family:var(--font-display); font-weight:600; font-size:1.15rem; color:var(--ink-900); margin:24px 0 10px;}
.mc2-prose p{color:var(--ink-700); font-size:0.98rem; line-height:1.7; margin-bottom:16px;}
.mc2-prose ul, .mc2-prose ol{margin:0 0 18px 22px; color:var(--ink-700); font-size:0.96rem; line-height:1.7;}
.mc2-prose li{margin-bottom:8px;}
.mc2-prose a{color:var(--indigo); text-decoration:underline;}
.mc2-prose strong{color:var(--ink-900);}
.mc2-prose hr{border:none; border-top:1px solid var(--glass-border); margin:28px 0;}
.mc2-content-page h1{font-family:var(--font-display); font-weight:700; font-size:clamp(1.7rem,3vw,2.2rem); color:var(--ink-900);}


/* Mobile navigation — the desktop nav intentionally collapses below 960px;
   provide a real accessible menu instead of leaving navigation hidden. */
.mc2 .mc2-menu-toggle{
  display:none;
  width:42px; height:42px; border:1px solid var(--glass-border);
  border-radius:12px; background:rgba(255,255,255,.88);
  align-items:center; justify-content:center; flex-direction:column; gap:4px;
  cursor:pointer; color:var(--ink-900);
}
.mc2 .mc2-menu-toggle span{display:block; width:18px; height:2px; border-radius:2px; background:currentColor;}
.mc2 .mc2-mobile-menu{display:none;}
.mc2 .mc2-mobile-menu a{display:block; padding:11px 14px; border-radius:10px; color:var(--ink-700); font-size:.9rem;}
.mc2 .mc2-mobile-menu a:hover{background:rgba(11,30,68,.06); color:var(--ink-900);}
.mc2 .mc2-mobile-menu .mobile-cta{margin-top:6px; background:linear-gradient(100deg,var(--indigo),var(--violet)); color:#fff; text-align:center; font-weight:600;}
@media (max-width:960px){
  .mc2 .mc2-menu-toggle{display:flex;}
  .mc2 .nav-shell{position:relative; flex-wrap:wrap;}
  .mc2 .nav-actions{margin-left:auto;}
  .mc2 .mc2-mobile-menu{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px;
    width:100%; margin-top:8px; padding:10px;
    background:rgba(255,255,255,.96); border-top:1px solid rgba(11,30,68,.08);
    border-radius:16px;
  }
  .mc2 .mc2-mobile-menu[hidden]{display:none;}
}
@media (max-width:720px){
  .mc2 header.mc2-header{padding:8px 0;}
  .mc2 .wrap{padding-left:18px; padding-right:18px;}
  .mc2 .brand{font-size:1rem;}
  .mc2 .brand-mark{width:28px;height:28px;}
  .mc2 .nav-actions .nav-ghost:first-child{display:none;}
  .mc2 .nav-actions .nav-cta{display:none;}
  .mc2 .nav-actions{gap:4px;}
  .mc2 .mc2-mini-cart{margin-right:2px;}
}
@media (max-width:480px){
  .mc2 .mc2-mobile-menu{grid-template-columns:1fr;}
}

.mc2-video-coming{font-family:var(--font-mono); font-size:.62rem; margin-left:6px; color:var(--ink-400);}
.mc2-video-card:not([data-video-id]){cursor:default;}


/* 2.3 layout stability fixes: prevent inline-style/Avada interactions from
   collapsing the hero and stat strip, especially on narrow viewports. */
.mc2{overflow-x:hidden; width:100%;}
.mc2 .hero{position:relative; overflow:visible;}
.mc2 .hero-grid{align-items:start;}
.mc2 .hero-grid > div:first-child{min-width:0;}
.mc2 .hero-grid h1{margin:0; max-width:640px;}
.mc2 .hero-grid > div:first-child > p{max-width:560px;}
.mc2 .stat-strip.mc2-stat-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  width:100%;
  max-width:560px;
  padding:16px 10px;
  margin-top:8px;
  position:relative;
  z-index:1;
}
.mc2 .mc2-stat{min-width:0; padding:2px 10px; text-align:center;}
.mc2 .mc2-stat-divider{border-right:1px solid var(--glass-border);}
.mc2 .mc2-stat-value{
  font-family:var(--font-mono);
  font-size:clamp(.88rem,1.6vw,1.15rem);
  line-height:1.2;
  font-weight:600;
  color:var(--ink-900);
  white-space:nowrap;
}
.mc2 .mc2-stat-label{
  margin-top:6px;
  font-size:.63rem;
  line-height:1.25;
  color:var(--ink-400);
  letter-spacing:.04em;
  white-space:nowrap;
}
.mc2 .hero-visual{height:auto; min-height:0;}
.mc2 .hero-visual .mc2-hero-image-card{width:100%;}
.mc2 .hero-visual .mc2-hero-image-card img{min-height:0;}

@media (max-width:1024px){
  .mc2 .hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr); gap:28px;}
  .mc2 .hero-grid h1{font-size:clamp(2rem,4.8vw,3rem);}
  .mc2 .stat-strip.mc2-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:12px; padding:14px 10px;}
  .mc2 .mc2-stat-divider{border-right:0;}
  .mc2 .mc2-stat:nth-child(odd){border-right:1px solid var(--glass-border);}
  .mc2 .mc2-stat:nth-child(-n+2){padding-bottom:10px; border-bottom:1px solid var(--glass-border);}
}
@media (max-width:900px){
  .mc2 .hero{padding-top:52px !important;}
  .mc2 .hero-grid{grid-template-columns:1fr; text-align:left; gap:30px;}
  .mc2 .hero-grid > div:first-child{width:100%;}
  .mc2 .hero-grid > div:first-child > p{max-width:680px;}
  .mc2 .hero-visual{display:block !important; width:100%; max-width:620px !important; margin:0 !important;}
}
@media (max-width:600px){
  .mc2 .wrap{padding-left:18px; padding-right:18px;}
  .mc2 .hero{padding:36px 0 28px !important;}
  .mc2 .hero-grid{gap:24px;}
  .mc2 .hero-grid h1{font-size:clamp(2rem,9vw,2.75rem); line-height:1.08;}
  .mc2 .hero-grid > div:first-child > p{font-size:.98rem !important; line-height:1.58; margin:14px 0 22px !important;}
  .mc2 .hero-grid form{max-width:100% !important; margin-bottom:14px !important; padding-left:14px !important;}
  .mc2 .hero-grid form input{min-width:0;}
  .mc2 .hero-grid form button{padding:8px 11px !important;}
  .mc2 .stat-strip.mc2-stat-strip{max-width:100%; grid-template-columns:repeat(2,minmax(0,1fr));}
  .mc2 .mc2-stat{padding:5px 6px;}
  .mc2 .mc2-stat-value{font-size:.86rem;}
  .mc2 .mc2-stat-label{font-size:.57rem;}
  .mc2 .mc2-hero-overlay{left:12px; right:12px; bottom:12px; padding:13px;}
  .mc2 .mc2-hero-overlay h3{font-size:1rem;}
  .mc2 .mc2-hero-overlay p{font-size:.74rem;}
}

/* MonsterCourses 2.2 media + interaction layer */
.mc2-hero-image-card{position:relative;overflow:hidden;padding:0!important;border-radius:24px;box-shadow:0 24px 70px rgba(11,30,68,.16)}
.mc2-hero-image-card img{display:block;width:100%;aspect-ratio:16/11;object-fit:cover}
.mc2-hero-overlay{position:absolute;left:18px;right:18px;bottom:18px;padding:18px;border-radius:18px;background:linear-gradient(180deg,rgba(11,30,68,.04),rgba(11,30,68,.9));color:#fff}
.mc2-hero-overlay h3{font-family:var(--font-display);font-size:1.25rem;line-height:1.2;margin:8px 0;color:#fff}
.mc2-hero-overlay p{font-size:.82rem;line-height:1.5;color:rgba(255,255,255,.86);margin:0 0 12px}
.mc2-live-pill{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;padding:5px 9px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.09);border-radius:999px}
.mc2-live-pill span{width:7px;height:7px;border-radius:50%;background:#63d471;box-shadow:0 0 0 4px rgba(99,212,113,.14)}
.mc2-hero-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.mc2-hero-mini-grid span{font-size:.62rem;text-align:center;padding:7px 4px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:9px}
.mc2-image-card{overflow:hidden;padding:0!important}
.mc2-image-card>img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover}
.mc2-image-card-body{padding:18px}
.mc2-card-link{display:inline-block;margin-top:12px;font-family:var(--font-mono);font-size:.64rem;letter-spacing:.03em;color:var(--indigo)}
.mc2-course-card{padding:0!important;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.mc2-course-card-main{display:block;color:inherit;text-decoration:none}
.mc2-course-card-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.mc2-course-card-body{padding:16px 16px 10px}
.mc2-course-card-body h3{margin-bottom:8px}
.mc2-course-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:14px;font-size:.69rem;color:var(--ink-400);font-family:var(--font-mono)}
.mc2-course-meta span:first-child{color:var(--ink-900)}
.mc2-add-btn{margin:0 16px 16px;text-align:center;justify-content:center}
.mc2-path-finder{padding-top:0}
.mc2-path-card{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:24px;align-items:center;padding:28px}
.mc2-role-buttons{display:flex;flex-wrap:wrap;gap:8px}
.mc2-role-buttons button{appearance:none;border:1px solid var(--glass-border);background:#fff;padding:10px 13px;border-radius:999px;font:600 .7rem var(--font-mono);color:var(--ink-700);cursor:pointer;transition:.2s ease}
.mc2-role-buttons button:hover,.mc2-role-buttons button:focus{border-color:var(--indigo);color:var(--indigo);transform:translateY(-1px);outline:none}
.mc2-path-result{grid-column:1/-1;padding:16px 18px;border:1px solid var(--glass-border);border-radius:16px;background:rgba(255,255,255,.65);font-size:.85rem;color:var(--ink-700)}
@media (max-width:900px){.mc2-path-card{grid-template-columns:1fr}.mc2-role-buttons{justify-content:flex-start}.mc2-hero-mini-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.mc2-course-grid{grid-template-columns:1fr!important}.mc2-hero-overlay{left:10px;right:10px;bottom:10px;padding:13px}.mc2-hero-overlay h3{font-size:1.05rem}.mc2-hero-overlay p{font-size:.75rem}.mc2-path-card{padding:20px}.mc2-role-buttons button{flex:1 1 calc(50% - 8px);text-align:center}.mc2-course-meta{font-size:.62rem}}

/* ------------------------------------------------------------------
   Branded course imagery — v2.4.0
   Every course uses the MonsterCourses banner library consistently on
   archive cards, homepage cards, related courses and the course detail hero.
------------------------------------------------------------------ */
.mc2-course-card-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0b1e44;transition:transform .35s ease,filter .35s ease}
.mc2-course-card-main:hover .mc2-course-card-image,.mc2-related-course-card:hover .mc2-course-card-image{transform:scale(1.025);filter:saturate(1.08)}
.mc2-single-course-visual{position:relative;overflow:hidden;border-radius:24px;border:1px solid var(--glass-border);background:#0b1e44;box-shadow:var(--shadow-glass);min-height:320px}
.mc2-single-course-visual .mc2-course-card-image{height:320px;aspect-ratio:auto;object-fit:cover}
.mc2-course-visual-caption{position:absolute;left:18px;right:18px;bottom:18px;padding:16px 18px;border-radius:16px;background:rgba(6,18,43,.78);backdrop-filter:blur(14px);color:#fff;display:flex;flex-direction:column;gap:4px}
.mc2-course-visual-caption span{font:500 .62rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#ffd0b2}
.mc2-course-visual-caption strong{font:600 1rem var(--font-display);line-height:1.25}
.mc2-related-course-card{padding:0!important;overflow:hidden;display:block;text-decoration:none;color:inherit}
.mc2-related-course-card .mc2-course-card-image{aspect-ratio:16/8}
.mc2-related-course-body{padding:16px 18px 18px}
.mc2-related-course-body span{display:block;margin-top:10px;font:500 .64rem var(--font-mono);color:var(--indigo)}
.woocommerce.archive ul.products li.product img.mc2-course-card-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px!important;margin-bottom:14px!important}
@media(max-width:900px){.mc2-single-course-visual .mc2-course-card-image{height:280px}.mc2-single-course-visual{min-height:280px}}
@media(max-width:600px){.mc2-single-course-visual .mc2-course-card-image{height:220px}.mc2-single-course-visual{min-height:220px;border-radius:18px}.mc2-course-visual-caption{left:12px;right:12px;bottom:12px;padding:12px 14px}.mc2-course-visual-caption strong{font-size:.9rem}}

/* ------------------------------------------------------------------
   WooCommerce catalogue — global MonsterCourses card override
   v2.8.0
   Avada's product-card template is intentionally bypassed by
   woocommerce/content-product.php. These rules also neutralize the
   parent theme's product-grid/image sizing so the archive is a clean,
   predictable 4/3/2/1 responsive grid.
------------------------------------------------------------------ */
body.mc2.woocommerce.archive #main,
body.mc2.woocommerce.archive #content,
body.mc2.woocommerce.archive .fusion-row,
body.mc2.woocommerce.archive .woocommerce-container,
body.mc2.woocommerce.archive .mc2-wc-wrap{width:100%!important;max-width:none!important;}
body.mc2.woocommerce.archive .mc2-wc-wrap{padding-left:24px!important;padding-right:24px!important;}
body.mc2.woocommerce.archive ul.products,
body.mc2.woocommerce.archive ul.products.products-4,
body.mc2.woocommerce.archive ul.products.products-3,
body.mc2.woocommerce.archive ul.products.products-2{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:24px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  float:none!important;
  clear:none!important;
}
body.mc2.woocommerce.archive ul.products::before,
body.mc2.woocommerce.archive ul.products::after{display:none!important;content:none!important;}
body.mc2.woocommerce.archive ul.products li.product.mc2-product-card,
body.mc2.woocommerce.archive ul.products li.product.mc2-product-card.first,
body.mc2.woocommerce.archive ul.products li.product.mc2-product-card.last{
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  left:auto!important;
  right:auto!important;
  position:relative!important;
}
.mc2-catalog-card{
  height:100%;
  min-width:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(11,30,68,.09);
  border-radius:20px;
  box-shadow:0 12px 36px rgba(11,30,68,.09);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.mc2-catalog-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px rgba(11,30,68,.14);border-color:rgba(11,30,68,.15);}
.mc2-catalog-card-media{position:relative;display:block;overflow:hidden;aspect-ratio:16/9;background:#0b1e44;text-decoration:none!important;}
.mc2-catalog-card-media .mc2-course-card-image,
.mc2-catalog-card-media img{display:block!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:cover!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;}
.mc2-catalog-card-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,30,68,0) 55%,rgba(11,30,68,.16));pointer-events:none;}
.mc2-card-badge{position:absolute;z-index:2;left:12px;top:12px;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.92);color:#0b1e44;font:600 .58rem var(--font-mono);letter-spacing:.04em;text-transform:uppercase;box-shadow:0 5px 16px rgba(0,0,0,.12);}
.mc2-catalog-card-body{display:flex;flex-direction:column;flex:1;padding:18px 18px 16px;min-width:0;}
.mc2-catalog-eyebrow{font:600 .58rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:#6a7897;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mc2-catalog-title{font-family:var(--font-display)!important;font-size:1.05rem!important;line-height:1.25!important;font-weight:600!important;margin:0 0 8px!important;min-height:2.65em;}
.mc2-catalog-title a{color:#102756!important;text-decoration:none!important;}
.mc2-catalog-title a:hover{color:#294fc1!important;}
.mc2-catalog-excerpt{font-family:var(--font-body);font-size:.78rem;line-height:1.5;color:#71809e;margin:0 0 14px;min-height:3.0em;}
.mc2-catalog-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid rgba(11,30,68,.08);padding-top:12px;margin-top:auto;font:500 .66rem var(--font-mono);color:#71809e;}
.mc2-catalog-meta span:last-child{color:#16834b;font-weight:600;white-space:nowrap;}
.mc2-catalog-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;}
.mc2-catalog-view{font:600 .64rem var(--font-mono);color:#102756!important;text-decoration:none!important;}
.mc2-catalog-view:hover{color:#294fc1!important;}
.mc2-catalog-cart{display:inline-flex!important;align-items:center;justify-content:center;padding:8px 11px!important;border:0!important;border-radius:999px!important;background:linear-gradient(90deg,#102756,#f47a22)!important;color:#fff!important;font:600 .62rem var(--font-mono)!important;line-height:1!important;box-shadow:none!important;text-decoration:none!important;}
.mc2-catalog-cart:hover{color:#fff!important;transform:translateY(-1px);}
/* Neutralize Avada/WooCommerce's duplicate image and old product-card styles. */
body.mc2.woocommerce.archive ul.products li.product img:not(.mc2-course-card-image){max-width:none;}
body.mc2.woocommerce.archive ul.products li.product .woocommerce-loop-product__link>img{display:none!important;}
body.mc2.woocommerce.archive ul.products li.product .fusion-image-wrapper{display:none!important;}
body.mc2.woocommerce.archive ul.products li.product .fusion-product-wrapper{background:transparent!important;box-shadow:none!important;border:0!important;}
body.mc2.woocommerce.archive ul.products li.product .product-buttons,
body.mc2.woocommerce.archive ul.products li.product .fusion-rollover{display:none!important;}

@media(max-width:1180px){
  body.mc2.woocommerce.archive ul.products,
  body.mc2.woocommerce.archive ul.products.products-4,
  body.mc2.woocommerce.archive ul.products.products-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:860px){
  body.mc2.woocommerce.archive ul.products,
  body.mc2.woocommerce.archive ul.products.products-4,
  body.mc2.woocommerce.archive ul.products.products-3,
  body.mc2.woocommerce.archive ul.products.products-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
}
@media(max-width:560px){
  body.mc2.woocommerce.archive .mc2-wc-wrap{padding-left:16px!important;padding-right:16px!important;}
  body.mc2.woocommerce.archive ul.products,
  body.mc2.woocommerce.archive ul.products.products-4,
  body.mc2.woocommerce.archive ul.products.products-3,
  body.mc2.woocommerce.archive ul.products.products-2{grid-template-columns:1fr!important;gap:16px!important;}
  .mc2-catalog-title{font-size:1.08rem!important;}
}

/* v2.9.0 — hard image isolation: never blur, duplicate, or inherit Avada filters */
body.mc2.woocommerce.archive .mc2-catalog-card-media,
body.mc2.woocommerce.archive .mc2-catalog-card-media *{
  filter:none!important;
  -webkit-filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.mc2.woocommerce.archive .mc2-catalog-card-media .mc2-course-card-image,
body.mc2.woocommerce.archive img.mc2-global-product-image{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  mix-blend-mode:normal!important;
}
body.mc2.woocommerce.archive .mc2-catalog-card-media::before,
body.mc2.woocommerce.archive .mc2-catalog-card-media::after{filter:none!important;}
body.mc2.woocommerce.archive .mc2-catalog-card-media::after{
  background:linear-gradient(180deg,rgba(11,30,68,0) 60%,rgba(11,30,68,.12))!important;
}
