
/* Bid2Stay live production polish */
:root{
  --b2s-live-navy:#071b2f;
  --b2s-live-navy-2:#0b2945;
  --b2s-live-gold:#efb126;
  --b2s-live-ink:#10243a;
  --b2s-live-muted:#6e7e8e;
  --b2s-live-line:#dfe5e9;
  --b2s-live-bg:#f4f7f9;
  --b2s-live-card:#ffffff;
  --b2s-live-radius:14px;
  --b2s-live-shadow:0 10px 28px rgba(7,27,47,.055);
}

html{
  font-family:"Nunito",Arial,sans-serif;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
}

body,
button,
input,
select,
textarea,
table{
  font-family:"Nunito",Arial,sans-serif!important;
}

html,body{
  max-width:100%;
  overflow-x:hidden;
}

body{
  color:var(--b2s-live-ink);
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

img,
picture,
video,
canvas,
svg{
  max-width:100%;
}

img{
  height:auto;
}

figure{
  margin:0;
}

p,
li,
td,
th,
label,
span,
strong,
small,
a,
button,
input,
select,
textarea{
  overflow-wrap:anywhere;
  word-break:normal;
}

h1,h2,h3,h4,h5,h6{
  overflow-wrap:anywhere;
  text-wrap:balance;
}

p{
  text-wrap:pretty;
}

table{
  width:100%;
}

.table-wrap,
.scroll,
.cr-table-wrap,
.admin-table-wrap,
.dashboard-table-wrap,
[data-table-scroll]{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

.logo img,
.topbar .logo img,
.header-logo img,
.brand-logo img,
.sidebar-logo img,
[data-brand-logo] img{
  object-fit:contain!important;
  object-position:center!important;
}

.hero img,
.hero-image,
.destination-card img,
.travel-card img,
.property-card img,
.hotel-card img,
.vehicle-card img,
.car-card img,
.gallery img,
.card-media img,
[class*="image-holder"] img,
[class*="image-wrap"] img{
  width:100%;
  object-fit:cover;
  object-position:center;
}

section,
.page-section,
.content-section{
  scroll-margin-top:90px;
}

.main,
main{
  min-width:0;
}

.card,
.panel,
.dashboard-card,
.metric-card,
.summary-card,
.travel-service-card,
.cr-panel{
  max-width:100%;
}

input,
select,
textarea,
button{
  max-width:100%;
}

button,
a{
  touch-action:manipulation;
}

[hidden]{
  display:none!important;
}

/* Reduce excessive vertical gaps without flattening deliberate hero spacing */
main > section + section,
.main > section + section,
.page-content > section + section,
.content > section + section{
  margin-top:clamp(16px,2.4vw,30px);
}

section:empty,
div:empty[data-production-remove-empty="true"]{
  display:none!important;
}

/* Mobile consistency */
@media(max-width:900px){
  .layout{
    max-width:100%;
  }

  .main,
  main{
    width:100%;
    min-width:0;
  }

  .topbar-inner,
  .header-inner,
  .nav-inner{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  .grid,
  [class*="grid-"],
  [class$="-grid"]{
    min-width:0;
  }

  .hero,
  .page-hero,
  .dashboard-hero{
    min-height:auto!important;
  }

  .hero-content,
  .page-hero-content,
  .dashboard-hero-content{
    max-width:100%!important;
  }
}

@media(max-width:680px){
  body{
    font-size:15px;
  }

  h1{
    font-size:clamp(30px,10vw,42px)!important;
    line-height:1.06!important;
  }

  h2{
    font-size:clamp(23px,7.5vw,32px)!important;
  }

  .card,
  .panel,
  .dashboard-card,
  .metric-card,
  .summary-card,
  .cr-panel{
    border-radius:12px!important;
  }

  .button-row,
  .actions,
  .card-actions,
  .form-actions,
  .hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .button-row > *,
  .actions > *,
  .card-actions > *,
  .form-actions > *,
  .hero-actions > *{
    min-width:0;
  }

  .modal-card,
  .dialog-card,
  [role="dialog"] > div{
    width:min(94vw,620px)!important;
    max-height:90vh;
    overflow:auto;
  }

  input,
  select,
  textarea{
    font-size:16px!important;
  }
}
