/******* Do not edit this file *******
Woody Code Snippets CSS and JS
Saved: Jul 12 2026 | 16:50:35 */
/* RevMap · СНИППЕТ CSS (тип CSS · Шапка/Head). Manrope грузится <link>-ом в HTML-сниппете. */

/* ============================================================
   RevMap · Лендинг · Сниппет 1 из 3: СТИЛИ
   Тип в Woody: CSS · Расположение: Шапка (Head)
   Всё, что нельзя задать инлайном: шрифт, keyframes, :hover/:focus,
   full-bleed, липкая CTA, скин форм Contact Form 7.
   ============================================================ */
#revmap-landing{font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;color:#1B2340;background:#FAFAFE;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip;}
#revmap-landing *{box-sizing:border-box;}
#revmap-landing a{color:#6D3BE0;}
#revmap-landing img{max-width:100%;}
#revmap-landing h1,#revmap-landing h2,#revmap-landing h3,#revmap-landing h4,#revmap-landing p{margin:0;}
/* тема Astra красит h1-h4 в свой тёмный цвет на уровне элемента — заставляем наследовать цвет секции */
#revmap-landing h1,#revmap-landing h2,#revmap-landing h3,#revmap-landing h4{color:inherit;}
#revmap-landing input,#revmap-landing textarea,#revmap-landing button{font-family:inherit;}
html{scroll-behavior:smooth;}

@keyframes revFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@keyframes revDrift{0%,100%{transform:translate(0,0);}33%{transform:translate(14px,-20px);}66%{transform:translate(-12px,12px);}}
@keyframes revDrift2{0%,100%{transform:translate(0,0) rotate(0deg);}50%{transform:translate(-18px,-14px) rotate(8deg);}}
@keyframes revBob{0%,100%{transform:translateY(0) scale(1);}50%{transform:translateY(-14px) scale(1.08);}}
@keyframes revBlob{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-30px,24px) scale(1.12);}}
@keyframes revWheel{0%{transform:translateY(0);opacity:1;}65%{transform:translateY(9px);opacity:0;}100%{transform:translateY(0);opacity:0;}}
@keyframes revHintBob{0%,100%{transform:translateY(0);}50%{transform:translateY(5px);}}
@keyframes revPing{0%{transform:scale(1);opacity:0.6;}100%{transform:scale(2.2);opacity:0;}}

/* full-bleed: тёмные/цветные секции тянутся на всю ширину даже внутри узкого контейнера темы */
#revmap-landing .rev-fullbleed{position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;width:100vw;}

/* hover — инлайном не задать */
#revmap-landing .rev-h-cta:hover{box-shadow:0 10px 28px rgba(109,59,224,0.5)!important;color:#fff!important;}
#revmap-landing .rev-h-navcta:hover{box-shadow:0 6px 20px rgba(109,59,224,0.45)!important;color:#fff!important;}
#revmap-landing .rev-h-ghost:hover{background:#F1EBFE!important;}
#revmap-landing .rev-h-link:hover{color:#6D3BE0!important;}
#revmap-landing .rev-h-card{transition:box-shadow 0.15s;}
#revmap-landing .rev-h-card:hover{box-shadow:0 8px 24px rgba(27,35,64,0.08)!important;}
#revmap-landing .rev-h-plan:hover{opacity:0.9!important;}

/* липкая мобильная CTA */
#revmap-landing .rev-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(250,250,254,0.95);backdrop-filter:blur(12px);border-top:1px solid #EBEBF5;display:flex;justify-content:center;transform:translateY(130%);transition:transform 0.3s ease;}
#revmap-landing .rev-sticky.is-visible{transform:translateY(0);}

/* ============ Contact Form 7 — скин под дизайн ============ */
#revmap-landing .rev-cf7{display:flex;flex-direction:column;gap:12px;}
#revmap-landing .rev-cf7 p{margin:0;}
#revmap-landing .rev-cf7 .rev-input,
#revmap-landing .rev-cf7 input[type=text],
#revmap-landing .rev-cf7 input[type=tel],
#revmap-landing .rev-cf7 input[type=email]{width:100%;border:1.5px solid #E3E4EF;border-radius:12px;padding:14px;font-size:15px;line-height:1.2;outline:none;color:#1B2340;background:#fff;transition:border-color 0.15s;box-sizing:border-box;}
#revmap-landing .rev-cf7 .rev-input:focus,#revmap-landing .rev-cf7 input:focus{border-color:#6D3BE0;}
#revmap-landing .rev-cf7 .rev-input::placeholder{color:#9A9EB5;}
#revmap-landing .rev-cf7 .rev-consent{font-size:11.5px;line-height:1.45;color:#7A7E9A;}
#revmap-landing .rev-cf7 .rev-consent label,
#revmap-landing .rev-cf7 .rev-consent .wpcf7-list-item{display:flex;gap:8px;align-items:flex-start;cursor:pointer;margin:0;}
#revmap-landing .rev-cf7 .rev-consent input{margin-top:2px;accent-color:#6D3BE0;flex:none;}
#revmap-landing .rev-cf7 .rev-submit{width:100%;background:#E8563F;color:#fff;border:none;border-radius:12px;padding:15px 6px;font-size:clamp(11.5px,3.4vw,16px);font-weight:800;cursor:pointer;transition:background 0.15s;}
#revmap-landing .rev-cf7 .rev-submit:hover{background:#D64B35;}
#revmap-landing .rev-cf7 br{display:none;}
/* текст согласия: перебиваем 14px темы, делаем компактнее */
#revmap-landing .rev-cf7 .rev-consent,
#revmap-landing .rev-cf7 .rev-consent label,
#revmap-landing .rev-cf7 .rev-consent .wpcf7-list-item-label{font-size:12.5px!important;line-height:1.45;}
/* схлопываем пустые абзацы, которые CF7 создаёт autop из скрытых полей [dynamichidden] */
#revmap-landing .rev-cf7 p:not(.rev-field):not(.rev-consent):not(.rev-submit-wrap){display:none!important;margin:0!important;}
/* прячем обёртки скрытых UTM-полей (они flex-элементы и раздвигают форму) */
#revmap-landing .rev-cf7 .wpcf7-form-control-wrap:has(> input[type=hidden]){display:none!important;}
/* спиннер отправки CF7 */
#revmap-landing .wpcf7-spinner{margin:10px auto 0;display:block;}
/* сообщения CF7 */
#revmap-landing .wpcf7-not-valid-tip{color:#E8563F;font-size:12px;margin-top:4px;font-weight:600;}
#revmap-landing .wpcf7 .wpcf7-response-output{margin:10px 0 0!important;border:none!important;border-radius:12px!important;padding:12px 14px!important;font-size:13.5px!important;line-height:1.5;background:#FDEEE9;color:#E8563F;}
/* успех: прячем поля, показываем зелёный блок */
#revmap-landing .rev-lead-card form.sent .rev-field,
#revmap-landing .rev-lead-card form.sent .rev-consent,
#revmap-landing .rev-lead-card form.sent .rev-submit-wrap,
#revmap-landing .rev-lead-card form.sent .wpcf7-spinner{display:none!important;}
#revmap-landing .rev-lead-card form.sent .wpcf7-response-output{background:#E9F8F0!important;color:#1F8A5B!important;font-size:15px!important;font-weight:700;text-align:center;padding:20px!important;}
/* успех: центрируем сообщение в карточке */
#revmap-landing .rev-lead-card form.sent{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:210px;text-align:center;}
#revmap-landing .rev-lead-card form.sent .wpcf7-response-output{margin:0!important;width:100%;box-sizing:border-box;}
/* подсказка «отметьте согласие» при ошибке валидации */
#revmap-landing .rev-lead-card form.invalid .rev-consent:has(input:not(:checked)){color:#E8563F;}
#revmap-landing .rev-lead-card form.invalid .rev-consent:has(input:not(:checked)) input{accent-color:#E8563F;outline:2px solid #E8563F;outline-offset:2px;}
#revmap-landing .rev-lead-card form.invalid .rev-consent:has(input:not(:checked))::after{content:"Пожалуйста, отметьте согласие, чтобы продолжить";display:block;color:#E8563F;font-size:12px;font-weight:600;margin-top:6px;}

/* ============ ползунки калькулятора ============ */
#revmap-landing input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:32px;background:transparent;cursor:pointer;margin:0;}
#revmap-landing input[type=range]:focus,
#revmap-landing input[type=range]:focus-visible{outline:none!important;box-shadow:none;}
#revmap-landing input[type=range]::-moz-focus-outer{border:0;}
/* красивое активное состояние: мягкое сиреневое кольцо вокруг бегунка вместо пунктира */
#revmap-landing input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 6px rgba(109,59,224,0.16),0 3px 9px rgba(109,59,224,0.5);}
#revmap-landing input[type=range]:focus::-moz-range-thumb{box-shadow:0 0 0 6px rgba(109,59,224,0.16),0 3px 9px rgba(109,59,224,0.5);}
/* WebKit / Blink */
#revmap-landing input[type=range]::-webkit-slider-runnable-track{height:7px;border-radius:99px;background:linear-gradient(90deg,#6D3BE0 var(--rev-fill,0%),#E9E7F6 var(--rev-fill,0%));}
#revmap-landing input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:24px;height:24px;margin-top:-8.5px;border-radius:50%;background:linear-gradient(135deg,#6D3BE0,#3E7BFA);border:3px solid #fff;box-shadow:0 3px 9px rgba(109,59,224,0.5);}
/* Firefox */
#revmap-landing input[type=range]::-moz-range-track{height:7px;border-radius:99px;background:#E9E7F6;}
#revmap-landing input[type=range]::-moz-range-progress{height:7px;border-radius:99px;background:linear-gradient(90deg,#6D3BE0,#3E7BFA);}
#revmap-landing input[type=range]::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#6D3BE0,#3E7BFA);border:3px solid #fff;box-shadow:0 3px 9px rgba(109,59,224,0.5);}

/* дашборд-превью: десктоп = ноутбук, мобайл = телефон с мобильной версией */
#revmap-landing .rev-dash-mobile{display:none;}

@media (max-width:760px){
  #revmap-landing .rev-hide-mobile{display:none!important;}
  #revmap-landing .rev-dash-desktop{display:none!important;}
  #revmap-landing .rev-dash-mobile{display:flex!important;}
  /* таблица сравнения: на мобильном — столбиком, без горизонтального скролла */
  #revmap-landing .rev-compare-scroll{overflow-x:visible!important;margin:0!important;padding:0!important;}
  #revmap-landing .rev-compare-grid{grid-template-columns:1fr!important;min-width:0!important;max-width:none!important;}
  /* герой на мобильном — всё по центру */
  #revmap-landing .rev-hero-copy{text-align:center;}
  #revmap-landing .rev-hero-copy p{margin-left:auto!important;margin-right:auto!important;}
  #revmap-landing .rev-hero-copy > div[style*="display:flex"]{justify-content:center;}
  /* калькулятор на мобильном: live-итог виден сверху + компактнее ползунки */
  #revmap-landing .rev-calc-peek{display:block!important;}
  #revmap-landing .rev-calc-sliders{gap:20px!important;}
  #revmap-landing .rev-cf7 .rev-input{font-size:14px;}
}

/* сравнение: горизонтальный скролл только на средних экранах (4 колонки не влезают); на десктопе тень карточек видна целиком */
@media (min-width:761px) and (max-width:980px){
  #revmap-landing .rev-compare-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}