/* REV10 — cambios exclusivos en Sesiones, Instagram y esquinas de botones. */

/* Todos los botones y enlaces con apariencia de botón: esquinas redondeadas. */
button,
.btn,
.text-link,
.book-top,
.mobile-book,
.modal-grid a,
.instagram-app-actions a,
.instagram-floating-message a,
.cookie-actions button {
  border-radius:999px !important;
}

/* SESIONES — formato visual 2 x 2 inspirado en la referencia facilitada. */
.sessions .session-cards {
  width:min(940px,90vw) !important;
  margin:64px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:54px 56px !important;
  align-items:start !important;
}
.sessions .session-card {
  position:relative !important;
  display:block !important;
  min-width:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  isolation:isolate !important;
  transform:translateZ(0) !important;
  transition:transform .45s var(--ease),filter .45s var(--ease) !important;
}
.sessions .session-card::after {
  content:"";
  position:absolute;
  inset:0 0 64px;
  z-index:2;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(180deg,rgba(24,20,18,.04),rgba(24,20,18,.82));
  transition:opacity .4s var(--ease) !important;
}
.sessions .session-card:hover,
.sessions .session-card:focus-within {
  transform:translateY(-9px) !important;
  filter:drop-shadow(0 22px 28px rgba(47,41,37,.16)) !important;
}
.sessions .session-card figure,
.sessions .session-card#embarazo figure {
  display:block !important;
  width:100% !important;
  margin:0 !important;
  aspect-ratio:4/5 !important;
  overflow:hidden !important;
  border-radius:0 !important;
  background:var(--paper-3) !important;
}
.sessions .session-card figure img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:scale(1.002) !important;
  transition:transform .8s var(--ease),filter .6s var(--ease) !important;
}
.sessions .session-card:hover figure img,
.sessions .session-card:focus-within figure img {
  transform:scale(1.055) !important;
  filter:saturate(.92) contrast(1.03) !important;
}
.sessions .session-card-copy {
  position:static !important;
  display:block !important;
  width:100% !important;
  min-height:64px !important;
  padding:0 !important;
  background:transparent !important;
}
.sessions .session-no {
  display:none !important;
}
.sessions .session-card h3 {
  position:relative !important;
  z-index:5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:64px !important;
  margin:0 !important;
  padding:11px 18px 12px !important;
  background:#2f2925 !important;
  color:#fff !important;
  font-family:var(--text) !important;
  font-size:clamp(23px,2vw,31px) !important;
  font-weight:300 !important;
  line-height:1.12 !important;
  letter-spacing:.035em !important;
  text-align:center !important;
}
.sessions .session-card p {
  position:absolute !important;
  left:30px !important;
  right:30px !important;
  bottom:96px !important;
  z-index:4 !important;
  max-height:72% !important;
  margin:0 !important;
  overflow:auto !important;
  color:#fff !important;
  font-size:15px !important;
  line-height:1.62 !important;
  text-align:left !important;
  opacity:0 !important;
  transform:translateY(18px) !important;
  pointer-events:none !important;
  transition:opacity .4s var(--ease),transform .4s var(--ease) !important;
  scrollbar-width:none;
}
.sessions .session-card p::-webkit-scrollbar { display:none; }
.sessions .session-card:hover::after,
.sessions .session-card:focus-within::after,
.sessions .session-card:hover p,
.sessions .session-card:focus-within p {
  opacity:1 !important;
  transform:none !important;
}
/* El enlace conserva su texto y destino, pero convierte toda la tarjeta en seleccionable. */
.sessions .session-card .text-link {
  position:absolute !important;
  inset:0 !important;
  z-index:7 !important;
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
  background:transparent !important;
  color:transparent !important;
  font-size:0 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}
.sessions .session-card .text-link:focus-visible {
  outline:3px solid #2f2925 !important;
  outline-offset:5px !important;
}

/* INSTAGRAM — texto superior y perfil completo dentro de una tablet de mayor tamaño. */
.instagram .instagram-showcase {
  width:min(1040px,90vw) !important;
  margin:58px auto 0 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto !important;
  gap:48px !important;
  align-items:start !important;
  justify-items:center !important;
}
.instagram .instagram-side-copy {
  grid-row:1 !important;
  width:min(900px,100%) !important;
  max-width:none !important;
  margin:0 auto !important;
  text-align:left !important;
  justify-self:center !important;
}
.instagram .instagram-side-copy h3 {
  max-width:900px !important;
  margin:16px 0 22px !important;
  font-size:clamp(58px,6.4vw,102px) !important;
  line-height:.9 !important;
}
.instagram .instagram-side-copy p {
  max-width:720px !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.75 !important;
}
.instagram .instagram-phone-wrap {
  grid-row:2 !important;
  position:relative !important;
  display:flex !important;
  justify-content:center !important;
  align-items:flex-start !important;
  width:min(900px,100%) !important;
  margin:0 auto !important;
}
.instagram .instagram-phone--profile {
  position:relative !important;
  width:min(820px,100%) !important;
  max-width:820px !important;
  padding:14px !important;
  border:8px solid #2b2928 !important;
  border-radius:28px !important;
  overflow:visible !important;
  background:#171515 !important;
  box-shadow:0 35px 80px rgba(35,29,25,.22) !important;
  transform:none !important;
}
.instagram .instagram-phone-notch {
  display:block !important;
  position:absolute !important;
  top:5px !important;
  left:50% !important;
  width:8px !important;
  height:8px !important;
  margin-left:-4px !important;
  border-radius:50% !important;
  background:#050505 !important;
  z-index:20 !important;
}
.instagram .instagram-phone--profile .instagram-phone-screen {
  width:100% !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:#080d13 !important;
}
.instagram .instagram-app-bar {
  min-height:62px !important;
  padding:14px 22px 12px !important;
}
.instagram .instagram-app-bar>span {
  font-size:25px !important;
}
.instagram .instagram-app-actions {
  gap:10px !important;
}
.instagram .instagram-app-actions a {
  padding:9px 13px !important;
  font-size:11px !important;
}
.instagram .instagram-profile-ui--dark {
  padding:24px 28px 14px !important;
}
.instagram .instagram-profile-summary {
  grid-template-columns:126px 1fr !important;
  gap:28px !important;
}
.instagram .instagram-profile-ring {
  width:126px !important;
  height:126px !important;
  padding:3px !important;
}
.instagram .instagram-profile-username {
  font-size:20px !important;
}
.instagram .instagram-profile-ui--dark .instagram-profile-stats {
  gap:42px !important;
  padding:9px 0 !important;
}
.instagram .instagram-profile-ui--dark .instagram-profile-stats strong {
  font-size:18px !important;
}
.instagram .instagram-profile-ui--dark .instagram-profile-stats span {
  font-size:13px !important;
}
.instagram .instagram-profile-bio {
  margin-top:8px !important;
  font-size:13px !important;
  line-height:1.5 !important;
}
.instagram .instagram-profile-bio strong {
  font-size:14px !important;
}
.instagram .instagram-highlights {
  display:flex !important;
  gap:18px !important;
  padding:24px 0 20px !important;
  overflow-x:auto !important;
  scrollbar-width:none !important;
}
.instagram .instagram-highlights::-webkit-scrollbar { display:none !important; }
.instagram .instagram-highlight {
  flex:0 0 82px !important;
  width:82px !important;
}
.instagram .instagram-highlight span {
  width:78px !important;
  height:78px !important;
  border-width:2px !important;
}
.instagram .instagram-highlight em {
  margin-top:7px !important;
  font-size:10px !important;
  line-height:1.2 !important;
}
.instagram .instagram-profile-tabs {
  padding:13px 0 !important;
  font-size:20px !important;
}
.instagram .instagram-phone--profile .instagram-phone-grid {
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:2px !important;
}
.instagram .instagram-phone--profile .instagram-phone-item {
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
}
.instagram .instagram-phone--profile .instagram-phone-item img {
  transition:transform .5s var(--ease),filter .5s var(--ease) !important;
}
.instagram .instagram-phone--profile .instagram-phone-item:hover img,
.instagram .instagram-phone--profile .instagram-phone-item:focus-visible img {
  transform:scale(1.07) !important;
  filter:brightness(.72) saturate(.85) !important;
}
.instagram .instagram-phone--profile .instagram-phone-item:hover .instagram-phone-open,
.instagram .instagram-phone--profile .instagram-phone-item:focus-visible .instagram-phone-open {
  opacity:1 !important;
  transform:none !important;
}
.instagram .instagram-phone--profile .instagram-phone-nav {
  height:54px !important;
  font-size:20px !important;
}
.instagram .instagram-floating-message {
  right:-26px !important;
  bottom:90px !important;
  z-index:30 !important;
}
.instagram .instagram-floating-message a {
  padding:16px 24px !important;
  font-size:13px !important;
  white-space:nowrap !important;
  box-shadow:0 16px 38px rgba(47,41,37,.2) !important;
}
.instagram .instagram-floating-message a::after {
  left:-8px !important;
  top:50% !important;
  width:16px !important;
  height:16px !important;
}




