/*
 * Hotel Nest In Platinum Stays
 * Professional Polish V2
 * Desktop + mobile refinement only.
 */


/* =========================================================
   DESKTOP BRAND / HEADER
   ========================================================= */

@media(min-width:861px){

  .nav-wrap{
    min-height:82px;
  }

  .brand-copy strong{
    max-width:none;
    white-space:nowrap;
    font-size:13.5px;
    letter-spacing:1.15px;
  }

  .brand-copy small{
    white-space:nowrap;
  }

  .brand-mark.brand-image{
    width:50px;
    height:50px;
  }

  .nav a{
    padding-top:29px;
    padding-bottom:29px;
  }

  .nav a:after{
    bottom:20px;
  }

  .hero-reserve{
    transform:translateY(-10px);
  }

  .hero-copy>p{
    max-width:620px;
  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media(min-width:621px) and (max-width:860px){

  .brand-copy strong{
    white-space:nowrap;
    max-width:none;
  }

  .hero-reserve{
    max-width:660px;
  }

}


/* =========================================================
   MOBILE — HERO
   ========================================================= */

@media(max-width:620px){

  .hero-grid{
    padding-top:46px;
    padding-bottom:28px;
    gap:24px;
  }

  .hero-copy{
    width:100%;
  }

  .hero-kicker{
    margin-bottom:4px;
  }

  .hero h1{
    max-width:360px;
    margin-top:16px;
    margin-bottom:18px;
    font-size:clamp(38px,11.4vw,47px);
    line-height:1.025;
  }

  .hero-copy>p{
    max-width:355px;
    font-size:14px;
    line-height:1.65;
  }


  /* Primary actions become compact side-by-side */

  .hero-actions{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:8px;
    margin-top:24px;
  }

  .hero-actions .btn{
    min-width:0;
    padding-left:10px;
    padding-right:10px;
    font-size:11px;
    white-space:nowrap;
  }


  /* Three hotel facts in one balanced row */

  .hero-proof{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    margin-top:30px;
    border-top:1px solid rgba(255,255,255,.22);
  }

  .hero-proof>div{
    min-width:0;
    margin:0;
    padding:15px 8px 3px;
    border-right:1px solid rgba(255,255,255,.14);
  }

  .hero-proof>div:last-child{
    border-right:0;
  }

  .hero-proof strong{
    font-size:18px;
    line-height:1.1;
    white-space:nowrap;
  }

  .hero-proof span{
    margin-top:5px;
    font-size:6.8px;
    line-height:1.35;
    letter-spacing:.75px;
  }


  /* Booking widget */

  .hero-reserve{
    margin-top:5px;
    padding:20px 16px;
    border-radius:12px;
    box-shadow:0 20px 52px rgba(2,20,15,.18);
  }

  .reserve-head{
    gap:11px;
    margin-bottom:17px;
  }

  .reserve-icon{
    width:44px;
    height:44px;
  }

  .reserve-head h2{
    font-size:27px;
  }

  .reserve-head small{
    font-size:8px;
  }


  /*
   * Keep all four booking controls,
   * but use two columns on normal phones.
   */

  .reserve-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px 8px;
  }

  .reserve-grid label{
    min-width:0;
    font-size:8px;
    letter-spacing:.8px;
  }

  .reserve-grid input,
  .reserve-grid select{
    min-width:0;
    width:100%;
    min-height:48px;
    padding:11px 9px;
    font-size:11px;
  }

  .reserve-btn{
    min-height:50px;
    margin-top:11px;
    font-size:12px;
  }

  .reserve-note{
    font-size:8px;
  }


  /* Cleaner mobile room cards */

  .room-media{
    height:275px;
  }

  .room-body{
    padding:23px 19px;
  }

  .room-body h3{
    font-size:28px;
  }


  /* Gallery */

  .gallery-grid{
    gap:9px;
  }


  /* Footer spacing above fixed mobile booking controls */

  footer{
    padding-bottom:105px;
  }

}


/* =========================================================
   NARROW PHONES
   ========================================================= */

@media(max-width:360px){

  .brand-copy strong{
    max-width:155px;
  }

  .hero h1{
    font-size:36px;
  }

  .hero-actions{
    grid-template-columns:1fr;
  }

  .reserve-grid{
    grid-template-columns:1fr;
  }

  .hero-proof strong{
    font-size:16px;
  }

  .hero-proof span{
    font-size:6.2px;
  }

}


/* =========================================================
   FIXED MOBILE ACTION BAR
   ========================================================= */

@media(max-width:620px){

  .mobile-booking-bar{
    height:64px;
    background:#fff;
    border-top:1px solid rgba(8,42,33,.10);
    box-shadow:0 -8px 26px rgba(4,23,18,.09);
  }

  .mobile-booking-bar a{
    font-size:8px;
    letter-spacing:.1px;
  }

  .mobile-booking-bar a svg{
    width:18px;
    height:18px;
  }

  .mobile-booking-bar .wa{
    background:#20c96b;
  }

  .mobile-booking-bar .book{
    background:#073428;
  }

}


/* =========================================================
   TOUCH / MOTION QUALITY
   ========================================================= */

@media(hover:none){

  .room-card:hover,
  .amenity-card:hover,
  .btn:hover{
    transform:none;
  }

}
