/* Local display font for the Teamfotos Divi page. */
@font-face {
  font-family: "Archivo Black";
  src: url("fonts/archivo-black.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/**
 * Teamfotos Rechner & Anfrage
 * Copyright (c) 2026 Alexander Klotz | OrangeProduction.de
 * Dorfstraße 3, 63741 Aschaffenburg
 * info@orangeproduction.de
 * www.OrangeProduction.de
 * Konzept, Anforderungen und Projektführung: Alexander Klotz | OrangeProduction.de.
 * Entwicklung mit KI-Unterstützung im Auftrag von Alexander Klotz | OrangeProduction.de.
 * SPDX-License-Identifier: GPL-2.0-or-later
 * Siehe COPYRIGHT.txt und LICENSE.txt. Hinweise zu Fremdkomponenten bleiben erhalten.
 */
/* Teamfotos Entwurf 13. Fotografischer Hintergrund, durchgehende Bildstrecke und klare Zeitplanung. */
:root{--tf-ink:#142f50;--tf-blue:#234b78;--tf-paper:#fff;--tf-muted:#526477;--tf-line:#d4dde7}
.tf-page,.tf-calculator{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif;color:var(--tf-ink);font-size:17px;line-height:1.55}
.tf-page{margin:0;background:#fff}.tf-page *,.tf-calculator *{box-sizing:border-box}
.tf-page h1,.tf-page h2,.tf-page h3{font-family:inherit;font-weight:750;letter-spacing:-.05em;line-height:1.06;margin:0;color:var(--tf-ink)}
.tf-page h1{font-size:clamp(52px,7.8vw,112px)}.tf-page h2{font-size:clamp(35px,4.1vw,62px)}.tf-page h3{font-size:24px}
.tf-page p{margin:22px 0 0;max-width:650px}.tf-wrap{max-width:1400px;padding:0 64px;margin:auto}
.tf-page a{color:var(--tf-blue);text-underline-offset:4px}.tf-page img{display:block;max-width:100%}
.tf-header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:22px;padding-bottom:22px}
.tf-wordmark{font-size:26px;font-weight:800;letter-spacing:-.05em;text-decoration:none;color:var(--tf-ink)!important;white-space:nowrap}
.tf-header-link{display:inline-flex;align-items:center;justify-content:center;background:var(--tf-ink);color:#fff!important;border:1px solid var(--tf-ink);padding:12px 19px;border-radius:5px;font-size:14px;font-weight:700;text-decoration:none;min-height:46px}
.tf-header-link span,.tf-button span{display:none}
.tf-button,.tf-page a.tf-button{display:inline-flex;align-items:center;justify-content:center;padding:17px 24px;background:var(--tf-ink);border:1px solid var(--tf-ink);border-radius:5px;color:#fff!important;font-family:inherit;font-size:16px;font-weight:700;line-height:1.35;min-height:56px;text-decoration:none;cursor:pointer}
.tf-button:hover,.tf-header-link:hover{background:#234b78}.tf-button:disabled{opacity:.5;cursor:wait}
.tf-page .tf-light{background:#fff;border-color:#fff;color:var(--tf-ink)!important}
.tf-page :focus-visible,.tf-calculator :focus-visible{outline:3px solid #467aa6;outline-offset:4px}
.tf-small{font-size:13px;line-height:1.6;color:var(--tf-muted)}.tf-section{padding-top:95px;padding-bottom:95px;scroll-margin-top:20px}
.tf-preview-banner{background:#f3f5f7;padding:7px 20px;text-align:center;font-size:9px;letter-spacing:.04em;color:#526477}
.tf-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--tf-ink);color:white}.tf-hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2;opacity:.8}.tf-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,30,51,.92),rgba(12,30,51,.7) 55%,rgba(12,30,51,.52));z-index:-1}.tf-hero-copy{padding-top:92px;padding-bottom:104px;display:block}.tf-hero .tf-hero-label{font-size:17px;font-weight:600;letter-spacing:.01em;margin:0 0 28px;color:#d7e2ef}.tf-hero h1{color:white}
.tf-hero h1{max-width:1120px}.tf-hero-aside{margin-top:30px;display:flex;justify-content:space-between;align-items:center;gap:45px}
.tf-hero-aside .tf-lead{font-size:22px;line-height:1.5;margin:0;max-width:670px;color:#e1e8ef}.tf-hero .tf-button{flex-shrink:0}
.tf-page figcaption{font-size:10px;line-height:1.5;color:#526477;padding:10px 18px;text-align:right}
.tf-results{padding-top:90px;padding-bottom:80px;display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:end}
.tf-results h2{font-size:clamp(33px,3.2vw,47px);letter-spacing:-.04em}.tf-result-lead{font-size:21px;line-height:1.55;margin:0!important}
.tf-editorial{background:white;padding-bottom:28px}.tf-editorial-heading{display:flex;justify-content:space-between;align-items:end;gap:70px;padding-top:75px;padding-bottom:38px}
.tf-editorial-heading p{margin:0;font-size:22px;max-width:450px;line-height:1.5}
.tf-wide-photo{max-width:1400px;padding:0 64px;margin:0 auto}.tf-wide-photo img{width:100%;height:auto}
.tf-feedback-note{font-size:12px;color:#526477;text-align:center;margin:10px auto 0!important;max-width:800px!important;padding:0 23px}
.tf-fresh-section{background:#fff}.tf-fresh-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;align-items:center}
.tf-fresh-layout h2{font-size:clamp(35px,3.6vw,54px)}.tf-fresh-layout>div>p{font-size:22px;line-height:1.6}.tf-fresh-layout .tf-guidance-proof{font-size:14px;font-weight:700;margin-top:26px}.tf-fresh-layout .tf-small{font-size:13px;max-width:480px;margin-top:15px}
.tf-fresh-layout figure{margin:0}.tf-fresh-layout img{width:100%;height:auto;aspect-ratio:1.1;object-fit:cover}
.tf-mobile-section{background:white;color:var(--tf-ink);padding-bottom:25px}.tf-mobile-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;padding-top:70px;padding-bottom:40px}
.tf-mobile-heading h2{color:var(--tf-ink)}.tf-mobile-heading p{font-size:21px;margin:0;max-width:440px;color:var(--tf-muted)}
.tf-mobile-photo{margin:0 auto;max-width:1400px;padding:0 64px}.tf-mobile-photo img{width:100%;height:auto}.tf-mobile-photo figcaption{color:var(--tf-muted)}
.tf-calc-section{background:white;border-bottom:1px solid #d4dde7}.tf-calc-intro{text-align:left;margin-bottom:40px}
.tf-calc-intro>p{font-size:20px;max-width:700px}.tf-calc-intro .tf-small{font-size:13px;margin-top:13px}.tf-calc-intro .tf-preview-note{font-size:11px}
.tf-calculator{background:#ffffff;padding:36px;border:1px solid #d2dce7;border-radius:14px;font-size:16px}.tf-calculator legend{font-size:28px;line-height:1.15;padding:0;margin-bottom:25px;letter-spacing:-.035em}.tf-calculator fieldset{border:0;padding:0;margin:0;min-width:0}.tf-calculator label{display:block;font-size:14px;font-weight:700}.tf-calculator input:not([type=checkbox]):not([type=range]),.tf-calculator select,.tf-calculator textarea{width:100%;padding:13px 12px;border:1px solid #b9c7d7;border-radius:6px;background:#ffffff;font-family:inherit;font-size:16px;line-height:1.4;color:var(--tf-ink);margin-top:7px;min-height:50px}.tf-calculator .tf-count{display:flex;gap:15px;align-items:end;margin-top:15px}.tf-calculator .tf-count input{max-width:132px;font-size:42px!important;font-weight:700;padding:2px 12px!important}.tf-count>span{padding-bottom:12px;color:var(--tf-muted)}.tf-range{width:100%;accent-color:var(--tf-ink);height:44px;margin:18px 0 0;cursor:pointer}.tf-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:26px 0}.tf-options>.tf-fields{grid-template-columns:1fr}.tf-check{display:flex!important;gap:12px;align-items:flex-start;font-weight:400!important;margin:18px 0;line-height:1.5}.tf-check input{accent-color:var(--tf-ink);width:20px;height:20px;flex-shrink:0;margin:2px 0 0}.tf-picture-help{background:#eef2f6;padding:17px 19px;border-radius:7px;font-size:13px;line-height:1.7}.tf-picture-help strong{font-size:14px}.tf-picture-help p{margin:7px 0 0!important}.tf-summary{border-top:1px solid var(--tf-line);padding-top:28px;margin-top:28px}.tf-summary .tf-kicker{margin-bottom:12px!important}.tf-total{font-size:clamp(42px,5vw,62px);font-weight:750;letter-spacing:-.055em;line-height:1.1;margin:0!important;color:var(--tf-ink)}.tf-included{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tf-included span{font-size:12px;background:#eaf0f6;padding:6px 10px;border-radius:5px}.tf-time{border-top:1px solid var(--tf-line);border-bottom:1px solid var(--tf-line);padding:20px 0}.tf-time .tf-kicker{display:block;font-size:10px;margin-bottom:8px!important}.tf-time strong{display:block;font-size:22px;line-height:1.45;letter-spacing:-.035em}.tf-time p{margin-bottom:0!important}.tf-demo{background:#eaf0f6;font-size:10px;font-weight:700;padding:9px 12px!important;margin-bottom:24px!important;letter-spacing:.07em;border-radius:4px}.tf-travel,.tf-note{background:var(--tf-paper);padding:17px;font-size:14px;line-height:1.55}.tf-calculator p{margin:14px 0;max-width:none}.tf-request,.tf-submit{width:100%;margin-top:16px}.tf-contact{border-top:1px solid var(--tf-ink)!important;padding-top:30px!important;margin-top:35px!important;scroll-margin-top:20px}.tf-contact>label{margin-top:22px}.tf-status{font-weight:700;color:var(--tf-ink);font-size:14px}.tf-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.tf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.tf-calculator [hidden]{display:none!important}

.tf-calculator{background:#fff;border:0;border-top:2px solid #142f50;border-radius:0;padding:35px 0 0}
.tf-calculator legend{font-weight:700;letter-spacing:-.03em;font-size:27px}.tf-picture-help{background:transparent;border-radius:0;border-top:1px solid var(--tf-line);padding:16px 0}
.tf-total{font-weight:750;letter-spacing:-.05em}.tf-small-team-title{font-size:34px;line-height:1.2;font-weight:750;letter-spacing:-.04em}
.tf-calculator .tf-button{border-radius:5px;font-size:16px}.tf-included{gap:16px}.tf-included span{background:transparent;padding:0;border-radius:0}
.tf-faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px}.tf-faq details{border-top:1px solid var(--tf-line);padding:23px 0}.tf-faq details:last-child{border-bottom:1px solid var(--tf-line)}
.tf-faq summary{font-size:18px;font-weight:650;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:25px}.tf-faq summary:after{content:'+';font-size:24px;flex-shrink:0}.tf-faq details[open] summary:after{content:'−'}.tf-faq summary::-webkit-details-marker{display:none}.tf-faq p{font-size:15px;line-height:1.7;margin-top:18px}
.tf-end{background:#142f50;padding:80px 0;color:white}.tf-end h2{color:white}.tf-end .tf-wrap{display:flex;align-items:center;justify-content:space-between;gap:45px}.tf-end .tf-button{flex-shrink:0}
.tf-footer{padding-top:28px;padding-bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:12px}.tf-footer>div:last-child{display:flex;gap:24px;flex-wrap:wrap}.tf-footer .tf-wordmark{font-size:23px}
@media(min-width:1000px){.tf-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:60px;align-items:start}.tf-options{grid-column:1;grid-row:1 / 4}.tf-summary{grid-column:2;grid-row:1;margin-top:0;border-top:0;padding-top:0}.tf-request{grid-column:2;grid-row:2}.tf-contact{grid-column:1 / -1;grid-row:4}.tf-status{grid-column:1 / -1;grid-row:5}}
@media(max-width:1100px){.tf-wrap,.tf-wide-photo,.tf-mobile-photo{padding-left:35px;padding-right:35px}.tf-results,.tf-fresh-layout,.tf-faq-layout{gap:40px}.tf-editorial-heading,.tf-mobile-heading{gap:40px}.tf-hero-aside{gap:30px}.tf-hero-aside .tf-lead{font-size:20px}.tf-hero .tf-button{font-size:14px}}
@media(min-width:761px) and (max-width:999px){.tf-calculator{max-width:680px;margin:auto}.tf-results{display:block}.tf-result-lead{margin-top:25px!important}.tf-faq-layout{display:block}.tf-faq{margin-top:35px}}
@media(max-width:760px){.tf-wrap,.tf-wide-photo{padding-left:23px;padding-right:23px}.tf-header{padding-top:17px;padding-bottom:17px;gap:14px}.tf-wordmark{font-size:23px}.tf-header-link{font-size:12px;padding:11px 14px;min-height:44px}.tf-preview-banner{font-size:8px;line-height:1.5}.tf-hero-copy{padding-top:46px;padding-bottom:56px}.tf-hero .tf-hero-label{font-size:14px;margin-bottom:23px}.tf-page h1{font-size:clamp(42px,10.8vw,74px);line-height:1.04}.tf-hero-aside{display:block;margin-top:24px}.tf-hero-aside .tf-lead{font-size:18px}.tf-hero .tf-button{margin-top:23px;font-size:15px}.tf-page figcaption{font-size:9px;padding:9px 12px}.tf-section{padding-top:60px;padding-bottom:60px}.tf-page h2{font-size:clamp(31px,8vw,46px);line-height:1.1}.tf-results{display:block;padding-top:55px;padding-bottom:55px}.tf-result-lead{font-size:18px;margin-top:24px!important}.tf-editorial-heading,.tf-mobile-heading{display:block;padding-top:55px;padding-bottom:30px}.tf-editorial-heading p,.tf-mobile-heading p{font-size:19px;margin-top:24px}.tf-wide-photo,.tf-mobile-photo{padding:0 12px}.tf-feedback-note{font-size:11px}.tf-fresh-layout,.tf-faq-layout{display:block}.tf-fresh-layout>div>p{font-size:19px}.tf-fresh-layout figure{margin-top:30px}.tf-fresh-layout img{aspect-ratio:1.4}.tf-calc-intro>p{font-size:18px}.tf-calculator{padding-top:25px}.tf-calculator legend{font-size:25px}.tf-fields{grid-template-columns:1fr;gap:16px}.tf-total{font-size:50px}.tf-faq{margin-top:30px}.tf-faq summary{font-size:17px}.tf-end{padding:60px 0}.tf-end .tf-wrap{display:block}.tf-end .tf-button{margin-top:27px}.tf-footer{display:block}.tf-footer>div:last-child{margin-top:20px;gap:18px}}
@media(max-width:359px){.tf-wordmark{font-size:20px}.tf-header-link{padding:10px;font-size:11px}.tf-page h1{font-size:38px}.tf-total{font-size:45px}}
@media(prefers-reduced-motion:reduce){.tf-page *,.tf-calculator *{scroll-behavior:auto!important;transition:none!important}}

/* In Divi > Theme-Optionen > Allgemein > Benutzerdefiniertes CSS einfügen. */
.tf-calculator input.tf-range[type="range"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: block !important;
  width: 100% !important;
  height: 44px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  margin: 18px 0 0 !important;
  cursor: pointer;
}
.tf-calculator input.tf-range[type="range"]::-webkit-slider-runnable-track {
  height: 6px;
  background: #d4dde7;
  border: 0;
  border-radius: 3px;
}
.tf-calculator input.tf-range[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  margin-top: -8px;
  background: #142f50;
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #142f50;
}
.tf-calculator input.tf-range[type="range"]::-moz-range-track {
  height: 6px;
  background: #d4dde7;
  border: 0;
  border-radius: 3px;
}
.tf-calculator input.tf-range[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  background: #142f50;
  border: 2px solid #ffffff;
  border-radius: 50%;
  box-shadow: 0 0 0 1px #142f50;
}
.tf-calculator input.tf-range[type="range"]:focus-visible {
  outline: 2px solid #467aa6;
  outline-offset: 3px;
}

.tf-calculator .tf-individual-title{font-size:clamp(27px,3vw,36px);line-height:1.2;font-weight:750;letter-spacing:-.035em;color:var(--tf-ink)}
.tf-calculator .tf-extra-wishes{margin:22px 0;padding:16px 0;border-top:1px solid #d5dde7;border-bottom:1px solid #d5dde7}
.tf-calculator .tf-extra-wishes>summary{cursor:pointer;font-weight:700;font-size:16px;padding:8px 0}
.tf-calculator .tf-extra-wishes .tf-check{margin-top:18px}
.tf-calculator .tf-extra-wishes input[type="number"]{max-width:220px}
.tf-calculator .tf-time .tf-kicker{display:block;margin-top:20px;letter-spacing:0;line-height:1.4}
.tf-calculator.tf-confirmation{max-width:900px;margin:48px auto;padding:28px clamp(20px,4vw,48px);border-top:1px solid #d5dde7;text-align:left}
.tf-calculator.tf-confirmation h2{font-size:clamp(26px,4vw,38px);line-height:1.2;margin-bottom:22px}
.tf-calculator.tf-confirmation p{overflow-wrap:anywhere}

/* Advance notice is visible before opening the inquiry, then beside the date. */
.tf-calculator .tf-lead-time{margin:18px 0 0;padding:18px 20px;background:#eef2f6;border-left:4px solid #142f50;border-radius:4px;font-size:15px;line-height:1.55}.tf-calculator .tf-lead-time strong{display:block;font-size:16px}.tf-calculator .tf-lead-time p{margin:8px 0 0}@media(min-width:1000px){.tf-form>.tf-lead-time{grid-column:2;grid-row:2;margin-top:0}.tf-form>.tf-request{grid-row:3}}

/* Lesbare Hinweise und aufklappbare Reisedetails im Kundenrechner. */
.tf-calculator .tf-small{font-size:14px;line-height:1.55;font-weight:400}
.tf-calculator .tf-travel-details{margin:16px 0}
.tf-calculator .tf-travel-details>summary{cursor:pointer;font-weight:700;padding:4px 0}
.tf-calculator .tf-travel-details>p:last-child{margin-bottom:0}


/* Stable quote updates and a compact review before sending the inquiry. */
.tf-calculator .tf-summary,.tf-calculator .tf-review{position:relative}
.tf-calculator .tf-summary.tf-updating>*,.tf-calculator .tf-review[aria-busy="true"]>*{visibility:hidden}
.tf-calculator .tf-summary.tf-updating:after,.tf-calculator .tf-review[aria-busy="true"]:after{content:'Auswahl wird aktualisiert …';position:absolute;top:0;left:0;right:0;padding:inherit;font-size:16px;font-weight:400;line-height:1.55;color:var(--tf-muted)}
.tf-calculator .tf-review{margin:24px 0;padding:20px;background:#eef2f6;border:1px solid #d5dde7;border-radius:4px}
.tf-calculator .tf-review h3{font-family:inherit;font-size:18px!important;line-height:1.35;font-weight:700;margin:0 0 12px;padding:0;color:var(--tf-ink)}
.tf-calculator .tf-review-rows{margin:0;padding:0}
.tf-calculator .tf-review-rows>div{display:flex;flex-wrap:wrap;gap:0 8px;margin:0;padding:5px 0}
.tf-calculator .tf-review-rows dt,.tf-calculator .tf-review-rows dd{font-family:inherit;font-size:16px;line-height:1.55;margin:0;padding:0;overflow-wrap:anywhere;color:var(--tf-ink)}
.tf-calculator .tf-review-rows dt{font-weight:700}
.tf-calculator .tf-review-rows dt:after{content:':'}
.tf-calculator .tf-review-rows dd{font-weight:400}
.tf-calculator .tf-review .tf-review-price{font-size:18px!important;font-weight:700!important;line-height:1.4!important;margin:14px 0 0;padding-top:14px;border-top:1px solid #d5dde7;color:var(--tf-ink)}
.tf-calculator .tf-review .tf-small{margin:8px 0 0}
.tf-calculator .tf-lead-time{scroll-margin-top:112px}
@media(max-width:767px){.tf-calculator .tf-review{padding:16px}}


/* Allow larger text without widening the calculator or consent label. */
.tf-calculator .tf-count { flex-wrap: wrap; }
.tf-calculator .tf-count > span,
.tf-calculator .tf-check > span {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
  overflow-wrap: anywhere;
}
