.partners-directory{
    max-width:1400px;
    margin:60px auto;
    padding:20px;
}

.partners-directory h1{
    text-align:center;
    margin-bottom:50px;
}

#partner-search{
	width:100%;
	max-width:850px;
	display:block;
	margin:0 auto 40px;
	padding:18px 24px;
	font-size:20px;
	border-radius:50px;
	border:1px solid #ddd;
}

.partner-categories{
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	margin:35px 0;
	justify-content:center;
}

.partner-filter{
    padding:10px 18px;
    border-radius:30px;
    border:none;
    cursor:pointer;
	background:#f2f2f2;
	color:#004c97;    
    transition:.25s;
}

.partner-filter:hover{
    background:#d9d9d9;
}

.partner-filter.active{
	background:#004c97;    
	color:white;
    
}

#partner-results{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:40px;
	align-items:start;
}

.partner-top{
    display:flex;
    justify-content:center;
    gap:12px;
    min-height:32px;
}

.partner-card{
    display:flex;
	flex-direction:column;
	height: 100%;
	min-height: 760px;
	background:#fff;
	border:1px solid #e5e5e5;
	border-radius:18px;
	padding:32px 28px 28px;
	position:relative;
    box-shadow:0 8px 30px rgba(0,0,0,.08);
	overflow:hidden;
    gap:22px;
    transition:.25s;
}

/* ========================================
   CORNER RIBBON
======================================== */

.partner-corner-ribbon{
    position:absolute;
    top:22px;
    left:-48px;
    width:190px;
    padding:7px 0;
    text-align:center;
    transform:rotate(-45deg);
    font-size:11px;
    font-weight:800;
    letter-spacing:.7px;
    z-index:5;
    box-shadow:0 3px 8px rgba(0,0,0,.18);
    pointer-events:none;
}


/* Premier */
.partner-corner-ribbon-premier{
    background:#f4c542;
    color:#493600;
}

/* Faith Based */
.partner-corner-ribbon-faith{
    background:#174f82;
    color:#fff;
}

.partner-card-logo{
    height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.partner-card-logo img{
    max-width:100%;
    max-height:140px;
    width:auto;
    height:auto;
    object-fit:contain;
}

.partner-card-content{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.partner-name{    
	font-weight: 700;
    font-size:24px;
    line-height:1.2;
    text-align:center;
    border-bottom:1px solid #ececec;	
    width:100%;
    margin:0 0 8px;
    padding:0 40px 18px;
}

.partner-name a{
    text-decoration:none;
}

.partner-card-categories{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}

.partner-category-badge,
.partner-premier-badge,
.partner-faith-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    border-radius:40px;
    font-size:13px;
    font-weight:700;
}

.partner-category-badge{
    background:#f1f1f1;
}

.partner-premier-badge{
    background:#FFE082;
    color:#5f4500;    
}

.partner-faith-badge{
	background:#E7F3FF;
	color:#0A4F8F;    
}

.partner-description{
    line-height:1.55;
}

.partner-address,
.partner-phone{
    font-size:14px;
}

.partner-buttons{
    display:flex;
    gap:10px;
    margin-top:auto;
}

.partner-button{
    padding:10px 14px;
    border-radius:7px;
    text-decoration:none;
    font-weight:600;
    text-align:center;
}

.visit-site{
    background:#005bbb;
    color:#fff;
}

.view-profile{
    background:#efefef;
    color:#222;
}

.partner-socials{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    font-size:13px;
}

.partner-card:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.partner-card img{
    width:160px;
    height:160px;
    object-fit:contain;
    margin-bottom:15px;
}

.partner-card h3{
    font-size:20px;
    margin:0;
}

.partner-card a{
    text-decoration:none;
    color:#222;
}

.partner-category{
    display:inline-block;
    background:#eef5ff;
    color:#005bbb;
    padding:5px 12px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
    margin:10px 0;
}

.partner-address{
    color:#777;
    font-size:14px;
    margin-bottom:12px;
}

.partner-description{
    font-size:15px;
    line-height:1.6;
    min-height:72px;
    margin-bottom:20px;
}

.partner-buttons{
    display:flex;
    gap:10px;
}

.partner-buttons a{
    flex:1;
    padding:10px;
    border-radius:6px;
    text-align:center;
    text-decoration:none;
    font-weight:600;
}

.visit-site{
    background:#005bbb;
    color:#fff;
}

.view-profile{
    background:#efefef;
    color:#222;
}

.partner-count{
    margin-bottom:20px;
    font-weight:600;
    color:#666;
}

.partner-pagination{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:10px;
	margin:50px 0;
}

.partner-page{
	padding:10px 18px;
	cursor:pointer;
	border:none;
	background:#efefef;
	border-radius:6px;
}

.partner-page.active{
	background:#005bbb;
	color:#fff;
}

.partner-logo-column{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:220px;
    border:1px solid #ececec;
    border-radius:14px;
    background:white;
    padding:25px;
}

.partner-logo{
    max-width:100%;
    max-height:180px;
    width:auto;
    height:auto;
    object-fit:contain;
}

.partner-video-column{
    min-height:220px;
}

.partner-video-column iframe{
    width:100%;
    height:220px;
    border:none;
    border-radius:12px;
}

.partner-card-categories{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.partner-category-badge{
    background:#EEF5FF;
    color:#005BBB;
    padding:7px 14px;
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}

.partner-lower-row{
    display:grid;
    grid-template-columns:1fr 320px;
    gap:30px;
}

.partner-description{
    line-height:1.75;
    font-size:15px;
}

.partner-contact-card{
    background:#F8F9FB;
    border:1px solid #E7E7E7;
    border-radius:14px;
    padding:20px;
    display:flex;
    flex-direction:column;
    gap:18px;
}

.partner-contact-row{
    display:flex;
    gap:12px;
    align-items:flex-start;
}

.partner-contact-icon{
    width:24px;
    font-size:18px;
}

.partner-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid #e1e1e1;
    background:#fff;
    transition:.2s ease;
}

.partner-icon svg{
    width:20px;
    height:20px;
}

.partner-icon:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 16px rgba(0,0,0,.12);
}

.partner-icon-website{
    color:#005bbb;
}

.partner-icon-facebook{
    color:#1877f2;
}

.partner-icon-google{
    color:#4285f4;
}

.partner-icon-instagram{
    color:#c13584;
}

.partner-icon-x{
    color:#111;
}

.partner-icon-youtube{
    color:#ff0000;
}

.partner-icon-links{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:8px;
}

.partner-icon-links a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:white;
    border:1px solid #ddd;
    display:flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    transition:.2s;
}

.partner-icon-links a:hover{
    transform:translateY(-3px);
    box-shadow:0 6px 18px rgba(0,0,0,.12);
}

.partner-media-row{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:30px;
    align-items:center;
}

.partner-video {
    width: 100%;
    margin: 15px 0;
}

.partner-video iframe {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    border: 0;
    border-radius: 10px;
}

.partner-socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 10px 0;
}

.partner-social {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #efefef;
    text-decoration: none;
    font-size: 13px;
}

.partner-social:hover {
    transform: translateY(-2px);
}

/* Tablet */
@media (max-width:1024px){
    #partner-results{
        grid-template-columns:1fr;
    }

}

/* ===========================================
   TABLET
=========================================== */

@media (max-width:1024px){
    #partner-results{
        grid-template-columns:1fr;
    }

    .partner-card{
        min-height:auto;
    }

    .partner-media-row{
        display:flex;
        flex-direction:column;
        gap:20px;
        height:auto;

    }

    .partner-logo-column{
        width:100%;
        height:240px;
    }

    .partner-video-column{
        width:100%;
        height:auto;
    }

    .partner-video-column iframe{
        width:100%;
        height:350px;
    }

    .partner-lower-row{
        display:flex;
        flex-direction:column;
        gap:25px;
    }

    .partner-description-column{
        width:100%;
    }

    .partner-description{
        height:auto;
    }

    .partner-contact-card{
        width:100%;
        margin-top:0;
    }
}


/* ===========================================
   MOBILE
=========================================== */

@media (max-width:768px){

    .partners-directory{
        padding:15px;
    }

    .partner-card{
        padding:22px;
    }

    .partner-name{
        font-size:28px;
        padding:0 10px 18px;
    }

    .partner-logo-column{
        height:200px;
    }

    .partner-video-column iframe{
        height:220px;
    }

    .partner-contact-card{
        width:100%;
    }

    .partner-card-categories{
        justify-content:center;
    }

    .partner-contact-row{
        font-size:15px;
    }

    .partner-icon-links{
        justify-content:center;
    }
}

/* =========================================
   SEARCH + CATEGORY TOGGLE ROW
========================================= */

.partner-search-row{
    width:100%;
}

.partner-category-toggle{
    display:none;
}


/* DESKTOP */
@media (min-width:1025px){

    .partner-search-row{
        display:block;
    }

    .partner-category-toggle{
        display:none;
    }

}


/* TABLET + MOBILE */
@media (max-width:1024px){

    .partner-search-row{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:12px;
        align-items:stretch;
        margin-bottom:12px;
    }

    #partner-search{
        width:100%;
        max-width:none;
        min-width:0;
        margin:0;
        padding:15px 18px;
        border-radius:10px;
        font-size:16px;
    }

    .partner-category-toggle{
        display:flex;
        width:58px;
        min-width:58px;
        margin:0;
        padding:0;
        align-items:center;
        justify-content:center;
        background:#004c97;
        color:#fff;
        border:0;
        border-radius:10px;
        cursor:pointer;
    }

    .partner-toggle-label{
        display:none;
    }

    .partner-hamburger{
        width:24px;
        height:18px;
        display:flex;
        flex-direction:column;
        justify-content:space-between;
    }

    .partner-hamburger span{
        display:block;
        width:100%;
        height:2px;
        background:#fff;
        border-radius:3px;
        transition:
            transform .2s ease,
            opacity .2s ease;
    }

    .partner-category-toggle.active
    .partner-hamburger span:nth-child(1){
        transform:
            translateY(8px)
            rotate(45deg);
    }

    .partner-category-toggle.active
    .partner-hamburger span:nth-child(2){
        opacity:0;
    }

    .partner-category-toggle.active
    .partner-hamburger span:nth-child(3){
        transform:
            translateY(-8px)
            rotate(-45deg);
    }

    .partner-categories{
        display:none;
        width:100%;
        margin:0 0 20px;
        padding:12px;
        background:#fff;
        border:1px solid #e4e4e4;
        border-radius:10px;
    }

    .partner-categories.mobile-open{
        display:flex;
        flex-direction:column;
        gap:6px;
    }

    .partner-categories .partner-filter{
        width:100%;
        display:block;
        padding:13px 15px;
        text-align:left;
        border-radius:6px;
    }
}

/* =========================================
   REMOVE EMPTY VIDEO SPACE ON TABLET/MOBILE
========================================= */

@media (max-width:1024px){

    .partner-media-row{
        height:auto;
        display:flex;
        flex-direction:column;
    }

    .partner-video-column{
        min-height:0;
        height:auto;
    }

    .partner-video-column:empty{
        display:none;
    }

    .partner-logo-column{
        width:100%;
        height:240px;
    }
}

/* =========================================
   CATEGORY HAMBURGER FIX
========================================= */

/* Desktop - completely hide hamburger */
@media (min-width:1025px){
    .partner-category-toggle{
        display:none !important;
    }
}


/* Tablet + Mobile */
@media (max-width:1024px){
    .partner-search-row{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) 58px !important;
        gap:12px;
        align-items:stretch;
    }

    #partner-search{
        margin:0 !important;
    }

    .partner-category-toggle{
        display:flex !important;
        width:58px !important;
        height:100%;
        min-height:52px;
        padding:0 !important;
        margin:0 !important;
        align-items:center;
        justify-content:center;
        background:#004c97 !important;
        color:#ffffff !important;
        border:none !important;
        border-radius:10px !important;
        cursor:pointer;
    }


    .partner-category-toggle:hover{
        background:#003b75 !important;
    }

    .partner-hamburger{
        display:flex !important;
        flex-direction:column;
        justify-content:space-between;
        width:24px;
        height:18px;
    }

    .partner-hamburger span{
        display:block;
        height:2px;
        width:24px;
        background:#ffffff !important;
        border-radius:3px;
    }


    /*
       Category dropdown background
    */

    .partner-categories{
        background:#ffffff !important;
        border:1px solid #e5e5e5;
        border-radius:10px;
        box-shadow:0 8px 20px rgba(0,0,0,.08);
    }


    .partner-categories.mobile-open{
        display:flex !important;
    }
}

/* ======================================
   FEATURED BUSINESSES CAROUSEL
====================================== */


.featured-business-section{

    width:100%;

    margin:40px auto;

    text-align:center;

}


.featured-business-heading{

    text-align:center;

    font-size:32px;

    font-weight:800;

    text-transform:uppercase;

    margin-bottom:35px;

}


/* ======================================
   SLIDER
====================================== */


.featured-business-slider{

    display:flex;

    gap:25px;

    justify-content:flex-start;

    overflow:hidden;

    width:100%;

}



/* ======================================
   BUSINESS CARDS
====================================== */

.featured-business-item{
    flex:0 0 calc(33.333% - 20px);
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:16px;
    padding:25px;
    text-align:center;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.featured-business-item img{
    width:160px;
    height:120px;
    object-fit:contain;
    margin:0 auto 20px;
}

.featured-business-info{
    text-align:center;
}

.featured-business-info h4{
    font-size:20px;
    font-weight:700;
    margin:0 0 12px;
}


.featured-business-info h4 a{
    color:#d1003f;
    text-decoration:none;
}


.featured-address,
.featured-phone{
    font-size:14px;
    line-height:1.6;
    text-align:center;
}



/* ======================================
   TABLET
====================================== */

@media(max-width:1024px){
    .featured-business-item{
        flex:0 0 calc(50% - 15px);
    }
	
	.featured-business-slider{
        justify-content:flex-start;
        overflow:hidden;
        scroll-behavior:smooth;
        gap:20px;
    }

    .featured-business-item{
        flex:0 0 calc(50% - 10px);
    }
}

/* ======================================
   MOBILE
====================================== */

@media(max-width:600px){
    .featured-business-heading{
        font-size:26px;
    }

    .featured-business-slider{
        justify-content:flex-start;
        overflow:hidden;
    }

    .featured-business-item{
        flex:0 0 100%;
    }
}

