/* GABUM-MOBILE-RESPONSIVE-20261013-7
   Capa movil unificada del tema hijo: 320-767 px, sin reglas por dispositivo. */
@media (max-width: 767px), (max-width: 932px) and (max-height: 500px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  img,
  video,
  iframe,
  table {
    max-width: 100%;
  }

  #wrapper,
  #content-wrapper,
  #main,
  .container,
  .row,
  .product-container,
  .product-information,
  .product-miniature,
  .cart-grid,
  .checkout-step {
    min-width: 0;
  }

  #header .header-nav {
    margin-bottom: 0;
    max-height: none;
    overflow: visible;
  }

  #header .gabum-mobile-language {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    flex: 0 1 auto;
    min-width: 0;
    width: auto;
    min-height: 34px;
    padding: 0;
    text-align: left;
  }

  #header .gabum-mobile-language .language-selector-wrapper {
    align-items: center;
    display: flex;
    justify-content: flex-start;
    gap: .15rem;
    width: auto;
    white-space: nowrap;
  }

  #header .gabum-mobile-language #language-selector-label {
    color: #fff;
    font-size: 13px;
    font-weight: 500;
    margin: 0;
  }

  #header .gabum-mobile-language .language-selector {
    margin: 0;
    min-width: 0;
  }

  #header .gabum-mobile-language .language-selector select {
    background: transparent;
    border: 0;
    border-radius: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    max-width: 105px;
    min-height: 32px;
    padding: .1rem .25rem;
  }

  #header .gabum-mobile-language .language-selector option {
    background: #fff;
    color: #10233f;
  }

  /* Keep expanded footer menus on the same navy background as their headings. */
  #footer .links .collapse,
  #footer .links .collapsing,
  #footer .links .account-list {
    background: var(--gabum-ink);
  }

  #footer .links .collapse a,
  #footer .links .account-list a {
    color: #fff;
  }

  #footer .links .collapse a:hover,
  #footer .links .collapse a:focus,
  #footer .links .account-list a:hover,
  #footer .links .account-list a:focus {
    color: var(--gabum-yellow);
  }

  /* Keep the add-to-cart confirmation actions compact and legible on phones. */
  #blockcart-modal .modal-body .cart-content .cart-content-btn {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    margin-top: 14px;
  }

  #blockcart-modal .modal-body .cart-content .cart-content-btn .btn {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    height: auto;
    min-height: 44px;
    min-width: 0;
    padding: 9px 12px;
    width: 100%;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
  }

  #blockcart-modal .modal-body .cart-content .cart-content-btn .material-icons {
    font-size: 18px;
    margin-right: 5px;
  }

  #header .header-top {
    padding-bottom: .75rem;
    padding-top: .75rem;
  }

  #search_widget,
  #search_widget form,
  #search_widget input[type="text"] {
    box-sizing: border-box;
    max-width: 100%;
    width: 100%;
  }

  .gabum-home-carousel {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 100%;
    overflow: visible;
    padding: 0 1rem;
    width: 100%;
  }

  .gabum-home-carousel #carousel {
    box-sizing: border-box;
    left: auto !important;
    margin: 0 !important;
    max-width: 100%;
    right: auto !important;
    width: 100% !important;
  }

  .gabum-home-carousel #carousel .carousel-inner,
  .gabum-home-carousel--fr #carousel .carousel-inner {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0;
  }

  .gabum-home-carousel #carousel .carousel-item,
  .gabum-home-carousel #carousel .carousel-item > a,
  .gabum-home-carousel #carousel .carousel-item figure {
    height: auto;
  }

  .gabum-home-carousel #carousel .carousel-item figure {
    background: #09284d;
    display: flex;
    flex-direction: column;
  }

  .gabum-home-carousel #carousel .carousel-item img {
    display: block;
    height: clamp(170px, 52vw, 230px);
    object-fit: cover;
    object-position: center;
    width: 100%;
  }

  .gabum-home-carousel #carousel .caption,
  .gabum-home-carousel--fr #carousel .caption {
    align-items: stretch;
    background: #09284d !important;
    bottom: auto;
    box-sizing: border-box;
    display: block !important;
    flex-direction: column;
    height: auto;
    inset: auto;
    left: auto;
    margin: 0 !important;
    max-width: 100%;
    min-width: 0;
    padding: clamp(.9rem, 4vw, 1.2rem) clamp(1rem, 4.5vw, 1.25rem) clamp(1rem, 4.5vw, 1.35rem) !important;
    position: relative;
    right: auto;
    top: auto;
    width: 100%;
  }

  .gabum-home-carousel #carousel .caption .display-1 {
    display: block;
    font-size: clamp(.64rem, 2.7vw, .72rem);
    line-height: 1.25;
    margin: 0 0 .6rem;
    overflow-wrap: anywhere;
    width: 100%;
  }

  .gabum-home-carousel #carousel .caption-description {
    display: block;
    max-width: none;
    min-width: 0;
    width: 100%;
  }

  .gabum-home-carousel #carousel .caption-description h3,
  html[lang^="fr"] .gabum-home-carousel #carousel .caption-description h3 {
    font-size: clamp(1.35rem, 6.4vw, 1.9rem);
    line-height: 1.08;
    margin: 0 0 .7rem;
    overflow-wrap: anywhere;
  }

  .gabum-home-carousel #carousel .caption-description p,
  html[lang^="fr"] .gabum-home-carousel #carousel .caption-description p {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    display: -webkit-box;
    font-size: clamp(.82rem, 3.4vw, .92rem);
    line-height: 1.38;
    margin: 0;
    overflow: hidden;
    overflow-wrap: anywhere;
  }

  .gabum-home-carousel #carousel .gabum-slide-cta,
  .gabum-home-carousel--fr #carousel .caption .gabum-slide-cta {
    bottom: auto !important;
    box-sizing: border-box;
    align-items: center;
    display: inline-flex;
    font-size: clamp(.84rem, 3.5vw, .92rem);
    justify-content: center;
    line-height: 1.25;
    margin: 1rem 0 0;
    max-width: 100%;
    min-height: 44px;
    padding: .7rem 1rem;
    position: static !important;
    right: auto !important;
    text-align: center;
    white-space: normal;
  }

  .gabum-home-carousel #carousel .carousel-control {
    bottom: auto;
    height: clamp(170px, 52vw, 230px);
    top: 0;
  }

  .gabum-home-carousel #carousel .direction {
    bottom: auto !important;
    height: clamp(170px, 52vw, 230px);
    top: 0 !important;
  }

  .gabum-home-carousel #carousel .direction .carousel-control {
    bottom: 0 !important;
    height: 100%;
    top: 0 !important;
  }

  .gabum-home-carousel #carousel .carousel-indicators {
    bottom: auto;
    left: auto;
    margin: .55rem auto 0;
    position: relative;
    right: auto;
    width: max-content;
  }

  .gabum-stores {
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr);
    margin: 1.15rem auto 2.5rem;
    max-width: 100%;
    padding: 0 1rem;
  }

  .gabum-store-card {
    min-height: 245px;
    padding: 1.2rem;
  }

  .gabum-store-card__type {
    font-size: .72rem;
    overflow-wrap: break-word;
  }

  .gabum-store-card strong {
    font-size: clamp(1.25rem, 6vw, 1.65rem);
    overflow-wrap: break-word;
  }

  .gabum-category-hero {
    background: #09284d;
    display: block;
    min-height: 0;
    padding: clamp(170px, 52vw, 220px) 1.25rem 1.5rem;
  }

  .gabum-category-hero__image {
    height: clamp(170px, 52vw, 220px);
    object-fit: cover;
    object-position: center;
    width: 100%;
  }

  .gabum-category-hero::before {
    background: linear-gradient(to bottom, rgba(5,25,50,0) 0, rgba(5,25,50,.18) 72%, #09284d 100%);
  }

  .gabum-category-hero__content {
    max-width: 100%;
    min-width: 0;
  }

  .gabum-category-hero h1 {
    font-size: clamp(1.85rem, 8vw, 2.5rem);
    line-height: 1.08;
    overflow-wrap: break-word;
  }

  .gabum-category-hero p {
    font-size: .98rem;
    line-height: 1.45;
    overflow-wrap: break-word;
  }

  .gabum-category-hero__cta {
    box-sizing: border-box;
    line-height: 1.25;
    max-width: 100%;
    text-align: center;
    white-space: normal;
  }

  h1,
  h2,
  h3,
  p,
  a,
  button,
  .btn {
    overflow-wrap: anywhere;
  }

  button,
  .btn,
  input[type="submit"] {
    min-height: 44px;
  }

  /* Product quantity: the two spinner arrows share one compact row height. */
  body#product .product-quantity .qty .bootstrap-touchspin {
    height: 48px;
    width: 72px;
  }

  body#product .product-quantity .qty .bootstrap-touchspin #quantity_wanted {
    box-sizing: border-box;
    height: 48px;
    min-height: 48px;
    width: 48px;
  }

  body#product .product-quantity .qty .bootstrap-touchspin .input-group-btn-vertical {
    width: 24px;
  }

  body#product .product-quantity .qty .bootstrap-touchspin .input-group-btn-vertical > .btn {
    box-sizing: border-box;
    height: 24px;
    min-height: 24px;
    padding: 0;
    width: 24px;
  }

  .modal-dialog,
  .modal-content {
    box-sizing: border-box;
    max-width: calc(100vw - 1.5rem);
  }

  .modal-dialog {
    margin-left: auto;
    margin-right: auto;
  }
}
