/* ==========================================================
   Mexora — salon offer cards + live booking consistency
   ========================================================== */

.salon-offers-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.salon-offer-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:11px;
  padding:18px;
  border:1px solid #27363e;
  border-radius:15px;
  background:linear-gradient(145deg,#0d171c,#0a1115);
  box-sizing:border-box;
}

.salon-offer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:27px;
}

.salon-offer-top .discount-badge{
  position:static!important;
  inset:auto!important;
  flex:0 0 auto;
}

.salon-offer-top small{
  color:#87969e;
  font-size:10px;
  white-space:nowrap;
}

.salon-offer-card h3{
  margin:0;
  font-size:18px;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.salon-offer-card>p{
  margin:0;
  max-width:680px;
  color:#91a0a7;
  line-height:1.55;
}

.salon-offer-card>.mini-tag{
  align-self:flex-start;
  margin:1px 0 2px;
}

.salon-offer-bottom{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
  margin-top:3px;
  padding-top:14px;
  border-top:1px solid #1f2c33;
}

.salon-offer-bottom>div{
  display:flex;
  align-items:baseline;
  gap:9px;
  min-width:0;
}

.salon-offer-bottom del{
  color:#738189;
  font-size:12px;
}

.salon-offer-bottom strong{
  color:#fff;
  font-size:20px;
  line-height:1;
}

.salon-offer-bottom .btn{
  position:static!important;
  inset:auto!important;
  margin:0!important;
  flex:0 0 auto;
  min-height:39px;
  padding:9px 14px;
  white-space:nowrap;
}

@media(max-width:700px){
  .salon-offer-card{
    padding:15px;
  }

  .salon-offer-bottom{
    align-items:stretch;
    flex-direction:column;
    gap:12px;
  }

  .salon-offer-bottom .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}


/* ==========================================================
   Consolidated mobile polish — gallery/reviews overlap
   ========================================================== */
@media(max-width:700px){
  /* The old rule gave the first image 250px height inside a 150px grid row,
     which let it visually overflow into the reviews heading. */
  .salon-main #galerie .gallery-grid{
    grid-template-columns:1fr 1fr!important;
    grid-auto-rows:140px!important;
    gap:9px!important;
    overflow:visible!important;
  }
  .salon-main #galerie .gallery-grid img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
  }
  .salon-main #galerie .gallery-grid img:first-child{
    grid-column:1/-1!important;
    grid-row:span 2!important;
    height:100%!important;
  }

  .salon-main #recenzii.reviews-rich{
    position:relative!important;
    z-index:1!important;
    clear:both!important;
    margin-top:0!important;
    padding-top:42px!important;
  }

  .salon-main #recenzii .review-title-row{
    position:relative!important;
    z-index:2!important;
  }

  .salon-main #recenzii .account-empty.compact{
    margin-top:18px!important;
  }
}

/* ==========================================================
   Salon public schedule
   ========================================================== */
.salon-hours-card{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #223038;
}
.salon-hours-head{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:10px;
}
.salon-hours-head strong{
  color:#f5f7f8;
  font-size:13px;
}
.salon-hours-list{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.salon-hours-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:31px;
  padding:5px 7px;
  border-radius:8px;
  color:#91a0a7;
  font-size:11px;
}
.salon-hours-row b{
  color:#e8edef;
  font-weight:750;
  text-align:right;
}
.salon-hours-row.is-today{
  background:rgba(215,85,121,.09);
  color:#f08aa4;
}
.salon-hours-row.is-today b{
  color:#fff;
}
.salon-hours-empty{
  margin:0;
  color:#8c9aa1;
  font-size:11px;
  line-height:1.5;
}
@media(max-width:700px){
  .salon-hours-card{margin-top:16px;padding-top:14px}
  .salon-hours-row{font-size:12px;padding:7px 6px}
}
