/*====================================
            MENU
====================================*/

.menuSection{

    padding-top:180px;
    padding-bottom:100px;

}

.pageTitle{

    text-align:center;
    margin-bottom:15px;

}

.pageIntro{

    text-align:center;
    max-width:800px;
    margin:auto;
    margin-bottom:60px;

    color:#666;
    line-height:1.8rem;

}

.deliveryVillage{
    margin-bottom:10px;
}

.deliveryPrice{
    margin-bottom:20px;
}

/* =======================================================
   PARTNER HEADER
======================================================= */

.partnerHeader{

    display:flex;
    align-items:center;
    gap:30px;

    margin:30px 0;

    padding:25px;

    background:#ffffff;

    border:1px solid #e8e8e8;

    border-radius:18px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.partnerLogo{

    width:140px;
    height:140px;

    object-fit:contain;

    flex-shrink:0;

}

.partnerInfos{

    flex:1;

}

.partnerInfos h2{

    margin:0 0 10px 0;

    font-size:2rem;

    color:#222;

}

.partnerType{

    display:flex;
    align-items:center;
    gap:10px;

    margin-bottom:18px;

    font-weight:600;

    color:#666;

}

.partnerTypeIcon{

    width:32px;
    height:32px;

    object-fit:contain;

}

.partnerInfos p{

    margin:6px 0;

    color:#555;

    font-size:1rem;

    line-height:1.5;

}

/* =======================================================
   RESPONSIVE
======================================================= */

@media (max-width:768px){

    .partnerHeader{

        flex-direction:column;

        text-align:center;

        gap:20px;

    }

    .partnerLogo{

        width:120px;
        height:120px;

    }

    .partnerType{

        justify-content:center;

    }

}
/*====================================
        FRANCHISE TABS
====================================*/

.franchiseTabs{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:15px;

    margin-bottom:50px;

}

.franchiseTab{

    padding:14px 28px;

    border-radius:40px;

    border:2px solid var(--gold);

    background:white;

    color:var(--brown);

    cursor:pointer;

    font-weight:600;

    transition:.30s;

}

.franchiseTab:hover{

    background:#FFF5E6;

}

.franchiseTab.active{

    background:var(--gold);

    color:white;

}

/*=============================
      CATEGORY TABS
==============================*/

.categoryTabs{

    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;

    margin:25px 0 35px;

}

.categoryTab{

    padding:10px 24px;

    border:none;

    border-radius:30px;

    background:#EFE6D8;

    color:#4B2A14;

    font-weight:600;

    cursor:pointer;

    transition:.25s;

}

.categoryTab:hover{

    background:#C69146;

    color:white;

}

.categoryTab.active{

    background:#4B2A14;

    color:white;

}

.productsContainer{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));

    gap:35px;

    margin-top:35px;

}

.productCard{

    background:white;
	
	margin-bottom:30px;

	border:1px solid #ececec;
 
	border-radius:18px;

    padding:28px;

    box-shadow:0 4px 18px rgba(0,0,0,.05);

    transition:.25s;

}

.productCard:hover{

    transform:translateY(-3px);
	
	box-shadow:0 10px 28px rgba(0,0,0,.10);
}

.productImage{

    width:100%;

    border-radius:15px;

    margin-bottom:15px;

}

.productName{

    font-size:1.35rem;

    font-weight:bold;

    color:#4B2A14;

}

.productDescription{

    color:#666;

    margin:12px 0;

    line-height:1.5;

}

.productPrice{

    font-size:1.5rem;

    color:#C69146;

    font-weight:bold;

}

.optionLine{

    display:flex;
    align-items:center;

    gap:10px;

    padding:8px 0;

    cursor:pointer;

}


.quantitySelector{

    display:flex;
    justify-content:center;
    align-items:center;

    gap:15px;

    margin:15px 0;

}

.productNote,
.optionNote {
    display: block;
    margin-top: 6px;
    color: #666;
    font-size: 0.85rem;
    font-style: italic;
}

.optionLine {
    flex-wrap: wrap;
}

.optionNote {
    flex-basis: 100%;
    padding-left: 26px;
}

.qtyButton{

    width:34px;
    height:34px;

    border:none;

    border-radius:6px;

    cursor:pointer;

    font-size:20px;

    font-weight:bold;

}

.qtyValue{

    min-width:25px;

    text-align:center;

    font-size:18px;

    font-weight:bold;

}
/*====================================
        PDF
====================================*/

.catalogContainer{

    width:100%;
	max-width: 100%;
	
    background:white;

    border-radius:25px;

    overflow:hidden;

    box-shadow:0 15px 35px rgba(0,0,0,.12);

}

.catalogViewer{

    width:100%;

    height:900px;

    border:none;

}

.catalogFallback {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    object-fit: contain;
}

/*====================================
        RESPONSIVE
====================================*/

@media(max-width:900px){

.catalogViewer{

    height:700px;

}

}

@media(max-width:600px){

.catalogViewer{

    height:550px;

}

.franchiseTabs{

    flex-direction:column;

}

.franchiseTab{

    width:100%;

}

}