/* =========================================================
   RB Theme v2 — mockup exacto (staging)
   ========================================================= */
:root{
  --v2-red:#B22222;
  --v2-red-dark:#8E1A1A;
  --v2-ink:#1F1F1F;
  --v2-muted:#5B5B5B;
  --v2-line:#E8E4E2;
  --v2-soft:#F7F7F7;
  --v2-blush:#F8F1F1;
  --v2-radius:10px;
  --v2-btn-radius:6px;
  --v2-font:"Source Sans 3","Segoe UI",sans-serif;
  --v2-max:1180px;
}

body,button,input,select,textarea,.elementor-button,.ast-button{
  font-family:var(--v2-font)!important;
  color:var(--v2-ink);
}
h1,h2,h3,h4,h5,h6,.elementor-heading-title{
  font-family:var(--v2-font)!important;
  font-weight:700;
  color:var(--v2-ink);
  letter-spacing:-.01em;
}

/* Logo no stretch */
.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-footer .elementor-widget-theme-site-logo img,
img.custom-logo{
  width:auto!important;height:auto!important;max-height:54px!important;max-width:150px!important;object-fit:contain!important;
}
.v2-header{position:sticky;top:0;z-index:1000;box-shadow:0 1px 0 var(--v2-line);background:#fff}
.v2-header-cta .elementor-button{border-radius:6px!important;text-transform:uppercase!important;letter-spacing:.04em!important}

/* Mobile header: one row — logo + burger; hide CTA (hero has its own) */
@media (max-width:767px){
  .v2-header.elementor-section > .elementor-container{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:56px!important;
    gap:12px;
    width:100%;
  }
  .v2-header .elementor-element-v2hda,
  .v2-header .elementor-element-v2hdb{
    width:auto!important;
    max-width:none!important;
  }
  .v2-header .elementor-element-v2hda{
    flex:1 1 auto;
    min-width:0;
  }
  .v2-header .elementor-element-v2hda .elementor-widget-wrap,
  .v2-header .elementor-element-v2hda .elementor-widget-theme-site-logo,
  .v2-header .elementor-element-v2hda .elementor-widget-container{
    justify-content:flex-start!important;
    align-items:center!important;
    text-align:left!important;
    width:auto!important;
    margin:0!important;
  }
  .v2-header .elementor-element-v2hda .elementor-widget-theme-site-logo a{
    display:inline-flex!important;
    justify-content:flex-start!important;
    margin:0!important;
  }
  .v2-header .elementor-element-v2hdb{
    flex:0 0 auto;
  }
  .v2-header .elementor-element-v2hdb .elementor-widget-wrap{
    justify-content:flex-end!important;
    align-items:center!important;
  }
  .v2-header .elementor-element-v2hdc{
    display:none!important;
  }
  .v2-header .elementor-menu-toggle{
    margin:0!important;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
  }
  .v2-header .elementor-widget-theme-site-logo img{
    max-height:42px!important;
    max-width:112px!important;
  }
}

.elementor-location-header .elementor-nav-menu--main .elementor-item{
  font-family:var(--v2-font)!important;font-size:12px!important;font-weight:700!important;
  letter-spacing:.04em!important;text-transform:uppercase!important;color:#2B2B2B!important;
}
.elementor-location-header .elementor-nav-menu--main .elementor-item:hover,
.elementor-location-header .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var(--v2-red)!important}

.v2-wrap{max-width:var(--v2-max);margin:0 auto;padding:0 clamp(16px,4vw,28px);width:100%;box-sizing:border-box}
.v2-section{padding:clamp(56px,8vw,100px) 0}
.v2-section--soft{background:var(--v2-soft)}
.v2-section--blush{background:var(--v2-blush)}
.v2-center{text-align:center}
.v2-eyebrow{color:var(--v2-red);font-size:15px;font-weight:700;margin:0 0 10px}
.v2-h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.2;margin:0 0 16px}
.v2-h2--red{color:var(--v2-red)}
.v2-h3{font-size:clamp(1.05rem,1.8vw,1.25rem);margin:0 0 12px;font-weight:700}
.v2-lead{font-size:clamp(1rem,1.35vw,1.08rem);line-height:1.65;color:var(--v2-muted);margin:0;max-width:40rem}
.v2-lead--center{margin-left:auto;margin-right:auto;max-width:52rem}
.v2-accent-line{color:var(--v2-red);font-weight:700;margin:22px 0 0;font-size:1.02rem}
.v2-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.v2-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;border-radius:var(--v2-btn-radius);font-weight:700;font-size:13px;letter-spacing:.03em;text-transform:uppercase;text-decoration:none!important;border:1.5px solid transparent;transition:.2s ease}
.v2-btn--fill{background:var(--v2-red);color:#fff!important;border-color:var(--v2-red)}
.v2-btn--fill:hover{background:var(--v2-red-dark);color:#fff!important}
.v2-btn--outline{background:#fff;color:var(--v2-red)!important;border-color:var(--v2-red)}
.v2-btn--outline:hover{background:var(--v2-blush)}
.v2-btn--white{background:#fff;color:var(--v2-red)!important}
.v2-btn--ghost-white{background:transparent;color:#fff!important;border-color:#fff}
.v2-btn--ghost-white:hover{background:rgba(255,255,255,.12)}

/* Hero + wave */
.v2-hero{position:relative;background:#fff;padding:clamp(28px,5vw,56px) 0 0;overflow:hidden}
.v2-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,48px);align-items:center;padding-bottom:clamp(36px,5vw,56px)}
.v2-hero__title{font-size:clamp(2rem,4.4vw,3.2rem);line-height:1.12;margin:0 0 18px;font-weight:800}
.v2-hero__title span{color:var(--v2-red)}
.v2-hero__media{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:5/4;max-height:520px;box-shadow:0 18px 40px rgba(0,0,0,.08);background:#eee}
.v2-hero__media img{width:100%;height:100%;object-fit:cover;display:block}
.v2-hero__logo{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.94);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;align-items:center;gap:4px;box-shadow:0 8px 20px rgba(0,0,0,.1)}
.v2-hero__logo img{width:64px;height:64px;object-fit:contain}
.v2-hero__logo span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--v2-ink);text-align:center;max-width:90px;line-height:1.2}
.v2-wave{line-height:0;margin-top:-1px}
.v2-wave svg{display:block;width:100%;height:clamp(36px,5vw,72px)}

/* Pillars with vertical rules */
.v2-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:48px;border-top:1px solid var(--v2-line);padding-top:36px}
.v2-pillar{padding:8px 28px;text-align:center;position:relative}
.v2-pillar:not(:last-child)::after{content:"";position:absolute;top:10%;right:0;width:1px;height:80%;background:var(--v2-line)}
.v2-pillar h3{margin:12px 0 8px;font-size:1.15rem}
.v2-pillar p{margin:0;color:var(--v2-muted);font-size:14.5px;line-height:1.55}
.v2-ico{width:54px;height:54px;margin:0 auto;border-radius:50%;border:1.5px solid var(--v2-red);color:var(--v2-red);display:grid;place-items:center;background:#fff}
.v2-ico svg{width:22px;height:22px}
.v2-ico--sm{width:42px;height:42px;margin:0}

/* Cards */
.v2-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin-top:36px;text-align:left}
.v2-card{background:#fff;border-radius:var(--v2-radius);overflow:visible;position:relative;padding-bottom:8px}
.v2-card__img{aspect-ratio:4/3;border-radius:var(--v2-radius) var(--v2-radius) 0 0;overflow:hidden;background:#eee}
.v2-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.v2-card__img--app{
  background:linear-gradient(165deg,#F8E9EB,#fff);
  overflow:hidden;
}
.v2-card__img--app img{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover;
  /* movil.jpeg: focus on tablet+phone, crop empty desk below + ceiling above */
  object-position:50% 32%;
  padding:0!important;
  margin:0;
  box-sizing:border-box;
}
.v2-card__ico{position:absolute;left:50%;top:auto;transform:translate(-50%,-50%);margin-top:0;width:46px;height:46px;border-radius:50%;background:var(--v2-red);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px rgba(178,34,34,.28);z-index:2}
.v2-card__ico svg{width:18px;height:18px}
.v2-card__img + .v2-card__ico{top:auto; /* placed via negative margin on body */}
.v2-card__body{padding:34px 16px 8px;text-align:center}
.v2-card__body h3{margin:0 0 8px;font-size:1.08rem}
.v2-card__body p{margin:0;color:var(--v2-muted);font-size:14px;line-height:1.5}

/* Fix icon on image/text boundary */
.v2-card{display:flex;flex-direction:column}
.v2-card__img{position:relative}
.v2-card .v2-card__ico{position:relative;left:auto;transform:none;margin:-23px auto 0;flex-shrink:0}

/* Split / indicators / path */
.v2-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;text-align:left}
.v2-inds{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}
.v2-ind{display:flex;align-items:center;gap:12px}
.v2-ind strong{font-size:13.5px;line-height:1.3;font-weight:700}
.v2-path{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;position:relative}
.v2-path::before{content:"";position:absolute;top:23px;left:8%;right:8%;height:2px;background:var(--v2-red);opacity:.25}
.v2-path li{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;position:relative;z-index:1}
.v2-path__ico{width:46px;height:46px;border-radius:50%;background:var(--v2-red);color:#fff;display:grid;place-items:center;box-shadow:0 8px 16px rgba(178,34,34,.25)}
.v2-path__ico svg{width:18px;height:18px}
.v2-path li > span:last-child{font-size:12.5px;font-weight:700;line-height:1.25;max-width:7.5rem}

/* App phones */
.v2-app{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,48px);align-items:center}
.v2-phones{position:relative;min-height:380px;display:flex;align-items:flex-end;justify-content:center}
.v2-phones img{width:min(32%,180px);height:auto;filter:drop-shadow(0 18px 30px rgba(0,0,0,.18));position:relative}
.v2-phones .is-left{transform:translate(18%,0) rotate(-6deg);z-index:1;opacity:.95}
.v2-phones .is-center{width:min(38%,210px);z-index:3;transform:translateY(-8px)}
.v2-phones .is-right{transform:translate(-18%,0) rotate(6deg);z-index:2;opacity:.95}
.v2-stores{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.v2-store{background:#111;color:#fff!important;text-decoration:none!important;border-radius:10px;padding:10px 16px;min-width:148px}
.v2-store small{display:block;font-size:10px;opacity:.7}
.v2-store strong{font-size:14px}

/* Topics row */
.v2-topics{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;margin-top:36px}
.v2-topic{text-align:center}
.v2-topic__media{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#ddd}
.v2-topic__media img{width:100%;height:100%;object-fit:cover;display:block}
.v2-topic__ico{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:28px;height:28px;border-radius:50%;background:#111;color:#fff;display:grid;place-items:center}
.v2-topic__ico svg{width:12px;height:12px}
.v2-topic h3{margin:10px 0 0;font-size:13px;font-weight:700}

/* CTA band */
.v2-cta{background:var(--v2-red);padding:clamp(36px,5vw,56px) 0;margin:0 0 32px}
.v2-cta__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:24px;align-items:center}
.v2-cta h2{color:#fff;margin:0;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.2}
.v2-cta p{color:rgba(255,255,255,.9);margin:0;font-size:15px;line-height:1.55}
.v2-btns--cta{margin-top:0;justify-content:flex-end}

/* Page hero */
.v2-page-hero{padding:clamp(48px,7vw,72px) 0 40px;background:linear-gradient(180deg,#FAF7F7,#fff);border-bottom:1px solid var(--v2-line)}
.v2-page-hero h1{font-size:clamp(1.9rem,3.4vw,2.8rem);margin:0 0 10px}
.v2-page-hero p{margin:0;color:var(--v2-muted);max-width:40rem;font-size:1.05rem}
body.page .site-content{padding-top:0}

/* Footer */
/* Motion */
.rb-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
.rb-reveal.is-in{opacity:1;transform:none}
.rb-reveal--delay{transition-delay:.1s}
.rb-reveal--d1{transition-delay:.06s}
.rb-reveal--d2{transition-delay:.12s}
.rb-reveal--d3{transition-delay:.18s}
@media (prefers-reduced-motion:reduce){.rb-reveal{opacity:1;transform:none;transition:none}}

/* Forms / listings skin */
.elementor-widget-form .elementor-button{background:var(--v2-red)!important;border-radius:6px!important}
.jet-listing-grid__item{border-radius:12px!important;overflow:hidden!important;border:1px solid var(--v2-line)!important;box-shadow:0 8px 20px rgba(0,0,0,.05)!important}

@media (max-width:1100px){
  .v2-topics{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:1024px){
  .v2-hero__grid,.v2-split,.v2-app,.v2-cta__grid{grid-template-columns:1fr}
  .v2-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v2-path{grid-template-columns:1fr;gap:10px}
  .v2-path::before{display:none}
  .v2-path li{flex-direction:row;text-align:left;gap:12px;background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:12px}
  .v2-path li > span:last-child{max-width:none}
  .v2-cta__grid{text-align:center}
  .v2-btns--cta{justify-content:center}
  .v2-phones{min-height:300px}
}
@media (max-width:720px){
  .v2-pillars{grid-template-columns:1fr;gap:22px}
  .v2-pillar:not(:last-child)::after{display:none}
  .v2-pillar{padding:0}
  .v2-cards,.v2-inds,.v2-topics{grid-template-columns:1fr 1fr}
  .v2-phones .is-left,.v2-phones .is-right{display:none}
  .v2-phones .is-center{width:min(58%,240px);transform:none}
  .v2-hero__media{aspect-ratio:16/11}
}
@media (max-width:480px){
  .v2-cards{grid-template-columns:1fr}
}

/* Hero bleed — foto a la derecha, texto a la izquierda (mockup) */
.v2-hero--bleed{
  position:relative;
  min-height:clamp(420px,58vh,560px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0;
  overflow:hidden;
  background:#ffffff;
}
.v2-hero--bleed .v2-hero__bg{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:42%;
  z-index:0;
}
.v2-hero--bleed .v2-hero__bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.v2-hero--bleed .v2-hero__veil{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,
    #ffffff 0%,
    #ffffff 40%,
    rgba(255,255,255,.97) 46%,
    rgba(255,255,255,.72) 54%,
    rgba(255,255,255,.28) 64%,
    rgba(255,255,255,0) 76%);
}
.v2-hero--bleed .v2-hero__content{
  position:relative;
  z-index:2;
  max-width:540px;
  margin-left:max(16px, calc((100% - var(--v2-max)) / 2 + 8px));
  margin-right:auto;
  padding:clamp(40px,6vw,72px) clamp(16px,4vw,28px);
}
.v2-hero--bleed .v2-hero__title{max-width:15ch}
.v2-hero--bleed .v2-lead{max-width:34rem;color:#3a3a3a}
.v2-hero--bleed .v2-btn--outline{
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(4px);
}
.v2-hero--bleed .v2-wave{
  position:relative;
  z-index:3;
  margin-top:auto;
}
.v2-hero--bleed .v2-wave svg{
  display:block;
  width:100%;
  height:clamp(36px,4.5vw,70px);
}

@media (max-width:1024px){
  .v2-hero--bleed .v2-hero__bg{left:32%}
  .v2-hero--bleed{min-height:clamp(400px,54vh,520px)}
}
@media (max-width:900px){
  /* Mobile: stack photo + text (no overlay mix) */
  .v2-hero--bleed{
    min-height:auto;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    background:#fff;
  }
  .v2-hero--bleed .v2-hero__bg{
    position:relative;
    inset:auto;
    left:auto;
    right:auto;
    top:auto;
    bottom:auto;
    width:100%;
    height:auto;
    aspect-ratio:16 / 10;
    flex-shrink:0;
    opacity:1;
    z-index:0;
  }
  .v2-hero--bleed .v2-hero__bg img{
    object-position:center center;
  }
  .v2-hero--bleed .v2-hero__veil{
    display:none;
  }
  .v2-hero--bleed .v2-hero__content{
    position:relative;
    z-index:1;
    margin-left:0;
    margin-right:0;
    max-width:100%;
    width:100%;
    box-sizing:border-box;
    padding:clamp(28px,6vw,40px) clamp(16px,4vw,28px) clamp(24px,6vw,40px);
    background:#fff;
  }
  .v2-hero--bleed .v2-hero__title{max-width:none}
  .v2-hero--bleed .v2-wave{
    margin-top:0;
  }
  .v2-page-formacion .v2-hero--bleed .v2-eyebrow{
    color:var(--v2-red);
  }
}

/* Método RB page */
.v2-page-hero--metodo{padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,48px);background:#fff;border-bottom:0}
.v2-page-hero__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,48px);align-items:center}
.v2-page-hero--metodo h1{font-size:clamp(2rem,4vw,3rem);line-height:1.12;margin:0 0 16px;font-weight:800}
.v2-page-hero--metodo h1 span{color:var(--v2-red)}
.v2-page-hero__media{border-radius:14px;overflow:hidden;aspect-ratio:5/4;max-height:440px;box-shadow:0 16px 36px rgba(0,0,0,.08)}
.v2-page-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.v2-quote-card{background:#fff;border:1px solid var(--v2-line);border-left:4px solid var(--v2-red);border-radius:12px;padding:28px 24px;box-shadow:0 10px 28px rgba(0,0,0,.05)}
.v2-quote{font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.5;margin:0 0 18px;color:var(--v2-ink);font-weight:600}
.v2-quote-card footer{display:flex;flex-direction:column;gap:2px}
.v2-quote-card strong{font-size:14px}
.v2-quote-card span{font-size:13px;color:var(--v2-muted)}
.v2-timeline{display:flex;flex-direction:column;gap:0;max-width:820px;margin:0 auto;position:relative}
.v2-timeline::before{content:"";position:absolute;left:88px;top:8px;bottom:8px;width:2px;background:var(--v2-line)}
.v2-tl{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:18px 0;position:relative}
.v2-tl__year{font-weight:800;color:var(--v2-red);font-size:15px;letter-spacing:.02em;text-align:right;padding-top:2px}
.v2-tl__body{background:#fff;border:1px solid var(--v2-line);border-radius:12px;padding:18px 20px}
.v2-tl__body h3{margin:0 0 8px;font-size:1.05rem}
.v2-tl__body p{margin:0;color:var(--v2-muted);font-size:14.5px;line-height:1.55}
.v2-split--story{align-items:center}
@media (max-width:900px){
  .v2-page-hero__grid{grid-template-columns:1fr}
  .v2-page-hero__media{max-height:320px;aspect-ratio:16/10}
  .v2-timeline::before{left:18px}
  .v2-tl{grid-template-columns:1fr;padding:8px 0 8px 36px;gap:8px}
  .v2-tl__year{text-align:left;margin:0}
}


/* Footer bar alignment */
.v2-footer-bar{
  max-width:var(--v2-max);
  margin:0 auto;
  padding:0 clamp(16px,4vw,28px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px 32px;
  flex-wrap:wrap;
}
.v2-footer-slogan{
  color:#fff;
  font-size:clamp(1rem,1.6vw,1.15rem);
  font-weight:700;
  margin:0;
  line-height:1.35;
}
.v2-footer-slogan .v2-em{
  color:var(--v2-red);
  font-weight:800;
  font-size:1.14em;
  letter-spacing:.01em;
  -webkit-text-stroke:1px #fff;
  paint-order:stroke fill;
  text-shadow:
    -1px -1px 0 #fff,
     1px -1px 0 #fff,
    -1px  1px 0 #fff,
     1px  1px 0 #fff,
     0 0 1px #fff;
}
.v2-em{color:var(--v2-red)}
.v2-footer-copy{
  color:rgba(255,255,255,.72);
  font-size:13px;
  margin:0;
  text-align:right;
  line-height:1.35;
  white-space:nowrap;
}
.v2-footer-copy a{color:#fff!important;text-decoration:underline;text-underline-offset:2px}
@media (max-width:720px){
  .v2-footer-bar{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .v2-footer-copy{
    text-align:left;
    white-space:normal;
  }
}

/* Hide legacy chrome only on old single template #311 */
.elementor-311 .elementor-widget-theme-post-title,
.elementor-311 .elementor-widget-jet-breadcrumbs,
.elementor-311 .jet-breadcrumbs {
  display: none !important;
}

/* Fichas v2: never leave content invisible without reveal JS */
.elementor-location-single .v2-editorial-section.rb-reveal,
.elementor-location-single .v2-product-section.rb-reveal,
.elementor-location-single .rb-reveal{
  opacity:1 !important;
  transform:none !important;
}
.elementor-location-single .v2-el-ficha-hero .elementor-widget-theme-post-title,
.elementor-location-single .v2-el-event-hero .elementor-widget-theme-post-title,
.elementor-location-single .v2-single-hero__title{
  display:block !important;
}
.v2-page-metodo .v2-hero--bleed .v2-eyebrow {
  color: var(--v2-red);
}

/* Mi historia — portrait hero */
.v2-page-historia .v2-hero--bleed .v2-eyebrow {
  color: var(--v2-red);
}
.v2-page-historia .v2-hero--bleed .v2-hero__bg img{
  object-position: center 18%;
}
@media (max-width: 767px){
  .v2-page-historia .v2-hero--bleed .v2-hero__bg img{
    object-position: center 12%;
  }
}


/* Método: story prose + flip timeline */
.v2-lead-text,.v2-prose > .v2-story{margin:14px 0 0;color:var(--v2-muted);font-size:15.5px;line-height:1.65;max-width:38em}
.v2-prose{max-width:760px;margin:0 auto;text-align:left}
.v2-prose .v2-h2{margin-bottom:18px}
.v2-prose p{color:var(--v2-muted);font-size:16px;line-height:1.7;margin:0 0 14px}
.v2-prose__closing{color:var(--v2-ink)!important;font-weight:600;font-size:1.05rem!important;margin-top:8px!important}
.v2-tl__flip{
  display:block;width:100%;text-align:left;cursor:pointer;
  background:transparent!important;background-color:transparent!important;
  border:0!important;padding:0;margin:0;
  perspective:1200px;font:inherit;color:inherit!important;
  -webkit-appearance:none;appearance:none;
  -webkit-tap-highlight-color:transparent;
  box-shadow:none!important;
}
.v2-tl__flip:hover,
.v2-tl__flip:focus,
.v2-tl__flip:active,
.v2-tl__flip:focus-visible,
.v2-tl__flip.is-flipped{
  background:transparent!important;background-color:transparent!important;
  border-color:transparent!important;color:inherit!important;
  box-shadow:none!important;
}
.v2-tl__flip:focus{outline:none}
.v2-tl__flip:focus-visible{outline:2px solid var(--v2-red);outline-offset:3px;border-radius:12px}
.v2-tl__inner{
  display:block;width:100%;
  position:relative;transform-style:preserve-3d;
  transition:transform .55s cubic-bezier(.2,.7,.2,1), min-height .25s ease;
  min-height:140px;
  background:transparent;
}
.v2-tl__static{
  display:block;background:#fff;border:1px solid var(--v2-line);border-radius:12px;
  padding:18px 20px 16px;box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.v2-tl__static h3{margin:0 0 8px;font-size:1.05rem;color:var(--v2-ink)}
.v2-tl__static p{margin:0;color:var(--v2-muted);font-size:14.5px;line-height:1.55}
.v2-tl__flip.is-flipped .v2-tl__inner{transform:rotateY(180deg)}
.v2-tl__face{
  display:block;background:#fff;border:1px solid var(--v2-line);border-radius:12px;
  padding:18px 20px 16px;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  box-shadow:0 6px 18px rgba(31,31,31,.05);
  isolation:isolate;
}
.v2-tl__face h3{margin:0 0 8px;font-size:1.05rem;color:var(--v2-ink)}
.v2-tl__face p{margin:0;color:var(--v2-muted);font-size:14.5px;line-height:1.55}
.v2-tl__face--front{position:relative}
.v2-tl__face--back{
  position:absolute;inset:0;transform:rotateY(180deg);
  overflow:auto;
  background:#fff;
  border-color:var(--v2-line);
  border-left:4px solid var(--v2-red);
}
.v2-tl__hint{
  display:inline-block;margin-top:12px;font-size:12.5px;font-weight:700;
  color:var(--v2-red);letter-spacing:.02em;
}
.v2-tl__body{display:none}
@media (prefers-reduced-motion: reduce){
  .v2-tl__inner{transition:none}
}
@media (max-width:900px){
  .v2-tl__face{padding:16px}
}
/* Seasonal skin: keep timeline brand colors (no orange bleed) */
.rb-skin--halloween .v2-tl__face,
.rb-skin--halloween .v2-tl__face--back,
.rb-skin--halloween .v2-tl__static{
  background:#fff !important;
  border-color:var(--v2-line) !important;
  box-shadow:0 6px 18px rgba(31,31,31,.05) !important;
}
.rb-skin--halloween .v2-tl__face--back{
  border-left:4px solid var(--v2-red) !important;
}
.rb-skin--halloween .v2-tl__year,
.rb-skin--halloween .v2-tl__hint{
  color:var(--v2-red) !important;
}


/* Formación page */
.v2-page-formacion .v2-hero--bleed .v2-eyebrow{color:rgba(255,255,255,.85)}
.v2-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:36px;text-align:left}
.v2-level{background:#fff;border:1px solid var(--v2-line);border-radius:14px;padding:24px 22px;position:relative;overflow:hidden}
.v2-level::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--v2-red)}
.v2-level__n{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--v2-red);margin:0 0 8px}
.v2-level h3{margin:0 0 8px;font-size:1.12rem}
.v2-level p{margin:0;color:var(--v2-muted);font-size:14.5px;line-height:1.55}
.v2-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.v2-course{display:flex;flex-direction:column;background:#fff;border:1px solid var(--v2-line);border-radius:14px;overflow:hidden;text-align:left;transition:transform .25s ease,box-shadow .25s ease;height:100%}
.v2-course:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.08)}
.v2-course__media{aspect-ratio:16/10;overflow:hidden;background:#eee;position:relative}
.v2-course__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.v2-course:hover .v2-course__media img{transform:scale(1.04)}
.v2-course__badge{position:absolute;left:12px;top:12px;background:var(--v2-red);color:#fff;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.v2-course__body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.v2-course__body h3{margin:0;font-size:1.05rem;line-height:1.35}
.v2-course__body h3 a{color:inherit;text-decoration:none}
.v2-course__body h3 a:hover{color:var(--v2-red)}
.v2-course__body p{margin:0;color:var(--v2-muted);font-size:14px;line-height:1.55;flex:1}
.v2-course__link{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--v2-red);text-decoration:none}
.v2-course__link:hover{text-decoration:underline}
.v2-course-note{margin-top:18px;color:var(--v2-muted);font-size:14px}
@media (max-width:980px){
  .v2-levels,.v2-course-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .v2-levels,.v2-course-grid{grid-template-columns:1fr}
}

/* Formación levels 5-col */
.v2-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:36px;text-align:left}
@media (max-width:1100px){
  .v2-levels{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:980px){
  .v2-levels{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .v2-levels{grid-template-columns:1fr}
}

/* App / Productos / Contacto */
.v2-app-hero-shot{margin:36px auto 8px;max-width:280px}
.v2-app-hero-shot img{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 32px rgba(0,0,0,.18));border-radius:18px}
.v2-dl-visual{max-width:320px;margin:28px auto 8px}
.v2-dl-visual img{width:100%;height:auto;display:block;filter:drop-shadow(0 16px 28px rgba(0,0,0,.16));border-radius:18px}
#descarga .v2-download{margin-top:20px}

.v2-app-phones{display:flex;justify-content:center;align-items:flex-end;gap:clamp(8px,2vw,18px);margin-top:28px}
.v2-app-phones img{height:clamp(220px,32vw,340px);width:auto;filter:drop-shadow(0 18px 28px rgba(0,0,0,.18));transform-origin:bottom center}
.v2-app-phones img:nth-child(1){transform:rotate(-6deg) translateY(12px)}
.v2-app-phones img:nth-child(2){transform:translateY(0);z-index:2;height:clamp(250px,36vw,380px)}
.v2-app-phones img:nth-child(3){transform:rotate(6deg) translateY(12px)}
.v2-feat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px;text-align:left}
.v2-feat{background:#fff;border:1px solid var(--v2-line);border-radius:14px;padding:24px 22px;height:100%}
.v2-feat h3{margin:0 0 8px;font-size:1.1rem}
.v2-feat p{margin:0;color:var(--v2-muted);font-size:14.5px;line-height:1.55}
.v2-download{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px;text-align:left}
.v2-dl{background:#fff;border:1px solid var(--v2-line);border-radius:14px;padding:24px;display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:center}
.v2-dl img{width:120px;height:120px;object-fit:contain}
.v2-dl h3{margin:0 0 6px;font-size:1.1rem}
.v2-dl p{margin:0;color:var(--v2-muted);font-size:14px;line-height:1.5}
.v2-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px}
.v2-product{display:flex;flex-direction:column;background:#fff;border:1px solid var(--v2-line);border-radius:14px;overflow:hidden;height:100%;transition:transform .25s ease,box-shadow .25s ease;text-align:left}
.v2-product:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.08)}
.v2-product__media{aspect-ratio:1;background:#FAF7F7;display:grid;place-items:center;padding:18px}
.v2-product__media img{max-width:100%;max-height:100%;object-fit:contain}
.v2-product__body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.v2-product__body h3{margin:0;font-size:1.02rem;line-height:1.35}
.v2-product__body h3 a{color:inherit;text-decoration:none}
.v2-product__body h3 a:hover{color:var(--v2-red)}
.v2-product__link{margin-top:auto;font-size:13.5px;font-weight:700;color:var(--v2-red);text-decoration:none}
.v2-contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,48px);align-items:start;margin-top:8px}
.v2-contact-card{background:#fff;border:1px solid var(--v2-line);border-radius:14px;padding:22px 20px;margin-bottom:14px}
.v2-contact-card h3{margin:0 0 6px;font-size:1rem}
.v2-contact-card p,.v2-contact-card a{margin:0;color:var(--v2-muted);font-size:15px;line-height:1.5;text-decoration:none}
.v2-contact-card a:hover{color:var(--v2-red)}
.v2-form-shell{background:#fff;border:1px solid var(--v2-line);border-radius:14px;padding:clamp(20px,3vw,32px);box-shadow:0 10px 28px rgba(0,0,0,.04)}
.v2-page-contacto .elementor-widget-form{margin:0}
.v2-page-contacto .elementor-field-group{margin-bottom:14px}
.v2-page-contacto .elementor-field-textual{border-radius:8px!important;border-color:var(--v2-line)!important}
@media (max-width:900px){
  .v2-feat-grid,.v2-download,.v2-product-grid,.v2-contact-grid{grid-template-columns:1fr}
  .v2-dl{grid-template-columns:100px 1fr}
  .v2-app-phones img{height:200px}
  .v2-app-phones img:nth-child(2){height:230px}
}
@media (max-width:640px){
  .v2-product-grid{grid-template-columns:1fr 1fr}
}

/* App RB — phone mockups with transparent PNG */
.v2-page-app .v2-app-phones{margin-top:36px;margin-bottom:8px}
.v2-page-app .v2-app-phones img{
  background:transparent;
  border-radius:0;
}
.v2-page-app .v2-dl-visual{
  max-width:280px;
}
.v2-page-app .v2-dl-visual img{
  width:100%;
  height:auto;
  display:block;
  background:transparent;
  border-radius:0;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.16));
}
.v2-page-app .v2-hero--bleed .v2-hero__bg img{
  object-fit:cover;
  object-position:72% 45%;
}
@media (max-width:900px){
  .v2-page-app .v2-hero--bleed .v2-hero__bg img{
    object-position:70% 30%;
  }
}

/* App RB — feature cards + próximamente */
.v2-page-app .v2-feat-grid--app{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.v2-page-app .v2-feat--soon{
  position:relative;
  background:linear-gradient(180deg,#fff 0%,#FBF6F6 100%);
  border-style:dashed;
}
.v2-page-app .v2-feat__badge{
  display:inline-block;
  margin:0 0 10px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(183,28,28,.08);
  color:var(--v2-red,#b71c1c);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.v2-page-app .v2-dl a{color:var(--v2-red,#b71c1c);text-decoration:underline;text-underline-offset:2px}
@media (max-width:900px){
  .v2-page-app .v2-feat-grid--app{grid-template-columns:1fr}
}

/* App RB reveal safety */
.v2-page-app .rb-reveal{opacity:1;transform:none}

/* Home phones — real screenshots with transparent frame */
.v2-phones img{
  background:transparent;
  border-radius:0;
}

/* APP card: full-bleed crop (desk/phone photos), no letterbox */
.v2-card__img--app img{
  background:transparent;
}
/* Home APP phone PNG mockups still look better contained */
body.page-id-10 .v2-card__img--app{
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
body.page-id-10 .v2-card__img--app img{
  width:auto!important;
  height:100%!important;
  max-width:min(70%, 150px)!important;
  object-fit:contain;
  object-position:center bottom;
  padding:10px 8px 0!important;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.14));
}


/* App RB feat rich + desktop card */
.v2-page-app .v2-feat-grid--app{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:40px;
}
.v2-page-app .v2-feat--rich{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  padding:26px 24px 22px;
  border:1px solid var(--v2-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 0 rgba(31,31,31,.03);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  overflow:hidden;
  text-align:left;
}
.v2-page-app .v2-feat--rich::before{
  content:"";
  position:absolute;
  left:0; top:0; right:0;
  height:3px;
  background:linear-gradient(90deg, var(--v2-red), #d45a5a);
  opacity:.9;
}
.v2-page-app .v2-feat--rich:hover{
  transform:translateY(-4px);
  border-color:rgba(178,34,34,.28);
  box-shadow:0 14px 30px rgba(31,31,31,.08);
}
.v2-page-app .v2-feat__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin-bottom:14px;
}
.v2-page-app .v2-feat__ico{
  width:48px;
  height:48px;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:var(--v2-red);
  background:linear-gradient(160deg, #F8E9EB, #fff);
  border:1px solid rgba(178,34,34,.14);
  flex:0 0 auto;
}
.v2-page-app .v2-feat__ico svg{width:22px;height:22px}
.v2-page-app .v2-feat__ico--sm{
  width:40px;height:40px;border-radius:12px;margin-bottom:10px;
}
.v2-page-app .v2-feat__ico--sm svg{width:18px;height:18px}
.v2-page-app .v2-feat--rich h3{
  margin:0 0 8px;
  font-size:1.12rem;
  line-height:1.25;
}
.v2-page-app .v2-feat--rich p{
  margin:0 0 16px;
  color:var(--v2-muted);
  font-size:14.5px;
  line-height:1.55;
  flex:1;
}
.v2-page-app .v2-feat__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:auto;
  font-size:13.5px;
  font-weight:700;
  color:var(--v2-red);
  text-decoration:none;
  letter-spacing:.01em;
}
.v2-page-app .v2-feat__link::after{content:"→";transition:transform .2s ease}
.v2-page-app .v2-feat--rich:hover .v2-feat__link::after{transform:translateX(3px)}
.v2-page-app .v2-feat__link--muted{
  color:var(--v2-muted);
  font-weight:600;
}
.v2-page-app .v2-feat__link--muted::after{content:none}
.v2-page-app .v2-feat--soon{
  background:linear-gradient(180deg,#fff 0%,#FBF6F6 100%);
  border-style:dashed;
}
.v2-page-app .v2-feat--soon::before{
  background:repeating-linear-gradient(90deg, var(--v2-red) 0 10px, transparent 10px 16px);
  opacity:.55;
  height:2px;
}
.v2-page-app .v2-feat__badge{
  display:inline-block;
  margin:0;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(183,28,28,.08);
  color:var(--v2-red);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.v2-page-app .v2-dl--desktop{
  margin-top:22px;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:0;
  align-items:stretch;
  text-decoration:none;
  color:inherit;
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:16px;
  overflow:hidden;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.v2-page-app .v2-dl--desktop:hover{
  transform:translateY(-3px);
  border-color:rgba(178,34,34,.28);
  box-shadow:0 14px 30px rgba(31,31,31,.08);
}
.v2-page-app .v2-dl--desktop__media{
  background:#f3efed;
  min-height:180px;
}
.v2-page-app .v2-dl--desktop__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.v2-page-app .v2-dl--desktop__body{
  padding:28px 28px 24px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.v2-page-app .v2-dl--desktop__body h3{margin:0 0 8px;font-size:1.2rem}
.v2-page-app .v2-dl--desktop__body > p{margin:0 0 14px;color:var(--v2-muted);font-size:14.5px;line-height:1.55}
.v2-page-app .v2-dl__cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding:10px 16px;
  border-radius:8px;
  background:var(--v2-red);
  color:#fff;
  font-weight:700;
  font-size:14px;
}
.v2-page-app .v2-dl__cta::after{content:"→"}
.v2-page-app .v2-dl--desktop:hover .v2-dl__cta{background:var(--v2-red-dark)}
.v2-page-app .v2-dl__hint{
  margin:10px 0 0 !important;
  font-size:12.5px !important;
  color:#8a8a8a !important;
}
@media (max-width:900px){
  .v2-page-app .v2-feat-grid--app{grid-template-columns:1fr}
  .v2-page-app .v2-dl--desktop{grid-template-columns:1fr}
  .v2-page-app .v2-dl--desktop__media{min-height:160px;max-height:200px}
}


/* RB v2 single curso/producto */
.v2-page-single .v2-single-hero{
  padding:clamp(36px,6vw,72px) 0 clamp(28px,4vw,48px);
  background:linear-gradient(180deg,#fff 0%, var(--v2-blush) 100%);
}
.v2-page-single .v2-single-hero__grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  gap:clamp(24px,4vw,48px);
  align-items:center;
}
.v2-page-single .v2-single-hero__title{
  font-size:clamp(1.9rem,3.6vw,2.8rem);
  line-height:1.12;
  margin:0 0 14px;
  font-weight:800;
}
.v2-page-single .v2-single-price{
  display:inline-block;
  margin:0 0 14px;
  padding:8px 14px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(178,34,34,.18);
  color:var(--v2-red);
  font-weight:700;
  font-size:15px;
}
.v2-page-single .v2-single-note{
  margin:16px 0 0;
  color:var(--v2-muted);
  font-size:13.5px;
  line-height:1.5;
  max-width:36rem;
}
.v2-page-single .v2-single-hero__media{
  border-radius:18px;
  overflow:hidden;
  background:#eee;
  box-shadow:0 18px 40px rgba(0,0,0,.10);
  aspect-ratio:4/5;
}
.v2-page-single .v2-single-hero__media--square{aspect-ratio:1/1}
.v2-page-single .v2-single-hero__media img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.v2-page-single .v2-single-hero__placeholder{
  width:100%;height:100%;min-height:280px;
  background:linear-gradient(160deg,#F8E9EB,#fff);
}
.v2-page-single .v2-eyebrow a{color:inherit;text-decoration:none}
.v2-page-single .v2-eyebrow a:hover{color:var(--v2-red)}
.v2-page-single .v2-single-panel{
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:18px;
  padding:clamp(20px,3vw,34px);
  box-shadow:0 1px 0 rgba(31,31,31,.03);
}
.v2-page-single .v2-single-narrow{max-width:820px}
.v2-page-single .v2-single-back{margin-top:22px}
.v2-page-single .v2-single-back a{
  color:var(--v2-red);font-weight:700;text-decoration:none
}
.v2-page-single .v2-prose{
  color:var(--v2-ink);
  font-size:1.02rem;
  line-height:1.7;
}
.v2-page-single .v2-prose > *:first-child{margin-top:0}
.v2-page-single .v2-prose h2,
.v2-page-single .v2-prose h3,
.v2-page-single .v2-prose h4{
  margin:1.4em 0 .55em;
  line-height:1.25;
}
.v2-page-single .v2-prose p{margin:0 0 1em;color:#3a3a3a}
.v2-page-single .v2-prose ul,
.v2-page-single .v2-prose ol{margin:0 0 1.1em;padding-left:1.2em}
.v2-page-single .v2-prose li{margin:0 0 .45em}
.v2-page-single .v2-prose a{color:var(--v2-red)}
.v2-page-single .v2-tabs__nav{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 22px;
  padding-bottom:16px;
  border-bottom:1px solid var(--v2-line);
}
.v2-page-single .v2-tabs__btn{
  appearance:none;
  border:1px solid var(--v2-line);
  background:#fff;
  color:var(--v2-ink);
  border-radius:999px;
  padding:9px 14px;
  font:inherit;
  font-size:13.5px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.v2-page-single .v2-tabs__btn.is-active,
.v2-page-single .v2-tabs__btn:hover{
  background:var(--v2-red);
  border-color:var(--v2-red);
  color:#fff;
}
.v2-page-single .v2-tabs__panel[hidden]{display:none}
/* Prevent Astra default article chrome colliding */
.single-cursos #primary,
.category-productos.single-post #primary{
  margin:0;
}
.single-cursos .ast-article-single,
.category-productos.single-post .ast-article-single{
  background:transparent;
  padding:0;
  box-shadow:none;
  border:0;
}
.single-cursos .entry-header,
.category-productos.single-post .entry-header{display:none}
@media (max-width:900px){
  .v2-page-single .v2-single-hero__grid{grid-template-columns:1fr}
  .v2-page-single .v2-single-hero__media{
    order:-1;
    max-width:420px;
    margin:0 auto;
    width:100%;
  }
}


/* RB v2 product sections */
.v2-page-product .v2-product-sections{
  display:grid;
  gap:18px;
}
.v2-page-product .v2-product-section{
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:16px;
  padding:clamp(18px,2.6vw,28px);
  box-shadow:0 1px 0 rgba(31,31,31,.03);
  position:relative;
  overflow:hidden;
}
.v2-page-product .v2-product-section::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:linear-gradient(180deg, var(--v2-red), #d45a5a);
  opacity:.85;
}
.v2-page-product .v2-product-section__title{
  margin:0 0 12px;
  font-size:1.05rem;
  line-height:1.25;
  color:var(--v2-ink);
  letter-spacing:-.01em;
}
.v2-page-product .v2-product-section .v2-prose > *:first-child{margin-top:0}
.v2-page-product .v2-product-section .v2-prose > *:last-child{margin-bottom:0}
.v2-page-product .v2-product-section .v2-prose h4,
.v2-page-product .v2-product-section .v2-prose h3{
  display:none; /* already shown as section title */
}

/* =========================================================
   Actualidad hub
   ========================================================= */
.v2-page-actualidad .v2-kicker{
  margin:0 0 8px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--v2-red);
}
.v2-page-actualidad .v2-hub-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
  flex-wrap:wrap;
}
.v2-page-actualidad .v2-hub-head h2{
  margin:0 0 8px;
  font-size:clamp(1.45rem,2.4vw,1.9rem);
  line-height:1.2;
}
.v2-page-actualidad .v2-hub-head__lead{
  margin:0;
  color:var(--v2-muted);
  max-width:36rem;
}
.v2-hub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.v2-hub-card{
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:14px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height:100%;
  transition:transform .25s ease, box-shadow .25s ease;
}
.v2-hub-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(0,0,0,.07);
}
.v2-hub-card__media{
  position:relative;
  display:block;
  aspect-ratio:16/10;
  background:#FAF7F7;
  overflow:hidden;
}
.v2-hub-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.v2-hub-card__placeholder{
  display:block;
  width:100%;
  height:100%;
  background:linear-gradient(145deg,var(--v2-blush),#fff);
}
.v2-hub-card__badge{
  position:absolute;
  left:12px;
  top:12px;
  background:var(--v2-red);
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:6px 10px;
  border-radius:4px;
}
.v2-hub-card__badge--soft{
  background:#fff;
  color:var(--v2-red);
  border:1px solid var(--v2-red);
}
.v2-hub-card__body{
  padding:16px 18px 20px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}
.v2-hub-card__body time{
  font-size:12.5px;
  color:var(--v2-muted);
}
.v2-hub-card__body h3{
  margin:0;
  font-size:1.05rem;
  line-height:1.35;
}
.v2-hub-card__body h3 a{
  color:inherit;
  text-decoration:none;
}
.v2-hub-card__body h3 a:hover{color:var(--v2-red)}
.v2-hub-card__body p{
  margin:0;
  color:var(--v2-muted);
  font-size:14px;
  line-height:1.5;
}
.v2-hub-card__more{
  margin-top:auto;
  padding-top:8px;
  font-size:13.5px;
  font-weight:700;
  color:var(--v2-red);
  text-decoration:none;
}
.v2-hub-empty{
  color:var(--v2-muted);
  margin:0;
}
@media (max-width:980px){
  .v2-hub-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .v2-hub-grid{grid-template-columns:1fr}
  .v2-page-actualidad .v2-hub-head .v2-btn{width:100%}
}

/* Actualidad bleed hero */
.v2-hero--actualidad .v2-hero__bg img{
  object-position:center 35%;
}
.v2-hero--actualidad .v2-kicker{
  margin:0 0 12px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--v2-red);
}
.v2-hero--actualidad .v2-hero__title{
  max-width:16ch;
}
@media (max-width:900px){
  .v2-hero--actualidad .v2-hero__bg img{
    object-position:center 28%;
  }
}

/* =========================================================
   Archives + editorial singles
   ========================================================= */
.v2-page-archive .v2-archive-nav{
  margin-top:36px;
  display:flex;
  justify-content:center;
}
.v2-page-archive .v2-archive-nav .page-numbers,
.v2-page-archive .v2-archive-nav .nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:center;
}
.v2-page-archive .v2-archive-nav a.page-numbers,
.v2-page-archive .v2-archive-nav span.page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:40px;
  height:40px;
  padding:0 12px;
  border-radius:6px;
  border:1px solid var(--v2-line);
  background:#fff;
  color:var(--v2-ink);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}
.v2-page-archive .v2-archive-nav a.page-numbers:hover{
  border-color:var(--v2-red);
  color:var(--v2-red);
}
.v2-page-archive .v2-archive-nav span.page-numbers.current{
  background:var(--v2-red);
  border-color:var(--v2-red);
  color:#fff;
}

.v2-page-editorial .v2-single-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  color:var(--v2-muted);
  font-size:14px;
}
.v2-pill{
  display:inline-flex;
  align-items:center;
  padding:5px 10px;
  border-radius:4px;
  background:var(--v2-red);
  color:#fff;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.v2-page-editorial .v2-prose img{
  max-width:100%;
  height:auto;
  border-radius:10px;
}
.v2-page-editorial .v2-prose figure{
  margin:1.2em 0;
}
.v2-page-editorial .v2-single-hero__title{
  max-width:18ch;
}

/* Hide Astra/Elementor leftovers on themed archives if any leak */
body.post-type-archive-eventos .ast-archive-description,
body.post-type-archive-eventos #secondary,
body.page-id-35 #secondary{
  display:none!important;
}

body.post-type-archive-eventos.ast-separate-container .ast-container,
body.post-type-archive-eventos .site-content > .ast-container,
body.page-id-35 .site-content > .ast-container,
body.page-id-33 .site-content > .ast-container{
  max-width:100%;
  padding-left:0;
  padding-right:0;
}
body.post-type-archive-eventos #primary,
body.page-id-35 #primary,
body.page-id-33 #primary,
body.single-eventos #primary,
body.single-post #primary{
  margin:0;
  padding:0;
  width:100%;
}

/* =========================================================
   Homogeneous page-builder shell (Actualidad / Blog / Eventos / singles)
   ========================================================= */
body.ast-page-builder-template.page-id-33 #content.site-content,
body.ast-page-builder-template.page-id-35 #content.site-content,
body.post-type-archive-eventos #content.site-content,
body.single-eventos #content.site-content,
body.single-post #content.site-content,
body.ast-page-builder-template.page-id-33 .site-content > .ast-container,
body.ast-page-builder-template.page-id-35 .site-content > .ast-container,
body.post-type-archive-eventos .site-content > .ast-container,
body.single-eventos .site-content > .ast-container,
body.single-post .site-content > .ast-container{
  max-width:100%;
  width:100%;
  padding:0;
  margin:0;
}
body.page-id-33 #primary,
body.page-id-35 #primary,
body.post-type-archive-eventos #primary,
body.single-eventos #primary,
body.single-post #primary{
  margin:0;
  padding:0;
  width:100%;
  float:none;
}
body.post-type-archive-eventos.ast-separate-container #primary,
body.post-type-archive-eventos.ast-separate-container .ast-article-post{
  background:transparent;
  box-shadow:none;
  border:0;
  padding:0;
  margin:0;
}

/* Editorial sections — Elementor-like cards */
.v2-single-hero--editorial{
  background:linear-gradient(180deg,#FAF7F7 0%,#fff 70%);
  border-bottom:1px solid var(--v2-line);
}
.v2-editorial-lead,
.v2-page-editorial .v2-single-hero .v2-lead{
  font-size:1.08rem;
  color:var(--v2-muted);
  margin:0 0 8px;
}
.v2-editorial-sections{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.v2-editorial-section{
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:14px;
  padding:clamp(20px,3vw,28px) clamp(18px,3vw,26px);
  position:relative;
  overflow:hidden;
}
.v2-editorial-section::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:4px;
  background:var(--v2-red);
  border-radius:14px 0 0 14px;
}
.v2-editorial-section__title{
  margin:0 0 12px;
  font-size:clamp(1.15rem,2vw,1.35rem);
  line-height:1.3;
  font-weight:800;
}
.v2-editorial-section .v2-prose{
  max-width:none;
  margin:0;
}
.v2-editorial-section .v2-prose h4{
  margin:1.1em 0 .45em;
  font-size:1.02rem;
  color:var(--v2-red);
}
.v2-editorial-figure{
  margin:1em 0;
  border-radius:12px;
  overflow:hidden;
  background:#FAF7F7;
}
.v2-editorial-figure img{
  display:block;
  width:100%;
  height:auto;
}
.v2-editorial-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:1em 0;
}
.v2-editorial-gallery .v2-editorial-figure{margin:0}
@media (max-width:720px){
  .v2-editorial-gallery{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){
  .v2-editorial-gallery{grid-template-columns:1fr}
}

/* =========================================================
   Elementor — Ficha Evento v2
   ========================================================= */
body.single-eventos .elementor-location-single .elementor-section.v2-el-event-hero > .elementor-container{
  max-width:var(--v2-max);
  margin:0 auto;
  padding:0 clamp(16px,4vw,28px);
  align-items:center;
  gap:clamp(20px,3vw,36px);
}
body.single-eventos .v2-el-event-hero{
  background:linear-gradient(180deg,#FAF7F7 0%,#fff 72%);
  border-bottom:1px solid var(--v2-line);
}
body.single-eventos .v2-el-event-copy{margin-bottom:8px}
body.single-eventos .v2-el-event-hero .elementor-heading-title,
body.single-eventos .v2-el-event-hero .v2-single-hero__title,
body.single-eventos .v2-el-event-hero h1{
  font-size:clamp(1.8rem,3.4vw,2.7rem)!important;
  line-height:1.15!important;
  font-weight:800!important;
  margin:0 0 18px!important;
  color:var(--v2-ink)!important;
}
body.single-eventos .v2-el-event-btns{margin-top:8px}
body.single-eventos .v2-el-event-thumb img,
body.single-eventos .v2-el-event-thumb .elementor-widget-container img{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:14px;
  box-shadow:0 16px 36px rgba(0,0,0,.08);
  display:block;
}
body.single-eventos .v2-el-event-body{
  background:#FAF7F7!important;
}
body.single-eventos .v2-el-event-body > .elementor-container{
  max-width:var(--v2-max);
}
body.single-eventos .v2-el-event-content .v2-editorial-sections{
  margin-top:0;
}
body.single-eventos .v2-el-event-cta-wrap{
  padding:0!important;
}
body.single-eventos .v2-el-event-cta{
  margin:0;
}
body.single-eventos .v2-el-event-cta .v2-cta__grid{
  padding:clamp(36px,5vw,56px) clamp(16px,4vw,28px);
}
body.single-eventos #primary,
body.single-eventos .site-content > .ast-container{
  margin:0;
  padding:0;
  max-width:100%;
  width:100%;
}
@media (max-width:900px){
  body.single-eventos .elementor-location-single .elementor-section.v2-el-event-hero > .elementor-container{
    flex-direction:column;
  }
}

/* Actualidad/Blog/Eventos archive: full-bleed shell like Elementor pages */
body.page-id-33 .site-content,
body.page-id-35 .site-content,
body.post-type-archive-eventos .site-content{
  padding:0 !important;
  margin:0 !important;
}
body.page-id-33 .site-content > .ast-container,
body.page-id-35 .site-content > .ast-container,
body.post-type-archive-eventos .site-content > .ast-container{
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
body.page-id-33 #primary,
body.page-id-35 #primary,
body.post-type-archive-eventos #primary,
body.page-id-33 .v2-page-actualidad,
body.page-id-35 .v2-page-blog,
body.post-type-archive-eventos .v2-page-eventos{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}
body.page-id-33 .v2-page-actualidad .v2-section > .v2-wrap,
body.page-id-35 .v2-page-blog .v2-section > .v2-wrap,
body.post-type-archive-eventos .v2-page-eventos .v2-section > .v2-wrap{
  max-width:var(--v2-max);
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(16px,4vw,28px);
  padding-right:clamp(16px,4vw,28px);
  box-sizing:border-box;
}
body.page-id-33 .v2-hero--actualidad .v2-hero__content,
body.page-id-35 .v2-hero--actualidad .v2-hero__content,
body.post-type-archive-eventos .v2-hero--actualidad .v2-hero__content{
  margin-left:max(0px, calc((100% - var(--v2-max)) / 2)) !important;
  padding-left:clamp(16px,4vw,28px);
  padding-right:clamp(16px,4vw,28px);
  box-sizing:border-box;
}

/* =========================================================
   Elementor fichas v2 (noticia / artículo / producto / curso / evento)
   ========================================================= */
body.single .elementor-location-single .elementor-section.v2-el-ficha-hero > .elementor-container,
body.single-eventos .elementor-location-single .elementor-section.v2-el-event-hero > .elementor-container{
  max-width:var(--v2-max);
  margin:0 auto;
  padding:0 clamp(16px,4vw,28px);
  align-items:center;
  gap:clamp(20px,3vw,36px);
}
.v2-el-ficha-hero,
.v2-el-event-hero{
  background:linear-gradient(180deg,#FAF7F7 0%,#fff 72%);
  border-bottom:1px solid var(--v2-line);
}
.v2-el-ficha-copy{margin-bottom:8px}
.v2-el-ficha-hero .elementor-heading-title,
.v2-el-ficha-hero h1,
.v2-el-event-hero .elementor-heading-title,
.v2-el-event-hero h1{
  font-size:clamp(1.8rem,3.4vw,2.7rem)!important;
  line-height:1.15!important;
  font-weight:800!important;
  margin:0 0 18px!important;
  color:var(--v2-ink)!important;
}
.v2-el-ficha-thumb img,
.v2-el-event-thumb img,
.v2-el-ficha-thumb .elementor-widget-container img,
.v2-el-event-thumb .elementor-widget-container img{
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:14px;
  box-shadow:0 16px 36px rgba(0,0,0,.08);
  display:block;
}
.v2-el-ficha--producto .v2-el-ficha-thumb img{
  aspect-ratio:1/1;
  object-fit:contain;
  background:#FAF7F7;
  padding:18px;
}
.v2-el-ficha-body{background:#FAF7F7!important}
.v2-el-ficha-body > .elementor-container{max-width:var(--v2-max)}
.v2-el-ficha-cta-wrap{padding:0!important}
.v2-pill--soft{
  background:#fff;
  color:var(--v2-red);
  border:1px solid var(--v2-red);
}
body.single-cursos #primary,
body.single-post #primary,
body.single-eventos #primary,
body.single-cursos .site-content > .ast-container,
body.single-post .site-content > .ast-container,
body.single-eventos .site-content > .ast-container{
  margin:0;
  padding:0;
  max-width:100%;
  width:100%;
}
@media (max-width:900px){
  body.single .elementor-location-single .elementor-section.v2-el-ficha-hero > .elementor-container,
  body.single-eventos .elementor-location-single .elementor-section.v2-el-event-hero > .elementor-container{
    flex-direction:column;
  }
}

/* =========================================================
   Fichas Elementor v3 — designed covers & story blocks
   ========================================================= */

.elementor-location-single .elementor-section.v2-el-cover-sec,
.elementor-location-single .elementor-section.v2-el-facts-sec,
.elementor-location-single .elementor-section.v2-el-story-sec,
.elementor-location-single .elementor-section.v2-el-cta-sec{
  margin:0 !important;
}
.elementor-location-single .elementor-section.v2-el-cover-sec > .elementor-container,
.elementor-location-single .elementor-section.v2-el-facts-sec > .elementor-container,
.elementor-location-single .elementor-section.v2-el-story-sec > .elementor-container,
.elementor-location-single .elementor-section.v2-el-cta-sec > .elementor-container{
  max-width:100% !important;
  width:100% !important;
  padding:0 !important;
}
.elementor-location-single .v2-el-cover-sec .elementor-widget-html,
.elementor-location-single .v2-el-facts-sec .elementor-widget-html,
.elementor-location-single .v2-el-story-sec .elementor-widget-html,
.elementor-location-single .v2-el-cta-sec .elementor-widget-html{
  margin:0 !important;
}
.elementor-location-single .v2-el-cover-sec .elementor-widget-container,
.elementor-location-single .v2-el-facts-sec .elementor-widget-container,
.elementor-location-single .v2-el-story-sec .elementor-widget-container,
.elementor-location-single .v2-el-cta-sec .elementor-widget-container{
  padding:0 !important;
}

/* ---- Cover (mismo patrón bleed: texto izq. / foto dcha.) ---- */
.v2-cover{
  position:relative;
  min-height:clamp(420px,58vh,560px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:var(--v2-ink);
  overflow:hidden;
  background:#fff;
}
.v2-cover__media{
  position:absolute;
  top:0;right:0;bottom:0;left:42%;
  z-index:0;
}
.v2-cover__media img{
  width:100%;height:100%;
  object-fit:cover;object-position:center center;
  display:block;transform:none;filter:none;
}
.v2-cover__veil{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,
    #ffffff 0%,#ffffff 40%,rgba(255,255,255,.97) 46%,
    rgba(255,255,255,.72) 54%,rgba(255,255,255,.28) 64%,rgba(255,255,255,0) 76%);
}
.v2-cover.no-media .v2-cover__veil{
  background:linear-gradient(160deg,#fff 0%,var(--v2-soft) 55%,#fff 100%);
}
.v2-cover.no-media .v2-cover__media{display:none}
.v2-cover__inner{
  position:relative;z-index:2;
  max-width:540px;width:100%;box-sizing:border-box;
  margin-left:max(16px, calc((100% - var(--v2-max)) / 2 + 8px));
  margin-right:auto;
  padding:clamp(40px,6vw,72px) clamp(16px,4vw,28px);
  text-shadow:none;
}
.v2-cover__eyebrow{
  margin:0 0 14px;font-size:13px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--v2-muted);
}
.v2-cover__eyebrow a{color:inherit !important;text-decoration:none !important}
.v2-cover__eyebrow a:hover{color:var(--v2-red) !important}
.v2-cover__dot{opacity:.55;margin:0 .35em}
.v2-cover__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 18px}
.v2-cover__pill{
  display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;
  background:var(--v2-red);color:#fff;font-size:12px;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;
}
.v2-cover__date,.v2-cover__price{font-size:14px;font-weight:600;color:var(--v2-muted)}
.v2-cover__price{
  padding:6px 12px;border-radius:999px;border:1px solid var(--v2-line);
  background:var(--v2-soft);color:var(--v2-ink);
}
.v2-cover__title{
  margin:0 0 14px;font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.08;
  font-weight:800;letter-spacing:-.02em;color:var(--v2-ink);max-width:16ch;text-wrap:balance;
}
.v2-cover__kicker{
  margin:0 0 26px;font-size:clamp(1.05rem,1.8vw,1.2rem);font-weight:600;color:#3a3a3a;max-width:34rem;
}
.v2-cover__actions{display:flex;flex-wrap:wrap;gap:12px}
.v2-cover__wave{position:relative;z-index:3;line-height:0;margin-top:auto}
.v2-cover__wave svg{display:block;width:100%;height:clamp(36px,4.5vw,70px)}
@media (max-width:1024px){
  .v2-cover__media{left:32%}
  .v2-cover{min-height:clamp(400px,54vh,520px)}
}
@media (max-width:900px){
  .v2-cover{min-height:auto;justify-content:flex-start;background:#fff}
  .v2-cover__media{
    position:relative;inset:auto;left:auto;right:auto;width:100%;
    height:auto;aspect-ratio:16/10;flex-shrink:0;
  }
  .v2-cover__veil{display:none}
  .v2-cover__inner{
    margin-left:0;margin-right:0;max-width:100%;
    padding:clamp(28px,6vw,40px) clamp(16px,4vw,28px) clamp(24px,6vw,40px);background:#fff;
  }
  .v2-cover__title{max-width:none}
  .v2-cover__wave{margin-top:0}
}

/* ---- Facts ---- */
.v2-facts{
  position:relative;
  z-index:4;
  margin:-42px auto 0;
  width:min(var(--v2-max), calc(100% - 2 * clamp(16px,4vw,28px)));
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:16px;
  box-shadow:0 18px 40px rgba(31,31,31,.08);
  padding:4px;
}
.v2-facts__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
}
.v2-facts__item{
  padding:18px 20px;
  display:flex;
  flex-direction:column;
  gap:6px;
  border-right:1px solid var(--v2-line);
}
.v2-facts__item:last-child{border-right:0}
.v2-facts__label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--v2-red);
}
.v2-facts__value{
  font-size:15px;
  font-weight:700;
  color:var(--v2-ink);
  line-height:1.35;
}

/* ---- Story ---- */
.v2-el-story-sec{
  background:var(--v2-soft) !important;
}
.v2-story{
  width:min(var(--v2-max), calc(100% - 2 * clamp(16px,4vw,28px)));
  margin:0 auto;
  padding:clamp(40px,5.5vw,72px) 0 clamp(36px,5vw,56px);
}
.v2-story__lede{
  margin:0 0 28px;
  font-size:clamp(1.15rem,2vw,1.35rem);
  line-height:1.55;
  color:var(--v2-ink);
  font-weight:600;
  max-width:40rem;
  padding-bottom:22px;
  border-bottom:1px solid var(--v2-line);
}
.v2-story__block{
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:18px;
  padding:clamp(22px,3vw,34px);
  margin:0 0 18px;
  box-shadow:0 1px 0 rgba(31,31,31,.03);
  position:relative;
  overflow:hidden;
}
.v2-story__block--lead,
.v2-story__block--story{
  border-left:4px solid var(--v2-red);
}
.v2-story__block--place{
  background:linear-gradient(135deg,#fff 0%, var(--v2-blush) 100%);
}
.v2-story__block--checklist{
  background:#fff;
}
.v2-story__block--schedule{
  padding-bottom:12px;
}
.v2-story__block--price{
  background:linear-gradient(135deg, #fff 0%, #F8F1F1 100%);
  border-color:rgba(178,34,34,.22);
}
.v2-story__block--person{
  background:#fff;
}
.v2-story__title{
  margin:0 0 14px;
  font-size:clamp(1.25rem,2.2vw,1.55rem);
  line-height:1.2;
  font-weight:800;
  color:var(--v2-ink);
}
.v2-story__back{
  margin:22px 0 0;
}
.v2-story__back a{
  color:var(--v2-muted);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}
.v2-story__back a:hover{color:var(--v2-red)}

.v2-story .v2-prose{
  color:var(--v2-muted);
  font-size:15.5px;
  line-height:1.7;
}
.v2-story .v2-prose p{margin:0 0 12px}
.v2-story .v2-prose p:last-child{margin-bottom:0}
.v2-story .v2-prose img,
.v2-story .v2-prose figure img{
  border-radius:12px;
  display:block;
  max-width:100%;
  height:auto;
}
.v2-story .v2-prose figure{margin:18px 0 0}
.v2-story__media{margin-top:18px}
.v2-story__media img{
  width:100%;
  border-radius:12px;
  display:block;
}

/* Checklist grid */
.v2-checkgrid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.v2-checkgrid__item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  background:var(--v2-soft);
  border-radius:12px;
  padding:14px 16px;
  border:1px solid var(--v2-line);
}
.v2-checkgrid__mark{
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--v2-red);
  position:relative;
  margin-top:1px;
}
.v2-checkgrid__mark::after{
  content:"";
  position:absolute;
  left:7px;top:4px;
  width:6px;height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.v2-checkgrid__text{
  font-size:14.5px;
  line-height:1.45;
  color:var(--v2-ink);
  font-weight:600;
}
.v2-checkgrid__text strong{font-weight:800}

/* Schedule */
.v2-schedule{display:flex;flex-direction:column;gap:14px}
.v2-schedule__day{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:16px;
  align-items:start;
  padding:14px 0;
  border-top:1px solid var(--v2-line);
}
.v2-schedule__day:first-child{border-top:0;padding-top:0}
.v2-schedule__label{
  font-weight:800;
  color:var(--v2-red);
  font-size:14px;
  letter-spacing:.02em;
  padding-top:4px;
}
.v2-schedule__body ul{margin:0;padding-left:1.1em}
.v2-schedule__body li{margin:0 0 6px}

/* Price band */
.v2-priceband{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:20px;
  align-items:start;
}
.v2-priceband__amount{
  background:var(--v2-red);
  color:#fff;
  border-radius:14px;
  padding:18px 16px;
  text-align:center;
}
.v2-priceband__amount span{
  display:block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.85;
  margin-bottom:6px;
}
.v2-priceband__amount strong{
  font-size:1.7rem;
  font-weight:800;
  line-height:1;
}

/* Person */
.v2-person{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:18px;
  align-items:start;
}
.v2-person__avatar{
  width:72px;height:72px;
  border-radius:50%;
  background:linear-gradient(145deg, var(--v2-red), #8E1A1A);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-size:1.6rem;
  font-weight:800;
}
.v2-person__name{margin:0 0 4px;font-size:1.2rem;font-weight:800}
.v2-person__role{margin:0 0 10px;color:var(--v2-red);font-weight:700;font-size:14px}
.v2-person__bio{margin:0;color:var(--v2-muted);font-size:14.5px;line-height:1.6}

.v2-cta--ficha{margin:0 !important}

.v2-single-panel--tabs{
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:18px;
  padding:clamp(18px,3vw,28px);
}

@media (max-width:900px){
  .v2-cover{min-height:clamp(380px,70vh,560px)}
  .v2-cover__title{max-width:none}
  .v2-facts{margin-top:-28px}
  .v2-facts__grid{grid-template-columns:1fr 1fr}
  .v2-facts__item:nth-child(2n){border-right:0}
  .v2-facts__item:nth-child(n+3){border-top:1px solid var(--v2-line)}
  .v2-checkgrid{grid-template-columns:1fr}
  .v2-schedule__day{grid-template-columns:1fr;gap:6px}
  .v2-priceband{grid-template-columns:1fr}
  .v2-person{grid-template-columns:56px 1fr}
  .v2-person__avatar{width:56px;height:56px;font-size:1.3rem}
}
@media (max-width:560px){
  .v2-facts__grid{grid-template-columns:1fr}
  .v2-facts__item{border-right:0;border-top:1px solid var(--v2-line)}
  .v2-facts__item:first-child{border-top:0}
}

.v2-story__block--reserve{
  background:var(--v2-red);
  border-color:var(--v2-red);
  color:#fff;
}
.v2-story__block--reserve .v2-story__title{color:#fff}
.v2-story__block--reserve .v2-reserve,
.v2-story__block--reserve .v2-prose,
.v2-story__block--reserve .v2-prose p,
.v2-story__block--reserve .v2-prose li,
.v2-story__block--reserve .v2-prose strong{
  color:#fff !important;
}
.v2-story__block--reserve a{color:#fff !important;text-decoration:underline}

/* Ficha body width boost */
.v2-story__lede{
  font-size:clamp(1.25rem,2.1vw,1.55rem);
  line-height:1.5;
  max-width:52rem;
  margin:0 0 32px;
  padding-bottom:26px;
}
.v2-story__block{
  padding:clamp(26px,3.2vw,40px) clamp(24px,3vw,40px);
  margin:0 0 22px;
  border-radius:20px;
}
.v2-story__title{
  font-size:clamp(1.35rem,2.4vw,1.75rem);
}
.v2-story .v2-prose{
  font-size:clamp(16px,1.15vw,18px);
  line-height:1.75;
  color:#3f3f3f;
  max-width:none;
}
.v2-checkgrid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.v2-checkgrid__item{
  padding:16px 18px;
  min-height:76px;
}
.v2-checkgrid__text{font-size:15.5px}
.v2-schedule__day{
  grid-template-columns:180px 1fr;
  gap:24px;
  padding:18px 0;
}
.v2-priceband{
  grid-template-columns:220px 1fr;
  gap:28px;
}
.v2-priceband__amount{
  padding:28px 20px;
}
.v2-priceband__amount strong{font-size:2rem}
.v2-person{
  grid-template-columns:88px 1fr;
  gap:22px;
}
.v2-person__avatar{width:88px;height:88px;font-size:1.85rem}
.v2-person__bio{font-size:16px;line-height:1.65;max-width:48rem}

@media (min-width:961px){
  .v2-story__block--story,
  .v2-story__block--place,
  .v2-story__block--person,
  .v2-story__block--reserve,
  .v2-story__block--checklist,
  .v2-story__block--schedule,
  .v2-story__block--price{
    display:grid;
    grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);
    column-gap:clamp(28px,4vw,48px);
    align-items:start;
  }
  .v2-story__block--story .v2-story__title,
  .v2-story__block--place .v2-story__title,
  .v2-story__block--person .v2-story__title,
  .v2-story__block--reserve .v2-story__title,
  .v2-story__block--checklist .v2-story__title,
  .v2-story__block--schedule .v2-story__title,
  .v2-story__block--price .v2-story__title{
    margin:0;
    position:sticky;
    top:96px;
    padding-right:8px;
  }
  .v2-story__block--person .v2-person{
    grid-column:2;
  }
}

@media (min-width:1100px){
  .v2-story .v2-prose figure img,
  .v2-story__media img{
    width:100%;
    max-height:420px;
    object-fit:cover;
  }
}

@media (max-width:900px){
  .v2-checkgrid{grid-template-columns:1fr}
  .v2-schedule__day{grid-template-columns:1fr;gap:6px}
  .v2-priceband{grid-template-columns:1fr}
}


/* ficha story full rail — kill leftover narrow prose width */
.elementor-location-single .v2-story,
.v2-story.v2-story--evento,
.v2-story.v2-story--noticia,
.v2-story.v2-story--articulo,
.v2-story.v2-story--producto,
.v2-story.v2-story--curso{
  max-width:none !important;
  width:min(var(--v2-max), calc(100% - 2 * clamp(16px,4vw,28px))) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.elementor-location-single .v2-story .v2-prose,
.v2-story .v2-prose{
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
  width:100% !important;
}
.elementor-location-single .v2-facts{
  width:min(var(--v2-max), calc(100% - 2 * clamp(16px,4vw,28px))) !important;
}

/* Home hero full-bleed shell */
body.home.page-id-10 .site-content,
body.page-id-10 .site-content{
  padding:0 !important;
  margin:0 !important;
}
body.home.page-id-10 .site-content > .ast-container,
body.page-id-10 .site-content > .ast-container,
body.home.page-id-10 #content.site-content,
body.page-id-10 #content.site-content{
  max-width:none !important;
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
}
body.home.page-id-10 #primary,
body.page-id-10 #primary,
body.home.page-id-10 .content-area,
body.page-id-10 .entry-content,
body.page-id-10 .elementor-10{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
}
body.page-id-10 .v2-home{
  width:100%;
  max-width:none;
  overflow:clip;
}

/* Home hero: image to the true right edge, more presence */
body.page-id-10 .v2-hero--bleed{
  min-height:clamp(480px,72vh,720px);
  width:100%;
  max-width:none;
}
body.page-id-10 .v2-hero--bleed .v2-hero__bg{
  left:32%;
  right:0;
  width:auto;
}
body.page-id-10 .v2-hero--bleed .v2-hero__bg img{
  object-position:62% center;
  width:100%;
  height:100%;
}
body.page-id-10 .v2-hero--bleed .v2-hero__veil{
  background:linear-gradient(90deg,
    #ffffff 0%,
    #ffffff 34%,
    rgba(255,255,255,.96) 42%,
    rgba(255,255,255,.7) 52%,
    rgba(255,255,255,.25) 64%,
    rgba(255,255,255,0) 76%);
}
body.page-id-10 .v2-hero--bleed .v2-hero__content{
  max-width:560px;
  margin-left:max(16px, calc((100vw - var(--v2-max)) / 2));
}
@media (max-width:1024px){
  body.page-id-10 .v2-hero--bleed .v2-hero__bg{left:28%}
}
@media (max-width:900px){
  body.page-id-10 .v2-hero--bleed{
    width:100%;
    max-width:none;
    margin-left:0;
    margin-right:0;
    min-height:auto;
  }
  body.page-id-10 .v2-hero--bleed .v2-hero__bg{
    position:relative;
    left:auto;
    right:auto;
    width:100%;
    inset:auto;
  }
  body.page-id-10 .v2-hero--bleed .v2-hero__bg img{
    object-position:62% center;
  }
  body.page-id-10 .v2-hero--bleed .v2-hero__veil{
    display:none;
  }
  body.page-id-10 .v2-hero--bleed .v2-hero__content{
    margin-left:0;
    max-width:100%;
    background:#fff;
  }
}

/* =========================================================
   Ficha polish — air, media, motion
   ========================================================= */

/* Cover motion */
.v2-cover.has-media .v2-cover__img{
  animation: v2CoverDrift 18s ease-in-out infinite alternate;
  will-change: transform;
}
@keyframes v2CoverDrift{
  from{transform:scale(1.02) translate3d(0,0,0)}
  to{transform:scale(1.08) translate3d(-1.5%,1%,0)}
}
@media (prefers-reduced-motion:reduce){
  .v2-cover.has-media .v2-cover__img{animation:none}
}
.v2-cover__inner > *{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .7s ease, transform .7s ease;
}
.v2-cover.is-in .v2-cover__inner > *{opacity:1;transform:none}
.v2-cover.is-in .v2-cover__eyebrow{transition-delay:.05s}
.v2-cover.is-in .v2-cover__meta{transition-delay:.12s}
.v2-cover.is-in .v2-cover__title{transition-delay:.2s}
.v2-cover.is-in .v2-cover__kicker{transition-delay:.28s}
.v2-cover.is-in .v2-cover__actions{transition-delay:.36s}

/* Airy story shell */
.v2-story--airy{
  padding-top:clamp(28px,4vw,48px);
}
.v2-story--airy .v2-story__intro{
  margin:0 0 clamp(28px,4vw,48px);
  padding:0 0 clamp(22px,3vw,36px);
  border-bottom:1px solid var(--v2-line);
}
.v2-story--airy .v2-story__lede{
  margin:0;
  font-size:clamp(1.35rem,2.4vw,1.75rem);
  line-height:1.45;
  font-weight:650;
  color:var(--v2-ink);
  max-width:40rem;
  border:0;
  padding:0;
}

/* Featured mosaic */
.v2-story__featured{
  margin:0 0 clamp(28px,4vw,44px);
}
.v2-media--feature{
  display:grid;
  grid-template-columns:1.4fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:14px;
  min-height:clamp(260px,36vw,420px);
}
.v2-media--feature .v2-media__item{
  overflow:hidden;
  border-radius:18px;
  background:#e8e4e2;
}
.v2-media--feature .v2-media__item.is-hero{
  grid-row:1 / span 2;
}
.v2-media--feature .v2-media__item img,
.v2-media--feature .v2-media__item figure,
.v2-media--feature .v2-media__item figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  margin:0;
}
.v2-media--feature .v2-media__item:only-child{
  grid-column:1 / -1;
  grid-row:1 / -1;
}
.v2-media--feature .v2-media__item:first-child:nth-last-child(2),
.v2-media--feature .v2-media__item:first-child:nth-last-child(2) ~ .v2-media__item{
  grid-row:auto;
}
.v2-media--feature .v2-media__item:first-child:nth-last-child(2){
  grid-row:1 / span 2;
}

/* Blocks — less boxy, more editorial */
.v2-story--airy .v2-story__block{
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
  padding:clamp(28px,4vw,48px) 0;
  margin:0;
  border-bottom:1px solid rgba(232,228,226,.9);
  overflow:visible;
}
.v2-story--airy .v2-story__block--lead,
.v2-story--airy .v2-story__block--story,
.v2-story--airy .v2-story__block--place{
  border-left:0;
}
.v2-story--airy .v2-story__block.has-media{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px,4vw,56px);
  align-items:center;
}
.v2-story--airy .v2-story__block.has-media.is-flip{
  direction:rtl;
}
.v2-story--airy .v2-story__block.has-media.is-flip > *{
  direction:ltr;
}

.v2-story__num{
  margin:0 0 10px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--v2-red);
}
.v2-story--airy .v2-story__title{
  margin:0 0 18px;
  font-size:clamp(1.55rem,2.8vw,2.15rem);
  line-height:1.15;
  letter-spacing:-.02em;
  max-width:min(36rem, 100%);
}

/* Soft panels for special blocks */
.v2-story--airy .v2-story__block--checklist .v2-story__copy,
.v2-story--airy .v2-story__block--schedule .v2-story__copy,
.v2-story--airy .v2-story__block--price .v2-story__copy,
.v2-story--airy .v2-story__block--person .v2-story__copy{
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:22px;
  padding:clamp(24px,3vw,36px);
  box-shadow:0 12px 36px rgba(31,31,31,.04);
}
.v2-story--airy .v2-story__block--reserve .v2-story__copy{
  background:var(--v2-red);
  border-radius:22px;
  padding:clamp(28px,3.5vw,40px);
  box-shadow:0 18px 40px rgba(178,34,34,.22);
}
.v2-story--airy .v2-story__block--reserve{
  border-bottom:0;
  padding-bottom:clamp(36px,5vw,56px);
}
.v2-story--airy .v2-story__block--reserve .v2-story__num,
.v2-story--airy .v2-story__block--reserve .v2-story__title,
.v2-story--airy .v2-story__block--reserve .v2-reserve,
.v2-story--airy .v2-story__block--reserve .v2-prose,
.v2-story--airy .v2-story__block--reserve a{
  color:#fff !important;
}

/* Kill old sticky title grid on airy */
@media (min-width:961px){
  .v2-story--airy .v2-story__block--story:not(.has-media),
  .v2-story--airy .v2-story__block--place:not(.has-media),
  .v2-story--airy .v2-story__block--person,
  .v2-story--airy .v2-story__block--reserve,
  .v2-story--airy .v2-story__block--checklist,
  .v2-story--airy .v2-story__block--schedule,
  .v2-story--airy .v2-story__block--price{
    display:block;
    grid-template-columns:none;
  }
  .v2-story--airy .v2-story__title{
    position:static;
  }
}

/* Media treatments */
.v2-media--side .v2-media__item,
.v2-media--wide .v2-media__item{
  overflow:hidden;
  border-radius:20px;
  background:#ece7e5;
}
.v2-media--side .v2-media__item img,
.v2-media--side .v2-media__item figure img,
.v2-media--wide .v2-media__item img,
.v2-media--wide .v2-media__item figure img{
  width:100%;
  height:100%;
  max-height:none;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
  margin:0;
  transition:transform .8s cubic-bezier(.2,.7,.2,1);
}
.v2-media--wide .v2-media__item img,
.v2-media--wide .v2-media__item figure img{
  aspect-ratio:16/10;
}
.v2-media--side:hover .v2-media__item img,
.v2-media--wide:hover .v2-media__item img,
.v2-media--feature:hover .v2-media__item.is-hero img{
  transform:scale(1.04);
}
.v2-media--multi.v2-media--side,
.v2-media--multi.v2-media--wide{
  display:grid;
  gap:12px;
}
.v2-media--multi.v2-media--side{
  grid-template-columns:1fr 1fr;
}
.v2-media--multi.v2-media--side .v2-media__item.is-hero{
  grid-column:1 / -1;
}
.v2-media--multi.v2-media--side .v2-media__item.is-hero img{
  aspect-ratio:16/10;
}
.v2-media--wide{margin-top:22px}

.v2-story--airy .v2-prose{
  font-size:clamp(16.5px,1.2vw,18.5px);
  line-height:1.75;
  color:#454545;
}
.v2-story--airy .v2-prose p{margin:0 0 1em}
.v2-story--airy .v2-prose p:last-child{margin-bottom:0}

/* Checklist air */
.v2-story--airy .v2-checkgrid{
  gap:16px;
  margin-top:8px;
}
.v2-story--airy .v2-checkgrid__item{
  padding:18px 18px;
  border-radius:14px;
  transition:transform .35s ease, box-shadow .35s ease;
}
.v2-story--airy .v2-checkgrid__item:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(31,31,31,.06);
}

/* Schedule cards */
.v2-story--airy .v2-schedule__day{
  background:var(--v2-soft);
  border:1px solid var(--v2-line);
  border-radius:14px;
  padding:16px 18px;
  margin:0 0 12px;
  border-top:0;
}
.v2-story--airy .v2-schedule__day:first-child{padding-top:16px}

/* Person photo */
.v2-person--photo{
  grid-template-columns:minmax(140px,200px) 1fr;
  gap:24px;
  align-items:center;
}
.v2-person__photo{
  overflow:hidden;
  border-radius:18px;
  aspect-ratio:1/1;
  background:#eee;
}
.v2-person__photo img,
.v2-person__photo figure,
.v2-person__photo figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  margin:0;
}

/* Facts float with more air */
.v2-facts{
  margin-top:-48px;
  margin-bottom:8px;
}
.v2-facts__item{
  transition:background .3s ease;
}
.v2-facts__item:hover{background:var(--v2-blush)}

/* Reveals */
.v2-story--airy .rb-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .75s cubic-bezier(.2,.7,.2,1), transform .75s cubic-bezier(.2,.7,.2,1);
}
.v2-story--airy .rb-reveal.is-in{
  opacity:1;
  transform:none;
}
.v2-story--airy .rb-reveal--d1{transition-delay:.06s}
.v2-story--airy .rb-reveal--d2{transition-delay:.12s}
.v2-story--airy .rb-reveal--d3{transition-delay:.18s}
@media (prefers-reduced-motion:reduce){
  .v2-story--airy .rb-reveal{opacity:1;transform:none;transition:none}
}

@media (max-width:900px){
  .v2-media--feature{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    min-height:0;
  }
  .v2-media--feature .v2-media__item.is-hero{
    grid-column:1 / -1;
    grid-row:auto;
    min-height:220px;
  }
  .v2-media--feature .v2-media__item{min-height:140px}
  .v2-story--airy .v2-story__block.has-media{
    grid-template-columns:1fr;
    gap:20px;
  }
  .v2-story--airy .v2-story__block.has-media.is-flip{direction:ltr}
  .v2-story--airy .v2-story__title{max-width:none}
  .v2-person--photo{grid-template-columns:120px 1fr}
  .v2-media--side .v2-media__item img{aspect-ratio:16/11}
}


/* Agenda / programación */
.v2-agenda{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:8px;
}
.v2-agenda__day{
  background:var(--v2-soft);
  border:1px solid var(--v2-line);
  border-radius:18px;
  padding:18px 16px 12px;
  min-height:100%;
}
.v2-agenda__head{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin:0 0 14px;
  padding:0 4px 14px;
  border-bottom:1px solid var(--v2-line);
}
.v2-agenda__badge{
  display:inline-flex;
  align-self:flex-start;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(178,34,34,.1);
  color:var(--v2-red);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.v2-agenda__date{
  margin:0;
  font-size:1.15rem;
  font-weight:800;
  letter-spacing:-.01em;
  color:var(--v2-ink);
}
.v2-agenda__list{
  list-style:none;
  margin:0;
  padding:0;
  position:relative;
}
.v2-agenda__row{
  display:grid;
  grid-template-columns:52px 14px 1fr;
  gap:8px;
  align-items:start;
  padding:10px 4px;
  position:relative;
}
.v2-agenda__row:not(:last-child)::before{
  content:"";
  position:absolute;
  left:calc(52px + 6px);
  top:22px;
  bottom:-2px;
  width:2px;
  background:var(--v2-line);
}
.v2-agenda__time{
  font-size:12.5px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  color:var(--v2-ink);
  padding-top:1px;
  letter-spacing:.01em;
}
.v2-agenda__time--empty{visibility:hidden}
.v2-agenda__dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background:#fff;
  border:2px solid var(--v2-red);
  margin-top:3px;
  position:relative;
  z-index:1;
  justify-self:center;
}
.v2-agenda__row--comida .v2-agenda__dot{border-color:#C4A574;background:#F8F1E7}
.v2-agenda__row--pausa .v2-agenda__dot{border-color:#B0B0B0;background:#f3f3f3}
.v2-agenda__row--hito .v2-agenda__dot{border-color:var(--v2-red);background:var(--v2-red)}
.v2-agenda__row--clase .v2-agenda__dot{border-color:var(--v2-red);background:#fff}
.v2-agenda__label{
  font-size:14.5px;
  line-height:1.4;
  color:#3f3f3f;
  font-weight:600;
  padding-top:0;
}
.v2-agenda__row--comida .v2-agenda__label,
.v2-agenda__row--pausa .v2-agenda__label{
  font-weight:500;
  color:var(--v2-muted);
}
.v2-agenda__row--clase .v2-agenda__label{
  color:var(--v2-ink);
  font-weight:700;
}

/* no section numbers */
.v2-story__num{display:none !important}

@media (max-width:980px){
  .v2-agenda{grid-template-columns:1fr;gap:14px}
}

/* Story titles full line */
.v2-story .v2-story__title,
.v2-story--airy .v2-story__title,
.v2-story__copy .v2-story__title{
  max-width:none !important;
  white-space:normal;
}


/* Precio y alojamiento — visual stay card */
.v2-stay{
  display:flex;
  flex-direction:column;
  gap:22px;
}
.v2-stay__top{
  display:grid;
  grid-template-columns:minmax(180px,240px) minmax(0,1fr);
  gap:20px;
  align-items:stretch;
}
.v2-stay__price{
  background:var(--v2-red);
  color:#fff;
  border-radius:20px;
  padding:28px 22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  box-shadow:0 16px 36px rgba(178,34,34,.22);
}
.v2-stay__price-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  opacity:.85;
  margin-bottom:8px;
}
.v2-stay__price-value{
  font-size:clamp(2.2rem,4vw,2.8rem);
  font-weight:800;
  line-height:1;
  letter-spacing:-.03em;
}
.v2-stay__price-hint{
  margin-top:10px;
  font-size:13px;
  font-weight:600;
  opacity:.85;
}
.v2-stay__includes{
  background:var(--v2-soft);
  border:1px solid var(--v2-line);
  border-radius:20px;
  padding:22px 22px 18px;
}
.v2-stay__includes-label,
.v2-stay__rooms-label{
  margin:0 0 12px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--v2-red);
}
.v2-stay__chips{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.v2-stay__chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:999px;
  padding:10px 14px;
  font-size:14.5px;
  font-weight:700;
  color:var(--v2-ink);
}
.v2-stay__chip-mark{
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--v2-red);
  position:relative;
  flex:0 0 18px;
}
.v2-stay__chip-mark::after{
  content:"";
  position:absolute;
  left:6px;top:3px;
  width:5px;height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.v2-stay__rooms-label{margin-bottom:14px}
.v2-stay__roomgrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.v2-stay__room{
  background:#fff;
  border:1px solid var(--v2-line);
  border-radius:18px;
  padding:22px 18px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.v2-stay__room:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(31,31,31,.06);
  border-color:rgba(178,34,34,.28);
}
.v2-stay__room strong{
  font-size:1.05rem;
  font-weight:800;
  color:var(--v2-ink);
  line-height:1.3;
}
.v2-stay__room-ico{
  width:44px;
  height:44px;
  border-radius:14px;
  background:var(--v2-blush);
  position:relative;
}
.v2-stay__room--single .v2-stay__room-ico::before{
  content:"";
  position:absolute;
  inset:12px 14px 12px 14px;
  border:2px solid var(--v2-red);
  border-radius:6px;
}
.v2-stay__room--double .v2-stay__room-ico::before,
.v2-stay__room--double .v2-stay__room-ico::after{
  content:"";
  position:absolute;
  top:12px;bottom:12px;
  width:12px;
  border:2px solid var(--v2-red);
  border-radius:5px;
}
.v2-stay__room--double .v2-stay__room-ico::before{left:10px}
.v2-stay__room--double .v2-stay__room-ico::after{right:10px}
.v2-stay__room--default .v2-stay__room-ico::before{
  content:"";
  position:absolute;
  inset:14px;
  border:2px solid var(--v2-red);
  border-radius:4px;
}
.v2-stay__note{
  margin:0;
  padding:14px 16px;
  border-radius:14px;
  background:linear-gradient(90deg, var(--v2-blush), #fff);
  border:1px solid rgba(178,34,34,.12);
  color:var(--v2-muted);
  font-size:14.5px;
  line-height:1.55;
  font-weight:500;
}

/* Hide old priceband if any leftover */
.v2-story--airy .v2-story__block--price .v2-priceband{display:none}

@media (max-width:760px){
  .v2-stay__top{grid-template-columns:1fr}
  .v2-stay__roomgrid{grid-template-columns:1fr}
}

/* Reserva de plaza */
.v2-book__grid{
  display:grid;
  grid-template-columns:minmax(140px,190px) minmax(0,1fr);
  gap:16px;
  align-items:center;
}
.v2-book__deposit{
  background:#fff;
  color:var(--v2-ink);
  border-radius:16px;
  padding:20px 16px;
  text-align:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  box-shadow:0 8px 20px rgba(0,0,0,.1);
}
.v2-book__deposit-label{
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--v2-red);
  margin-bottom:6px;
}
.v2-book__deposit-value{
  font-size:clamp(1.8rem,3.2vw,2.2rem);
  font-weight:800;
  line-height:1;
  letter-spacing:-.03em;
  color:var(--v2-ink);
}
.v2-book__deposit-note{
  margin-top:8px;
  font-size:12px;
  font-weight:700;
  color:var(--v2-muted);
  text-transform:lowercase;
}
.v2-book__cta{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.v2-book__limited{
  margin:0;
  font-size:14px;
  font-weight:600;
  color:rgba(255,255,255,.92);
  line-height:1.45;
}
.v2-book__actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.v2-book__btn{
  padding:11px 18px !important;
  font-size:12.5px !important;
  min-height:auto;
}
.v2-story--airy .v2-story__block--reserve .v2-book__btn.v2-btn--white{
  background:#fff !important;
  color:var(--v2-red) !important;
  border-color:#fff !important;
}
.v2-story--airy .v2-story__block--reserve .v2-book__btn.v2-btn--white:hover{
  background:var(--v2-blush) !important;
  color:var(--v2-red) !important;
}
.v2-story--airy .v2-story__block--reserve .v2-book__btn.v2-btn--ghost-white{
  background:transparent !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.85) !important;
}
.v2-story--airy .v2-story__block--reserve .v2-book__btn.v2-btn--ghost-white:hover{
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
}
.v2-story--airy .v2-story__block--reserve .v2-prose,
.v2-story--airy .v2-story__block--reserve .v2-reserve,
.v2-book__wa,
.v2-book__info{display:none !important}

@media (max-width:700px){
  .v2-book__grid{grid-template-columns:1fr}
}

/* Intro lede full width / hidden duplicate */
.v2-story--airy .v2-story__intro,
.v2-story--airy .v2-story__lede{
  display:none !important;
}

/* Mi historia — cierre destacado */
.v2-signature{
  background:var(--v2-blush);
  padding:clamp(48px,8vw,88px) 0;
}
.v2-signature__card{
  max-width:720px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--v2-line);
  border-left:5px solid var(--v2-red);
  border-radius:16px;
  padding:clamp(28px,5vw,48px) clamp(24px,4vw,44px);
  box-shadow:0 14px 36px rgba(31,31,31,.06);
}
.v2-signature__eyebrow{
  margin:0 0 18px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--v2-red);
}
.v2-signature__quote{
  margin:0;
  padding:0;
  border:0;
}
.v2-signature__quote p{
  margin:0 0 .55em;
  font-size:clamp(1.2rem,2.4vw,1.55rem);
  line-height:1.45;
  font-weight:600;
  color:var(--v2-ink);
  letter-spacing:-.015em;
}
.v2-signature__quote p:last-child{margin-bottom:0}
.v2-signature__last{
  margin-top:1em!important;
  color:var(--v2-muted)!important;
  font-weight:500!important;
  font-size:clamp(1.05rem,2vw,1.25rem)!important;
  line-height:1.55!important;
}
.v2-signature__footer{
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid var(--v2-line);
  display:flex;
  flex-direction:column;
  gap:4px;
}
.v2-signature__name{
  font-weight:800;
  font-size:1.05rem;
  color:var(--v2-ink);
}
.v2-signature__role{
  font-size:14px;
  color:var(--v2-muted);
}
@media (max-width:600px){
  .v2-signature__card{border-radius:12px;border-left-width:4px}
}
