:root{--bg: #faf7f2;--bg-card: #ffffff;--bg-warm: #f3ede3;--bg-hero: #f0ebe1;--text: #3a3228;--text-soft: #6b5e50;--text-muted: #9a8e7f;--accent: #8b6b3d;--accent-light: #c9a96e;--accent-hover: #755a32;--moss: #5a7a4a;--moss-light: #e5f0df;--border: #e2d9cc;--border-light: #ede6da;--danger: #b85450;--danger-bg: #fdf0ef;--cal-avail-bg: #e8f3e3;--cal-avail-border: #b8d4a8;--cal-avail-text: #4a7a3a;--cal-booked-bg: #f5e6d3;--cal-booked-border: #d4b896;--cal-booked-text: #7a5a35;--cal-change-bg: #fef5e0;--cal-change-border: #e8cf8a;--cal-change-text: #8a7030;--font-display: "Playfair Display", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif;--radius: 8px;--radius-lg: 14px;--radius-xl: 20px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}img{max-width:100%;height:auto}.nav{position:sticky;top:0;z-index:100;background:#faf7f2f2;backdrop-filter:blur(16px);border-bottom:1px solid var(--border-light);transition:background .3s}.nav-inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 1.5rem}.nav-logo{font-family:var(--font-display);font-size:1.15rem;font-weight:600;color:var(--text)}.nav-links{list-style:none;display:flex;gap:1.5rem;align-items:center}.nav-links a{font-size:.85rem;font-weight:500;color:var(--text-soft);letter-spacing:.5px;transition:color .2s}.nav-links a:hover{color:var(--accent)}.lang-switches{display:flex;gap:6px}.lang-switch{padding:3px 10px;border:1px solid var(--border);border-radius:100px;font-size:.75rem!important;letter-spacing:1px!important}.nav-toggle-input{display:none}.nav-toggle{display:none;cursor:pointer;flex-direction:column;gap:5px}.nav-toggle span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:.3s}@media(max-width:768px){.nav-toggle{display:flex}.nav-links{position:fixed;top:60px;left:0;right:0;background:var(--bg);flex-direction:column;padding:1.5rem;gap:1rem;border-bottom:1px solid var(--border-light);transform:translateY(-120%);transition:transform .3s;z-index:99}.nav-toggle-input:checked~.nav-links{transform:translateY(0)}}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 2rem 120px;position:relative;background-size:cover;background-position:center 85%;background-repeat:no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,25,18,.65) 0%,rgba(30,25,18,.4) 40%,rgba(30,25,18,.15) 65%,transparent 75%,rgba(250,247,242,.5) 93%,rgba(250,247,242,1) 100%)}.hero-content{position:relative;z-index:1}.hero-label{font-size:.65rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--accent-light);margin-bottom:1.2rem;text-shadow:0 1px 8px rgba(0,0,0,.3)}.hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,7vw,4.2rem);font-weight:700;color:#fff;margin-bottom:.3rem;text-shadow:0 2px 20px rgba(0,0,0,.3)}.hero-sub{font-family:var(--font-display);font-style:italic;font-size:clamp(1rem,2.5vw,1.3rem);color:#ffffffe0;margin-bottom:1.2rem;text-shadow:0 1px 10px rgba(0,0,0,.3)}.hero-desc{max-width:520px;color:#ffffffd1;font-size:1rem;line-height:1.9;text-shadow:0 1px 8px rgba(0,0,0,.2)}.hero-scroll{margin-top:2.5rem;position:relative;z-index:1}.hero-scroll a{display:inline-flex;flex-direction:column;align-items:center;gap:6px;color:#ffffffb3;font-size:.75rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;transition:color .2s}.hero-scroll a:hover{color:#fff}.hero-scroll svg{animation:float 2.5s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.section{max-width:860px;margin:0 auto;padding:4rem 2rem}.section-label{font-size:.65rem;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}.section-title{font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.2rem);margin-bottom:.8rem;color:var(--text)}.section-divider{width:40px;height:2px;background:var(--accent-light);margin-bottom:2.5rem;border-radius:1px}.cabin-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:2.5rem;margin-bottom:2rem;box-shadow:0 2px 20px #00000008}.cabin-number{font-family:var(--font-display);font-size:.7rem;color:var(--accent-light);letter-spacing:4px;margin-bottom:.3rem}.cabin-name{font-family:var(--font-display);font-size:clamp(1.3rem,3vw,1.7rem);margin-bottom:.2rem;color:var(--text)}.cabin-tagline{font-family:var(--font-display);font-style:italic;color:var(--text-muted);margin-bottom:1rem;font-size:.95rem}.cabin-desc{color:var(--text-soft);font-size:.95rem;line-height:1.9;margin:1.2rem 0;max-width:620px}.cabin-specs{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:1.5rem 0}.cabin-spec{padding:12px 14px;background:var(--bg-warm);border-radius:var(--radius);border:1px solid var(--border-light)}.cabin-spec-label{font-size:.65rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px}.cabin-spec-value{font-family:var(--font-display);font-size:.95rem;color:var(--text)}.calendar-container{background:var(--bg-warm);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem;margin-top:1rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-month{font-family:var(--font-display);font-size:1rem;color:var(--text)}.calendar-nav{background:var(--bg-card);border:1px solid var(--border);color:var(--accent);border-radius:6px;width:32px;height:32px;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.calendar-nav:hover{background:var(--border-light)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-dayname{text-align:center;font-size:.6rem;font-weight:600;color:var(--text-muted);padding:4px 0;letter-spacing:1px;text-transform:uppercase}.calendar-day{text-align:center;padding:6px 3px;border-radius:5px;font-size:.8rem;transition:transform .1s}.calendar-day:not(.calendar-day--empty):hover{transform:scale(1.08)}.calendar-day--available{background:var(--cal-avail-bg);border:1px solid var(--cal-avail-border);color:var(--cal-avail-text)}.calendar-day--booked{background:var(--cal-booked-bg);border:1px solid var(--cal-booked-border);color:var(--cal-booked-text)}.calendar-day--changeover{background:var(--cal-change-bg);border:1px solid var(--cal-change-border);color:var(--cal-change-text)}.calendar-day--today{font-weight:700;box-shadow:inset 0 0 0 2px var(--accent-light)}.calendar-legend{display:flex;gap:14px;margin-top:10px;justify-content:center;flex-wrap:wrap}.calendar-legend-item{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--text-muted)}.calendar-legend-dot{width:10px;height:10px;border-radius:3px}.calendar-legend-dot--available{background:var(--cal-avail-bg);border:1px solid var(--cal-avail-border)}.calendar-legend-dot--booked{background:var(--cal-booked-bg);border:1px solid var(--cal-booked-border)}.calendar-legend-dot--changeover{background:var(--cal-change-bg);border:1px solid var(--cal-change-border)}.airbnb-embed-wrapper{margin-top:1.5rem}.airbnb-embed-frame{border-radius:var(--radius-lg);overflow:hidden}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:1rem 0}.gallery-thumb{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;cursor:pointer;border:1px solid var(--border-light);transition:border-color .2s,transform .2s}.gallery-thumb:hover{border-color:var(--accent-light);transform:scale(1.02)}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.lightbox{position:fixed;inset:0;z-index:9999;background:#14100aeb;display:flex;align-items:center;justify-content:center;padding:20px}.lightbox-img{max-width:85vw;max-height:85vh;object-fit:contain;border-radius:6px}.lightbox-nav{position:absolute;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:8px;width:44px;height:44px;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.lightbox-prev{left:20px}.lightbox-next{right:20px}.lightbox-close{position:absolute;top:20px;right:20px;background:none;border:none;color:#fff9;font-size:1.6rem;cursor:pointer}.lightbox-counter{position:absolute;bottom:20px;color:#fff6;font-size:.85rem}.area-text{color:var(--text-soft);font-size:.95rem;line-height:1.9;margin-bottom:1rem;max-width:640px}.area-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.5rem}@media(max-width:600px){.area-grid{grid-template-columns:1fr}}.area-heading{font-family:var(--font-display);font-size:1rem;margin-bottom:.6rem;color:var(--text)}.area-list{list-style:none}.area-list li{color:var(--text-soft);font-size:.9rem;padding:.25rem 0 .25rem 1.2rem;position:relative}.area-list li:before{content:"—";position:absolute;left:0;color:var(--accent-light);font-weight:600}.contact-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:2rem;max-width:500px;box-shadow:0 2px 20px #00000008}.contact-desc{color:var(--text-soft);margin-bottom:1.2rem}.contact-people{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.2rem}.contact-person{padding:.8rem 1rem;background:var(--bg-warm);border-radius:var(--radius);border:1px solid var(--border-light)}.contact-name{font-weight:600;color:var(--text);margin-bottom:.3rem;font-size:.95rem}.contact-person div{font-size:.9rem;color:var(--text-soft)}.contact-person a{color:var(--accent);font-weight:500}.contact-airbnb{margin:1.2rem 0}.contact-airbnb p{font-size:.85rem;color:var(--text-muted);margin-bottom:.5rem}.contact-airbnb a{margin-right:8px;margin-bottom:6px}.contact-map{margin-top:1rem}.coordinates{color:var(--text-muted);font-size:.8rem;margin-top:1rem}.footer{text-align:center;padding:2rem;border-top:1px solid var(--border-light);color:var(--text-muted);font-size:.8rem}.btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-weight:600;border-radius:var(--radius);cursor:pointer;transition:all .2s;border:none;font-size:.85rem;padding:10px 18px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text-soft);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-warm)}.btn-outline{background:transparent;color:var(--accent);border:1px solid var(--border);border-radius:100px;font-size:.82rem;padding:8px 16px}.btn-outline:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-danger{background:var(--danger-bg);color:var(--danger);border:1px solid rgba(184,84,80,.2)}.btn-danger:hover{background:var(--danger);color:#fff}.btn-sm{padding:7px 14px;font-size:.8rem}.btn-xs{padding:4px 10px;font-size:.75rem}.admin-login{max-width:380px;margin:80px auto;padding:0 1.5rem}.admin-login h2{font-family:var(--font-display);font-size:1.8rem;margin-bottom:1.5rem}.admin-wrap{max-width:960px;margin:0 auto;padding:1.5rem}.admin-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.admin-topbar h2{font-family:var(--font-display);font-size:1.6rem}.admin-tabs{display:flex;gap:0;border-bottom:1px solid var(--border-light);margin-bottom:1.5rem;overflow-x:auto}.admin-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:10px 18px;font-size:.88rem;font-weight:600;cursor:pointer;font-family:var(--font-body);transition:all .2s;white-space:nowrap}.admin-tab.active{border-bottom-color:var(--accent);color:var(--text)}.admin-tab:hover{color:var(--text-soft)}.admin-cabin-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:1.5rem}.admin-cabin-tab{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:12px 16px;cursor:pointer;text-align:left;transition:all .15s}.admin-cabin-tab:hover{border-color:var(--border)}.admin-cabin-tab.active{border-color:var(--accent-light);background:#8b6b3d0a}.admin-cabin-tab h3{font-family:var(--font-display);font-size:.95rem;color:var(--text);margin:0}.admin-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem}.admin-card-title{font-family:var(--font-display);font-size:1.1rem;color:var(--text);margin-bottom:.3rem}.admin-card-desc{font-size:.82rem;color:var(--text-muted);margin-bottom:1rem}.admin-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:24px;align-items:start}@media(max-width:768px){.admin-split{grid-template-columns:1fr}}.admin-section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.admin-section-head h3{font-family:var(--font-display);font-size:1.1rem}.lang-tabs{display:flex;gap:6px;margin-bottom:1rem;flex-wrap:wrap}.fg{margin-bottom:14px}.fl{display:block;font-size:.68rem;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.fi{width:100%;padding:9px 12px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-body);font-size:.9rem;transition:border-color .15s}.fi:focus{outline:none;border-color:var(--accent-light)}textarea.fi{resize:vertical;min-height:80px}select.fi{cursor:pointer}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}@media(max-width:600px){.form-grid-3{grid-template-columns:1fr}}.form-actions{display:flex;align-items:center;gap:12px;margin-top:12px}.save-ok{color:var(--moss);font-size:.85rem;font-weight:500}.error-msg{color:var(--danger);font-size:.85rem;margin-bottom:10px}.empty-text{color:var(--text-muted);font-style:italic;font-size:.9rem}.hint{font-size:.8rem;color:var(--text-muted);margin-top:10px}.contact-edit-row{background:var(--bg-warm);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1rem;margin-bottom:10px}.contact-edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.contact-edit-label{font-weight:600;font-size:.85rem;color:var(--text-soft)}.booking-form{background:#8b6b3d0a;border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.2rem;margin-bottom:1rem}.booking-list{display:flex;flex-direction:column;gap:6px}.booking-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);padding:10px 14px;display:flex;justify-content:space-between;align-items:center;transition:border-color .15s}.booking-item:hover{border-color:var(--border)}.booking-dates{font-size:.85rem;color:var(--text)}.booking-guest{font-size:.78rem;color:var(--text-muted);margin-top:2px}.booking-actions{display:flex;gap:4px}.badge{display:inline-block;font-size:.68rem;padding:2px 8px;border-radius:100px;margin-left:6px;font-weight:600}.badge-booked{background:var(--cal-booked-bg);border:1px solid var(--cal-booked-border);color:var(--cal-booked-text)}.badge-changeover{background:var(--cal-change-bg);border:1px solid var(--cal-change-border);color:var(--cal-change-text)}.upload-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:2rem;text-align:center;margin-bottom:1.5rem;transition:border-color .2s}.upload-zone.drag-over{border-color:var(--accent)}.upload-zone p{color:var(--text-muted);margin-bottom:10px;font-size:.9rem}.upload-zone small{display:block;margin-top:8px;color:var(--text-muted);font-size:.75rem}.image-admin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.image-admin-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius);overflow:hidden;cursor:grab;transition:opacity .15s}.image-admin-card.dragging{opacity:.4}.image-admin-thumb{aspect-ratio:4/3;overflow:hidden}.image-admin-thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-admin-info{padding:8px 10px;display:flex;flex-direction:column;gap:6px}.image-admin-name{font-size:.72rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
