:root{--blue:#0a63d8;--sky:#12a8ff;--navy:#071b55;--text:#14213d;--muted:#68738a;--bg:#f4f9ff;--white:#fff;--line:#d9e8fb;--shadow:0 18px 45px rgba(5,42,92,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,#eaf6ff 0%,#ffffff 34%,#eef8ff 100%)}img{max-width:100%;display:block}.site-header{position:sticky;top:0;z-index:10;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(231,247,255,.96));backdrop-filter:blur(14px);display:flex;align-items:center;gap:28px;padding:0 5vw;height:90px;min-height:90px;border-bottom:1px solid var(--line)}.brand img{height:125px;width:auto;object-fit:contain;display:block}.nav{display:flex;align-items:center;gap:20px;margin-left:auto}.nav a{color:var(--navy);text-decoration:none;font-weight:700;font-size:14px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--sky));color:#fff;text-decoration:none;padding:14px 24px;font-weight:800;box-shadow:0 10px 24px rgba(10,99,216,.25);cursor:pointer}.btn-small{padding:10px 16px;font-size:14px}.btn-outline{background:#fff;color:var(--blue);border:1px solid var(--line);box-shadow:none}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr .88fr;gap:38px;align-items:center;background:radial-gradient(circle at 82% 18%,rgba(18,168,255,.20),transparent 32%),linear-gradient(135deg,#ffffff 0%,#eaf7ff 100%)}.eyebrow,.section-kicker{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px}h1{font-size:clamp(38px,5vw,72px);line-height:1.02;margin:14px 0;color:var(--navy)}h2{font-size:clamp(28px,3vw,44px);line-height:1.1;margin:10px 0 18px;color:var(--navy)}p{font-size:17px;line-height:1.75;color:var(--muted)}.hero-content p{max-width:680px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}.hero-card{border-radius:34px;overflow:hidden;box-shadow:var(--shadow);border:0;background:transparent}.hero-card img{width:100%;height:auto;object-fit:contain;object-position:center;border-radius:34px}.section{padding:58px 5vw}.section:nth-of-type(even){background:linear-gradient(135deg,#f2f9ff 0%,#ffffff 100%)}.intro{display:grid;grid-template-columns:.75fr 1fr;gap:40px;align-items:start}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}.service-grid article{background:#071b55;border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:24px;box-shadow:0 14px 32px rgba(7,27,85,.22);transition:.25s;color:#fff}.service-grid article:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.service-grid b{font-size:19px;color:#fff}.service-grid p{font-size:15px;margin-bottom:0;color:#eaf6ff}.why-box{background:linear-gradient(135deg,#071b55,#0a63d8 62%,#13a8ff);border-radius:34px;padding:46px;color:#fff;box-shadow:var(--shadow)}.why-box h2,.why-box p,.why-box .section-kicker{color:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:26px}.gallery figure{margin:0;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 12px 34px rgba(5,42,92,.09);border:1px solid var(--line)}.gallery img{width:100%;height:auto;object-fit:contain;object-position:center;background:transparent;padding:0}.gallery figcaption{padding:18px;background:#071b55;color:#fff}.gallery b{display:block;color:#fff;font-size:18px;margin-bottom:6px}.gallery span{color:#eaf6ff;line-height:1.55}.stats-section{padding-top:18px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stats-grid article{background:#071b55;border-radius:24px;padding:26px 22px;box-shadow:0 14px 32px rgba(7,27,85,.22);color:#fff}.stats-grid strong{display:block;font-size:clamp(26px,3vw,40px);line-height:1;color:#fff;margin-bottom:10px}.stats-grid span{display:block;color:#eaf6ff;font-weight:700;line-height:1.45}.reviews-wrap{display:grid;grid-template-columns:1fr 420px;gap:28px;align-items:start}.reviews{display:grid;gap:14px}.review{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}.stars{color:#f4b400;font-weight:900}.card-form,.quote-form,.contact-card{background:linear-gradient(180deg,#ffffff 0%,#f4fbff 100%);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow)}.contact-card a{color:var(--blue);font-weight:800;text-decoration:none}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:15px 16px;font:inherit;margin-bottom:13px;background:#fafdff;color:var(--text)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 14px}.quote-section{display:grid;grid-template-columns:.55fr 1fr;gap:34px;align-items:start}.contact{display:grid;grid-template-columns:.75fr 1fr;gap:26px}.contact iframe{width:100%;min-height:360px;border:0;border-radius:28px;box-shadow:var(--shadow)}.floating-actions{position:fixed;right:22px;bottom:22px;display:grid;gap:12px;z-index:20}.floating-actions a{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--sky));color:#fff;text-decoration:none;font-size:25px;box-shadow:var(--shadow)}footer{padding:38px 5vw;text-align:center;background:linear-gradient(135deg,#eaf6ff,#ffffff);border-top:1px solid var(--line)}footer img{height:170px;margin:0 auto 12px;object-fit:contain}.success,.error{padding:18px;border-radius:16px;margin:20px 0}.success{background:#e8fff3;color:#09643a}.error{background:#fff0f0;color:#9a1f1f}@media(max-width:980px){.nav,.site-header .btn-small{display:none}.menu-toggle{display:block;margin-left:auto;background:none;border:0;font-size:28px;color:var(--navy)}.nav.open{display:grid;position:absolute;top:120px;left:0;right:0;background:#fff;padding:20px 5vw;border-bottom:1px solid var(--line)}.hero,.intro,.quote-section,.contact,.reviews-wrap{grid-template-columns:1fr}.service-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr 1fr}.hero-card img{height:auto}}@media(max-width:620px){.site-header{position:sticky;top:0;z-index:10;background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(231,247,255,.96));backdrop-filter:blur(14px);display:flex;align-items:center;gap:28px;padding:0 5vw;height:90px;min-height:90px;border-bottom:1px solid var(--line)}.brand img{height:125px;width:auto;object-fit:contain;display:block}.hero,.section{padding-left:18px;padding-right:18px}.service-grid,.gallery,.form-grid,.stats-grid{grid-template-columns:1fr}.hero-card img{height:auto}.why-box,.card-form,.quote-form,.contact-card{padding:22px;border-radius:22px}}

.brand{display:flex;align-items:center;height:90px}

/* Surgical header compact fix */
.site-header{height:90px!important;min-height:90px!important;padding-top:0!important;padding-bottom:0!important;align-items:center!important}
.brand{height:90px!important;display:flex!important;align-items:center!important}
.brand img{height:125px!important;max-height:125px!important;width:auto!important}
.nav{align-items:center!important}
.hero{padding-top:38px!important}
@media (max-width: 760px){
  .site-header{height:auto!important;min-height:74px!important;padding:8px 18px!important}
  .brand{height:74px!important}
  .brand img{height:92px!important;max-height:92px!important}
  .hero{padding-top:30px!important}
}


/* Surgical form layout fix */
.quote-form .form-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
}
.quote-form input,
.quote-form select,
.quote-form textarea{
  width:100%!important;
  min-height:58px!important;
  border:1.5px solid #d9e8fb!important;
  border-radius:18px!important;
  padding:16px 18px!important;
  font-size:16px!important;
  line-height:1.35!important;
  background:#fff!important;
  box-shadow:none!important;
  outline:none!important;
}
.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus{
  border-color:#0a63d8!important;
  box-shadow:0 0 0 4px rgba(10,99,216,.10)!important;
}
.quote-form .form-row.two-cols{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
  width:100%!important;
}
.quote-form .form-row.two-cols input{
  margin:0!important;
  width:100%!important;
}
.quote-form .custom-service-field{
  display:none!important;
}
.quote-form .custom-service-field.is-visible{
  display:block!important;
}
.quote-form textarea{
  min-height:190px!important;
  resize:vertical!important;
  margin-top:16px!important;
}
@media(max-width:640px){
  .quote-form .form-row.two-cols{
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
  }
  .quote-form input,
  .quote-form select,
  .quote-form textarea{
    min-height:54px!important;
    padding:14px 14px!important;
    font-size:15px!important;
    border-radius:16px!important;
  }
}


/* Final surgical adjustment: logo -50%, header height -50% */
.site-header{
min-height:72px !important;
padding-top:6px !important;
padding-bottom:6px !important;
}

.site-header .brand{
display:flex !important;
align-items:center !important;
}

.site-header .brand img,
.brand img{
height:58px !important;
max-height:58px !important;
width:auto !important;
object-fit:contain !important;
}

@media (max-width:768px){
.site-header{
min-height:64px !important;
padding-top:4px !important;
padding-bottom:4px !important;
}
.site-header .brand img,
.brand img{
height:48px !important;
max-height:48px !important;
}
}


/* Surgical side spacing fix */
.hero,
.section,
.site-header{
padding-left: clamp(24px, 4vw, 56px) !important;
padding-right: clamp(24px, 4vw, 56px) !important;
}

.hero{
column-gap: clamp(24px, 3vw, 48px) !important;
}

.hero-copy{
padding-right: 18px !important;
}

.hero-card{
padding-left: 18px !important;
}

.hero-card img{
width:100% !important;
max-width:100% !important;
display:block !important;
}

@media (max-width: 992px){
.hero,
.section,
.site-header{
padding-left:20px !important;
padding-right:20px !important;
}
.hero-copy,
.hero-card{
padding-left:0 !important;
padding-right:0 !important;
}
}


/* Surgical contact section fix */
.contact-grid{
display:grid!important;
grid-template-columns:1fr 1fr!important;
gap:24px!important;
align-items:stretch!important;
}

.contact-card,
.contact-map{
height:100%!important;
min-height:300px!important;
}

.contact-card p,
.contact-card li,
.contact-card .meta-line{
color:#111827!important;
font-size:17px!important;
font-weight:500!important;
line-height:1.7!important;
}

.contact-card strong{
color:#071b55!important;
font-weight:700!important;
}


/* Equal height contact + map surgical fix */
.contact-grid{
display:grid!important;
grid-template-columns:repeat(2,minmax(0,1fr))!important;
gap:24px!important;
align-items:stretch!important;
}

.contact-grid > *{
height:340px!important;
min-height:340px!important;
}

.contact-card,
.contact-map,
.contact-map iframe{
height:340px!important;
min-height:340px!important;
width:100%!important;
border-radius:24px!important;
overflow:hidden!important;
}

@media (max-width:900px){
.contact-grid{
grid-template-columns:1fr!important;
}
.contact-grid > *,
.contact-card,
.contact-map,
.contact-map iframe{
height:auto!important;
min-height:300px!important;
}
}


/* FINAL SURGICAL CONTACT EQUAL SIZE FIX - actual structure */
section.contact{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:26px !important;
  align-items:stretch !important;
}

section.contact > .contact-card,
section.contact > iframe{
  height:340px !important;
  min-height:340px !important;
  max-height:340px !important;
  width:100% !important;
  box-sizing:border-box !important;
  border-radius:28px !important;
}

section.contact > .contact-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  padding:28px !important;
}

section.contact > iframe{
  display:block !important;
  border:0 !important;
  overflow:hidden !important;
}

section.contact .contact-card p{
  color:#111827 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.55 !important;
  margin:8px 0 !important;
}

section.contact .contact-card b{
  color:#071b55 !important;
  font-weight:800 !important;
}

@media(max-width:980px){
  section.contact{
    grid-template-columns:1fr !important;
  }
  section.contact > .contact-card,
  section.contact > iframe{
    height:auto !important;
    max-height:none !important;
    min-height:300px !important;
  }
}


/* STRICT SURGICAL FINAL FIX */

/* Hide public Admin button only */
a[href="admin/login.php"]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Footer logo -50% */
footer img{
  height:85px !important;
  max-height:85px !important;
  width:auto !important;
  object-fit:contain !important;
}

/* Make experience cards/numbers visible */
.stats-grid .stat-card,
.stat-card{
  background:linear-gradient(135deg,#0a63d8,#12a8ff) !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.35) !important;
}

.stats-grid .stat-card strong,
.stat-card strong,
.stats-grid .stat-card b,
.stat-card b{
  color:#ffffff !important;
  opacity:1 !important;
  font-weight:900 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.18) !important;
}

.stats-grid .stat-card span,
.stat-card span{
  color:#ffffff !important;
  opacity:1 !important;
  font-weight:800 !important;
}

.stats-grid .stat-card p,
.stat-card p{
  color:#eef7ff !important;
  opacity:1 !important;
}

/* Clear and equal Wunschtermin field */
.quote-form .date-field-wrap{
  position:relative !important;
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  display:block !important;
}

.quote-form .date-field-wrap input[type="date"]{
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  border:1.5px solid #d9e8fb !important;
  border-radius:18px !important;
  padding:16px 18px !important;
  font-size:16px !important;
  line-height:1.35 !important;
  background:#fff !important;
  color:#071b55 !important;
  box-sizing:border-box !important;
  margin:0 !important;
  appearance:auto !important;
  -webkit-appearance:auto !important;
}

.quote-form .date-placeholder{
  position:absolute !important;
  left:18px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  color:#9aa3af !important;
  font-size:16px !important;
  font-weight:500 !important;
  pointer-events:none !important;
  z-index:2 !important;
}

.quote-form .date-field-wrap:focus-within .date-placeholder{
  opacity:.35 !important;
}

@media(max-width:640px){
  footer img{
    height:70px !important;
    max-height:70px !important;
  }
  .quote-form .date-field-wrap,
  .quote-form .date-field-wrap input[type="date"]{
    height:54px !important;
    min-height:54px !important;
  }
}


/* FINAL CLEAN SURGICAL FIXES */

/* Public admin button hidden; admin panel remains accessible via /admin/login.php */
body > a[href="admin/login.php"],
a[href="admin/login.php"]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Contact card + map exact professional alignment */
section.contact{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:26px !important;
  align-items:stretch !important;
  padding-top:48px !important;
  padding-bottom:48px !important;
}

section.contact > .contact-card,
section.contact > iframe{
  width:100% !important;
  min-height:360px !important;
  height:360px !important;
  max-height:360px !important;
  box-sizing:border-box !important;
  border-radius:28px !important;
}

section.contact > .contact-card{
  overflow:auto !important;
  padding:28px !important;
}

section.contact > iframe{
  display:block !important;
  border:0 !important;
  overflow:hidden !important;
}

section.contact .contact-card p{
  color:#111827 !important;
  font-size:17px !important;
  font-weight:500 !important;
  line-height:1.55 !important;
  margin:8px 0 !important;
}

section.contact .contact-card b{
  color:#071b55 !important;
  font-weight:800 !important;
}

/* Clean Wunschtermin date picker: one clear text only */
.quote-form .date-input-clean{
  width:100% !important;
  min-height:58px !important;
  height:58px !important;
  border:1.5px solid #d9e8fb !important;
  border-radius:18px !important;
  padding:16px 18px !important;
  font-size:16px !important;
  line-height:1.35 !important;
  background:#fff !important;
  color:#071b55 !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

.quote-form .date-input-clean::placeholder{
  color:#8a94a6 !important;
  opacity:1 !important;
}

/* Experience numbers and labels must not disappear on light background */
.stats-grid .stat-card,
.stat-card{
  background:linear-gradient(135deg,#0a63d8,#12a8ff) !important;
  color:#ffffff !important;
}

.stats-grid .stat-card strong,
.stat-card strong,
.stats-grid .stat-card b,
.stat-card b{
  color:#ffffff !important;
  opacity:1 !important;
  font-weight:900 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.18) !important;
}

.stats-grid .stat-card span,
.stat-card span{
  color:#ffffff !important;
  opacity:1 !important;
  font-weight:800 !important;
}

.stats-grid .stat-card p,
.stat-card p{
  color:#eef7ff !important;
  opacity:1 !important;
}

/* Footer logo reduced */
footer img{
  height:70px !important;
  max-height:70px !important;
  width:auto !important;
  object-fit:contain !important;
}

@media(max-width:980px){
  section.contact{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding-top:36px !important;
    padding-bottom:36px !important;
  }
  section.contact > .contact-card,
  section.contact > iframe{
    min-height:320px !important;
    height:auto !important;
    max-height:none !important;
  }
  section.contact > iframe{
    height:320px !important;
  }
}

@media(max-width:640px){
  .quote-form .date-input-clean{
    min-height:54px !important;
    height:54px !important;
    padding:14px 14px !important;
    font-size:15px !important;
    border-radius:16px !important;
  }
  footer img{
    height:58px !important;
    max-height:58px !important;
  }
}


/* CONTACT SECTION HEIGHT +20% SURGICAL FIX */
section.contact > .contact-card,
section.contact > iframe{
    min-height: 432px !important;
    height: 432px !important;
    max-height: 432px !important;
}

@media (max-width:980px){
  section.contact > .contact-card,
  section.contact > iframe{
      min-height: 384px !important;
      height: 384px !important;
      max-height: 384px !important;
  }
}


/* Footer social media icons - surgical addition */
.footer-socials{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:14px auto 16px;
}

.footer-socials .social-icon{
  width:48px;
  height:48px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(5,42,92,.16);
  transition:transform .2s ease, box-shadow .2s ease;
}

.footer-socials .social-icon:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(5,42,92,.22);
}

.footer-socials .social-icon svg{
  width:24px;
  height:24px;
  fill:#fff;
  display:block;
}

.footer-socials .facebook{
  background:#1877F2;
}

.footer-socials .instagram{
  background:linear-gradient(135deg,#405DE6,#833AB4,#C13584,#E1306C,#FD1D1D,#FCAF45);
}

.footer-socials .tiktok{
  background:#000000;
}

@media(max-width:640px){
  .footer-socials{
    gap:12px;
    margin:12px auto 14px;
  }
  .footer-socials .social-icon{
    width:44px;
    height:44px;
  }
  .footer-socials .social-icon svg{
    width:22px;
    height:22px;
  }
}


/* FINAL SURGICAL SOCIAL ICON CHROME FIX */
.footer-socials{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:16px !important;
}

.footer-socials .social-icon{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  flex:0 0 48px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  border-radius:50% !important;
}

.footer-socials .social-icon svg{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  max-width:24px !important;
  min-height:24px !important;
  max-height:24px !important;
  display:block !important;
  flex:0 0 24px !important;
  overflow:hidden !important;
}

@media(max-width:640px){
  .footer-socials .social-icon{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    flex-basis:44px !important;
  }
  .footer-socials .social-icon svg{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    flex-basis:22px !important;
  }
}


/* Surgical stats cards visual identity fix - compatible with dynamic admin features */
.stats-grid{
  gap:24px !important;
}

.stats-grid .stat-card,
.stat-card{
  background:linear-gradient(135deg,#0a63d8 0%,#0b4fb3 48%,#12a8ff 100%) !important;
  border:1px solid rgba(255,255,255,.42) !important;
  border-radius:28px !important;
  padding:30px 34px !important;
  box-shadow:0 18px 42px rgba(5,42,92,.18) !important;
  overflow:hidden !important;
  min-height:190px !important;
}

.stats-grid .stat-card strong,
.stat-card strong,
.stats-grid .stat-card b,
.stat-card b{
  color:#ffffff !important;
  font-size:clamp(34px,4vw,52px) !important;
  line-height:1 !important;
  font-weight:900 !important;
  display:block !important;
  margin-bottom:12px !important;
  text-shadow:0 3px 10px rgba(0,0,0,.18) !important;
}

.stats-grid .stat-card span,
.stat-card span{
  color:#ffffff !important;
  font-size:18px !important;
  line-height:1.35 !important;
  font-weight:900 !important;
  display:block !important;
  margin-bottom:18px !important;
}

.stats-grid .stat-card p,
.stat-card p{
  color:#eef7ff !important;
  font-size:16px !important;
  line-height:1.7 !important;
  margin:0 !important;
  max-width:95% !important;
}

@media(max-width:640px){
  .stats-grid .stat-card,
  .stat-card{
    border-radius:24px !important;
    padding:26px 28px !important;
    min-height:170px !important;
  }
}


/* HARD FIX: Chrome laptop social icons without SVG scaling */
.footer-socials{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:16px !important;
  margin:14px auto 16px !important;
  width:auto !important;
  max-width:220px !important;
}

.footer-socials .social-icon{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  flex:0 0 48px !important;
  aspect-ratio:1/1 !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  padding:0 !important;
  margin:0 !important;
  line-height:1 !important;
  text-decoration:none !important;
  transform:none !important;
}

.footer-socials .social-icon span{
  display:block !important;
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  max-width:24px !important;
  min-height:24px !important;
  max-height:24px !important;
  line-height:24px !important;
  text-align:center !important;
  color:#fff !important;
  font-size:24px !important;
  font-weight:900 !important;
  font-family:Arial, Helvetica, sans-serif !important;
  overflow:hidden !important;
}

.footer-socials .social-icon.facebook span{
  font-size:28px !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-weight:900 !important;
}

.footer-socials .social-icon.instagram span{
  font-size:30px !important;
  font-weight:900 !important;
}

.footer-socials .social-icon.tiktok span{
  font-size:27px !important;
  font-weight:900 !important;
}

/* Disable any old SVG rules in case browser cache keeps them */
.footer-socials svg,
.footer-socials .social-icon svg{
  display:none !important;
  width:0 !important;
  height:0 !important;
  max-width:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
}

@media(max-width:640px){
  .footer-socials{
    gap:12px !important;
    max-width:190px !important;
  }
  .footer-socials .social-icon{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    flex-basis:44px !important;
  }
  .footer-socials .social-icon span{
    width:22px !important;
    height:22px !important;
    min-width:22px !important;
    max-width:22px !important;
    min-height:22px !important;
    max-height:22px !important;
    line-height:22px !important;
  }
}


/* SURGICAL MOBILE CONTACT FIX - desktop unchanged */
@media (max-width: 640px){
  section.contact{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    align-items:start !important;
    padding-left:20px !important;
    padding-right:20px !important;
    padding-top:34px !important;
    padding-bottom:34px !important;
    overflow:visible !important;
  }

  section.contact > .contact-card{
    width:100% !important;
    height:auto !important;
    min-height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    padding:28px !important;
    box-sizing:border-box !important;
    border-radius:28px !important;
  }

  section.contact > .contact-card h2{
    font-size:clamp(34px, 10vw, 46px) !important;
    line-height:1.08 !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:auto !important;
    margin-bottom:26px !important;
  }

  section.contact > .contact-card p{
    font-size:20px !important;
    line-height:1.6 !important;
    margin:14px 0 !important;
    color:#111827 !important;
  }

  section.contact > .contact-card a{
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }

  section.contact > iframe{
    width:100% !important;
    height:360px !important;
    min-height:360px !important;
    max-height:360px !important;
    border-radius:28px !important;
  }
}

/* Admin-controlled website settings */
:root{
  --admin-logo-height-desktop:58px;
  --admin-logo-height-mobile:48px;
  --admin-gallery-columns:3;
  --admin-gallery-radius:26px;
}
.site-header .brand img,.brand img{height:var(--admin-logo-height-desktop)!important;max-height:var(--admin-logo-height-desktop)!important;width:auto!important;object-fit:contain!important}
.gallery{grid-template-columns:repeat(var(--admin-gallery-columns),1fr)!important}
.gallery figure{border-radius:var(--admin-gallery-radius)!important}
body[data-gallery-mode="cover"] .gallery img{height:260px!important;object-fit:cover!important;background:#eef7ff!important}
body[data-gallery-mode="contain"] .gallery img{height:auto!important;object-fit:contain!important;background:transparent!important}
@media(max-width:768px){.site-header .brand img,.brand img{height:var(--admin-logo-height-mobile)!important;max-height:var(--admin-logo-height-mobile)!important}.gallery{grid-template-columns:1fr!important}}

/* Surgical quote form additions: interval/count behavior */
.quote-form #intervalCountSelect.is-hidden{
  display:none !important;
}
.quote-form .interval-row:has(#intervalCountSelect.is-hidden){
  grid-template-columns:1fr !important;
}
.quote-section > div p b{
  color:var(--navy) !important;
}


/* Surgical contact icon-only rows */
section.contact .contact-card .contact-line{
  display:grid !important;
  grid-template-columns:38px 1fr !important;
  align-items:center !important;
  column-gap:16px !important;
  margin:12px 0 !important;
  color:#071b55 !important;
}
section.contact .contact-card .contact-line::before{
  content:attr(data-icon);
  width:38px !important;
  height:38px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#0a63d8 !important;
  font-size:28px !important;
  font-weight:900 !important;
  line-height:1 !important;
}
section.contact .contact-card .contact-line span,
section.contact .contact-card .contact-line a{
  display:inline-block !important;
  padding-top:0 !important;
  color:#071b55 !important;
  font-weight:800 !important;
  text-decoration:none !important;
  line-height:1.35 !important;
}
section.contact .contact-card .contact-line a{
  color:#0a63d8 !important;
}
@media(max-width:620px){
  section.contact .contact-card .contact-line{
    grid-template-columns:34px 1fr !important;
    column-gap:12px !important;
  }
  section.contact .contact-card .contact-line::before{
    width:34px !important;
    height:34px !important;
    font-size:24px !important;
  }
}

/* Surgical contact uploaded icons fix */
section.contact .contact-card .contact-line{
  grid-template-columns:48px 1fr !important;
  column-gap:18px !important;
}
section.contact .contact-card .contact-line::before{
  content:none !important;
  display:none !important;
}
section.contact .contact-card .contact-icon{
  width:42px !important;
  height:42px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 auto !important;
}
@media(max-width:620px){
  section.contact .contact-card .contact-line{
    grid-template-columns:40px 1fr !important;
    column-gap:13px !important;
  }
  section.contact .contact-card .contact-icon{
    width:36px !important;
    height:36px !important;
  }
}

/* Surgical contact font -3% only */
section.contact .contact-card .contact-line span,
section.contact .contact-card .contact-line a{
  font-size:97% !important;
}
section.contact .contact-card p.contact-line{
  line-height:1.47 !important;
}

/* Surgical contact text slight reduction only */
section.contact .contact-card h2{
  font-size:calc(clamp(28px,3vw,44px) * .97) !important;
}
section.contact .contact-card .contact-line span,
section.contact .contact-card .contact-line a{
  font-size:94% !important;
}
section.contact .contact-card p.contact-line{
  margin:10px 0 !important;
}
