/* ===============================
   MOBILE OVERRIDES (<= 900px)
   =============================== */
   @media (max-width: 900px){
    .daily-game__card br{
      display: none;
    }
  
    .game-email__title{
      color: #77101E;
      text-align: center;
      font-family: Henriette, serif;
      font-size: 25px;
      font-style: normal;
      font-weight: 700;
      line-height: 110%;
      margin: 10px 0 22px;
    }
    .site-header{
      height: 92px;
    }
  
    .site-header__bg,
    .site-header__content,
    .site-header__logo-hit{
      display: none;
    }
  
    .site-header__mobile{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      height: 107px;
      padding: 0 20px;
      background: url("/assets/ui/desktop/mobile_head.png") center/cover no-repeat;
      position: relative;
      z-index: 2;
    }
  
    .site-header__mobile-logo-hit{
      position: absolute;
      left: 50%;
      top: 8px;
      width: min(58vw, 240px);
      height: 60px;
      transform: translateX(-50%);
      z-index: 3;
      text-decoration: none;
    }
  
    .site-header__burger{
      width: 40px;
      height: 40px;
      border: 0;
      padding: 0;
      background: transparent;
      display:flex;
      flex-direction: column;
      align-items:center;
      justify-content:center;
      gap: 6px;
      cursor: pointer;
      position: relative;
      z-index: 4;
    }
  
    .site-header__burger span{
      display:block;
      width: 26px;
      height: 2px;
      background: #fff;
      border-radius: 2px;
    }
  
    .site-header__mobile-menu{
      position: absolute;
      top: 92px;
      left: 0;
      right: 0;
      background: #8D1003;
      display: none;
      flex-direction: column;
      gap: 14px;
      padding: 16px 24px 20px;
      z-index: 3;
    }
  
    .site-header__mobile-menu.is-open{
      display: flex;
    }
  
    .site-header__mobile-menu a{
      color: #fff;
      text-decoration: none;
      font-family: var(--font-ui);
      font-size: 16px;
      text-transform: uppercase;
    }
  
    .hero-blue{
      width: 100%;
      background: var(--hero-bg);
      position: relative;
      overflow: hidden;
      margin-top: -6px;
      z-index: 10;
    }
  
    .hero-blue__inner{
      display:block;
      padding: 16px 0 28px;
    }
  
    .hero-blue__left,
    .hero-blue__right{
      display:none;
    }
  
    .hero-blue__mobile{
      display:flex;
      flex-direction:column;
      align-items:center;
      gap: 16px;
      padding: 8px 16px 20px;
    }
  
    .hero-blue__mobile-title{
      width: min(52vw, 360px);
      height: auto;
      display:block;
    }
  
    .hero-blue__mobile-text{
      color: #043C7A;
      text-align: center;
      font-family: Henriette, serif;
      font-size: 25px;
      font-style: normal;
      font-weight: 400;
      line-height: normal;
      margin: 4px 0 2px;
    }
  
    .hero-blue__mobile-oui{
      color: #043C7A;
      font-family: Henriette, serif;
      font-size: 25px;
      font-style: italic;
      font-weight: 700;
      line-height: normal;
    }
  
    .hero-blue__mobile-prize,
    .hero-blue__mobile-gifts,
    .hero-blue__mobile-frame{
      width: min(92vw, 520px);
      height: auto;
      display:block;
    }
  
    .hero-blue__action--mobile{
      text-align:center;
    }
  
    /* DAILY GAME: show flags in mobile */
    .daily-game__flags{
      display: block;
      height: 58px;
      top: 10px;
      width: 50%;
      max-width: 220px;
    }
  
    .daily-game__flags--left{
      left: 0;
    }
  
    .daily-game__flags--right{
      right: 0;
    }
  
    .daily-game__card{
      padding-top: 64px;
    }
  
    .daily-game__title{
      color: #FFF;
      text-align: center;
      font-family: Henriette, Georgia, "Times New Roman", serif;
      font-size: 20px;
      font-style: normal;
      font-weight: 400;
      line-height: 140%;
    }
  
    .daily-game__subtitle{
      color: #FFF;
      font-family: Henriette, Georgia, "Times New Roman", serif;
      font-size: 20px;
      font-style: italic;
      font-weight: 700;
      line-height: 140%;
    }
  
    .daily-game--hide-head .daily-game__head{
      display: none;
    }
  
    .daily-game--hide-head .daily-game__card{
      margin-top: 0;
    }
  
    .bp-form__title,
    .bp-form__subtitle{
      font-size: 20px;
    }
  
    .bp-form__actions{
      flex-direction: row;
      align-items: center;
      gap: 10px;
    }
  
    .bp-btn{
      width: calc(50% - 6px);
      height: 40px;
      font-size: 14px;
      white-space: nowrap;
    }
  
    .bp-check{
      touch-action: manipulation;
      cursor: pointer;
      align-items: flex-start;
    }
  
    .bp-check__box{
      touch-action: manipulation;
    }
  
    .bp-check__text{
      user-select: none;
      cursor: pointer;
    }

    /* FIX: Chrome Android tap on bp-form checkboxes
       - ensure checks are above any overlays and can receive pointer events
       - increase hit area by making label full-width block
    */
    .bp-form__checks{
      position: relative;
      z-index: 5;
      pointer-events: auto;
    }

    label.bp-check{
      position: relative;
      z-index: 5;
      display: flex;
      width: 100%;
      padding: 6px 0;          /* bigger tap target */
      pointer-events: auto;
      -webkit-tap-highlight-color: transparent;
    }

    .bp-check__box,
    .bp-check__text{
      pointer-events: auto;
    }

    /* keep the regulament link clickable */
    .bp-check__text a{
      pointer-events: auto;
    }

    /* TEMP reset: make checkboxes simple & functional (native) */
    .bp-form__checks,
    .bp-form__checks *{
      position: static !important;
      z-index: auto !important;
      pointer-events: auto !important;
      touch-action: auto !important;
    }

    .bp-form__checks{
      display: block !important;
    }

    .bp-check__box{
      width: auto !important;
      height: auto !important;
      min-width: 0 !important;
      min-height: 0 !important;
      accent-color: auto !important;
    }

    .bp-check__text{
      user-select: auto !important;
      cursor: auto !important;
    }

    /* Layout for simple native checkbox + label (index.php) */
    .bp-form__checks > div{
      display: flex;
      align-items: flex-start;
      gap: 10px;
    }

    .bp-form__checks > div > .bp-check__box{
      flex: 0 0 auto;
      margin-top: 2px; /* align optical with first text line */
    }

    .bp-form__checks > div > label.bp-check__text{
      flex: 1 1 auto;
      min-width: 0;
      white-space: normal; /* allow wrapping to next lines */
      display: block;
    }

    /* Easier tapping: more space between checkbox rows + bigger row hit-area */
    .bp-form__checks{
      gap: 14px !important; /* was effectively ~0 because of block divs */
    }

    .bp-form__checks > div{
      padding: 6px 0; /* increases tap target height */
    }
  
    /* PRODUCTS: show arrows on mobile */
    .products__carousel-wrap{
      padding: 0 28px;
    }
  
    .products__nav{
      display: inline-flex;
      width: 36px;
      height: 36px;
      top: 50%;
      transform: translateY(-50%);
      z-index: 2;
    }
  
    .products__nav--prev{ left: -4px; }
    .products__nav--next{ right: -4px; }
  
    .products__nav svg{ width: 18px; height: 18px; }
  
    /* CÂȘTIGĂTORI / COOKIES card */
    .mecanica-castigatori{
      max-width: 92vw;
      margin: 20px auto 18px;
      padding: 18px 16px 16px;
    }
  
    /* FOOTER (mobile) */
    .site-footer{
      padding: 220px 0 40px;
      background-image: url("/assets/ui/desktop/footer_paris.png");
      background-repeat: no-repeat;
      background-position: center top;
      background-size: 100% auto;
    }
  
    .site-footer__inner{
      padding: 0 14px;
    }
  
    .site-footer__card{
      border-radius: 14px;
      padding: 22px 18px 20px;
    }
  
    .site-footer__text{
      font-size: 14px;
      line-height: 150%;
    }
  
    .site-footer__social{
      margin-top: 16px;
      gap: 16px;
    }
  
    .site-footer__social-link{
      width: 40px;
      height: 40px;
    }
  
    .site-footer__social-link img{
      height: 26px;
    }
  
    .site-footer__divider{
      margin: 16px auto 14px;
    }
  
    .site-footer__link,
    .site-footer__sep{
      font-size: 14px;
    }
  
    /* MID CARD: mobile/tablet layout like design */
    .mid-card{
      margin-top: -24px;
      margin-bottom: 22px;
      padding: 0 14px;
    }
  
    .mid-card__inner{
      grid-template-columns: 1fr;
      gap: 14px;
      padding: 16px 14px;
      border-radius: 14px;
      justify-items: center;
      text-align: center;
    }
  
    .mid-card__steps{
      order: 1;
      width: 100%;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      justify-items: center;
    }
  
    .mid-card__step{
      min-width: 0;
      text-align: center;
    }
  
    .mid-card__icon{
      width: 32px;
      margin-bottom: 8px;
    }
  
    .mid-card__txt{
      font-size: 13px;
      line-height: 1.2;
    }
  
    .mid-card__packshots{
      order: 2;
      width: 100%;
    }
  
    .mid-card__packshots img{
      width: min(300px, 80%);
      margin: 0 auto;
    }
  }
  
  /* Tablet mode (still mobile header/menu) */
  @media (min-width: 768px) and (max-width: 900px){
    .site-header{
      height: 157px;
    }
  
    .site-header__mobile{
      height: 177px;
  
    }
  
    .site-header__mobile-logo-hit{
      top: 16px;
      width: min(52vw, 300px);
      height: 78px;
    }
  
    .site-header__mobile-menu{
      top: 177px;
    }
  
    .daily-game__flags{
      height: 76px;
      top: 10px;
      width: 54%;
      max-width: 260px;
    }
  
    .daily-game__card{
      padding-top: 70px;
    }
  
    .products__nav{
      width: 40px;
      height: 40px;
    }
  
    .products__nav--prev{ left: -6px; }
    .products__nav--next{ right: -6px; }
  
    .products__nav svg{ width: 20px; height: 20px; }
  
    .mecanica-castigatori{
      max-width: 94vw;
      margin: 24px auto 20px;
      padding: 20px 18px 18px;
    }
  
    .site-footer{
      padding: 260px 0 46px;
    }
  
    .site-footer__inner{
      padding: 0 18px;
    }
  
    .site-footer__card{
      padding: 26px 22px 24px;
    }
  
    .site-footer__text{
      font-size: 15px;
    }
  
    .mid-card{
      margin-top: -28px;
      margin-bottom: 26px;
      padding: 0 18px;
    }
  
    .mid-card__inner{
      padding: 18px 18px;
      gap: 16px;
    }
  
    .mid-card__icon{
      width: 36px;
      margin-bottom: 10px;
    }
  
    .mid-card__txt{
      font-size: 14px;
    }
  
    .mid-card__packshots img{
      width: min(360px, 85%);
    }
  }
  
  @media (max-width: 520px){
    .daily-game__flags{
      height: 42px;
      top: 8px;
      width: 40%;
      max-width: 200px;
    }
  
    .daily-game__card{
      margin: 14px auto 0;
      max-width: 343px;
      padding: 22px 16px 26px;
    }
  
    .daily-game__bonjour{
      width: 180px;
      max-width: 40%;
      margin-bottom: 12px;
      margin-top: 20px;
    }
  
    .products__carousel-wrap{
      padding: 0 22px;
    }
  
    .products__nav{
      width: 32px;
      height: 32px;
    }
  
    .products__nav--prev{ left: -2px; }
    .products__nav--next{ right: -2px; }
  
    .products__nav svg{ width: 16px; height: 16px; }
  
    .mecanica-castigatori{
      max-width: 94vw;
      margin: 18px auto 16px;
      padding: 16px 14px 14px;
    }
  
    .site-footer{
      padding: 30px 0 16px;
    }
  
    .site-footer__inner{
      padding: 0 12px;
    }
  
    .site-footer__card{
      padding: 20px 16px 18px;
    }
  
    .site-footer__text{
      font-size: 13px;
    }
  
    .site-footer__link,
    .site-footer__sep{
      font-size: 13px;
    }
  
    .mid-card__steps{
      gap: 10px;
    }
  
    .mid-card__icon{
      width: 28px;
    }
  
    .mid-card__txt{
      font-size: 12px;
    }
  
    .mid-card__packshots img{
      width: min(260px, 78%);
    }
  }
