/* =============================================================
   HEADER — MOBILE 320–630
   ============================================================= */
.header-topbar{
  display: none;
}
.header-topbar__text {
  font-size: 0.78rem;
  line-height: 1.5;
}

.header-nav__inner {
  height: 64px;
}

.header-logo img {
  height: 40px;
}

/* Ocultar menú desktop */
.header-menu {
  display: none;
}

/* Mostrar hamburguesa */
.header-hb {
  display: flex;
}

/* =============================================================
   FOOTER — MOBILE 320–630
   ============================================================= */

.footer__inner {
  grid-template-columns: 1fr;
  gap: 0;
}

.footer__col {
  padding: 32px 0;
  border-bottom: 1px solid rgba(218, 178, 133, 0.1);
}

.footer__col:last-child {
  border-bottom: none;
}

.footer-nav__cols {
  gap: 24px;
}

/* Sub-menu visible en drawer — anula display:none del desktop */
.drawer-nav .header-menu__list > li > .sub-menu {
  display: block;
  position: relative;
}

/* Hero header — mobile */
.hero-header {
  height: auto;
  min-height: 500px;
}

.hero-header__bg {
  background-image: linear-gradient(to right, 
    rgba(255,255,255,0.95) 0%, 
    rgba(255,255,255,0.95) 50%, 
    rgba(255,255,255,0.75) 100%), url('../images/hero-background-home-movil.jpg');
  background-position: top center;
}
.hero-header__cta{
  display: block;
  width: fit-content;
  margin: 0 auto;
}
.hero-header__inner {
  align-items: flex-start;
  padding-top: 40px;
}

.hero-header__content {
  width: 100%;
  padding: 0px 0 220px;
}

.hero-header__h1 , .hero-header__h1 span {
  font-size: 1.5rem;
}

.hero-header__text {
  font-size: 0.95rem;
}

.hero-header__subject {
  height: 220px;
  width: 100%;
  justify-content: center;
}

.hero-header__subject img {
  height: 100%;
  width: auto;
}

/* Block why — mobile */
.block-why__inner {
  flex-direction: column;
  gap: 0;
  min-height: auto;
}

.block-why__image {
  flex: none;
  width: 75%;
  margin: 0 auto;
  align-self: center;
  order: 2;
}
.block-why__content {
  padding: 32px 0 40px;
  order: 1;
}
.block-why__cta{
  display: block;
  width: fit-content;
  margin: 0 auto;
}
.block-why__title {
  font-size: 1.3rem;
}

/* Block service detail — mobile */
.block-service-detail__inner {
  flex-direction: column;
  gap: 0;
  min-height: auto;
}

.block-service-detail__content {
  flex: none;
  width: 100%;
  padding: 40px 0 24px;
  order: 1;
}

.block-service-detail__image {
  width: 85%;
  margin: 0 auto;
  align-self: center;
  order: 2;
}

.block-service-detail__title {
  font-size: 1.3rem;
}

.block-service-detail__cta {
  display: block;
  width: fit-content;
  margin: 0 auto;
}

/* Block services list — mobile */
.block-services-list {
  padding: 20px 0 30px;
}

.services-list {
  gap: 16px;
}

.service-card {
  flex-direction: column;
  align-items: center;
  gap: 20px;
  padding: 28px 20px;
  text-align: center;
}

.service-card__image {
  flex: none;
}

.service-card__image img {
  width: 120px;
  height: 120px;
}

.service-card__title {
  font-size: 1.2rem;
}

.service-card__link {
  display: block;
  width: fit-content;
  margin: 0 auto;
}
.block-services-list__intro {
  margin-bottom: 32px;
}

.block-services-list__title {
  font-size: 1.3rem;
}
/* Block BA — mobile */
.block-ba {
  padding: 20px 0 30px;
}

.block-ba__intro {
  margin-bottom: 28px;
}

.ba-slide.is-active {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.ba-slide__image {
  width: 100%;
}

.ba-slide__figure img {
  height: 290px;
}

.ba-slide__content {
  padding: 0;
  text-align: center;
}

.ba-slider__controls {
  gap: 16px;
}
.ba-slider__track {
  touch-action: pan-y;
  user-select: none;
}

/* Block contact home — mobile */
.block-contact-home {
  padding: 48px 0;
}

.block-contact-home__bg {
  background-image:
    linear-gradient(to bottom, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.74) 100%),
    url('../images/hero-background-home-movil.jpg');
  background-position: top center;
}

.block-contact-home__inner {
  grid-template-columns: 1fr;
  gap: 32px;
}

.block-contact-home__content {
  order: -1;
  text-align: center;
}

.block-contact-home__title {
  font-size: 1.8rem;
}

/* Block blog home — mobile */
.block-blog-home {
  padding: 20px 0 30px;
}

.block-blog-home__intro {
  margin-bottom: 28px;
}

.block-blog-home__title {
  font-size: 1.3rem;
}

.blog-grid {
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 32px;
}

/* Page about — mobile */
.page-about {
  padding: 20px 0 30px;
}

.page-about__inner {
  grid-template-columns: 1fr;
  gap: 0;
}

.page-about__photo {
  width: 75%;
  margin: 0 auto 28px;
}

.page-about__h1,
.page-about__h1 span {
  font-size: 1.25rem;
}

.page-about__cta {
  display: block;
  width: fit-content;
  margin: 8px auto 15px;
}

/* Block certs — mobile */
.block-certs {
  padding: 20px 0 30px;
}

.certs-grid {
  gap: 32px 24px;
}

.certs-grid__item img {
  max-height: 70px;
}

/* Block journey step — mobile */
.block-journey-step {
  padding: 20px 0 30px;
}

.block-journey-step__inner,
.block-journey-step--reverse .block-journey-step__inner {
  flex-direction: column;
  gap: 24px;
}

.block-journey-step__image {
  flex: none;
  width: 85%;
  margin: 0 auto;
  align-self: center;
}

.block-journey-step__title {
  font-size: 1.25rem;
}

.block-journey-step__cta {
  display: block;
  width: fit-content;
  margin: 8px auto 0;
  align-self: center;
}

/* Block journey cards — mobile */
.block-journey-cards {
  padding: 20px 0 30px;
}

.journey-cards__grid {
  grid-template-columns: 1fr;
  gap: 16px;
}

.journey-card {
  padding: 24px 20px;
}

.block-journey-cards__title {
  font-size: 1.3rem;
}

/* Block journey faq — mobile */
.block-journey-faq {
  padding: 20px 0 30px;
}

.journey-faq__grid {
  grid-template-columns: 1fr;
  gap: 16px;
  margin-bottom: 32px;
}

.journey-faq__card {
  padding: 24px 20px;
}

.block-journey-faq__title {
  font-size: 1.3rem;
}

.block-journey-faq__cta-wrap {
  text-align: center;
}

.block-journey-faq__cta {
  display: block;
  width: fit-content;
  margin: 0 auto;
}

/* Block photo slider — mobile */
.block-photo-slider {
  padding: 20px 0 30px;
}

.photo-slide.is-active {
  grid-template-columns: 1fr;
  gap: 16px;
}

.photo-slide__figure img {
  height: 240px;
}

.block-photo-slider__title {
  font-size: 1.3rem;
}

/* Block services grid — mobile */
.block-services-grid {
  padding: 20px 0 30px;
}

.services-grid__list {
  grid-template-columns: 1fr;
  gap: 16px;
}

.services-grid__card {
  padding: 24px 20px;
}

.block-services-grid__title {
  font-size: 1.3rem;
}

/* Block video testimonials — mobile */
.block-video-testimonials {
  padding: 40px 0;
}

.video-slide.is-active {
  grid-template-columns: 1fr;
  gap: 16px;
}

.block-video-testimonials__cta-wrap {
  text-align: center;
}

.block-video-testimonials__cta {
  display: block;
  width: fit-content;
  margin: 0 auto;
}

.video-modal__content {
  max-width: 320px;
}

/* Block subservices — mobile */
.block-subservices {
  padding: 40px 0;
}

.subservices__grid {
  grid-template-columns: 1fr;
  gap: 36px;
}

.subservice-card__title {
  font-size: 1.1rem;
}

.subservice-card__cta {
  display: block;
  width: fit-content;
  margin: 0 auto;
}

/* Block text cols — mobile */
.block-text-cols {
  padding: 40px 0;
}

.block-text-cols__inner {
  grid-template-columns: 1fr;
  gap: 32px;
}

/* Block text intro — mobile */
.block-text-intro {
  padding: 40px 0;
}

.block-text-intro__title {
  font-size: 1.3rem;
}

/* Block text cols intro — mobile */
.block-text-cols__intro {
  margin-bottom: 32px;
}

.block-text-cols__intro-title {
  font-size: 1.3rem;
}

/* Page blog — mobile */
.page-blog {
  padding: 40px 0;
}

.page-blog__title {
  font-size: 1.3rem;
}

.blog-archive__grid {
  grid-template-columns: 1fr;
  gap: 24px;
  margin-bottom: 40px;
}

/* Single post — mobile */
.single-post {
  padding: 40px 0;
}

.single-post__inner {
  grid-template-columns: 1fr;
  gap: 40px;
}

.single-post__title {
  font-size: 1.3rem;
}

.single-post__sidebar {
  position: static;
}

.single-post__body .wp-block-columns {
  grid-template-columns: 1fr;
  gap: 0;
}

.single-post__nav {
  flex-direction: column;
  gap: 16px;
}

.single-post__nav-link {
  max-width: 100%;
}

.single-post__nav-link--next {
  margin-left: 0;
  text-align: left;
  flex-direction: row-reverse;
  justify-content: flex-end;
}

/* =============================================================
   BLOCK INTRO RICHTEXT — 630px
   ============================================================= */
 
.block-intro-richtext {
  padding: 40px 0 0;
}
 
.block-intro-richtext__content,
.block-intro-richtext__content p,
.block-intro-richtext__content li {
  font-size: 0.88rem;
}

.service-card__procedures-list a{
  font-size: 0.92rem;
  text-align: left;
}