/*
 * Pão com Palavra v300 — v244
 * Camada exclusivamente mobile/app.
 * Objetivo: corrigir navegação de categorias, destaque da Loja e carrosséis touch
 * sem alterar o layout desktop já aprovado na v243.
 */

@media (max-width: 760px), (max-width: 900px) and (pointer: coarse) {
  html,
  body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* =========================================================
     LOJA INTERNA — categorias legíveis, sem corte lateral
     ========================================================= */
  .shop-nav-wrap {
    position: relative !important;
    top: auto !important;
    z-index: 18 !important;
    overflow: visible !important;
    background: rgba(8, 8, 9, .86) !important;
    backdrop-filter: blur(14px) !important;
  }

  .shop-nav {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: visible !important;
    padding: 11px 0 12px !important;
    margin: 0 auto !important;
    justify-content: stretch !important;
    align-items: stretch !important;
  }

  .shop-nav-pill {
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    padding: 8px 10px !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.15 !important;
    font-size: clamp(11px, 3.2vw, 13px) !important;
  }

  .shop-nav-pill:first-child {
    grid-column: 1 / -1 !important;
  }

  /* Destaques: 1 card completo por vez. Nada de card cortado na lateral. */
  .shop-featured-section {
    overflow: hidden !important;
  }

  .shop-highlight-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-padding-inline: 0 !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 2px 0 7px !important;
    touch-action: pan-x pan-y !important;
  }

  .shop-highlight-grid::-webkit-scrollbar {
    display: none !important;
  }

  .shop-highlight-card {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
  }

  .shop-highlight-title {
    -webkit-line-clamp: 2 !important;
    line-height: 1.08 !important;
  }

  .shop-highlight-hook {
    -webkit-line-clamp: 2 !important;
  }

  /* =========================================================
     FERNANDO PINA — carrossel nativo para toque
     ========================================================= */
  #lancamentos .pao-music-carousel {
    position: relative !important;
    padding: 0 34px !important;
    overflow: visible !important;
  }

  #lancamentos .pao-music-viewport {
    width: 100% !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    touch-action: pan-x pan-y !important;
    border-radius: 24px !important;
  }

  #lancamentos .pao-music-viewport::-webkit-scrollbar {
    display: none !important;
  }

  #lancamentos .pao-music-rail {
    display: flex !important;
    grid-auto-flow: initial !important;
    grid-auto-columns: initial !important;
    width: max-content !important;
    min-width: max-content !important;
    gap: 12px !important;
    padding: 2px 0 10px !important;
    margin: 0 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
    backface-visibility: visible !important;
  }

  #lancamentos .pao-music-tile {
    flex: 0 0 min(76vw, 288px) !important;
    width: min(76vw, 288px) !important;
    min-width: min(76vw, 288px) !important;
    max-width: min(76vw, 288px) !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
  }

  #lancamentos .pao-music-arrow {
    top: 42% !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    z-index: 12 !important;
    pointer-events: auto !important;
    background: linear-gradient(180deg, rgba(7,19,33,.99), rgba(3,12,23,.98)) !important;
    color: #f6fbff !important;
    -webkit-text-fill-color: #f6fbff !important;
    border: 1px solid rgba(102,232,255,.42) !important;
    box-shadow: 0 0 20px rgba(102,232,255,.14), 0 10px 24px rgba(0,0,0,.28) !important;
  }

  #lancamentos .pao-music-arrow-prev { left: 0 !important; }
  #lancamentos .pao-music-arrow-next { right: 0 !important; }

  /* =========================================================
     PROGRAMAÇÃO DA SEMANA — mesmo padrão touch estável
     ========================================================= */
  #programacao-semana .weekly-pao-shell {
    position: relative !important;
    padding: 0 34px !important;
  }

  #programacao-semana .weekly-pao-window {
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scroll-behavior: smooth !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    touch-action: pan-x pan-y !important;
    border-radius: 24px !important;
  }

  #programacao-semana .weekly-pao-window::-webkit-scrollbar {
    display: none !important;
  }

  #programacao-semana .weekly-pao-track {
    display: flex !important;
    grid-auto-flow: initial !important;
    grid-auto-columns: initial !important;
    width: max-content !important;
    min-width: max-content !important;
    gap: 12px !important;
    padding: 2px 0 10px !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
    backface-visibility: visible !important;
  }

  #programacao-semana .weekly-pao-card {
    flex: 0 0 min(78vw, 300px) !important;
    width: min(78vw, 300px) !important;
    min-width: min(78vw, 300px) !important;
    max-width: min(78vw, 300px) !important;
    scroll-snap-align: center !important;
    scroll-snap-stop: always !important;
  }

  #programacao-semana .weekly-pao-arrow {
    top: 38% !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    z-index: 12 !important;
    pointer-events: auto !important;
    background: linear-gradient(180deg, rgba(7,19,33,.99), rgba(3,12,23,.98)) !important;
    color: #f6fbff !important;
    -webkit-text-fill-color: #f6fbff !important;
    border: 1px solid rgba(102,232,255,.42) !important;
    box-shadow: 0 0 20px rgba(102,232,255,.14), 0 10px 24px rgba(0,0,0,.28) !important;
  }

  #programacao-semana .weekly-pao-arrow.prev { left: 0 !important; }
  #programacao-semana .weekly-pao-arrow.next { right: 0 !important; }

  /* Paginação mobile comum aos dois carrosséis. */
  .pao-mobile-carousel-dots,
  #programacao-semana .weekly-pao-dots {
    display: flex !important;
    min-height: 18px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    margin: 11px auto 5px !important;
  }

  .pao-mobile-carousel-dots button,
  #programacao-semana .weekly-pao-dots button {
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.28) !important;
    box-shadow: none !important;
  }

  .pao-mobile-carousel-dots button.active,
  #programacao-semana .weekly-pao-dots button.active {
    width: 24px !important;
    background: #66e8ff !important;
    box-shadow: 0 0 12px rgba(102,232,255,.24) !important;
  }
}

@media (max-width: 390px) {
  .shop-nav { gap: 7px !important; }
  .shop-nav-pill { min-height: 46px !important; font-size: 11px !important; }
  #lancamentos .pao-music-carousel,
  #programacao-semana .weekly-pao-shell { padding-inline: 30px !important; }
  #lancamentos .pao-music-tile { flex-basis: min(78vw, 274px) !important; width:min(78vw,274px)!important; min-width:min(78vw,274px)!important; max-width:min(78vw,274px)!important; }
  #programacao-semana .weekly-pao-card { flex-basis: min(80vw, 286px) !important; width:min(80vw,286px)!important; min-width:min(80vw,286px)!important; max-width:min(80vw,286px)!important; }
}
