:root{--color-primary: #E07A5F;--color-secondary: #F2CC8F;--color-bg: #F4F1DE;--color-text: #3D405B;--color-accent: #81B29A;--font-main: "Plus Jakarta Sans", sans-serif;--font-heading: "Fraunces", serif;--transition: all .3s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;overflow-x:hidden}h1,h2,h3{font-family:var(--font-heading);font-weight:900;line-height:1.1;color:var(--color-text)}h1{font-size:4.5rem}h2{font-size:3.2rem}h3{font-size:2rem}@media (max-width: 768px){h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}}.container{max-width:1200px;margin:0 auto;padding:0 2rem}header{height:80px;background-color:#f4f1dee6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:1000;border-bottom:1px solid rgba(61,64,91,.1);display:flex;align-items:center}.nav-wrap{display:flex;justify-content:space-between;align-items:center;width:100%}.logo{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-primary);text-decoration:none;font-weight:700}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{text-decoration:none;color:var(--color-text);font-weight:500;transition:var(--transition);font-size:1rem}.nav-links a:hover{color:var(--color-primary)}.hamburger-btn{display:none;background:none;border:none;font-size:2rem;color:var(--color-primary);cursor:pointer}.nav-links-mobile{display:none}@media (max-width: 768px){.nav-links{display:none}.hamburger-btn{display:block;z-index:2001}.nav-links-mobile{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#fff;z-index:2000;padding-top:120px;gap:2.5rem;transform:translate(100%);transition:transform .4s ease-in-out}.nav-links-mobile.active{transform:translate(0)}.nav-links-mobile a{font-size:1.8rem;color:var(--color-primary);text-decoration:none;font-weight:700;font-family:var(--font-heading)}}.lang-switch{background-color:transparent;border:1px solid var(--color-primary);color:var(--color-primary);padding:.4rem .8rem;border-radius:20px;cursor:pointer;font-family:var(--font-main);font-weight:600;transition:var(--transition)}.lang-switch:hover{background-color:var(--color-primary);color:#fff}.hero{height:100vh;background-image:var(--hero-url);background-size:cover;background-position:center top;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;padding:0 1rem;position:relative;transition:background-image .3s ease-in-out}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.7));z-index:1}.hero-content{position:relative;z-index:2;max-width:900px;padding:0 1rem}.hero-content h1{font-size:4.2rem;margin-bottom:1.5rem;line-height:1.1;font-weight:900;text-shadow:0 4px 15px rgba(0,0,0,.3);color:#fff}.hero-content p{font-size:1.5rem;margin-bottom:2.5rem;max-width:700px;margin-left:auto;margin-right:auto;color:#fffffff2;text-shadow:0 2px 8px rgba(0,0,0,.2)}.btn-primary{display:inline-block;background-color:var(--color-primary);color:#fff;padding:1rem 2.5rem;border-radius:50px;text-decoration:none;font-weight:700;transition:var(--transition);border:none;cursor:pointer;box-shadow:var(--shadow-md);font-size:1.1rem}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);background-color:#c96a50;color:#fff}@media (max-width: 768px){.hero{height:100vw;background-image:var(--hero-mobile-url);background-position:center center}.hero-content h1{font-size:2.2rem;margin-bottom:1rem}.hero-content p{font-size:1.1rem;margin-bottom:1.5rem}.btn-primary{padding:.8rem 1.8rem;font-size:1rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn 1s ease-out forwards}.section-padding{padding-top:5rem;padding-bottom:5rem}.text-primary{color:var(--color-primary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#3d405bd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;cursor:zoom-out;padding:2rem;animation:fadeIn .3s ease-out}.modal-content{max-width:90%;max-height:90vh;position:relative;animation:scaleUp .3s cubic-bezier(.175,.885,.32,1.275)}.modal-content img{width:100%;height:auto;max-height:85vh;border-radius:20px;box-shadow:0 25px 50px -12px #00000080;display:block}.modal-close{position:absolute;top:-40px;right:-40px;background:white;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:var(--color-text);transition:var(--transition)}.modal-close:hover{transform:scale(1.1) rotate(90deg);background-color:var(--color-primary);color:#fff}@keyframes scaleUp{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.modal-close{top:10px;right:10px}}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.info-card{background:white;padding:3rem 2rem;border-radius:30px;box-shadow:var(--shadow-md);text-align:center;transition:var(--transition)}.info-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.info-card h3{color:var(--color-primary);margin-bottom:1rem;font-size:1.5rem;line-height:1.2;min-height:3.6rem;display:flex;align-items:center;justify-content:center}.info-icon{font-size:3rem;margin-bottom:1.5rem;display:block}.faq-container{max-width:800px;margin:3rem auto 0}.faq-item{background:white;margin-bottom:1rem;border-radius:15px;overflow:hidden;box-shadow:var(--shadow-sm)}.faq-question{width:100%;padding:1.5rem 2rem;background:none;border:none;text-align:left;font-size:1.2rem;font-weight:600;color:var(--color-text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:var(--transition)}.faq-question:hover{background-color:#e07a5f0d}.faq-answer{padding:0 2rem 1.5rem;color:#666;line-height:1.8;display:none}.faq-item.active .faq-answer{display:block}.faq-item.active .faq-question{color:var(--color-primary)}.day-cell{aspect-ratio:1 / 1;height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:15px;border:1px solid rgba(61,64,91,.05);position:relative;transition:var(--transition);cursor:pointer;font-weight:600;gap:4px}.day-cell:hover:not(.day-empty){transform:scale(1.05);box-shadow:var(--shadow-sm);border-color:var(--color-primary);z-index:2}.day-empty,.day-past{cursor:default;border:none}.day-past{background-color:#f5f5f5;color:#ccc;opacity:.6}.day-past:hover{transform:none!important;box-shadow:none!important;border-color:#eee!important}.day-available{background-color:#fff;color:var(--color-text)}.day-pending{background-color:#fefae0;color:#b08d57;border-color:#e9edc9}.admin-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .3s ease-out}.admin-modal-content{background-color:#fff;padding:3rem;border-radius:30px;width:90%;max-width:400px;box-shadow:0 20px 50px #0000004d;text-align:center}@media (max-width: 600px){.admin-modal-content{padding:2rem 1.5rem}}.day-booked{background-color:#e07a5f1a;color:var(--color-primary);border-color:#e07a5f33}.day-selected{outline:3px solid var(--color-primary);outline-offset:-3px;background-color:#e07a5f0d}.status-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;opacity:.8;line-height:1}@media (max-width: 600px){.status-label{font-size:.5rem}.day-cell{border-radius:10px;font-size:.9rem}}.admin-mode-indicator{padding:4px 12px;background-color:var(--color-primary);color:#fff;border-radius:20px;font-size:.8rem;font-weight:700;animation:pulse 2s infinite}@media (max-width: 600px){.calendar-legend{flex-direction:column;align-items:flex-start!important;gap:1rem!important;padding-left:1rem}.calendar-container{padding:1.5rem 1rem!important;border-radius:20px!important}.booking-form{padding:1.5rem 1rem!important}}@keyframes pulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}.admin-toggle{background:none;border:none;opacity:.3;cursor:pointer;font-size:1.2rem;padding:10px;transition:var(--transition)}.admin-toggle:hover,.admin-toggle.active{opacity:1;color:var(--color-primary);transform:scale(1.2)}.booking-controls{margin-top:2rem;text-align:center;animation:fadeIn .5s ease-out}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.gallery-item{border-radius:15px;overflow:hidden;box-shadow:var(--shadow-md);height:400px;cursor:zoom-in;transition:var(--transition)}.gallery-item:hover{transform:scale(1.02)}.gallery-delete-btn{position:absolute;top:10px;right:10px;background:rgba(224,122,95,.9);color:#fff;border:none;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 4px 10px #0003;transition:transform .2s;z-index:10}.gallery-delete-btn:hover{transform:scale(1.1);background:#e07a5f}.day-booked,.day-pending{cursor:not-allowed!important}.day-booked:hover,.day-pending:hover{transform:none!important;box-shadow:none!important}.booking-form{margin-top:3rem;padding:3rem;background-color:#fcfcfc;border-radius:20px;border:1px solid #eee;text-align:left;animation:fadeIn .4s ease-out}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-weight:600;font-size:.9rem;color:var(--color-text)}.input-group label span{color:var(--color-primary)}.input-group input,.input-group textarea{padding:.8rem 1rem;border:1px solid #ddd;border-radius:10px;font-family:var(--font-main);font-size:1rem;transition:var(--transition)}.input-group input:focus,.input-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #e07a5f1a}.form-full-width{grid-column:1 / -1}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}}.contact-info-card{background-color:#f9f7f0;padding:2.5rem;border-radius:30px;border:1px solid rgba(0,0,0,.05)}.contact-info-card p{font-size:1.1rem;color:var(--color-text);display:flex;align-items:center;gap:10px}.contact-form-container{background-color:#fff;padding:3rem;border-radius:40px;box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,.05)}.contact-page-form{display:flex;flex-direction:column;gap:1.5rem}.form-group-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 600px){.form-group-row{grid-template-columns:1fr}.contact-form-container{padding:2rem 1.5rem}}.testimonials-section{background-color:#fff;padding:8rem 0}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;margin-top:4rem}.testimonial-card{background-color:#f9f7f0;padding:3rem 2rem;border-radius:40px;position:relative;transition:var(--transition);text-align:center}.testimonial-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg)}.testimonial-photo{width:80px;height:80px;border-radius:50%;object-fit:cover;margin:0 auto 1.5rem;border:3px solid var(--color-primary)}.testimonial-quote{font-size:1.1rem;font-style:italic;margin-bottom:2rem;line-height:1.8;color:var(--color-text)}.testimonial-author{font-family:var(--font-heading);font-weight:700;font-size:1.2rem;color:var(--color-primary)}.testimonial-stars{color:#f2cc8f;font-size:1.2rem;margin-bottom:1rem}@media (max-width: 768px){.testimonials-section{padding:5rem 0}}.footer{background-color:var(--color-text);color:#fff;padding:6rem 0 2rem;font-family:var(--font-main)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:4rem;margin-bottom:4rem}.footer-brand{display:flex;flex-direction:column;gap:1.5rem}.footer-logo{height:60px;width:auto;align-self:flex-start;filter:brightness(0) invert(1);cursor:pointer;transition:var(--transition)}.footer-logo:hover{transform:scale(1.05)}.footer-tagline{opacity:.7;font-size:1rem;line-height:1.6;max-width:300px}.footer-column h4{color:#fff;font-family:var(--font-heading);font-size:1.4rem;margin-bottom:2rem;position:relative;padding-bottom:.5rem}.footer-column h4:after{content:"";position:absolute;bottom:0;left:0;width:30px;height:2px;background-color:var(--color-primary)}.footer-nav{display:flex;flex-direction:column;gap:1rem}.footer-nav a{color:#fff;text-decoration:none;opacity:.7;transition:var(--transition);font-size:1rem}.footer-nav a:hover{opacity:1;color:var(--color-primary);transform:translate(5px)}.social-links{display:flex;gap:1.2rem;margin-bottom:1.5rem}.social-icon{width:45px;height:45px;background-color:#ffffff0d;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;transition:var(--transition);border:1px solid rgba(255,255,255,.1)}.social-icon:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-5px);box-shadow:0 5px 15px #e07a5f4d}.footer-contact-info{opacity:.7;font-size:.95rem;display:flex;flex-direction:column;gap:.5rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;display:flex;justify-content:space-between;align-items:center;font-size:.9rem;opacity:.6}@media (max-width: 992px){.footer-grid{grid-template-columns:1.5fr 1fr;gap:3rem}}@media (max-width: 600px){.footer-grid{grid-template-columns:1fr;gap:2.5rem;text-align:center}.footer-brand,.footer-column{align-items:center}.footer-logo{align-self:center}.footer-column h4:after{left:50%;transform:translate(-50%)}.social-links{justify-content:center}.footer-bottom{flex-direction:column;gap:1rem;text-align:center}}
