/**
 * File: /wp-content/themes/belofis/assets/css/partners.css
 * Version: 0.1.0-alpha.10
 *
 * Dedicated partner-program presentation.
 * Existing WordPress page content remains editable and is styled here.
 * No external dependencies.
 */

.bo-partner-main{
    background:var(--bo-color-bg);
    color:var(--bo-color-text);
}
.bo-partner-hero{
    position:relative;
    overflow:hidden;
    border-bottom:1px solid var(--bo-color-border);
    background:
        radial-gradient(circle at 82% 18%,rgba(53,160,129,.12),transparent 28%),
        radial-gradient(circle at 65% 55%,rgba(30,81,145,.08),transparent 34%),
        linear-gradient(180deg,var(--bo-color-bg),var(--bo-color-surface));
}
.bo-partner-hero::after{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    right:-190px;
    bottom:-280px;
    border:1px solid rgba(18,60,122,.08);
    border-radius:50%;
}
.bo-partner-hero__grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
    gap:72px;
    align-items:center;
    padding-top:76px;
    padding-bottom:74px;
}
.bo-partner-eyebrow{
    display:block;
    margin-bottom:12px;
    color:var(--bo-color-primary);
    font-size:12px;
    font-weight:500;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.bo-partner-hero h1{
    max-width:760px;
    margin:0;
    font-size:clamp(42px,5vw,68px);
    line-height:.98;
    letter-spacing:-.052em;
}
.bo-partner-lead{
    max-width:730px;
    margin:24px 0 0;
    color:var(--bo-color-muted);
    font-size:18px;
    line-height:1.68;
}
.bo-partner-hero__actions{
    display:flex;
    gap:18px;
    align-items:center;
    margin-top:30px;
    flex-wrap:wrap;
}
.bo-partner-text-link{
    display:inline-flex;
    gap:8px;
    align-items:center;
    color:var(--bo-color-primary);
    font-size:14px;
    font-weight:500;
}
.bo-partner-text-link:hover span{transform:translateX(2px)}
.bo-partner-text-link span{transition:transform .16s ease}
.bo-partner-trust{
    display:flex;
    gap:18px;
    margin-top:28px;
    flex-wrap:wrap;
}
.bo-partner-trust span{
    display:inline-flex;
    gap:7px;
    align-items:center;
    color:var(--bo-color-muted);
    font-size:12px;
    font-weight:500;
}
.bo-partner-trust svg{
    width:15px;
    height:15px;
    color:#14966f;
}

.bo-partner-hero__panel{
    padding:24px;
    border:1px solid var(--bo-color-border);
    border-radius:20px;
    background:color-mix(in srgb,var(--bo-color-bg) 94%,transparent);
    box-shadow:0 24px 60px rgba(15,35,65,.09);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}
.bo-partner-panel__head{
    display:grid;
    grid-template-columns:44px 1fr;
    gap:12px;
    align-items:center;
    padding-bottom:18px;
    border-bottom:1px solid var(--bo-color-border);
}
.bo-partner-panel__icon{
    display:grid;
    width:44px;
    height:44px;
    place-items:center;
    border-radius:13px;
    background:#eefbf7;
    color:#08765e;
}
.bo-partner-panel__icon svg{width:22px;height:22px}
.bo-partner-panel__head strong{display:block;font-size:15px}
.bo-partner-panel__head span:last-child{
    display:block;
    margin-top:3px;
    color:var(--bo-color-muted);
    font-size:12px;
}
.bo-partner-mini-flow{
    display:grid;
    gap:0;
    margin:0;
    padding:8px 0 0;
    list-style:none;
    counter-reset:none;
}
.bo-partner-mini-flow li{
    position:relative;
    display:grid;
    grid-template-columns:38px 1fr;
    gap:12px;
    padding:14px 0;
}
.bo-partner-mini-flow li:not(:last-child)::after{
    content:"";
    position:absolute;
    left:18px;
    top:42px;
    bottom:-4px;
    width:1px;
    background:var(--bo-color-border);
}
.bo-partner-mini-flow>li>span{
    position:relative;
    z-index:1;
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border:1px solid var(--bo-color-border);
    border-radius:11px;
    background:var(--bo-color-bg);
    color:var(--bo-color-primary);
    font-size:10px;
    font-weight:500;
}
.bo-partner-mini-flow strong{
    display:block;
    padding-top:2px;
    font-size:13px;
}
.bo-partner-mini-flow small{
    display:block;
    margin-top:3px;
    color:var(--bo-color-muted);
    font-size:11.5px;
    line-height:1.45;
}

.bo-partner-principles{
    border-bottom:1px solid var(--bo-color-border);
    background:var(--bo-color-bg);
}
.bo-partner-principles__grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1px;
    padding-top:0;
    padding-bottom:0;
    background:var(--bo-color-border);
}
.bo-partner-principles article{
    display:grid;
    grid-template-columns:40px 1fr;
    gap:13px;
    padding:24px 26px;
    background:var(--bo-color-bg);
}
.bo-partner-principles article>span{
    display:grid;
    width:40px;
    height:40px;
    place-items:center;
    border-radius:12px;
    background:var(--bo-color-primary-soft);
    color:var(--bo-color-primary);
}
.bo-partner-principles svg{width:20px;height:20px}
.bo-partner-principles strong{display:block;font-size:13px}
.bo-partner-principles p{
    margin:5px 0 0;
    color:var(--bo-color-muted);
    font-size:11.8px;
    line-height:1.48;
}

.bo-partner-details{
    padding:72px 0 88px;
    background:var(--bo-color-bg);
}
.bo-partner-details__intro{
    max-width:760px;
    margin-bottom:42px;
}
.bo-partner-details__intro h2{
    margin:0;
    font-size:clamp(30px,3.7vw,46px);
    line-height:1.06;
    letter-spacing:-.042em;
}
.bo-partner-details__intro p{
    margin:14px 0 0;
    color:var(--bo-color-muted);
    font-size:15px;
    line-height:1.6;
}

/* Existing editor content, redesigned without duplicating business data. */
.bo-partner-source{
    max-width:none!important;
    color:var(--bo-color-text);
    font-size:15px;
}
.bo-partner-source>h1:first-child{
    display:none;
}
.bo-partner-source h2{
    max-width:800px;
    margin:64px 0 18px;
    color:var(--bo-color-text);
    font-size:30px;
    line-height:1.12;
    letter-spacing:-.035em;
}
.bo-partner-source h2:first-child{margin-top:0}
.bo-partner-source h3{
    color:var(--bo-color-text);
    font-size:17px;
    line-height:1.35;
}
.bo-partner-source p,
.bo-partner-source>ul,
.bo-partner-source>ol{
    max-width:860px!important;
}
.bo-partner-source p{
    color:var(--bo-color-muted);
    line-height:1.7;
}
.bo-partner-source a{
    color:var(--bo-color-primary);
    text-decoration-thickness:1px;
    text-underline-offset:3px;
}
.bo-partner-source>ol{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px;
    margin:22px 0 18px;
    padding:0;
    counter-reset:bo-partner-step;
    list-style:none;
}
.bo-partner-source>ol>li{
    position:relative;
    min-width:0;
    padding:48px 15px 16px;
    border:1px solid var(--bo-color-border);
    border-radius:14px;
    background:var(--bo-color-surface);
    color:var(--bo-color-muted);
    font-size:12px;
    line-height:1.5;
    counter-increment:bo-partner-step;
}
.bo-partner-source>ol>li::before{
    content:counter(bo-partner-step,decimal-leading-zero);
    position:absolute;
    top:14px;
    left:15px;
    display:grid;
    width:28px;
    height:28px;
    place-items:center;
    border-radius:9px;
    background:var(--bo-color-primary-soft);
    color:var(--bo-color-primary);
    font-size:10px;
    font-weight:500;
}
.bo-partner-source>ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 16px;
    margin:18px 0 24px;
    padding:0;
    list-style:none;
}
.bo-partner-source>ul>li{
    position:relative;
    padding:12px 14px 12px 38px;
    border:1px solid var(--bo-color-border);
    border-radius:12px;
    background:var(--bo-color-bg);
    color:var(--bo-color-text);
    font-size:13px;
    line-height:1.45;
}
.bo-partner-source>ul>li::before{
    content:"✓";
    position:absolute;
    left:14px;
    top:11px;
    display:grid;
    width:18px;
    height:18px;
    place-items:center;
    border-radius:999px;
    background:#e9f8f2;
    color:#08765e;
    font-size:10px;
    font-weight:500;
}
.bo-partner-source .wp-block-button__link,
.bo-partner-source a.button,
.bo-partner-source .button{
    display:inline-flex;
    min-height:44px;
    align-items:center;
    justify-content:center;
    padding:11px 18px;
    border:1px solid var(--bo-color-primary);
    border-radius:10px;
    background:var(--bo-color-primary);
    color:#fff!important;
    font-weight:500;
    text-decoration:none!important;
    box-shadow:0 8px 22px rgba(18,60,122,.12);
}
.bo-partner-source .wp-block-button__link:hover,
.bo-partner-source a.button:hover,
.bo-partner-source .button:hover{
    background:var(--bo-color-primary-strong);
}

/* Common Gutenberg/legacy FAQ patterns. */
.bo-partner-source .wp-block-columns{
    gap:14px;
    margin-top:20px;
}
.bo-partner-source .wp-block-column{
    padding:20px;
    border:1px solid var(--bo-color-border);
    border-radius:14px;
    background:var(--bo-color-bg);
}
.bo-partner-source .wp-block-column h3,
.bo-partner-source .wp-block-column strong{
    color:var(--bo-color-text);
}
.bo-partner-source .wp-block-column p{
    color:var(--bo-color-muted);
    font-size:13px;
}
.bo-partner-source table{
    width:100%;
    margin:18px 0;
    overflow:hidden;
    border:1px solid var(--bo-color-border);
    border-collapse:separate;
    border-spacing:0;
    border-radius:14px;
}
.bo-partner-source th,
.bo-partner-source td{
    padding:12px 14px;
    border-bottom:1px solid var(--bo-color-border);
    text-align:left;
}
.bo-partner-source tr:last-child td{border-bottom:0}

/* FAQ anchor does not require content editing. */
.bo-partner-source h2:last-of-type{
    scroll-margin-top:110px;
}

html[data-theme="dark"] .bo-partner-panel__icon,
html[data-theme="dark"] .bo-partner-source>ul>li::before{
    background:rgba(26,154,116,.14);
    color:#7ce0c1;
}
html[data-theme="dark"] .bo-partner-hero__panel{
    background:color-mix(in srgb,var(--bo-color-bg) 94%,transparent);
    box-shadow:0 24px 60px rgba(0,0,0,.28);
}

@media(max-width:1080px){
    .bo-partner-hero__grid{
        grid-template-columns:1fr;
        gap:34px;
    }
    .bo-partner-hero__panel{
        max-width:760px;
    }
    .bo-partner-principles__grid{
        grid-template-columns:1fr;
    }
    .bo-partner-source>ol{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}
@media(max-width:760px){
    .bo-partner-hero__grid{
        padding-top:48px;
        padding-bottom:48px;
    }
    .bo-partner-hero h1{font-size:42px}
    .bo-partner-lead{font-size:16px}
    .bo-partner-hero__panel{padding:20px}
    .bo-partner-principles__grid{
        width:100%;
    }
    .bo-partner-details{padding:52px 0 68px}
    .bo-partner-source>ol{
        grid-template-columns:1fr 1fr;
    }
    .bo-partner-source>ul{
        grid-template-columns:1fr;
    }
    .bo-partner-source .wp-block-columns{
        flex-direction:column;
    }
}
@media(max-width:480px){
    .bo-partner-hero h1{font-size:36px}
    .bo-partner-hero__actions{
        align-items:stretch;
        flex-direction:column;
    }
    .bo-partner-hero__actions .bo-btn{
        width:100%;
    }
    .bo-partner-text-link{
        justify-content:center;
    }
    .bo-partner-trust{
        align-items:flex-start;
        flex-direction:column;
        gap:9px;
    }
    .bo-partner-source>ol{
        grid-template-columns:1fr;
    }
}
@media(prefers-reduced-motion:reduce){
    .bo-partner-text-link span{transition:none}
}
