/* WIST-IT – Footer-Erweiterung, Glasfaser-FAQ und Terminanfrage
   Namespaced: keine Änderungen an vorhandenen Header-/Slider-Regeln. */
.site-footer{grid-template-columns:minmax(190px,1.4fr) minmax(165px,1fr) minmax(130px,.65fr) minmax(165px,.85fr) minmax(170px,.9fr)!important;gap:clamp(24px,3vw,54px)!important}
.site-footer .footer-social,.site-footer .footer-faq{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:13px;align-self:start}
.site-footer .footer-heading{font:700 10px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase;color:#9bd45d;margin:3px 0 9px}
.site-footer .footer-social-links{display:grid;gap:12px}
.site-footer .footer-social-links a{display:inline-flex;align-items:center;gap:12px;color:#e4e9e4;font-size:13px;transition:color .25s ease,transform .25s ease}
.site-footer .footer-social-links a:hover,.site-footer .footer-social-links a:focus-visible{color:#9bd45d;transform:translateX(3px)}
.site-footer .footer-social-links svg{flex:none;display:block;color:#9bd45d}
.site-footer .footer-faq>a{font-size:12px;line-height:1.5;color:#c1c8c1;transition:color .25s ease,transform .25s ease}
.site-footer .footer-faq>a:hover,.site-footer .footer-faq>a:focus-visible{color:#9bd45d;transform:translateX(3px)}
.site-footer .footer-faq>.footer-booking-link{color:#aadb72;border-bottom:1px solid rgba(155,212,93,.4);padding-bottom:7px;margin-top:3px}
.site-footer .footer-booking-link span{font-size:15px;margin-left:5px}
.site-footer .footer-bottom{grid-column:1/-1!important}
@media(max-width:1190px){.site-footer{grid-template-columns:repeat(3,minmax(0,1fr))!important}.site-footer .footer-links{grid-column:auto!important}}
@media(max-width:760px){.site-footer{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:38px 22px!important}.site-footer .footer-brand{grid-column:1/-1}.site-footer .footer-contact{font-size:16px}.site-footer .footer-links{grid-column:auto!important}.site-footer .footer-bottom{grid-column:1/-1!important}}
@media(max-width:450px){.site-footer{grid-template-columns:1fr!important;gap:30px!important}.site-footer .footer-brand,.site-footer .footer-contact,.site-footer .footer-links,.site-footer .footer-social,.site-footer .footer-faq{grid-column:1!important}.site-footer .footer-social-links{display:flex;flex-wrap:wrap;gap:24px}.site-footer .footer-bottom{grid-column:1!important}}

.gf-process,.gf-faq,.gf-booking{position:relative;isolation:isolate;scroll-margin-top:90px}
.gf-container{max-width:1680px;margin:0 auto;padding:0 var(--pad,clamp(20px,4vw,68px))}
.gf-eyebrow{margin:0 0 24px;font:700 11px/1.4 ui-monospace,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase;color:#709b4a}
.gf-process{background:#ecefe8;color:#131c17;padding:clamp(90px,9vw,150px) 0 clamp(100px,9vw,155px)}
.gf-process-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:clamp(50px,6vw,90px)}
.gf-process h2,.gf-faq h2,.gf-booking h2{font-size:clamp(42px,5.35vw,89px);font-weight:600;line-height:.95;letter-spacing:-.065em;margin:0}
.gf-process h2 em,.gf-faq h2 em,.gf-booking h2 em{color:#79976a;font-weight:410;font-style:normal}
.gf-process-head>p{max-width:350px;color:#667267;font-size:17px;line-height:1.6;margin:0}
.gf-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #bec8b9}
.gf-step{padding:30px 20px 0 0;min-width:0;position:relative}
.gf-step:not(:last-child){border-right:1px solid #d6ded1;margin-right:22px}
.gf-step:before{content:"";position:absolute;top:-2px;left:0;width:44px;height:3px;background:#7dac4d;transition:width .4s}
.gf-step:hover:before{width:90px}
.gf-step>span{display:block;font:700 10px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#66804c;margin-bottom:22px}
.gf-step>strong{display:block;font-size:clamp(17px,1.35vw,22px);letter-spacing:-.04em;line-height:1.18}
.gf-step>p{font-size:13px;color:#637065;line-height:1.6;margin:14px 0 0}
.gf-faq{background:#f6f6f1;color:#132019;padding:clamp(100px,10vw,165px) 0}
.gf-faq-grid{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);gap:clamp(40px,8vw,120px)}
.gf-faq-intro>p:not(.gf-eyebrow){max-width:450px;color:#657166;line-height:1.65;font-size:17px;margin:32px 0}
.gf-faq-intro>a{display:inline-flex;gap:18px;border-bottom:1px solid #689247;padding-bottom:10px;color:#2f512d;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.gf-faq-items{border-top:1px solid #c8d0c3}
.gf-faq-item{border-bottom:1px solid #c8d0c3}
.gf-faq-item>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 0;color:#1d2a21;font-size:clamp(17px,1.5vw,24px);font-weight:550;line-height:1.28;letter-spacing:-.025em}
.gf-faq-item>summary::-webkit-details-marker{display:none}
.gf-faq-item>summary svg{flex:none;width:22px;height:22px;color:#6c9147;transition:transform .3s ease}
.gf-faq-item[open]>summary svg{transform:rotate(45deg)}
.gf-faq-item>p{margin:0 0 25px;max-width:680px;font-size:15px;line-height:1.72;color:#5b675d;animation:gf-fade-in .25s ease}
.gf-faq-item>summary:focus-visible{outline:2px solid #80af52;outline-offset:4px}
.gf-booking{background:#101a14;color:#eaf0e9;padding:clamp(105px,10vw,175px) 0}
.gf-booking:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(180,230,160,.033) 1px,transparent 1px),linear-gradient(90deg,rgba(180,230,160,.033) 1px,transparent 1px);background-size:74px 74px;pointer-events:none;z-index:-1}
.gf-booking-grid{display:grid;grid-template-columns:minmax(290px,.85fr) minmax(420px,1.15fr);gap:clamp(40px,7vw,110px)}
.gf-booking-copy{align-self:start;position:sticky;top:120px}
.gf-booking .gf-eyebrow{color:#9bd45d}
.gf-booking h2 em{color:#9bd45d}
.gf-booking-copy>p:not(.gf-eyebrow){max-width:510px;color:#b2bfb3;line-height:1.7;font-size:17px;margin:32px 0}
.gf-booking-info{display:flex;gap:15px;align-items:flex-start;padding:18px 20px;border:1px solid #314539;color:#a7b5a8;font-size:13px;line-height:1.65;max-width:510px}
.gf-info-icon{color:#9bd45d;font-size:22px;line-height:1}
.gf-booking-panel{background:#eff2e9;color:#172218;border:1px solid rgba(255,255,255,.12);padding:clamp(22px,3.2vw,46px);box-shadow:0 22px 60px rgba(0,0,0,.18);min-width:0}
.gf-booking-panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-bottom:22px;border-bottom:1px solid #d4dbd1;font:700 10px/1.3 ui-monospace,Consolas,monospace;letter-spacing:.12em;color:#657567}
.gf-booking-indicator{color:#577f3b}
.gf-booking-form{display:grid;gap:25px;padding-top:26px}
.gf-fieldset{border:0;margin:0;padding:0;min-width:0}
.gf-fieldset legend{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.11em;color:#364a35;margin-bottom:16px}
.gf-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}
.gf-calendar-nav button{width:38px;height:38px;background:#fff;color:#2d482e;border:1px solid #cdd8c8;border-radius:50%;font-size:18px;cursor:pointer;transition:background .2s}
.gf-calendar-nav button:hover:not(:disabled){background:#d6e8c7}
.gf-calendar-nav button:disabled{opacity:.25;cursor:not-allowed}
.gf-calendar-nav strong{font-size:18px;letter-spacing:-.03em}
.gf-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.gf-weekday{text-align:center;font-size:10px;color:#899589;text-transform:uppercase;letter-spacing:.07em;padding:8px 0}
.gf-calendar-blank{min-height:37px}
.gf-calendar-day{height:40px;border:1px solid transparent;background:transparent;border-radius:4px;color:#2d3b2c;font-size:13px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.gf-calendar-day:hover:not(:disabled){background:#daeaca;border-color:#a0c085}
.gf-calendar-day.is-selected{background:#233c29;color:#fff;border-color:#233c29}
.gf-calendar-day.is-today:not(.is-selected){border-color:#7a9e5f}
.gf-calendar-day:disabled{color:#b5bcb2;cursor:not-allowed}
.gf-field-help{font-size:12px;color:#667667;line-height:1.5;margin:0 0 15px}
.gf-time-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.gf-time-options button{background:#f9faf6;border:1px solid #cfdbcb;color:#29402b;padding:11px 7px;border-radius:2px;font-size:12px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.gf-time-options button.is-selected{background:#233c29;color:#fff;border-color:#233c29}
.gf-time-options button:hover:not(.is-selected){border-color:#86ab69;background:#e2eed8}
.gf-time-options[aria-disabled=true]{opacity:.55;pointer-events:none}
.gf-fields{display:grid;grid-template-columns:1fr 1fr;gap:19px 15px}
.gf-fields label{display:flex;flex-direction:column;gap:8px;color:#3f5541;font-size:11px;font-weight:700;letter-spacing:.02em}
.gf-fields .gf-full{grid-column:1/-1}
.gf-fields input,.gf-fields textarea{width:100%;min-width:0;padding:13px 12px;background:#fff;border:1px solid #ccd8c9;border-radius:3px;outline:0;color:#1a2b1d;font:400 14px/1.4 Inter,Arial,sans-serif;transition:border-color .2s,box-shadow .2s}
.gf-fields input:focus,.gf-fields textarea:focus{border-color:#6c9e43;box-shadow:0 0 0 3px rgba(108,158,67,.12)}
.gf-fields textarea{resize:vertical}
.gf-privacy{margin:-4px 0 0;color:#788477;font-size:11px;line-height:1.6}
.gf-privacy a{text-decoration:underline;text-underline-offset:3px}
.gf-booking-feedback{padding:13px 16px;background:#d9ead0;border-left:3px solid #5f9949;color:#18361e;font-size:13px;line-height:1.6}
.gf-booking-feedback.is-error{background:#f2ded9;border-color:#c05845;color:#762d25}
.gf-booking-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#1d3721;color:#eff5eb;border:0;padding:18px 22px;cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;transition:background .2s,transform .2s}
.gf-booking-submit:hover{background:#48763a;transform:translateY(-2px)}
.gf-booking-submit:disabled{opacity:.55;cursor:wait;transform:none}
.gf-honeypot{position:absolute!important;left:-9999px!important;top:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.gf-nojs{font-size:13px}.gf-nojs a{text-decoration:underline}
@keyframes gf-fade-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:1120px){.gf-steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:38px}.gf-process-head{align-items:start}.gf-booking-grid,.gf-faq-grid{grid-template-columns:1fr}.gf-booking-copy{position:static}.gf-faq-intro>p:not(.gf-eyebrow),.gf-booking-copy>p:not(.gf-eyebrow){max-width:800px}}
@media(max-width:720px){.gf-process,.gf-faq,.gf-booking{padding:78px 0 90px}.gf-process-head{display:block}.gf-process-head>p{margin-top:22px}.gf-steps{grid-template-columns:1fr 1fr}.gf-step{padding-top:24px}.gf-step:not(:last-child){margin-right:13px}.gf-booking-grid{gap:40px}.gf-fields{grid-template-columns:1fr}.gf-fields .gf-full{grid-column:1}.gf-time-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:450px){.gf-steps{grid-template-columns:1fr;gap:24px}.gf-step:not(:last-child){border-right:0;margin-right:0}.gf-calendar-day{height:36px}.gf-booking-panel{padding:19px}.gf-calendar-blank{min-height:34px}.gf-calendar-grid{gap:2px}.gf-faq-item>summary{padding:22px 0}}
@media(prefers-reduced-motion:reduce){.gf-step:before,.gf-faq-item svg,.gf-faq-item>p,.gf-calendar-day,.gf-time-options button,.gf-booking-submit,.site-footer .footer-social-links a,.site-footer .footer-faq>a{animation:none!important;transition:none!important}}
/* The existing footer brand contains both image and service links. Reserve
   their full height in the footer grid (prevents overlap on small screens). */
.site-footer .footer-brand{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-height:min-content}
.site-footer .footer-brand img{margin-bottom:0!important;flex:0 0 auto}
.site-footer .footer-brand .footer-services{width:100%;flex:none}
/* Robust responsive footer layout: the legacy grid gave brand nav links
   insufficient row height, causing overlap with the next footer column. */
@media(max-width:1190px){
 .site-footer{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:38px 25px!important}
 .site-footer>.footer-brand{flex:0 0 100%!important;min-width:0}
 .site-footer>.footer-contact,.site-footer>.footer-links,.site-footer>.footer-social,.site-footer>.footer-faq{flex:1 1 calc(50% - 25px)!important;min-width:200px}
 .site-footer>.footer-bottom{flex:0 0 100%!important;margin-top:15px!important}
}
@media(max-width:600px){
 .site-footer{flex-direction:column!important;gap:29px!important;align-items:stretch!important}
 .site-footer>.footer-brand,.site-footer>.footer-contact,.site-footer>.footer-links,.site-footer>.footer-social,.site-footer>.footer-faq,.site-footer>.footer-bottom{flex:none!important;width:100%!important;min-width:0!important}
 .site-footer>.footer-bottom{margin-top:12px!important}
}

/* SWS partnership, tariff paths and consent-gated interactive coverage map */
.gf-sws{position:relative;isolation:isolate;scroll-margin-top:80px;background:#e9eee6;color:#152119;padding:clamp(82px,9vw,135px) 0}
.gf-sws-container{display:grid;gap:42px}
.gf-sws-heading{max-width:1000px}
.gf-sws-partner{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 23px;font:700 10px/1.6 ui-monospace,Consolas,monospace;letter-spacing:.14em;color:#6c855e}
.gf-sws-partner strong{color:#21442a;font-size:12px;letter-spacing:.08em}
.gf-sws h2{font-size:clamp(42px,5.3vw,86px);font-weight:600;line-height:.97;letter-spacing:-.065em;margin:0}
.gf-sws h2 em{font-style:normal;color:#729853;font-weight:410}
.gf-sws-heading>p:last-child{max-width:850px;color:#5b6a5c;font-size:clamp(16px,1.4vw,19px);line-height:1.65;margin:26px 0 0}
.gf-sws-options{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.gf-sws-option{background:#f7f9f4;border:1px solid #d8e2d3;padding:clamp(23px,3vw,43px);min-width:0;display:flex;flex-direction:column;align-items:flex-start;transition:border-color .25s,transform .25s}
.gf-sws-option:hover{border-color:#92b677;transform:translateY(-3px)}
.gf-sws-num{font:700 10px/1.4 ui-monospace,monospace;letter-spacing:.13em;color:#75965a}
.gf-sws-option h3{margin:19px 0 12px;font-size:clamp(25px,2.6vw,40px);line-height:1.05;letter-spacing:-.045em}
.gf-sws-option p{margin:0 0 25px;color:#617061;font-size:15px;line-height:1.62;flex:1}
.gf-sws-primary,.gf-sws-secondary{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 17px;min-height:49px;text-decoration:none;font-size:11px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;border:1px solid #294f2e;transition:background .25s,color .25s}
.gf-sws-primary{background:#25482d;color:#fff}.gf-sws-secondary{background:transparent;color:#25482d}
.gf-sws-primary:hover,.gf-sws-secondary:hover{background:#a4cf73;border-color:#a4cf73;color:#15271b}
.gf-sws-map-row{display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1fr);gap:clamp(28px,4vw,70px);align-items:center;border-top:1px solid #c9d5c3;padding-top:50px}
.gf-sws-map-copy h3{font-size:clamp(32px,3.1vw,49px);line-height:1.03;letter-spacing:-.04em;margin:0 0 22px}
.gf-sws-map-copy>p:not(.gf-eyebrow){color:#5a6b5b;font-size:15px;line-height:1.68;max-width:510px}
.gf-sws-map-copy>a{display:inline-flex;gap:14px;padding:10px 0;border-bottom:1px solid #83a977;color:#345c3b;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.09em;margin-top:12px}
.gf-map-shell{position:relative;min-width:0;height:405px;border:1px solid #b6c9ae;background:#f5f8f0;overflow:hidden}
.gf-map-shell iframe{display:block;width:100%;height:100%;border:0;background:#fff}
.gf-map-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;gap:10px;background:repeating-linear-gradient(90deg,transparent 0 65px,#74926612 65px 66px),repeating-linear-gradient(0deg,#f5f8f0 0 65px,#74926612 65px 66px)}
.gf-map-symbol{font-size:28px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#dbeacb;color:#365e32;margin-bottom:5px}
.gf-map-placeholder strong{font-size:26px;letter-spacing:-.04em}
.gf-map-placeholder p{font-size:13px;line-height:1.62;color:#596f5d;max-width:470px;margin:0}
.gf-map-consent{border:0;background:#1e3c26;color:#fff;padding:15px 20px;cursor:pointer;margin-top:9px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .25s}
.gf-map-consent:hover{background:#4a7942}.gf-map-consent span{margin-left:10px}
.gf-map-placeholder small{font-size:10px;color:#657767}
.gf-sws-footnote{font-size:11px;color:#6f7c70;line-height:1.6;border-top:1px solid #c9d5c3;padding-top:17px;margin:0}
.gf-contract-choice{min-width:0;border:1px solid #cdd8c8;padding:20px 19px;margin:0;display:grid;gap:12px}
.gf-contract-choice legend{font-weight:750;text-transform:uppercase;font-size:12px;letter-spacing:.09em;padding:0 7px;color:#344939}
.gf-contract-choice>label{display:flex;align-items:flex-start;gap:11px;font-size:13px;color:#3d5241;line-height:1.5;cursor:pointer}
.gf-contract-choice input{margin:3px 0 0;accent-color:#315b32}
.gf-no-contract{padding:15px 18px;background:#e0eccf;border-left:3px solid #619d43;color:#28442a;font-size:13px;line-height:1.5}
.gf-no-contract[hidden]{display:none!important}
.gf-no-contract p{margin:0 0 12px}.gf-no-contract a{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:#2c6130;text-decoration:underline}
@media(max-width:990px){.gf-sws-map-row{grid-template-columns:1fr}.gf-map-shell{height:390px}}
@media(max-width:700px){.gf-sws{padding:78px 0 90px}.gf-sws-options{grid-template-columns:1fr}.gf-sws-container{gap:30px}.gf-sws-map-row{padding-top:35px}.gf-map-shell{height:355px}.gf-map-placeholder{padding:20px}.gf-map-placeholder strong{font-size:22px}.gf-sws-option{padding:25px 20px}}
@media(prefers-reduced-motion:reduce){.gf-sws-option,.gf-sws-primary,.gf-sws-secondary,.gf-map-consent{transition:none}}


/* Footer refinements: contact/hints headings, direct contact and reviews. */
.site-footer .footer-contact,
.site-footer .footer-links{align-content:start;}
.site-footer .footer-contact .footer-heading,
.site-footer .footer-links .footer-heading{
  /* Same typography as Social Media / FAQ Glasfaser. */
  font:700 10px/1.2 ui-monospace,Consolas,monospace;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#9bd45d;
  margin:3px 0 9px;
}
.site-footer .footer-contact>a{
  display:inline-block;
  width:fit-content;
  max-width:100%;
  overflow-wrap:anywhere;
  border-bottom:1px solid transparent;
  transition:color .25s ease,border-color .25s ease,transform .25s ease;
}
.site-footer .footer-contact>a:hover,
.site-footer .footer-contact>a:focus-visible{
  color:#9bd45d;
  border-bottom-color:rgba(155,212,93,.75);
  transform:translateX(3px);
}
.site-footer .footer-links .footer-review-link{
  color:#c1d3c1;
  display:inline-block;
  width:fit-content;
  transition:color .25s ease,transform .25s ease;
}
.site-footer .footer-links .footer-review-link:hover,
.site-footer .footer-links .footer-review-link:focus-visible{
  color:#9bd45d;
  transform:translateX(3px);
}
@media(prefers-reduced-motion:reduce){
  .site-footer .footer-contact>a,
  .site-footer .footer-links .footer-review-link{transition:none!important;}
}

/* WIST-IT 2026-10-20: Consistent hover feedback for ALL footer legal/info links. */
.site-footer .footer-links > a,
.site-footer .footer-links > button.consent-reopen {
  width:fit-content;
  max-width:100%;
  display:inline-block;
  text-decoration:none;
  color:#c1c8c1;
  border-bottom:1px solid transparent;
  transition:color .25s ease,transform .25s ease,border-color .25s ease;
}
.site-footer .footer-links > a:hover,
.site-footer .footer-links > a:focus-visible,
.site-footer .footer-links > button.consent-reopen:hover,
.site-footer .footer-links > button.consent-reopen:focus-visible {
  color:#9bd45d;
  border-bottom-color:rgba(155,212,93,.65);
  transform:translateX(3px);
  text-decoration:none;
}
.site-footer .footer-links > a:focus-visible,
.site-footer .footer-links > button.consent-reopen:focus-visible {
  outline:2px solid #9bd45d;
  outline-offset:4px;
}

/* Glasfaser: gleiche Banner-Geometrie wie alle Leistungsunterseiten.
   Keine eigenen Höhen-, Abstands- oder Typografieregeln mehr.
   Für alle acht Unterseiten gelten gemeinsam assets/detail-banners.css. */

@media (prefers-reduced-motion:reduce) {
  .site-footer .footer-links>a,
  .site-footer .footer-links>button.consent-reopen {transition:none!important}
}

/* Booked appointments: not selectable; exposed only as anonymized slot availability. */
.gf-calendar-day.is-fully-booked{background:#e9e7e0;color:#9b9c94;cursor:not-allowed;text-decoration:line-through}
.gf-time-choice:disabled,.gf-time-options button:disabled{background:#e1e4de!important;border-color:#cdd2ca!important;color:#949b92!important;cursor:not-allowed!important;box-shadow:none!important;opacity:.9;transform:none!important}
.gf-time-choice.is-booked{position:relative;text-decoration:line-through}
.gf-time-choice.is-booked::after{content:'belegt';font-size:10px;margin-left:8px;text-decoration:none}
.gf-calendar-grid .gf-calendar-day:focus-visible,.gf-time-choice:focus-visible{outline:2px solid #7dac4d;outline-offset:2px}

/* Adresse und Kundendaten im Begehungsformular in klaren Gruppen. */
@media(min-width:721px){
 .gf-booking-contact-fields{grid-template-columns:repeat(6,minmax(0,1fr));}
 .gf-booking-contact-fields>label{grid-column:span 3;min-width:0;}
 .gf-booking-contact-fields>label:nth-child(3),
 .gf-booking-contact-fields>label.gf-full{grid-column:1/-1;}
 .gf-booking-contact-fields>label:nth-child(6){grid-column:span 4;}
 .gf-booking-contact-fields>label:nth-child(7){grid-column:span 2;}
 .gf-booking-contact-fields>label:nth-child(8){grid-column:span 2;}
 .gf-booking-contact-fields>label:nth-child(9){grid-column:span 4;}
}
