
/* === LB-Phone / FiveM mobile public layout === */
@media (max-width: 520px){
  html,body{
    width:100%;
    overflow-x:hidden!important;
    background:#050506!important;
  }
  body{
    font-size:14px!important;
    -webkit-text-size-adjust:100%;
  }
  .container,
  .hotel-wrap,
  .hotel-section-wide,
  .section.container,
  .casino-section,
  .casino-strip{
    width:100%!important;
    max-width:100%!important;
    padding-left:14px!important;
    padding-right:14px!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  /* Public nav fits LB-Phone */
  .diamond-public-nav{
    position:sticky!important;
    top:0!important;
    z-index:9999!important;
  }
  .diamond-nav-inner{
    width:100%!important;
    height:62px!important;
    padding:0 10px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  .diamond-brand{
    min-width:0!important;
    gap:8px!important;
  }
  .diamond-brand img{
    width:42px!important;
    height:32px!important;
  }
  .diamond-brand strong{
    font-size:15px!important;
    white-space:nowrap!important;
  }
  .diamond-brand small{
    font-size:8px!important;
    letter-spacing:.12em!important;
  }
  .diamond-nav-toggle{
    display:block!important;
    padding:8px 10px!important;
    font-size:18px!important;
  }
  .diamond-nav-links,.diamond-nav-user{
    display:none!important;
  }
  body.nav-open .diamond-nav-links{
    display:flex!important;
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:68px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:8px!important;
    background:#080809!important;
    border:1px solid rgba(212,175,55,.28)!important;
    border-radius:18px!important;
    box-shadow:0 20px 80px rgba(0,0,0,.65)!important;
  }
  body.nav-open .diamond-nav-links a{
    padding:12px 14px!important;
    font-size:14px!important;
  }
  body.nav-open .diamond-nav-user{
    display:flex!important;
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:380px!important;
    padding:8px!important;
    background:#080809!important;
    border:1px solid rgba(212,175,55,.28)!important;
    border-radius:18px!important;
  }
  .user-pill,.login-pill{
    width:100%!important;
    min-width:0!important;
    padding:8px!important;
  }
  .user-pill b{width:34px!important;height:34px!important}
  .user-pill span strong{font-size:13px!important}
  .user-pill span small{font-size:11px!important}

  /* Public hero sections */
  .mega-hero,
  .casino-hero,
  .packages-hero,
  .hotel-hero-like{
    min-height:auto!important;
    padding:34px 0!important;
  }
  .mega-hero-inner,
  .casino-hero-inner{
    display:block!important;
    padding:26px 14px!important;
  }
  .hero-copy h1,
  .casino-hero h1{
    font-size:40px!important;
    line-height:.92!important;
    margin:8px 0 14px!important;
    word-break:normal!important;
  }
  .hero-copy p,
  .casino-lead{
    font-size:14px!important;
    line-height:1.55!important;
  }
  .mega-kicker,
  .casino-kicker,
  .hotel-kicker{
    font-size:9px!important;
    letter-spacing:.16em!important;
  }
  .package-microbar,
  .hotel-microbar{
    gap:8px!important;
    font-size:11px!important;
    margin-top:14px!important;
  }
  .package-microbar i,
  .hotel-microbar i{
    width:24px!important;
  }
  .hotel-hero-actions,
  .casino-actions,
  .hotel-actions{
    gap:8px!important;
    margin-top:16px!important;
  }
  .mega-btn,
  .casino-btn,
  .hotel-btn,
  .btn{
    min-height:38px!important;
    padding:10px 13px!important;
    font-size:12px!important;
    border-radius:999px!important;
  }

  /* Grids become one column and compact */
  .package-grid,
  .package-card-grid,
  .casino-card-grid,
  .plan-grid,
  .room-grid,
  .hotel-package-grid,
  .hotel-room-grid,
  .hotel-stats,
  .casino-strip,
  .grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .section,
  .casino-section{
    padding:36px 0!important;
  }
  .mega-section-head,
  .casino-section-head,
  .section-title{
    display:block!important;
    margin-bottom:14px!important;
  }
  .mega-section-head h2,
  .casino-section-head h2,
  .section-title h2{
    font-size:30px!important;
    line-height:1.05!important;
  }
  .gold-pill{
    display:inline-flex!important;
    margin-top:10px!important;
    padding:8px 12px!important;
    font-size:12px!important;
  }

  /* Cards */
  .package-card,
  .hotel-package-card,
  .hotel-room-card,
  .casino-card,
  .plan-card,
  .room-card,
  .card,
  .hotel-card{
    min-height:0!important;
    padding:18px!important;
    border-radius:22px!important;
    transform:none!important;
  }
  .package-card h3,
  .hotel-package-card h3,
  .casino-card h3{
    font-size:24px!important;
    margin:14px 0 6px!important;
  }
  .price-tag,
  .home-price,
  .price{
    font-size:28px!important;
  }
  .perk-grid{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:12px 0!important;
  }
  .perk-grid div{
    padding:9px!important;
    border-radius:12px!important;
  }
  .perk-grid span{
    font-size:11px!important;
  }
  .package-head b,
  .room-card-top b{
    width:38px!important;
    height:38px!important;
    border-radius:13px!important;
  }

  /* Important: Kontakt casinoet button must always be visible */
  .package-contact-btn,
  .package-card .mega-btn.full,
  .package-card a[href*="ansog.php"]{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    margin-top:auto!important;
  }

  /* Hotel modal fits phone */
  .hotel-modal{
    padding:8px!important;
    align-items:flex-start!important;
    overflow:auto!important;
  }
  .hotel-modal-card{
    width:100%!important;
    max-width:100%!important;
    max-height:96vh!important;
    padding:18px!important;
    border-radius:22px!important;
    margin-top:8px!important;
  }
  .modal-head h2{
    font-size:28px!important;
  }
  .modal-close{
    width:36px!important;
    height:36px!important;
    right:12px!important;
    top:12px!important;
    border-radius:12px!important;
  }
  .hotel-form-grid,
  .form-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .hotel-form-grid input,
  .hotel-form-grid select,
  .hotel-form-grid textarea,
  .form-row input,
  .form-row select,
  .form-row textarea{
    padding:12px!important;
    font-size:14px!important;
    border-radius:14px!important;
  }
  .hotel-form-grid textarea{
    min-height:105px!important;
  }

  /* Tables on phone */
  .table{
    display:block!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    font-size:12px!important;
  }

  /* Footer */
  footer,
  .footer{
    padding-left:14px!important;
    padding-right:14px!important;
  }
}

/* Extra small LB phone browser */
@media (max-width: 390px){
  .hero-copy h1,
  .casino-hero h1{
    font-size:34px!important;
  }
  .mega-section-head h2,
  .casino-section-head h2{
    font-size:26px!important;
  }
  .diamond-brand strong{font-size:13px!important}
  .diamond-brand small{font-size:7px!important}
  .diamond-brand img{width:36px!important}
  .mega-btn,.casino-btn,.hotel-btn,.btn{font-size:11px!important;padding:9px 11px!important}
}
