:root{--navy:#073b5c;--ink:#17364d;--sand:#f5f0e8;--white:#fff;--line:#dfe5e8;--muted:#65727a;--sea:#2d7996;--red:#e84a45;--green:#43bd5c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;margin:0;line-height:1.05}h1{font-size:clamp(3rem,6vw,6rem);color:#fff}h2{font-size:clamp(2.2rem,4vw,4rem)}p{line-height:1.65}.site-header{height:76px;display:flex;align-items:center;gap:26px;padding:0 4%;position:sticky;top:0;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);z-index:20;border-bottom:1px solid #eee}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);margin-right:auto}.brand-mark{width:40px;height:40px;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif}.brand b{display:block;text-transform:uppercase;letter-spacing:1.5px;font-size:13px}.brand small{display:block;text-transform:uppercase;letter-spacing:1.2px;font-size:8px;color:var(--muted)}.nav{display:flex;gap:24px}.nav a{color:var(--ink);text-decoration:none;font-size:13px}.lang{font-size:12px;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;padding:14px 22px;border-radius:4px;text-decoration:none;font-weight:700;cursor:pointer;font-size:14px}.btn-dark{background:var(--navy);color:#fff}.btn-light{background:#fff;color:var(--navy)}.btn-ghost{background:rgba(255,255,255,.92);color:var(--navy)}.btn-outline{border:1px solid var(--navy);color:var(--navy);background:white}.full{width:100%}.menu-toggle{display:none;border:0;background:none;font-size:25px}.hero{height:calc(100vh - 76px);min-height:600px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,28,45,.74),rgba(0,20,30,.15) 70%)}.hero-content{position:relative;z-index:2;padding:7%;max-width:850px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:800;color:#fff;margin:0 0 20px}.eyebrow.dark{color:var(--navy)}.lead{font-size:18px;color:#fff;max-width:620px}.hero-actions{display:flex;gap:12px;margin-top:28px}.hero-note{position:absolute;right:6%;top:48%;z-index:2;color:white;font:italic 34px Georgia,serif;transform:rotate(-8deg)}.highlights{display:grid;grid-template-columns:repeat(7,1fr);padding:24px 4%;border-bottom:1px solid var(--line);background:#fff}.highlights div{text-align:center;border-right:1px solid var(--line);padding:8px}.highlights div:last-child{border:0}.highlights span{display:block;font-size:27px;margin-bottom:8px;color:var(--navy)}.highlights b,.highlights small{display:block}.highlights b{font-size:13px}.highlights small{font-size:10px;color:var(--muted);margin-top:4px}.section{padding:100px 5%;max-width:1400px;margin:auto}.intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.intro-copy{padding:30px}.intro-copy p{color:#4c5b64}.intro-photo img,.experience-image img{width:100%;height:650px;object-fit:cover}.text-btn{color:var(--navy);font-weight:800;text-decoration:none;display:inline-block;margin-top:14px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:8px}.gallery-grid img{width:100%;height:100%;object-fit:cover}.g-wide{grid-column:span 2}.g-tall{grid-row:span 2}.experience{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;background:var(--sand);max-width:none;padding-left:8%;padding-right:8%}.experience-image img{height:620px}.experience-copy{padding:20px}.experience-cards{margin-top:35px}.experience-cards article{border-top:1px solid #c8c8c0;padding:18px 0}.experience-cards p{margin:8px 0;color:#58666d}.availability{background:#fbfbf9;max-width:none;padding-left:8%;padding-right:8%}.owner-badge{font-size:12px;padding:10px 14px;border:1px solid var(--line);border-radius:20px;background:#fff}.booking-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:28px}.calendar-card,.booking-card,.admin-card{background:white;border:1px solid var(--line);border-radius:8px;padding:24px;box-shadow:0 12px 35px rgba(10,40,60,.06)}.calendar-top{display:flex;justify-content:space-between;align-items:center}.calendar-top button{border:0;background:none;font-size:30px;cursor:pointer;color:var(--navy)}.calendar-top h3{font-size:24px}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekdays{margin:22px 0 8px;color:var(--muted);font-size:11px;text-align:center}.cal-day{min-height:68px;border:1px solid #edf0f1;background:white;border-radius:5px;display:flex;flex-direction:column;justify-content:space-between;padding:7px;text-align:left;cursor:pointer;color:var(--ink)}.cal-day small{font-size:9px;color:#78909c}.cal-day:hover{border-color:var(--navy)}.cal-day.busy{background:#fff0ef;color:#a63732;cursor:not-allowed;text-decoration:line-through}.cal-day.selected{background:#cce9f3;border-color:var(--sea)}.cal-day.between{background:#eaf6f9}.empty{border:0!important;background:transparent!important}.legend{display:flex;gap:20px;margin-top:18px;font-size:11px;color:var(--muted)}.dot{width:9px;height:9px;display:inline-block;border-radius:50%;margin-right:5px}.free{background:var(--green)}.busy{background:var(--red)}.selected{background:#73bdd5}.date-fields,.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-card label,.admin-card label{display:block;font-size:12px;font-weight:700}.booking-card input,.admin-card input,.admin-card select,form textarea,form input{width:100%;padding:13px;border:1px solid var(--line);border-radius:4px;margin-top:7px;font:inherit}.summary{margin:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.summary div{display:flex;justify-content:space-between;padding:15px 0;font-size:13px}.summary .total{font-size:18px}.small{font-size:11px;color:var(--muted)}.zone{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white}.zone-image img{width:100%;height:620px;object-fit:cover}.zone-copy{padding:10%;display:flex;flex-direction:column;justify-content:center}.zone-copy h2{color:white}.zone-points{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:25px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-grid details{border:1px solid var(--line);padding:20px;background:#fff}.faq-grid summary{cursor:pointer;font-weight:700}.faq-grid p{color:var(--muted)}.contact{position:relative;color:white;min-height:520px;display:flex;align-items:center}.contact-bg,.contact-overlay{position:absolute;inset:0}.contact-bg img{width:100%;height:100%;object-fit:cover}.contact-overlay{background:rgba(3,43,66,.76)}.contact-content{position:relative;z-index:2;width:90%;max-width:1300px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-content h2{color:white}.contact-lines{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px}.contact-lines a,.contact-lines span{color:white;text-decoration:none}.contact form{display:grid;gap:10px}.contact input,.contact textarea{border:0;background:white}.contact textarea{min-height:100px;resize:vertical}footer{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:20px;align-items:center;padding:35px 5%;font-size:11px;color:var(--muted)}.signature{font:italic 18px Georgia,serif;color:var(--navy);text-align:right}.floating-wa{position:fixed;right:20px;bottom:20px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#1dbf63;color:white;text-decoration:none;font-size:25px;z-index:30;box-shadow:0 8px 25px rgba(0,0,0,.2)}.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;place-items:center;padding:20px;z-index:40}.modal.show{display:grid}.modal-box{background:white;max-width:520px;width:100%;padding:35px;position:relative;border-radius:8px;max-height:calc(100vh - 40px);overflow-y:auto;box-sizing:border-box}.modal-close{position:absolute;right:15px;top:10px;border:0;background:none;font-size:30px}.modal-box form{display:grid;gap:10px}.modal-total{display:flex;justify-content:space-between;padding:15px 0;font-size:18px}.admin-body{background:#f7f8f7}.admin{max-width:1200px;margin:auto;padding:60px 5%}.admin-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.admin-card.wide{grid-column:1/-1}.admin-card h2{font-size:28px;margin-bottom:10px}.admin-row,.reservation{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.admin-row small,.reservation span,.reservation small{display:block;color:var(--muted);margin-top:4px}.reservation select{width:auto;margin:0}.admin-card form{display:grid;gap:12px;margin-top:15px}
@media(max-width:1000px){.nav{display:none}.nav.open{display:flex;position:absolute;left:0;right:0;top:76px;background:white;padding:20px;flex-direction:column}.menu-toggle{display:block}.lang{display:block}.nav-book{display:none}.highlights{grid-template-columns:repeat(4,1fr)}.intro,.experience,.booking-layout,.zone,.contact-content{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}footer{grid-template-columns:1fr 1fr}.hero-note{display:none}.experience{padding:60px 5%}.experience-image img,.zone-image img{height:450px}.admin-grid{grid-template-columns:1fr}.admin-card.wide{grid-column:auto}}
@media(max-width:600px){.site-header{height:66px;padding:0 18px}.hero{height:80vh;min-height:560px}.hero-content{padding:25px}.hero-actions{flex-direction:column;align-items:stretch}.highlights{grid-template-columns:repeat(2,1fr);padding:12px}.highlights div{border-bottom:1px solid var(--line)}.section{padding:65px 20px}.intro-copy{padding:0}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.g-wide,.g-tall{grid-column:auto;grid-row:auto}.section-head{display:block}.section-head .text-btn{margin-top:15px}.calendar-card,.booking-card{padding:15px}.cal-day{min-height:58px}.date-fields{grid-template-columns:1fr}.zone-points,.faq-grid{grid-template-columns:1fr}.contact-content{width:90%;gap:30px;padding:60px 0}.contact-lines{flex-direction:column;gap:10px}footer{grid-template-columns:1fr;padding:30px 20px}.signature{text-align:left}.brand b{font-size:11px}}
.photo-admin-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.photo-admin-item{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}.photo-admin-item img{display:block;width:100%;height:180px;object-fit:cover}.photo-admin-meta{padding:10px}.photo-admin-meta strong{display:block;font-size:12px}.photo-admin-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}.photo-admin-actions button{border:1px solid var(--line);background:white;border-radius:4px;padding:7px 9px;font-size:11px;cursor:pointer}.photo-admin-actions button:hover{border-color:var(--navy)}
@media(max-width:700px){.photo-admin-list{grid-template-columns:1fr 1fr}.photo-admin-item img{height:140px}}

.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:8px;position:sticky;top:88px;z-index:10;box-shadow:0 8px 24px rgba(10,40,60,.05)}
.admin-tab{border:0;background:transparent;color:var(--muted);padding:12px 16px;border-radius:5px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:.15s}
.admin-tab:hover{background:#f2f6f7;color:var(--navy)}
.admin-tab.active{background:var(--navy);color:#fff}
.admin-panels{min-height:300px}
.admin-panel{display:none}
.admin-panel.active{display:block}
.admin-panel>.admin-card{max-width:none}
@media(max-width:600px){.admin{padding:35px 18px}.admin-tabs{top:74px;overflow-x:auto;flex-wrap:nowrap;padding:6px}.admin-tab{white-space:nowrap;padding:10px 13px;font-size:12px}.admin-head{align-items:flex-start;gap:15px;flex-direction:column}.admin-head .btn{align-self:flex-start}}

/* Navegación por pantallas de la web pública */
.client-panel{display:none;min-height:calc(100vh - 76px);animation:clientFade .22s ease}
.client-panel.active{display:block}
@keyframes clientFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.nav-view{font:inherit;cursor:pointer}
.nav button.nav-view{border:0;background:transparent;color:var(--ink);padding:6px 0;font-size:13px}
.nav button.nav-view.active{color:var(--navy);font-weight:800}
.nav .nav-view:hover{text-decoration:underline;text-underline-offset:5px}
.text-btn.nav-view{border:0;background:none;padding:0;color:var(--navy);font-weight:800;text-decoration:none}
.text-btn.nav-view:hover{text-decoration:underline;text-underline-offset:4px}
.nav-book{border:0}
@media(max-width:1000px){.client-panel{min-height:calc(100vh - 66px)}.nav button.nav-view{padding:10px 0;font-size:15px;text-align:left}}

/* ===== Estilo moderno Mediterráneo ===== */
:root{--navy:#102a2f;--ink:#18383b;--sand:#f3f0e8;--sea:#2f8f91;--line:#e4e7e4;--muted:#687878;--green:#35a77a;--red:#d95c58}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#f7f7f3;color:var(--ink)}
h1,h2,h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:750;letter-spacing:-.045em}
.site-header{height:72px;padding:0 3%;background:rgba(247,247,243,.78);border:0;box-shadow:0 8px 30px rgba(16,42,47,.07)}
.brand-mark{width:42px;height:42px;border:0;border-radius:13px;background:var(--navy);color:#fff;font-family:Inter,sans-serif;font-size:12px;font-weight:800}
.brand b{letter-spacing:.5px;font-size:12px}.brand small{letter-spacing:1px}
.nav{gap:8px;padding:5px;background:rgba(255,255,255,.65);border:1px solid rgba(16,42,47,.08);border-radius:999px}
.nav button.nav-view{padding:9px 14px;border-radius:999px;font-size:12px;color:#506063}.nav button.nav-view.active{background:var(--navy);color:#fff}.nav .nav-view:hover{text-decoration:none;background:#e9efed;color:var(--navy)}
.lang{display:block}.nav-book{border-radius:999px;padding:11px 18px}
.hero{height:calc(100vh - 72px);min-height:620px;margin:0 1.5%;border-radius:28px;overflow:hidden}.hero-overlay{background:linear-gradient(90deg,rgba(5,25,28,.78),rgba(5,25,28,.12) 75%)}
.hero-content{padding:7%;max-width:780px}.eyebrow{font-size:11px;letter-spacing:2.2px}.hero h1{font-size:clamp(3.2rem,7vw,7rem);line-height:.94}.hero h1 em{font-style:normal;color:#bfe5dc}.lead{font-size:18px;max-width:560px}.btn{border-radius:999px;padding:14px 20px}.btn-light{box-shadow:0 8px 24px rgba(0,0,0,.12)}
.highlights{margin:18px 1.5%;border-radius:22px;background:#fff;padding:10px;box-shadow:0 12px 35px rgba(16,42,47,.06);gap:6px}.highlights div{border:0!important;border-radius:16px;padding:18px 14px}.highlights div:hover{background:#eef5f2}.highlights span{font-size:20px;color:var(--sea)}
.section{padding:100px 7%}.intro,.experience{gap:70px}.intro-photo img,.experience-image img,.zone-image img{border-radius:24px;height:620px}.intro-copy{padding:10px}.intro-copy h2,.section-head h2{max-width:760px}
.text-btn{border-radius:999px!important;background:#e7f1ee!important;padding:12px 16px!important}
.gallery{background:#f7f7f3}.gallery-grid{grid-template-columns:repeat(12,1fr);grid-auto-rows:180px;gap:12px}.gallery-grid img{border-radius:16px}.g-tall{grid-column:span 3;grid-row:span 2}.g-wide{grid-column:span 6}.gallery-grid img:nth-child(2){grid-column:span 3}.gallery-grid img:nth-child(3){grid-column:span 6}.gallery-grid img:nth-child(4){grid-column:span 3;grid-row:span 2}.gallery-grid img:nth-child(5){grid-column:span 6}.gallery-grid img:nth-child(6){grid-column:span 3}.gallery-grid img:nth-child(7){grid-column:span 3}.gallery-grid img:nth-child(8){grid-column:span 6}.gallery-grid img:nth-child(9){grid-column:span 3}
.experience{background:#e8f0ed;max-width:none;padding-left:7%;padding-right:7%}.experience-image img{height:580px}.experience-cards article{border-top:1px solid #cbd9d5}
.availability{background:#eef3f0;padding-left:7%;padding-right:7%}.owner-badge{border:0;border-radius:999px;background:#dcebe6}.calendar-card,.booking-card,.admin-card{border:0;border-radius:22px;box-shadow:0 18px 45px rgba(16,42,47,.08)}.cal-day{border:1px solid #e7ece9;border-radius:12px}.cal-day.selected{background:#cce9df;border-color:var(--sea)}.cal-day:hover{border-color:var(--sea)}
.zone{margin:0 1.5%;border-radius:28px;overflow:hidden}.zone-copy{padding:10%}.faq{background:#f7f7f3}.faq-grid details{border:0;border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(16,42,47,.05)}
.contact{margin:0 1.5%;border-radius:28px;overflow:hidden;min-height:600px}.contact-overlay{background:linear-gradient(90deg,rgba(5,25,28,.82),rgba(5,25,28,.48))}.contact-content{max-width:1200px}.contact input,.contact textarea{border-radius:12px}.floating-wa{width:58px;height:58px;border-radius:18px}
footer{margin:0 1.5%;border-radius:22px 22px 0 0;background:#102a2f;color:#b9c8c7;padding:30px 4%}.signature{color:#d9ece7}
.modal-box{border-radius:24px;padding:34px;box-shadow:0 25px 80px rgba(0,0,0,.2)}
.client-panel{animation:clientFade .16s ease}.client-panel.active{min-height:calc(100vh - 72px)}
@media(max-width:1000px){.site-header{height:68px}.nav{border-radius:18px}.hero{margin:0;border-radius:0;height:calc(100vh - 68px)}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:220px}.gallery-grid img,.gallery-grid img:nth-child(n){grid-column:auto;grid-row:auto}.zone,.contact{margin:0;border-radius:0}}
@media(max-width:600px){.site-header{height:66px;padding:0 16px}.hero{min-height:590px}.hero h1{font-size:clamp(3rem,14vw,5rem)}.hero-content{padding:28px 22px}.hero-actions{gap:9px}.highlights{margin:10px;padding:8px;border-radius:18px}.section{padding:70px 20px}.intro-photo img,.experience-image img,.zone-image img{height:420px;border-radius:18px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.gallery-grid img,.gallery-grid img:nth-child(n){grid-column:auto;grid-row:auto}.calendar-card,.booking-card{border-radius:18px}.contact{min-height:680px}.floating-wa{border-radius:16px}}

/* Aviso de cobro en la solicitud de reserva */
.payment-notice{margin:12px 0 14px;padding:13px 15px;border:1px solid #d7e7e1;border-radius:14px;background:#eef6f2;color:#284b45;font-size:12px;line-height:1.5}
.lang select{border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:12px;padding:7px 24px 7px 9px;border-radius:999px;cursor:pointer}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.lang{display:block}.lang select{font-size:11px;padding:6px 20px 6px 8px}}

/* Gestión de temporadas: edición y borrado */
.season-card-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.season-add-form{display:grid;gap:12px;margin-top:20px}
.season-row{align-items:center;padding:16px 0}
.season-row>div:first-child{min-width:0}
.season-row strong{display:block;font-size:13px}
.season-row span{display:block;color:var(--muted);margin-top:5px;font-size:12px}
.season-row-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.season-actions{display:flex;gap:7px}
.season-actions button{border-radius:999px;padding:8px 12px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;background:#fff}
.season-edit-btn{border:1px solid #a9c9dc;color:var(--navy)}
.season-delete-btn,.season-delete{border:1px solid #efb5b2;color:var(--red)}
.season-edit-btn:hover{background:#edf6fa}
.season-delete-btn:hover,.season-delete:hover{background:#fff1f0}
.season-edit-box h2{font-size:32px;margin-bottom:8px}
.season-edit-box form{margin-top:20px}
.season-modal-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;margin-top:8px}
@media(max-width:700px){.season-card-head{align-items:flex-start;flex-direction:column}.season-card-head .btn{width:100%}.season-row{align-items:flex-start;flex-direction:column}.season-row-right{width:100%;justify-content:space-between}.season-modal-actions{grid-template-columns:1fr 1fr}.season-modal-actions span{display:none}.season-delete{grid-column:1/-1}.season-edit-box{padding:25px 20px}}

/* Galería ampliable */
.gallery-grid img { cursor: zoom-in; transition: transform .25s ease, opacity .25s ease; }
.gallery-grid img:hover { transform: scale(1.015); opacity: .94; }
.photo-lightbox { position: fixed; inset: 0; z-index: 100; display: none; align-items: center; justify-content: center; padding: 28px; background: rgba(0,18,30,.94); }
.photo-lightbox.show { display: flex; }
.photo-lightbox img { max-width: min(94vw, 1500px); max-height: 88vh; width: auto; height: auto; object-fit: contain; border-radius: 8px; box-shadow: 0 25px 80px rgba(0,0,0,.45); cursor: default; }
.photo-lightbox-close,.photo-lightbox-prev,.photo-lightbox-next { position: absolute; border: 0; background: rgba(255,255,255,.14); color: #fff; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; font-size: 30px; line-height: 1; }
.photo-lightbox-close { top: 20px; right: 20px; font-size: 32px; }
.photo-lightbox-prev { left: 20px; top: 50%; transform: translateY(-50%); }
.photo-lightbox-next { right: 20px; top: 50%; transform: translateY(-50%); }
.photo-lightbox-counter { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); color: #fff; font-size: 12px; letter-spacing: 1px; background: rgba(0,0,0,.3); padding: 7px 11px; border-radius: 20px; }
@media(max-width:600px){ .photo-lightbox { padding: 12px; } .photo-lightbox img { max-width: 96vw; max-height: 82vh; } .photo-lightbox-prev,.photo-lightbox-next { width: 42px; height: 42px; font-size: 25px; } .photo-lightbox-prev { left: 10px; } .photo-lightbox-next { right: 10px; } .photo-lightbox-close { top: 10px; right: 10px; } }


/* WhatsApp check-in */
.reservation-whatsapp{align-items:flex-start!important;gap:16px!important}
.reservation-main{flex:1;min-width:0}
.whatsapp-actions{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.nuki-code{width:150px!important;margin:0!important}
.btn-whatsapp{white-space:nowrap}
@media(max-width:700px){.reservation-whatsapp{flex-direction:column}.reservation-whatsapp .status{width:100%}.whatsapp-actions{width:100%}.nuki-code{flex:1;min-width:130px}}

/* Reservation details and editable WhatsApp phone */
.reservation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;padding:12px;background:#f7f8f7;border-radius:6px}.reservation-details>div{min-width:0}.reservation-details strong{display:block;font-size:11px;margin-bottom:5px}.reservation-details small{display:block;overflow-wrap:anywhere}.guest-phone{margin:0!important}.btn-save-phone{margin-top:7px;padding:9px 12px;font-size:11px;background:var(--navy);color:#fff;border-radius:4px}.reservation-details .guest-phone{display:block}.reservation-details .btn-save-phone{display:inline-flex}@media(max-width:700px){.reservation-details{grid-template-columns:1fr}}

/* Gestión de bloqueos */
.block-row{align-items:center;gap:16px}
.block-row-right{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.block-delete-btn{border:0;border-radius:10px;padding:9px 12px;cursor:pointer;background:#f3dede;color:#9b2c2c;font-weight:700}
.block-delete-btn:hover{filter:brightness(.97)}
@media(max-width:700px){.block-row-right{width:100%;justify-content:space-between}.block-delete-btn{padding:8px 10px}}

/* Horarios de entrada y salida */
.date-input-row{display:flex;align-items:center;gap:10px;margin-top:7px}.date-input-row input{margin-top:0;flex:1;min-width:0}.check-time{font-size:.82rem;line-height:1.3;opacity:.75;white-space:nowrap;font-weight:700}.date-input-row .check-time::before{content:"· ";font-weight:400}@media(max-width:600px){.date-input-row{gap:8px}.date-input-row .check-time{font-size:.78rem}}

/* Calendario del panel del propietario */
.admin-calendar-card{margin-bottom:20px}.admin-calendar-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.admin-calendar-head h2{font-size:28px}.admin-calendar-nav{display:flex;align-items:center;gap:10px}.admin-calendar-nav strong{min-width:150px;text-align:center}.admin-calendar-nav .btn{padding:9px 13px;font-size:18px}.admin-weekdays,.admin-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.admin-weekdays{margin:22px 0 8px;color:var(--muted);font-size:11px;text-align:center}.admin-cal-day{min-height:64px;border:1px solid var(--line);border-radius:6px;padding:8px;display:flex;flex-direction:column;justify-content:space-between;background:#f4fff5}.admin-cal-day b{font-size:14px}.admin-cal-day small{font-size:9px}.admin-cal-day.busy{background:#fff0ef;border-color:#f1c6c2;color:#a63732}.admin-cal-day.blocked{background:#f1f1f1;border-color:#d8d8d8;color:#646464}.admin-cal-day.empty{border:0;background:transparent}.admin-calendar-legend{display:flex;gap:20px;margin-top:16px;font-size:11px;color:var(--muted);flex-wrap:wrap}.blocked-dot{background:#777}
@media(max-width:700px){.admin-calendar-head{align-items:flex-start;flex-direction:column}.admin-calendar-nav{width:100%;justify-content:space-between}.admin-calendar-nav strong{min-width:0}.admin-cal-day{min-height:54px;padding:6px}.admin-cal-day small{font-size:8px}.admin-weekdays,.admin-calendar{gap:4px}}

.admin-price-toolbar{margin:16px 0 18px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fafafa}.admin-price-selection,.admin-price-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.admin-price-actions{margin-top:10px}.admin-price-actions label{display:flex;align-items:center;gap:8px;font-size:13px}.admin-price-actions input{width:130px}.admin-cal-day{cursor:pointer;text-align:left;position:relative;touch-action:none;user-select:none}.admin-cal-day em{font-style:normal;font-size:8px;opacity:.75}.admin-cal-day.price-selected{outline:3px solid var(--accent,#0b6);outline-offset:1px}.admin-cal-day.busy,.admin-cal-day.blocked{cursor:pointer}.admin-cal-day small{font-weight:700}.admin-calendar-legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.dot.free{background:#2ca66f}.dot.busy{background:#df5b55}.dot.blocked-dot{background:#777}@media(max-width:700px){.admin-price-actions{align-items:stretch;flex-direction:column}.admin-price-actions label{justify-content:space-between}.admin-price-actions input{width:150px}.admin-price-actions .btn{width:100%}.admin-cal-day em{font-size:7px}}

/* Admin calendar: permite seleccionar días con clic y arrastre */
#adminCalendar .admin-cal-day { user-select: none; -webkit-user-select: none; touch-action: none; cursor: pointer; }
#adminCalendar { user-select: none; -webkit-user-select: none; }
.admin-cal-day.has-reservation{font-weight:700;cursor:pointer}
.admin-cal-day.has-reservation em{font-weight:700}
.admin-cal-day.calendar-reservation-focus{outline:3px solid var(--accent,#0b6);outline-offset:2px}

/* Sincronización Booking / iCal */
.booking-sync-card h2{font-size:32px;margin-bottom:8px}.booking-sync-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.booking-sync-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.booking-export-box{border:1px solid var(--line);background:#fafafa;border-radius:10px;padding:18px}.booking-export-box strong{display:block;margin-bottom:7px}.booking-export-url-row{display:flex;margin:12px 0}.booking-export-url-row input{font-size:11px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.booking-sync-status{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:20px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff}.sync-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#c99b32;margin-right:8px}.sync-dot.ok{background:#2ca66f}.sync-dot.error{background:#df5b55}.admin-cal-day.external-busy{background:#fff8df;border-color:#e7cf83;color:#7a5b00}.admin-calendar-legend .dot.external{background:#d5ae3b}@media(max-width:700px){.booking-sync-grid{grid-template-columns:1fr}.booking-sync-status{align-items:flex-start;flex-direction:column}.booking-sync-actions{flex-direction:column}.booking-sync-actions .btn{width:100%}}

/* Identificación de huéspedes y aceptación de condiciones */
.guest-section h3{margin:0 0 6px}.field-label{display:block;font-weight:700;font-size:.9rem;margin:12px 0 6px}.additional-guests{display:grid;gap:10px;margin-top:10px}.additional-guest{display:flex;gap:8px;align-items:center}.additional-guest span{min-width:78px;font-size:.85rem;font-weight:700}.additional-guest input{flex:1}.pet-box{margin:16px 0 10px;padding:14px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:rgba(0,0,0,.025)}.pet-check{margin:0}.pet-check small{display:block;margin-top:4px;line-height:1.4;opacity:.75}.terms-box{margin:16px 0 10px;padding:14px;border:1px solid rgba(0,0,0,.12);border-radius:12px;background:rgba(0,0,0,.025)}.terms-link{border:0;background:none;padding:0;text-decoration:underline;cursor:pointer;font:inherit;font-weight:700;margin-bottom:12px}.terms-check{display:flex;gap:9px;align-items:flex-start;cursor:pointer;line-height:1.35}.terms-check input{width:18px!important;min-width:18px!important;max-width:18px!important;height:18px;margin:2px 0 0!important;padding:0!important;flex:0 0 18px!important}.terms-check span{display:block;flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere}.terms-box small{display:block;margin-top:8px;opacity:.65}.terms-modal-box{max-height:85vh;overflow:auto;z-index:61}.terms-modal{z-index:60}.admin-terms-button{margin-top:6px;border:1px solid var(--line);background:#fff;border-radius:5px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer}.admin-terms-button:hover{border-color:var(--navy)}.pet-approval{display:flex;align-items:center;gap:8px;margin-top:6px}.pet-approval select{margin:0!important;padding:7px 9px!important;width:auto!important}.terms-content h3{margin:18px 0 6px}.terms-content p{margin:0;line-height:1.55}.btn:disabled{opacity:.45;cursor:not-allowed}

/* Contraofertas */
.offer-box{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fffaf2}
.offer-title{font-weight:800;margin-bottom:10px}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.offer-grid label{font-size:12px;font-weight:700}.offer-grid input{margin-top:5px}.offer-check{display:flex!important;align-items:center;gap:8px;margin:10px 0;font-size:12px}.offer-check input{width:auto!important;margin:0!important}.offer-total{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--line);margin-top:8px}.offer-total strong{font-size:20px}.offer-box textarea{min-height:75px;margin-top:8px}.offer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.offer-actions .btn{flex:1;min-width:170px}@media(max-width:700px){.offer-grid{grid-template-columns:1fr}.offer-actions{flex-direction:column}.offer-actions .btn{width:100%}}
