/* Boni Beauty home-page hotfix: isolated from cached global CSS */
.section{padding:76px 0}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.section-heading.centered{justify-content:center;text-align:center}
.section-heading h2{font-size:42px;margin:0 0 6px}
.text-link{font-size:13px;letter-spacing:.05em;color:var(--accent-dark);padding-bottom:6px}

.hero-refresh{min-height:660px}
.hero-refresh::after{background:linear-gradient(90deg,rgba(42,30,25,.62) 0%,rgba(42,30,25,.26) 52%,rgba(42,30,25,.06) 100%)}
.hero-kicker{font-size:12px;letter-spacing:.24em;margin-bottom:14px;text-transform:uppercase}
.hero-refresh h1{font-size:74px;line-height:.95;max-width:700px}
.hero-refresh p{max-width:560px;font-size:20px;font-style:normal;line-height:1.5}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.btn-glass{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.72);backdrop-filter:blur(6px)}
.btn-glass:hover{background:white;color:var(--ink);border-color:white}

.popular-services{background:#fffdfa}
.service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{position:relative;min-height:235px;background:#fff;border:1px solid var(--line);padding:30px 25px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.service-card:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(79,57,47,.08)}
.service-card h3{font-size:24px;margin:24px 0 6px}
.service-price{font-family:Georgia,"Times New Roman",serif;font-size:22px;margin:4px 0 7px;color:var(--accent-dark)}
.service-meta{font-size:12px;color:var(--muted);margin:0 0 22px}
.service-card>a{margin-top:auto;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-dark)}
.tag{position:absolute;top:18px;right:18px;background:#c98784;color:white;font-size:9px;letter-spacing:.14em;padding:6px 8px}
.soft-tag{background:#e8d3c9;color:#66564f}

.client-gallery{background:#f7efe9}
.client-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.client-photo{display:block;width:100%;aspect-ratio:1/1;overflow:hidden;background:#f3ebe6;border:1px solid #eaded7}
.client-photo img{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;object-position:center;transition:transform .35s ease}
.client-photo:hover img{transform:scale(1.035)}
.center-actions{text-align:center;margin-top:28px}

.review-section{background:#fffdfa}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.review-placeholder{min-height:180px;border:1px solid var(--line);background:#fff;padding:28px;display:flex;flex-direction:column;justify-content:center;text-align:center}
.quote-mark{font-family:Georgia,"Times New Roman",serif;font-size:58px;line-height:.6;color:#d7aaa3;margin-bottom:12px}
.review-placeholder p{color:var(--muted);font-size:14px}

.booking-cta{padding:52px 0;background:#f0dfd9;border-top:1px solid #e6d2ca}
.booking-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.booking-cta h2{font-size:38px;margin:0}

.floating-contact{position:fixed;right:22px;bottom:22px;z-index:80}
.floating-main{width:56px;height:56px;border-radius:50%;border:0;background:#c98582;color:white;font-size:25px;box-shadow:0 10px 28px rgba(77,53,45,.22);cursor:pointer}
.floating-menu{position:absolute;right:0;bottom:66px;width:150px;background:white;border:1px solid var(--line);box-shadow:0 14px 38px rgba(77,53,45,.16);padding:8px;display:none}
.floating-contact.open .floating-menu{display:block}
.floating-menu a{display:block;padding:10px 11px;font-size:12px;border-bottom:1px solid #f1e7e1}
.floating-menu a:last-child{border-bottom:0}

@media(max-width:960px){
  .service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-refresh{min-height:590px}
  .hero-refresh h1{font-size:58px}
}
@media(max-width:700px){
  .section{padding:56px 0}
  .section-heading{align-items:flex-start;flex-direction:column;margin-bottom:24px}
  .section-heading.centered{align-items:center}
  .section-heading h2{font-size:34px}
  .hero-refresh{min-height:560px}
  .hero-refresh h1{font-size:46px}
  .hero-refresh p{font-size:17px}
  .service-card-grid{grid-template-columns:1fr}
  .review-grid{grid-template-columns:1fr}
  .booking-cta-inner{align-items:flex-start;flex-direction:column}
  .booking-cta h2{font-size:32px}
  .floating-contact{right:16px;bottom:16px}
}
@media(max-width:480px){
  .client-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}
