/* Premium Extras: Reviews rail, badges, contact form, footer polish */

.ze-reviews { margin-top: 18px; }
.ze-reviews__head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
  margin-bottom: 12px;
}
.ze-reviews__summary{
  display:flex; align-items:center; gap:10px; margin-top:6px;
}
.ze-reviews__rating{ font-weight:800; }
.ze-reviews__count{ opacity:.75; font-size:.95em; }

.ze-stars{ display:inline-flex; gap:2px; line-height:1; }
.ze-star{ opacity:.25; font-size: 14px; transform: translateY(-1px); }
.ze-star.is-full{ opacity:1; }
.ze-star.is-half{ opacity:.7; }

.ze-rail{
  display:flex; gap:12px;
  overflow:auto; padding: 6px 2px 12px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
.ze-rail::-webkit-scrollbar{ height: 10px; }
.ze-rail::-webkit-scrollbar-thumb{ border-radius: 999px; }
.ze-review{
  flex: 0 0 320px;
  scroll-snap-align: start;
  padding: 14px;
}
.ze-review__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom: 8px; }
.ze-review__name{ font-weight: 800; }
.ze-review__text p{ margin: 0 0 10px; }
.ze-review__text p:last-child{ margin-bottom:0; }
.ze-review__meta{ margin-top: 8px; font-size: .95em; }

.ze-rail__nav{ display:flex; gap:10px; justify-content:flex-end; margin-top: 8px; }

.ze-review-badges{ display:flex; gap:10px; flex-wrap:wrap; }
.ze-badge{
  display:inline-flex; align-items:center; gap:8px;
  padding: 8px 12px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 999px;
  background: rgba(255,255,255,.70);
  text-decoration:none;
}
.ze-badge__label{ font-weight:800; }
.ze-badge__value{ font-weight:900; }
.ze-badge__muted{ opacity:.7; font-size:.95em; }

.ze-contact{ margin-top: 18px; }
.ze-contact__head{ margin-bottom: 10px; }

.ze-alert{
  padding: 12px 14px;
  border-radius: 14px;
  margin-bottom: 12px;
  border: 1px solid rgba(0,0,0,.08);
}
.ze-alert.is-success{ background: rgba(18,199,183,.10); }
.ze-alert.is-error{ background: rgba(255,80,80,.10); }

.ze-form label{ display:block; font-weight:800; margin: 0 0 6px; }
.ze-form input, .ze-form textarea{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.14);
  padding: 12px 12px;
  background: rgba(255,255,255,.85);
}
.ze-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}
.ze-form__actions{ display:flex; gap:10px; margin-top: 12px; flex-wrap:wrap; }

@media (max-width: 720px){
  .ze-reviews__head{ flex-direction: column; }
  .ze-review{ flex-basis: 86%; }
  .ze-grid{ grid-template-columns: 1fr; }
}
