/*
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.0.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 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 .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%;}

/* 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);}
