/*
Theme Name:  Capital Career Method
Theme URI:   https://elisabetchaves.com
Author:      Elisabet Chaves
Description: Tema oficial de Elisabet Chaves — The Capital Career Method™. Carrera · Capital · Decisiones. Incluye panel de administración completo, quiz con IA, integración Stripe, Calendly y Notion CRM.
Version:     1.0.0
License:     Private
Text Domain: ccm
Tags:        business, coaching, premium, dark, elegant
*/

/* ============================================================
   DESIGN SYSTEM — Capital Career Method™
   Paleta: Ónix · Oro Viejo · Marfil · Arena
   Tipografía: Cormorant Garamond (display) + DM Sans (body)
   ============================================================ */
:root {
  /* === COLORES PRINCIPALES === */
  --ccm-black:      #080808;
  --ccm-onix:       #0D0D0D;
  --ccm-onix-soft:  #161616;
  --ccm-tabaco:     #2C2418;
  --ccm-gold:       #C8A96E;
  --ccm-gold-dark:  #8B6914;
  --ccm-gold-light: #E8D5A8;
  --ccm-ivory:      #F0EAD6;
  --ccm-sand:       #F5F0E8;
  --ccm-sand-bdr:   #E0D8C8;
  --ccm-slate:      #888880;
  --ccm-white:      #FFFFFF;
  --ccm-text:       #1A1A1A;
  --ccm-text-soft:  #555550;

  /* === TIPOGRAFÍA === */
  --ccm-font-display: 'Cormorant Garamond', 'Times New Roman', serif;
  --ccm-font-body:    'DM Sans', 'Helvetica Neue', Arial, sans-serif;

  /* === ESPACIADO === */
  --ccm-space-xs:  4px;
  --ccm-space-sm:  8px;
  --ccm-space-md:  16px;
  --ccm-space-lg:  24px;
  --ccm-space-xl:  48px;
  --ccm-space-2xl: 80px;
  --ccm-space-3xl: 120px;

  /* === LAYOUT === */
  --ccm-max-width:  1100px;
  --ccm-radius:     12px;
  --ccm-radius-sm:  8px;
  --ccm-shadow:     0 4px 32px rgba(0,0,0,0.08);
  --ccm-shadow-lg:  0 12px 56px rgba(0,0,0,0.15);
  --ccm-transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--ccm-font-body);color:var(--ccm-text);background:var(--ccm-white);line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;font-family:inherit;border:none;background:none}
input,textarea,select{font-family:inherit}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
h1,h2,h3,h4,h5,h6{font-family:var(--ccm-font-display);font-weight:400;line-height:1.15;color:var(--ccm-onix)}
h1{font-size:clamp(2.4rem,5vw,4rem)}
h2{font-size:clamp(1.8rem,3.5vw,2.8rem)}
h3{font-size:clamp(1.3rem,2.5vw,1.8rem)}
p{margin-bottom:1rem}p:last-child{margin-bottom:0}

.ccm-label{font-size:10px;letter-spacing:4px;text-transform:uppercase;font-family:var(--ccm-font-body);font-weight:500;color:var(--ccm-slate)}
.ccm-label--gold{color:var(--ccm-gold-dark)}
.ccm-label--light{color:rgba(240,234,214,0.55)}

/* ============================================================
   LAYOUT
   ============================================================ */
.ccm-wrap{max-width:var(--ccm-max-width);margin:0 auto;padding:0 24px}
.ccm-section{padding:var(--ccm-space-2xl) 0}
.ccm-section--sm{padding:var(--ccm-space-xl) 0}
.ccm-section--lg{padding:var(--ccm-space-3xl) 0}
.ccm-section--dark{background:var(--ccm-onix)}
.ccm-section--black{background:var(--ccm-black)}
.ccm-section--sand{background:var(--ccm-sand)}
.ccm-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--ccm-space-xl);align-items:center}
.ccm-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ccm-space-lg)}

/* ============================================================
   BUTTONS
   ============================================================ */
.ccm-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-family:var(--ccm-font-body);font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;border-radius:var(--ccm-radius-sm);transition:var(--ccm-transition);white-space:nowrap;border:none;cursor:pointer}
.ccm-btn--gold{background:var(--ccm-gold);color:var(--ccm-tabaco)}
.ccm-btn--gold:hover{background:var(--ccm-gold-dark);color:var(--ccm-ivory);transform:translateY(-2px);box-shadow:0 8px 32px rgba(200,169,110,0.4)}
.ccm-btn--dark{background:var(--ccm-onix);color:var(--ccm-ivory)}
.ccm-btn--dark:hover{background:var(--ccm-tabaco);transform:translateY(-2px);box-shadow:var(--ccm-shadow-lg)}
.ccm-btn--outline{background:transparent;color:var(--ccm-onix);border:1px solid var(--ccm-onix)}
.ccm-btn--outline:hover{background:var(--ccm-onix);color:var(--ccm-ivory)}
.ccm-btn--outline-light{background:transparent;color:var(--ccm-ivory);border:1px solid rgba(240,234,214,0.35)}
.ccm-btn--outline-light:hover{background:rgba(240,234,214,0.08);border-color:rgba(240,234,214,0.6)}
.ccm-btn--lg{padding:18px 44px;font-size:13px}
.ccm-btn--full{width:100%;justify-content:center}

/* ============================================================
   NAVIGATION
   ============================================================ */
.ccm-nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:22px 0;transition:var(--ccm-transition)}
.ccm-nav.scrolled{background:rgba(255,255,255,0.97);backdrop-filter:blur(16px);padding:14px 0;box-shadow:0 1px 0 var(--ccm-sand-bdr)}
.ccm-nav__inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--ccm-max-width);margin:0 auto;padding:0 24px}
.ccm-nav__logo{font-family:var(--ccm-font-display);font-size:18px;letter-spacing:4px;color:var(--ccm-ivory);transition:var(--ccm-transition)}
.ccm-nav__logo span{color:var(--ccm-gold)}
.ccm-nav.scrolled .ccm-nav__logo{color:var(--ccm-onix)}
.ccm-nav__links{display:flex;align-items:center;gap:32px}
.ccm-nav__links a{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(240,234,214,0.75);font-weight:500;transition:var(--ccm-transition)}
.ccm-nav__links a:hover{color:var(--ccm-gold)}
.ccm-nav.scrolled .ccm-nav__links a{color:var(--ccm-text-soft)}
.ccm-nav.scrolled .ccm-nav__links a:hover{color:var(--ccm-gold-dark)}
.ccm-nav__cta{padding:10px 22px !important;background:var(--ccm-gold) !important;color:var(--ccm-tabaco) !important;border-radius:var(--ccm-radius-sm) !important;letter-spacing:1.5px !important}
.ccm-nav.scrolled .ccm-nav__cta{background:var(--ccm-gold) !important;color:var(--ccm-tabaco) !important}
.ccm-nav__cta:hover{background:var(--ccm-gold-dark) !important;color:var(--ccm-ivory) !important}
.ccm-nav__burger{display:none;flex-direction:column;gap:5px;padding:4px;cursor:pointer}
.ccm-nav__burger span{display:block;width:24px;height:1.5px;background:var(--ccm-ivory);transition:var(--ccm-transition)}
.ccm-nav.scrolled .ccm-nav__burger span{background:var(--ccm-onix)}
.ccm-nav__burger.open span:nth-child(1){transform:rotate(45deg) translate(4px,4.5px)}
.ccm-nav__burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.ccm-nav__burger.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4.5px)}

/* ============================================================
   HERO
   ============================================================ */
.ccm-hero{min-height:100vh;background:var(--ccm-onix);display:flex;align-items:center;position:relative;overflow:hidden;padding:120px 0 80px}
.ccm-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 75% 40%,rgba(200,169,110,0.08) 0%,transparent 65%),radial-gradient(ellipse 40% 50% at 20% 80%,rgba(200,169,110,0.04) 0%,transparent 60%);pointer-events:none}
.ccm-hero__content{position:relative;z-index:1}
.ccm-hero__title{font-size:clamp(2.8rem,5vw,4.4rem);color:var(--ccm-ivory);line-height:1.1;margin-bottom:24px}
.ccm-hero__title em{font-style:italic;color:var(--ccm-gold)}
.ccm-hero__sub{color:rgba(240,234,214,0.6);font-size:17px;line-height:1.85;margin-bottom:40px}
.ccm-hero__ctas{display:flex;gap:16px;flex-wrap:wrap;align-items:center}
.ccm-hero__note{font-size:11px;color:rgba(240,234,214,0.3);letter-spacing:1.5px;margin-top:14px}
.ccm-hero__stats{display:flex;gap:36px;margin-top:52px;padding-top:36px;border-top:1px solid rgba(200,169,110,0.2)}
.ccm-hero__stat-num{font-family:var(--ccm-font-display);font-size:36px;color:var(--ccm-gold);line-height:1}
.ccm-hero__stat-label{font-size:11px;color:rgba(240,234,214,0.45);letter-spacing:1px;margin-top:5px}
.ccm-hero__img-wrap{position:relative}
.ccm-hero__img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;border-radius:var(--ccm-radius)}
.ccm-hero__badge{position:absolute;bottom:-20px;left:-20px;background:var(--ccm-gold);color:var(--ccm-tabaco);padding:18px 22px;border-radius:var(--ccm-radius);box-shadow:var(--ccm-shadow-lg)}
.ccm-hero__badge strong{display:block;font-family:var(--ccm-font-display);font-size:22px;line-height:1}
.ccm-hero__badge span{font-size:10px;letter-spacing:2px;text-transform:uppercase;opacity:0.7}

/* ============================================================
   PAGE HERO (páginas interiores)
   ============================================================ */
.ccm-page-hero{background:var(--ccm-onix);padding:140px 0 64px;position:relative;overflow:hidden}
.ccm-page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 50% 80% at 70% 50%,rgba(200,169,110,0.06) 0%,transparent 70%);pointer-events:none}
.ccm-page-hero__inner{position:relative;z-index:1}

/* ============================================================
   PRICING CARDS
   ============================================================ */
.ccm-price{background:rgba(255,255,255,0.04);border:0.5px solid rgba(200,169,110,0.2);border-radius:var(--ccm-radius);padding:36px 28px;display:flex;flex-direction:column;transition:var(--ccm-transition)}
.ccm-price:hover{border-color:var(--ccm-gold);background:rgba(255,255,255,0.06)}
.ccm-price--featured{background:rgba(200,169,110,0.09);border:2px solid var(--ccm-gold)}
.ccm-price__badge{display:inline-block;font-size:9px;letter-spacing:3px;text-transform:uppercase;padding:4px 12px;border-radius:20px;margin-bottom:20px;font-weight:500}
.ccm-price__badge--gold{background:var(--ccm-gold);color:var(--ccm-tabaco)}
.ccm-price__badge--outline{background:rgba(200,169,110,0.15);color:var(--ccm-gold);border:1px solid rgba(200,169,110,0.3)}
.ccm-price__tier{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--ccm-slate);margin-bottom:8px}
.ccm-price__amount{font-family:var(--ccm-font-display);font-size:46px;color:var(--ccm-ivory);line-height:1}
.ccm-price__period{font-size:12px;color:var(--ccm-slate);margin:6px 0 24px}
.ccm-price__divider{height:1px;background:rgba(200,169,110,0.15);margin:20px 0}
.ccm-price__features{flex:1;display:flex;flex-direction:column;gap:0}
.ccm-price__feature{font-size:13px;color:rgba(240,234,214,0.65);padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.05);display:flex;gap:10px;line-height:1.5}
.ccm-price__feature:last-child{border-bottom:none}
.ccm-price__feature::before{content:'—';color:var(--ccm-gold);flex-shrink:0}
.ccm-price__cta{margin-top:28px}

/* ============================================================
   POST CARDS (Blog)
   ============================================================ */
.ccm-post{background:var(--ccm-white);border:1px solid var(--ccm-sand-bdr);border-radius:var(--ccm-radius);overflow:hidden;transition:var(--ccm-transition)}
.ccm-post:hover{transform:translateY(-4px);box-shadow:var(--ccm-shadow-lg)}
.ccm-post__thumb{aspect-ratio:16/9;overflow:hidden;background:var(--ccm-onix);display:flex;align-items:center;justify-content:center}
.ccm-post__thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s ease}
.ccm-post:hover .ccm-post__thumb img{transform:scale(1.04)}
.ccm-post__body{padding:24px}
.ccm-post__date{font-size:10px;letter-spacing:3px;color:var(--ccm-gold-dark);text-transform:uppercase;margin-bottom:10px}
.ccm-post__title{font-size:18px;margin-bottom:10px;line-height:1.3}
.ccm-post__title a{color:var(--ccm-onix);transition:color 0.3s}
.ccm-post__title a:hover{color:var(--ccm-gold-dark)}
.ccm-post__excerpt{font-size:13px;color:var(--ccm-text-soft);line-height:1.7;margin-bottom:16px}
.ccm-post__more{font-size:11px;letter-spacing:2px;color:var(--ccm-gold-dark);text-transform:uppercase;font-weight:500}

/* ============================================================
   BLOG POST CONTENT (Mammoth compatible)
   ============================================================ */
.ccm-content{max-width:720px;margin:0 auto;font-size:17px;line-height:1.85;color:var(--ccm-text-soft)}
.ccm-content h1,.ccm-content h2,.ccm-content h3,.ccm-content h4{color:var(--ccm-onix);margin:2.5rem 0 1rem;font-family:var(--ccm-font-display)}
.ccm-content h2{font-size:clamp(1.6rem,2.5vw,2.2rem)}
.ccm-content h3{font-size:clamp(1.2rem,2vw,1.6rem)}
.ccm-content p{margin-bottom:1.5rem}
.ccm-content strong{color:var(--ccm-onix);font-weight:500}
.ccm-content ul,.ccm-content ol{margin:1.5rem 0 1.5rem 1.5rem;display:flex;flex-direction:column;gap:8px}
.ccm-content ul li{list-style:none;padding-left:20px;position:relative}
.ccm-content ul li::before{content:'—';position:absolute;left:0;color:var(--ccm-gold-dark)}
.ccm-content ol li{list-style:decimal}
.ccm-content blockquote{border-left:3px solid var(--ccm-gold);margin:2rem 0;padding:20px 28px;background:var(--ccm-sand);border-radius:0 var(--ccm-radius-sm) var(--ccm-radius-sm) 0;font-family:var(--ccm-font-display);font-size:1.2rem;font-style:italic;color:var(--ccm-onix)}
.ccm-content a{color:var(--ccm-gold-dark);text-decoration:underline;text-underline-offset:3px}
.ccm-content img{border-radius:var(--ccm-radius);margin:2rem auto;box-shadow:var(--ccm-shadow)}
.ccm-content hr{border:none;height:1px;background:var(--ccm-sand-bdr);margin:3rem 0}

/* ============================================================
   QUIZ
   ============================================================ */
.ccm-quiz{min-height:100vh;background:var(--ccm-onix);padding:120px 0 80px}
.ccm-quiz__wrap{max-width:680px;margin:0 auto;padding:0 24px}
.ccm-quiz__progress{display:flex;gap:6px;margin-bottom:40px}
.ccm-quiz__bar{height:3px;flex:1;background:rgba(200,169,110,0.15);border-radius:2px;transition:background 0.4s}
.ccm-quiz__bar.active{background:var(--ccm-gold)}
.ccm-quiz__bar.done{background:rgba(200,169,110,0.45)}
.ccm-quiz__step{display:none}
.ccm-quiz__step.show{display:block;animation:ccmFadeUp 0.5s ease both}
.ccm-quiz__q{font-family:var(--ccm-font-display);font-size:clamp(1.6rem,3vw,2.2rem);color:var(--ccm-ivory);line-height:1.3;margin-bottom:32px}
.ccm-quiz__options{display:flex;flex-direction:column;gap:10px}
.ccm-quiz__opt{background:rgba(255,255,255,0.04);border:1px solid rgba(200,169,110,0.2);border-radius:var(--ccm-radius);padding:18px 22px;cursor:pointer;transition:var(--ccm-transition);text-align:left;color:rgba(240,234,214,0.8);font-size:15px;width:100%;line-height:1.5}
.ccm-quiz__opt:hover,.ccm-quiz__opt.selected{background:rgba(200,169,110,0.12);border-color:var(--ccm-gold);color:var(--ccm-ivory);transform:translateX(4px)}
.ccm-quiz__input{width:100%;background:rgba(255,255,255,0.06);border:1px solid rgba(200,169,110,0.3);border-radius:var(--ccm-radius-sm);padding:14px 18px;font-size:15px;color:var(--ccm-ivory);margin-bottom:12px;transition:var(--ccm-transition)}
.ccm-quiz__input::placeholder{color:rgba(240,234,214,0.3)}
.ccm-quiz__input:focus{outline:none;border-color:var(--ccm-gold);background:rgba(255,255,255,0.09)}
.ccm-quiz__result{background:rgba(200,169,110,0.07);border:1px solid rgba(200,169,110,0.25);border-radius:var(--ccm-radius);padding:36px;margin-bottom:32px}
.ccm-quiz__level{font-family:var(--ccm-font-display);font-size:42px;color:var(--ccm-gold);line-height:1;margin-bottom:8px}
.ccm-quiz__result-title{font-family:var(--ccm-font-display);font-size:22px;color:var(--ccm-ivory);margin-bottom:16px}
.ccm-quiz__result-text{font-size:15px;color:rgba(240,234,214,0.7);line-height:1.85}
.ccm-quiz__pbar{height:6px;background:rgba(200,169,110,0.15);border-radius:3px;margin:16px 0 24px;overflow:hidden}
.ccm-quiz__pfill{height:100%;background:var(--ccm-gold);border-radius:3px;transition:width 1.2s cubic-bezier(0.4,0,0.2,1);width:0}
.ccm-dots{display:flex;gap:8px;justify-content:center;padding:40px 0}
.ccm-dots span{width:10px;height:10px;background:var(--ccm-gold);border-radius:50%;animation:ccmBounce 1.2s infinite;opacity:0.4}
.ccm-dots span:nth-child(2){animation-delay:0.2s}
.ccm-dots span:nth-child(3){animation-delay:0.4s}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.ccm-testimonial{background:var(--ccm-white);border:1px solid var(--ccm-sand-bdr);border-radius:var(--ccm-radius);padding:28px;transition:var(--ccm-transition)}
.ccm-testimonial:hover{box-shadow:var(--ccm-shadow-lg);transform:translateY(-2px)}
.ccm-testimonial__q{font-family:var(--ccm-font-display);font-size:52px;color:var(--ccm-gold);line-height:0.8;margin-bottom:12px}
.ccm-testimonial__text{font-size:14px;color:var(--ccm-text-soft);line-height:1.85;font-style:italic;margin-bottom:20px}
.ccm-testimonial__author strong{font-size:14px;display:block;color:var(--ccm-onix)}
.ccm-testimonial__author span{font-size:12px;color:var(--ccm-slate)}

/* ============================================================
   CTA SECTION
   ============================================================ */
.ccm-cta{background:var(--ccm-onix);text-align:center;padding:110px 0;position:relative;overflow:hidden}
.ccm-cta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(200,169,110,0.07) 0%,transparent 70%);pointer-events:none}
.ccm-cta__inner{position:relative;z-index:1}
.ccm-cta__title{color:var(--ccm-ivory);max-width:620px;margin:16px auto 20px}
.ccm-cta__sub{color:rgba(240,234,214,0.5);max-width:500px;margin:0 auto 40px;font-size:17px}
.ccm-cta__note{font-size:12px;color:rgba(240,234,214,0.3);margin-top:20px;letter-spacing:1px}
.ccm-cta__note a{color:var(--ccm-gold)}

/* ============================================================
   FOOTER
   ============================================================ */
.ccm-footer{background:#050505;padding:52px 0 32px;border-top:1px solid rgba(200,169,110,0.1)}
.ccm-footer__top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:32px;margin-bottom:40px}
.ccm-footer__logo{font-family:var(--ccm-font-display);font-size:18px;letter-spacing:4px;color:var(--ccm-ivory)}
.ccm-footer__logo span{color:var(--ccm-gold)}
.ccm-footer__tagline{font-size:10px;letter-spacing:3.5px;color:var(--ccm-slate);margin-top:7px;text-transform:uppercase}
.ccm-footer__col-title{font-size:10px;letter-spacing:3px;color:var(--ccm-gold);text-transform:uppercase;margin-bottom:14px;font-weight:500}
.ccm-footer__links{display:flex;flex-direction:column;gap:10px}
.ccm-footer__link{font-size:13px;color:rgba(136,136,128,0.7);transition:color 0.3s;display:flex;align-items:center;gap:8px}
.ccm-footer__link:hover{color:var(--ccm-gold)}
.ccm-footer__link svg{flex-shrink:0}
.ccm-footer__bottom{border-top:1px solid rgba(255,255,255,0.04);padding-top:24px;font-size:11px;color:rgba(136,136,128,0.4);text-align:center}
.ccm-footer__bottom a{color:inherit;opacity:0.7;transition:opacity 0.3s}
.ccm-footer__bottom a:hover{opacity:1}

/* ============================================================
   WHATSAPP FLOAT
   ============================================================ */
.ccm-wa{position:fixed;bottom:24px;right:24px;z-index:9999;width:56px;height:56px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.4);transition:var(--ccm-transition)}
.ccm-wa:hover{transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,0.5)}

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes ccmFadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes ccmBounce{0%,80%,100%{transform:translateY(0);opacity:0.4}40%{transform:translateY(-10px);opacity:1}}
.ccm-reveal{opacity:0;transform:translateY(24px);transition:opacity 0.7s ease,transform 0.7s ease}
.ccm-reveal.visible{opacity:1;transform:none}
.ccm-reveal-1{transition-delay:0.1s}
.ccm-reveal-2{transition-delay:0.2s}
.ccm-reveal-3{transition-delay:0.3s}

/* ============================================================
   RESPONSIVE — Mobile First
   Breakpoints:
   xs: < 480px  (móvil pequeño)
   sm: < 640px  (móvil)
   md: < 768px  (móvil grande / tablet pequeña)
   lg: < 900px  (tablet)
   xl: < 1024px (tablet grande)
   ============================================================ */

/* ── BASE: evitar overflow horizontal en cualquier pantalla ── */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
*, *::before, *::after {
  max-width: 100%;
}
img, video, iframe {
  max-width: 100%;
  height: auto;
}

/* ── TABLET GRANDE (< 1024px) ── */
@media (max-width: 1024px) {
  .ccm-wrap { padding: 0 28px; }
  .ccm-grid-3 { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .ccm-hero { padding: 110px 0 70px; }
  .ccm-hero__title { font-size: 3rem; }
}

/* ── TABLET (< 900px) ── */
@media (max-width: 900px) {
  /* Layout */
  .ccm-grid-2 { grid-template-columns: 1fr; gap: 32px; }
  .ccm-grid-3 { grid-template-columns: 1fr; gap: 16px; }
  .ccm-hero__img-wrap { display: none; }

  /* Hero */
  .ccm-hero { padding: 100px 0 64px; min-height: auto; }
  .ccm-hero__title { font-size: clamp(2rem, 5vw, 3rem); }
  .ccm-hero__sub { font-size: 15px; }
  .ccm-hero__stats { gap: 24px; flex-wrap: wrap; }

  /* Pricing */
  .ccm-price { padding: 24px 20px; }

  /* Section */
  .ccm-section { padding: 60px 0; }
  .ccm-section--lg { padding: 80px 0; }
  .ccm-cta { padding: 80px 0; }
}

/* ── MÓVIL GRANDE (< 768px) ── */
@media (max-width: 768px) {
  /* Container */
  .ccm-wrap { padding: 0 20px; }

  /* Nav */
  .ccm-nav { padding: 16px 0; }
  .ccm-nav.scrolled { padding: 12px 0; }
  .ccm-nav__links { display: none; }
  .ccm-nav__burger { display: flex; }
  .ccm-nav__links.open {
    display: flex;
    flex-direction: column;
    position: fixed;
    inset: 0;
    background: var(--ccm-onix);
    z-index: 999;
    align-items: center;
    justify-content: center;
    gap: 36px;
    padding: 40px 24px;
  }
  .ccm-nav__links.open a {
    font-size: 20px;
    color: var(--ccm-ivory);
    letter-spacing: 3px;
  }

  /* Hero */
  .ccm-hero { padding: 90px 0 56px; }
  .ccm-hero__title { font-size: clamp(1.9rem, 7vw, 2.8rem); line-height: 1.15; }
  .ccm-hero__sub { font-size: 15px; line-height: 1.75; margin-bottom: 32px; }
  .ccm-hero__ctas { flex-direction: column; gap: 12px; }
  .ccm-hero__ctas .ccm-btn { width: 100%; justify-content: center; padding: 14px 20px; }
  .ccm-hero__stats { gap: 20px; padding-top: 28px; margin-top: 36px; }
  .ccm-hero__stat-num { font-size: 28px; }
  .ccm-hero__stat-label { font-size: 10px; }
  .ccm-hero__note { font-size: 10px; }

  /* Headings */
  h1 { font-size: clamp(1.8rem, 6vw, 2.8rem); }
  h2 { font-size: clamp(1.5rem, 5vw, 2rem); }
  h3 { font-size: clamp(1.2rem, 4vw, 1.5rem); }

  /* Sections */
  .ccm-section { padding: 52px 0; }
  .ccm-section--lg { padding: 64px 0; }
  .ccm-cta { padding: 64px 0; }
  .ccm-page-hero { padding: 110px 0 48px; }

  /* Buttons */
  .ccm-btn { font-size: 11px; letter-spacing: 2px; padding: 13px 24px; }
  .ccm-btn--lg { padding: 15px 28px; font-size: 12px; }

  /* Grid */
  .ccm-grid-2 { grid-template-columns: 1fr; gap: 24px; }
  .ccm-grid-3 { grid-template-columns: 1fr; gap: 14px; }

  /* Footer */
  .ccm-footer { padding: 40px 0 24px; }
  .ccm-footer__top { flex-direction: column; gap: 32px; }
  .ccm-footer__top nav { flex-direction: column; gap: 24px; }

  /* Quiz */
  .ccm-quiz { padding: 100px 0 60px; }
  .ccm-quiz__wrap { padding: 0 20px; }
  .ccm-quiz__q { font-size: clamp(1.3rem, 5vw, 1.8rem); }
  .ccm-quiz__opt { font-size: 14px; padding: 15px 18px; }

  /* CTA section flex */
  .ccm-cta__inner { padding: 0 4px; }
  .ccm-cta__title { font-size: clamp(1.5rem, 5vw, 2rem); }
  .ccm-cta__sub { font-size: 15px; }

  /* Pricing */
  .ccm-price { padding: 22px 18px; }
  .ccm-price__amount { font-size: 36px; }

  /* Testimonials */
  .ccm-testimonial { padding: 22px 18px; }

  /* Post cards */
  .ccm-post__body { padding: 18px; }
}

/* ── MÓVIL PEQUEÑO (< 480px) ── */
@media (max-width: 480px) {
  /* Container extra tight */
  .ccm-wrap { padding: 0 16px; }

  /* Hero más compacto */
  .ccm-hero { padding: 80px 0 48px; }
  .ccm-hero__title { font-size: clamp(1.7rem, 8vw, 2.2rem); }
  .ccm-hero__sub { font-size: 14px; }
  .ccm-hero__stats { flex-direction: column; gap: 14px; padding-top: 24px; margin-top: 28px; }

  /* Secciones más compactas */
  .ccm-section { padding: 44px 0; }
  .ccm-cta { padding: 52px 0; }
  .ccm-page-hero { padding: 96px 0 40px; }

  /* Nav logo más pequeño */
  .ccm-nav__logo { font-size: 15px; letter-spacing: 3px; }

  /* Botones full width en CTA */
  .ccm-cta__inner .ccm-btn { width: 100%; justify-content: center; }
  .ccm-cta__inner > div { flex-direction: column; gap: 10px; }

  /* Precios sin tanto padding */
  .ccm-price { padding: 20px 16px; }
  .ccm-price__amount { font-size: 32px; }

  /* Footer */
  .ccm-footer__bottom { font-size: 10px; }

  /* Legal tables → scroll horizontal */
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Quiz opciones */
  .ccm-quiz__opt { font-size: 13px; padding: 13px 16px; }
  .ccm-quiz__input { font-size: 14px; padding: 12px 14px; }
}

/* ── FIXES ESPECÍFICOS ── */

/* Evitar que el texto salga del contenedor */
.ccm-hero__content { min-width: 0; overflow-wrap: break-word; word-break: break-word; }
.ccm-hero__title { overflow-wrap: break-word; word-break: break-word; hyphens: auto; }

/* WhatsApp no tape contenido en móvil */
@media (max-width: 768px) {
  .ccm-wa { bottom: 16px; right: 16px; width: 48px; height: 48px; }
  .ccm-wa svg { width: 24px; height: 24px; }
}

/* Calendly embed responsive */
.calendly-inline-widget {
  min-width: 280px !important;
  height: 600px !important;
}
@media (max-width: 480px) {
  .calendly-inline-widget { height: 700px !important; }
}

/* Legal grids en móvil */
@media (max-width: 640px) {
  [style*="grid-template-columns: 160px"] {
    grid-template-columns: 1fr !important;
  }
  [style*="grid-template-columns: repeat(3"] {
    grid-template-columns: 1fr 1fr !important;
  }
  [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}

/* Post content en móvil */
@media (max-width: 768px) {
  .ccm-content { font-size: 15px; }
  .ccm-content h2 { font-size: 1.4rem; }
  .ccm-content h3 { font-size: 1.2rem; }
  .ccm-content blockquote { padding: 14px 18px; font-size: 1rem; }
}
