/* Full-width Layout für Partner-Seite */
    .partners main.content.pp-page {
        max-width: none !important;
        padding: 0 !important;
        flex-grow: 1 !important;
    }
    .pp-section { padding: 56px 0; }
    .pp-container { max-width: 1100px; padding: 0 0 0 80px; margin: 0; box-sizing: border-box; }

    /* Hero */
    .pp-hero {
        background: linear-gradient(135deg, #f8fafc 0%, #fff 50%, #f0f7ff 100%);
        border-bottom: 1px solid #e2e8f0;
        padding: 48px 0 56px;
    }
    .pp-hero h1 {
        font-size: 2.2rem;
        font-weight: 800;
        color: #0d2137;
        margin: 0 0 16px;
        letter-spacing: -0.02em;
    }
    .pp-hero p { font-size: 1.05rem; line-height: 1.7; color: #475569; margin: 0 0 8px; max-width: 780px; }
    .pp-hero p:last-child { margin-bottom: 0; }

    /* Hero: 2-spaltig mit Bild, USPs und CTA (Muster wie uebrige Seiten) */
    .pp-hero-grid { display: grid; grid-template-columns: 1fr 280px; gap: 44px; align-items: center; }
    .pp-hero h1 span { color: #0d5a93; }
    .pp-hero-sub { font-size: 1.1rem; line-height: 1.65; color: #475569; max-width: 600px; margin: 0 0 20px; }
    .pp-hero-sub strong { color: #0d2137; }
    .pp-hero-usps { list-style: none; padding: 0; margin: 0 0 24px; }
    .pp-hero-usps li { display: flex; gap: 9px; align-items: center; font-size: 0.96rem; color: #334155; font-weight: 500; padding: 4px 0; }
    .pp-hero-usps li svg { color: #1e7d52; flex-shrink: 0; width: 18px; height: 18px; }
    .pp-hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }
    .pp-btn-hero { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; padding: 13px 28px; border-radius: 8px; font-size: 0.95rem; text-decoration: none; border: none; color: #fff; background: #0d5a93; transition: background 0.2s, transform 0.15s, box-shadow 0.2s; }
    .pp-btn-hero:hover { background: #094a7a; color: #fff; text-decoration: none; transform: translateY(-2px); box-shadow: 0 4px 16px rgba(13,90,147,0.25); }
    .pp-btn-hero svg { width: 16px; height: 16px; }
    .pp-hero-visual { text-align: center; }
    .pp-hero-visual img { width: 100%; max-width: 250px; height: auto; }

    /* Partner-Sections */
    .pp-partner { border-bottom: 1px solid #f0f0f0; }
    .pp-partner:nth-child(even) { background: #f8fafc; }
    .pp-partner--ts { background: linear-gradient(135deg, #fffdf4 0%, #fff 50%, #fffcf0 100%) !important; border-top: 2px solid #f5c800; }
    .pp-partner--irk { background: linear-gradient(135deg, #fff8f0 0%, #fff 50%, #fffaf5 100%) !important; border-top: 2px solid #e06600; }
    .pp-partner--dogado { border-top: 2px solid #15803d; }

    .pp-partner-grid { display: block; }
    @keyframes pp-shimmer {
        0% { background-position: -200% center; }
        100% { background-position: 200% center; }
    }
    .pp-partner-badge {
        display: inline-block;
        font-size: 0.8rem;
        font-weight: 800;
        padding: 7px 16px;
        border-radius: 6px;
        margin-bottom: 16px;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        background-size: 200% auto;
        animation: pp-shimmer 3s linear infinite;
    }
    .pp-badge-gold {
        background: linear-gradient(90deg, #f5c800 0%, #ffe066 50%, #f5c800 100%);
        background-size: 200% auto;
        color: #1a2b3c;
        box-shadow: 0 2px 8px rgba(245,200,0,0.3);
    }
    .pp-badge-orange {
        background: linear-gradient(90deg, #e06600 0%, #ff9a3c 50%, #e06600 100%);
        background-size: 200% auto;
        color: #fff;
        box-shadow: 0 2px 8px rgba(239,125,0,0.3);
    }
    .pp-badge-purple {
        background: linear-gradient(90deg, #6d28d9 0%, #a78bfa 50%, #6d28d9 100%);
        background-size: 200% auto;
        color: #fff;
        box-shadow: 0 2px 8px rgba(124,58,237,0.3);
    }
    .pp-badge-green {
        background: linear-gradient(90deg, #15803d 0%, #4ade80 50%, #15803d 100%);
        background-size: 200% auto;
        color: #fff;
        box-shadow: 0 2px 8px rgba(22,163,74,0.3);
    }

    .pp-partner h2 {
        font-size: 1.85rem;
        font-weight: 800;
        color: #0d2137;
        margin: 0 0 6px;
        letter-spacing: -0.02em;
    }
    .pp-partner h3 {
        font-size: 1.05rem;
        font-weight: 600;
        color: #475569;
        margin: 0 0 16px;
    }
    .pp-partner p { font-size: 0.95rem; line-height: 1.7; color: #475569; margin: 0 0 16px; }
    .pp-partner ul { list-style: none; padding: 0; margin: 0 0 20px; }
    .pp-partner ul li {
        position: relative;
        padding-left: 24px;
        font-size: 0.925rem;
        line-height: 1.65;
        color: #475569;
        margin-bottom: 6px;
    }
    .pp-partner ul li::before {
        content: '✓';
        position: absolute;
        left: 0;
        color: #0d5a93;
        font-weight: 700;
    }
    .pp-partner .pp-btn {
        font-weight: 600;
        padding: 13px 28px;
        border-radius: 8px;
        font-size: 0.95rem;
        text-decoration: none;
        display: inline-block;
        border: none;
        color: #fff;
        transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
    }
    .pp-partner .pp-btn:hover { transform: translateY(-2px); color: #fff; text-decoration: none; }
    .pp-btn-ts { background: #0d5a93; }
    .pp-btn-ts:hover { background: #094a7a; box-shadow: 0 4px 16px rgba(13,90,147,0.25); }
    .pp-btn-irk { background: #e06600; }
    .pp-btn-irk:hover { background: #c45800; box-shadow: 0 4px 16px rgba(224,102,0,0.25); }
    .pp-btn-ea { background: #6d28d9; }
    .pp-btn-ea:hover { background: #5b21b6; box-shadow: 0 4px 16px rgba(109,40,217,0.25); }
    .pp-btn-dog { background: #15803d; }
    .pp-btn-dog:hover { background: #166534; box-shadow: 0 4px 16px rgba(22,128,61,0.25); }
    .pp-btn-agentur { background: #0d5a93; }
    .pp-btn-agentur:hover { background: #094a7a; box-shadow: 0 4px 16px rgba(13,90,147,0.25); }
    .pp-partner-img {
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .pp-partner-img img {
        max-width: 200px;
        width: 100%;
        height: auto;
    }

    /* Agentur-Section */
    .pp-agentur {
        background: linear-gradient(135deg, #f0f7ff 0%, #f8fafc 50%, #fff 100%);
        border-top: 2px solid #0d5a93;
    }

    @media (max-width: 768px) {
        .pp-hero h1 { font-size: 1.7rem; }
        .pp-container { padding: 0 20px; }
        .pp-hero-grid { grid-template-columns: 1fr; gap: 24px; }
        .pp-hero-visual { display: none; }
        .pp-partner-grid { grid-template-columns: 1fr; gap: 24px; }
        .pp-partner-img { order: -1; }
        .pp-partner-img img { max-width: 160px; }
    }

    /* Einladungs-Intro (weiss) zwischen Hero und Partner-Sektionen */
    .pp-intro { background: #fff; }
    .pp-intro h2 { font-size: 1.6rem; font-weight: 800; color: #0d2137; margin: 0 0 12px; letter-spacing: -0.02em; }
    .pp-intro p { font-size: 1.05rem; line-height: 1.7; color: #475569; max-width: 820px; margin: 0; }
    .pp-intro-boxes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 26px; }
    .pp-intro-box { background: #f7fafd; border: 1px solid #e6eef4; border-radius: 14px; padding: 22px; }
    .pp-intro-box-ico { width: 44px; height: 44px; border-radius: 12px; background: #eef5fb; color: #0d5a93; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }
    .pp-intro-box-ico svg { width: 22px; height: 22px; }
    .pp-intro-box h3 { font-size: 1.05rem; font-weight: 700; color: #0d2137; margin: 0 0 6px; }
    .pp-intro-box p { font-size: 0.92rem; color: #475569; line-height: 1.55; margin: 0; max-width: none; }
    .pp-partner-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 14px; }
    .pp-partner-head h2 { margin: 0; }
    .pp-partner-head .pp-partner-badge { margin-bottom: 0; }
    .pp-partner ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px 36px; }
    @media (max-width: 820px) { .pp-intro-boxes { grid-template-columns: 1fr; } .pp-partner ul { grid-template-columns: 1fr; } }
