.request-section{padding:24px 0 34px;scroll-margin-top:30px;overflow:hidden}
.request-card{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(255px,.8fr);gap:10px;padding:14px;border-radius:19px;background:linear-gradient(135deg,#fffdf5 0%,#fff8dc 48%,#f8effa 100%);box-shadow:0 8px 28px rgba(102,51,102,.09);border:1px solid rgba(102,51,102,.10);overflow:hidden}
.request-main{min-width:0;position:relative;z-index:2}.request-heading{position:relative;z-index:2}
.request-heading h2{margin:0 0 7px;padding-left:70px;color:#663366;font-size:clamp(21px,1.75vw,26px);line-height:1.08;max-width:670px}
.request-heading p{margin:0 0 9px;color:#594c59;font-size:14.67px;line-height:1.32;max-width:700px}
.request-fields-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.request-field{display:block;margin:0 0 7px;color:#3f2340;font-weight:700;font-size:15.67px;position:relative}.request-field>span{display:block;margin:0 0 4px}.request-field em{font-style:normal;font-weight:400;font-size:.86em;color:#746b74}.request-coupon-hint{display:block;margin:4px 0 0 2px;font-size:12px;font-weight:400;line-height:1.25;color:#675b6a}.request-coupon-hint a{color:#663366;font-weight:700;text-decoration:underline}
.request-field input,.request-field textarea{width:100%;box-sizing:border-box;border:1.5px solid #e5c85d;border-radius:9px;background:rgba(255,253,245,.78);padding:8px 11px;color:#3e2d40;font:inherit;outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.request-field input{height:35px;padding-left:39px}.request-field textarea{resize:vertical;min-height:72px;height:72px;padding:8px 11px 8px 39px;line-height:1.25}
.request-field input:focus,.request-field textarea:focus{border-color:#b99126;box-shadow:0 0 0 2px rgba(229,200,93,.16);background:#fffef9}
.request-input-icon,.request-textarea-icon{position:absolute;z-index:3;pointer-events:none;display:flex;align-items:center;justify-content:center}.request-input-icon{left:8px;top:31px;width:19px;height:19px}.request-textarea-icon{left:8px;top:33px;width:19px;height:19px}.request-input-icon img,.request-textarea-icon img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}
.request-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.request-captcha{position:relative;padding:7px 8px 6px;border:1px solid rgba(102,51,102,.13);border-radius:8px;background:rgba(255,255,255,.42);margin:1px 0 8px}.request-captcha-title{color:#3f2340;font-weight:700;margin-bottom:4px;font-size:14.67px}.request-captcha-title strong{color:#663366}.request-captcha-row{display:flex;align-items:center;gap:5px}.request-captcha-items{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}.request-captcha-item{width:34px;height:34px;padding:3px;border:1px solid rgba(102,51,102,.13);border-radius:9px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.16s;box-sizing:border-box;flex:0 0 34px}.request-captcha-item img{display:block;max-width:100%;max-height:100%;width:auto;height:auto}.request-captcha-item:hover{transform:translateY(-1px);border-color:#c9a7cf}.request-captcha-item.selected{border:2px solid #663366;background:#f5eafa;box-shadow:0 0 0 2px rgba(102,51,102,.09)}
.request-captcha-refresh{border:0;background:none;color:#663366;font:inherit;cursor:pointer;margin:0;padding:0;display:inline-flex;align-items:center;gap:2px;white-space:nowrap;line-height:1;flex:0 0 auto}.request-captcha-refresh span{font-size:13.67px}.request-captcha-error{min-height:12px;color:#a32828;font-size:13.67px;margin-top:2px}
.request-submit{width:min(330px,100%);margin:2px auto 0;font-size:18.67px}.request-submit .btn-icon img{width:20px;height:20px;display:block;object-fit:contain}.request-submit:disabled{opacity:.75;cursor:default;transform:none}
.request-status{text-align:center;min-height:17px;margin-top:4px;color:#663366;font-weight:700;font-size:14.67px}.request-privacy{display:flex;align-items:center;justify-content:center;gap:4px;text-align:center;color:#716875;font-size:12.67px;margin-top:2px}.request-privacy img{width:22px;height:24px;display:block;object-fit:contain;flex:0 0 22px}
.request-side{padding:3px;display:flex;flex-direction:column;gap:5px;position:relative;z-index:2}.request-side-item{padding:7px 8px;border-radius:11px;background:rgba(245,238,251,.74);border:1px solid rgba(102,51,102,.08);display:flex;align-items:center;gap:7px}.request-side-item>img{width:32px;height:32px;object-fit:contain;flex:0 0 32px}.request-side-item b{display:block;color:#3d1f78;font-size:15.67px;margin-bottom:2px}.request-side-item span{display:block;color:#675b6a;line-height:1.25;font-size:13.67px}.request-side-note{margin-top:auto;padding:8px 8px 12px;color:#49344e;line-height:1.35;font-size:13.67px}.request-side-note strong{font-size:18.67px;color:#663366}
.request-decor{position:absolute;pointer-events:none;z-index:1}.request-decor-plane{width:52px;height:52px;object-fit:contain;left:12px;top:9px}.request-decor-headphones{width:120px;height:120px;object-fit:contain;right:315px;top:2px;opacity:.82}.request-decor-waves{width:270px;height:58px;object-fit:contain;right:78px;top:83px;opacity:.6}.request-decor-heart{width:100px;height:100px;object-fit:contain;right:-16px;bottom:-13px;opacity:.68}
.request-section.request-attention .request-card{animation:requestPulse .38s ease-in-out 2;border-color:#663366;box-shadow:0 0 0 4px rgba(102,51,102,.13),0 10px 30px rgba(102,51,102,.15)}@keyframes requestPulse{0%,100%{box-shadow:0 0 0 0 rgba(102,51,102,0),0 8px 28px rgba(102,51,102,.09)}50%{box-shadow:0 0 0 5px rgba(102,51,102,.18),0 10px 32px rgba(102,51,102,.16)}}
@media(max-width:900px){.request-heading h2{padding-left:66px}.request-decor-plane{width:56px;height:56px;left:6px;top:8px}.request-decor-headphones{width:105px;height:105px;right:240px;top:5px;opacity:.35}.request-decor-waves{width:300px;height:65px;right:25px;top:88px;opacity:.4}.request-decor-heart{width:95px;height:95px;right:-15px;bottom:-10px}}
@media(max-width:820px){.request-card{grid-template-columns:1fr;padding:15px;border-radius:19px}.request-side{display:grid;grid-template-columns:1fr 1fr}.request-side-note{grid-column:1/-1}.request-fields-two{grid-template-columns:1fr;gap:0}}
@media(max-width:520px){.request-submit{font-size:17px;padding-left:14px;padding-right:14px}.request-submit .btn-icon{width:18px;height:18px}.request-submit .btn-icon img{width:18px;height:18px}.request-side{display:block}.request-heading h2{padding-left:58px}.request-side-item{margin-bottom:5px}.request-captcha-row{flex-wrap:wrap}.request-captcha-items{flex-wrap:wrap}.request-captcha-refresh{margin-left:0}.request-heading h2{font-size:25px}.request-decor-plane{width:48px;height:48px;left:4px;top:7px}.request-decor-headphones{display:none}.request-field-message .request-textarea-icon{top:76px}.request-decor-waves{width:245px;height:58px;right:-8px;top:90px}.request-decor-heart{width:85px;height:85px}}

/* Точечный блок альтернативных контактов под основной кнопкой заявки */
.request-direct-contacts{margin:10px auto 2px;max-width:430px;text-align:center;}
.request-direct-contacts-label{display:block;margin-bottom:7px;color:#716475;font-size:13px;line-height:1.3;font-weight:400;}
.request-direct-contacts-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;}
.request-contact-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:5px 10px;border:1px solid currentColor;border-radius:9px;background:transparent;text-decoration:none!important;font-size:13px;font-weight:600;line-height:1;transition:background-color .18s,border-color .18s,color .18s,transform .18s;box-sizing:border-box;}
.request-contact-link svg{width:17px;height:17px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:0 0 17px;}
.request-contact-max{color:#168de2}.request-contact-telegram{color:#229ed9}.request-contact-whatsapp{color:#269b62}.request-contact-phone{color:#663366}
.request-contact-link:hover{background:rgba(102,51,102,.045);transform:translateY(-1px);}
.request-contact-link:focus-visible{outline:2px solid #663366;outline-offset:2px;}
@media(max-width:480px){.request-direct-contacts{margin-top:9px}.request-direct-contacts-links{gap:5px}.request-contact-link{padding:5px 8px;min-height:33px;font-size:12.5px}}

/* 4 px gap below the main submit button before alternative contacts. */
.request-direct-contacts{margin-top:4px;}
@media(max-width:480px){.request-direct-contacts{margin-top:4px;}}


/* Fix: keep the main submit button centered and remove the empty status line gap. */
.request-form .request-submit{
  display:block;
  margin-left:auto !important;
  margin-right:auto !important;
}
.request-form .request-status:empty{
  display:none;
  min-height:0;
  margin:0;
  padding:0;
}
/* Keep exactly 4 px between the submit button/status and alternative contacts. */
.request-form .request-direct-contacts{
  margin-top:4px !important;
}


/* Final targeted fix: keep icon and label on one line and center the submit button. */
.request-submit{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  width:min(330px, 100%) !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  text-align:center !important;
  white-space:nowrap !important;
  margin:2px auto 0 !important;
}
.request-submit > span:not(.btn-icon){
  display:inline !important;
  flex:0 1 auto !important;
  white-space:nowrap !important;
  line-height:1.2 !important;
}
.request-submit .btn-icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 20px !important;
  width:20px !important;
  height:20px !important;
}
.request-privacy{
  margin-top:10px !important;
}
@media(max-width:520px){
  .request-submit{gap:6px !important;font-size:16px !important;padding-left:10px !important;padding-right:10px !important;}
  .request-submit .btn-icon{flex-basis:18px !important;width:18px !important;height:18px !important;}
}
