/*
Theme Name: Tippheld
Theme URI: https://tippheld.com
Author: Pohl Dialogmarketing UG (haftungsbeschränkt)
Description: Tippheld – Tipp geben, Prämie kassieren. Legt beim Aktivieren Startseite, Impressum, Datenschutz, Teilnahmebedingungen und Danke-Seite automatisch an.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: tippheld
*/

:root{
  --gelb:#FF8A1F;
  --rot:#E06F00;
  --rot-dunkel:#B85A00;
  --schwarz:#14213D;
  --grau:#4A5672;
  --hell:#FFF1E3;
  --weiss:#ffffff;
  --rand:#F0DCC8;
  --radius:14px;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--schwarz);background:var(--weiss);line-height:1.6;font-size:17px}
img,svg{max-width:100%;height:auto}
a{color:var(--rot-dunkel)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}

/* Header */
.th-header{background:var(--schwarz);color:var(--weiss);position:sticky;top:0;z-index:50}
.th-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.th-logo{display:flex;align-items:center;gap:10px;color:var(--weiss);text-decoration:none;font-weight:800;letter-spacing:.06em;font-size:20px}
.th-logo svg{width:40px;height:40px}
.th-nav{display:flex;align-items:center;gap:22px}
.th-nav a{color:var(--weiss);text-decoration:none;font-size:15px}
.th-nav a:hover{color:var(--gelb)}
.th-nav .th-btn{color:var(--schwarz)}
@media(max-width:760px){.th-nav a:not(.th-btn){display:none}}

/* Buttons */
.th-btn{display:inline-block;background:var(--gelb);color:var(--schwarz);font-weight:800;text-decoration:none;padding:12px 22px;border-radius:999px;border:3px solid var(--schwarz);box-shadow:4px 4px 0 var(--schwarz);transition:transform .1s,box-shadow .1s;cursor:pointer;font-size:16px}
.th-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--schwarz)}
.th-btn--rot{background:var(--gelb);color:var(--schwarz)}
.th-btn--rot:hover{background:var(--rot)}

/* Hero (Variante C: Comic mit Sprechblase) */
.th-hero{background:var(--hell);border-bottom:4px solid var(--schwarz);padding:32px 0 48px}
.th-hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.th-stage{position:relative;min-height:430px;max-width:520px;width:100%;justify-self:center}
.th-stage:before{content:"";position:absolute;left:50%;bottom:8px;width:340px;height:340px;max-width:82%;transform:translateX(-50%);border-radius:50%;background:#FFDDBA}
.th-bubble{position:absolute;left:0;top:0;max-width:230px;background:var(--weiss);border:4px solid var(--schwarz);border-radius:24px;padding:14px 18px;font-weight:900;font-size:22px;line-height:1.15;z-index:3;box-shadow:5px 5px 0 var(--schwarz)}
.th-bubble:after{content:"";position:absolute;right:30px;bottom:-26px;border-left:14px solid transparent;border-right:14px solid transparent;border-top:26px solid var(--schwarz);transform:rotate(-20deg)}
.th-stage .th-mascot{position:absolute;left:50%;bottom:0;width:330px;max-width:70%;transform:translateX(-50%);z-index:2}
.th-sticker{position:absolute;right:0;bottom:24px;width:176px;height:176px;border-radius:50%;background:var(--gelb);color:var(--schwarz);border:5px solid var(--schwarz);box-shadow:6px 6px 0 var(--schwarz);transform:rotate(8deg);z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px}
.th-sticker b{display:block;font-size:62px;line-height:.95;font-weight:900;letter-spacing:-.02em}
.th-sticker span{font-size:13px;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.th-badge{display:inline-block;background:var(--schwarz);color:var(--weiss);font-weight:800;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:999px}
.th-hero h1{font-size:clamp(40px,6.5vw,72px);line-height:.98;margin:18px 0 22px;font-weight:900;letter-spacing:-.01em;text-transform:uppercase}
.th-hero h1 span{color:var(--rot)}
.th-hero-steps{list-style:none;margin:0 0 26px;padding:0}
.th-hero-steps li{display:flex;align-items:center;gap:14px;margin:0 0 12px;font-size:19px}
.th-hero-steps li i{flex:0 0 34px;height:34px;border-radius:50%;background:var(--schwarz);color:var(--weiss);font-style:normal;font-weight:900;display:flex;align-items:center;justify-content:center}
.th-hero-steps li.last{font-weight:800}
.th-hero-steps li.last i{background:var(--gelb);color:var(--schwarz)}
.th-hero-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.th-hero-actions small{font-size:14px}
.th-hero-actions a{color:var(--schwarz)}
.th-hero-note{font-size:13px;color:var(--grau);margin:14px 0 0}
@media(max-width:860px){.th-hero .wrap{grid-template-columns:1fr;gap:16px}.th-stage{min-height:360px}.th-stage:before{width:270px;height:270px}.th-stage .th-mascot{width:260px}.th-bubble{font-size:18px;max-width:180px;padding:12px 14px}.th-sticker{width:132px;height:132px;bottom:10px}.th-sticker b{font-size:46px}.th-sticker span{font-size:11px}}

/* Sections */
.th-section{padding:72px 0}
.th-section--hell{background:var(--hell)}
.th-section--dunkel{background:var(--schwarz);color:var(--weiss)}
.th-section h2{font-size:clamp(30px,4.5vw,46px);line-height:1.05;margin:0 0 14px;font-weight:900;text-transform:uppercase}
.th-section .intro{font-size:19px;color:var(--grau);max-width:680px;margin:0 0 36px}
.th-section--dunkel .intro{color:#d6d6d6}

/* Schritte */
.th-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.th-step{background:var(--weiss);border:3px solid var(--schwarz);border-radius:var(--radius);padding:26px;box-shadow:6px 6px 0 var(--schwarz)}
.th-step .nr{display:inline-flex;width:46px;height:46px;border-radius:50%;background:var(--schwarz);color:var(--weiss);font-weight:900;font-size:22px;align-items:center;justify-content:center}
.th-step:nth-child(3) .nr{background:var(--gelb);color:var(--schwarz)}
.th-step h3{font-size:22px;margin:14px 0 8px}
.th-step p{margin:0;color:var(--grau)}
@media(max-width:860px){.th-steps{grid-template-columns:1fr}}

/* Rechner */
.th-calc{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.th-calc-box{background:var(--weiss);color:var(--schwarz);border-radius:var(--radius);padding:30px;border:3px solid var(--gelb)}
.th-calc-box label{font-weight:700;display:block;margin-bottom:10px}
.th-calc-preis{font-size:34px;font-weight:900;margin:6px 0 16px}
.th-calc input[type=range]{width:100%;accent-color:var(--rot);height:28px}
.th-calc-result{background:var(--gelb);color:var(--schwarz);border-radius:var(--radius);padding:30px;border:3px solid var(--schwarz);box-shadow:6px 6px 0 var(--rot);display:flex;flex-direction:column;justify-content:center}
.th-calc-result .label{font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:14px}
.th-calc-result .betrag{font-size:clamp(46px,7vw,72px);font-weight:900;line-height:1;margin:10px 0}
.th-calc-hinweis{font-size:13px;color:#bdbdbd;margin-top:18px}
@media(max-width:860px){.th-calc{grid-template-columns:1fr}}

/* Vorteile */
.th-pros{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.th-pro{display:flex;gap:14px;align-items:flex-start;background:var(--weiss);border:2px solid var(--rand);border-radius:var(--radius);padding:20px}
.th-pro .ico{flex:0 0 36px;height:36px;border-radius:50%;background:var(--gelb);border:2px solid var(--schwarz);display:flex;align-items:center;justify-content:center;font-weight:900}
.th-pro h3{margin:0 0 4px;font-size:18px}
.th-pro p{margin:0;color:var(--grau);font-size:16px}
@media(max-width:760px){.th-pros{grid-template-columns:1fr}}

/* FAQ */
.th-faq details{border:2px solid var(--schwarz);border-radius:var(--radius);padding:16px 20px;margin-bottom:12px;background:var(--weiss)}
.th-faq summary{font-weight:800;cursor:pointer;font-size:18px}
.th-faq details p{margin:10px 0 0;color:var(--grau)}

/* Formular */
.th-form-wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:start}
.th-form{background:var(--weiss);border:3px solid var(--schwarz);border-radius:var(--radius);padding:28px;box-shadow:8px 8px 0 var(--gelb)}
.th-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.th-form label{display:block;font-weight:700;font-size:15px;margin:14px 0 6px}
.th-form input[type=text],.th-form input[type=email],.th-form input[type=tel],.th-form select,.th-form textarea{width:100%;padding:12px 14px;border:2px solid #C9CFDB;border-radius:10px;font:inherit;font-size:16px;background:#fff}
.th-form input:focus,.th-form select:focus,.th-form textarea:focus{outline:none;border-color:var(--schwarz)}
.th-form textarea{min-height:110px;resize:vertical}
.th-check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:14px!important;color:var(--grau)}
.th-check input{margin-top:4px;flex:0 0 auto;width:18px;height:18px}
.th-form .th-btn{margin-top:20px;width:100%}
.th-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.th-alert{padding:14px 18px;border-radius:10px;margin-bottom:16px;font-weight:700}
.th-alert--fehler{background:#FDE3E1;color:#A3201A;border:2px solid #D2342B}
.th-kontakt{font-size:18px}
.th-kontakt a.tel{font-size:30px;font-weight:900;color:var(--schwarz);text-decoration:none;display:inline-block;margin:6px 0}
@media(max-width:860px){.th-form-wrap{grid-template-columns:1fr}.th-form .row{grid-template-columns:1fr}}

/* Seiten (Impressum etc.) */
.th-page{padding:56px 0 72px}
.th-page .wrap{max-width:820px}
.th-page h1{font-size:clamp(32px,5vw,48px);line-height:1.05;margin:0 0 24px;font-weight:900;text-transform:uppercase}
.th-page h2{font-size:24px;margin:34px 0 10px}
.th-page h3{font-size:19px;margin:24px 0 8px}

/* Footer */
.th-footer{background:var(--schwarz);color:#cfcfcf;padding:40px 0;font-size:14px;border-top:4px solid var(--gelb)}
.th-footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:center}
.th-footer a{color:var(--weiss);text-decoration:none;margin-left:18px}
.th-footer a:first-child{margin-left:0}
.th-footer a:hover{color:var(--gelb)}
.th-footnote{font-size:13px;color:var(--grau);margin-top:22px}

/* v1.3: Vertrauen, Sticky-Button, Handy-Feinschliff */
.th-trust{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 18px}
.th-trust li{position:relative;padding-left:24px;font-size:14px;font-weight:700;color:var(--schwarz)}
.th-trust li:before{content:"✓";position:absolute;left:0;top:1px;width:18px;height:18px;border-radius:50%;background:var(--schwarz);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center}
.th-sticky-cta{display:none}
@media(max-width:760px){
 .th-sticky-cta{display:block;position:fixed;left:12px;right:12px;bottom:12px;z-index:60;background:var(--gelb);color:var(--schwarz)!important;text-align:center;font-weight:900;font-size:17px;text-decoration:none;padding:16px;border-radius:14px;border:3px solid var(--schwarz);box-shadow:4px 4px 0 var(--schwarz);transition:transform .2s,opacity .2s}
 .th-sticky-cta.is-hidden{transform:translateY(130%);opacity:0;pointer-events:none}
 body{padding-bottom:84px}
 .th-header .wrap{min-height:58px}
 .th-logo{font-size:17px}.th-logo svg{width:32px;height:32px}
 .th-nav .th-btn{padding:9px 14px;font-size:14px;box-shadow:3px 3px 0 var(--schwarz)}
 .th-hero{padding:20px 0 36px}
 .th-hero h1{font-size:40px;margin:12px 0 16px}
 .th-hero-steps li{font-size:17px}
 .th-hero-actions{flex-direction:column;align-items:stretch;text-align:center}
 .th-hero-actions .th-btn{font-size:18px;padding:15px}
 .th-trust{flex-direction:column;gap:8px}
 .th-section{padding:52px 0}
}
@media(max-width:400px){.th-stage{min-height:330px}.th-stage:before{width:240px;height:240px}.th-stage .th-mascot{width:230px}.th-sticker{width:118px;height:118px}.th-sticker b{font-size:40px}.th-bubble{font-size:16px;max-width:165px}}
.th-form-wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.th-form .row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.th-form input,.th-form select,.th-form textarea{min-width:0;max-width:100%}
@media(max-width:860px){.th-form-wrap{grid-template-columns:minmax(0,1fr)}.th-form .row{grid-template-columns:minmax(0,1fr)}.th-form{padding:20px;box-shadow:5px 5px 0 var(--gelb)}}
.th-check{display:block!important;position:relative;padding-left:30px}
.th-check input{position:absolute;left:0;top:2px;margin:0}
