/* Trident Performance — Child-Theme-Design (SR_TRIDENT_v1). Navy #110f2e / #141141, Gold #ffc800, Oswald + Open Sans.
   Prinzip: Ecken-Akzent-Karten, harte Kanten (kein Radius), Großbuchstaben-Überschriften mit goldener Unterlinie. */
:root{--tp-navy:#110f2e;--tp-navy-2:#141141;--tp-navy-3:#17143d;--tp-gold:#ffc800;--tp-gold-2:#e8b606;--tp-ink:#110f2e;--tp-mute:#5b5f7a;--tp-line:rgba(255,255,255,.2);--tp-max:1180px}
body{font-family:var(--wp--preset--font-family--body);color:var(--tp-ink);-webkit-font-smoothing:antialiased}
.wp-site-blocks{overflow-x:clip}
h1,h2,h3,h4,.wp-block-heading{font-family:var(--wp--preset--font-family--display)!important;text-transform:uppercase;letter-spacing:.01em;line-height:1.15}
h1{font-weight:700}h2{font-weight:500}h3{font-weight:600;letter-spacing:.03em}
a{text-decoration-thickness:2px;text-underline-offset:3px}

/* ── Header ── */
.tp-header{position:sticky;top:0;z-index:60;background:var(--tp-navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.tp-header .tp-header__bar{padding:.35rem 0}
.tp-header .tp-logo img{height:44px;width:auto;display:block}
.tp-header .wp-block-navigation a{color:#fff;font-weight:600;font-size:.9rem;letter-spacing:.01em}
.tp-header .wp-block-navigation a:hover,.tp-header .wp-block-navigation .current-menu-item>a{color:var(--tp-gold)}
.tp-header .wp-block-navigation .current-menu-item>a{box-shadow:0 2px 0 var(--tp-gold)}
.tp-header .tp-nav__cta a{background:var(--tp-gold);color:var(--tp-navy)!important;padding:.55rem 1.1rem;font-weight:700}
.tp-header .tp-nav__cta a:hover{background:var(--tp-gold-2)}
.tp-header .wp-block-navigation__responsive-container-open{color:#fff}
.admin-bar .tp-header{top:32px}

/* ── Sektionen ── */
.tp-section{padding:clamp(3.5rem,7vw,6rem) 1.25rem}
.tp-section.tp-light{background:#f2f2f2}
.tp-section.tp-dark{background:var(--tp-navy);color:#fff}
.tp-section.tp-dark h1,.tp-section.tp-dark h2,.tp-section.tp-dark h3,.tp-section.tp-dark p,.tp-section.tp-dark li{color:#fff}
.tp-section.tp-section>:where(:not(.alignfull)){max-width:var(--tp-max)!important;margin-left:auto!important;margin-right:auto!important}
.tp-section.tp-section>.tp-text.tp-center,.tp-section.tp-section>.tp-text.has-text-align-center{max-width:820px!important}
.tp-section.tp-section>.tp-text:not(.tp-center):not(.has-text-align-center){padding-right:min(32%,380px)}
.tp-section .tp-h{margin:0 0 .6rem;position:relative;padding-bottom:.9rem}
.tp-section .tp-h::after{content:"";display:block;width:64px;height:3px;background:var(--tp-gold-2);margin-top:.9rem}
.tp-section .tp-h.has-text-align-center::after{margin-left:auto;margin-right:auto}
.tp-section .tp-h+.tp-text{max-width:820px}
.tp-section .tp-h.has-text-align-center+.tp-text{margin-left:auto;margin-right:auto}
.tp-text{font-size:1rem;line-height:1.7;color:var(--tp-mute)}
.tp-section.tp-dark .tp-text{color:rgba(255,255,255,.85)}
.tp-text.tp-center,.tp-text.has-text-align-center{text-align:center}
.tp-text ul{padding-left:1.2rem}
.tp-eyebrow{display:inline-block;background:var(--tp-gold);color:var(--tp-navy);font-family:var(--wp--preset--font-family--display);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;padding:.35rem .8rem;margin:0 0 1rem}

/* ── Hero ── */
.tp-hero.wp-block-cover{color:#fff;align-items:center;padding:clamp(4rem,9vw,7rem) 1.25rem}
.tp-hero .wp-block-cover__inner-container{max-width:var(--tp-max);margin:0 auto;width:100%}
.tp-hero .wp-block-cover__inner-container>:where(:not(.alignfull)){max-width:var(--tp-max)!important;margin-left:0!important;margin-right:auto!important}
.tp-hero .tp-hero__h{max-width:14ch;font-size:clamp(2.3rem,5vw,4.1rem);line-height:1.05;margin:0 0 1.2rem;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.tp-hero .tp-hero__h::after{content:"";display:block;width:64px;height:3px;background:var(--tp-gold);margin-top:1.1rem}
.tp-hero .tp-hero__p{max-width:560px;font-size:1.05rem;line-height:1.65;color:rgba(255,255,255,.92);margin:0 0 1.6rem}
.tp-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(17,15,46,.96) 0%,rgba(17,15,46,.9) 38%,rgba(17,15,46,.35) 70%,rgba(17,15,46,.15) 100%)!important;opacity:1!important}
.tp-hero img.wp-block-cover__image-background{object-position:70% 40%}

/* ── Buttons ── */
.tp-btns{gap:.8rem}
.tp-btn .wp-block-button__link{background:var(--tp-gold);color:var(--tp-navy);border:2px solid var(--tp-gold);border-radius:0;font-weight:700;font-size:.95rem;padding:.8rem 1.5rem;transition:background .2s,transform .2s}
.tp-btn .wp-block-button__link:hover{background:var(--tp-gold-2);border-color:var(--tp-gold-2);transform:translateY(-1px)}
.tp-btn.tp-btn--ghost .wp-block-button__link{background:transparent;color:#fff;border-color:var(--tp-gold)}
.tp-btn.tp-btn--ghost .wp-block-button__link:hover{background:rgba(255,200,0,.12)}
.tp-section:not(.tp-dark) .tp-btn.tp-btn--ghost .wp-block-button__link{color:var(--tp-navy)}

/* ── Karten (Ecken-Akzent wie im Divi-Original) ── */
.tp-grid{gap:20px;margin-top:2rem}
.tp-cols{gap:2.5rem;margin-top:2rem;align-items:center}
.tp-card{background:var(--tp-navy-2);color:#fff;border:1px solid rgba(255,255,255,.2);padding:28px 24px;position:relative;box-sizing:border-box;height:100%}
.tp-card::before,.tp-card::after{content:"";position:absolute;width:14px;height:14px}
.tp-card::before{top:-2px;left:-2px;border-top:2px solid var(--tp-gold-2);border-left:2px solid var(--tp-gold-2)}
.tp-card::after{bottom:-2px;right:-2px;border-bottom:2px solid var(--tp-gold-2);border-right:2px solid var(--tp-gold-2)}
.tp-card .tp-card__ic{width:36px;height:36px;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;color:var(--tp-gold-2);margin-bottom:16px}
.tp-card .tp-card__ic img{width:22px;height:22px;object-fit:contain}
.tp-card .tp-card__h{font-size:1rem;margin:0 0 8px;color:#fff}
.tp-card p{margin:0;color:rgba(255,255,255,.85);font-size:.95rem;line-height:1.6}
.tp-card p+p{margin-top:.5rem}
.tp-section:not(.tp-dark) .tp-card{background:#fff;color:var(--tp-ink);border-color:rgba(17,15,46,.12);box-shadow:0 8px 30px rgba(17,15,46,.06)}
.tp-section:not(.tp-dark) .tp-card .tp-card__h{color:var(--tp-ink)}
.tp-section:not(.tp-dark) .tp-card p{color:var(--tp-mute)}
.tp-section:not(.tp-dark) .tp-card .tp-card__ic{border-color:rgba(17,15,46,.2)}
.tp-card:hover{transform:translateY(-3px)}
.tp-card{transition:transform .25s ease}

/* ── Häkchenlisten ── */
.tp-check{list-style:none;padding:0;margin:0}
.tp-check li{position:relative;padding-left:1.8rem;margin:.55rem 0;line-height:1.55}
.tp-check li::before{content:"";position:absolute;left:0;top:.2em;width:1.05em;height:1.05em;background:var(--tp-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23110f2e' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4L19 6'/%3E%3C/svg%3E") center/70% no-repeat}

/* ── Bilder ── */
.tp-img img{width:100%;height:auto;display:block;border:1px solid rgba(17,15,46,.08)}
.tp-gallery{gap:14px;margin-top:2rem}
.tp-gallery img{width:100%;height:auto;aspect-ratio:400/284;object-fit:cover;display:block}

/* ── FAQ ── */
.tp-faq{margin-top:1.6rem;display:block}
.tp-faq>.tp-faq__item{max-width:none!important;margin:0 0 10px!important;width:100%}
.tp-faq__item{background:#fff;color:var(--tp-ink);border-left:4px solid var(--tp-gold);padding:0}
.tp-faq__item summary{list-style:none;cursor:pointer;padding:16px 48px 16px 20px;font-family:var(--wp--preset--font-family--display);text-transform:uppercase;font-weight:600;font-size:.92rem;letter-spacing:.03em;position:relative}
.tp-faq__item summary::-webkit-details-marker{display:none}
.tp-faq__item summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:1px solid rgba(17,15,46,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;font:600 15px/1 var(--wp--preset--font-family--body);color:var(--tp-mute)}
.tp-faq__item[open] summary::after{content:"–"}
.tp-faq__item>p,.tp-faq__item>div{padding:0 20px 18px;margin:0;color:var(--tp-mute);line-height:1.65}
.tp-section.tp-dark .tp-faq__item>p,.tp-section.tp-dark .tp-faq__item>div,.tp-section.tp-dark .tp-faq__item summary,.tp-section.tp-dark .tp-faq__item{color:var(--tp-ink)}
.tp-section.tp-dark .tp-faq__item p{color:var(--tp-mute)}

/* ── Kontakt-Band (KONTAKT-Sektion vor dem Footer) ── */
.tp-section.tp-light .tp-btns{margin-top:.6rem}

/* ── Footer ── */
.tp-footer{background:var(--tp-navy);color:#fff;padding:3.5rem 1.25rem 1.5rem}
.tp-footer .tp-footer__cols{gap:2.5rem}
.tp-footer .tp-footer__h{color:#fff;font-size:.85rem;letter-spacing:.08em;margin:0 0 1rem;padding-bottom:.6rem;border-bottom:2px solid var(--tp-gold)}
.tp-footer ul{list-style:none;padding:0;margin:0}
.tp-footer li{margin:.45rem 0;color:rgba(255,255,255,.8);font-size:.92rem}
.tp-footer a{color:rgba(255,255,255,.85);text-decoration:none}
.tp-footer a:hover{color:var(--tp-gold)}
.tp-footer .tp-footer__contact li{display:flex;gap:.6rem;align-items:flex-start}
.tp-footer .tp-footer__contact svg{flex-shrink:0;margin-top:.25rem;color:var(--tp-gold)}
.tp-footer .tp-footer__bottom{max-width:var(--tp-max);margin:2.5rem auto 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.8rem;color:rgba(255,255,255,.6)}
.tp-footer .tp-footer__bottom a{color:rgba(255,255,255,.75);text-decoration:underline}

/* ── Popup „Gespräch vereinbaren" ── */
.tp-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1rem}
.tp-modal[hidden]{display:none}
.tp-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(2px)}
.tp-modal__panel{position:relative;background:var(--tp-navy);color:#fff;width:min(1200px,100%);max-height:calc(100vh - 2rem);overflow:auto;padding:3rem;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:tpIn .3s ease}
@keyframes tpIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.tp-modal__close{position:absolute;top:.8rem;right:.8rem;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:2.4rem;line-height:1;cursor:pointer}
.tp-modal__close:hover{color:var(--tp-gold)}
.tp-modal__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:2.5rem;align-items:start}
.tp-modal__form{background:#fff;color:var(--tp-ink);padding:1.6rem}
.tp-modal__title{color:#fff;font-size:1.6rem;margin:0 0 1rem}
.tp-modal__aside p{color:rgba(255,255,255,.9)}
.tp-modal__aside a{color:var(--tp-gold)}
.tp-modal__sign{display:flex;align-items:center;gap:1.2rem;margin-top:1.2rem}
.tp-modal__portrait{width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid var(--tp-gold)}
.tp-modal__signature{height:44px;width:auto;filter:brightness(0) invert(1)}
.tp-modal-open{overflow:hidden}
.tp-form-placeholder{padding:2rem;border:1px dashed rgba(17,15,46,.3);text-align:center;color:var(--tp-mute)}
@media(max-width:860px){.tp-modal__grid{grid-template-columns:1fr}.tp-modal__panel{padding:2rem 1.2rem}}

/* ── Reveal ── */
.tp-reveal{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}
.tp-reveal.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.tp-reveal{opacity:1;transform:none;transition:none}.tp-card{transition:none}}

/* ── Divi-Altmarkup: Farben aus den Code-Modulen bleiben (#141141 Karten) — Feinschliff ── */
.tp-section [class*="-grid"]{margin-top:1.6rem}
@media(max-width:781px){.tp-cols{flex-direction:column}.tp-section{padding:3rem 1.1rem}.tp-hero .tp-hero__h{max-width:none}}

/* Weißer Häkchen-Kasten (Divi: Blurbs ohne Titel) */
.tp-box{background:#fff;color:var(--tp-ink);padding:26px 28px;position:relative;box-shadow:0 8px 30px rgba(17,15,46,.06)}
.tp-box::before,.tp-box::after{content:"";position:absolute;width:14px;height:14px}
.tp-box::before{top:-2px;left:-2px;border-top:2px solid var(--tp-gold-2);border-left:2px solid var(--tp-gold-2)}
.tp-box::after{bottom:-2px;right:-2px;border-bottom:2px solid var(--tp-gold-2);border-right:2px solid var(--tp-gold-2)}
.tp-box .tp-check li{margin:.7rem 0;font-size:.98rem}
.tp-section.tp-dark .tp-box{background:var(--tp-navy-2);color:#fff}

/* Merkmalsliste (Blurbs neben Text: Icon + Titel + Text) */
.tp-features{display:grid;gap:1.1rem;margin:1.4rem 0}
.tp-feature{display:flex;gap:.9rem;align-items:flex-start}
.tp-feature__ic{flex-shrink:0;width:30px;height:30px;border:1px solid rgba(17,15,46,.2);display:flex;align-items:center;justify-content:center;color:var(--tp-gold-2);margin-top:.15rem}
.tp-section.tp-dark .tp-feature__ic{border-color:rgba(255,255,255,.25)}
.tp-feature__h{font-size:.92rem;margin:0 0 .25rem;letter-spacing:.04em}
.tp-feature p{margin:0;color:var(--tp-mute);font-size:.95rem;line-height:1.6}
.tp-section.tp-dark .tp-feature p{color:rgba(255,255,255,.82)}
.tp-cols .tp-btns{margin-top:1.2rem}
