/*
 * Bimeh4883 v12.7 Performance + Conversion Polish
 * Additive-only layer. No page/template/file removal.
 */

:root{
  --b4883-v127-focus:#174ea6;
  --b4883-v127-success:#0b8f5a;
  --b4883-v127-warning:#f2b705;
  --b4883-v127-card-shadow:0 18px 50px rgba(10,37,73,.075);
  --b4883-v127-card-shadow-hover:0 24px 70px rgba(10,37,73,.12);
  --b4883-v127-line:rgba(16,35,63,.105);
}

/* Accessibility: visible keyboard focus without changing mouse UI */
.b4883-skip-link{
  position:fixed;
  top:10px;
  right:10px;
  z-index:999999;
  transform:translateY(-140%);
  background:#061a36;
  color:#fff!important;
  padding:10px 14px;
  border-radius:14px;
  font-weight:900;
  text-decoration:none!important;
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}
.b4883-skip-link:focus{transform:translateY(0);outline:3px solid rgba(245,197,66,.75);}

/* Reserve space and reduce layout shift */
.v8-brand__logo,
.v8-brand__logo img,
.custom-logo-link,
.custom-logo-link img{
  width:48px;
  height:48px;
  min-width:48px;
  aspect-ratio:1/1;
  object-fit:contain;
}
.v11-header__inner,.v8-header__inner{min-height:76px;}
.v8-newsbar__inner{min-height:38px;}
.v8-mobile-cta{min-height:68px;}

/* Make important contact actions feel more reliable and tappable */
a[href^="tel:"],a[href^="https://wa.me"],.btn,.v11-btn,.b4883-btn,.v8-header__call,.v8-header__whatsapp,
.v8-mobile-cta a,.contact-submit-btn,button[type="submit"]{
  min-height:44px;
  touch-action:manipulation;
}
.v8-header__call,.v8-header__whatsapp,.v11-btn,.btn,.b4883-btn{
  will-change:transform;
}
@media (hover:hover){
  .v8-header__call:hover,.v8-header__whatsapp:hover,.v11-btn:hover,.btn:hover,.b4883-btn:hover,.v8-mobile-cta a:hover{
    transform:translateY(-2px);
    filter:saturate(1.03);
  }
}

/* Conversion clarity: phone/whatsapp numbers should never wrap badly */
.v8-phone-number,[dir="ltr"][lang="en"]{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  white-space:nowrap!important;
  letter-spacing:.01em;
  font-variant-numeric:tabular-nums;
}

/* Above-the-fold consistency */
.v11-hero,.landing-hero,.v6-hero,.page-hero,.v9-page-hero{
  isolation:isolate;
}
.v11-hero h1,.landing-hero h1,.v6-hero h1,.page-hero h1,.v9-page-hero h1{
  text-wrap:balance;
}
.v11-lead,.landing-lead,.landing-desc,.v6-hero p,.page-hero p,.b4883-subtitle{
  text-wrap:pretty;
}

/* Card performance and visual polish */
.premium-service-card,.service-directory-card,.landing-info-card,.local-proof-card,.contact-quick-card,
.mission-card,.process-card,.v11-grid article,.v11-quick-card,.v101-page,.v9-content,.faq-item,.v6-faq-item,
.b4883-panel,.b4883-cta-band,.cta-box,.contact-info-box,.contact-form-box{
  backface-visibility:hidden;
  transform:translateZ(0);
  box-shadow:var(--b4883-v127-card-shadow);
}
@media (hover:hover){
  .premium-service-card:hover,.service-directory-card:hover,.landing-info-card:hover,.local-proof-card:hover,
  .contact-quick-card:hover,.mission-card:hover,.process-card:hover,.v11-grid article:hover,.v11-quick-card:hover{
    box-shadow:var(--b4883-v127-card-shadow-hover);
  }
}

/* Forms: lower friction on contact/calculator pages */
input,select,textarea,button{
  font:inherit;
}
.form-control,.b4883-field input,.b4883-field select,.b4883-field textarea,
.contact-form-box input,.contact-form-box select,.contact-form-box textarea,
input[type="text"],input[type="tel"],input[type="email"],select,textarea{
  min-height:46px;
  border-color:rgba(16,35,63,.16)!important;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
textarea.form-control,textarea{min-height:118px;resize:vertical;}
.form-control:focus,.b4883-field input:focus,.b4883-field select:focus,.b4883-field textarea:focus,
.contact-form-box input:focus,.contact-form-box select:focus,.contact-form-box textarea:focus,
input[type="text"]:focus,input[type="tel"]:focus,input[type="email"]:focus,select:focus,textarea:focus{
  border-color:var(--b4883-v127-focus)!important;
  box-shadow:0 0 0 4px rgba(23,78,166,.10)!important;
  outline:none!important;
  background:#fff;
}

/* FAQ: faster scanning */
.v9-faq-list details,.v11-faq-list details,.v6-faq-item,.faq-list-modern .faq-item,.faq-list .faq-item{
  border-color:var(--b4883-v127-line)!important;
}
.v9-faq-list details[open],.v11-faq-list details[open],.v6-faq-item.open,.faq-list-modern .faq-item.open{
  border-color:rgba(23,78,166,.22)!important;
  box-shadow:0 18px 48px rgba(10,37,73,.095)!important;
}
.v9-faq-list summary,.v11-faq-list summary,.faq-q,.v6-faq-item summary{
  line-height:1.85;
}

/* Performance hint: defer rendering of lower sections where supported */
@supports (content-visibility:auto){
  .v11-section:not(:first-of-type),
  .landing-section,
  .process-section,
  .cta-section,
  .contact-local-section,
  .faq-section,
  .b4883-section,
  .b4883-section-tight,
  .v9-content,
  .entry-content > * + *,
  .site-content > section + section{
    content-visibility:auto;
    contain-intrinsic-size:1px 720px;
  }
}

/* Archive/Search/404 polish without touching templates */
.search .v8-main,.archive .v8-main,.single .v8-main,.error404 .v8-main,.page .v8-main{
  scroll-margin-top:110px;
}
.search-form,.search .page-header,.archive .page-header,.error404 .page-content{
  border:1px solid var(--b4883-v127-line);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:var(--b4883-v127-card-shadow);
}

/* Mobile: reduce crowding and accidental taps */
@media (max-width: 760px){
  .v11-header__inner,.v8-header__inner{min-height:68px;}
  .v8-brand__logo,.v8-brand__logo img,.custom-logo-link,.custom-logo-link img{width:42px;height:42px;min-width:42px;}
  .v8-brand__text strong{font-size:14px;line-height:1.45;}
  .v8-brand__text small{font-size:11.5px;line-height:1.6;}
  .v8-newsbar__inner{min-height:34px;padding-block:7px;}
  .v11-hero,.landing-hero,.v6-hero,.page-hero,.v9-page-hero{padding-top:34px!important;padding-bottom:30px!important;}
  .v11-actions,.hero-actions,.b4883-hero-actions,.v6-actions,.cta-actions,.cta-contacts{
    gap:10px;
  }
  .v11-actions a,.hero-actions a,.b4883-hero-actions a,.v6-actions a,.cta-actions a,.cta-contacts a{
    width:100%;
    justify-content:center;
  }
  .v8-mobile-cta{padding-bottom:max(10px,env(safe-area-inset-bottom));}
  body{padding-bottom:74px;}
  .v8-cookie{bottom:84px!important;}
}

/* Print/readability for customers who print address or documents */
@media print{
  .v8-newsbar,.v8-header__actions,.v8-mobile-cta,.v8-cookie,.v8-menu-toggle{display:none!important;}
  body{background:#fff!important;color:#111!important;padding:0!important;}
  a{color:#111!important;text-decoration:none!important;}
  .v8-header,.v8-footer{box-shadow:none!important;border-color:#ddd!important;}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important;}
}
