
:root{--r:#e84b36;--r2:#c43725;--b:#243a8f;--b2:#182767;--i:#1d2939;--m:#667085;--l:#d0d5dd;--ok:#e9f8ef;--w:#fff7df;--bad:#fff1f1;--sb:#eef2ff;--sr:#fff0ed}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--i);background:radial-gradient(circle at top left,rgba(232,75,54,.13),transparent 31%),radial-gradient(circle at top right,rgba(36,58,143,.12),transparent 30%),linear-gradient(180deg,#fff,#f7f9fc 45%,#fff)}
.wrap{max-width:1180px;margin:auto;padding:22px 16px 70px}.top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.logo{height:74px;max-width:340px;object-fit:contain}.pill{background:var(--sb);color:var(--b);border:1px solid #cbd5ff;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px}
.hero{background:linear-gradient(135deg,var(--b),#394fb0 48%,var(--r));color:white;border-radius:26px;padding:34px;margin-bottom:22px;box-shadow:0 22px 50px rgba(36,58,143,.22)}.hero h1{margin:0 0 10px;font-size:35px;line-height:1.12}.hero p{margin:0;max-width:900px;font-size:18px;line-height:1.5}.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.badge{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);padding:9px 12px;border-radius:999px}
.layout{display:grid;grid-template-columns:1fr 330px;gap:22px;align-items:start}.card{background:white;border:1px solid #e6e9ef;border-radius:22px;padding:24px;box-shadow:0 14px 38px rgba(16,24,40,.07)}.side{position:sticky;top:18px}
.pt{display:flex;justify-content:space-between;color:var(--m);font-size:14px;margin-bottom:12px}.bar{height:10px;background:#edf0f5;border-radius:99px;overflow:hidden;margin-bottom:24px}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--r),var(--b));width:10%;transition:.2s}
.step{display:none}.step.active{display:block}h2{font-size:25px;margin:0 0 8px}h3{margin-top:24px}.hint{color:var(--m);line-height:1.5;margin:0 0 20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:15px}label{font-weight:700;display:block;margin-bottom:7px}small{display:block;color:var(--m);font-weight:400;margin-top:4px;line-height:1.35}input,select,textarea{width:100%;padding:12px 13px;border:1px solid var(--l);border-radius:13px;font-size:15px;background:#fff}textarea{min-height:92px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:15px}.choice{border:2px solid #e5e9f2;border-radius:18px;padding:18px;cursor:pointer;background:#fff;min-height:175px;transition:.15s}.choice:hover{box-shadow:0 12px 28px rgba(16,24,40,.08);transform:translateY(-1px)}.choice.active{border-color:var(--r);background:var(--sr)}.choice img{width:100%;height:125px;object-fit:contain;border-radius:14px;background:#f8fafc;border:1px solid #eaecf0;margin-bottom:12px}.icon{height:74px;border-radius:14px;background:#f8fafc;border:1px solid #eaecf0;display:flex;align-items:center;justify-content:center;color:var(--b);font-weight:900;font-size:18px;margin-bottom:12px}.choice p{color:var(--m);font-size:14px;line-height:1.35}
.room{border:1px solid #e1e6ef;background:#fcfcfe;border-radius:18px;padding:18px;margin-bottom:16px}.room-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.room-head strong{font-size:18px}
.actions{display:flex;justify-content:space-between;gap:12px;margin-top:22px}button{border:0;border-radius:13px;padding:13px 18px;cursor:pointer;font-weight:800;font-size:15px}.primary{background:var(--r);color:#fff}.primary:hover{background:var(--r2)}.secondary{background:#eef1f6;color:#344054}.blue{background:var(--b);color:#fff}.add{width:100%;background:var(--sb);color:var(--b);border:1px solid #d8defa;margin-bottom:10px}
.ok{background:linear-gradient(135deg,var(--ok),#fff);border:1px solid #bde8c8;border-radius:22px;padding:22px;margin:18px 0}.warn{background:var(--w);border:1px solid #f1cc75;border-radius:18px;padding:17px;margin:15px 0;line-height:1.45}.bad{background:var(--bad);border:1px solid #f2b2b2;border-radius:18px;padding:17px;margin:15px 0;line-height:1.45}.price{font-size:35px;font-weight:900;color:#08703e;margin:10px 0}.compare,.summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}.mini{border:1px solid #e5e9f2;border-radius:16px;background:white;padding:16px}
table{width:100%;border-collapse:collapse;margin:12px 0;background:#fff;border-radius:14px;overflow:hidden;border:1px solid #e6e9ef}th,td{padding:10px;border-bottom:1px solid #eef0f4;text-align:left;font-size:13px;vertical-align:top}th{background:#f8fafc}.preview{white-space:pre-wrap;background:#101828;color:#e8f0ff;border-radius:16px;padding:16px;font-family:Consolas,monospace;font-size:13px;max-height:430px;overflow:auto}.process{list-style:none;margin:0;padding:0}.process li{display:flex;gap:10px;padding:12px 0;border-bottom:1px solid #eef0f4}.dot{width:28px;height:28px;border-radius:50%;background:var(--sr);color:var(--r);display:flex;align-items:center;justify-content:center;font-weight:900;flex:0 0 auto}.mark{width:46px;height:46px;object-fit:contain}.note{background:#f8fafc;border:1px solid #e6e9ef;border-radius:16px;padding:15px;color:#475467;line-height:1.45}.maps-link{display:inline-block;margin-top:8px;color:var(--b);font-weight:800;text-decoration:none}.maps-link:hover{text-decoration:underline}.tag{display:inline-block;padding:5px 9px;border-radius:999px;background:var(--sb);color:var(--b);font-size:12px;font-weight:800;margin-top:6px}.Unterputz / verdeckt-box{display:none}.Unterputz / verdeckt-box.open{display:block}.footer-counter{text-align:center;color:var(--m);margin-top:20px;font-size:13px}
@media(max-width:900px){.layout{grid-template-columns:1fr}.side{position:static}.hero h1{font-size:28px}}@media(max-width:680px){.top{flex-direction:column;align-items:flex-start}.logo{height:58px}.grid,.compare,.summary,.choices{grid-template-columns:1fr}.actions{flex-direction:column-reverse}button{width:100%}}

.product-preview{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:center;margin:16px 0}
.product-preview img{width:100%;max-height:280px;object-fit:contain;border:1px solid #e6e9ef;border-radius:16px;background:#fff;padding:10px}
.product-preview .caption{font-size:13px;color:var(--m);line-height:1.4}
@media(max-width:680px){.product-preview{grid-template-columns:1fr}}

@page{margin:12mm}


/* --- Layout-Fix: bessere Zentrierung und responsive Darstellung --- */
:root{
  --page-max: 1440px;
  --content-max: 1040px;
}

body{
  overflow-x: hidden;
}

.wrap{
  width: min(var(--page-max), calc(100% - 48px));
  margin-left: auto;
  margin-right: auto;
}

.layout{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 28px;
  align-items: start;
}

main.card{
  width: 100%;
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
}

.step{
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.step .summary,
#result,
.address-summary-box{
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.address-summary-box{
  text-align: left;
}

.address-summary-box > p.hint{
  text-align: center;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

#addressSummary{
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

#addressSummary .ok,
#result .ok{
  margin-left: auto;
  margin-right: auto;
}

#addressSummary table,
#result table{
  width: 100%;
}

.side{
  position: sticky;
  top: 20px;
}

@media (max-width: 1180px){
  .wrap{
    width: min(100% - 32px, 1040px);
  }

  .layout{
    grid-template-columns: 1fr;
  }

  .side{
    position: static;
    max-width: 980px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

@media (max-width: 760px){
  .wrap{
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
    box-sizing: border-box;
  }

  .layout{
    gap: 16px;
  }

  main.card,
  .side{
    border-radius: 18px;
  }

  .step,
  .step .summary,
  #result,
  .address-summary-box,
  #addressSummary{
    max-width: 100%;
  }

  table{
    font-size: 13px;
  }

  th, td{
    padding: 8px 7px;
  }

  .price{
    font-size: clamp(26px, 9vw, 40px);
    line-height: 1.1;
  }
}

@media (max-width: 520px){
  table{
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .grid{
    grid-template-columns: 1fr !important;
  }

  .actions,
  .summary{
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  button{
    width: 100%;
  }
}


/* --- CLEAN LAYOUT: zentrierte, ruhigere Kundendarstellung --- */
:root{
  --clean-page: 1180px;
  --clean-main: 860px;
  --clean-side: 260px;
  --clean-gap: 28px;
}

html{
  scroll-behavior: smooth;
}

body{
  overflow-x: hidden;
}

.wrap{
  width: min(var(--clean-page), calc(100% - 48px)) !important;
  max-width: var(--clean-page) !important;
  margin: 0 auto !important;
  padding: 24px 0 48px !important;
  box-sizing: border-box !important;
}

.top{
  width: 100% !important;
  max-width: var(--clean-page) !important;
  margin: 0 auto 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

.logo{
  max-width: 185px !important;
  height: auto !important;
  display: block !important;
}

.customer-pill{
  background: #eef4ff !important;
  color: #243a8f !important;
  border: 1px solid #c7d7fe !important;
  box-shadow: none !important;
}

.hero{
  width: 100% !important;
  max-width: var(--clean-page) !important;
  margin: 0 auto 36px !important;
  box-sizing: border-box !important;
}

.hero h1{
  margin-top: 0 !important;
}

.layout{
  width: 100% !important;
  max-width: var(--clean-page) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, var(--clean-main)) var(--clean-side) !important;
  gap: var(--clean-gap) !important;
  justify-content: center !important;
  align-items: start !important;
}

main.card{
  width: 100% !important;
  max-width: var(--clean-main) !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.side{
  width: 100% !important;
  max-width: var(--clean-side) !important;
  margin: 0 !important;
  position: sticky !important;
  top: 22px !important;
  box-sizing: border-box !important;
}

.step{
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.choices{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.choice{
  min-height: 160px !important;
}

.legal-footer{
  margin-top: 22px !important;
  text-align: center !important;
}

#result,
#addressSummary,
.address-summary-box,
.step .summary{
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#addressSummary .ok,
#result .ok{
  margin-left: auto !important;
  margin-right: auto !important;
}

table{
  max-width: 100% !important;
}

@media (min-width: 1500px){
  .wrap{
    transform: translateX(0);
  }
}

@media (max-width: 1240px){
  .wrap{
    width: min(100% - 36px, 980px) !important;
  }

  .top,
  .hero,
  .layout{
    max-width: 980px !important;
  }

  .layout{
    grid-template-columns: 1fr !important;
  }

  main.card{
    max-width: 980px !important;
    margin: 0 auto !important;
  }

  .side{
    position: static !important;
    max-width: 980px !important;
    margin: 0 auto !important;
  }

  .side .process{
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
  }

  .side .process li{
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 760px){
  .wrap{
    width: 100% !important;
    padding: 14px 12px 32px !important;
  }

  .top{
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    margin-bottom: 14px !important;
  }

  .logo{
    max-width: 160px !important;
  }

  .hero{
    margin-bottom: 20px !important;
    border-radius: 22px !important;
  }

  .hero h1{
    font-size: clamp(26px, 8vw, 38px) !important;
  }

  .choices{
    grid-template-columns: 1fr !important;
  }

  .side .process{
    grid-template-columns: 1fr !important;
  }

  main.card,
  .side{
    border-radius: 18px !important;
  }

  table{
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    white-space: normal !important;
  }

  th, td{
    font-size: 13px !important;
    padding: 8px 7px !important;
  }

  .price{
    font-size: clamp(28px, 10vw, 42px) !important;
    line-height: 1.08 !important;
  }

  button{
    max-width: 100% !important;
  }
}

@media (max-width: 480px){
  .hero,
  main.card,
  .side{
    box-shadow: 0 10px 28px rgba(16,24,40,.08) !important;
  }

  .grid{
    grid-template-columns: 1fr !important;
  }

  .actions,
  .summary{
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
  }

  .actions button,
  .summary button{
    width: 100% !important;
  }
}


/* --- CENTERED FIX: Hauptinhalt und Ablaufbox als ein Block zentriert --- */
body{
  min-width: 0 !important;
  overflow-x: hidden !important;
}

.wrap{
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 24px 0 48px !important;
}

.top,
.hero,
.content-shell{
  width: min(1120px, calc(100vw - 48px)) !important;
  max-width: 1120px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

.top{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 18px !important;
}

.hero{
  margin-top: 0 !important;
  margin-bottom: 36px !important;
}

.content-shell{
  display: block !important;
}

.layout{
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 820px) 260px !important;
  gap: 40px !important;
  align-items: start !important;
  justify-content: center !important;
}

main.card{
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.side{
  width: 100% !important;
  max-width: 260px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  position: sticky !important;
  top: 22px !important;
}

.logo{
  max-width: 170px !important;
  height: auto !important;
}

.customer-pill{
  align-self: center !important;
}

/* Step/summary content stays centered inside the form card */
.step,
.step .summary,
#result,
#addressSummary,
.address-summary-box{
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 1180px){
  .top,
  .hero,
  .content-shell{
    width: min(960px, calc(100vw - 36px)) !important;
    max-width: 960px !important;
  }

  .layout{
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    max-width: 960px !important;
  }

  main.card,
  .side{
    max-width: 960px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .side{
    position: static !important;
  }
}

@media (max-width: 760px){
  .wrap{
    padding: 14px 12px 32px !important;
  }

  .top,
  .hero,
  .content-shell{
    width: 100% !important;
    max-width: 100% !important;
  }

  .top{
    flex-direction: column !important;
    justify-content: center !important;
    text-align: center !important;
  }

  .logo{
    max-width: 155px !important;
  }

  .hero{
    margin-bottom: 20px !important;
  }

  .layout{
    gap: 18px !important;
  }

  .choices{
    grid-template-columns: 1fr !important;
  }
}

/* --- VISUAL CHOICES UPDATE --- */
.start-choice{
  position: relative;
}
.start-choice .start-visual{
  width: 100%;
  height: 150px;
  object-fit: contain;
  background: linear-gradient(180deg,#f8fafc 0%,#eef3ff 100%);
  border: 1px solid #e1e7f5;
  border-radius: 16px;
  padding: 12px;
  box-sizing: border-box;
  margin-bottom: 14px;
}
.start-choice strong{
  display: block;
  margin-bottom: 8px;
}
.start-choice .tag{
  margin-top: 10px;
}
@media (max-width: 760px){
  .start-choice .start-visual{
    height: 130px;
  }
}

/* --- BRAND PHOTO UPDATE --- */
.start-choice{
  overflow: hidden;
}
.photo-hero{
  position: relative;
  width: 100%;
  height: 150px;
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 14px;
  border: 1px solid #dde5f4;
  background:
    linear-gradient(135deg, rgba(46,70,183,.95) 0%, rgba(87,71,165,.92) 55%, rgba(240,75,58,.88) 100%);
}
.photo-hero .photo-main{
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 14px;
  box-sizing: border-box;
  filter: drop-shadow(0 12px 24px rgba(16,24,40,.12));
}
.photo-hero.photo-termin .photo-main{
  object-position: center 54%;
}
.photo-badge{
  position: absolute;
  left: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: #243a8f;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(16,24,40,.12);
}

.product-photo-wrap{
  position: relative;
  width: 100%;
  height: 125px;
  border-radius: 16px;
  background: linear-gradient(180deg,#f8fafc 0%,#eef3ff 100%);
  border: 1px solid #e1e7f5;
  overflow: hidden;
  margin-bottom: 14px;
}
.product-photo-wrap img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.example-badge{
  position: absolute;
  right: 10px;
  top: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(255,255,255,.95);
  color: #243a8f;
  font-size: 11px;
  font-weight: 700;
  border: 1px solid #dce5fb;
}

.choice strong{
  color: #15233f;
}
.choice.active{
  box-shadow: 0 10px 30px rgba(48,65,139,.10);
}
.choice.active .product-photo-wrap,
.choice.active .photo-hero{
  border-color: rgba(240,75,58,.55);
}

@media (max-width: 760px){
  .photo-hero{
    height: 132px;
  }
  .product-photo-wrap{
    height: 118px;
  }
}

/* --- TURNSTILE BOT-SCHUTZ --- */
.bot-protection .turnstile-wrap{
  margin: 10px 0 6px;
  min-height: 68px;
  display: flex;
  align-items: center;
}
.bot-protection small{
  display: block;
}

/* --- Gerätemaße kompakt --- */
.device-dimensions{
  margin: 18px 0;
  border: 1px solid #dbe4f3;
  border-radius: 16px;
  background: #f8fafc;
  padding: 12px 14px;
}
.device-dimensions summary{
  cursor: pointer;
  font-weight: 900;
  color: #243a8f;
  list-style-position: inside;
}
.device-dimensions table{
  margin-top: 12px;
  background: #fff;
}
.device-dimensions .hint{
  margin-top: 8px;
}

/* --- Layout-Fix Adresseingabe / PDF-Button --- */
.grid > .address-summary-box{
  grid-column: 1 / -1 !important;
}

.address-summary-box{
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  box-sizing: border-box !important;
  margin: 18px auto 0 !important;
  padding: 22px !important;
  border: 1px solid #dbe4f3 !important;
  border-radius: 18px !important;
  background: #fff !important;
  text-align: left !important;
}

.address-summary-box .address-summary-intro{
  display: block !important;
  max-width: 760px !important;
  margin: 0 0 18px 0 !important;
}

.address-summary-box h3{
  margin: 0 0 8px 0 !important;
  text-align: left !important;
}

.address-summary-box > p.hint,
.address-summary-box .address-summary-intro > p.hint{
  text-align: left !important;
  max-width: 760px !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.45 !important;
}

.address-summary-box .address-print-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
  margin: 2px 0 0 0 !important;
}

#addressSummary{
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

#addressSummary > *{
  max-width: 100% !important;
}

#addressSummary .ok{
  display: block !important;
}

@media (max-width: 760px){
  .address-summary-box{
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .address-summary-box .address-print-btn{
    width: 100% !important;
  }
}

/* --- Finaler Anfrage-CTA + Telefonhilfe --- */
.top-phone{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #fff4f1;
  color: #c23525;
  font-weight: 900;
  text-decoration: none;
  border: 1px solid #ffd3cc;
  box-shadow: 0 8px 22px rgba(194,53,37,.08);
}

.top-phone:hover{
  text-decoration: underline;
}

.phone-help-box{
  margin-top: 14px;
  padding: 14px;
  border-radius: 16px;
  background: #f8fafc;
  border: 1px solid #e6e9ef;
  color: #344054;
  line-height: 1.45;
}

.phone-help-box a,
.phone-inline a{
  color: #243a8f;
  font-weight: 900;
  text-decoration: none;
}

.phone-help-box a:hover,
.phone-inline a:hover{
  text-decoration: underline;
}

.grid > .final-submit-box{
  grid-column: 1 / -1 !important;
}

.final-submit-box{
  display: block !important;
  width: 100% !important;
  max-width: 900px !important;
  box-sizing: border-box !important;
  margin: 22px auto 4px !important;
  padding: 24px !important;
  border-radius: 20px !important;
  border: 1px solid #dbe4f3 !important;
  background: linear-gradient(135deg, #f8fbff 0%, #fff 58%, #fff4f1 100%) !important;
  box-shadow: 0 14px 34px rgba(31,44,89,.08) !important;
}

.final-submit-box h3{
  margin: 0 0 8px 0 !important;
  color: #243a8f !important;
  font-size: 22px !important;
}

.final-submit-box .hint{
  max-width: 780px !important;
  margin: 0 0 12px 0 !important;
  line-height: 1.55 !important;
}

.phone-inline{
  margin: 0 0 18px 0;
  color: #344054;
  font-size: 14px;
  line-height: 1.45;
}

.final-submit-btn{
  width: 100% !important;
  max-width: 520px !important;
  min-height: 58px !important;
  padding: 18px 24px !important;
  border-radius: 16px !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 28px rgba(36,58,143,.18) !important;
}

.final-submit-box .submit-result{
  margin-top: 16px !important;
}

.floating-phone{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 50;
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 10px 14px;
  border-radius: 16px;
  background: #243a8f;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 16px 34px rgba(31,44,89,.22);
  border: 1px solid rgba(255,255,255,.22);
}

.floating-phone span{
  font-size: 11px;
  opacity: .86;
  line-height: 1.1;
}

.floating-phone strong{
  font-size: 15px;
  line-height: 1.2;
}

@media (max-width: 760px){
  .top{
    gap: 10px;
  }

  .top-phone{
    width: 100%;
    box-sizing: border-box;
  }

  .final-submit-box{
    padding: 18px !important;
  }

  .final-submit-btn{
    max-width: 100% !important;
    font-size: 17px !important;
  }

  .floating-phone{
    left: 12px;
    right: 12px;
    bottom: 10px;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: 14px;
  }
}

@media print{
  .floating-phone,
  .top-phone{
    display: none !important;
  }
}

