/* Partner Page Specific Styles */

body {
    background: #333;
}

a.logo { 
    text-decoration: none !important;
    color: inherit;
}

/* WICHTIG: Button-Styling überschreiben für die Partner-Seite */
.header nav .btn-partner {
    background: transparent !important;
    color: #fff !important;
    padding: clamp(10px, 1.5vh, 12px) clamp(20px, 3vw, 28px);
    border-radius: 8px;
    border: 2px solid #fff !important;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    font-size: clamp(14px, 1.8vw, 16px);
    white-space: nowrap;
    margin-left: clamp(15px, 3vw, 40px);
    text-decoration: none !important;
    display: inline-block;
}

.header nav .btn-partner:hover {
    background: #fff !important;
    color: #FFD000 !important;
    text-decoration: none !important;
}

.header nav .btn-partner:visited {
    color: #fff !important;
}

.header nav .btn-partner:visited:hover {
    color: #FFD000 !important;
}

.partner-hero {
    background: #FFD000;
    padding: clamp(120px, 18vh, 180px) clamp(20px, 5vw, 60px) clamp(60px, 10vh, 80px);
    text-align: center;
}

.partner-hero-container {
    max-width: 900px;
    margin: 0 auto;
}

.partner-hero h1 {
    font-size: clamp(36px, 6vw, 64px);
    color: #000;
    font-weight: 900;
    margin-bottom: clamp(15px, 2vh, 20px);
}

.partner-subtitle {
    font-size: clamp(18px, 3vw, 24px);
    color: #000;
    font-weight: 600;
}

.partner-section {
    padding: clamp(60px, 10vh, 100px) clamp(20px, 5vw, 60px);
    background: #333;
}

.partner-section.gray {
    background: #2a2a2a;
}

.partner-container {
    max-width: 1200px;
    margin: 0 auto;
}

.partner-container h2 {
    font-size: clamp(32px, 5vw, 48px);
    color: #fff;
    font-weight: 700;
    margin-bottom: clamp(40px, 6vh, 60px);
    text-align: center;
}

.partner-benefits {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: clamp(30px, 5vw, 40px);
}

.partner-benefit {
    background: #444;
    padding: clamp(35px, 5vw, 45px);
    border-radius: 16px;
    text-align: center;
    border: 3px solid #FFD000;
}

.benefit-icon {
    font-size: clamp(48px, 8vw, 64px);
    margin-bottom: clamp(15px, 2vh, 20px);
    width: clamp(80px, 12vw, 120px);
    height: clamp(80px, 12vw, 120px);
    margin-left: auto;
    margin-right: auto;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.partner-benefit h3 {
    font-size: clamp(22px, 3.5vw, 28px);
    color: #fff;
    font-weight: 700;
    margin-bottom: clamp(15px, 2vh, 20px);
}

.benefit-amount {
    font-size: clamp(40px, 7vw, 56px);
    font-weight: 900;
    color: #FFD000;
    margin-bottom: clamp(10px, 1.5vh, 12px);
}

.benefit-desc {
    font-size: clamp(16px, 2.5vw, 18px);
    color: #FFD000;
    font-weight: 600;
    margin-bottom: clamp(20px, 3vh, 25px);
}

.benefit-details {
    background: #333;
    padding: clamp(15px, 2.5vw, 20px);
    border-radius: 8px;
    text-align: left;
}

.benefit-details p {
    font-size: clamp(13px, 2vw, 15px);
    color: #ddd;
    line-height: 1.6;
    margin-bottom: clamp(8px, 1.5vh, 10px);
}

.benefit-details p:last-child {
    margin-bottom: 0;
}

.partner-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: clamp(30px, 5vw, 40px);
}

.partner-step {
    text-align: center;
}

.step-circle {
    width: clamp(60px, 10vw, 80px);
    height: clamp(60px, 10vw, 80px);
    background: #FFD000;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: clamp(28px, 5vw, 36px);
    font-weight: 900;
    color: #000;
    margin: 0 auto clamp(20px, 3vh, 25px);
}

.partner-step h3 {
    font-size: clamp(20px, 3vw, 24px);
    color: #fff;
    font-weight: 700;
    margin-bottom: clamp(12px, 2vh, 15px);
}

.partner-step p {
    font-size: clamp(14px, 2vw, 16px);
    color: #ddd;
    line-height: 1.6;
}

.partner-targets {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: clamp(25px, 4vw, 35px);
}

.partner-target {
    background: #444;
    padding: clamp(25px, 3.5vw, 35px);
    border-radius: 12px;
    border-left: 4px solid #FFD000;
}

.partner-target h3 {
    font-size: clamp(18px, 2.5vw, 20px);
    color: #fff;
    font-weight: 700;
    margin-bottom: clamp(10px, 1.5vh, 12px);
}

.partner-target p {
    font-size: clamp(14px, 2vw, 16px);
    color: #ddd;
    line-height: 1.6;
}

.partner-faq {
    max-width: 800px;
    margin: 0 auto;
}

.faq-item {
    background: transparent;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding: clamp(18px, 3vh, 24px) 0;
    cursor: pointer;
    transition: all 0.3s;
}

.faq-item:hover {
    border-bottom-color: rgba(255,208,0,0.5);
}

.faq-question {
    font-size: clamp(16px, 2.5vw, 18px);
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
}

.faq-arrow {
    color: #FFD000;
    font-size: clamp(18px, 3vw, 20px);
    transition: transform 0.3s;
    flex-shrink: 0;
    margin-left: clamp(15px, 3vw, 20px);
}

.faq-item.open .faq-arrow {
    transform: rotate(180deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
    color: rgba(255,255,255,0.8);
    line-height: 1.6;
    font-size: clamp(14px, 2vw, 16px);
}

.faq-item.open .faq-answer {
    max-height: 500px;
    padding-top: clamp(12px, 2vh, 16px);
    padding-bottom: clamp(6px, 1vh, 8px);
}

.partner-generator {
    background: #FFD000;
    padding: clamp(60px, 10vh, 100px) clamp(20px, 5vw, 60px);
}

.generator-description {
    text-align: center;
    font-size: clamp(16px, 2.5vw, 18px);
    color: #000;
    margin-bottom: clamp(40px, 6vh, 50px);
    font-weight: 600;
}

.generator-form {
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
    padding: clamp(30px, 5vw, 40px);
    border-radius: 16px;
}

.form-group {
    margin-bottom: clamp(20px, 3vh, 25px);
}

.form-group label {
    display: block;
    font-size: clamp(14px, 2vw, 16px);
    color: #000;
    font-weight: 700;
    margin-bottom: clamp(8px, 1.5vh, 10px);
}

.form-group input {
    width: 100%;
    padding: clamp(12px, 2vh, 15px) clamp(16px, 2.5vw, 20px);
    border: 3px solid #000;
    border-radius: 8px;
    font-size: clamp(14px, 2vw, 16px);
    font-family: inherit;
    box-sizing: border-box;
}

.form-group input:focus {
    outline: none;
    border-color: #FFD000;
}

.domain-hint {
    font-size: clamp(12px, 1.8vw, 14px);
    color: #666;
    margin-top: clamp(6px, 1vh, 8px);
}

.checkbox-group {
    margin-top: clamp(25px, 4vh, 30px);
}

.checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: clamp(10px, 1.5vw, 12px);
    cursor: pointer;
    font-size: clamp(13px, 1.9vw, 15px);
    color: #333;
    line-height: 1.5;
}

.checkbox-label input[type="checkbox"] {
    width: auto;
    margin-top: 3px;
    cursor: pointer;
    flex-shrink: 0;
}

.contract-link {
    color: #000;
    font-weight: 700;
    text-decoration: underline;
}

.contract-link:hover {
    opacity: 0.8;
}

.domain-result {
    background: #f8f8f8;
    padding: clamp(15px, 2.5vw, 20px);
    border-radius: 8px;
    margin-bottom: clamp(15px, 2.5vh, 20px);
    text-align: center;
}

.domain-result p {
    margin-bottom: clamp(6px, 1vh, 8px);
    color: #333;
    font-size: clamp(14px, 2vw, 16px);
}

.domain-result p:last-child {
    margin-bottom: 0;
}

.domain-url {
    font-family: monospace;
    font-weight: 700;
    color: #000;
    font-size: clamp(15px, 2.2vw, 17px);
}

.generator-btn {
    width: 100%;
    background: #000;
    color: #FFD000;
    padding: clamp(14px, 2.5vh, 18px);
    border: none;
    border-radius: 8px;
    font-size: clamp(16px, 2.5vw, 18px);
    font-weight: 700;
    cursor: pointer;
    transition: transform 0.2s;
    margin-top: clamp(10px, 2vh, 15px);
}

.generator-btn:hover {
    transform: scale(1.02);
}

.generated-link {
    margin-top: clamp(30px, 5vh, 40px);
    padding-top: clamp(30px, 5vh, 40px);
    border-top: 2px solid #f0f0f0;
}

.generated-link h3 {
    font-size: clamp(18px, 3vw, 22px);
    color: #000;
    font-weight: 700;
    margin-bottom: clamp(15px, 2.5vh, 20px);
    text-align: center;
}

.link-box {
    display: flex;
    gap: clamp(10px, 2vw, 12px);
    margin-bottom: clamp(15px, 2.5vh, 20px);
}

.link-box input {
    flex: 1;
    padding: clamp(12px, 2vh, 15px) clamp(16px, 2.5vw, 20px);
    border: 3px solid #000;
    border-radius: 8px;
    font-size: clamp(14px, 2vw, 16px);
    font-family: monospace;
}

.copy-btn {
    background: #FFD000;
    color: #000;
    padding: clamp(12px, 2vh, 15px) clamp(20px, 3vw, 30px);
    border: none;
    border-radius: 8px;
    font-size: clamp(14px, 2vw, 16px);
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: transform 0.2s;
}

.copy-btn:hover {
    transform: scale(1.02);
}

.link-info,
.dashboard-info {
    font-size: clamp(14px, 2vw, 15px);
    color: #666;
    text-align: center;
    line-height: 1.5;
    margin-bottom: clamp(10px, 2vh, 12px);
}

.dashboard-info {
    font-weight: 600;
    color: #000;
}

/* Mobile adjustments */
@media (max-width: 768px) {
    .link-box {
        flex-direction: column;
    }
    
    .link-box input,
    .copy-btn {
        width: 100%;
    }
}