/* ==========================================
   BRIO MENU
========================================== */

:root{

    --primary:#5B3A29;
    --secondary:#B6864C;
    --light:#F8F4EE;
    --white:#ffffff;
    --text:#333333;
    --border:#E8E1D7;

}

body.single-menu{

    background:var(--light);

}

.brio-container{

    max-width:1250px;

    margin:auto;

    padding:60px 25px;

}

/* ==========================================
Hero
========================================== */

.brio-hero{

    display:grid;

    grid-template-columns:45% 55%;

    gap:70px;

    align-items:center;

}

/* ==========================================
Image
========================================== */

.brio-image{

    position:relative;

}

.brio-image img{

    width:100%;

    border-radius:24px;

    display:block;

    box-shadow:0 20px 50px rgba(0,0,0,.12);

    transition:.4s;

}

.brio-image:hover img{

    transform:scale(1.03);

}

/* ==========================================
Category
========================================== */

.brio-category{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:#EFE4D4;

    color:var(--primary);

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    font-size:13px;

    margin-bottom:20px;

}

/* ==========================================
Title
========================================== */

.brio-content h1{

    font-size:52px;

    color:var(--primary);

    margin:0;

    line-height:1.1;

    font-weight:700;

}

/* ==========================================
Price
========================================== */

.brio-price{

    display:inline-block;

    margin-top:25px;

    background:var(--primary);

    color:#fff;

    padding:12px 26px;

    border-radius:60px;

    font-size:28px;

    font-weight:bold;

}

/* ==========================================
Description
========================================== */

.brio-description{

    margin-top:35px;

    font-size:18px;

    line-height:1.8;

    color:#555;

}

/* ==========================================
Buttons
========================================== */

.brio-buttons{

    display:flex;

    gap:15px;

    margin-top:40px;

}

.btn-primary{

    background:var(--primary);

    color:#fff;

    padding:16px 35px;

    border-radius:50px;

    text-decoration:none;

    transition:.3s;

    font-weight:600;

}

.btn-primary:hover{

    background:#3D251A;

}

.btn-secondary{

    background:#fff;

    color:var(--primary);

    border:2px solid var(--primary);

    padding:16px 35px;

    border-radius:50px;

    text-decoration:none;

    transition:.3s;

    font-weight:600;

}

.btn-secondary:hover{

    background:var(--primary);

    color:#fff;

}

/* ==========================================
Cards
========================================== */

.brio-info{

    padding-bottom:70px;

}

.brio-cards{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:35px;

}

.info-card{

    background:#fff;

    border-radius:20px;

    padding:35px;

    box-shadow:0 10px 30px rgba(0,0,0,.06);

}

.info-card h3{

    color:var(--primary);

    margin-top:0;

    margin-bottom:25px;

    font-size:28px;

}

/* ==========================================
Ingredients
========================================== */

.info-card ul{

    margin:0;

    padding:0;

    list-style:none;

}

.info-card li{

    padding:12px 0;

    border-bottom:1px solid #eee;

    font-size:17px;

}

.info-card li:last-child{

    border:none;

}

.info-card li:before{

    content:"✓";

    color:#48A14D;

    font-weight:bold;

    margin-right:12px;

}

/* ==========================================
Table
========================================== */

.info-card table{

    width:100%;

    border-collapse:collapse;

}

.info-card table td{

    padding:15px 0;

    border-bottom:1px solid #eee;

    font-size:17px;

}

.info-card table td:first-child{

    color:#666;

    font-weight:600;

}

.info-card table td:last-child{

    text-align:right;

    color:var(--primary);

    font-weight:600;

}

/* ==========================================
Related Products
========================================== */

.related-products{

    margin-top:70px;

}

.related-products h2{

    text-align:center;

    color:var(--primary);

    margin-bottom:45px;

    font-size:42px;

}

.related-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.related-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.related-card:hover{

    transform:translateY(-8px);

}

.related-card img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

}

.related-content{

    padding:20px;

}

.related-content h4{

    margin:0 0 12px;

    color:var(--primary);

    font-size:22px;

}

.related-price{

    color:var(--secondary);

    font-size:22px;

    font-weight:bold;

}

.related-content a{

    display:inline-block;

    margin-top:18px;

    text-decoration:none;

    color:#fff;

    background:var(--primary);

    padding:10px 20px;

    border-radius:40px;

}

/* ==========================================
Responsive
========================================== */

@media(max-width:992px){

.brio-hero{

grid-template-columns:1fr;

gap:40px;

}

.brio-content{

text-align:center;

}

.brio-buttons{

justify-content:center;

}

.brio-cards{

grid-template-columns:1fr;

}

.related-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:640px){

.brio-content h1{

font-size:38px;

}

.brio-price{

font-size:24px;

}

.related-grid{

grid-template-columns:1fr;

}

.brio-buttons{

flex-direction:column;

}

.btn-primary,
.btn-secondary{

display:block;

text-align:center;

}

}

.related-content h4 a{

    text-decoration:none;

    color:inherit;

}

.related-content .view-btn{

    display:inline-block;

    margin-top:20px;

    background:#5B3A29;

    color:#fff;

    padding:10px 18px;

    border-radius:30px;

    text-decoration:none;

    transition:.3s;

}

.related-content .view-btn:hover{

    background:#B6864C;

}

.brio-rating{

    margin:15px 0;

    color:#F4B400;

    font-size:20px;

}

.brio-rating span{

    color:#666;

    font-size:15px;

    margin-left:10px;

}

.brio-highlights{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

    margin:35px 0;

}

.highlight{

    background:#fff;

    border-radius:12px;

    padding:14px;

    box-shadow:0 8px 20px rgba(0,0,0,.05);

    font-weight:600;

}

/* ==========================================
Archive
==========================================*/

.brio-menu-hero{

    background:linear-gradient(135deg,#5B3A29,#7A5239);

    color:#fff;

    padding:90px 20px;

    text-align:center;

}

.brio-menu-hero h1{

    font-size:56px;

    margin-bottom:20px;

    color:#fff;

}

.brio-menu-hero p{

    max-width:700px;

    margin:auto;

    opacity:.9;

    font-size:18px;

}

.brio-category-filter{

    display:flex;

    justify-content:center;

    gap:15px;

    flex-wrap:wrap;

    margin:60px 0;

}

.brio-category-filter a{

    padding:12px 24px;

    border-radius:50px;

    background:#fff;

    color:#5B3A29;

    text-decoration:none;

    border:1px solid #ddd;

    transition:.3s;

}

.brio-category-filter a:hover,
.brio-category-filter a.active{

    background:#5B3A29;

    color:#fff;

}

.menu-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.menu-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

}

.menu-card:hover{

    transform:translateY(-8px);

}

.menu-card img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

}

.menu-content{

    padding:25px;
    display: flex;
    flex-direction: column;
    flex: 1;

}

.menu-price{

    display:inline-block;

    background:#5B3A29;

    color:#fff;

    padding:8px 18px;

    border-radius:40px;

    margin-bottom:20px;

    font-weight:bold;

}

.menu-content h3{

    margin:0 0 15px;
    min-height: 2.5em;

}

.menu-content h3 a{

    color:#5B3A29;

    text-decoration:none;

}

.menu-content p{

    color:#666;

    line-height:1.7;

}

.menu-button{

    display:inline-block;

    margin-top:auto;

    text-decoration:none;

    background:#B6864C;

    color:#fff;

    padding:12px 22px;

    border-radius:40px;

}

@media(max-width:992px){

.menu-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:640px){

.menu-grid{

grid-template-columns:1fr;

}

}