@import "https://fonts.googleapis.com/css2?family=Forum&display=swap";
:root{--color-primary-dark:#371d10;--color-bg:#f4efe6;--color-accent:#7e1c1c;--color-accent-hover:#5a1414;--color-text:#371d10;--color-text-light:#f4efe6;--color-border:#dbcdba;--font-headings:"Forum", serif;--font-body:"Forum", serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);font-weight:400;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-headings);letter-spacing:1px;font-weight:700}a{color:inherit;text-decoration:none;transition:color .3s}.btn-primary{background-color:var(--color-accent);color:var(--color-text-light);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;font-size:.85rem;font-weight:700;font-family:var(--font-body);border:none;border-radius:4px;padding:10px 24px;transition:background-color .3s;display:inline-block}.btn-primary:hover{background-color:var(--color-accent-hover)}.btn-secondary{background-color:var(--color-bg);color:var(--color-text);letter-spacing:.5px;text-transform:uppercase;cursor:pointer;font-size:.85rem;font-weight:700;font-family:var(--font-body);border:none;border-radius:4px;padding:10px 24px;transition:opacity .3s;display:inline-block}.btn-secondary:hover{opacity:.9}.btn-outline{color:var(--color-text-light);cursor:pointer;font-size:.75rem;font-weight:600;font-family:var(--font-body);background:0 0;border:1px solid #f4efe699;border-radius:30px;align-items:center;gap:8px;padding:4px 14px;transition:all .3s;display:flex}.btn-outline:hover{border-color:var(--color-text-light);background-color:#f4efe61a;transform:translateY(-1px)}.header{color:#f4efe6;z-index:1000;background-color:#7e1c1c;padding:12px 0;position:sticky;top:0;box-shadow:0 4px 10px #0000004d}.header-container{justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 16px;display:flex}.header-left{align-items:center;gap:15px;display:flex}.main-nav{align-items:center;gap:30px;margin-left:20px;display:flex}.hamburger-btn{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.logo-img{width:auto;height:50px;display:block}@media (max-width:900px){.main-nav{background-color:#7e1c1c;border-top:1px solid #ffffff1a;flex-direction:column;gap:15px;width:100%;padding:20px;display:none;position:absolute;top:74px;left:0}.main-nav.active{display:flex}}.main-nav a{letter-spacing:.5px;text-transform:uppercase;color:#f4efe6;white-space:nowrap;font-size:.85rem;font-weight:800;text-decoration:none;transition:opacity .3s}.main-nav a:hover{opacity:.8}.main-nav a.active{border-bottom:2px solid #f4efe6;padding-bottom:2px}.header-right{align-items:center;gap:20px;display:flex}.location-link{color:var(--color-text-light);align-items:center;gap:6px;font-size:.8rem;font-weight:600;transition:opacity .3s;display:flex}.location-link:hover{opacity:.8}.cart-btn{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:transform .3s;display:flex}.cart-btn:hover{transform:scale(1.1)}.hero{text-align:center;background-position:50%;background-size:cover;justify-content:center;align-items:center;height:90vh;min-height:600px;display:flex;position:relative}.hero:before{content:"";background:linear-gradient(#0003,#0009);position:absolute;inset:0}.hero-content{z-index:10;width:100%;max-width:900px;margin:0 auto;padding:0 20px;position:relative}.hero h1{color:#f4efe6;text-transform:uppercase;letter-spacing:-1px;text-shadow:0 4px 20px #00000080;margin-bottom:30px;font-size:4.5rem;font-weight:900;line-height:1}.hero-buttons{justify-content:center;gap:15px;display:flex}@media (max-width:900px){.hero h1{font-size:3rem}}.destaques{text-align:center;max-width:1200px;margin:0 auto;padding:100px 20px}.destaques h2{text-transform:uppercase;letter-spacing:1px;margin-bottom:60px;font-size:2.5rem}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;display:grid}.card{text-align:left;background-color:#fff;padding-bottom:30px;transition:transform .3s;box-shadow:0 10px 30px #0000000d}.card:hover{transform:translateY(-5px)}.card img{object-fit:cover;width:100%;height:250px;margin-bottom:20px}.card h3{margin:0 20px 10px;font-size:1.2rem}.card p{color:#666;margin:0 20px;font-size:.9rem;font-weight:300}.historia{background-color:#2d1a16;padding:0;overflow:hidden}.historia-container{max-width:100%;min-height:600px;display:flex}.historia-text{color:#f4efe6;flex-direction:column;flex:1;justify-content:center;padding:80px 10%;display:flex}.historia-text h2{font-family:var(--font-headings);color:#f4efe6;text-transform:uppercase;margin-bottom:25px;font-size:2.5rem}.historia-text p{opacity:.95;margin-bottom:30px;font-size:1.1rem;font-weight:300;line-height:1.6}.historia-actions{margin-top:10px}.historia-image{background-image:url(/historia_banner.png);background-position:50%;background-size:cover;flex:1;min-height:400px}@media (max-width:900px){.historia-container{flex-direction:column}.historia-text{order:2;padding:60px 20px}.historia-image{order:1;height:350px}}.recompensas{background-color:var(--color-primary-dark);color:var(--color-text-light);padding:80px 20px}.recompensas-content{justify-content:space-between;align-items:center;gap:40px;max-width:1200px;margin:0 auto;display:flex;position:relative}.recompensas-text{flex:1}.recompensas-text h2{margin-bottom:20px;font-size:2.5rem}.recompensas-text p{opacity:.9;max-width:400px;font-weight:300}.recompensas-action{border-left:1px solid #fff3;flex:1;padding-left:80px}.recompensas-action h3{color:var(--color-bg);margin-bottom:20px;font-size:1.5rem}@media (max-width:900px){.recompensas-content{text-align:center;flex-direction:column}.recompensas-action{border-top:1px solid #fff3;border-left:none;width:100%;padding-top:40px;padding-left:0}}.localizacao{background-color:var(--color-bg);min-height:500px;display:flex}.loc-text{flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding:100px 20px 100px 10vw;display:flex}.loc-text h2{margin-bottom:20px;font-size:2.5rem}.loc-text p{max-width:400px;margin-bottom:40px}.loc-map{flex:1;min-height:400px;position:relative}.loc-map iframe{display:block}@media (max-width:900px){.localizacao{flex-direction:column}.loc-text{text-align:center;align-items:center;padding:60px 20px}.loc-map{min-height:300px}}.footer{background-color:var(--color-primary-dark);color:var(--color-bg);border-top:1px solid #f4efe61a;padding:60px 20px 20px}.footer-container{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:40px;max-width:1200px;margin:0 auto 60px;display:grid}.footer-col h4{letter-spacing:1px;opacity:.6;margin-bottom:20px;font-size:1rem}.footer-col a,.footer-col p{opacity:.8;font-size:.85rem;font-family:var(--font-body);margin-bottom:10px;display:block}.footer-col a:hover{opacity:1;color:var(--color-accent)}.footer-bottom{text-align:center;opacity:.5;border-top:1px solid #ffffff1a;max-width:1200px;margin:0 auto;padding-top:20px;font-size:.75rem}.menu-page-wrapper{background-color:#f4efe6}.menu-view-container{max-width:1600px;min-height:calc(100vh - 74px);margin:0 auto;display:flex}.menu-sidebar{background-color:#fff;border-right:1px solid #e0d6c8;flex-direction:column;flex-shrink:0;gap:24px;width:320px;padding:24px;display:flex}.sidebar-search-box{background-color:#f4efe6;border:1px solid #7e1c1c;border-radius:4px;padding:20px}.sidebar-search-box p{color:#333;margin-bottom:12px;font-size:.8rem;font-weight:700}.btn-primary-small{color:#fff;cursor:pointer;width:100%;font-size:.85rem;font-weight:700;font-family:var(--font-body);background-color:#7e1c1c;border:none;border-radius:4px;padding:10px 16px}.sidebar-categories{flex-direction:column;gap:8px;display:flex}.cat-item{color:#333;cursor:pointer;text-align:left;width:100%;font-size:.85rem;font-weight:700;font-family:var(--font-body);background:0 0;border:none;border-radius:4px;align-items:center;gap:12px;padding:12px;text-decoration:none;transition:background .2s;display:flex}.cat-item:hover,.cat-item.active{background-color:#fff;border-left:4px solid #7e1c1c;box-shadow:0 2px 8px #0000000d}.cat-thumb{background-position:50%;background-size:cover;border-radius:4px;flex-shrink:0;width:40px;height:40px}.menu-main-content{background-color:#f4efe6;flex-grow:1;padding:40px}.menu-top-bar{justify-content:flex-start;gap:20px;margin-bottom:40px;display:flex}.search-menu-input{background:#fff;border:1px solid #ccc;border-radius:4px;align-items:center;gap:10px;width:300px;padding:10px 16px;display:flex}.search-menu-input input{width:100%;font-size:.9rem;font-family:var(--font-body);border:none;outline:none}.btn-catering{color:#7e1c1c;cursor:pointer;font-size:.9rem;font-weight:700;font-family:var(--font-body);background:#fff;border:1px solid #7e1c1c;border-radius:4px;align-items:center;gap:10px;padding:10px 20px;display:flex}.section-title-center{font-family:var(--font-headings);text-align:center;color:#333;letter-spacing:1px;margin-bottom:40px;font-size:1.8rem}.menu-categories-grid{grid-template-columns:repeat(4,1fr);gap:30px;display:grid}.menu-category-card{cursor:pointer;text-align:left;font-family:var(--font-body);background:0 0;border:none;padding:0;transition:transform .3s}.menu-category-card:hover{transform:translateY(-5px)}.cat-img-wrapper{aspect-ratio:16/11;border-radius:4px;margin-bottom:12px;overflow:hidden;box-shadow:0 4px 15px #0000001a}.cat-img-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.menu-category-card:hover .cat-img-wrapper img{transform:scale(1.05)}.menu-category-card h3{font-family:var(--font-body);color:#333;margin:0;font-size:.9rem;font-weight:700}.menu-product-card{cursor:pointer;text-align:left;font-family:var(--font-body);background-color:#fff;border:none;border-radius:8px;padding:0;transition:all .3s;overflow:hidden;box-shadow:0 4px 10px #0000000d}.menu-product-card:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000001a}.product-info-simple{text-align:center;padding:20px}.product-name{font-family:var(--font-body);margin:0 0 10px;font-size:1rem;font-weight:700}.product-price{color:#7e1c1c;font-size:1.1rem;font-weight:900}.no-products{text-align:center;opacity:.6;grid-column:1/-1;padding:50px;font-style:italic}@media (max-width:1100px){.menu-categories-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.menu-view-container{flex-direction:column}.menu-sidebar{border-bottom:1px solid #e0d6c8;border-right:none;width:100%}.menu-categories-grid{grid-template-columns:repeat(2,1fr)}.menu-top-bar{flex-direction:column}.search-menu-input{width:100%}}@media (max-width:600px){.menu-categories-grid{grid-template-columns:1fr}}.modal-overlay{z-index:2000;opacity:0;visibility:hidden;background-color:#000000d9;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;visibility:visible}.modal-container{background-color:#f4efe6;border-radius:8px;width:90%;max-width:900px;transition:transform .3s;position:relative;overflow:hidden;transform:translateY(30px)}.modal-overlay.active .modal-container{transform:translateY(0)}.close-modal{color:#7e1c1c;cursor:pointer;z-index:10;background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:2.5rem;line-height:1;display:flex;position:absolute;top:15px;right:20px;box-shadow:0 4px 10px #0003}.modal-content{display:flex}.modal-image{flex:1}.modal-image img{object-fit:cover;width:100%;height:100%}.modal-info{flex-direction:column;flex:1;padding:50px;display:flex}.modal-item-title{font-family:var(--font-headings);color:#333;margin-top:0;margin-bottom:20px;font-size:2rem}.modal-item-desc{color:#555;margin-bottom:30px;font-size:1.1rem;line-height:1.6}.modal-ingredients{background-color:#fff;border-left:5px solid #7e1c1c;border-radius:4px;margin-bottom:40px;padding:24px}.modal-ingredients h4{letter-spacing:1px;color:#7e1c1c;margin-top:0;font-size:.9rem}.modal-ingredients p{margin-bottom:0;font-size:.95rem;line-height:1.5}.modal-footer-action{justify-content:space-between;align-items:center;margin-top:auto;display:flex}.modal-item-price{font-family:var(--font-body);color:#7e1c1c;font-size:1.8rem;font-weight:700}.btn-request{color:#fff;cursor:pointer;font-size:1rem;font-weight:700;font-family:var(--font-body);background-color:#7e1c1c;border:none;padding:16px 32px;transition:transform .2s}.btn-request:hover{transform:scale(1.05)}@media (max-width:900px){.modal-content{flex-direction:column}.modal-image{height:300px}.modal-info{padding:30px}.modal-item-title{font-size:1.5rem}}.admin-wrapper{color:#333;background-color:#f0f2f5;min-height:100vh}.admin-header{color:#fff;background-color:#7e1c1c;padding:20px 0}.admin-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}.admin-header-left{flex-direction:column;align-items:flex-start;display:flex}.admin-title{font-family:var(--font-headings);color:#fff;margin:0;font-size:1.5rem}.back-link{color:#f4efe6;margin-bottom:5px;font-size:.9rem;text-decoration:none;display:block}.btn-reset{color:#fff;cursor:pointer;font-size:.8rem;font-family:var(--font-body);background:0 0;border:1px solid #ffffff80;padding:8px 16px;transition:background .3s}.btn-reset:hover{background-color:#ffffff1a}.admin-main{max-width:1200px;margin:40px auto;padding:0 20px}.admin-tabs{gap:10px;margin-bottom:30px;display:flex}.tab-btn{cursor:pointer;font-weight:700;font-family:var(--font-body);background-color:#ddd;border:none;border-radius:4px;padding:12px 24px;transition:all .2s}.tab-btn.active{color:#fff;background-color:#7e1c1c}.admin-section{display:none}.admin-section.active{flex-direction:column;gap:30px;display:flex}.admin-card{background-color:#fff;border-radius:8px;padding:30px;box-shadow:0 4px 12px #0000000d}.admin-card h2{border-bottom:1px solid #eee;margin-top:0;margin-bottom:25px;padding-bottom:15px;font-size:1.2rem}.admin-form{flex-direction:column;gap:20px;display:flex}.form-row{gap:20px;display:flex}.form-group{flex-direction:column;flex:1;gap:8px;display:flex}.form-group label{font-size:.9rem;font-weight:700}.form-group input,.form-group select,.form-group textarea{font-size:1rem;font-family:var(--font-body);border:1px solid #ccc;border-radius:4px;padding:12px}.form-group textarea{resize:vertical}.btn-save{color:#fff;cursor:pointer;font-size:1rem;font-weight:700;font-family:var(--font-body);background-color:#7e1c1c;border:none;border-radius:4px;margin-top:10px;padding:15px;transition:background .3s}.btn-save:hover{background-color:#5a1414}.admin-table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #eee;padding:15px}.admin-preview{object-fit:cover;border-radius:4px;width:60px;height:40px}.btn-edit{color:#fff;cursor:pointer;font-family:var(--font-body);background-color:#f7941d;border:none;border-radius:4px;margin-right:5px;padding:6px 12px}.btn-delete{color:#fff;cursor:pointer;font-family:var(--font-body);background-color:#d9534f;border:none;border-radius:4px;padding:6px 12px}.toast-notification{color:#fff;z-index:5000;max-width:400px;font-weight:700;font-family:var(--font-body);background-color:#7e1c1c;border-radius:4px;align-items:center;gap:12px;padding:16px 24px;transition:transform .4s cubic-bezier(.68,-.55,.27,1.55);display:flex;position:fixed;top:20px;right:20px;transform:translate(120%);box-shadow:0 4px 15px #0000004d}.toast-notification.active{transform:translate(0)}.toast-success{background-color:#2d5a27;border-left:5px solid #f4efe6}.toast-error{background-color:#7e1c1c}.toast-info{background-color:#1a3a5c}.confirm-overlay{z-index:6000;opacity:0;visibility:hidden;background-color:#000c;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex;position:fixed;top:0;left:0}.confirm-overlay.active{opacity:1;visibility:visible}.confirm-modal-box{text-align:center;background-color:#f4efe6;border-radius:4px;width:90%;max-width:500px;padding:40px;transition:transform .3s;transform:scale(.9);box-shadow:0 10px 30px #00000080}.confirm-overlay.active .confirm-modal-box{transform:scale(1)}.confirm-title{font-family:var(--font-headings);color:#7e1c1c;margin-top:0;margin-bottom:20px;font-size:1.4rem}.confirm-desc{color:#333;margin-bottom:30px;font-size:1rem;line-height:1.5}.confirm-actions{justify-content:center;gap:15px;display:flex}.btn-confirm-cancel{color:#7e1c1c;cursor:pointer;font-weight:700;font-family:var(--font-body);background-color:#fff;border:1px solid #7e1c1c;border-radius:4px;padding:12px 24px}.btn-confirm-ok{color:#fff;cursor:pointer;font-weight:700;font-family:var(--font-body);background-color:#7e1c1c;border:none;border-radius:4px;padding:12px 24px}@media (max-width:900px){.header-container{position:relative}}.reservar{background-color:#fefcf8;background-image:linear-gradient(#ffffffb3,#ffffffb3),url(/hero_bg.png);background-size:cover;background-attachment:fixed;padding:100px 20px}.reservation-container{background-color:#f4efe6;border-radius:8px;max-width:1000px;margin:0 auto;display:flex;overflow:hidden;box-shadow:0 20px 40px #0000001a}.res-form-side{flex:1.5;padding:60px}.res-info-side{color:#f4efe6;background-color:#7e1c1c;flex-direction:column;flex:1;justify-content:center;padding:60px;display:flex}.res-info-side h2{font-family:var(--font-headings);margin-bottom:24px;font-size:2.2rem}.res-info-side p{opacity:.9;margin-bottom:30px;font-size:1rem}.reservation-form{flex-direction:column;gap:20px;display:flex}.res-grid-2{grid-template-columns:1fr 1fr;gap:20px;display:grid}.res-group{flex-direction:column;gap:8px;display:flex}.res-group label{text-transform:uppercase;letter-spacing:1px;color:#371d10;font-size:.75rem;font-weight:700}.res-group input,.res-group select,.res-group textarea{font-family:var(--font-body);background-color:#fff;border:1.5px solid #dbcdba;border-radius:4px;outline:none;padding:12px;font-size:.95rem;transition:border-color .3s}.res-group input:focus,.res-group select:focus,.res-group textarea:focus{border-color:#7e1c1c}.btn-reservar-submit{color:#fff;font-family:var(--font-body);text-transform:uppercase;letter-spacing:2px;cursor:pointer;background-color:#7e1c1c;border:none;border-radius:4px;margin-top:10px;padding:16px;font-size:1rem;font-weight:700;transition:background .3s}.btn-reservar-submit:hover{background-color:#5a1414}@media (max-width:900px){.reservation-container{flex-direction:column}.res-form-side,.res-info-side{padding:40px 20px}.res-grid-2{grid-template-columns:1fr}}.status-badge{text-transform:uppercase;border-radius:20px;padding:4px 12px;font-size:.7rem;font-weight:700}.status-pending{color:#856404;background-color:#fff3cd;border:1px solid #ffeeba}.status-confirmed{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.status-cancelled{color:#721c24;background-color:#f8d7da;border:1px solid #f5c6cb}
