/* Visible phone and callback entry points, shared by desktop and mobile. */
.esp-callback-trigger{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 11px;border:1px solid var(--esp-orange);border-radius:8px;background:transparent;color:var(--esp-ink);font:600 12px/1.35 "Open Sans",sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s}
.esp-callback-trigger:hover{background:var(--esp-orange);color:#17212b}
.esp-callback-trigger:focus-visible{outline:3px solid var(--esp-orange);outline-offset:3px}
header .esp-header-contact>.esp-callback-trigger{align-self:flex-start;margin:2px 0}
.esp-footer .esp-callback-trigger{display:flex;width:max-content;margin-top:12px;min-height:40px;padding:8px 14px}
@media(max-width:1199px){
 header .esp-header-contact{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"email messengers" "phone callback";align-items:center;gap:6px 8px;width:100%;padding-top:10px!important}
 header .esp-header-contact>a[href^="tel:"]{display:inline-flex!important;grid-area:phone;align-items:center;min-height:40px;font-size:15px!important;font-weight:650;line-height:1.3}
 header .esp-header-contact>a[href^="mailto:"]{grid-area:email;min-width:0}
 header .esp-header-contact>.esp-header-messengers{grid-area:messengers;justify-self:end}
 header .esp-header-contact>.esp-callback-trigger{grid-area:callback;justify-self:end;align-self:center;min-height:40px;margin:0;width:100%;font-size:12px}
}
@media(max-width:359px){
 header .esp-header-contact>a[href^="tel:"]{font-size:13px!important}
 header .esp-header-contact>a[href^="mailto:"]{font-size:13px!important}
 header .esp-header-contact .esp-header-messengers a{font-size:11px!important;padding:7px 6px!important}
 header .esp-header-contact>.esp-callback-trigger{font-size:11px;padding:6px 8px}
}

/* Keep callback on the phone line without increasing the desktop header height. */
@media(min-width:1200px){
 header .esp-header-contact{display:grid;grid-template-columns:max-content max-content;grid-template-areas:"phone callback" "email email" "hours hours" "messengers messengers";gap:4px 10px;align-items:center}
 header .esp-header-contact>a[href^="tel:"]{grid-area:phone}
 header .esp-header-contact>a[href^="mailto:"]{grid-area:email}
 header .esp-header-contact>small{grid-area:hours}
 header .esp-header-contact>.esp-header-messengers{grid-area:messengers}
 header .esp-header-contact>.esp-callback-trigger{grid-area:callback;align-self:center;min-height:20px;margin:0;padding:0;border:0;border-radius:0;background:transparent;font-size:11px;font-weight:400;color:var(--esp-muted);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--esp-line)}
 header .esp-header-contact>.esp-callback-trigger:hover{color:var(--esp-ink);text-decoration-color:var(--esp-orange)}
}


/* Desktop header: balanced vertical rhythm without shrinking primary controls. */
@media(min-width:1200px){
 header.up-header>.container>.row{padding-top:10px!important;padding-bottom:10px!important}
 header .esp-header-contact{row-gap:3px!important}
 header .esp-header-contact>small{line-height:14px}
 header .esp-header-contact>.esp-header-messengers{margin-top:0!important;gap:7px}
 header .esp-header-contact .esp-header-messengers a{min-height:28px!important;padding:5px 10px!important;font-size:12px!important;line-height:16px!important}
}
