/* SEE-IT-Service 4.10.14 – moderne Zusatztermin-Anfrage */
.booking-v490 .booking-v41014__request-callout{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin-top:20px;
  padding:12px;
  border:1px solid #f1c39a;
  border-radius:18px;
  background:linear-gradient(135deg,#fffaf5 0%,#fff3e8 100%);
  box-shadow:0 12px 32px rgba(114,57,16,.08);
}
.booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide{
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto auto;
  margin:0;
  min-width:0;
  padding:18px 20px;
  border:0;
  border-radius:13px;
  background:linear-gradient(135deg,#8f2e1e 0%,#b94724 55%,#d2692c 100%);
  color:#fff;
  box-shadow:0 10px 24px rgba(133,43,27,.20);
}
.booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide::before{
  grid-row:1/4;
  width:42px;
  height:42px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide span,
.booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide strong,
.booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide small{
  color:#fff;
}
.booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide span{
  opacity:.82;
  font-size:11px;
  letter-spacing:.095em;
}
.booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide strong{
  font-size:16px;
  line-height:1.25;
}
.booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide small{
  display:block;
  margin-top:3px;
  opacity:.80;
  font-size:12px;
  line-height:1.45;
}
.booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide:hover{
  background:linear-gradient(135deg,#7f271a 0%,#aa3d20 55%,#c35925 100%);
  box-shadow:0 15px 30px rgba(133,43,27,.27);
}
.booking-v490 .booking-v41014__request-callout>a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 15px;
  border:1px solid #d88c50;
  border-radius:11px;
  background:#fff;
  color:#843b17;
  font-size:12px;
  font-weight:850;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
}
.booking-v490 .booking-v41014__request-callout>a:hover{
  border-color:#a8491e;
  background:#fff8f1;
  color:#6f2d10;
}

.booking-v490 .booking-v41014__request-dialog{
  width:min(980px,calc(100vw - 34px));
  max-width:none;
  max-height:92dvh;
  margin:auto;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:24px;
  background:#f4f8fa;
  color:#16364c;
  box-shadow:0 34px 110px rgba(2,25,43,.42),0 0 0 1px rgba(255,255,255,.12);
}
.booking-v490 .booking-v41014__request-dialog::backdrop{
  background:rgba(2,22,38,.76);
  backdrop-filter:blur(6px);
}
.booking-v490 .booking-v41014__request-dialog[open]{
  animation:booking-v41014-dialog-in .18s ease-out both;
}
@keyframes booking-v41014-dialog-in{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.booking-v490 .booking-v41014__request-dialog-inner{
  max-height:92dvh;
  padding:0;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.booking-v490 .booking-v41014__request-head{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:start;
  margin:0;
  padding:34px 38px 31px;
  overflow:hidden;
  background:
    radial-gradient(circle at 87% 18%,rgba(31,183,214,.32),transparent 31%),
    linear-gradient(128deg,#052f50 0%,#07577f 58%,#087f9b 100%);
  color:#fff;
}
.booking-v490 .booking-v41014__request-head::after{
  position:absolute;
  right:-55px;
  bottom:-100px;
  width:245px;
  height:245px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:50%;
  content:"";
}
.booking-v490 .booking-v41014__request-head-copy{
  position:relative;
  z-index:1;
  max-width:760px;
}
.booking-v490 .booking-v41014__request-head .booking-v490__kicker{
  margin-bottom:9px;
  color:#9beaff;
  font-size:11px;
  letter-spacing:.16em;
}
.booking-v490 .booking-v41014__request-head h2{
  margin:0;
  color:#fff;
  font-size:clamp(29px,4.2vw,46px);
  font-weight:350;
  line-height:1.05;
  letter-spacing:-.035em;
}
.booking-v490 .booking-v41014__request-head p{
  max-width:720px;
  margin:15px 0 0;
  color:rgba(235,248,253,.84);
  font-size:15px;
  line-height:1.65;
}
.booking-v490 .booking-v41014__request-head>button{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:1px solid rgba(255,255,255,.28);
  border-radius:14px;
  background:rgba(255,255,255,.10);
  color:#fff;
  font-size:29px;
  font-weight:300;
  line-height:1;
  transition:background .14s ease,transform .14s ease;
}
.booking-v490 .booking-v41014__request-head>button:hover{
  background:rgba(255,255,255,.20);
  transform:rotate(2deg);
}

.booking-v490 .booking-v41014__price-notice{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:17px;
  align-items:start;
  margin:24px 30px 0;
  padding:20px 22px;
  border:1px solid #f0c996;
  border-radius:16px;
  background:linear-gradient(135deg,#fffaf1 0%,#fff4e5 100%);
  box-shadow:0 8px 22px rgba(122,75,10,.06);
}
.booking-v490 .booking-v41014__price-notice-icon{
  display:grid;
  place-items:center;
  width:45px;
  height:45px;
  border-radius:13px;
  background:#9c4f16;
  color:#fff;
  box-shadow:0 7px 17px rgba(132,61,13,.20);
  font-size:20px;
  font-weight:900;
}
.booking-v490 .booking-v41014__price-notice strong{
  display:block;
  margin-bottom:5px;
  color:#6f3512;
  font-size:16px;
  line-height:1.3;
}
.booking-v490 .booking-v41014__price-notice p{
  margin:0;
  color:#674b36;
  font-size:13px;
  line-height:1.62;
}
.booking-v490 .booking-v41014__price-notice b{color:#8d3517}
.booking-v490 .booking-v41014__price-notice a{
  display:inline-flex;
  margin-top:8px;
  color:#914114;
  font-size:12px;
  font-weight:850;
  text-underline-offset:3px;
}

.booking-v490 .booking-v41014__request-form{
  display:grid;
  gap:16px;
  padding:24px 30px 30px;
}
.booking-v490 .booking-v41014__request-kind{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
}
.booking-v490 .booking-v41014__request-kind legend{
  margin:0 0 11px;
  padding:0;
  color:#0d3856;
  font-size:14px;
  font-weight:850;
}
.booking-v490 .booking-v41014__request-kind-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}
.booking-v490 .booking-v41014__request-kind-option{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  min-width:0;
  min-height:104px;
  padding:17px 18px;
  border:2px solid #d4e0e7;
  border-radius:16px;
  background:#fff;
  color:#19384d;
  cursor:pointer;
  box-shadow:0 7px 20px rgba(12,49,72,.045);
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease;
}
.booking-v490 .booking-v41014__request-kind-option:hover{
  transform:translateY(-1px);
  border-color:#8bbdd2;
  box-shadow:0 12px 27px rgba(12,49,72,.09);
}
.booking-v490 .booking-v41014__request-kind-option input{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}
.booking-v490 .booking-v41014__request-kind-mark{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#edf5f8;
  color:#086f9e;
  font-size:19px;
  font-weight:950;
}
.booking-v490 .booking-v41014__request-kind-option>span:nth-of-type(2){
  display:grid;
  gap:4px;
  min-width:0;
}
.booking-v490 .booking-v41014__request-kind-option strong{
  color:#11384f;
  font-size:15px;
  line-height:1.25;
}
.booking-v490 .booking-v41014__request-kind-option small{
  color:#607887;
  font-size:12px;
  line-height:1.45;
}
.booking-v490 .booking-v41014__request-kind-option>b{
  align-self:start;
  min-width:54px;
  padding:6px 8px;
  border-radius:999px;
  background:#eef4f7;
  color:#496471;
  font-size:11px;
  text-align:center;
  white-space:nowrap;
}
.booking-v490 .booking-v41014__request-kind-option:has(input:focus-visible){
  outline:3px solid rgba(8,127,185,.25);
  outline-offset:2px;
}
.booking-v490 .booking-v41014__request-kind-option.is-individual:has(input:checked){
  border-color:#d08028;
  background:#fff8ee;
  box-shadow:0 0 0 3px rgba(208,128,40,.12),0 12px 26px rgba(130,74,16,.08);
}
.booking-v490 .booking-v41014__request-kind-option.is-individual:has(input:checked) .booking-v41014__request-kind-mark,
.booking-v490 .booking-v41014__request-kind-option.is-individual:has(input:checked)>b{
  background:#a95e19;
  color:#fff;
}
.booking-v490 .booking-v41014__request-kind-option.is-emergency:has(input:checked){
  border-color:#b33b2a;
  background:#fff3f1;
  box-shadow:0 0 0 3px rgba(179,59,42,.11),0 12px 26px rgba(130,38,25,.08);
}
.booking-v490 .booking-v41014__request-kind-option.is-emergency:has(input:checked) .booking-v41014__request-kind-mark,
.booking-v490 .booking-v41014__request-kind-option.is-emergency:has(input:checked)>b{
  background:#aa3324;
  color:#fff;
}

.booking-v490 .booking-v41014__request-section{
  padding:20px 21px 21px;
  border:1px solid #d8e3e9;
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 20px rgba(10,45,68,.035);
}
.booking-v490 .booking-v41014__request-section-head{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}
.booking-v490 .booking-v41014__request-section-head>span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:11px;
  background:#e8f4f9;
  color:#0879ac;
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
}
.booking-v490 .booking-v41014__request-section-head h3{
  margin:0;
  color:#0b3552;
  font-size:18px;
  font-weight:780;
  line-height:1.2;
}
.booking-v490 .booking-v41014__request-section-head p{
  margin:3px 0 0;
  color:#6a7e89;
  font-size:12px;
  line-height:1.45;
}
.booking-v490 .booking-v41014__request-section .booking-v490__contact-grid{
  gap:14px;
}
.booking-v490 .booking-v41014__request-form .booking-v490__field label{
  margin-bottom:7px;
  color:#26465a;
  font-size:12px;
  font-weight:800;
}
.booking-v490 .booking-v41014__request-form .booking-v490__field input,
.booking-v490 .booking-v41014__request-form .booking-v490__field textarea{
  min-height:48px;
  padding:11px 13px;
  border:1px solid #c3d2da;
  border-radius:10px;
  background:#fbfdfe;
  color:#17364d;
  box-shadow:inset 0 1px 2px rgba(11,44,64,.025);
  transition:border-color .14s ease,box-shadow .14s ease,background .14s ease;
}
.booking-v490 .booking-v41014__request-form .booking-v490__field textarea{
  min-height:142px;
  line-height:1.55;
}
.booking-v490 .booking-v41014__request-form .booking-v490__field input:focus,
.booking-v490 .booking-v41014__request-form .booking-v490__field textarea:focus{
  outline:0;
  border-color:#087fb9;
  background:#fff;
  box-shadow:0 0 0 4px rgba(8,127,185,.11);
}
.booking-v490 .booking-v41014__request-privacy{
  margin:0;
  padding:16px 18px;
  border:1px solid #cbdde6;
  border-radius:14px;
  background:#edf6fa;
  color:#3e5b6d;
  font-size:12px;
  line-height:1.55;
}
.booking-v490 .booking-v41014__request-privacy input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin-top:1px;
  accent-color:#087fb9;
}
.booking-v490 .booking-v41014__request-privacy a{
  color:#086f9f;
  font-weight:800;
}
.booking-v490 .booking-v41014__request-actions{
  position:sticky;
  bottom:0;
  z-index:3;
  margin:0 -30px -30px;
  padding:17px 30px;
  border-top:1px solid #d6e2e8;
  background:rgba(255,255,255,.95);
  box-shadow:0 -10px 28px rgba(8,42,62,.07);
  backdrop-filter:blur(10px);
}
.booking-v490 .booking-v41014__request-actions .booking-v490__button{
  min-height:49px;
  border-radius:11px;
  font-size:13px;
}
.booking-v490 .booking-v41014__request-actions .booking-v490__button:not(.secondary){
  min-width:245px;
  border-color:#087cac;
  background:linear-gradient(135deg,#087bb1,#0797aa);
  box-shadow:0 9px 20px rgba(8,124,172,.18);
}
.booking-v490 .booking-v41014__request-actions .booking-v490__button:not(.secondary):hover{
  background:linear-gradient(135deg,#056997,#087f91);
}
.booking-v490 .booking-v41014__request-form .booking-v490__emergency-status{
  margin:0;
  padding:15px 17px;
  border:1px solid #cbdde5;
  border-radius:12px;
  background:#eef5f8;
  font-size:13px;
  line-height:1.5;
}
.booking-v490 .booking-v41014__request-form .booking-v490__emergency-status.is-success{
  border-color:#addbc5;
  background:#ebf8f1;
  color:#135d3d;
}
.booking-v490 .booking-v41014__request-form .booking-v490__emergency-status.is-error{
  border-color:#ecc0ba;
  background:#fff0ee;
  color:#8b261c;
}

@media(max-width:820px){
  .booking-v490 .booking-v41014__request-callout{grid-template-columns:1fr}
  .booking-v490 .booking-v41014__request-callout>a{white-space:normal}
  .booking-v490 .booking-v41014__request-kind-grid{grid-template-columns:1fr}
  .booking-v490 .booking-v41014__request-head{padding:28px 24px 25px}
  .booking-v490 .booking-v41014__price-notice{margin:20px 20px 0}
  .booking-v490 .booking-v41014__request-form{padding:20px}
  .booking-v490 .booking-v41014__request-actions{margin:0 -20px -20px;padding:15px 20px}
}
@media(max-width:600px){
  .booking-v490 .booking-v41014__request-dialog{
    width:calc(100vw - 16px);
    max-height:96dvh;
    border-radius:18px;
  }
  .booking-v490 .booking-v41014__request-dialog-inner{max-height:96dvh}
  .booking-v490 .booking-v41014__request-head{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:24px 18px 22px}
  .booking-v490 .booking-v41014__request-head h2{font-size:31px}
  .booking-v490 .booking-v41014__request-head p{font-size:13px;line-height:1.55}
  .booking-v490 .booking-v41014__request-head>button{width:40px;height:40px;border-radius:12px}
  .booking-v490 .booking-v41014__price-notice{grid-template-columns:1fr;margin:15px 12px 0;padding:16px}
  .booking-v490 .booking-v41014__price-notice-icon{width:39px;height:39px}
  .booking-v490 .booking-v41014__request-form{gap:12px;padding:14px 12px 18px}
  .booking-v490 .booking-v41014__request-section{padding:17px 14px}
  .booking-v490 .booking-v41014__request-kind-option{grid-template-columns:auto minmax(0,1fr);min-height:0;padding:15px}
  .booking-v490 .booking-v41014__request-kind-option>b{grid-column:2;justify-self:start}
  .booking-v490 .booking-v41014__request-form .booking-v490__contact-grid{grid-template-columns:1fr}
  .booking-v490 .booking-v41014__request-form .booking-v490__field.full{grid-column:auto}
  .booking-v490 .booking-v41014__request-actions{grid-template-columns:1fr;margin:0 -12px -18px;padding:13px 12px}
  .booking-v490 .booking-v41014__request-actions .booking-v490__button:not(.secondary){min-width:0}
  .booking-v490 .booking-v41014__request-callout{padding:8px;border-radius:14px}
  .booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide{padding:16px}
  .booking-v490 .booking-v41014__request-callout .booking-v498__emergency-wide::before{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){
  .booking-v490 .booking-v41014__request-dialog[open]{animation:none}
  .booking-v490 .booking-v41014__request-kind-option,
  .booking-v490 .booking-v41014__request-head>button{transition:none}
}
