/*
 * Basket Las Torres 5.8 — refuerzo responsive global.
 * Esta hoja se carga después de los módulos de página para unificar tablet,
 * móvil, orientación horizontal, áreas táctiles y contenido editorial.
 */

html {
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body,
.wp-site-blocks,
.wp-site-blocks main,
.wp-block-group,
.wp-block-columns,
.wp-block-column,
.wp-block-post-content,
.blt-shell {
  min-width:0;
}

img,
picture,
video,
canvas,
svg,
iframe,
embed,
object {
  max-width:100%;
}

picture,
video,
canvas,
.wp-block-image img,
.wp-block-video video {
  height:auto;
}

figure,
.wp-block-image,
.wp-block-video,
.wp-block-embed,
.wp-block-embed__wrapper {
  max-width:100%;
}

.wp-block-embed__wrapper {
  overflow:hidden;
}

.wp-block-embed__wrapper iframe {
  display:block;
  width:100%;
}

pre,
code,
.wp-block-code,
.wp-block-preformatted {
  max-width:100%;
}

pre,
.wp-block-code,
.wp-block-preformatted {
  overflow-x:auto;
  overscroll-behavior-x:contain;
}

input,
select,
textarea,
button {
  max-width:100%;
}

button,
[type="button"],
[type="submit"],
[type="reset"],
a {
  touch-action:manipulation;
}

textarea {
  min-height:8rem;
  resize:vertical;
}

:where(
  .wp-block-post-content,
  .blt-content-index,
  .blt-single-match,
  .blt-team-detail,
  .blt-news-article,
  .blt-club,
  .blt-fanclub,
  .blt-event-page,
  .blt-contact
) :where(h1,h2,h3,h4,h5,h6,p,li,dd,address,figcaption) {
  overflow-wrap:anywhere;
}

.blt-match-card,
.blt-match-card__top,
.blt-match-card__fixture,
.blt-match-card__teams,
.blt-match-card__team,
.blt-match-card__team-info,
.blt-match-card__meta,
.blt-team-detail__fixture,
.blt-team-detail__fixture-main,
.blt-news-card,
.blt-directory-card,
.blt-club__quick-link,
.blt-fanclub__instagram-phone {
  min-width:0;
}

.blt-match-card__team-name,
.blt-match-card__venue,
.blt-team-detail__fixture-team,
.blt-team-detail__fixture-venue,
.blt-news-card__title,
.blt-directory-card h2,
.blt-directory-card h3 {
  overflow-wrap:anywhere;
}

/* Controles que deben ser cómodos también con el dedo. */
.blt-share__button,
.blt-pagination a,
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers,
.blt-team-detail__filters a,
.blt-team-detail__seasons a,
.blt-team-filters__quick a,
.blt-team-directory__pill,
.blt-section__link a,
.blt-competition-hub__link a {
  min-height:44px;
}

.wp-block-query-pagination .page-numbers {
  min-width:44px;
}

.blt-senior-fixtures__control,
.blt-fanclub__instagram-control {
  height:46px;
  width:46px;
}

.blt-roundboard__controls button {
  height:40px;
  width:40px;
}

.blt-fanclub__instagram-indicators {
  max-width:calc(100% - 7rem);
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
}

.blt-fanclub__instagram-indicators::-webkit-scrollbar {
  display:none;
}

.blt-fanclub__instagram-indicators button {
  flex:0 0 40px;
  height:40px;
  min-width:40px;
}

/* Navegación de tablet y móvil: respeta notch y zonas seguras. */
@media (max-width:1120px) {
  .blt-site-header > .blt-header__inner {
    padding-left:max(var(--blt-gutter),env(safe-area-inset-left));
    padding-right:max(var(--blt-gutter),env(safe-area-inset-right));
  }

  .blt-site-header .wp-block-navigation__responsive-container-open {
    flex:0 0 48px;
    height:48px;
    width:48px;
  }

  .blt-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
    padding:
      max(5rem,calc(3.75rem + env(safe-area-inset-top)))
      max(1.25rem,calc(1rem + env(safe-area-inset-right)))
      max(1.5rem,calc(1rem + env(safe-area-inset-bottom)))
      max(1.25rem,calc(1rem + env(safe-area-inset-left)));
  }

  .blt-site-header .wp-block-navigation__responsive-container-close {
    align-items:center;
    display:flex;
    height:48px;
    justify-content:center;
    right:max(1rem,env(safe-area-inset-right));
    top:max(1rem,env(safe-area-inset-top));
    width:48px;
  }

  .blt-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.blt-nav-cta) .wp-block-navigation-item__content {
    min-height:62px;
    white-space:normal;
  }

  .blt-site-footer .wp-block-navigation-item__content,
  .blt-footer-meta--legal-links a,
  .blt-social-links--footer .blt-social-links__link {
    min-height:44px;
  }

  .blt-social-links--footer .blt-social-links__link {
    width:44px;
  }
}

/* Tablet: retículas equilibradas sin columnas demasiado estrechas. */
@media (min-width:621px) and (max-width:960px) {
  .blt-match-directory__summary,
  .blt-team-detail__summary,
  .blt-club__story-grid,
  .blt-club__join-grid,
  .blt-club__sponsor-grid,
  .blt-fanclub__about-grid,
  .blt-event-registration {
    grid-template-columns:minmax(0,1fr);
  }

  .blt-team-detail__calendar-list,
  .blt-news-latest-grid,
  .blt-event-related .blt-news-latest-grid {
    min-width:0;
  }

  .blt-match-action,
  .blt-event-hero__button,
  .blt-event-registration__button {
    min-height:48px;
  }
}

@media (max-width:781px) {
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  .wp-block-search__input {
    font-size:16px;
  }

  .wp-block-search {
    align-items:stretch;
    flex-wrap:wrap;
  }

  .wp-block-search__inside-wrapper {
    display:flex;
    max-width:100%;
    width:100%;
  }

  .wp-block-search__input {
    min-width:0;
  }

  .wp-block-search__button {
    min-height:48px;
  }

  .blt-site-footer__bottom .blt-footer-meta__copyright,
  .blt-footer-meta--legal p,
  .blt-footer-meta--legal nav a {
    text-align:center;
    white-space:normal;
  }

  .blt-share__button,
  .blt-team-detail__filters a,
  .blt-team-detail__seasons a,
  .blt-team-filters__quick a,
  .blt-team-directory__pill,
  .blt-club__category-options button,
  .blt-club__faq-filters button {
    min-height:46px;
  }

  .blt-roundboard__toolbar {
    min-height:44px;
  }

  .blt-roundboard__controls button {
    height:44px;
    width:44px;
  }

  .blt-roundboard__all {
    min-height:44px;
  }

  .blt-home .blt-competition-hub__filter select {
    min-height:48px;
  }

  .blt-fanclub__instagram-control {
    height:46px;
    width:46px;
  }
}

@media (max-width:620px) {
  .blt-header__brand {
    flex:1 1 auto;
    max-width:calc(100% - 4rem);
  }

  .blt-header__wordmark,
  .blt-header__wordmark .wp-block-site-title,
  .blt-header__wordmark .wp-block-site-title a {
    min-width:0;
    max-width:100%;
  }

  .blt-match-card__top,
  .blt-match-card__meta,
  .blt-team-detail__fixture-content,
  .blt-team-detail__fixture > .blt-match-quick-actions {
    padding-inline:.9rem;
  }

  .blt-match-card__top > *,
  .blt-match-card__meta > *,
  .blt-team-detail__fixture-content > * {
    min-width:0;
  }

  .blt-match-quick-actions {
    align-items:stretch;
    gap:.35rem;
    width:100%;
  }

  .blt-match-quick-actions__link {
    flex:1 1 9.5rem;
    justify-content:center;
    min-width:0;
    text-align:center;
    white-space:normal;
  }

  .blt-match-card__detail-link {
    align-items:center;
    display:inline-flex;
    min-height:44px;
  }

  .blt-match-location__links > *,
  .blt-match-actions__links > *,
  .blt-event-page__outro > a,
  .blt-event-hero__button,
  .blt-event-registration__button,
  .blt-club__closing-routes a {
    justify-content:center;
    width:100%;
  }

  .blt-contact .blt-button,
  .blt-contact button[type="submit"] {
    min-height:48px;
    width:100%;
  }

  .blt-share,
  .blt-share__actions {
    width:100%;
  }

  .blt-share__button {
    flex:1 1 9rem;
    min-height:46px;
  }

  .blt-pagination,
  .wp-block-query-pagination,
  .blt-news-pagination {
    align-items:stretch;
  }

  .blt-pagination a,
  .wp-block-query-pagination a,
  .blt-news-pagination a {
    justify-content:center;
    min-height:46px;
  }

  .blt-news-article__body .wp-block-file {
    align-items:stretch;
    flex-direction:column;
  }

  .blt-news-article__body .wp-block-file__button {
    display:flex;
    justify-content:center;
    margin-left:0;
    min-height:44px;
  }

  .blt-event-breadcrumb {
    overflow-x:auto;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
    white-space:nowrap;
  }

  .blt-event-breadcrumb::-webkit-scrollbar {
    display:none;
  }

  .blt-event-breadcrumb [aria-current="page"] {
    flex:0 0 auto;
  }
}

@media (max-width:390px) {
  .blt-header__wordmark .wp-block-site-title {
    font-size:.82rem;
    line-height:1;
    white-space:normal;
  }

  .blt-match-card__teams,
  .blt-home .blt-competition-hub__next .blt-match-card__teams {
    grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);
  }

  .blt-match-card__team-name,
  .blt-match-grid > .blt-match-card:only-child .blt-match-card__team-name {
    font-size:.82rem;
  }

  .blt-team-detail__fixture > .blt-match-quick-actions,
  .blt-news-team-card-wrap .blt-match-quick-actions {
    padding-inline:.7rem;
  }

  .blt-news-team-card {
    grid-template-columns:72px minmax(0,1fr);
  }

  .blt-news-team-card__body {
    padding:1rem .85rem;
  }

  .blt-news-team-card__badge {
    height:54px;
    width:54px;
  }

  .blt-fanclub__instagram-track {
    grid-auto-columns:minmax(244px,88vw);
  }
}

@media (max-width:340px) {
  .blt-header__wordmark .wp-block-site-title {
    font-size:.76rem;
    max-width:14ch;
  }

  .blt-match-quick-actions__link,
  .blt-share__button {
    flex-basis:100%;
  }

  .blt-team-detail__stats {
    gap:.6rem 0;
    grid-template-columns:1fr;
  }

  .blt-team-detail__stats > div + div {
    border-left:0;
    border-top:1px solid rgba(255,255,255,.18);
    padding-top:.6rem;
  }
}

/* Evita heroes desproporcionados en teléfonos y tablets apaisados. */
@media (max-width:960px) and (max-height:600px) and (orientation:landscape) {
  .blt-home .blt-hero-carousel,
  .blt-home .blt-carousel__track,
  .blt-home .blt-carousel__slide,
  .blt-fanclub__hero,
  .blt-club__hero {
    min-height:auto;
  }

  .blt-home .blt-carousel__slide {
    padding-block:2.5rem 5.2rem;
  }

  .blt-fanclub__hero-inner,
  .blt-club__hero {
    padding-block:2.5rem 4rem;
  }

  .blt-fanclub__hero h1,
  .blt-club__hero h1,
  .blt-carousel__content h1,
  .blt-carousel__content h2 {
    font-size:clamp(2.2rem,8vh,3.35rem);
  }
}

@media (hover:none), (pointer:coarse) {
  .blt-carousel__indicator,
  .blt-carousel__control,
  .blt-senior-fixtures__control,
  .blt-roundboard__controls button,
  .blt-fanclub__instagram-control,
  .blt-fanclub__instagram-indicators button,
  .blt-social-links--footer .blt-social-links__link {
    min-height:44px;
    min-width:44px;
  }

  .blt-team-card:hover,
  .blt-directory-card:hover,
  .blt-news-card:hover,
  .blt-fanclub__gallery-item a:hover img,
  .blt-share__button:hover {
    transform:none;
  }
}

@media (prefers-reduced-motion:reduce) {
  .blt-roundboard__controls button,
  .blt-fanclub__instagram-indicators button span,
  .blt-share__button {
    transition:none;
  }
}
