@tailwind base;@tailwind components;@tailwind utilities;:root{--charcoal: #1a1a1a;--black: #000000;--white: #ffffff;--grey-light: #f5f5f5;--grey-medium: #d1d5db;--grey-dark: #6b7280;--brown-light: #d4a574;--brown-medium: #a0522d;--brown-dark: #654321}@layer base{html{scroll-behavior:smooth}body{font-family:Inter,sans-serif;color:var(--grey-light);background-color:var(--charcoal)}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;color:var(--white)}}@layer components{.brick-texture{background-image:linear-gradient(45deg,var(--brick) 25%,transparent 25%),linear-gradient(-45deg,var(--brick) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--brick) 75%),linear-gradient(-45deg,transparent 75%,var(--brick) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;opacity:.1}.rope-separator{position:relative}.rope-separator:before{content:"";position:absolute;top:50%;left:0;right:0;height:2px;background:repeating-linear-gradient(90deg,var(--charcoal),var(--charcoal) 4px,transparent 4px,transparent 8px);transform:translateY(-50%)}.menu-item{background-color:var(--grey-medium);border:2px solid var(--grey-dark);border-radius:8px;padding:1rem;margin-bottom:.5rem;box-shadow:0 2px 4px #0000004d;transition:all .3s ease}.menu-item:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0006;background-color:var(--grey-light)}.menu-item-name{font-weight:500;color:var(--charcoal)}.menu-item-price{font-weight:600;color:var(--brown-medium)}.dotted-leader{flex:1;border-bottom:1px dotted var(--grey-dark);margin:0 .5rem}.nav-link.active{color:var(--brown-medium)!important;font-weight:600}.menu-filter.active{background-color:var(--brown-medium)!important;color:var(--white)!important}.gallery-item{overflow:hidden}.gallery-item img{transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toast{animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.btn-primary{background-color:var(--brown-medium);color:var(--white);padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;transition:all .2s ease;box-shadow:0 1px 3px #0003}.btn-primary:hover{background-color:var(--brown-dark);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.btn-secondary{background-color:var(--brown-light);color:var(--charcoal);padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;transition:all .2s ease;box-shadow:0 1px 3px #0003}.btn-secondary:hover{background-color:var(--brown-medium);color:var(--white);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.btn-outline{background-color:transparent;color:var(--charcoal);border:2px solid var(--grey-dark);padding:.75rem 1.5rem;border-radius:.375rem;font-weight:500;transition:all .2s ease}.btn-outline:hover{background-color:var(--charcoal);color:var(--white);border-color:var(--charcoal);transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}}@layer utilities{.text-shadow-sm{text-shadow:0 1px 2px rgba(0,0,0,.1)}.text-shadow{text-shadow:0 2px 4px rgba(0,0,0,.2)}.section-padding{padding:4rem 0}@media (min-width: 768px){.section-padding{padding:6rem 0}}.container-custom{max-width:1100px;margin:0 auto;padding:0 1rem}@media (min-width: 640px){.container-custom{padding:0 1.5rem}}.grid-custom{display:grid;gap:1.5rem}@media (min-width: 768px){.grid-custom{grid-template-columns:repeat(2,1fr);gap:2rem}}@media (min-width: 1024px){.grid-custom{grid-template-columns:repeat(3,1fr)}}}@media (max-width: 768px){.mobile-menu{display:none}.mobile-menu.show{display:block}.menu-item{padding:.75rem}.menu-item-name,.menu-item-price{font-size:.9rem}}@media print{.no-print{display:none!important}body{background:#fff!important;color:#000!important}}@media (prefers-color-scheme: dark){:root{--charcoal: #1a1a1a;--cream: #f8f8f8}}.menu-filter:focus,.nav-link:focus,.btn-primary:focus,.btn-secondary:focus,.btn-outline:focus{outline:2px solid var(--gold);outline-offset:2px}.loading{opacity:.6;pointer-events:none}.fade-in{animation:fadeIn .5s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:slideDownFadeIn .3s ease-out}@keyframes slideDownFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.95);max-height:0}to{opacity:1;transform:translateY(0) scale(1);max-height:200px}}.menu-item{transition:all .2s ease}.menu-item:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}
