/**
 * Partners Page styles
 * Design system: radius 0, gold #A17E3F, no uppercase, weight 500
 *
 * @package Nevestate
 */

.partners-page {
    --pp-gold: #A17E3F;
    --pp-gold-hover: #7c6131;
    --pp-gold-active: #6b541f;
    --pp-dark: #0F172A;
    --pp-muted: #64748B;
    --pp-border: #E2E8F0;
    --pp-input-border: #334155;
    --pp-grey: #F1F5F9;
    color: var(--pp-dark);
    background: #FFFFFF;
}

.partners-page * {
    box-sizing: border-box;
}

.partners-page h1,
.partners-page h2,
.partners-page h3 {
    font-family: "Playfair Display", Georgia, serif;
    margin: 0;
}

.partners-page p {
    font-family: "Lato", "Inter", sans-serif;
    margin: 0;
}

/* ----- Shared buttons ----- */
.partners-page .pp-btn,
.partners-hero__btn,
.partners-about__btn,
.partners-cta__btn,
.partners-cta__messenger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: "Lato", "Inter", sans-serif;
    font-weight: 500;
    font-size: 17px;
    line-height: 24px;
    text-transform: none;
    text-decoration: none;
    border-radius: 0;
    border: 2px solid var(--pp-gold);
    padding: 14px 32px;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    box-shadow: none;
}

.partners-hero__btn--primary,
.partners-about__btn,
.partners-cta__btn--primary {
    background: var(--pp-gold);
    color: #FFFFFF;
}

.partners-hero__btn--primary:hover,
.partners-about__btn:hover,
.partners-cta__btn--primary:hover {
    background: var(--pp-gold-hover);
    border-color: var(--pp-gold-hover);
    color: #FFFFFF;
}

.partners-hero__btn--primary:active,
.partners-about__btn:active,
.partners-cta__btn--primary:active {
    background: var(--pp-gold-active);
    border-color: var(--pp-gold-active);
}

/* ===== HERO ===== */
.partners-hero {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #151516;
}

.partners-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.partners-hero__bg-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.partners-hero__overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.55);
}

.partners-hero__watermark {
    position: absolute;
    left: 50%;
    top: 32px;
    transform: translateX(-50%);
    width: 360px;
    max-width: 64%;
    opacity: 0.65;
    pointer-events: none;
}

.partners-hero__content {
    position: relative;
    z-index: 1;
    max-width: 880px;
    padding: 140px 40px;
    text-align: center;
    color: #FFFFFF;
}

.partners-hero__title {
    font-size: 48px;
    line-height: 1.15;
    font-weight: 600;
    color: #FFFFFF;
    margin-bottom: 28px;
}

.partners-hero__subtitle {
    font-size: 21px;
    line-height: 30px;
    color: #FFFFFF;
    opacity: 0.92;
    margin-bottom: 48px;
}

.partners-hero__actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}

.partners-hero__phone {
    font-family: "Lato", "Inter", sans-serif;
    font-weight: 500;
    font-size: 18px;
    color: #FFFFFF;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding-bottom: 2px;
    transition: color .2s ease, border-color .2s ease;
}

.partners-hero__phone:hover {
    color: var(--pp-gold);
    border-color: var(--pp-gold);
}

/* ===== STATS ===== */
.partners-stats {
    background: #FFFFFF;
    padding: 100px 0;
}

.partners-stats__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

.partners-stats__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.partners-stats__card {
    border: 1px solid var(--pp-border);
    padding: 32px;
}

.partners-stats__header {
    margin-bottom: 16px;
}

.partners-stats__number {
    display: block;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    font-size: 46px;
    line-height: 1;
    white-space: nowrap;
    color: var(--pp-gold);
    margin-bottom: 10px;
}

.partners-stats__subtitle {
    display: block;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    color: var(--pp-dark);
}

.partners-stats__description {
    font-size: 16px;
    line-height: 24px;
    color: var(--pp-muted);
}

/* ===== BENEFITS ===== */
.partners-benefits {
    background: var(--pp-grey);
    padding: 100px 0;
}

.partners-benefits__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

.partners-benefits__header {
    margin-bottom: 56px;
    text-align: center;
}

.partners-benefits__title,
.partners-about__title,
.partners-portfolio__title,
.partners-logos__title {
    font-weight: 600;
    font-size: 40px;
    line-height: 1.2;
}

.partners-benefits__title-dark,
.partners-about__title-dark,
.partners-portfolio__title-dark,
.partners-logos__title-dark {
    color: var(--pp-dark);
}

.partners-benefits__title-gold,
.partners-about__title-gold,
.partners-portfolio__title-gold,
.partners-logos__title-gold {
    color: var(--pp-gold);
}

.partners-benefits__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.partners-benefits__card {
    background: #FFFFFF;
    border: 1px solid var(--pp-border);
    padding: 32px;
}

.partners-benefits__icon {
    margin-bottom: 20px;
}

.partners-benefits__icon img {
    width: 64px;
    height: 64px;
    display: block;
}

.partners-benefits__card-title {
    font-weight: 600;
    font-size: 22px;
    line-height: 1.3;
    color: var(--pp-dark);
    margin-bottom: 12px;
}

.partners-benefits__card-desc {
    font-size: 16px;
    line-height: 24px;
    color: var(--pp-muted);
}

/* ===== ABOUT / EXPERT ===== */
.partners-about {
    background: #FFFFFF;
    padding: 100px 0;
}

.partners-about__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: 1fr 480px;
    gap: 80px;
    align-items: center;
}

.partners-about__content {
    padding: 16px 0;
}

.partners-about__title {
    margin-bottom: 28px;
    line-height: 1.25;
}

.partners-about__text {
    font-size: 18px;
    line-height: 28px;
    color: var(--pp-dark);
    margin-bottom: 28px;
}

.partners-about__text p {
    margin: 0 0 16px;
}

.partners-about__text p:last-child {
    margin-bottom: 0;
}

.partners-about__expert {
    margin-bottom: 28px;
}

.partners-about__expert-name {
    display: block;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    font-size: 22px;
    color: var(--pp-dark);
    margin-bottom: 4px;
}

.partners-about__expert-role {
    display: block;
    font-size: 16px;
    line-height: 24px;
    color: var(--pp-gold);
}

.partners-about__image-wrapper {
    overflow: hidden;
}

.partners-about__image {
    width: 100%;
    height: 100%;
    max-height: 520px;
    object-fit: cover;
    object-position: center top;
    display: block;
}

/* ===== PORTFOLIO ===== */
.partners-portfolio {
    background: var(--pp-grey);
    padding: 100px 0;
}

.partners-portfolio__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

.partners-portfolio__header {
    margin-bottom: 56px;
    text-align: center;
}

.partners-portfolio__grid {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.partners-portfolio__row {
    display: grid;
    gap: 24px;
}

.partners-portfolio__row--top {
    grid-template-columns: 2fr 1fr;
}

.partners-portfolio__row--bottom {
    grid-template-columns: 1fr 1fr;
}

.partners-portfolio__col-right {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 24px;
}

.partners-portfolio__item {
    overflow: hidden;
    background: #E2E8F0;
}

.partners-portfolio__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.partners-portfolio__item--big {
    min-height: 420px;
}

.partners-portfolio__col-right .partners-portfolio__item {
    min-height: 198px;
}

.partners-portfolio__row--bottom .partners-portfolio__item {
    min-height: 320px;
}

/* ===== PARTNER LOGOS ===== */
.partners-logos {
    background: #FFFFFF;
    padding: 100px 0;
}

.partners-logos__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

.partners-logos__header {
    margin-bottom: 56px;
    text-align: center;
}

.partners-logos__grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 24px;
}

.partners-logos__item {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--pp-border);
    padding: 24px;
    min-height: 120px;
}

.partners-logos__img {
    max-width: 100%;
    max-height: 64px;
    object-fit: contain;
    display: block;
}

/* ===== FINAL CTA ===== */
.partners-cta {
    background: var(--pp-dark);
    padding: 110px 0;
}

.partners-cta__container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.partners-cta__title {
    font-weight: 600;
    font-size: 38px;
    line-height: 1.3;
    color: #FFFFFF;
    max-width: 720px;
    margin: 0 auto 44px;
}

.partners-cta__actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}

.partners-cta__btn--primary {
    min-width: 280px;
}

.partners-cta__messengers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.partners-cta__messenger {
    background: transparent;
    color: #FFFFFF;
    border-color: var(--pp-gold);
    font-size: 16px;
    padding: 12px 28px;
}

.partners-cta__messenger:hover {
    background: var(--pp-gold);
    color: #FFFFFF;
    border-color: var(--pp-gold);
}

/* ===== PROCESS (4 steps) ===== */
.partners-process {
    background: #FFFFFF;
    padding: 100px 0;
}

.partners-process__container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
}

.partners-process__header {
    margin-bottom: 56px;
    text-align: center;
}

.partners-process__title {
    font-weight: 600;
    font-size: 40px;
    line-height: 1.2;
}

.partners-process__title-dark { color: var(--pp-dark); }
.partners-process__title-gold { color: var(--pp-gold); }

.partners-process__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.partners-process__card {
    background: #FFFFFF;
    border: 1px solid var(--pp-border);
    padding: 32px;
}

.partners-process__num {
    display: block;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    font-size: 48px;
    line-height: 1;
    color: var(--pp-gold);
    margin-bottom: 16px;
}

.partners-process__card-title {
    font-weight: 600;
    font-size: 20px;
    line-height: 1.3;
    color: var(--pp-dark);
    margin-bottom: 12px;
}

.partners-process__card-desc {
    font-size: 16px;
    line-height: 24px;
    color: var(--pp-muted);
}

/* ===== REWARD CALCULATION ===== */
.partners-reward {
    background: var(--pp-grey);
    padding: 100px 0;
}

.partners-reward__container {
    max-width: 760px;
    margin: 0 auto;
    padding: 0 40px;
    text-align: center;
}

.partners-reward__header {
    margin-bottom: 36px;
}

.partners-reward__title {
    font-weight: 600;
    font-size: 40px;
    line-height: 1.2;
    margin-bottom: 20px;
}

.partners-reward__title-dark { color: var(--pp-dark); }
.partners-reward__title-gold { color: var(--pp-gold); }

.partners-reward__intro {
    font-size: 18px;
    line-height: 28px;
    color: var(--pp-dark);
}

.partners-reward__card {
    background: #FFFFFF;
    border: 1px solid var(--pp-border);
    padding: 32px;
    text-align: left;
}

.partners-reward__example-label {
    display: block;
    font-family: "Playfair Display", Georgia, serif;
    font-weight: 600;
    font-size: 22px;
    color: var(--pp-dark);
    margin-bottom: 20px;
}

.partners-reward__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 0;
    border-bottom: 1px solid var(--pp-border);
}

.partners-reward__row-label {
    font-size: 16px;
    color: var(--pp-muted);
}

.partners-reward__row-value {
    font-size: 18px;
    font-weight: 600;
    color: var(--pp-dark);
    white-space: nowrap;
}

.partners-reward__row--result {
    border-bottom: none;
    padding-top: 18px;
}

.partners-reward__row--result .partners-reward__row-label {
    color: var(--pp-dark);
    font-size: 18px;
}

.partners-reward__row-value--gold {
    color: var(--pp-gold);
    font-size: 28px;
    font-family: "Playfair Display", Georgia, serif;
}

.partners-reward__formula {
    margin-top: 16px;
    font-size: 15px;
    color: var(--pp-muted);
}

.partners-reward__note {
    margin-top: 20px;
    font-size: 14px;
    color: var(--pp-muted);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1200px) {
    .partners-stats__grid,
    .partners-benefits__grid,
    .partners-process__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .partners-logos__grid {
        grid-template-columns: repeat(4, 1fr);
    }
    .partners-about__container {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
}

@media (max-width: 992px) {
    .partners-hero__title {
        font-size: 38px;
    }
    .partners-benefits__title,
    .partners-about__title,
    .partners-portfolio__title,
    .partners-logos__title,
    .partners-process__title,
    .partners-reward__title,
    .partners-cta__title {
        font-size: 32px;
    }
    .partners-stats__number {
        font-size: 52px;
    }
    .partners-about__container {
        grid-template-columns: 1fr;
    }
    .partners-about__image-wrapper {
        order: -1;
    }
    .partners-about__image {
        max-height: 420px;
    }
    .partners-stats__number {
        font-size: 42px;
    }
    .partners-logos__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 768px) {
    .partners-hero {
        min-height: 440px;
    }
    .partners-hero__content {
        padding: 72px 24px;
    }
    .partners-hero__title {
        font-size: 30px;
    }
    .partners-hero__subtitle {
        font-size: 18px;
        line-height: 26px;
    }
    .partners-stats,
    .partners-benefits,
    .partners-about,
    .partners-portfolio,
    .partners-logos,
    .partners-process,
    .partners-reward {
        padding: 56px 0;
    }
    .partners-cta {
        padding: 56px 0;
    }
    .partners-stats__container,
    .partners-benefits__container,
    .partners-about__container,
    .partners-portfolio__container,
    .partners-logos__container,
    .partners-cta__container {
        padding-left: 24px;
        padding-right: 24px;
    }
    .partners-stats__grid,
    .partners-benefits__grid,
    .partners-process__grid {
        grid-template-columns: 1fr;
    }
    .partners-portfolio__row--top {
        grid-template-columns: 1fr;
    }
    .partners-portfolio__col-right {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: none;
    }
    .partners-logos__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .partners-stats__number {
        font-size: 40px;
    }
}

@media (max-width: 480px) {
    .partners-hero__title {
        font-size: 26px;
    }
    .partners-hero__actions {
        flex-direction: column;
        gap: 16px;
    }
    .partners-hero__btn,
    .partners-about__btn,
    .partners-cta__btn {
        width: 100%;
    }
    .partners-portfolio__col-right {
        grid-template-columns: 1fr;
    }
    .partners-logos__grid {
        grid-template-columns: 1fr 1fr;
    }
    .partners-cta__messengers {
        flex-direction: column;
        width: 100%;
    }
    .partners-cta__messenger {
        width: 100%;
    }
}
