.granov-promo{position:fixed;right:22px;bottom:22px;z-index:65;display:grid;gap:13px;width:244px;box-sizing:border-box;padding:20px 18px 14px;border:1px solid #3c5d71;border-radius:15px;background:#20354b;color:#fff;font:400 13px/1.5 var(--ed-text,Arial,sans-serif);box-shadow:0 9px 30px #1027381c}
.granov-promo[hidden]{display:none!important}
.granov-promo *{box-sizing:border-box}
.granov-promo__offer{display:grid;grid-template-columns:1fr auto;gap:6px 8px;align-items:start}
.granov-promo__offer>span{font-size:13px;line-height:1.5;max-width:145px;font-weight:600}
.granov-promo__offer strong{font:700 27px/1.1 var(--ed-heading,Arial,sans-serif);letter-spacing:-.03em;color:#a4e5ee;white-space:nowrap}
.granov-promo__offer small{grid-column:1/-1;font-size:11px;line-height:1.65;color:#d2e3ec}
.granov-promo .granov-promo__button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:46px;width:100%;margin:0;padding:12px 11px;border:1px solid #a4e5ee;border-radius:7px;background:#a4e5ee;color:#17334a;font:700 12px/1.4 var(--ed-text,Arial,sans-serif);text-align:left;cursor:pointer;transition:background-color .15s,border-color .15s}
.granov-promo__button>span:last-child{font-size:19px;line-height:1;flex:0 0 auto}
.granov-promo .granov-promo__button:hover{background:#c5f0f5;border-color:#c5f0f5}
.granov-promo .granov-promo__button:active{background:#8fd9e4}
.granov-promo .granov-promo__phone{display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;padding:4px;color:#eef8fb;text-decoration:none;font:500 12px/1.5 var(--ed-text,Arial,sans-serif);border-radius:6px}
.granov-promo__phone svg{flex:0 0 auto}
.granov-promo__call-label{display:none}
.granov-promo :is(button,a):focus-visible{outline:3px solid #a4e5ee;outline-offset:4px}
body:has(dialog[open]) .granov-promo,body.modal-open .granov-promo,body:has(.modal.active) .granov-promo{display:none!important}
@media(max-width:720px){
 .granov-promo{left:0;right:0;bottom:0;grid-template-columns:68px minmax(0,1fr);align-items:center;gap:9px;width:auto;padding:9px max(12px,env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border:0;border-top:1px solid #3c5d71;border-radius:0;box-shadow:none}
 .granov-promo__offer{display:none}
 .granov-promo .granov-promo__phone{grid-column:1;grid-row:1;flex-direction:column;justify-content:center;gap:2px;min-height:46px;padding:2px;font-size:10px;line-height:1.3}
 .granov-promo__number{display:none}.granov-promo__call-label{display:inline}
 .granov-promo .granov-promo__button{grid-column:2;grid-row:1;min-height:46px;padding:12px 14px;font-size:12px;text-align:center;justify-content:center;gap:13px}
 .granov-promo__button>span:last-child{font-size:18px}
 body:has([data-granov-promo]:not([hidden])){padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}
@media(max-width:350px){.granov-promo{gap:7px;grid-template-columns:59px minmax(0,1fr)}.granov-promo .granov-promo__button{font-size:11px;padding:12px 10px;gap:8px}}
@media(prefers-reduced-motion:reduce){.granov-promo *{transition:none!important}}

/* A single compact persistent action on desktop. */
@media(min-width:721px){
 .granov-promo{width:268px;padding:0;gap:0;border:0;background:transparent;box-shadow:0 6px 22px #10273820;border-radius:12px}
 .granov-promo__offer,.granov-promo .granov-promo__phone{display:none}
 .granov-promo .granov-promo__button{min-height:54px;padding:15px 18px;border-radius:12px;font-size:13px;background:#1d5269;color:#fff;border-color:#1d5269}
 .granov-promo .granov-promo__button:hover{background:#173e52;border-color:#173e52}
}
