/* ============================================================
   SharpLync Vendor Hub Page
   File: public/css/vendors.css
   Version: 1.0
   ============================================================ */

.vendors-page {
    color: #0A2A4D;
    --v-navy: #0A2A4D;
    --v-deep-teal: #104976;
    --v-teal: #2CBFAE;
    --v-bg-light: #F7F9FB;
    --v-bg-alt: #E7EFF7;
}


/* ---------------------------
   HERO
---------------------------- */
.vendors-hero {
    background: linear-gradient(135deg, #0A2A4D 0%, #104976 40%, #2CBFAE 100%);
    padding: 6rem 10% 4.5rem;
    color: #FFFFFF;
}

.vendors-hero-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0,3fr) minmax(0,2.7fr);
    gap: 3rem;
    align-items: center;
}

.v-kicker {
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: rgba(233,244,243,0.85);
    margin-bottom: 0.9rem;
    padding-left: 0.8rem;
    position: relative;
}

.v-kicker::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2rem;
    width: 4px;
    height: 1rem;
    border-radius: 3px;
    background: #2CBFAE;
}

.vendors-hero-text h1 {
    font-size: 2.7rem;
    margin-bottom: 0.8rem;
}

.v-hero-sub {
    max-width: 620px;
    opacity: 0.88;
}

/* Right Hero Panel */
.vendors-hero-panel {
    background: radial-gradient(circle at top,
        rgba(44,191,174,0.25), rgba(6,23,41,0.98));
    border-radius: 18px;
    padding: 1.8rem 1.9rem;
    color: #E9F4F3;
    box-shadow: 0 14px 30px rgba(0,0,0,0.55);
}

.v-panel-heading {
    font-weight: 600;
    margin-bottom: 0.8rem;
}

.v-panel-list {
    list-style: none;
    padding: 0;
    margin-bottom: 1rem;
}

.v-panel-list li {
    display: flex;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.v-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--v-teal);
    margin-top: 0.35rem;
}

.v-panel-foot {
    border-top: 1px solid rgba(255,255,255,0.18);
    margin-top: 0.9rem;
    padding-top: 0.7rem;
    opacity: 0.85;
}


/* ---------------------------
   SECTIONS
---------------------------- */
.v-section {
    padding: 4.5rem 10%;
    background: var(--v-bg-light);
}

.v-section.v-alt {
    background: var(--v-bg-alt);
}

.v-section-inner {
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}

.v-section-sub {
    max-width: 720px;
    margin: 0.8rem auto 2.4rem;
    color: #42576A;
}


/* ---------------------------
   CARD GRID
---------------------------- */
.v-card-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 2rem;
}

.v-card {
    background: #FFFFFF;
    border-radius: 14px;
    padding: 1.7rem;
    text-align: center;
    border: 1px solid rgba(10,42,77,0.08);
    box-shadow: 0 8px 24px rgba(10,42,77,0.12);
    position: relative;
    transition: transform .2s ease, box-shadow .2s ease;
}

.v-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(10,42,77,0.2);
}

.v-card-badge {
    background: var(--v-teal);
    padding: 0.3rem 0.8rem;
    border-radius: 999px;
    color: #06202A;
    font-weight: 600;
    font-size: 0.8rem;
    display: inline-block;
    margin-bottom: 0.7rem;
}

.v-logo {
    height: 50px;
    margin-bottom: 1rem;
    object-fit: contain;
}

.v-card h3 {
    margin-bottom: 0.5rem;
}

.v-card p {
    margin-top: 0.4rem;
    color: #45576A;
    font-size: 0.95rem;
    margin-bottom: 1.4rem;
}

.v-btn {
    display: inline-block;
    padding: 0.7rem 1.4rem;
    border-radius: 999px;
    background: var(--v-teal);
    color: #06202A;
    font-weight: 600;
    text-decoration: none;
    transition: .2s;
}

.v-btn:hover {
    background: #34e0c3;
}

.pending {
    opacity: 0.85;
}

.v-pending-label {
    display: inline-block;
    margin-top: 0.4rem;
    background: #0A2A4D;
    color: #FFFFFF;
    padding: 0.3rem 0.9rem;
    border-radius: 999px;
    font-size: 0.8rem;
}

/* ============================================================
   SharpLync Vendor Hub – Clean Production Styles
============================================================ */

.vendors-page {
    --navy: #0A2A4D;
    --teal: #2CBFAE;
    font-family: 'Poppins', sans-serif;
}

/* ===========================
   HERO
=========================== */
.vendors-hero {
    background: linear-gradient(135deg,#0A2A4D 0%,#104976 40%,#2CBFAE 100%);
    padding: 6rem 10% 4.5rem;
    color: #fff;
}

.vendors-hero-inner {
    max-width: 1200px;
    margin: auto;
    display: grid;
    grid-template-columns: 3fr 2.7fr;
    gap: 3rem;
    align-items: center;
}

.v-kicker {
    font-size: .85rem;
    font-weight: 600;
    color: rgba(233,244,243,.85);
    padding-left: .8rem;
    position: relative;
}

.v-kicker::before {
    content:"";
    position:absolute;
    left:0;top:.2rem;
    width:4px;height:1rem;
    background: var(--teal);
    border-radius:3px;
}

.vendors-hero-panel {
    background: radial-gradient(circle at top,rgba(44,191,174,.25),rgba(6,23,41,.98));
    border-radius: 18px;
    padding: 1.8rem;
    color:#E9F4F3;
}

/* ===========================
   SECTIONS
=========================== */
.v-section {
    padding: 4.5rem 10%;
    background:#F7F9FB;
}

.v-section-inner {
    max-width:1100px;
    margin:auto;
    text-align:center;
}

/* ===========================
   CARDS
=========================== */


/* Featured partner card (Microsoft) */
.v-card-featured {
    grid-column: 1 / -1; /* full width */
    max-width: 720px;
    margin: 0 auto 2.5rem;
    background: linear-gradient(
        135deg,
        #ffffff 0%,
        #f3f7fb 100%
    );
    border: 1px solid rgba(10,42,77,0.1);
}

.v-card-featured .v-logo-wrap img {
    max-height: 200px;
}

/* Featured partner logo sizing */
.v-logo-featured {
    height: 120px;
    margin-bottom: 1.4rem;
}

.v-logo-featured img {
    max-height: 90px;
    max-width: 220px;
}


.v-card-grid {
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
    gap:2rem;
}

.v-card {
    background:#fff;
    border-radius:16px;
    padding:1.8rem;
    box-shadow:0 10px 28px rgba(10,42,77,.14);
}

.v-logo-wrap {
    height:90px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.v-logo-wrap img {
    max-height:70px;
    max-width:160px;
}

/* ===========================
   EXTENDED VENDOR TICKER (FULL WIDTH)
=========================== */
.vendor-ticker-band {
    background: linear-gradient(135deg,#0A2A4D 0%,#0E3A5F 50%,#0A2A4D 100%);
    padding: 2.4rem 0;
    color:#fff;
}

.vendor-ticker-inner {
    max-width:100%;
    padding:0 4rem;
    text-align:center;
}

.vendor-ticker-title {
    font-weight:600;
    margin-bottom:.8rem;
}

.vendor-ticker {
    overflow:hidden;
    width:100%;
}

.vendor-ticker-track {
    display:flex;
    gap:1.8rem;
    width:max-content;
    animation: scroll 45s linear infinite;
}

.vendor-ticker span {
    font-size:.9rem;
    white-space:nowrap;
    position:relative;
    padding-left:.9rem;
}

.vendor-ticker span::before {
    content:"";
    position:absolute;
    left:0;top:.45rem;
    width:6px;height:6px;
    background:var(--teal);
    border-radius:50%;
}

.vendor-ticker-foot {
    margin-top:1rem;
    font-size:.85rem;
    opacity:.85;
}

@keyframes scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* ===========================
   CTA
=========================== */
.v-cta {
    background: radial-gradient(circle at top,rgba(44,191,174,.25),#0A2A4D 55%);
    color:#fff;
    padding:4rem 10%;
    text-align:center;
}

.v-cta-btn {
    margin-top:1.4rem;
    box-shadow:0 0 20px rgba(44,191,174,.9);
}

/* ===========================
   MOBILE
=========================== */
@media(max-width:900px){
    .vendors-hero-inner{grid-template-columns:1fr}
    .vendor-ticker-inner{padding:0 1.5rem}
}



/* ===========================
   MOBILE HERO LAYOUT FIX
=========================== */
@media (max-width: 900px) {

    /* Force hero to stack cleanly */
    .vendors-hero-inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    /* Reset panel positioning */
    .vendors-hero-panel {
        width: 100%;
        max-width: none;
        margin: 0;
        position: static;
    }
}

/* Extra tightening for small phones */
@media (max-width: 600px) {

    .vendors-hero {
        padding: 4.5rem 6% 3.5rem;
    }

    .vendors-hero-panel {
        padding: 1.6rem 1.5rem;
        border-radius: 14px;
    }

    .vendors-hero-text h1 {
        font-size: 2.2rem;
        line-height: 1.2;
    }

    .v-panel-heading {
        font-size: 1.05rem;
        margin-bottom: 0.8rem;
    }
    
    /* ===========================
   FORCE CLEAN BULLETS ON MOBILE
=========================== */
@media (max-width: 700px) {

    /* Kill the dot everywhere, no exceptions */
    .v-panel-list .v-dot {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Remove any layout reservation */
    .v-panel-list li {
        display: block;
        padding-left: 0 !important;
    }

    /* Use a single, consistent dash */
    .v-panel-list li::before {
        content: "✓";
        margin-right: 0.6rem;
        color: rgba(44, 191, 174, 0.95);
        font-weight: 600;
    }
}