/* V10 · Calidad móvil, jerarquía visual, agenda y reel de libros */

/* Header / logo */
.brand{
  display:flex;
  align-items:center;
  justify-content:center;
  width:72px;
  height:72px;
  padding:8px;
  background:linear-gradient(145deg,#073f45,#0a4e4f);
  border:1px solid rgba(183,154,99,.35);
  border-radius:18px;
  box-shadow:0 10px 26px rgba(6,61,69,.14);
  flex:0 0 auto;
}
.brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:transparent!important;
}
.welcome-logo,.footer-logo{
  background:transparent!important;
  object-fit:contain;
}

/* Botón clase gratis: evita que la regla de links del nav oscurezca el texto */
.navlinks>a.btn-primary,
.navlinks>a.btn-primary:visited{
  color:#fff!important;
  background:#123f35;
  box-shadow:0 12px 28px rgba(18,63,53,.22);
}
.navlinks>a.btn-primary:hover{
  color:#fff!important;
  background:#0d352d;
}

/* Hero */
.hero-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  gap:clamp(36px,5vw,72px);
  align-items:center;
}
.hero-media{
  width:100%;
  max-width:430px;
  min-height:0;
  aspect-ratio:4/5;
  justify-self:end;
  border-radius:30px;
  overflow:hidden;
  background:#e8eee5;
  box-shadow:0 28px 68px rgba(37,63,48,.18);
}
.hero-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 34%;
  display:block;
}

/* Separación real de bloques */
.glass,
.card,
.course-copy,
.author-strip{
  box-shadow:
    0 20px 48px rgba(24,62,52,.13),
    0 5px 16px rgba(24,62,52,.07),
    inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.method-card,.academy-card,.post{
  transition:transform .22s ease,box-shadow .22s ease;
}
.method-card:hover,.academy-card:hover,.post:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 62px rgba(24,62,52,.17),0 8px 20px rgba(24,62,52,.08)!important;
}

/* Trust bar: cada recuadro independiente */
.trustgrid{
  gap:14px;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}
.trustitem{
  border:1px solid rgba(255,255,255,.84)!important;
  border-radius:20px;
  background:rgba(255,255,255,.63);
  box-shadow:0 14px 34px rgba(24,62,52,.11),inset 0 1px 0 rgba(255,255,255,.92);
}

/* Portada del curso */
.course-media{
  max-width:1000px;
  margin-left:auto;
  margin-right:auto;
  border-radius:26px;
  box-shadow:0 24px 58px rgba(24,62,52,.16)!important;
}
.course-media img{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

/* Agenda de clase gratis */
.freeclass .container{
  grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);
  gap:56px;
  align-items:start;
}
.freeclass-copy{
  position:sticky;
  top:120px;
}
.freeclass-benefits{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}
.freeclass-benefits span{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#edf5f1;
  font-size:12px;
  font-weight:750;
}
.booking-shell{
  border-radius:30px;
  padding:32px;
  color:#fff;
}
.booking-shell h3{
  margin:4px 0 8px;
  font-size:34px;
  color:#fff4da;
  font-weight:500;
}
.booking-shell>p{
  margin:0 0 24px;
  color:#dbe8e4;
  font-size:14px;
}
.booking-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.booking-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.booking-field.full{grid-column:1/-1}
.booking-field label{
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#f0d18b;
  font-weight:850;
}
.booking-field input{
  width:100%;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(255,255,255,.93);
  color:#213a32;
  border-radius:15px;
  padding:14px 15px;
  font:inherit;
  outline:none;
}
.booking-field input:focus{
  border-color:#e7bd6a;
  box-shadow:0 0 0 3px rgba(231,189,106,.18);
}
.booking-submit{
  grid-column:1/-1;
  width:100%;
  margin-top:4px;
  min-height:50px;
}
.booking-status{
  grid-column:1/-1;
  min-height:20px;
  margin:0;
  font-size:12px!important;
  color:#dceae5!important;
}
.booking-status.is-success{color:#fff0b8!important}
.booking-note{
  grid-column:1/-1;
  margin:0;
  font-size:10px;
  color:#bcd0c8;
}

/* Biblioteca en formato reel */
.books{overflow:hidden}
.books-reel{
  position:relative;
  margin:0 -10px;
  padding:4px 54px 22px;
}
.books-track{
  display:flex;
  gap:22px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  padding:10px 6px 24px;
}
.books-track::-webkit-scrollbar{display:none}
.book{
  flex:0 0 clamp(220px,24vw,270px);
  scroll-snap-align:start;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  min-width:0;
  padding:16px 14px 20px;
  border-radius:26px;
  background:rgba(255,255,255,.58);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 16px 38px rgba(37,63,48,.12)!important;
}
.book .cover{
  width:100%;
  max-width:190px;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:2/3!important;
  margin:0 auto 16px;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:18px;
  background:transparent!important;
  box-shadow:none!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.book .cover img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:none;
  filter:contrast(1.02) saturate(1.02) drop-shadow(0 13px 15px rgba(31,45,35,.14));
}
.book h3{
  font-size:21px;
  line-height:1.18;
  margin:0 0 7px;
  min-height:0;
}
.book p{
  font-size:13px;
  line-height:1.48;
  max-width:230px;
  min-height:58px;
  margin:0 auto;
}
.book .book-link{margin-top:auto;padding-top:11px}
.reel-arrow{
  position:absolute;
  top:42%;
  transform:translateY(-50%);
  z-index:3;
  width:44px;
  height:44px;
  border:1px solid rgba(18,63,53,.16);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,254,250,.94);
  color:#123f35;
  box-shadow:0 12px 28px rgba(24,62,52,.16);
  font-size:29px;
  line-height:1;
  cursor:pointer;
}
.reel-arrow:hover{background:#123f35;color:#fff}
.reel-arrow.prev{left:0}
.reel-arrow.next{right:0}
.reel-hint{
  text-align:center;
  color:#6f6a64;
  font-size:12px;
  margin-top:0;
}

/* Sobre Yamilet */
.about-media{
  width:100%;
  max-width:430px;
  min-height:0;
  aspect-ratio:4/5;
  justify-self:start;
  border-radius:28px;
  overflow:hidden;
}
.about-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 24%;
}
.author-strip .author-photo{
  min-height:0;
  aspect-ratio:4/5;
}
.author-strip .author-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 24%;
}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero-media{justify-self:center;max-width:380px}
  .about-media{justify-self:center;max-width:380px}
  .freeclass .container{grid-template-columns:1fr}
  .freeclass-copy{position:static}
  .books-reel{padding-inline:48px}
}

@media(max-width:620px){
  .brand{
    width:62px;
    height:62px;
    padding:7px;
    border-radius:16px;
  }
  .hero-media{
    max-width:340px;
    width:min(92vw,340px);
    border-radius:26px;
  }
  .hero-media img{object-position:center 32%}
  .trustgrid{grid-template-columns:1fr 1fr;gap:10px}
  .trustitem{padding:16px 10px}
  .booking-shell{padding:24px 20px}
  .booking-form{grid-template-columns:1fr}
  .booking-field.full,.booking-submit,.booking-status,.booking-note{grid-column:1}
  .books-reel{margin:0;padding:4px 10px 18px}
  .books-track{gap:16px;padding-inline:4px}
  .book{flex-basis:min(76vw,238px)}
  .book .cover{max-width:170px}
  .reel-arrow{display:none}
  .book p{min-height:0}
}
