/* PAW Affiliate – Partner Dashboard */
.paw-aff-dash{max-width:900px;margin:2rem auto;padding:0 1rem;font-family:system-ui,-apple-system,sans-serif;color:#111827}
.paw-aff-dash *{box-sizing:border-box}
.paw-aff-dash h2{margin:0 0 .5rem;font-size:1.3rem;font-weight:800}
.paw-aff-dash .sub{color:#6b7280;font-size:.9rem;margin:0 0 1.2rem}

.paw-aff-dash .kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:1.5rem}
.paw-aff-dash .kpi{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1rem}
.paw-aff-dash .kpi .num{font-size:1.5rem;font-weight:800;color:#0f172a}
.paw-aff-dash .kpi .lbl{font-size:.78rem;color:#6b7280;font-weight:600}

.paw-aff-dash .card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1.2rem;margin-bottom:1rem}
.paw-aff-dash .card h3{margin:0 0 .8rem;font-size:1rem;font-weight:700}

.paw-aff-dash .link-box{display:flex;gap:.5rem;align-items:center;margin:.5rem 0}
.paw-aff-dash .link-box input{flex:1;border:1px solid #cfd5df;border-radius:10px;padding:.6rem .8rem;font-family:monospace;font-size:.85rem;background:#f8fafc}
.paw-aff-dash .link-box button{border:none;border-radius:10px;padding:.6rem 1rem;font-weight:700;cursor:pointer;background:#0f62fe;color:#fff;font-size:.85rem;white-space:nowrap}

.paw-aff-dash .badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:700}
.paw-aff-dash .badge-ok{background:#ecfdf5;color:#065f46}
.paw-aff-dash .badge-warn{background:#fef3c7;color:#92400e}
.paw-aff-dash .badge-blue{background:#dbeafe;color:#1e40af}

.paw-aff-dash table{width:100%;border-collapse:collapse;margin-top:.5rem}
.paw-aff-dash th,.paw-aff-dash td{padding:8px 10px;border-bottom:1px solid #f3f4f6;text-align:left;font-size:.82rem}
.paw-aff-dash th{font-size:.72rem;text-transform:uppercase;color:#9ca3af;font-weight:700}

.paw-aff-dash .btn{border:none;border-radius:10px;padding:.6rem 1rem;font-size:.85rem;font-weight:700;cursor:pointer}
.paw-aff-dash a.btn{display:inline-block;text-decoration:none}
.paw-aff-dash .btn-p{background:#0f62fe;color:#fff}
.paw-aff-dash .btn-s{background:#eef2ff;color:#1e3a8a}

.paw-aff-dash .msg{padding:.8rem 1rem;border-radius:10px;margin-bottom:1rem;font-size:.9rem;font-weight:600}
.paw-aff-dash .msg-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.paw-aff-dash .msg-err{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}

.paw-aff-dash .register-box{text-align:center;padding:3rem 1rem}
.paw-aff-dash .register-box h2{margin-bottom:.5rem}
.paw-aff-dash .register-box p{color:#6b7280;margin:0 0 1.5rem;max-width:50ch;margin-left:auto;margin-right:auto}
.paw-aff-dash .register-box input{border:1px solid #cfd5df;border-radius:10px;padding:.6rem .8rem;font-size:.9rem;width:100%;max-width:300px;margin-bottom:.75rem}

.paw-aff-dash .coupon-box{margin-top:1rem;padding-top:1rem;border-top:1px solid #f3f4f6}
.paw-aff-dash .coupon-box h4{margin:0 0 .5rem;font-size:.9rem;font-weight:700;color:#334155}
.paw-aff-dash .coupon-list{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.5rem}
.paw-aff-dash .coupon-tag{display:inline-block;padding:6px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-family:monospace;font-size:.85rem;font-weight:700;color:#15803d;letter-spacing:.02em}

.paw-aff-loading{text-align:center;padding:3rem;color:#6b7280}

/* Kompaktansicht im Kundenkonto: volle Breite, transparenter Hintergrund */
.paw-aff-dash.compact{max-width:none;margin:1.25rem 0 2rem;padding:0}
.paw-aff-dash.compact .aff-head{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:1.1rem}
.paw-aff-dash.compact .aff-head h3{margin:0;font-size:1.15rem;font-weight:800}
.paw-aff-dash.compact .aff-meta{color:#6b7280;font-size:.85rem}
.paw-aff-dash.compact .aff-meta strong{color:#111827}
.paw-aff-dash.compact .kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:1.1rem}
.paw-aff-dash.compact .link-box{margin:0 0 1.1rem}
.paw-aff-dash.compact .aff-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;padding-top:1rem;border-top:1px solid #e5e7eb}
.paw-aff-dash.compact .aff-cta p{margin:0;font-size:.92rem;font-weight:700}
.paw-aff-dash.compact .aff-cta .btn-p{text-decoration:none;display:inline-block}

.paw-aff-dash .net-node summary{cursor:pointer;font-size:.9rem;padding:2px 0}
.paw-aff-dash .net-partner{font-weight:700;color:#1e3a8a}
.paw-aff-dash .net-list{list-style:none;margin:.25rem 0 .25rem .6rem;padding-left:1rem;border-left:2px solid #e5e7eb}
.paw-aff-dash .net-list li{padding:3px 0;font-size:.85rem}
.paw-aff-dash .net-cust{color:#374151}

/* ═══ Partnerseite „Affiliate-Partner werden" (.paw-lp) ═══
   Schrift, Text- und Seitenfarbe kommen vom Shop-Theme, nur die Akzentfarbe aus dem
   Konfigurator färbt (--lp-accent, --lp-on-accent, --lp-accent-text setzt der Renderer).
   #paw-lp in Selektoren, wo Themes gern dazwischenfunken ("#content a", "h2{…}", "dt{…}"). */
.paw-lp{--lp-accent:#1c6b55;--lp-on-accent:#fff;--lp-accent-text:#1c6b55;--lp-ink:#17201d;--lp-tint:#eef4f1;--lp-rule:rgba(0,0,0,.14);--lp-perf:rgba(0,0,0,.2);
    display:flex;flex-direction:column;gap:clamp(3.5rem,8vw,6.5rem);max-width:1180px;margin:clamp(1.5rem,4vw,3rem) auto clamp(3rem,6vw,5rem);padding:0 1.25rem;line-height:1.6}
@supports (color:color-mix(in srgb,red,blue)){
    .paw-lp{--lp-tint:color-mix(in srgb,var(--lp-accent) 9%,#fff);--lp-rule:color-mix(in srgb,currentColor 16%,transparent);--lp-perf:color-mix(in srgb,var(--lp-accent) 40%,transparent)}
}
.paw-lp *,.paw-lp *::before,.paw-lp *::after{box-sizing:border-box}
#paw-lp h1,#paw-lp h2,#paw-lp h3{margin:0;font-weight:700;line-height:1.15;letter-spacing:-.015em;text-transform:none}
#paw-lp h1{max-width:17ch;font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.08}
#paw-lp h2{max-width:24ch;font-size:clamp(1.55rem,2.6vw,2.1rem)}
#paw-lp h3{font-size:1.08rem;line-height:1.3}
#paw-lp p{max-width:62ch;margin:0}
.paw-lp .paw-lp-lead{font-size:clamp(1.05rem,1.5vw,1.2rem)}
.paw-lp img{display:block;max-width:100%;height:auto}

#paw-lp .paw-lp-btn{display:inline-block;padding:.85rem 1.5rem;border-radius:8px;background:var(--lp-accent);color:var(--lp-on-accent);font-weight:600;line-height:1.3;text-decoration:none;transition:background-color .15s}
#paw-lp .paw-lp-btn::before,#paw-lp .paw-lp-btn::after{content:none}
#paw-lp .paw-lp-btn:hover{color:var(--lp-on-accent);background:color-mix(in srgb,var(--lp-accent) 80%,#000)}
#paw-lp .paw-lp-btn:focus-visible,#paw-lp summary:focus-visible{outline:3px solid var(--lp-accent);outline-offset:3px}

/* Kopfbereich: Aussage links, rechts das Partner-Link-Ticket */
.paw-lp-hero{display:grid;align-items:center;gap:clamp(2rem,5vw,4.5rem)}
.paw-lp-hero.has-ticket{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.paw-lp-hero-body{display:flex;flex-direction:column;align-items:flex-start;gap:1.4rem}

/* Ticket wie ein Gutschein: Kopf und Kennzahlen, getrennt durch Perforation mit
   ausgestanzten Kerben (Maske statt Kreisen in Seitenfarbe, passt auf jeden Hintergrund) */
.paw-lp-ticket{--notch-b:radial-gradient(circle 14px at 0 100%,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 100%,#0000 97%,#000) right/51% 100% no-repeat;
    --notch-t:radial-gradient(circle 14px at 0 0,#0000 97%,#000) left/51% 100% no-repeat,radial-gradient(circle 14px at 100% 0,#0000 97%,#000) right/51% 100% no-repeat}
.paw-lp-ticket>*{padding:1.75rem 2rem}
.paw-lp-ticket>:first-child{border-radius:18px 18px 0 0}
.paw-lp-ticket>:last-child{border-radius:0 0 18px 18px}
.paw-lp-ticket>:only-child{border-radius:18px}
.paw-lp-ticket-head{background:var(--lp-accent);color:var(--lp-on-accent)}
.paw-lp-ticket-head:not(:last-child){-webkit-mask:var(--notch-b);mask:var(--notch-b)}
.paw-lp .paw-lp-ticket-title{font-size:.95rem;opacity:.85}
.paw-lp .paw-lp-ticket-link{margin-top:.35rem;font-size:clamp(1.25rem,2.3vw,1.7rem);font-weight:700;line-height:1.25;letter-spacing:-.01em;overflow-wrap:anywhere}
.paw-lp-ticket-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:1.25rem;margin:0;background:var(--lp-tint);color:var(--lp-ink)}
.paw-lp-ticket-facts:not(:first-child){border-top:2px dashed var(--lp-perf);-webkit-mask:var(--notch-t);mask:var(--notch-t)}
/* column-reverse: value above its label; flex-end keeps all values on one line */
.paw-lp-ticket-facts div{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:.3rem}
.paw-lp .paw-lp-ticket-facts dt{font-size:.88rem;font-weight:400;line-height:1.35}
.paw-lp .paw-lp-ticket-facts dd{margin:0;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:700;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums lining-nums}
@media (min-width:861px){.paw-lp-ticket{transform:rotate(-1.5deg)}}

/* Vorteile und Fragen: Überschrift links, Inhalt rechts */
.paw-lp-benefits,.paw-lp-faq{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:clamp(1.5rem,4vw,4.5rem)}
.paw-lp-benefits>:only-child,.paw-lp-faq>:only-child{grid-column:1/-1}
.paw-lp-head{display:flex;flex-direction:column;gap:.9rem}
.paw-lp .paw-lp-benefits-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 2.5rem;margin:0;padding:0;list-style:none}
.paw-lp-benefits-list li{padding-top:1.1rem;border-top:2px solid var(--lp-accent)}
#paw-lp .paw-lp-benefits-list h3{margin-bottom:.4rem}

/* Ablauf: die einzige Fläche im Mittelteil, Nummern weil es eine Reihenfolge ist */
.paw-lp-steps{padding:clamp(2rem,5vw,3.5rem);border-radius:20px;background:var(--lp-tint);color:var(--lp-ink)}
#paw-lp .paw-lp-steps h2,#paw-lp .paw-lp-steps h3{color:inherit}
.paw-lp-steps .paw-lp-head{margin-bottom:2.25rem}
.paw-lp .paw-lp-steps-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:2rem 2.5rem;margin:0;padding:0;list-style:none;counter-reset:lp-step}
.paw-lp-steps-list li{counter-increment:lp-step}
.paw-lp-steps-list li::before{content:counter(lp-step);display:block;margin-bottom:.6rem;font-size:2.4rem;font-weight:700;line-height:1;color:var(--lp-accent-text);font-variant-numeric:tabular-nums lining-nums}
#paw-lp .paw-lp-steps-list h3{margin-bottom:.35rem}

/* Text & Bild */
.paw-lp-text{display:grid;align-items:center;gap:clamp(1.5rem,4vw,4.5rem)}
.paw-lp-text.has-img{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.paw-lp-text-body{display:flex;flex-direction:column;gap:1rem}
.paw-lp-text img{width:100%;border-radius:12px}

.paw-lp-faq-list details{border-bottom:1px solid var(--lp-rule)}
.paw-lp-faq-list details:first-child{border-top:1px solid var(--lp-rule)}
#paw-lp .paw-lp-faq-list summary{display:flex;justify-content:space-between;gap:1.5rem;padding:1.15rem 0;font-weight:600;cursor:pointer;list-style:none}
.paw-lp-faq-list summary::-webkit-details-marker{display:none}
.paw-lp-faq-list summary::after{content:"";flex:none;width:.75rem;height:.75rem;margin-top:.45rem;transition:transform .2s;
    background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat}
.paw-lp-faq-list details[open] summary::after{transform:rotate(45deg)}
.paw-lp-faq-list details p{padding-bottom:1.25rem}

/* Abschluss: Akzentfläche, Button invertiert */
.paw-lp-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 3rem;padding:clamp(2rem,5vw,3.25rem) clamp(1.75rem,5vw,3.5rem);border-radius:20px;background:var(--lp-accent);color:var(--lp-on-accent)}
#paw-lp .paw-lp-cta h2{color:inherit}
.paw-lp-cta-body{display:flex;flex-direction:column;gap:.6rem}
#paw-lp .paw-lp-cta .paw-lp-btn,#paw-lp .paw-lp-cta .paw-lp-btn:hover{background:var(--lp-on-accent);color:var(--lp-accent)}
#paw-lp .paw-lp-cta .paw-lp-btn:hover{background:color-mix(in srgb,var(--lp-on-accent) 86%,var(--lp-accent))}
#paw-lp .paw-lp-cta .paw-lp-btn:focus-visible{outline-color:var(--lp-on-accent)}

.paw-lp-custom{min-width:0}

@media (max-width:860px){
    .paw-lp-hero.has-ticket,.paw-lp-benefits,.paw-lp-faq,.paw-lp-text.has-img{grid-template-columns:minmax(0,1fr)}
    .paw-lp .paw-lp-benefits-list{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){.paw-lp *{transition:none!important}}
