/* CTA Pro — изолированные стили блока призыва к действию. */
.cta-pro-section{padding-top:54px;padding-bottom:54px}
.cta-pro,.cta-pro *{box-sizing:border-box}
.cta-pro [hidden]{display:none!important}
.cta-pro{--cta-green:var(--green,#8BAB48);--cta-navy:var(--navy,#253E5C);--cta-ink:#405268;--cta-soft:#f5f8ef;position:relative;isolation:isolate;overflow:hidden;display:grid;gap:26px;container-type:inline-size;border-radius:34px;min-height:286px;padding:38px 42px;color:var(--cta-navy);box-shadow:0 20px 52px rgba(37,62,92,.08)}
.cta-pro a{text-decoration:none;color:inherit}
.cta-pro button{font:inherit}
.cta-pro__copy,.cta-pro__contact,.cta-pro__actions{position:relative;z-index:2;min-width:0}
.cta-pro__copy{align-self:center;max-width:100%}
.cta-pro__badge{display:inline-flex;align-items:center;max-width:100%;min-height:36px;padding:7px 13px;margin-bottom:14px;border-radius:11px;background:var(--cta-navy);color:#fff;font-size:13px;font-weight:900;line-height:1.25;letter-spacing:.01em}
.cta-pro__eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--cta-green);font-size:12px;line-height:1.2;text-transform:uppercase;letter-spacing:.12em;font-weight:900}
.cta-pro__eyebrow:before{content:"";width:28px;height:2px;border-radius:3px;background:currentColor;flex:0 0 auto}
.cta-pro__copy h2{max-width:100%;margin:0;font-size:clamp(30px,4.1vw,54px);line-height:1.04;letter-spacing:-.032em;text-wrap:balance;overflow-wrap:normal}
.cta-pro__copy p{max-width:680px;margin:15px 0 0;color:#607183;font-size:17px;line-height:1.55}
.cta-pro__contact{align-self:center}
.cta-pro__phone{display:flex;align-items:center;gap:14px;width:100%;max-width:100%;min-width:0}
.cta-pro__phone-icon{display:grid;place-items:center;flex:0 0 auto;width:64px;height:64px;border-radius:50%;background:var(--cta-green);color:#fff;box-shadow:0 12px 28px rgba(96,128,43,.19)}
.cta-pro__phone-icon svg,.cta-pro__action-icon svg,.cta-pro__hours svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cta-pro__phone-icon svg path:first-child{fill:currentColor;stroke:none}
.cta-pro__phone strong{display:block;min-width:0;max-width:100%;font-size:clamp(28px,3.7vw,50px);line-height:1.02;letter-spacing:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.cta-pro__hours{display:flex;align-items:center;gap:9px;margin-top:16px;color:#6f7f8b;font-size:14px;font-weight:700}
.cta-pro__hours svg{width:20px;height:20px;flex:0 0 auto;color:var(--cta-green)}
.cta-pro__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.cta-pro__action{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:14px 21px;border:1px solid transparent;border-radius:15px;cursor:pointer;font-size:15px;line-height:1.2;font-weight:900;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.cta-pro__action:hover{transform:translateY(-1px)}
.cta-pro__action-icon{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px}
.cta-pro__action-icon svg{width:22px;height:22px}
.cta-pro__action-icon svg path:first-child:not(:only-child){fill:none}
/* Селекторы намеренно чуть специфичнее .cta-pro a: цвет ссылки не должен перебивать цвет CTA-кнопки. */
.cta-pro .cta-pro__action--primary{background:var(--cta-green);color:#fff;box-shadow:0 12px 25px rgba(105,139,48,.2)}
.cta-pro--split .cta-pro__action--primary:hover{background:#7f9f3f;box-shadow:0 14px 30px rgba(105,139,48,.24)}
.cta-pro .cta-pro__action--secondary{background:#fff;color:var(--cta-navy);border-color:rgba(37,62,92,.14)}
.cta-pro__leaves{position:absolute;right:-18px;bottom:-34px;z-index:0;width:190px;height:230px;color:var(--cta-green);opacity:.1;fill:none;stroke:currentColor;stroke-width:2;pointer-events:none}
.cta-pro__orb{position:absolute;z-index:0;border-radius:999px;pointer-events:none;filter:blur(.2px)}
.cta-pro__orb--one{width:190px;height:190px;right:12%;top:-100px;background:rgba(139,171,72,.1)}
.cta-pro__orb--two{width:130px;height:130px;left:-70px;bottom:-70px;background:rgba(37,62,92,.05)}
.cta-pro__stacked-bg{display:none;pointer-events:none}

/* 1. Телефонный баннер */
.cta-pro--phone_banner{grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);grid-template-areas:"copy actions" "contact actions";align-items:center;background:linear-gradient(135deg,var(--cta-green) 0%,#86a943 52%,#789a38 100%);color:#fff;box-shadow:0 24px 58px rgba(92,124,42,.22)}
.cta-pro--phone_banner .cta-pro__copy{grid-area:copy}
.cta-pro--phone_banner .cta-pro__contact{grid-area:contact}
.cta-pro--phone_banner .cta-pro__actions{grid-area:actions;align-self:center;justify-content:flex-end;flex-direction:column;align-items:stretch}
.cta-pro--phone_banner .cta-pro__eyebrow{color:rgba(255,255,255,.82)}
.cta-pro--phone_banner .cta-pro__copy h2{font-size:clamp(28px,3.3vw,45px)}
.cta-pro--phone_banner .cta-pro__copy p{color:rgba(255,255,255,.84);margin-top:10px}
.cta-pro--phone_banner .cta-pro__phone{color:#fff}
.cta-pro--phone_banner .cta-pro__phone-icon{width:74px;height:74px;background:#fff;color:var(--cta-green);box-shadow:0 14px 30px rgba(43,69,22,.16)}
.cta-pro--phone_banner .cta-pro__phone-icon svg{width:31px;height:31px}
.cta-pro--phone_banner .cta-pro__phone strong{font-size:clamp(34px,4.7vw,60px);letter-spacing:.005em}
.cta-pro--phone_banner .cta-pro__hours{color:rgba(255,255,255,.8)}
.cta-pro--phone_banner .cta-pro__hours svg{color:#fff}
.cta-pro--phone_banner .cta-pro__action{width:100%;min-height:62px}
.cta-pro--phone_banner .cta-pro__action--primary{background:#fff;color:var(--cta-green);box-shadow:0 15px 28px rgba(34,61,16,.18)}
.cta-pro--phone_banner .cta-pro__action--secondary{background:rgba(255,255,255,.09);color:#fff;border-color:rgba(255,255,255,.45)}
.cta-pro--phone_banner .cta-pro__badge{background:var(--cta-navy)}
.cta-pro--phone_banner .cta-pro__leaves{color:#fff;opacity:.11}
.cta-pro--phone_banner .cta-pro__orb--one{background:rgba(255,255,255,.08)}
.cta-pro--phone_banner .cta-pro__orb--two{background:rgba(255,255,255,.06)}

/* 2. Разделённый */
.cta-pro--split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"copy contact" "copy actions";gap:24px 52px;align-items:center;background:linear-gradient(105deg,#fff 0%,#fff 45%,#f3f7eb 45%,#f8faf4 100%);border:1px solid rgba(37,62,92,.08)}
.cta-pro--split:after{content:"";position:absolute;z-index:1;left:44%;top:-18%;width:84px;height:136%;border-left:2px solid rgba(139,171,72,.68);border-radius:50%;transform:rotate(-3deg);pointer-events:none}
.cta-pro--split .cta-pro__copy{grid-area:copy;padding-right:14px}
.cta-pro--split .cta-pro__contact{grid-area:contact}
.cta-pro--split .cta-pro__actions{grid-area:actions}
.cta-pro--split .cta-pro__copy h2{font-size:clamp(34px,4vw,53px)}
.cta-pro--split .cta-pro__phone strong{font-size:clamp(28px,3.3vw,44px)}
.cta-pro--split .cta-pro__actions .cta-pro__action{flex:1 1 180px}
.cta-pro--split .cta-pro__badge{background:#edf4df;color:#678b28}

/* 3. Светлая карточка */
.cta-pro--soft_card{grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);grid-template-areas:"copy contact" "actions contact";align-items:center;background:linear-gradient(135deg,#fff 0%,#fbfcf9 70%,#f2f7e8 100%);border:1px solid rgba(37,62,92,.1);box-shadow:0 24px 64px rgba(37,62,92,.09)}
.cta-pro--soft_card .cta-pro__copy{grid-area:copy}
.cta-pro--soft_card .cta-pro__contact{grid-area:contact;padding:24px;border-radius:26px;background:#f3f8e9;border:1px solid #e1ecd0}
.cta-pro--soft_card .cta-pro__actions{grid-area:actions}
.cta-pro--soft_card .cta-pro__badge{background:#eef4e5;color:#6d8a3e}
.cta-pro--soft_card .cta-pro__phone{align-items:flex-start;flex-direction:column;gap:14px}
.cta-pro--soft_card .cta-pro__phone strong{font-size:clamp(27px,3vw,40px)}
.cta-pro--soft_card .cta-pro__phone-icon{width:56px;height:56px}
.cta-pro--soft_card .cta-pro__action--secondary{border-color:transparent;background:transparent;color:var(--cta-navy);padding-left:8px;padding-right:8px;box-shadow:none}

/* 4. Контрастный акцент */
.cta-pro--contrast{grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);grid-template-areas:"copy contact" "actions contact";align-items:center;background:linear-gradient(135deg,#8bad48 0%,#78983a 100%);color:#fff;box-shadow:0 28px 65px rgba(99,129,45,.24)}
.cta-pro--contrast:before{content:"";position:absolute;z-index:0;width:320px;height:320px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-92px;top:-150px;box-shadow:0 0 0 48px rgba(255,255,255,.035),0 0 0 96px rgba(255,255,255,.025)}
.cta-pro--contrast .cta-pro__copy{grid-area:copy;max-width:720px}
.cta-pro--contrast .cta-pro__contact{grid-area:contact;min-width:0;padding:28px 26px;border-radius:28px;background:rgba(37,62,92,.96);box-shadow:0 18px 36px rgba(31,52,75,.2)}
.cta-pro--contrast .cta-pro__actions{grid-area:actions}
.cta-pro--contrast .cta-pro__eyebrow{color:rgba(255,255,255,.8)}
.cta-pro--contrast .cta-pro__copy p{color:rgba(255,255,255,.84)}
.cta-pro--contrast .cta-pro__badge{background:var(--cta-navy)}
.cta-pro--contrast .cta-pro__phone{color:#fff}
.cta-pro--contrast .cta-pro__phone-icon{background:#fff;color:var(--cta-green)}
.cta-pro--contrast .cta-pro__phone strong{font-size:clamp(27px,3.15vw,43px)}
.cta-pro--contrast .cta-pro__hours{color:rgba(255,255,255,.72)}
.cta-pro--contrast .cta-pro__hours svg{color:#b6d178}
.cta-pro--contrast .cta-pro__action--primary{background:#fff;color:var(--cta-green)}
.cta-pro--contrast .cta-pro__action--secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.cta-pro--contrast .cta-pro__leaves{color:#fff;opacity:.1}

/* 5. Двухуровневый */
.cta-pro--stacked{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);grid-template-areas:"copy copy" "contact actions";grid-template-rows:auto auto;gap:28px 30px;padding-bottom:34px;background:#fff;border:1px solid rgba(37,62,92,.09)}
.cta-pro--stacked .cta-pro__stacked-bg{display:block;grid-column:1/-1;grid-row:2;z-index:0;align-self:stretch;margin:-8px -24px -16px;border-radius:27px;background:linear-gradient(135deg,var(--cta-green),#789a38);box-shadow:0 16px 34px rgba(99,129,45,.13)}
.cta-pro--stacked .cta-pro__copy{grid-area:copy;max-width:900px;padding-right:0;padding-bottom:4px}
.cta-pro--stacked .cta-pro__copy h2{max-width:900px;font-size:clamp(31px,3.45vw,48px);line-height:1.07}
.cta-pro--stacked .cta-pro__copy p{max-width:760px;margin-top:12px}
.cta-pro--stacked .cta-pro__contact{grid-area:contact;align-self:center;color:#fff;padding:18px 0 18px 4px;min-width:0}
.cta-pro--stacked .cta-pro__actions{grid-area:actions;align-self:center;padding:18px 4px 18px 0;justify-content:flex-end}
.cta-pro--stacked .cta-pro__phone-icon{width:60px;height:60px;background:#fff;color:var(--cta-green)}
.cta-pro--stacked .cta-pro__phone strong{font-size:clamp(28px,3.2vw,43px);color:#fff}
.cta-pro--stacked .cta-pro__hours{color:rgba(255,255,255,.82);margin-top:12px}
.cta-pro--stacked .cta-pro__hours svg{color:#fff}
.cta-pro--stacked .cta-pro__action{flex:1 1 170px;max-width:230px}
.cta-pro--stacked .cta-pro__action--primary{background:#fff;color:var(--cta-navy)}
.cta-pro--stacked .cta-pro__action--secondary{background:rgba(255,255,255,.13);color:#fff;border-color:rgba(255,255,255,.4)}
.cta-pro--stacked .cta-pro__badge{background:#eef4e5;color:#6c893c}

/* 6. Фокус на номере */
.cta-pro--phone_focus{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-areas:"copy contact" "copy actions";align-items:center;background:linear-gradient(135deg,#fcfdf9,#f4f8ed);border:1px solid rgba(37,62,92,.08)}
.cta-pro--phone_focus .cta-pro__copy{grid-area:copy;padding-right:20px;text-align:center}
.cta-pro--phone_focus .cta-pro__copy .cta-pro__eyebrow{justify-content:center}
.cta-pro--phone_focus .cta-pro__copy .cta-pro__eyebrow:after{content:"";width:28px;height:2px;border-radius:3px;background:currentColor}
.cta-pro--phone_focus .cta-pro__copy h2{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:clamp(33px,4vw,52px);letter-spacing:-.025em}
.cta-pro--phone_focus .cta-pro__copy p{margin-left:auto;margin-right:auto}
.cta-pro--phone_focus .cta-pro__contact{grid-area:contact;padding:29px;border-radius:28px;background:linear-gradient(135deg,var(--cta-green),#86aa43);color:#fff;text-align:center}
.cta-pro--phone_focus .cta-pro__phone{justify-content:center;flex-direction:column;gap:13px}
.cta-pro--phone_focus .cta-pro__phone-icon{width:58px;height:58px;background:#fff;color:var(--cta-green)}
.cta-pro--phone_focus .cta-pro__phone strong{font-family:Georgia,"Times New Roman",serif;font-size:clamp(29px,3.7vw,48px);color:#fff}
.cta-pro--phone_focus .cta-pro__hours{justify-content:center;color:rgba(255,255,255,.8);padding-top:15px;border-top:1px dashed rgba(255,255,255,.25)}
.cta-pro--phone_focus .cta-pro__hours svg{color:#fff}
.cta-pro--phone_focus .cta-pro__actions{grid-area:actions;justify-content:center}
.cta-pro--phone_focus .cta-pro__action--primary{background:var(--cta-navy)}
.cta-pro--phone_focus .cta-pro__action--secondary{background:transparent;border-color:transparent;color:var(--cta-navy);text-decoration:underline;text-decoration-color:rgba(139,171,72,.6);text-underline-offset:5px}

/* Состояния без телефона / кнопок */
.cta-pro--phone-off.cta-pro--phone_banner,.cta-pro--phone-off.cta-pro--contrast,.cta-pro--phone-off.cta-pro--soft_card,.cta-pro--phone-off.cta-pro--split,.cta-pro--phone-off.cta-pro--phone_focus{grid-template-columns:minmax(0,1fr) minmax(240px,.55fr);grid-template-areas:"copy actions"}
.cta-pro--phone-off.cta-pro--stacked{grid-template-areas:"copy copy" "actions actions"}
.cta-pro--actions-0.cta-pro--phone_banner,.cta-pro--actions-0.cta-pro--contrast,.cta-pro--actions-0.cta-pro--soft_card,.cta-pro--actions-0.cta-pro--split,.cta-pro--actions-0.cta-pro--phone_focus{grid-template-columns:minmax(0,.92fr) minmax(280px,1.08fr);grid-template-areas:"copy contact"}
.cta-pro--actions-0.cta-pro--stacked{grid-template-areas:"copy copy" "contact contact"}
.cta-pro--phone-off.cta-pro--actions-0{display:block;min-height:0}
.cta-pro--phone-off.cta-pro--actions-0 .cta-pro__copy{max-width:860px}

@media(max-width:1080px){
  .cta-pro{padding:34px 32px;min-height:0}
  .cta-pro--phone_banner,.cta-pro--split,.cta-pro--soft_card,.cta-pro--contrast,.cta-pro--phone_focus,.cta-pro--phone-off.cta-pro--phone_banner,.cta-pro--phone-off.cta-pro--contrast,.cta-pro--phone-off.cta-pro--soft_card,.cta-pro--phone-off.cta-pro--split,.cta-pro--phone-off.cta-pro--phone_focus,.cta-pro--actions-0.cta-pro--phone_banner,.cta-pro--actions-0.cta-pro--contrast,.cta-pro--actions-0.cta-pro--soft_card,.cta-pro--actions-0.cta-pro--split,.cta-pro--actions-0.cta-pro--phone_focus{grid-template-columns:1fr;grid-template-areas:"copy" "contact" "actions";gap:22px}
  .cta-pro--split{background:linear-gradient(180deg,#fff 0%,#fff 47%,#f5f8ef 47%,#f8faf4 100%)}
  .cta-pro--split:after{display:none}
  .cta-pro--soft_card .cta-pro__contact{padding:22px}
  .cta-pro--stacked,.cta-pro--phone-off.cta-pro--stacked,.cta-pro--actions-0.cta-pro--stacked{grid-template-columns:1fr;grid-template-areas:"copy" "contact" "actions";padding-bottom:31px}
  .cta-pro--stacked .cta-pro__stacked-bg{grid-column:1;grid-row:2/4;margin:-6px -14px -13px}
  .cta-pro--stacked .cta-pro__copy{padding-right:0}
  .cta-pro--stacked .cta-pro__contact{padding:20px 4px 4px}
  .cta-pro--stacked .cta-pro__actions{padding:4px 4px 18px;justify-content:flex-start}
  .cta-pro--phone_focus .cta-pro__copy{padding-right:0}
  .cta-pro--phone_banner .cta-pro__actions{align-items:flex-start;flex-direction:row;justify-content:flex-start}
  .cta-pro--phone_banner .cta-pro__action{width:auto;flex:1 1 190px}
}

@media(max-width:620px){
  .cta-pro-section{padding-top:28px;padding-bottom:28px}
  .cta-pro{border-radius:27px;padding:26px 21px;gap:19px}
  .cta-pro__badge{min-height:32px;padding:6px 11px;margin-bottom:11px;font-size:11px}
  .cta-pro__eyebrow{font-size:10px;margin-bottom:8px}
  .cta-pro__copy h2{font-size:clamp(29px,9.2vw,40px);line-height:1.04}
  .cta-pro__copy p{font-size:15px;line-height:1.48;margin-top:11px}
  .cta-pro__phone{gap:11px}
  .cta-pro__phone-icon,.cta-pro--phone_banner .cta-pro__phone-icon{width:52px;height:52px}
  .cta-pro__phone-icon svg,.cta-pro--phone_banner .cta-pro__phone-icon svg{width:23px;height:23px}
  .cta-pro__phone strong,.cta-pro--phone_banner .cta-pro__phone strong,.cta-pro--split .cta-pro__phone strong,.cta-pro--soft_card .cta-pro__phone strong,.cta-pro--contrast .cta-pro__phone strong,.cta-pro--stacked .cta-pro__phone strong,.cta-pro--phone_focus .cta-pro__phone strong{font-size:clamp(23px,6.8vw,29px);white-space:nowrap;overflow-wrap:normal}
  .cta-pro__hours{font-size:12px;line-height:1.4;margin-top:12px}
  .cta-pro__actions,.cta-pro--phone_banner .cta-pro__actions{display:grid;grid-template-columns:1fr;gap:9px;width:100%}
  .cta-pro__action,.cta-pro--phone_banner .cta-pro__action,.cta-pro--stacked .cta-pro__action{width:100%;max-width:none;min-height:52px;padding:13px 16px}
  .cta-pro--soft_card .cta-pro__contact,.cta-pro--contrast .cta-pro__contact,.cta-pro--phone_focus .cta-pro__contact{padding:20px 18px;border-radius:22px}
  .cta-pro--soft_card .cta-pro__phone{align-items:center;flex-direction:row}
  .cta-pro--phone_focus .cta-pro__phone{flex-direction:column}
  .cta-pro--stacked .cta-pro__stacked-bg{grid-row:2/4;margin:-5px -10px -10px;border-radius:22px}
  .cta-pro--stacked{padding-bottom:24px}
  .cta-pro__leaves{width:142px;height:180px;right:-25px;bottom:-37px}
}


/* CTA refinement v3 — ровная композиция и безопасные длинные значения. */
.cta-pro__copy p{max-width:58ch}
.cta-pro__contact{min-width:0}
.cta-pro--split .cta-pro__copy h2{max-width:660px}
.cta-pro--soft_card .cta-pro__copy h2{max-width:720px}
.cta-pro--contrast .cta-pro__copy h2{max-width:690px}
.cta-pro--phone_focus .cta-pro__copy h2{max-width:620px;margin-left:auto;margin-right:auto}

@media(max-width:1080px){
  .cta-pro--split .cta-pro__copy h2,
  .cta-pro--soft_card .cta-pro__copy h2,
  .cta-pro--contrast .cta-pro__copy h2,
  .cta-pro--stacked .cta-pro__copy h2,
  .cta-pro--phone_focus .cta-pro__copy h2{max-width:820px}
}

/* Защита от переполнения длинных телефонов внутри узких CTA-колонок. */
@container (max-width: 980px){
  .cta-pro__phone strong{font-size:clamp(27px,4.7cqw,42px)}
  .cta-pro--phone_banner .cta-pro__phone strong{font-size:clamp(30px,5.5cqw,50px)}
}


/* Размер заголовка CTA — управляется из админки. auto оставляет размер конкретного дизайна. */
.cta-pro--heading-xs .cta-pro__copy h2{font-size:clamp(24px,2.55vw,34px)}
.cta-pro--heading-sm .cta-pro__copy h2{font-size:clamp(27px,3vw,40px)}
.cta-pro--heading-md .cta-pro__copy h2{font-size:clamp(30px,3.55vw,46px)}
.cta-pro--heading-lg .cta-pro__copy h2{font-size:clamp(34px,4.15vw,54px)}
.cta-pro--heading-xl .cta-pro__copy h2{font-size:clamp(38px,4.75vw,62px)}
@media(max-width:620px){
  .cta-pro--heading-xs .cta-pro__copy h2{font-size:clamp(24px,7.1vw,29px)}
  .cta-pro--heading-sm .cta-pro__copy h2{font-size:clamp(26px,7.8vw,32px)}
  .cta-pro--heading-md .cta-pro__copy h2{font-size:clamp(28px,8.6vw,36px)}
  .cta-pro--heading-lg .cta-pro__copy h2{font-size:clamp(30px,9.3vw,40px)}
  .cta-pro--heading-xl .cta-pro__copy h2{font-size:clamp(32px,10vw,44px)}
}
