/* Mobile layout refinements for 3-card sections */
@media(max-width:680px){
  /* Popular options: keep two cards on the first row, let the third fill the row. */
  .package-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .package{
    min-width:0;
    padding:20px 16px!important;
  }
  .package h3{font-size:1.55rem!important}
  .package .price{font-size:2.05rem!important}
  .package ul{font-size:.86rem!important}
  .package:nth-child(3){
    grid-column:1/-1;
    min-height:0;
  }

  /* Trip cards: the Antalya card becomes a full-width landscape card. */
  .trip-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .trip-card{min-width:0}
  .trip-card img{height:220px!important}
  .trip-card div{padding:18px!important}
  .trip-card:nth-child(3){
    grid-column:1/-1;
    display:grid;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
    align-items:stretch;
  }
  .trip-card:nth-child(3) img{
    width:100%;
    height:100%!important;
    min-height:230px;
    object-fit:cover;
  }
  .trip-card:nth-child(3) div{
    display:flex;
    flex-direction:column;
    justify-content:center;
  }
}

@media(max-width:390px){
  /* Very narrow phones: readability wins over density. */
  .package-grid{grid-template-columns:1fr!important}
  .package:nth-child(3){grid-column:auto}
  .trip-grid{grid-template-columns:1fr!important}
  .trip-card:nth-child(3){grid-column:auto;display:block}
  .trip-card:nth-child(3) img{height:220px!important;min-height:0}
}
