:root{--primary:#0a7130;--secondary:#2f4634;--text-color:#2f4634;--background:#fff;--radius:14px;--max-width:1200px;--header-height:75px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--background);color:var(--text-color);font-family:Inter,sans-serif}a{color:inherit;cursor:pointer;text-decoration:none}section{max-width:var(--max-width);margin:0 auto;padding:0 20px}#scale-wrapper{justify-content:center;width:100%;display:flex}#app-root{transform-origin:top;width:118%;transform:scale(.85)}.header{z-index:100;width:100%;height:var(--header-height);background:#fff;border-bottom:1px solid #e6e6e6;align-items:center;display:flex;position:sticky;top:0}.header-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;width:100%;margin:auto;padding:0 24px;display:flex}.logo{color:var(--primary);font-family:Georgia,serif;font-size:28px;font-weight:700}.nav{align-items:center;gap:32px;display:flex}.nav a{color:var(--secondary);padding-bottom:4px;font-size:16px;font-weight:500;position:relative}.nav a:after{content:"";background-color:var(--primary);width:0%;height:2px;transition:width .3s,left .3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav a:hover{color:var(--primary)}.nav a:hover:after{width:100%;left:50%}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius);opacity:.85;border:none;padding:10px 22px;font-weight:600;transition:background .3s,transform .2s}.btn-primary:hover{background:#095f28;transform:translateY(-2px)}@media (width<=820px){.nav{display:none}}.reserve-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:3000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.reserve-modal{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-radius:18px;width:90%;max-width:450px;padding:30px;animation:.25s ease-out modalFade;position:relative;box-shadow:0 12px 30px #00000038,0 6px 14px #0000001f}@keyframes modalFade{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.reserve-close{cursor:pointer;background:0 0;border:none;font-size:24px;position:absolute;top:12px;right:16px}.reserve-title{color:var(--primary);text-align:center;margin-bottom:20px;font-size:26px;font-weight:700}.reserve-input,.reserve-textarea{background:#fffc;border:1px solid #ccc;border-radius:12px;width:100%;margin-bottom:15px;padding:14px;font-size:15px}.reserve-textarea{resize:none;height:110px}.date-input::-webkit-calendar-picker-indicator{filter:invert(35%)sepia(20%)saturate(300%)hue-rotate(100deg);cursor:pointer}.time-input::-webkit-calendar-picker-indicator{filter:invert(35%)sepia(20%)saturate(300%)hue-rotate(100deg);cursor:pointer}.reserve-send{background:var(--primary);color:#fff;cursor:pointer;opacity:.85;border:none;border-radius:12px;width:100%;padding:14px;font-weight:600;transition:all .25s}.reserve-send:hover{opacity:.75;background:#095f28;transform:translateY(-3px)}.hero-section{width:100%;max-width:var(--max-width);border-radius:var(--radius);margin:0 auto;position:relative;overflow:hidden}.hero-img img{border-radius:var(--radius);filter:drop-shadow(0 10px 25px #00000059);width:100%;height:auto;display:block}.hero-content{color:#fff;text-shadow:0 4px 12px #000000b3;text-align:center;max-width:70%;position:absolute;top:50%;left:50%;transform:translate(-50%)}.hero-title{margin-bottom:20px;font-size:36px;font-weight:700}.hero-subtitle{border-radius:var(--radius);background:#00000073;margin-bottom:20px;padding:10px 20px;font-size:18px;display:inline-block}.hero-menu-btn{background:var(--primary);color:#fff;cursor:pointer;text-align:center;opacity:.85;border:none;border-radius:14px;margin-top:20px;padding:14px 22px;font-size:17px;font-weight:600;transition:background .25s,transform .25s;display:inline-block;box-shadow:0 4px 15px #0000002e}.hero-menu-btn:hover{background:#0b8b3d;transform:translateY(-3px)}.menu-overlay{z-index:2000;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.menu-modal{background:#fff;border-radius:16px;width:90%;max-width:600px;max-height:85vh;padding:30px;position:relative;overflow-y:auto}.menu-close{cursor:pointer;background:0 0;border:0;font-size:24px;position:absolute;top:10px;right:15px}.menu-title{text-align:center;margin-bottom:20px;font-size:26px;font-weight:700}.menu-description{text-align:left;margin-bottom:20px;font-size:16px;line-height:1.6}.menu-images{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;display:grid}.menu-image-item img{object-fit:cover;border-radius:12px;width:100%;height:140px}.about-section{text-align:center;background:var(--background);width:100%;color:var(--text-color);padding:20px 10px}.about-grid{text-align:left;grid-template-columns:1fr 1fr;align-items:center;gap:35px;width:100%;max-width:1100px;margin:auto;display:grid}.about-img img{object-fit:cover;border-radius:16px;width:100%;transition:transform .35s,box-shadow .35s;box-shadow:0 10px 25px #00000026,0 4px 10px #00000014}.about-img img:hover{transform:scale(1.04);box-shadow:0 14px 32px #00000038,0 6px 14px #0000001f}.about-text{text-align:left}.about-text h3{color:var(--secondary);margin-bottom:20px;font-size:22px;font-weight:600}.about-text p{color:var(--text-color);margin-bottom:20px;font-size:16px;line-height:1.6}.about-section{background:var(--background);width:100%;color:var(--text-color);padding:20px 10px}.about-section h2{text-align:center;margin-bottom:20px;font-size:28px;font-weight:700}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:35px;width:100%;max-width:1100px;margin:auto;display:grid}.about-text h3{color:var(--secondary);text-align:center;margin-bottom:20px;font-size:22px;font-weight:600}.about-text p{color:var(--text-color);text-align:left;margin-bottom:20px;font-size:16px;line-height:1.6}.keen-slider{width:100%;padding-bottom:30px}.keen-slider__slide{justify-content:center;display:flex}.sabores-card{background:#fff;border-radius:14px;padding:12px;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 12px #0000001f}.sabores-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000002e}.sabores-section{text-align:center;width:100%;padding:20px}.sabores-title{color:var(--text-color);margin-bottom:20px;font-size:28px;font-weight:700}.sabores-carousel{scroll-snap-type:x mandatory;gap:18px;padding:12px;display:flex;overflow-x:auto}.sabores-carousel::-webkit-scrollbar{height:8px}.sabores-carousel::-webkit-scrollbar-thumb{background:var(--primary);border-radius:8px}.sabores-card{background:#fff;border-radius:14px;min-width:220px;padding:12px;transition:transform .3s,box-shadow .3s;box-shadow:0 8px 20px #0000001f,0 4px 10px #00000014}.gallery-item:hover:after,.sabores-card:hover:after{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:0 0 18px #0a713059}.sabores-img-container{border-radius:var(--radius);background:#f3f3f3;width:100%;height:220px;position:relative;overflow:hidden}.sabores-img-container img{object-fit:cover;object-position:center;border-radius:var(--radius);width:100%;height:100%;transition:transform .3s}.sabores-img-container:hover img{transform:scale(1.08)}.sabores-heart{background:#fff;border-radius:50%;padding:6px;position:absolute;bottom:10px;right:10px;box-shadow:0 2px 10px #0000002e}.sabores-name{color:#fff;border-radius:0 0 var(--radius) var(--radius);text-align:center;background:#0a7130a6;width:100%;margin-top:10px;padding:12px 0;font-size:17px;font-weight:600;display:block}.keen-slider:not([data-keen-slider-disabled]){-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y;-webkit-user-select:none;user-select:none;-khtml-user-select:none;align-content:flex-start;width:100%;display:flex;position:relative;overflow:hidden}.keen-slider:not([data-keen-slider-disabled]) .keen-slider__slide{width:100%;min-height:100%;position:relative;overflow:hidden}.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-reverse]{flex-direction:row-reverse}.keen-slider:not([data-keen-slider-disabled])[data-keen-slider-v]{flex-wrap:wrap}.gallery-grid{grid-template-columns:repeat(5,1fr);gap:16px;margin-top:20px;display:grid}.gallery-item{cursor:pointer;border-radius:16px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 6px 16px #00000026,0 2px 8px #00000014}.gallery-item:hover{transform:translateY(-6px);box-shadow:0 12px 28px #00000038,0 4px 14px #0000001f}.gallery-img-container{background:#f6f6f6;border-radius:16px;width:100%;height:260px;overflow:hidden}.gallery-img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .4s}.gallery-item:hover .gallery-img{transform:scale(1.08)}.gallery-like{opacity:0;background:#ffffffd9;border-radius:50%;padding:8px 10px;font-size:20px;transition:opacity .3s,transform .3s;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 12px #00000040}.gallery-item:hover .gallery-like{opacity:1;transform:scale(1.2)}.gallery-share{opacity:0;background:#ffffffd9;border-radius:50%;padding:8px 10px;font-size:18px;transition:opacity .3s,transform .3s;position:absolute;top:12px;right:12px;box-shadow:0 4px 12px #00000040}.gallery-item:hover .gallery-share{opacity:1;transform:scale(1.15)}.gallery-title{text-align:center;color:var(--secondary);margin-bottom:20px;font-size:28px;font-weight:700}.visit-section{text-align:center;width:100%;padding:50px 20px}.visit-title{color:var(--text-color);margin-bottom:20px;font-size:28px;font-weight:700}.visit-grid{grid-template-columns:1fr 1fr;align-items:start;gap:40px;max-width:1200px;margin:auto;display:grid}.visit-map{border:none;border-radius:14px;width:100%;height:300px;box-shadow:0 4px 16px #0000001f}.visit-info{text-align:left;color:var(--text-color)}.visit-subtitle{color:var(--secondary);margin-bottom:20px;font-size:22px;font-weight:600}.visit-info p{margin-bottom:20px;font-size:16px}.visit-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:15px;padding:15px 20px;font-weight:600;transition:transform .3s,background .3s}.visit-btn:hover{background:#095f28;transform:translateY(-3px)}@media (width<=768px){.visit-grid{grid-template-columns:1fr}}.footer{text-align:center;background:var(--background);width:100%;color:var(--text-color);border-top:1px solid #eee;padding:20px 0;font-size:16px}
