/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Version: 5.0.3
Description: MainChick child theme - custom brand CSS lives here so theme updates never wipe it out.
*/

:root{
  --mc-red:#C8202B;
  --mc-red-dark:#A4151F;
  --mc-cream:#F7F1CE;
  --mc-ink:#1A1A1A;
  --mc-gold:#E8B23A;
}

/* ===== Ambient background motion (pure CSS, GPU-composited, lightweight) ===== */
body{ position:relative; }
.mc-bg-motion{
  position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none;
  background:var(--mc-cream);
}
.mc-bg-motion span{
  position:absolute; display:block; border-radius:50%;
  filter:blur(60px); opacity:.28; will-change:transform;
}
.mc-bg-motion span:nth-child(1){
  width:44vw; height:44vw; left:-10vw; top:-8vw;
  background:radial-gradient(circle at 30% 30%, rgba(200,32,43,.55), transparent 70%);
  animation:mcOrbA 26s ease-in-out infinite;
}
.mc-bg-motion span:nth-child(2){
  width:38vw; height:38vw; right:-8vw; top:22vh;
  background:radial-gradient(circle at 60% 40%, rgba(232,178,58,.5), transparent 70%);
  animation:mcOrbB 32s ease-in-out infinite;
}
.mc-bg-motion span:nth-child(3){
  width:36vw; height:36vw; left:18vw; bottom:-10vw;
  background:radial-gradient(circle at 50% 50%, rgba(200,32,43,.35), transparent 70%);
  animation:mcOrbC 38s ease-in-out infinite;
}
@keyframes mcOrbA{ 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(6vw,5vh,0)} }
@keyframes mcOrbB{ 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(-5vw,4vh,0)} }
@keyframes mcOrbC{ 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(4vw,-5vh,0)} }
@media (prefers-reduced-motion: reduce){
  .mc-bg-motion span{ animation:none!important; }
}

/* ===== Scroll reveal (CSS transition toggled by JS IntersectionObserver) ===== */
.mc-reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease; }
.mc-reveal.mc-in{ opacity:1; transform:none; }

/* ===== Hero entrance (transform-only - hero text is ALWAYS visible, never strands) ===== */
@keyframes mcRise{ from{transform:translateY(18px)} to{transform:none} }
@keyframes mcFadeIn{ from{opacity:0} to{opacity:1} }
.mc-hero-badge{ animation:mcRise .6s ease both; }
.mc-hero-heading{ animation:mcRise .6s ease .06s both; }
.mc-hero-sub{ animation:mcRise .6s ease .12s both; }
.mc-hero-actions{ animation:mcRise .6s ease .18s both; }
.mc-social-proof{ animation:mcRise .6s ease .24s both; }
/* hero image may fade (it's decorative, safe to fade) */
.mc-hero-image{ animation:mcFadeIn .7s ease .15s both, mcRise .7s ease .15s both; }
@media (prefers-reduced-motion: reduce){
  .mc-reveal{ opacity:1!important; transform:none!important; transition:none!important; }
  .mc-hero-badge,.mc-hero-heading,.mc-hero-sub,.mc-hero-actions,.mc-social-proof,.mc-hero-image{ animation:none!important; }
}

body,.woocommerce,.woocommerce-page,
.woocommerce-cart,.woocommerce-checkout,
.woocommerce-account,.woocommerce-order-received{
  background:var(--mc-cream)!important;
  color:var(--mc-ink)!important;
}

.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce .button.alt,.wc-block-components-button,
.wp-block-button__link,#place_order{
  background:var(--mc-red)!important;
  color:#fff!important;
  border:none!important;
  border-radius:9999px!important;
  font-weight:700!important;
  padding:14px 28px!important;
  transition:background .2s ease;
}

.woocommerce a.button:hover,.woocommerce button.button:hover,
.woocommerce .button.alt:hover,.wc-block-components-button:hover,
#place_order:hover{ background:var(--mc-red-dark)!important; }

.woocommerce .wc-proceed-to-checkout a.checkout-button,#place_order{
  width:100%!important; text-align:center!important; font-size:17px!important;
}

.woocommerce-message,.woocommerce-info,.woocommerce-error{
  border-top-color:var(--mc-red)!important;
  background:#fff!important; border-radius:12px;
}

.woocommerce table.shop_table,
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review{
  border-radius:16px; overflow:hidden; background:#fff;
}

.woocommerce .quantity .qty{
  min-height:44px; min-width:60px; font-size:16px;
  border-radius:9999px; text-align:center;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  min-height:46px; border-radius:12px; font-size:16px;
  border:1px solid rgba(26,26,26,.15);
}

a{ color:var(--mc-red); }

/* Elementor's default kit binds heading color to the "primary" global color -
   force headings back to ink; red stays reserved for CTAs/accents only. */
body .elementor-widget-heading .elementor-heading-title{ color:var(--mc-ink)!important; font-family:'Fredoka',sans-serif; }
.mc-text-red{ color:var(--mc-red)!important; }
.mc-text-gold{ color:var(--mc-gold)!important; }

/* Sitewide pill buttons (not just WooCommerce) */
body .elementor-widget-button .elementor-button,
body a.elementor-button{
  background:var(--mc-red)!important;
  color:#fff!important;
  border-radius:9999px!important;
  font-weight:700!important;
  padding:16px 32px!important;
  font-size:16px!important;
  border:none!important;
  transition:background .2s ease, transform .15s ease;
}
body .elementor-widget-button .elementor-button:hover,
body a.elementor-button:hover{ background:var(--mc-red-dark)!important; transform:translateY(-2px); }
body .elementor-widget-button .elementor-button:active,
body a.elementor-button:active{ transform:scale(.97); }

/* Outline/secondary button variant */
body .mc-btn-outline .elementor-button{
  background:transparent!important;
  color:var(--mc-red)!important;
  border:2px solid var(--mc-red)!important;
}
body .mc-btn-outline .elementor-button:hover{ background:var(--mc-red)!important; color:#fff!important; }

/* Cream-on-red variant for red-background sections */
body .mc-btn-on-red .elementor-button{
  background:var(--mc-cream)!important;
  color:var(--mc-red)!important;
}
body .mc-btn-on-red .elementor-button:hover{ background:#fff!important; }

/* Tap targets */
body .elementor-widget-button .elementor-button{ min-height:44px; }

/* Announcement bar */
.mc-announce-bar{ padding:10px 16px!important; }
.mc-announce-text p{ color:var(--mc-cream); font-size:13px; font-weight:600; margin:0; text-align:center; letter-spacing:.02em; }
.mc-announce-text{ text-align:center; }

/* Hero */
.mc-hero-badge{ display:inline-block; background:var(--mc-gold); color:var(--mc-ink); font-weight:700; font-size:13px; padding:6px 16px; border-radius:9999px; margin-bottom:16px; }
.mc-hero-heading .elementor-heading-title{ font-size:clamp(36px,6vw,64px)!important; line-height:1.05!important; color:var(--mc-ink)!important; }
.mc-hero-sub p{ font-size:18px; color:var(--mc-ink); opacity:.85; max-width:520px; }
.mc-social-proof p{ font-size:14px; color:var(--mc-ink); opacity:.7; }
.mc-hero-actions{ gap:16px; flex-wrap:wrap; }

@media (max-width:767px){
  .mc-hero-heading .elementor-heading-title{ font-size:32px!important; }
}

/* Section rhythm + layout helpers - scoped to TOP-LEVEL sections only.
   (.e-con is Elementor's generic container class used at every nesting level -
   targeting it broadly compounds padding at every level. Learned this the hard way.) */
.mc-hero-section, .mc-benefits-section, .mc-flavours-section, .mc-howitworks-section,
.mc-compare-section, .mc-testimonials-section, .mc-stats-section, .mc-faq-section,
.mc-final-cta-section{
  padding-top:clamp(48px,7vw,84px)!important;
  padding-bottom:clamp(48px,7vw,84px)!important;
}
.mc-announce-bar{ padding-top:16px!important; padding-bottom:16px!important; }
.mc-section-heading-col{ text-align:center; margin-bottom:24px; }
.mc-section-title .elementor-heading-title{ font-size:clamp(28px,4vw,42px)!important; text-align:center; }
.mc-section-subtitle p{ text-align:center; opacity:.75; font-size:16px; }

.mc-col-50{ flex:1 1 480px!important; min-width:0!important; width:auto!important; }
body .mc-hero-image img{ max-width:100%!important; width:100%!important; height:auto!important; display:block!important; border-radius:24px!important; box-shadow:0 16px 48px rgba(26,26,26,.16)!important; }
body .mc-hero-row{ align-items:center!important; }
body .mc-hero-image{ max-width:420px!important; margin:0 auto!important; }
@media (max-width:900px){ body .mc-hero-image{ max-width:320px!important; } }
.mc-col-33{ flex:1 1 30%!important; min-width:0!important; width:auto!important; }
.mc-col-25{ flex:1 1 22%!important; min-width:0!important; width:auto!important; }
.mc-benefits-row, .mc-steps-row, .mc-flavours-row{ gap:24px; justify-content:center; }

/* Elementor's .e-con.e-child default (flex-direction:column) beats the CSS-variable-based row setting on nested containers - force row explicitly. */
.mc-hero-row, .mc-benefits-row, .mc-steps-row, .mc-flavours-row, .mc-testimonials-row, .mc-stats-row{ flex-direction:row!important; }
@media (max-width:767px){
  .mc-hero-row, .mc-benefits-row, .mc-steps-row, .mc-flavours-row, .mc-testimonials-row, .mc-stats-row{ flex-direction:column!important; }
}

/* Outer SECTION containers (heading stacked above a content row) default to row
   direction from Elementor's own inline CSS - force column so heading sits above, not beside. */
.mc-hero-section, .mc-benefits-section, .mc-flavours-section, .mc-howitworks-section,
.mc-compare-section, .mc-testimonials-section, .mc-stats-section, .mc-faq-section,
.mc-final-cta-section{
  flex-direction:column!important;
}
.mc-section-heading-col, .mc-sample-note-col, .mc-faq-col, .mc-compare-col{
  flex:1 1 100%!important; width:100%!important; max-width:100%!important;
}

/* Cards */
.mc-flavour-card{ flex:1 1 30%!important; min-width:0!important; width:auto!important; }
@media (max-width:767px){ .elementor-element.mc-flavour-card.mc-flavour-card{ flex:1 1 100%!important; width:100%!important; } }
.mc-benefit-card, .mc-step-card, .mc-flavour-card{
  background:#fff; border-radius:20px; padding:32px!important;
  box-shadow:0 4px 20px rgba(26,26,26,.06); border:1px solid rgba(26,26,26,.06);
}
/* Defensive icon sizing: Elementor 4 renders FA icons as inline SVG (.e-font-icon-svg).
   If Elementor's own CSS loads late (cache combine/defer), unconstrained SVGs render giant.
   This rule loads early in the child stylesheet so icons NEVER flash oversized. */
svg.e-font-icon-svg{ width:1em; height:1em; fill:currentColor; }
.elementor-icon svg{ width:1em; height:1em; }

.mc-benefit-card .elementor-icon-box-icon{ color:var(--mc-red); }
.mc-benefit-card .elementor-icon-box-icon .elementor-icon{ font-size:34px!important; color:var(--mc-red)!important; }
.mc-benefit-card .elementor-icon-box-icon svg{ width:34px!important; height:34px!important; fill:var(--mc-red)!important; }
.mc-benefit-card .elementor-icon-box-title{ font-family:'Fredoka',sans-serif; color:var(--mc-ink)!important; font-size:20px; margin:16px 0 8px; }
.mc-benefit-card .elementor-icon-box-description{ color:var(--mc-ink); opacity:.75; }

.mc-step-num{ font-family:'JetBrains Mono',monospace; font-size:14px; color:var(--mc-red); font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.mc-step-title .elementor-heading-title{ text-align:center; font-size:22px!important; }
.mc-step-card .mc-step-desc p{ text-align:center; opacity:.75; }

body .mc-flavour-image img{ max-width:100%!important; width:100%!important; height:240px!important; object-fit:cover!important; display:block!important; border-radius:16px!important; margin-bottom:16px!important; }
.mc-flavour-title .elementor-heading-title{ font-size:22px!important; }
.mc-flavour-price p{ font-family:'Fredoka',sans-serif; font-size:28px; font-weight:600; color:var(--mc-red); margin:8px 0; }
.mc-flavour-price span{ font-size:14px; font-weight:400; color:var(--mc-ink); opacity:.6; }
.mc-flavour-locked{ opacity:.6; filter:grayscale(.3); position:relative; }
.mc-flavour-lock-icon i{ font-size:28px; color:var(--mc-ink); opacity:.4; }
.mc-coming-soon-badge p{ display:inline-block; background:var(--mc-gold); color:var(--mc-ink); font-weight:700; font-size:12px; padding:4px 14px; border-radius:9999px; }

/* Comparison table */
.mc-table-scroll{ overflow-x:auto; border-radius:16px; box-shadow:0 4px 20px rgba(26,26,26,.06); }
.mc-compare-table{ width:100%; border-collapse:collapse; background:#fff; min-width:600px; }
.mc-compare-table th, .mc-compare-table td{ padding:16px 20px; text-align:center; border-bottom:1px solid rgba(26,26,26,.08); }
.mc-compare-table th:first-child, .mc-compare-table td:first-child{ text-align:left; font-weight:600; }
.mc-compare-table thead th{ font-family:'Fredoka',sans-serif; background:var(--mc-cream); }
.mc-compare-table thead th:nth-child(2){ color:var(--mc-red); }
.mc-compare-table .mc-yes{ color:#2E9E5B; font-weight:700; font-size:18px; }
.mc-compare-table .mc-no{ color:#B0392F; font-weight:700; font-size:18px; }
.mc-compare-table .mc-mid{ color:var(--mc-ink); opacity:.5; font-weight:700; }

@media (max-width:767px){
  .elementor-element.mc-col-50.mc-col-50, .elementor-element.mc-col-33.mc-col-33, .elementor-element.mc-col-25.mc-col-25{ flex:1 1 100%!important; width:100%!important; }
}

/* Testimonials */
.mc-testimonials-row{ gap:24px; }
.mc-testimonial-card{ background:#fff; border-radius:20px; padding:28px!important; box-shadow:0 4px 20px rgba(26,26,26,.06); }
.mc-testimonial-card .elementor-testimonial-content{ color:var(--mc-ink); font-size:16px; font-style:italic; }
.mc-testimonial-card .elementor-testimonial-name{ font-family:'Fredoka',sans-serif; color:var(--mc-red); }
.mc-sample-note-col{ text-align:center; margin-top:8px; }
.mc-sample-note p{ font-size:13px; color:var(--mc-ink); opacity:.5; text-align:center; }

/* Stats band */
.mc-stats-section .elementor-heading-title{ color:var(--mc-cream)!important; }
.mc-stats-row{ gap:16px; }
.mc-stat-item{ text-align:center; }
.mc-stat-val p{ font-family:'Fredoka',sans-serif; font-size:clamp(20px,3vw,28px); font-weight:600; color:var(--mc-cream)!important; margin:0; }

/* FAQ accordion */
.mc-faq-col{ max-width:800px; margin:0 auto; }
.mc-faq-accordion .elementor-accordion-item{ background:#fff; border-radius:16px!important; margin-bottom:12px; border:1px solid rgba(26,26,26,.08)!important; overflow:hidden; }
.mc-faq-accordion .elementor-tab-title{ font-family:'Fredoka',sans-serif; padding:20px 24px!important; }
.mc-faq-accordion .elementor-tab-content{ padding:0 24px 20px!important; opacity:.8; }
.mc-faq-accordion .elementor-accordion-icon i{ transition:transform .2s ease; }
.mc-faq-accordion .elementor-active .elementor-accordion-icon i{ transform:rotate(135deg); }

/* Final CTA */
.mc-final-cta-col{ text-align:center; align-items:center; }
.mc-final-cta-heading .elementor-heading-title{ color:var(--mc-cream)!important; font-size:clamp(28px,5vw,48px)!important; }

/* Header */
.mc-site-header{ position:sticky; top:0; z-index:999; background:var(--mc-cream); box-shadow:0 2px 12px rgba(26,26,26,.06); }
.mc-header-inner{ max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 24px; }
.mc-logo-text{ font-family:'Fredoka',sans-serif; font-size:24px; font-weight:600; color:var(--mc-red)!important; text-decoration:none; }
.mc-header-nav{ flex:1; display:flex; justify-content:center; }
.mc-nav-menu{ list-style:none; display:flex; gap:28px; margin:0; padding:0; }
.mc-nav-menu a{ color:var(--mc-ink); text-decoration:none; font-weight:600; font-size:15px; }
.mc-nav-menu a:hover{ color:var(--mc-red); }
.mc-header-actions{ display:flex; align-items:center; gap:16px; }
.mc-cart-icon{ position:relative; color:var(--mc-ink); font-size:20px; text-decoration:none; display:inline-flex; align-items:center; }
.mc-cart-count{ position:absolute; top:-8px; right:-10px; background:var(--mc-red); color:#fff; font-size:11px; font-weight:700; border-radius:9999px; min-width:18px; height:18px; display:flex; align-items:center; justify-content:center; padding:0 4px; }
.mc-header-cta{ background:var(--mc-red)!important; color:#fff!important; border-radius:9999px!important; padding:10px 22px!important; font-weight:700!important; font-size:14px!important; text-decoration:none; white-space:nowrap; }
.mc-header-cta:hover{ background:var(--mc-red-dark)!important; }
.mc-hamburger{ display:none; flex-direction:column; gap:4px; background:none; border:none; padding:8px; cursor:pointer; }
.mc-hamburger span{ width:22px; height:2px; background:var(--mc-ink); display:block; }

@media (max-width:900px){
  .mc-header-nav{ display:none; position:absolute; top:100%; left:0; right:0; background:var(--mc-cream); flex-direction:column; padding:16px 24px; box-shadow:0 8px 16px rgba(26,26,26,.08); }
  .mc-nav-menu{ flex-direction:column; gap:16px; }
  .mc-nav-open .mc-header-nav{ display:flex; }
  .mc-hamburger{ display:flex; }
  .mc-header-cta{ display:none; }
}

/* Footer */
.mc-site-footer{ background:var(--mc-ink); color:var(--mc-cream); padding:56px 24px 0; }
.mc-footer-inner{ max-width:1200px; margin:0 auto; display:flex; flex-wrap:wrap; gap:40px; justify-content:space-between; padding-bottom:32px; }
.mc-site-footer .mc-logo-text{ color:var(--mc-cream)!important; }
.mc-footer-brand p{ opacity:.75; margin:8px 0 12px; max-width:280px; }
.mc-footer-social{ color:var(--mc-gold)!important; text-decoration:none; font-weight:600; }
.mc-footer-contact p{ margin:4px 0; }
.mc-footer-contact a{ color:var(--mc-cream)!important; text-decoration:none; opacity:.85; }
.mc-footer-contact a:hover{ opacity:1; }
.mc-footer-nav{ display:flex; flex-direction:column; gap:8px; }
.mc-footer-menu{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.mc-footer-menu a{ color:var(--mc-cream)!important; opacity:.75; text-decoration:none; font-size:14px; }
.mc-footer-menu a:hover{ opacity:1; }
.mc-footer-bottom{ border-top:1px solid rgba(247,241,206,.15); text-align:center; padding:20px 0; font-size:13px; opacity:.6; max-width:1200px; margin:0 auto; }

/* Sticky mobile Order Now bar */
@media (max-width:767px){
  body.home{ padding-bottom:64px; } /* space for the fixed .mc-sticky buy bar (front page only) */
  .mc-mobile-order-bar{ position:fixed; bottom:0; left:0; right:0; z-index:998; background:var(--mc-cream); box-shadow:0 -4px 16px rgba(26,26,26,.12); padding:10px 16px; }
  .mc-mobile-order-bar a{ display:block; width:100%; text-align:center; background:var(--mc-red); color:#fff; border-radius:9999px; padding:12px; font-weight:700; text-decoration:none; }
}
@media (min-width:768px){ .mc-mobile-order-bar{ display:none; } }

@media (max-width:767px){
  .woocommerce table.shop_table_responsive tr,
  .woocommerce table.shop_table_responsive td{ display:block; width:100%; }
  .woocommerce .wc-proceed-to-checkout a.checkout-button{
    position:sticky; bottom:12px; z-index:20; box-shadow:0 6px 20px rgba(0,0,0,.18);
  }
}

/* WooCommerce BLOCKS (Cart/Checkout) - this store uses block-based cart/checkout, not classic shortcodes. */
body.woocommerce-cart, body.woocommerce-checkout{ background:var(--mc-cream)!important; }
.wc-block-cart, .wc-block-checkout{ background:transparent!important; }

.wc-block-components-quantity-selector{ border-radius:9999px!important; overflow:hidden; border:1px solid rgba(26,26,26,.15)!important; }
.wc-block-components-quantity-selector__input{ min-height:44px!important; height:44px!important; font-size:16px!important; text-align:center; }
.wc-block-components-quantity-selector__button{ min-height:44px!important; min-width:44px!important; font-size:18px!important; }

/* Text-ish fields only. Radios/checkboxes must NEVER get min-height or pill radius
   or they render as tall white ovals. */
.wc-block-components-text-input input:not([type=radio]):not([type=checkbox]),
.wc-block-components-address-form input:not([type=radio]):not([type=checkbox]),
select.wc-block-components-select-input{
  min-height:46px!important; border-radius:12px!important; font-size:16px!important;
  border:1px solid rgba(26,26,26,.15)!important;
}

.wc-block-components-text-input label{ font-size:14px; }

.wc-block-components-notice-banner{ border-radius:12px!important; border-left-color:var(--mc-red)!important; }

.wc-block-cart-items, .wc-block-components-order-summary, .wc-block-checkout__sidebar,
.wc-block-checkout__main .wc-block-components-checkout-step{
  background:#fff; border-radius:16px!important; padding:16px;
}

.wc-block-components-panel .wc-block-components-panel__button{ font-size:14px; }

.mc-empty-cart-title{ font-family:'Fredoka',sans-serif; color:var(--mc-ink)!important; }
.mc-empty-cart-button .wp-block-button__link{ background:var(--mc-red)!important; color:#fff!important; border-radius:9999px!important; padding:14px 32px!important; font-weight:700!important; text-decoration:none; }
.mc-empty-cart-button .wp-block-button__link:hover{ background:var(--mc-red-dark)!important; }

@media (max-width:767px){
  .wc-block-cart-item, .wc-block-cart-items__row{ flex-wrap:wrap; }
  .wc-block-checkout__sidebar{ order:-1; }
  .wc-block-components-checkout-place-order-button{
    position:sticky; bottom:8px; z-index:20; box-shadow:0 6px 20px rgba(0,0,0,.18);
  }
  .wc-block-components-panel{ font-size:14px; }
}


/* ===== MainChick WooCommerce page polish (cart/checkout/account/shop) ===== */
.woocommerce-page .entry-title,
.woocommerce h1.entry-title,
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title,
body.woocommerce-account .entry-title,
.wc-block-components-checkout-step__title,
.wp-block-woocommerce-cart .wc-block-components-title{
  font-family:'Fredoka',sans-serif!important; color:var(--mc-ink)!important;
}
.woocommerce-page .entry-title{ text-align:center; font-size:clamp(30px,5vw,44px); margin:8px 0 24px; }

/* Account / login-register cards */
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff; border-radius:16px; padding:24px!important;
  box-shadow:0 4px 20px rgba(26,26,26,.06); border:1px solid rgba(26,26,26,.06);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ color:var(--mc-ink); font-weight:600; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ color:var(--mc-red); }

/* Shop / product grid cards */
.woocommerce ul.products li.product,
.wc-block-grid__product{
  background:#fff; border-radius:16px; padding:16px!important;
  box-shadow:0 4px 20px rgba(26,26,26,.06); border:1px solid rgba(26,26,26,.06);
}
.woocommerce ul.products li.product .price,
.wc-block-grid__product-price{ color:var(--mc-red)!important; font-family:'Fredoka',sans-serif; }
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:'Fredoka',sans-serif; font-size:18px; }
.mc-coming-soon-badge{ display:inline-block; background:var(--mc-gold); color:var(--mc-ink); font-weight:700; font-size:12px; padding:6px 16px; border-radius:9999px; }

/* Keep WooCommerce content above the ambient background */
.woocommerce, .woocommerce-page, .wc-block-checkout, .wc-block-cart{ position:relative; z-index:1; }

/* Order-received / thank-you page */
.woocommerce-order{ background:#fff; border-radius:16px; padding:24px; box-shadow:0 4px 20px rgba(26,26,26,.06); }

/* ================= MainChick v2 polish ================= */

/* --- CONTRAST FIX: never black text on red backgrounds --- */
body .mc-final-cta-section .elementor-heading-title,
body .mc-final-cta-heading .elementor-heading-title,
body .mc-stats-section .elementor-heading-title,
body .mc-final-cta-section h1, body .mc-final-cta-section h2,
body .mc-final-cta-section h3, body .mc-final-cta-section p{
  color:var(--mc-cream)!important;
}
body .mc-announce-bar, body .mc-announce-bar p{ color:var(--mc-cream)!important; }

/* --- Section padding rhythm (roomier, consistent) --- */
.mc-benefits-section, .mc-flavours-section, .mc-howitworks-section,
.mc-compare-section, .mc-testimonials-section, .mc-faq-section{
  padding-top:clamp(56px,8vw,104px)!important;
  padding-bottom:clamp(56px,8vw,104px)!important;
}
.mc-stats-section{ padding-top:clamp(40px,5vw,64px)!important; padding-bottom:clamp(40px,5vw,64px)!important; }
.mc-final-cta-section{ padding-top:clamp(56px,7vw,88px)!important; padding-bottom:clamp(56px,7vw,88px)!important; }
.mc-section-heading-col{ margin-bottom:clamp(28px,4vw,44px)!important; }

/* --- How It Works: step icons --- */
.mc-step-icon{ color:var(--mc-red); display:flex; justify-content:center; margin-bottom:4px; }
.mc-step-card{ text-align:center; padding:36px 28px!important; }
.mc-step-card .mc-step-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:30px; height:30px; border-radius:9999px;
  background:var(--mc-red); color:#fff!important; font-family:'Fredoka',sans-serif;
  font-size:14px; font-weight:700; margin:0 auto 4px;
}
.mc-step-card .mc-step-num p{ color:#fff!important; margin:0; font-size:14px; letter-spacing:0; }
.mc-step-card .elementor-widget-text-editor:first-child{ text-align:center; }

/* --- Testimonials: stars, quote mark, initial avatar --- */
.mc-testi{ position:relative; }
.mc-testi-quote{ color:var(--mc-gold); opacity:.9; margin-bottom:6px; }
.mc-testi-stars{ display:flex; gap:3px; color:var(--mc-gold); margin-bottom:12px; }
.mc-testi-quote-text{ font-size:16px; line-height:1.6; color:var(--mc-ink); font-style:italic; margin:0 0 18px; }
.mc-testi-person{ display:flex; align-items:center; gap:12px; }
.mc-testi-avatar{
  width:44px; height:44px; border-radius:9999px; flex:0 0 44px;
  background:var(--mc-red); color:#fff; font-family:'Fredoka',sans-serif; font-weight:600;
  font-size:19px; display:flex; align-items:center; justify-content:center;
}
.mc-testi-meta{ display:flex; flex-direction:column; line-height:1.3; }
.mc-testi-meta strong{ font-family:'Fredoka',sans-serif; color:var(--mc-ink); font-size:16px; }
.mc-testi-meta em{ font-style:normal; font-size:13px; color:var(--mc-ink); opacity:.6; }
.mc-testimonial-card{ padding:30px!important; }

/* --- Benefit cards: a touch more breathing room --- */
.mc-benefit-card{ padding:34px 28px!important; text-align:center; }
.mc-benefit-card .elementor-icon-box-icon{ margin-bottom:6px; }