/* Fixed IT v12 — final homepage/contact polish */

/* 2. Social links: first visual row of the hero, centered. */
.hero-social-top{
  justify-content:center!important;
  margin-bottom:24px!important;
}
.hero-social-top .social-proof{
  justify-content:center;
}

/* 3. Hero CTAs and diagnosis note use the same full content width as search. */
.hero-actions{
  width:100%;
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:12px!important;
  margin:24px 0 0!important;
}
.hero-actions .btn{
  width:100%;
  min-width:0;
  min-height:52px;
  color:#F5F5F5!important;
}
.hero-actions .btn-ghost{
  background:rgba(255,255,255,.025);
}
.hero .diagnosis-offer-mini{
  width:100%!important;
  max-width:none!important;
  justify-content:center!important;
  text-align:center!important;
  margin:13px 0 0!important;
  min-height:48px;
}

/* 4. Distinct but soft transitions between late homepage sections. */
.diagnostic-banner{
  background:linear-gradient(180deg,#e4f5fd 0%,#d9effa 100%)!important;
  border-top:1px solid rgba(66,167,228,.13);
  border-bottom:1px solid rgba(66,167,228,.16);
}
.service-area{
  background:#ffffff!important;
  border-bottom:1px solid #e8eef1;
}
.reviews-section{
  background:linear-gradient(180deg,#f7fafb 0%,#edf5f8 100%)!important;
  border-bottom:1px solid #dde9ee;
}

/* 5. SEO intro: balanced two-column height after removing duplicate copy. */
.seo-intro-grid{
  grid-template-columns:1.2fr .8fr!important;
  align-items:stretch!important;
  gap:46px!important;
}
.seo-intro-copy{
  align-self:stretch;
}
.seo-intro-copy>p:not(.eyebrow){
  margin-bottom:0;
}
.seo-intro-aside{
  height:100%;
  min-height:0!important;
  padding:25px 28px!important;
  justify-content:center!important;
}
.seo-intro-aside .process-title{
  margin-bottom:13px!important;
}
.seo-process{
  gap:5px!important;
  margin-bottom:14px!important;
}
.seo-process-step{
  grid-template-columns:36px 1fr!important;
  gap:10px!important;
}
.seo-process-step i{
  width:36px!important;
  height:36px!important;
  border-radius:11px!important;
  font-size:.76rem;
}
.seo-process-step strong{
  font-size:.84rem!important;
}
.seo-process-arrow{
  height:11px!important;
  margin-left:17px!important;
}
.seo-intro-aside p{
  font-size:.72rem!important;
  line-height:1.5!important;
}

/* 6. Diagnosis banner: paired text blocks use matching typography/alignment. */
.diagnostic-grid-v11{
  align-items:start!important;
}
.diagnosis-price-flow-v11,
.diagnostic-copy-v11{
  align-self:start;
}
.diagnosis-price-flow-v11 .diagnosis-name,
.diagnostic-copy-v11 h2{
  font-size:1.5rem!important;
  line-height:1.15!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  margin:0 0 10px!important;
  color:var(--dark)!important;
}
.diagnosis-price-flow-v11 small,
.diagnostic-copy-v11 p{
  font-size:.84rem!important;
  line-height:1.55!important;
  font-weight:700!important;
  color:#3d4b55!important;
  margin:0!important;
  text-align:left!important;
}
.diagnosis-price-flow-v11 small{
  margin-top:1px!important;
}

/* 7. Reviews: interaction is handled by v12 JS; viewport supports horizontal gestures. */
.reviews-carousel-viewport{
  touch-action:pan-y pinch-zoom;
  cursor:grab;
}
.reviews-carousel-viewport:active{cursor:grabbing}
.reviews-arrow:disabled{opacity:1!important;cursor:pointer!important}

/* 10. Cleaner contact form. */
.contact-form-heading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:0 0 20px;
  margin-bottom:18px;
  border-bottom:1px solid #e5eaed;
  font-size:1rem;
  font-weight:900;
  letter-spacing:-.02em;
  color:var(--dark);
}
.contact-form-logo{
  display:block;
  width:auto;
  height:31px;
  object-fit:contain;
}
.selected-service-box-v12{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:18px!important;
  padding:14px 16px!important;
  background:#e7f6fd!important;
  border:1px solid #b9e1f5!important;
}
.selected-service-box-v12 .selected-service-label{
  font-size:.68rem!important;
  color:#596a75!important;
  white-space:nowrap;
}
.selected-service-box-v12 #service-selector{
  width:100%;
  min-width:0;
  border:0!important;
  padding:7px 34px 7px 8px!important;
  background-color:transparent!important;
  box-shadow:none!important;
  color:#167dbb!important;
  font-size:1rem!important;
  font-weight:900!important;
  text-align:right;
  text-align-last:right;
  cursor:pointer;
}
.selected-service-box-v12 #service-selector:focus{
  outline:2px solid rgba(66,167,228,.28)!important;
  outline-offset:2px;
}
.contact-form textarea.auto-service-message{
  resize:none!important;
  overflow:hidden!important;
  min-height:46px;
}
.field-label-text{
  display:inline!important;
  font-weight:800!important;
  color:var(--dark)!important;
}
.field-label-text .optional-inline{
  display:inline!important;
  margin-left:3px;
  font-weight:500!important;
  color:#7c858d!important;
}

/* 9. WhatsApp: free-text option below the quick questions. */
.wa-custom{
  border-top:1px solid #e8edef;
  padding:13px 12px 14px;
  background:#fbfcfc;
}
.wa-custom label{
  display:block;
  margin:0 0 7px;
  font-size:.68rem;
  font-weight:800;
  color:#46525b;
}
.wa-custom textarea{
  width:100%;
  min-height:66px;
  resize:none;
  border:1px solid #d8e0e4;
  border-radius:12px;
  padding:10px 11px;
  background:#fff;
  color:#263038;
  font-size:.72rem;
  line-height:1.45;
  outline:none;
}
.wa-custom textarea:focus{
  border-color:#42A7E4;
  box-shadow:0 0 0 4px rgba(66,167,228,.10);
}
.wa-custom-send{
  width:100%;
  margin-top:8px;
  background:#25D366!important;
  color:#F5F5F5!important;
  min-height:41px!important;
  font-size:.71rem!important;
}
.wa-custom-send[aria-disabled="true"]{
  opacity:.48;
  pointer-events:none;
}

@media(max-width:980px){
  .seo-intro-grid{grid-template-columns:1fr!important;gap:28px!important}
  .seo-intro-aside{height:auto!important}
}

@media(max-width:700px){
  .hero-social-top{margin-bottom:20px!important}
  .hero-social-top .social-proof{flex-wrap:wrap}
  .hero-actions{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .hero-actions .btn{min-height:50px;padding:10px 10px!important;font-size:.77rem!important;line-height:1.25;text-align:center}
  .hero .diagnosis-offer-mini{padding:11px 12px!important;margin-top:11px!important}
  .diagnostic-grid-v11{gap:23px!important}
  .diagnosis-price-flow-v11 .diagnosis-name,.diagnostic-copy-v11 h2{font-size:1.35rem!important}
  .contact-form-heading{justify-content:flex-start;font-size:.9rem}
  .contact-form-logo{height:27px}
  .selected-service-box-v12{grid-template-columns:1fr!important;gap:5px!important}
  .selected-service-box-v12 #service-selector{text-align:left;text-align-last:left;padding-left:0!important}
  .reviews-carousel{padding:0 22px!important}
}
