.footer{background:var(--primary-color);color:var(--text-light);padding:var(--space-12) 0 var(--space-4)}.footer .footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-8);margin-bottom:var(--space-8)}.footer .footer-content .footer-section h3{margin-bottom:var(--space-4);color:var(--accent-color)}.footer .footer-content .footer-section p{margin-bottom:var(--space-2)}.footer .footer-content .footer-section .social-links{display:flex;gap:var(--space-4)}.footer .footer-content .footer-section .social-links a{color:var(--text-light);text-decoration:none;transition:color .3s ease}.footer .footer-content .footer-section .social-links a:hover{color:var(--accent-color)}.footer .footer-content .footer-section .social-links svg{height:var(--space-12);width:var(--space-12);transition:all .1s ease-out}.footer .footer-content .footer-section .social-links svg:hover{transform:scale(1.2)}.footer .footer-content .footer-section .social-links svg path{stroke:none;fill:var(--text-light)}.footer .footer-bottom{text-align:center;padding-top:var(--space-4);border-top:1px solid rgba(255,255,255,.1)}.section{padding:var(--space-20) 0}.section.dark{background:var(--light-bg)}.section .section-title{text-align:center;font-size:2.5rem;margin-bottom:var(--space-12);color:var(--primary-color);position:relative;display:inline-block;left:50%;transform:translate(-50%)}.section .section-title:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:80px;height:4px;background:var(--accent-color);border-radius:var(--radius-half)}@media(max-width:480px){.section-title{font-size:var(--font-size-4xl)}}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--accent-color) 100%);overflow:hidden;padding-top:10rem}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 25%,rgba(255,255,255,.05) 12vmin,transparent 12.1vmin),radial-gradient(circle at 75% 50%,rgba(255,255,255,.05) 18vmin,transparent 18.1vmin),radial-gradient(circle at 85% 85%,rgba(255,255,255,.05) 9vmin,transparent 9.1vmin);background-repeat:no-repeat;animation:float 20s ease-in-out infinite}.hero .hero-content{position:relative;z-index:2;text-align:center;color:var(--text-light);animation:fadeInUp 1s ease;height:100%;max-height:calc(100vh - 10rem);display:flex;flex-direction:column;align-items:center;justify-content:center}.hero .hero-image{max-height:245px;flex-shrink:1;min-height:0;width:auto;object-fit:contain}.hero .hero-title{font-size:var(--font-size-5xl);font-weight:700;margin-bottom:var(--space-4);letter-spacing:5px;text-shadow:2px 2px 20px rgba(0,0,0,.3)}.hero .hero-subtitle{font-size:var(--font-size-4xl);margin-bottom:var(--space-4);font-weight:300}.hero .hero-description{font-size:var(--font-size-xl);margin-bottom:var(--space-8);opacity:.9}.hero .cta-button{display:inline-block;padding:var(--space-4) var(--space-12);background:var(--text-light);color:var(--primary-color);text-decoration:none;border-radius:var(--radius-half);font-weight:700;font-size:var(--font-size-lg);transition:all .3s ease;box-shadow:var(--shadow);width:max-content}.hero .cta-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);background:var(--accent-color);color:var(--text-light)}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.hero .hero-title{font-size:var(--font-size-4xl)}.hero .hero-subtitle{font-size:var(--font-size-2xl)}.hero .hero-description{font-size:var(--font-size-base)}}@media(max-width:480px){.hero .hero-title{font-size:var(--font-size-4xl)}.hero-subtitle{font-size:var(--font-size-base)}.hero-description{display:none}}.calendar-container{max-width:800px;margin:0 auto}.schedule-list{background:var(--card-bg, #ffffff);border-radius:var(--radius-lg, 8px);box-shadow:var(--shadow, 0 4px 12px rgba(0, 0, 0, .05));overflow:hidden;margin-bottom:var(--space-4);border:1px solid rgba(0,0,0,.05)}.schedule-header{display:flex;background:#00000008;padding:1rem 1.5rem;font-weight:700;color:var(--text-dark, #333);border-bottom:2px solid rgba(0,0,0,.05)}.schedule-header .day-col,.schedule-header .hours-col{flex:1}.schedule-item{display:flex;flex-direction:column;border-bottom:1px solid rgba(0,0,0,.05);transition:background-color .2s ease}.schedule-item:last-child{border-bottom:none}.schedule-item:hover{background-color:#00000004}.schedule-item.is-today{background-color:#00000005;position:relative}.schedule-item.is-today:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--accent-color)}.schedule-main{display:flex;padding:1.25rem 1.5rem;align-items:center}.day-col{flex:1;display:flex;flex-direction:column}.day-col .day-name{font-size:var(--font-size-lg, 1.1rem);font-weight:700;color:var(--primary-color, #222);text-transform:capitalize}.day-col .day-date{font-size:var(--font-size-sm, .9rem);color:#666}.hours-col{flex:1;display:flex;flex-direction:column;gap:.25rem}.hours-col .time-slot{font-size:var(--font-size-base, 1rem);color:var(--text-dark, #333);font-weight:500}.hours-col .badge-closed{display:inline-block;align-self:flex-start;color:#d90e0e;background:#d90e0e1a;padding:4px 10px;border-radius:var(--radius-sm, 4px);font-weight:600;font-size:var(--font-size-sm, .85rem)}.toggle-week-button{margin:0 auto var(--space-8) auto;display:block;background:var(--card-bg);color:var(--text-dark);border:none;padding:.5rem 1.6rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:background-color .2s ease;box-shadow:var(--shadow)}.toggle-week-button:hover{background-color:var(--accent-color);color:#fff}.schedule-events{padding:0 1.5rem 1.25rem}.event-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.event-item{display:flex;flex-direction:column;gap:.5rem;background:#00000008;padding:.75rem 1rem;border-radius:var(--radius-sm, 6px);border-left:4px solid var(--event-color, #ccc)}.event-item .event-header{display:flex;align-items:center;gap:.75rem}.event-item .event-time{font-weight:600;color:var(--text-dark, #333);white-space:nowrap;font-size:var(--font-size-sm, .9rem)}.event-item .event-title{color:var(--text-dark, #333);font-weight:600;line-height:1.4}.event-item .event-desc{margin:0;font-size:.85rem;color:#555;line-height:1.5}.hours-note{text-align:center;font-style:italic;opacity:.7;font-size:var(--font-size-sm, .85rem);margin-top:var(--space-4, 1rem)}@media(max-width:600px){.schedule-header{display:none}.schedule-main{align-items:flex-start;gap:.5rem;padding:1rem 1.25rem}.day-col{flex-direction:row;align-items:baseline;gap:.5rem}.hours-col .time-slot{text-align:end}.hours-col .badge-closed{align-self:flex-end}.schedule-events{padding:0 1.25rem 1rem}.event-item{padding:.75rem;gap:.25rem}.event-item .event-header{align-items:flex-start;flex-direction:column;gap:.25rem}.event-item .event-time{font-size:.8rem;opacity:.8}.event-item .event-desc{margin-top:.25rem}}.location-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}.location-content .location-info h3{color:var(--primary-color);font-size:1.8rem;margin-bottom:var(--space-4)}.location-content .location-info p{font-size:var(--font-size-lg);line-height:1.8;margin-bottom:var(--space-8)}.location-content .location-info .location-details{display:flex;flex-direction:column;gap:var(--space-4)}.location-content .location-info .location-details .detail-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--light-bg);border-radius:var(--radius-md);border-left:4px solid var(--accent-color)}.location-content .location-info .location-details .detail-item .icon{font-size:var(--font-size-3xl)}.location-content .map-container{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);height:400px}@media(max-width:768px){.location-content{grid-template-columns:1fr}.map-container{height:300px}}.menu-tabs{display:flex;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-8);flex-wrap:wrap}.menu-tabs .tab-button{padding:var(--space-3) var(--space-6);border:1px solid var(--primary-color);background:transparent;color:var(--primary-color);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:700;cursor:pointer;transition:all .2s ease-in-out}.menu-tabs .tab-button:hover{background:#4f0e0e1a}.menu-tabs .tab-button.active{background:var(--accent-color);border-color:var(--accent-color);color:var(--text-light);box-shadow:var(--shadow);transform:scale(1.05)}.menu-content{max-width:800px;margin:0 auto;background:var(--card-bg, #ffffff);padding:var(--space-6) var(--space-8);border-radius:var(--radius-lg);box-shadow:var(--shadow, 0 4px 12px rgba(0, 0, 0, .05));border:1px solid rgba(0,0,0,.05)}.menu-content .menu-item{animation:fadeIn .4s ease;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0;border-bottom:1px dashed rgba(0,0,0,.15);gap:var(--space-4);transition:background-color .2s ease}.menu-content .menu-item:last-child{border-bottom:none;padding-bottom:0}.menu-content .menu-item:first-child{padding-top:0}.menu-content .menu-item .item-info{flex:1}.menu-content .menu-item .item-info h4{color:var(--primary-color);font-size:var(--font-size-lg, 1.1rem);font-weight:700;margin-bottom:2px;line-height:1.3}.menu-content .menu-item .item-info p{color:var(--text-dark);opacity:.7;font-size:var(--font-size-sm, .9rem);margin:0}.menu-content .menu-item .item-price{font-size:var(--font-size-xl, 1.25rem);font-weight:800;color:var(--text-dark, #333);white-space:nowrap}.menu-content>div:not(.menu-item){grid-column:1/-1;text-align:center;font-style:italic;opacity:.7;padding:var(--space-4)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.menu-tabs{gap:var(--space-2)}.menu-tabs .tab-button{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.menu-content{padding:var(--space-4);border-radius:var(--radius-md)}.menu-content .menu-item{align-items:flex-start;padding:var(--space-3) 0}.menu-content .menu-item .item-info h4{font-size:var(--font-size-base, 1rem)}.menu-content .menu-item .item-info p{font-size:.85rem}.menu-content .menu-item .item-price{font-size:var(--font-size-lg, 1.1rem);margin-top:2px}}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-8);max-width:1000px;margin:0 auto}.services-grid .service-card{background:var(--card-bg, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow, 0 4px 12px rgba(0, 0, 0, .05));transition:transform .3s ease,box-shadow .3s ease;overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.05)}.services-grid .service-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-hover, 0 12px 24px rgba(0, 0, 0, .1))}.services-grid .service-card:hover .service-image{transform:scale(1.05)}.services-grid .service-card:hover .accent-line{width:40px;background-color:var(--accent-color)}.services-grid .service-card .service-image-container{width:100%;height:180px;overflow:hidden;position:relative;background-color:#0000000d}.services-grid .service-card .service-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;display:block}.services-grid .service-card .service-content{padding:var(--space-6);display:flex;flex-direction:column;align-items:center;text-align:center;flex-grow:1}.services-grid .service-card h3{color:var(--primary-color, #222);font-size:var(--font-size-2xl, 1.5rem);margin-bottom:var(--space-3, .75rem);font-weight:700}.services-grid .service-card .accent-line{height:3px;width:20px;background-color:#0000001a;border-radius:2px;margin-bottom:var(--space-4, 1rem);transition:width .3s ease,background-color .3s ease}.services-grid .service-card p{color:#666;line-height:1.6;margin:0;font-size:var(--font-size-base, 1rem)}@media(max-width:768px){.services-grid{grid-template-columns:1fr;max-width:400px}.service-card .service-image-container{height:160px}.service-card .service-content{padding:var(--space-5)}}.mail{margin:.8rem 0;display:flex;gap:.5rem;align-items:center;font-size:larger}.mail .contact{font-weight:700}@media(max-width:768px){.mail{font-size:large}}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-color: #4f0e0e;--accent-color: #d90e0e;--dark-bg: #1a1a1a;--light-bg: #f5f5f5;--text-light: #ffffff;--text-dark: #333333;--card-bg: #ffffff;--shadow: 0 4px 6px rgba(0, 0, 0, .1);--shadow-hover: 0 8px 15px rgba(0, 0, 0, .2);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--font-size-sm: .9rem;--font-size-base: 1rem;--font-size-lg: 1.1rem;--font-size-xl: 1.2rem;--font-size-2xl: 1.3rem;--font-size-3xl: 1.5rem;--font-size-4xl: 2rem;--font-size-5xl: 5rem;--radius-sm: .4rem;--radius-md: .6rem;--radius-lg: .8rem;--radius-half: 50rem}*{margin:0;padding:0;box-sizing:border-box}*::selection{background:var(--accent-color);color:var(--text-light)}html{scroll-behavior:smooth}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-dark);overflow-x:hidden;display:flex;flex-direction:column;min-height:100svh}main{flex:1}main:has(.main-center){display:flex;justify-content:center;align-items:center}img{-webkit-user-select:none;user-select:none}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-6)}.loading-error{text-align:center}.loading-error .retry-button{display:inline-block;margin-top:var(--space-4);padding:var(--space-2) var(--space-6);background:var(--accent-color);color:var(--text-light);text-decoration:none;border-radius:var(--radius-half);font-weight:700;font-size:var(--font-size-sm);transition:all .3s ease;box-shadow:var(--shadow);width:max-content;border:none}.loading-error .retry-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover);background:var(--primary-color);cursor:pointer}#ErrorMessage{height:100svh}
