/* ==========================================================================
   Partner-Widget „Sie haben einen heißen Tipp?" (Relaunch-Design)
   Wird per fl_builder_after_render_row nach Row .fl-node-dan6p1xk9smb
   (Maklerkooperation) auf der Startseite ausgegeben.
   Markup: template-parts/partner-cards.php
   ========================================================================== */

.ds-partner {
    --ds-navy:       #2B435D;
    --ds-navy-700:   #1F3349;
    --ds-navy-tint:  #EAEEF3;
    --ds-gold:       #B69256;
    --ds-gold-soft:  #CDAE78;
    --ds-text:       #25303B;
    --ds-text-body:  #4A5560;
    --ds-text-muted: #5B636D;
    --ds-line:       rgba(43, 67, 93, 0.12);
    --ds-sh-soft:    0 4px 16px -8px rgba(43,67,93,0.12);
    --ds-sh-card:    0 12px 40px -16px rgba(43,67,93,0.20);
    --ds-serif:      "Playfair Display", Georgia, "Times New Roman", serif;
    --ds-sans:       system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --ds-ease:       cubic-bezier(0.16, 1, 0.3, 1);
    --ds-dur:        280ms;

    background: #F6F5F2;
    color: var(--ds-text);
    font-family: var(--ds-sans);
    padding: clamp(4rem, 8vw, 7.5rem) clamp(1rem, 3vw, 2rem);
    box-sizing: border-box;
}
.ds-partner *,
.ds-partner *::before,
.ds-partner *::after { box-sizing: inherit; }

.ds-partner__inner {
    max-width: 1240px;
    margin-inline: auto;
}

/* ---------- Kopf ---------- */
.ds-partner__head {
    max-width: 680px;
    margin: 0 auto 3rem;
    text-align: center;
}
.ds-partner__eyebrow {
    display: inline-block;
    margin: 0;
    font-family: var(--ds-sans);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ds-gold);
}
.ds-partner__head h2 {
    margin: .6rem 0 .8rem;
    font-family: var(--ds-serif);
    font-weight: 400;
    font-size: clamp(1.8rem, 2.4vw + 0.75rem, 2.5rem);
    line-height: 1.15;
    color: var(--ds-text);
    text-align: center;
}
.ds-partner__lede {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.5;
    color: var(--ds-text-muted);
}

/* ---------- Grid ---------- */
.ds-partner__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

/* ---------- Karte ---------- */
.ds-pcard {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 2.4rem;
    border-radius: 22px;
    border: 1px solid var(--ds-line);
    overflow: hidden;
}
.ds-pcard--soft {
    background: var(--ds-navy-tint);
}
.ds-pcard--navy {
    background: linear-gradient(145deg, var(--ds-navy) 0%, var(--ds-navy-700) 100%);
    color: #fff;
    border-color: transparent;
}

.ds-pcard__tag {
    position: absolute;
    top: 1.6rem;
    right: 1.6rem;
    font-family: var(--ds-serif);
    font-style: italic;
    font-size: 1.05rem;
}
.ds-pcard--soft .ds-pcard__tag { color: var(--ds-navy); opacity: .55; }
.ds-pcard--navy .ds-pcard__tag { color: var(--ds-gold-soft); }


.ds-pcard h3 {
    padding-top: 1.6rem;
    margin: 0 0 .7rem;
    font-family: var(--ds-serif);
    font-weight: 400;
    font-size: clamp(1.45rem, 1.6vw + 0.6rem, 1.9rem);
    line-height: 1.2;
    color: var(--ds-text);
}
.ds-pcard--navy h3 { color: #fff; }

.ds-pcard p {
    flex-grow: 1;
    margin: 0 0 1.6rem;
    font-size: 1.125rem; /* ≥18px Vorgabe */
    line-height: 1.6;
    color: var(--ds-text-body);
}
.ds-pcard--navy p { color: rgba(255,255,255,0.86); }

/* ---------- Button: gold, eckig, mit Pfeil (wie Hero-Slider) ---------- */
.ds-pcard a.ds-btn,
.fl-builder-content .ds-pcard a.ds-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55em;
    width: 100%;
    margin-top: .4rem;
    padding: 1.05em 2.2em;
    background: var(--ds-gold);
    border: 1.5px solid transparent;
    border-radius: 0;
    box-shadow: none;
    font-family: var(--ds-sans);
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: .01em;
    line-height: 1.2;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap;
    cursor: pointer;
    transition: background var(--ds-dur) var(--ds-ease), transform var(--ds-dur) var(--ds-ease), box-shadow var(--ds-dur) var(--ds-ease);
}
.ds-pcard a.ds-btn:hover,
.ds-pcard a.ds-btn:focus-visible,
.fl-builder-content .ds-pcard a.ds-btn:hover,
.fl-builder-content .ds-pcard a.ds-btn:focus-visible {
    background: #a07f48;
    border-color: transparent;
    color: #fff !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 40px -16px rgba(43,67,93,0.20);
}
.ds-pcard a.ds-btn:focus-visible { outline: 2px solid var(--ds-gold-soft); outline-offset: 3px; }
.ds-pcard a.ds-btn::after {
    content: "";
    display: inline-block; width: 1.1em; height: 1.1em; flex-shrink: 0;
    background-color: #fff;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
            mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='12 5 19 12 12 19'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
    .ds-partner__grid { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 600px) {
    .ds-pcard { padding: 1.8rem 1.4rem; }
    .ds-pcard__tag { top: 1.3rem; right: 1.3rem; font-size: .95rem; }
    .ds-pcard a.ds-btn { white-space: normal; font-size: 1rem; padding: 1em 1.8em; }
}
@media (prefers-reduced-motion: reduce) {
    .ds-pcard a.ds-btn { transition: none; }
    .ds-pcard a.ds-btn:hover { transform: none; }
}
