  :root{
    --bg:#F2F1F0;
    --surface:#FFFFFF;
    --surface-soft:#EAE9E7;
    --surface-soft-2:#EAE9E7;
    --ink:#221F2B;
    --ink-muted:#5C5966;
    --border:#DEDCDA;
    --magenta:#E21C71;
    --magenta-ink:#B01158;
    --navy:#384D95;
    --navy-deep:#232F5C;
    --pink-soft:#FFAED7;
    --blue:#3493E3;
    --whatsapp:#25D366;
    --shadow: 0 24px 48px -28px rgba(20,20,30,0.30);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:"Poppins",system-ui,sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  img{display:block;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
  a{color:inherit; transition:color 0.25s ease, transform 0.25s ease, opacity 0.25s ease;}
  h1,h2,h3{text-wrap:balance;margin:0;}
  .eyebrow{
    font-family:"Poppins",sans-serif;
    font-weight:700;
    font-size:0.72rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color:var(--magenta);
    margin:0 0 14px;
  }
  .eyebrow.on-dark{color:var(--pink-soft);}
  .display{
    font-family:"Lobster",cursive;
    font-style:normal;
    font-weight:400;
    letter-spacing:0.01em;
  }

  /* ---------- SCROLL REVEAL (aparicion sutil al hacer scroll) ---------- */
  .reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity 0.8s ease, transform 0.8s ease;
  }
  .reveal.is-visible{
    opacity:1;
    transform:translateY(0);
  }

  /* ---------- NAV ---------- */
  header.site{
    position:sticky; top:0; z-index:20;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:20px 32px; position:relative;
    max-width:1180px; margin:0 auto;
  }
  .wordmark{display:flex; align-items:center;}
  .wordmark img{height:63px; width:auto; display:block;}
  .nav-links{display:flex; align-items:center; gap:65px; list-style:none; margin:0; padding:0;}
  .nav-links a{
    font-weight:600; font-size:1.1rem; text-decoration:none; color:var(--ink-muted);
    display:inline-block; transition:color 0.25s ease, transform 0.25s ease;
  }
  .nav-links a:hover{color:var(--magenta); transform:translateY(-2px);}
  .nav-cta{
    background:var(--magenta); color:#fff !important; padding:10px 20px; border-radius:999px;
    font-weight:700; font-size:0.88rem;
  }
  .nav-links a.nav-cta:hover{color:#fff !important; transform:translateY(-2px) scale(1.04);}
  .nav-help{display:inline-flex; align-items:center; gap:6px;}
  .nav-help-label{display:none;}
  .nav-toggle{
    display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px;
    width:44px; height:auto; border:none; background:none; cursor:pointer; padding:6px 0;
  }
  .nav-toggle span{display:block; width:24px; height:2px; background:var(--ink); border-radius:2px; transition:transform 0.2s, opacity 0.2s;}
  .nav-toggle em{
    margin-top:4px; font-style:normal; font-weight:700; font-size:0.6rem;
    letter-spacing:0.06em; text-transform:uppercase; color:var(--ink-muted);
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
  .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  /* Selector de moneda de WOOCS — se renderiza con la libreria "ddslick"
     (no es un <select> normal), asi que apuntamos a sus clases reales. */
  .woocs-switcher{display:flex; align-items:center; font-size:0.85rem; position:relative;}
  .woocs-switcher .dd-container{width:auto !important; min-width:120px;}
  .woocs-switcher .dd-select{
    display:flex !important; align-items:center; gap:8px;
    width:auto !important; background:#fff !important;
    border:1px solid var(--ink-muted); border-radius:999px; padding:6px 14px;
    cursor:pointer;
  }
  .woocs-switcher .dd-selected-image,
  .woocs-switcher .dd-option-image{
    width:20px; height:14px; object-fit:cover; border-radius:2px; flex-shrink:0;
  }
  .woocs-switcher .dd-selected-text,
  .woocs-switcher .dd-option-text{
    line-height:1.2 !important; font-weight:600; font-size:0.85rem;
    white-space:nowrap; color:var(--ink);
  }
  .woocs-switcher .dd-pointer{margin-left:2px;}
  .woocs-switcher .dd-options{
    width:auto !important; min-width:140px; background:#fff; border:1px solid #e5e1ef;
    border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,0.12); padding:6px; margin-top:6px;
    list-style:none; z-index:50;
  }
  .woocs-switcher .dd-options li{margin:0;}
  .woocs-switcher .dd-option{
    display:flex !important; align-items:center; gap:8px; padding:8px 10px; border-radius:8px;
  }
  .woocs-switcher .dd-option:hover{background:#f5f3fa;}
  section, .slider-placeholder{scroll-margin-top:80px;}

  /* ---------- SLIDER (Smart Slider: version escritorio/movil) ---------- */
  .slider-mobile{display:none;}
  @media (max-width:920px){
    .slider-desktop{display:none;}
    .slider-mobile{display:block;}
  }

  /* ---------- SLIDER (placeholder for Smart Slider) ---------- */
  .slider-placeholder{position:relative; height:600px; overflow:hidden; background:var(--navy-deep);}
  .slider-placeholder img{width:100%; height:100%; object-fit:cover; object-position:top center; opacity:0.96;}
  .slider-placeholder::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(35,31,43,0.6), transparent 45%);}
  .slider-note{position:absolute; z-index:4; top:18px; left:50%; transform:translateX(-50%); background:rgba(255,255,255,0.94); color:var(--navy-deep); font-size:0.72rem; font-weight:700; padding:8px 18px; border-radius:999px; letter-spacing:0.02em; white-space:nowrap;}
  .slider-caption{position:absolute; z-index:2; left:32px; right:32px; bottom:64px; max-width:640px; margin:0 auto; text-align:center;}
  .slider-caption .eyebrow{font-weight:700; font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; margin:0 0 10px;}
  .slider-caption h2{font-size:clamp(2rem,4vw,3.1rem); color:#fff; margin:0;}
  .slider-dots{position:absolute; z-index:3; bottom:22px; left:50%; transform:translateX(-50%); display:flex; gap:8px;}
  .slider-dots span{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,0.5);}
  .slider-dots span.active{background:#fff;}
  .slider-arrow{position:absolute; z-index:3; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.85); border:none; display:flex; align-items:center; justify-content:center; font-size:1.4rem; line-height:1; color:var(--ink); cursor:pointer;}
  .slider-arrow.prev{left:20px;}
  .slider-arrow.next{right:20px;}
  @media (max-width:920px){
    .slider-placeholder{height:400px;}
    .slider-caption{left:20px; right:20px; bottom:48px;}
    .slider-arrow{width:36px; height:36px;}
  }

  /* ---------- HERO ---------- */
  .hero{
    padding:56px 0 90px;
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg, #F7EFE4 0%, #FBDFEC 48%, #DCEEFB 100%);
  }
  .hero-grid{
    display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;
  }
  .hero-copy p.lede{
    font-size:1.08rem; line-height:1.65; color:var(--ink-muted); max-width:46ch; margin:22px 0 34px;
  }
  .hero-copy h1{
    font-size:clamp(2.4rem, 4vw, 3.4rem);
    line-height:1.12;
    color:var(--ink);
  }
  .hero-copy h1 span{color:var(--magenta);}
  .hero-actions{display:flex; gap:16px; flex-wrap:wrap;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:15px 26px; border-radius:999px; font-weight:700; font-size:0.95rem;
    text-decoration:none; border:2px solid transparent; cursor:pointer;
    transition:transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease, opacity 0.25s ease;
  }
  .btn:hover{transform:translateY(-3px) scale(1.03); box-shadow:0 18px 34px -18px rgba(20,20,30,0.4);}
  .btn-primary{background:var(--magenta); color:#fff;}
  .btn-ghost{border-color:var(--navy); color:var(--navy);}
  .btn-whatsapp{background:var(--whatsapp); color:#fff;}
  .btn-whatsapp svg{flex-shrink:0;}

  .btn-paypal{background:#003087; color:#fff !important;}
  .btn-paypal:hover{background:#001c64;}

  .grecia-paypal-manual{
    margin-top:18px; padding:16px 18px; border:1px solid #d8d3e6; border-radius:14px;
    background:#faf9fd;
  }
  .grecia-paypal-manual p{margin:0 0 12px; font-size:0.9rem; color:var(--ink-muted);}
  .grecia-paypal-manual .btn-paypal{display:inline-block; font-weight:700; font-size:0.9rem; padding:10px 20px; border-radius:999px; text-decoration:none;}

  .grecia-payment-group-label{
    margin:0 0 10px; font-size:0.82rem; font-weight:700; text-transform:uppercase;
    letter-spacing:0.04em; color:var(--magenta);
  }

  .grecia-currency-toggle{margin-bottom:20px; padding-bottom:16px; border-bottom:1px solid #e5e1ef;}
  .grecia-currency-toggle__label{margin:0 0 10px; font-size:0.9rem; font-weight:600; color:var(--ink);}
  .grecia-currency-toggle__options{display:flex; gap:10px; margin-bottom:12px; flex-wrap:wrap;}
  .grecia-currency-toggle__option{
    display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border-radius:999px;
    border:1px solid #d8d3e6; font-weight:600; font-size:0.88rem; color:var(--ink-muted);
    text-decoration:none; transition:border-color 0.2s, color 0.2s, background 0.2s;
  }
  .grecia-currency-toggle__option:hover{border-color:var(--magenta); color:var(--magenta);}
  .grecia-currency-toggle__option.is-active{background:var(--magenta); border-color:var(--magenta); color:#fff;}
  .grecia-currency-toggle .grecia-payment-group-label{margin-bottom:0;}

  .grecia-guest-field{margin-bottom:12px;}
  .grecia-guest-field input{width:100%;}

  .lp-checkout-form .lp-form-fields input:not([type=checkbox]){
    margin:5px 0;
    font-size:16px;
  }

  .payment-methods .grecia-payment-group-label{margin-top:16px;}
  .payment-methods .grecia-payment-group-label:first-child{margin-top:0;}

  .grecia-paypal-manual-hint{margin:10px 0 0; font-size:0.85rem; color:var(--ink-muted);}

  .grecia-modal-overlay{
    position:fixed; inset:0; background:rgba(20,15,35,0.6); z-index:9999;
    display:none; align-items:center; justify-content:center; padding:20px;
  }
  .grecia-modal-overlay.is-open{display:flex;}
  .grecia-modal-box{
    position:relative; background:#fff; border-radius:16px; padding:28px 24px;
    max-width:420px; width:100%; box-shadow:0 20px 60px rgba(0,0,0,0.25);
  }
  .grecia-modal-box h3{margin:0 0 6px; font-size:1.2rem;}
  .grecia-modal-box .grecia-paypal-manual{margin-top:12px; border:none; padding:0; background:none;}
  .grecia-modal-close{
    position:absolute; top:10px; right:14px; border:none; background:none;
    font-size:1.6rem; line-height:1; cursor:pointer; color:var(--ink-muted);
  }
  .grecia-modal-close:hover{color:var(--magenta);}

  .lp-login-to-access{
    display:flex; flex-direction:column; align-items:center; gap:12px;
    text-align:center; margin-top:20px;
  }
  .lp-login-to-access p{margin:0; font-size:0.92rem; color:var(--ink-muted);}

  /* Checkout de LearnPress: el encabezado "As Guest"/"Como invitado" sobra,
     el campo de correo ya se explica solo con su placeholder. */
  #checkout-account-guest > h4{display:none;}

  .hero-photo{position:relative; display:flex; justify-content:center; align-items:flex-end; height:560px;}
  .hero-photo .photo-frame{position:relative; width:100%; height:100%;}
  .hero-photo .photo-frame img{
    width:100%; height:100%; object-fit:contain; object-position:bottom center; display:block;
  }
  .hero-tag{
    position:absolute; z-index:2; left:2%; bottom:8%;
    background:var(--surface); border:1px solid var(--border);
    padding:14px 18px; border-radius:16px; box-shadow:var(--shadow);
    display:flex; align-items:center; gap:10px; font-weight:700; font-size:0.86rem;
  }
  .hero-tag .dot{width:10px; height:10px; border-radius:50%; background:var(--magenta);}

  /* stat strip */
  .stats{
    max-width:1180px; margin:-46px auto 0; padding:0 32px; position:relative; z-index:3;
  }
  .stats-inner{
    background:var(--surface); border:1px solid var(--border); border-radius:24px;
    box-shadow:var(--shadow);
    display:grid; grid-template-columns:repeat(3,1fr);
    padding:34px 12px;
  }
  .stat{text-align:center; padding:0 18px; border-right:1px solid var(--border);}
  .stat:last-child{border-right:none;}
  .stat b{
    display:block; font-family:"Lobster",cursive; font-style:normal; font-weight:400;
    font-size:2.3rem; color:var(--navy); line-height:1;
  }
  .stat span{display:block; margin-top:10px; font-size:0.86rem; color:var(--ink-muted); font-weight:600;}

  section{padding:118px 0 0;}

  /* ---------- SERVICIOS ---------- */
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head h2{font-size:clamp(1.9rem,3vw,2.5rem); color:var(--ink);}
  .services-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:22px;
  }
  .service-card{
    background:var(--surface); border:1px solid var(--border); border-radius:18px;
    padding:30px 26px; border-top:4px solid var(--magenta);
    display:flex; flex-direction:column; gap:16px;
  }
  .service-card:nth-child(2){border-top-color:var(--navy);}
  .service-card:nth-child(3){border-top-color:var(--blue);}
  .service-card:nth-child(4){border-top-color:var(--pink-soft);}
  .service-icon{
    width:46px; height:46px; border-radius:12px; background:var(--surface-soft);
    display:flex; align-items:center; justify-content:center; color:var(--magenta);
  }
  .service-card:nth-child(2) .service-icon{color:var(--navy); background:var(--surface-soft-2);}
  .service-card:nth-child(3) .service-icon{color:var(--blue); background:var(--surface-soft-2);}
  .service-card:nth-child(4) .service-icon{color:var(--magenta-ink); background:var(--surface-soft);}
  .service-card h3{font-size:1.08rem; font-weight:800;}
  .service-card p{font-size:0.92rem; line-height:1.6; color:var(--ink-muted); margin:0; flex:1;}
  .service-card a{font-weight:700; font-size:0.86rem; text-decoration:none; color:var(--ink);}
  .service-card a:hover{color:var(--magenta); transform:translateX(3px);}

  /* ---------- NOSOTROS ---------- */
  .about-grid{
    display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center;
  }
  .about-photo{position:relative; display:flex; justify-content:center;}
  .about-photo .photo-frame{
    position:relative; width:86%; aspect-ratio:4/5; border-radius:24px; overflow:hidden;
    box-shadow: 0 30px 60px -24px rgba(56,77,149,0.32), 0 16px 40px -22px rgba(226,28,113,0.26);
  }
  .about-photo .photo-frame img{
    width:100%; height:100%; object-fit:cover; object-position:top; display:block;
  }
  .about-photo .photo-frame::after{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:
      radial-gradient(circle at 18% 12%, rgba(255,174,215,0.6), transparent 55%),
      linear-gradient(160deg, rgba(56,77,149,0.22), transparent 55%);
    mix-blend-mode:soft-light;
  }
  .about-copy p{font-size:1.02rem; line-height:1.7; color:var(--ink-muted); max-width:52ch;}
  .about-copy h2{font-size:clamp(1.9rem,3vw,2.4rem); margin-bottom:22px;}
  .about-link{
    margin-top:8px; display:inline-flex; align-items:center; gap:8px;
    font-weight:800; color:var(--magenta); text-decoration:none; font-size:0.95rem;
  }

  /* ---------- TRAYECTORIA (dark band) ---------- */
  .trayectoria{
    background:var(--navy-deep); color:#F4EEF8; padding:56px 0 100px;
  }
  .trayectoria .section-head h2{color:#fff;}
  .tray-grid{display:grid; grid-template-columns:0.6fr 1.4fr; gap:56px; align-items:start;}
  .tray-number b{
    font-family:"Lobster",cursive; font-style:normal; font-weight:400;
    font-size:5.2rem; color:var(--pink-soft); line-height:0.95; display:block;
  }
  .tray-number span{display:block; margin-top:14px; color:#C7BEDD; font-size:0.95rem; max-width:24ch; line-height:1.5;}
  .tag-row{display:flex; flex-wrap:wrap; gap:10px;}
  .tag{
    border:1px solid #4B4470; background:#241F3B; color:#E9E2F2;
    padding:9px 16px; border-radius:999px; font-size:0.85rem; font-weight:600;
    animation:gp-tag-glow 6s ease-in-out infinite;
  }
  @keyframes gp-tag-glow{
    0%, 80%, 100%{ background:#241F3B; border-color:#4B4470; color:#E9E2F2; transform:scale(1); }
    15%{ background:var(--magenta); border-color:var(--magenta); color:#fff; transform:scale(1.08); }
  }
  .tag:nth-child(1){animation-delay:0s;}
  .tag:nth-child(2){animation-delay:0.3s;}
  .tag:nth-child(3){animation-delay:0.6s;}
  .tag:nth-child(4){animation-delay:0.9s;}
  .tag:nth-child(5){animation-delay:1.2s;}
  .tag:nth-child(6){animation-delay:1.5s;}
  .tag:nth-child(7){animation-delay:1.8s;}
  .tag:nth-child(8){animation-delay:2.1s;}
  .tag:nth-child(9){animation-delay:2.4s;}
  .tag:nth-child(10){animation-delay:2.7s;}
  .tag:nth-child(11){animation-delay:3s;}
  .tag:nth-child(12){animation-delay:3.3s;}
  @media (prefers-reduced-motion: reduce){
    .tag{animation:none;}
  }

  /* ---------- TIENDA ---------- */
  .tienda{background:var(--magenta); color:#fff; padding:56px 0 100px;}
  .tienda .eyebrow{color:#FFD6E8;}
  .tienda .section-head h2{color:#fff;}
  .tienda .section-head p{color:rgba(255,255,255,0.85); margin-top:14px; font-size:1.02rem; max-width:56ch;}
  .products-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .product-card{
    background:#fff; color:var(--ink); border-radius:18px; overflow:hidden;
    display:flex; flex-direction:column; box-shadow:var(--shadow);
    text-decoration:none; transition:transform 0.2s ease, box-shadow 0.2s ease;
  }
  a.product-card:hover{transform:translateY(-4px); box-shadow:0 30px 56px -26px rgba(20,20,30,0.38);}
  div.product-card{cursor:default;}
  .product-cover{position:relative; overflow:hidden;}
  .product-cover img{width:100%; height:auto; display:block;}
  .product-cover .badge{position:absolute; top:14px; left:14px; background:rgba(255,255,255,0.94); color:var(--navy-deep); font-size:0.68rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase; padding:6px 12px; border-radius:999px;}
  .product-body{padding:26px 24px 28px; display:flex; flex-direction:column; gap:12px; flex:1;}
  .product-card h3{font-family:"Lobster",cursive; font-style:normal; font-weight:400; font-size:1.2rem; color:var(--ink);}
  .product-card p{font-size:0.92rem; line-height:1.6; color:var(--ink-muted); margin:0; flex:1;}
  .product-link{font-weight:700; font-size:0.88rem; text-decoration:none; color:var(--magenta);}
  .product-soon{
    display:inline-flex; align-self:flex-start; font-weight:700; font-size:0.78rem;
    color:var(--ink-muted); background:var(--surface-soft); border:1px solid var(--border);
    padding:8px 16px; border-radius:999px; letter-spacing:0.02em;
  }

  /* ---------- WOOCOMMERCE: tienda, categorias y ficha de producto ---------- */
  .wc-page{display:block; padding:150px 0 110px;}
  .wc-page .woocommerce-breadcrumb{font-size:0.82rem; color:var(--ink-muted); margin:0 0 36px;}
  .wc-page .woocommerce-breadcrumb a{color:var(--ink-muted); text-decoration:none;}
  .wc-page .woocommerce-breadcrumb a:hover{color:var(--magenta);}

  .wc-page ul.products{
    display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
    list-style:none; padding:0; margin:0;
  }
  .wc-page ul.products li.product{width:auto; float:none; margin:0;}

  .wc-page div.product{display:flex; flex-wrap:wrap; gap:56px; align-items:flex-start;}
  .wc-page div.product .woocommerce-product-gallery{
    flex:1 1 420px; max-width:520px; border-radius:24px; overflow:hidden; box-shadow:var(--shadow);
  }
  .wc-page div.product .woocommerce-product-gallery img{border-radius:24px; display:block;}
  .wc-page div.product .summary{flex:1 1 380px;}

  .wc-page div.product .product_title{
    font-family:"Lobster",cursive; font-style:normal; font-weight:400;
    font-size:clamp(2rem,3.4vw,2.8rem); color:var(--ink); margin-bottom:14px;
  }
  .wc-page div.product p.price, .wc-page div.product span.price{
    color:var(--magenta); font-weight:800; font-size:1.5rem; font-family:"Poppins",sans-serif;
  }
  .wc-page div.product p.price del{color:var(--ink-muted); opacity:0.7; font-weight:500;}
  .wc-page div.product p.price ins{text-decoration:none;}
  .wc-page div.product .woocommerce-product-details__short-description{
    color:var(--ink-muted); line-height:1.7; margin:22px 0 30px; font-size:1rem;
  }
  .wc-page div.product .stock{color:var(--whatsapp); font-weight:700; font-size:0.88rem;}
  .wc-page div.product .stock.out-of-stock{color:var(--magenta);}

  .wc-page div.product form.cart{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:30px;}
  .wc-page div.product .quantity{margin:0;}
  .wc-page div.product .quantity .qty{
    width:70px; padding:14px 12px; border:2px solid var(--border); border-radius:12px;
    font-family:"Poppins",sans-serif; font-size:1rem; text-align:center;
  }
  .wc-page div.product .single_add_to_cart_button{
    background:var(--magenta) !important; color:#fff !important; border:none !important;
    padding:16px 32px !important; border-radius:999px !important; font-weight:700 !important;
    font-size:0.95rem !important; text-transform:none !important; letter-spacing:normal !important;
    cursor:pointer; transition:background 0.2s;
  }
  .wc-page div.product .single_add_to_cart_button:hover{background:var(--magenta-ink) !important;}

  .wc-page div.product .product_meta{
    margin-top:24px; padding-top:24px; border-top:1px solid var(--border);
    font-size:0.85rem; color:var(--ink-muted);
  }
  .wc-page div.product .product_meta a{color:var(--ink-muted); text-decoration:underline;}

  .wc-page span.onsale{
    background:var(--magenta) !important; color:#fff; font-weight:700; font-size:0.78rem;
    min-height:auto; min-width:auto; line-height:1; padding:8px 14px; border-radius:999px;
    top:14px; left:14px; margin:0; position:absolute;
  }

  .wc-page .woocommerce-tabs{margin-top:80px;}
  .wc-page .woocommerce-tabs ul.tabs{
    display:flex; gap:8px; border-bottom:1px solid var(--border); padding:0; margin:0 0 32px; list-style:none;
  }
  .wc-page .woocommerce-tabs ul.tabs li{margin:0;}
  .wc-page .woocommerce-tabs ul.tabs li a{
    display:inline-block; padding:14px 22px; font-weight:700; font-size:0.92rem;
    color:var(--ink-muted); text-decoration:none; border-bottom:2px solid transparent;
  }
  .wc-page .woocommerce-tabs ul.tabs li.active a{color:var(--magenta); border-bottom-color:var(--magenta);}
  .wc-page .woocommerce-tabs .panel{color:var(--ink-muted); line-height:1.75; font-size:0.98rem;}
  .wc-page .woocommerce-tabs .panel h2{
    font-family:"Lobster",cursive; font-style:normal; font-weight:400; color:var(--ink);
    font-size:1.6rem; margin-bottom:18px;
  }

  .wc-page .related.products{margin-top:100px;}
  .wc-page .related.products > h2{
    font-family:"Lobster",cursive; font-style:normal; font-weight:400;
    font-size:clamp(1.9rem,3vw,2.5rem); color:var(--ink); margin-bottom:40px;
  }

  /* ---------- TESTIMONIOS ---------- */
  .testimonios{background:var(--navy); color:#fff; padding:56px 0 100px;}
  .testimonios .eyebrow{color:var(--pink-soft);}
  .testimonios .section-head h2{color:#fff;}
  .testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .testi-card{background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); border-radius:18px; padding:30px 26px; display:flex; flex-direction:column; gap:16px;}
  .testi-quote-mark{font-family:"Lobster",cursive; font-style:normal; font-size:2.6rem; color:var(--pink-soft); line-height:1;}
  .testi-card p.quote{font-size:0.96rem; line-height:1.6; margin:0; color:#F4EEF8;}
  .testi-who{font-size:0.82rem; font-weight:700; color:#E9DDF0;}

  /* ---------- CTA FINAL + GALERÍA (misma seccion/fondo) ---------- */
  .cta-final{background:var(--surface-soft); padding:56px 0 100px;}
  .cta-box{
    max-width:720px; margin:0 auto; text-align:center; display:flex; flex-direction:column;
    align-items:center; gap:22px;
  }
  .cta-box h2{font-size:clamp(1.9rem,3.4vw,2.6rem); color:var(--navy-deep);}
  .cta-box p{font-size:1.05rem; color:var(--ink-muted); max-width:48ch; margin:0;}

  .cta-final .gallery-grid{margin-top:70px;}
  /* Layout tipo "masonry": cada foto conserva su propia proporcion (vertical, horizontal o cuadrada),
     sin recortes ni estiramientos, y sin ninguna foto con tamaño destacado. */
  .gallery-grid{column-count:3; column-gap:12px;}
  .gallery-item{
    display:block; break-inside:avoid; -webkit-column-break-inside:avoid; page-break-inside:avoid;
    margin-bottom:12px; border-radius:16px; overflow:hidden;
  }
  .gallery-item img{width:100%; height:auto; display:block; transition:transform 0.4s ease;}
  .gallery-item:hover img{transform:scale(1.05);}

  /* ---------- PAGINA "SOBRE MI" COMPLETA ---------- */
  .bio-article{padding:100px 0;}
  .bio-article h2{
    font-size:clamp(1.7rem,2.6vw,2.2rem); color:var(--ink); margin:64px 0 22px;
  }
  .bio-article h2:first-of-type{margin-top:0;}
  .bio-article h2, .bio-article h3, .bio-article p{max-width:68ch;}
  .bio-article h3{font-size:1.05rem; font-weight:800; color:var(--navy-deep); margin:36px 0 18px;}
  .bio-article p{font-size:1.04rem; line-height:1.8; color:var(--ink-muted); margin:0 0 18px;}
  .bio-article strong{color:var(--ink); font-weight:700;}
  .bio-quote{
    font-family:"Lobster",cursive; font-style:normal; font-weight:400;
    font-size:clamp(1.5rem,2.6vw,2rem); color:var(--magenta); text-align:center;
    line-height:1.4; margin:48px auto; max-width:34ch; border:none; padding:0;
  }
  .bio-tags{margin-bottom:8px;}

  .bio-stats{padding:0 0 100px;}

  /* ---------- PAGINA "COMO ACCEDER AL CURSO" ---------- */
  .access-steps{margin-top:40px; display:flex; flex-direction:column; gap:32px;}
  .access-step{display:flex; gap:20px; align-items:flex-start;}
  .access-step-number{
    flex-shrink:0; width:40px; height:40px; border-radius:50%;
    background:var(--magenta); color:#fff; font-family:"Lobster",cursive; font-style:normal; font-weight:400;
    font-size:1.2rem; display:flex; align-items:center; justify-content:center;
  }
  .access-step h3{margin:0 0 8px; font-size:1.05rem; font-weight:800; color:var(--ink);}
  .access-step p{margin:0; color:var(--ink-muted); line-height:1.7;}
  .access-step a{color:var(--magenta); font-weight:700; text-decoration:underline;}

  /* ---------- FAQ / Ayuda ---------- */
  .faq-list{display:flex; flex-direction:column; gap:14px; margin-top:24px;}
  .faq-item{
    border:1px solid var(--border); border-radius:16px; padding:0; overflow:hidden;
    background:#fff;
  }
  .faq-item summary{
    list-style:none; cursor:pointer; padding:20px 24px; font-weight:800; font-size:1.05rem;
    color:var(--ink); display:flex; align-items:center; justify-content:space-between; gap:16px;
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary::after{
    content:"+"; flex-shrink:0; font-size:1.4rem; font-weight:400; color:var(--magenta);
    transition:transform 0.2s ease;
  }
  .faq-item[open] summary::after{transform:rotate(45deg);}
  .faq-item summary:hover{color:var(--magenta);}
  .faq-answer{padding:0 24px 24px;}
  .faq-answer p{margin:0 0 12px; color:var(--ink-muted); line-height:1.7;}
  .faq-answer p:last-child{margin-bottom:0;}
  .faq-answer a:not(.btn){color:var(--magenta); font-weight:700; text-decoration:underline;}
  .faq-answer .access-steps{margin-top:8px;}
  .faq-answer .btn-whatsapp{margin-top:8px;}

  /* ---------- FOOTER ---------- */
  footer{padding:64px 0 40px; border-top:1px solid var(--border);}
  .foot-grid{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:20px;}
  .foot-links{display:flex; gap:28px; list-style:none; padding:0; margin:0;}
  .foot-links a{text-decoration:none; color:var(--ink-muted); font-weight:600; font-size:0.9rem;}
  .foot-social{display:flex; gap:12px;}
  .foot-social a{display:flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:50%; background:var(--magenta); color:#fff; transition:background 0.2s, color 0.2s, transform 0.25s ease;}
  .foot-social a svg{width:22px; height:22px;}
  .foot-social a:hover{background:var(--surface-soft); color:var(--ink); transform:translateY(-2px);}
  .foot-copy{color:var(--ink-muted); font-size:0.82rem; margin-top:36px; text-align:center;}
  .foot-credit{
    color:var(--ink-muted); font-size:0.78rem; margin-top:8px; opacity:0.8;
    display:flex; align-items:center; justify-content:center; gap:6px;
  }
  .foot-credit img{width:18px; height:18px; border-radius:4px; display:block;}

  @media (max-width:920px){
    .hero-grid, .about-grid, .tray-grid{grid-template-columns:1fr;}
    .about-photo{order:-1;}
    .services-grid{grid-template-columns:repeat(2,1fr);}
    .products-grid, .testi-grid{grid-template-columns:1fr;}
    .gallery-grid{column-count:2;}
    .wc-page{padding:120px 0 80px;}
    .wc-page ul.products{grid-template-columns:1fr;}
    .wc-page div.product{flex-direction:column; gap:32px;}
    .wc-page div.product .woocommerce-product-gallery{max-width:100%;}
    .wc-page .woocommerce-tabs ul.tabs{flex-wrap:wrap;}
    .stats-inner{grid-template-columns:1fr; gap:18px;}
    .stat{border-right:none; border-bottom:1px solid var(--border); padding-bottom:18px;}
    .stat:last-child{border-bottom:none; padding-bottom:0;}
    .nav-links{
      display:none; position:absolute; top:100%; left:0; right:0; z-index:30;
      flex-direction:column; align-items:flex-start; gap:0;
      background:var(--surface); border-bottom:1px solid var(--border); padding:8px 32px 16px;
    }
    .nav-links.is-open{display:flex;}
    .nav-links li{width:100%;}
    .nav-links a{display:block; padding:12px 0; width:100%;}
    .nav-links .nav-cta{display:inline-block; width:auto; margin-top:8px; padding:12px 20px;}
    .nav-help-label{display:inline;}
    .nav-toggle{display:flex;}
    section{padding-top:80px;}
    .trayectoria{padding:70px 0;}
  }
