*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f0e7;color:#102329;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;padding-bottom:82px}button,input,select{font:inherit}a{text-decoration:none;color:inherit}.splash{position:fixed;inset:0;background:#102329 url("https://a0.muscache.com/im/pictures/4ce3e7c2-d3b4-472a-a053-53123db703aa.jpg?im_w=1600") center/cover no-repeat;color:#fff;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:.5s;overflow:hidden}.splash-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.splash-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0004,#071c22cc)}.splash-content{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}.splash.hide{opacity:0;pointer-events:none}.splash-logo,.brand-logo{display:grid;place-items:center;border-radius:50%;background:#d86a43;color:#fff;font-weight:900}.splash-logo{width:92px;height:92px;font-size:2rem}.splash h1{font-size:2.5rem;margin:18px 0 3px}.splash p,.splash small{opacity:.65;margin:3px}.app-header{position:sticky;top:0;z-index:50;background:rgba(244,240,231,.94);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid #dedbd3;min-height:76px}.brand{display:flex;align-items:center;gap:10px}.brand-logo{width:42px;height:42px}.brand strong,.brand span{display:block}.brand span{font-size:.72rem;opacity:.58}.language-select{border:0;background:#fff;border-radius:999px;padding:9px 10px;font-weight:800}.screen{display:none}.screen.active{display:block}.hero{height:68vh;min-height:530px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(8,25,28,.82))}.hero-copy{position:relative;z-index:2;padding:28px 22px 34px;color:#fff}.pill{display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:900;letter-spacing:.08em}.hero h1{font-size:clamp(2.7rem,11vw,5rem);line-height:.92;letter-spacing:-.055em;margin:16px 0 14px}.hero p{opacity:.85}.primary{border:0;background:#d86a43;color:#fff;border-radius:999px;padding:14px 18px;font-weight:900;display:inline-flex;justify-content:center;align-items:center;cursor:pointer}.content{padding:24px 16px 34px;max-width:1050px;margin:auto}.narrow{max-width:720px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:-8px}.stats div{background:#fff;border-radius:18px;padding:16px 8px;text-align:center}.stats strong,.stats span{display:block}.stats strong{font-size:1.05rem}.stats span{font-size:.7rem;opacity:.55;margin-top:3px}.section-title{margin:34px 0 14px}.section-title small,.page-head small{color:#b65136;font-weight:900;letter-spacing:.16em;font-size:.7rem}.section-title h2,.page-head h1{font-size:2rem;line-height:1;margin:5px 0}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.feature-grid article{background:#fff;border-radius:20px;padding:18px}.feature-grid article>span{font-size:1.5rem}.feature-grid strong{display:block;margin:11px 0 5px}.feature-grid p{font-size:.83rem;line-height:1.45;color:#697477;margin:0}.photo-strip{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:5px}.photo-strip img{width:78%;height:260px;object-fit:cover;border-radius:20px;flex:0 0 auto;scroll-snap-align:center}.nearby-list{display:grid;gap:9px}.nearby-list a{background:#fff;padding:14px;border-radius:17px;display:grid;grid-template-columns:38px 1fr 24px;gap:10px;align-items:center}.nearby-list a>span{font-size:1.4rem}.nearby-list strong,.nearby-list small{display:block}.nearby-list small{opacity:.56;margin-top:2px}.page-head{padding:36px 18px 22px;background:#102329;color:#fff}.page-head small{color:#f49b7c}.page-head p{opacity:.7;line-height:1.5}.rating-big{font-size:1.4rem;font-weight:900;margin-top:16px}.rating-big span{font-size:.85rem;font-weight:600;opacity:.65}.calendar-card{background:#fff;border-radius:24px;padding:16px;box-shadow:0 16px 50px #10232910}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.calendar-head button{width:38px;height:38px;border:0;border-radius:50%;background:#f0ece3;font-size:1.5rem}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday-row span{text-align:center;font-size:.68rem;font-weight:800;opacity:.45;padding:4px}.day{aspect-ratio:1;border:0;border-radius:12px;background:#f7f4ee;font-weight:700;color:#102329}.day.other{opacity:.24}.day.past{opacity:.2}.day.selected,.day.in-range{background:#d86a43;color:#fff}.day.busy{background:#dedbd3;color:#aaa;text-decoration:line-through}.legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;font-size:.7rem}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:9px;height:9px;border-radius:50%}.free-dot{background:#f0ece3}.selected-dot{background:#d86a43}.busy-dot{background:#c4c2bd}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}.date-fields label,.guests-label{background:#fff;border-radius:16px;padding:12px;display:grid;gap:6px;font-size:.73rem;font-weight:800}.date-fields input,.guests-label select{border:0;background:#f7f4ee;border-radius:10px;padding:11px;width:100%}.guests-label{margin-top:9px}.booking-summary{background:#102329;color:#fff;border-radius:24px;padding:20px;margin-top:14px}.booking-summary>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0}.booking-summary span{opacity:.65}.summary-top{border-bottom:1px solid #ffffff22;margin-bottom:6px}.grand-total{font-size:1.2rem;border-top:1px solid #ffffff22;margin-top:8px;padding-top:15px!important}.full{width:100%;margin-top:14px}.sync-note{background:#e8e3d9;border-radius:14px;padding:12px;margin-top:10px;font-size:.75rem;color:#687276}.review-carousel{position:relative;min-height:230px}.review-card{display:none;background:#fff;border-radius:25px;padding:24px;box-shadow:0 16px 45px #10232910}.review-card.active{display:block}.review-card .stars{letter-spacing:.12em;color:#d86a43}.review-card p{font-size:1.25rem;line-height:1.45}.review-card strong{font-size:.8rem;opacity:.58}.review-dots{text-align:center;padding:14px}.review-dots button{width:8px;height:8px;border:0;border-radius:50%;background:#c8c4bc;margin:3px;padding:0}.review-dots button.active{background:#d86a43;width:22px;border-radius:999px}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.score-grid div{background:#fff;border-radius:16px;padding:16px}.score-grid span,.score-grid strong{display:block}.score-grid span{font-size:.75rem;opacity:.58}.score-grid strong{font-size:1.4rem;margin-top:4px}.stay-card{display:grid;gap:10px}.stay-card article{background:#fff;border-radius:18px;padding:17px;display:grid;grid-template-columns:40px 1fr;gap:11px}.stay-card article>span{font-size:1.5rem}.stay-card strong{display:block}.stay-card p{margin:5px 0 0;color:#687276;line-height:1.45;font-size:.85rem}.contact-card{background:#fff;border-radius:28px;padding:24px;text-align:center}.contact-avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:#d86a43;color:#fff;font-size:1.7rem;font-weight:900;margin:0 auto}.contact-button{display:flex;justify-content:center;gap:10px;background:#f1ede5;border-radius:999px;padding:14px;margin-top:10px;font-weight:900}.contact-button.whatsapp{background:#102329;color:#fff}.floating-whatsapp{position:fixed;right:16px;bottom:92px;z-index:70;width:54px;height:54px;border-radius:50%;background:#102329;color:#fff;display:grid;place-items:center;font-size:1.5rem;box-shadow:0 10px 30px #0003}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:80;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-top:1px solid #ddd9d0;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 5px calc(7px + env(safe-area-inset-bottom))}.nav-item{border:0;background:transparent;color:#8a9293;padding:4px 1px;display:grid;place-items:center;gap:2px}.nav-item span{font-size:1.2rem}.nav-item small{font-size:.62rem}.nav-item.active{color:#d86a43;font-weight:900}.booking-modal{display:none;position:fixed;inset:0;z-index:1000;background:#0009;padding:22px;align-items:center}.booking-modal.show{display:flex}.modal-card{background:#fff;border-radius:28px;padding:27px;max-width:480px;width:100%;margin:auto;position:relative;text-align:center}.close-modal{position:absolute;right:15px;top:15px;border:0;background:#eee9e0;border-radius:50%;width:36px;height:36px}.success-icon{width:68px;height:68px;border-radius:50%;background:#102329;color:#fff;display:grid;place-items:center;font-size:2rem;margin:auto}.modal-card h2{font-size:2rem;margin-bottom:8px}.modal-card small{display:block;margin-top:12px;opacity:.55}.modal-card .primary{margin-top:14px}@media(min-width:850px){.hero{height:78vh}.feature-grid{grid-template-columns:repeat(4,1fr)}.photo-strip img{width:38%}.stats{max-width:750px;margin:-30px auto 0;position:relative;z-index:4}.content{padding-left:28px;padding-right:28px}}
.calendar-sources{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:9px 0 0}
.calendar-sources span{font-size:.69rem;font-weight:900;background:#fff;border-radius:999px;padding:7px 10px;border:1px solid #ddd8cf}
.sync-note.synced{background:#e4efe6;color:#2d6240}.sync-note.sync-error{background:#f3e4df;color:#8b4a37}

/* v2.4: inicio fotográfico */
.splash{background-image:url("inicio-el-pisuco.jpg")!important;background-position:center!important;background-size:cover!important}
.splash-bg{display:block!important;opacity:1!important;filter:none!important}
.splash-overlay{background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(5,24,29,.48))!important}
.splash-content{text-shadow:0 2px 12px rgba(0,0,0,.35)}
.splash-logo-img{width:118px;height:118px;border-radius:28px;object-fit:cover;box-shadow:0 10px 35px rgba(0,0,0,.24)}
.brand-logo-img{width:46px;height:46px;border-radius:13px;object-fit:cover;flex:0 0 auto}
.minimum-stay-badge{display:inline-block;margin-top:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:7px 11px;border-radius:999px;font-size:.72rem;font-weight:900}
.day.min-stay-block{background:#dedbd3!important;color:#aaa!important;text-decoration:line-through;cursor:not-allowed}

/* v2.5 */
.hero{background:#182b2f url("inicio-el-pisuco.jpg") center/cover no-repeat}
.hero>img{display:block!important;opacity:1!important}

/* WhatsApp oficial visual: más alto para no interferir con la navegación */
.floating-whatsapp{
  right:16px!important;
  bottom:132px!important;
  width:58px!important;
  height:58px!important;
  background:#25D366!important;
  color:#fff!important;
  border:3px solid #fff;
  box-shadow:0 10px 30px rgba(0,0,0,.28)!important
}
.floating-whatsapp svg{width:31px;height:31px;display:block}

/* 6 accesos en navegación */
.bottom-nav{grid-template-columns:repeat(6,1fr)!important}
.nav-item small{font-size:.56rem!important}

/* Cuenta */
.account-card{background:#fff;border-radius:26px;padding:22px;box-shadow:0 14px 45px #10232910}
.account-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:#f2ede3;margin:0 auto 16px;font-size:1.8rem}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f2ede3;border-radius:999px;padding:4px;margin-bottom:18px}
.account-tab{border:0;background:transparent;padding:11px 8px;border-radius:999px;font-weight:800;color:#6f7878}
.account-tab.active{background:#fff;color:#102329;box-shadow:0 4px 14px #10232910}
.account-form{display:none;gap:12px}.account-form.active{display:grid}
.account-form label{font-size:.78rem;font-weight:800;display:grid;gap:6px}
.account-form input{border:1px solid #dedbd3;background:#faf8f3;border-radius:14px;padding:13px 14px;font-size:16px;outline:none}
.account-form input:focus{border-color:#d86a43}
.account-message{min-height:20px;margin:0;text-align:center;font-size:.78rem;color:#a14f3a}
.account-note{display:block;margin-top:14px;text-align:center;color:#7c8585;line-height:1.4}
.account-profile{text-align:center}.account-profile h2{font-size:2rem;margin:6px 0}.account-profile>p{color:#6e7777}
.profile-row{display:grid;grid-template-columns:38px 1fr;gap:10px;text-align:left;background:#f7f4ee;border-radius:16px;padding:14px;margin-top:9px}
.profile-row>span{font-size:1.4rem}.profile-row strong,.profile-row small{display:block}.profile-row small{margin-top:3px;color:#7b8484}
.secondary{border:0;background:#eee9df;color:#102329;border-radius:999px;padding:14px 18px;font-weight:900}

/* Calendario: distinguir fechas no válidas por estancia mínima */
.day.min-stay-block{
  position:relative;
  background:repeating-linear-gradient(135deg,#e4e1da 0,#e4e1da 5px,#f2f0eb 5px,#f2f0eb 9px)!important;
  color:#999!important;
  text-decoration:line-through
}

/* v2.6.1 */
.link-button{border:0;background:transparent;color:#b65136;font-weight:800;padding:10px;text-align:center}
.calendar-refresh{width:100%;border:1px solid #d8d4ca;background:#fff;color:#102329;border-radius:999px;padding:12px 14px;margin-top:9px;font-weight:900}
.calendar-refresh:disabled{opacity:.55}
.account-note.firebase{color:#37694b}


/* v2.6.2: cabecera, Google y administrador */
.app-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:8px!important;align-items:center!important}
.header-account-link{border:0;background:transparent;padding:0;min-width:0;text-align:left;color:inherit}
.app-header .language-select{justify-self:center;position:static!important;margin:0!important}
.header-user{justify-self:end;border:0;background:#fff;border-radius:999px;min-height:44px;max-width:118px;padding:8px 11px;display:flex;align-items:center;gap:6px;font-weight:900;color:#102329;box-shadow:0 3px 13px #1023290d;overflow:hidden}
.header-user-icon{color:#d86a43;font-size:.75rem;flex:0 0 auto}.header-user #headerUserName{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem}
@media(max-width:430px){.brand>div{display:none}.brand-logo-img{width:42px;height:42px}.header-user{max-width:92px}.language-select{padding:9px 8px}}
.google-login{width:100%;min-height:48px;border:1px solid #d8d4ca;background:#fff;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:900;color:#253238;margin:4px 0 14px}.google-g{font-size:1.25rem;font-weight:900;color:#4285f4}
.account-divider{display:flex;align-items:center;gap:10px;color:#899091;font-size:.7rem;margin-bottom:14px}.account-divider:before,.account-divider:after{content:"";height:1px;background:#e0ddd6;flex:1}.account-divider span{white-space:nowrap}
.admin-panel{margin-top:18px;padding:18px;border-radius:20px;background:#102329;color:#fff;text-align:left}.admin-panel h3{font-size:1.35rem;margin:8px 0}.admin-panel p{color:#d1d9da;font-size:.82rem;line-height:1.45}.admin-badge{display:inline-block;background:#d86a43;border-radius:999px;padding:6px 9px;font-size:.65rem;font-weight:900;letter-spacing:.08em}.admin-panel label{display:grid;gap:6px;font-size:.75rem;font-weight:800;margin-top:10px}.admin-panel input{width:100%;border:0;border-radius:12px;background:#fff;color:#102329;padding:13px;font-size:16px}.admin-panel .secondary{background:#ffffff1a;color:#fff}.admin-message{min-height:20px;text-align:center!important;color:#fff!important}.day .day-price{display:block;font-size:.5rem;line-height:1;margin-top:2px;opacity:.7}.day.has-price{outline:2px solid #d86a4355}.day{display:flex;flex-direction:column;align-items:center;justify-content:center}

/* v2.7: seguridad de disponibilidad y tarifas */
.day.range-blocked{
  background:#d5d2cc!important;
  color:#8f8f8f!important;
  text-decoration:line-through;
  opacity:.72
}
.day .day-price{
  display:block;
  font-size:.55rem;
  line-height:1;
  margin-top:2px;
  opacity:.68;
  font-weight:800
}
.day.custom-price .day-price{
  color:#d86a43;
  opacity:1
}
.day.busy .day-price,
.day.range-blocked .day-price,
.day.min-stay-block .day-price{
  opacity:.35
}

/* v2.7.1: foto de contacto */
.contact-photo{
  width:124px;
  height:124px;
  border-radius:50%;
  object-fit:cover;
  display:block;
  margin:0 auto 14px;
  border:5px solid #fff;
  box-shadow:0 10px 28px rgba(16,35,41,.18)
}

/* v2.8 — reservas y administración */
.booking-confirmation{background:#fff;border-radius:24px;padding:22px;margin-top:14px;text-align:center}
.booking-confirmation .success-icon{margin:0 auto 10px}
.locator-box{background:#f5f1e9;border-radius:16px;padding:14px;margin-top:14px}
.locator-box span,.locator-box strong{display:block}
.locator-box span{font-size:.72rem;opacity:.58;text-transform:uppercase;letter-spacing:.08em}
.locator-box strong{font-size:1.45rem;margin-top:4px;letter-spacing:.06em}
.stay-empty{background:#fff;border-radius:24px;padding:28px;text-align:center}
.stay-empty>span{font-size:2.2rem}.stay-empty h2{margin:10px 0 7px}.stay-empty p{color:#6d7778;line-height:1.45}
.user-bookings-list,.admin-bookings-list{display:grid;gap:12px}
.booking-card{background:#fff;border-radius:22px;padding:18px;box-shadow:0 12px 36px #1023290d}
.booking-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.booking-locator{font-size:.72rem;letter-spacing:.08em;opacity:.55}
.booking-status{display:inline-flex;border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:900}
.booking-status.pending{background:#fff0d4;color:#8f6118}
.booking-status.confirmed{background:#dff0e2;color:#2f6840}
.booking-status.cancelled{background:#f0dfdc;color:#8c4a42}
.booking-dates{font-size:1.12rem;font-weight:900;margin:12px 0 8px}
.booking-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.78rem;color:#667173}
.booking-meta div{background:#f7f4ee;border-radius:12px;padding:10px}
.booking-total{font-size:1.15rem;font-weight:900;margin-top:12px}
.admin-section{margin-top:18px;background:#102329;color:#fff;border-radius:24px;padding:18px}
.admin-section-head{display:flex;justify-content:space-between;gap:12px;align-items:center}
.admin-section-head small{color:#f49b7c;font-weight:900;letter-spacing:.1em}
.admin-section-head h3{margin:3px 0 0;font-size:1.6rem}
.admin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.admin-stats div{background:#ffffff12;border-radius:14px;padding:12px;text-align:center}
.admin-stats strong,.admin-stats span{display:block}.admin-stats strong{font-size:1.35rem}.admin-stats span{font-size:.65rem;opacity:.65}
.admin-bookings-list .booking-card{color:#102329}
.admin-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.admin-actions button{border:0;border-radius:999px;padding:10px 12px;font-weight:900;font-size:.75rem}
.btn-confirm{background:#dff0e2;color:#2f6840}.btn-cancel{background:#f0dfdc;color:#8c4a42}
.btn-cancel.is-loading{display:inline-flex;align-items:center;gap:7px;cursor:wait;opacity:.9}
.btn-cancel.is-loading::before{content:"";width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cancelSpinV336 .75s linear infinite}
@keyframes cancelSpinV336{to{transform:rotate(360deg)}}


/* v2.9.1 — suplemento y descuento dentro del resumen */
.booking-summary .pricing-note-inline{
  display:block;
  padding-top:10px;
  margin-top:4px;
  border-top:1px solid #ece5dc;
  color:#758080;
  line-height:1.4;
  font-size:.72rem;
}

/* v2.9.2 — galería, reseñas y guía */
.gallery-open-btn{margin-top:12px}
.all-photos-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.photo-tile{border:0;padding:0;background:none;border-radius:18px;overflow:hidden;aspect-ratio:1/1;cursor:pointer}
.photo-tile img{width:100%;height:100%;object-fit:cover;display:block}
.photo-lightbox-v292{position:fixed;inset:0;background:#000d;z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px}
.photo-lightbox-v292 img{max-width:96%;max-height:82%;border-radius:14px;object-fit:contain}
.photo-lightbox-v292 button{position:absolute;top:18px;right:18px;width:46px;height:46px;border:0;border-radius:999px;background:#fff;color:#102329;font-size:28px}
.reviews-full-access{margin-top:18px;background:#fff;border-radius:22px;padding:18px}
.reviews-full-access h3{margin:4px 0 6px}.reviews-full-access p{color:#6f797a;line-height:1.45}
.guide-content{display:grid;gap:18px}
.guide-category{background:#fff;border-radius:24px;padding:18px}
.guide-category-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.guide-category-head>span{font-size:2rem}.guide-category-head h2{margin:2px 0 0}
.guide-category-head small{font-weight:900;letter-spacing:.09em;opacity:.55}
.guide-cards{display:grid;gap:10px}
.guide-card{background:#f7f4ee;border-radius:16px;padding:14px}
.guide-card strong{display:block;margin-bottom:4px}.guide-card p{margin:0;color:#6f797a;line-height:1.45}

/* v2.9.3 */
.reviews-native-v293{display:grid;gap:16px}.reviews-score-v293{display:flex;gap:16px;align-items:center;background:#fff;border-radius:24px;padding:18px}.score-big{font-size:2.8rem;font-weight:900}.reviews-score-v293 strong,.reviews-score-v293 span{display:block}.reviews-score-v293 span{color:#6f797a}
.ratings-grid-v293{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ratings-grid-v293 div{background:#fff;border-radius:15px;padding:12px;display:flex;justify-content:space-between}.ratings-grid-v293 span{color:#697475;font-size:.78rem}
.review-distribution-v293{background:#fff;border-radius:20px;padding:14px;display:grid;gap:8px}.review-distribution-v293>div{display:grid;grid-template-columns:34px 1fr 42px;gap:9px;align-items:center;font-size:.75rem}.review-distribution-v293>div>div{height:7px;background:#e8e6e2;border-radius:999px;overflow:hidden}.review-distribution-v293 i{display:block;height:100%;background:#747b7c}
.review-topics-v293{display:flex;gap:7px;flex-wrap:wrap}.review-topics-v293 span{background:#ece9e4;border-radius:999px;padding:7px 10px;font-size:.7rem}.native-review-list-v293{display:grid;gap:10px}.native-review-card{background:#fff;border-radius:18px;padding:15px}.native-review-card>div{display:flex;justify-content:space-between;gap:10px}.native-review-card span{font-size:.7rem;color:#778181}.native-review-card p{margin:7px 0 0;line-height:1.48;color:#5f696a}.reviews-note-v293{font-size:.7rem;color:#7b8585;line-height:1.45}
.home-gallery-v293{margin:18px 16px}.text-button-v293{border:0;background:none;font:inherit;font-weight:800;color:#667172}.home-gallery-track-v293{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory}.home-photo-v293{border:0;padding:0;border-radius:20px;overflow:hidden;aspect-ratio:4/3;scroll-snap-align:start}.home-photo-v293 img{width:100%;height:100%;object-fit:cover;display:block}.nav-guide-icon-v293{display:inline-flex;color:#7a8082}
.guide-v293{display:grid;gap:14px}.guide-filter-v293{display:flex;gap:8px;overflow-x:auto}.guide-filter-v293 button{border:1px solid #d9d6d1;background:#f7f4ee;color:#677172;border-radius:999px;padding:9px 12px;white-space:nowrap;font-weight:800}.guide-filter-v293 button.active{background:#6d7476;color:#fff;border-color:#6d7476}.guide-cards-v293{display:grid;gap:10px}.guide-place-v293{background:#fff;border-radius:19px;padding:14px;display:flex;gap:12px}.guide-place-v293[hidden]{display:none}.guide-place-v293>span{width:38px;height:38px;border-radius:12px;background:#f1efeb;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.guide-place-v293 small{font-size:.62rem;color:#858d8d;font-weight:900}.guide-place-v293 h3{margin:2px 0 5px}.guide-place-v293 p{margin:0;color:#697475;line-height:1.45;font-size:.82rem}

/* v2.9.4 — la única galería está en "Conoce El Pisuco" */
.photo-strip-v294{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:78%;
  gap:12px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:2px 0 8px;
}
.home-strip-photo-v294{
  border:0;
  padding:0;
  background:transparent;
  border-radius:24px;
  overflow:hidden;
  aspect-ratio:4/3;
  scroll-snap-align:start;
}
.home-strip-photo-v294 img{width:100%;height:100%;object-fit:cover;display:block}
.photo-lightbox-v294{position:fixed;inset:0;background:#000e;z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}
.photo-lightbox-v294 img{max-width:96%;max-height:84%;object-fit:contain;border-radius:14px}
.photo-lightbox-v294 button{position:absolute;right:18px;top:18px;width:46px;height:46px;border:0;border-radius:50%;font-size:28px;background:#fff;color:#263235}

.reviews-native-v294{display:grid;gap:16px}
.reviews-disclosure-v294{background:#f0ede7;border-radius:18px;padding:14px;color:#687273}
.reviews-disclosure-v294 strong{display:block;color:#273638;margin-bottom:5px}
.reviews-disclosure-v294 p{margin:0;font-size:.75rem;line-height:1.45}

.guide-v294{display:grid;gap:14px}
.guide-cards-v294{display:grid;gap:10px}
.guide-place-v294{background:#fff;border-radius:19px;padding:14px;display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit}
.guide-place-v294[hidden]{display:none}
.guide-place-v294>span{width:38px;height:38px;border-radius:12px;background:#f1efeb;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.guide-place-v294 small{font-size:.62rem;letter-spacing:.06em;color:#858d8d;font-weight:900}
.guide-place-v294 h3{margin:2px 0 5px;font-size:1rem}
.guide-place-v294 p{margin:0;color:#697475;line-height:1.45;font-size:.82rem}
.guide-place-v294 b{display:block;margin-top:8px;color:#6d7476;font-size:.72rem}

/* v2.9.5 - guía visual basada en la guía enviada */
.guide-cards-v295{display:grid;gap:16px}
.guide-place-v295{display:block;background:#fff;border-radius:20px;overflow:hidden;text-decoration:none;color:inherit;box-shadow:0 4px 18px rgba(0,0,0,.06)}
.guide-place-v295[hidden]{display:none}
.guide-place-v295>img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#ecebea}
.guide-place-body-v295{padding:14px 15px 16px}
.guide-place-body-v295 small{font-size:.64rem;letter-spacing:.07em;color:#858d8d;font-weight:900}
.guide-place-body-v295 h3{margin:4px 0 7px;font-size:1.06rem;line-height:1.25}
.guide-place-body-v295 p{margin:0;color:#697475;line-height:1.45;font-size:.84rem}
.guide-place-body-v295 b{display:block;margin-top:10px;color:#6d7476;font-size:.75rem}

/* v2.9.6: 7 navigation items + reliable contact/guide icons */
.bottom-nav{grid-template-columns:repeat(7,minmax(0,1fr))!important}
.nav-item{min-width:0!important}.nav-item small{font-size:.50rem!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.nav-contact-icon-v296,.nav-guide-icon-v293{display:inline-flex!important;align-items:center;justify-content:center;width:24px;height:24px;color:currentColor}
.nav-contact-icon-v296 svg,.nav-guide-icon-v293 svg{display:block!important;width:22px;height:22px}

/* v3.0 — Estado de pago Stripe/D1 */
.payment-row-v30{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #10232912}
.payment-label-v30{font-size:.75rem;font-weight:800;color:#52666d}
.payment-status-v30{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:900}
.payment-status-v30.pending{background:#fff0d4;color:#8f6118}
.payment-status-v30.paid{background:#dff0e2;color:#2f6840}


/* v3.0.5 — panel de administración centrado y botones táctiles fiables */
#adminBookings{
  width:min(100%,680px);
  margin:22px auto 0;
  padding:20px;
}
#adminBookings .admin-section-head{
  justify-content:center;
  text-align:center;
  position:relative;
  min-height:52px;
}
#adminBookings .admin-section-head > div{
  width:100%;
  text-align:center;
}
#adminBookings #refreshAdminBookings{
  position:absolute;
  right:0;
  top:0;
}
#adminBookings .admin-stats{
  width:100%;
  max-width:540px;
  margin:16px auto;
}
#adminBookingsList{
  width:100%;
  margin:0 auto;
}
#adminBookingsList .booking-card{
  width:100%;
  margin:0 auto;
  text-align:left;
}
#adminBookings .admin-actions{
  justify-content:center;
  gap:10px;
  width:100%;
}
#adminBookings .admin-actions button{
  min-width:126px;
  min-height:44px;
  padding:12px 18px;
  cursor:pointer;
  touch-action:manipulation;
  position:relative;
  z-index:2;
}
#adminBookings .admin-actions button:disabled{
  opacity:.6;
}
@media(max-width:520px){
  #adminBookings{
    width:100%;
    margin:18px auto 0;
    padding:16px;
  }
  #adminBookings .admin-section-head{
    display:grid;
    justify-items:center;
    gap:10px;
  }
  #adminBookings #refreshAdminBookings{
    position:static;
    justify-self:center;
  }
  #adminBookings .admin-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  #adminBookings .admin-actions button{
    flex:1 1 44%;
    min-width:0;
  }
}


/* =========================================================
   v3.1.0 — identidad visual, políticas de cancelación y registro
   ========================================================= */

/* Nueva pantalla de carga: protagonista el nuevo logo */
.splash{
  background:#056F9F!important;
  background-image:none!important;
}
.splash-bg{display:none!important}
.splash-overlay{
  background:
    radial-gradient(circle at 50% 34%,rgba(255,255,255,.18),transparent 38%),
    linear-gradient(155deg,#003d6b 0%,#00a8d8 52%,#ff9a16 100%)!important
}
.splash-content{padding:24px}
.splash-logo-img{
  width:min(72vw,330px)!important;
  height:auto!important;
  border-radius:25%!important;
  object-fit:contain!important;
  box-shadow:0 22px 60px rgba(39,0,20,.30)!important;
}
.splash h1{margin-top:22px!important}
.brand-logo-img{object-fit:contain!important;background:transparent!important}

.cancellation-policy-v310{
  background:#fff;
  border-radius:24px;
  padding:17px;
  margin-top:14px;
  box-shadow:0 12px 36px #1023290b
}
.policy-title-v310 small,.registration-card-v310>small{
  color:#b65136;
  font-weight:900;
  letter-spacing:.13em;
  font-size:.66rem
}
.policy-title-v310 h3{margin:5px 0 5px;font-size:1.35rem}
.policy-title-v310 p{margin:0 0 13px;color:#697477;font-size:.8rem;line-height:1.4}
.policy-card-v310{
  display:grid;
  grid-template-columns:23px 1fr;
  gap:10px;
  align-items:start;
  border:1.5px solid #dedbd3;
  border-radius:17px;
  padding:13px;
  margin-top:9px;
  cursor:pointer;
  transition:.16s
}
.policy-card-v310 input{position:absolute;opacity:0;pointer-events:none}
.policy-card-v310.selected{border-color:#102329;box-shadow:0 0 0 1px #102329 inset;background:#fcfbf8}
.policy-radio-v310{
  width:20px;height:20px;border:2px solid #a9afaf;border-radius:50%;margin-top:1px;position:relative
}
.policy-card-v310.selected .policy-radio-v310{border-color:#102329}
.policy-card-v310.selected .policy-radio-v310:after{
  content:"";position:absolute;inset:4px;border-radius:50%;background:#102329
}
.policy-copy-v310 strong{display:flex;justify-content:space-between;gap:10px;font-size:.96rem}
.policy-copy-v310 strong b{color:#b65136;white-space:nowrap}
.policy-copy-v310 small{display:block;margin-top:5px;color:#697477;font-size:.75rem;line-height:1.42}

.registration-card-v310{
  background:#fff;border-radius:24px;padding:20px;margin-top:16px;
  box-shadow:0 12px 36px #1023290b;text-align:left
}
.registration-card-v310 h2{margin:5px 0 14px;font-size:1.45rem}
.registration-row-v310{padding:13px 0;border-top:1px solid #ece8e0}
.registration-row-v310 span,.registration-row-v310 strong{display:block}
.registration-row-v310 span{font-size:.75rem;color:#6f797a;margin-bottom:5px}
.registration-row-v310 strong{font-size:.78rem;line-height:1.45;word-break:break-all}

.booking-policy-line-v310{
  margin-top:10px;padding:10px 12px;border-radius:14px;background:#f7f4ee;
  font-size:.75rem;line-height:1.4;color:#536063
}

/* v3.1.1 — interacción robusta en WebView */
.day{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.day.selected,.day.in-range{background:#d86a43!important;color:#fff!important;outline-color:#d86a43!important}
.policy-card-v310{touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
.policy-card-v310.selected{border-color:#d86a43!important;box-shadow:0 0 0 2px #d86a43 inset!important;background:#fff7f2!important}
.policy-card-v310.selected .policy-radio-v310{border-color:#d86a43!important}
.policy-card-v310.selected .policy-radio-v310:after{background:#d86a43!important}


/* v3.2.0 · amenities + payment success */
.amenities-title-v320 p{margin:.45rem 0 0;color:#687276;line-height:1.45}.amenities-grid-v320{display:grid;grid-template-columns:1fr 1fr;gap:10px}.amenities-grid-v320 article{background:#fff;border-radius:20px;padding:16px;min-height:98px;display:flex;flex-direction:column;justify-content:center;gap:10px;box-shadow:0 12px 34px #1023290b}.amenities-grid-v320 article span{font-size:1.55rem}.amenities-grid-v320 article strong{font-size:.9rem;line-height:1.25}.amenities-more-v320{width:100%;margin-top:12px;border:1px solid #d7d3ca;background:#fff;color:#102329;border-radius:16px;padding:14px;font-weight:900;font-size:.9rem}.amenities-modal-v320{position:fixed;inset:0;z-index:1400;background:#0008;display:none;align-items:flex-end}.amenities-modal-v320.show{display:flex}.amenities-sheet-v320{width:100%;max-height:88vh;background:#f7f4ee;border-radius:28px 28px 0 0;padding:20px 18px calc(28px + env(safe-area-inset-bottom));overflow:auto}.amenities-sheet-head-v320{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;position:sticky;top:-20px;background:#f7f4ee;padding:20px 0 12px;z-index:2}.amenities-sheet-head-v320 small{color:#d86a43;font-weight:900;letter-spacing:.12em}.amenities-sheet-head-v320 h2{margin:5px 0 0;font-size:1.55rem}.amenities-sheet-head-v320 button{border:0;background:#fff;width:40px;height:40px;border-radius:50%;font-size:1.5rem}.amenities-list-v320{display:grid;gap:8px}.amenities-list-v320>div{background:#fff;border-radius:15px;padding:14px;display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:center;font-weight:700}.payment-success-v320{position:fixed;inset:0;z-index:1600;background:rgba(16,35,41,.74);display:none;padding:24px;align-items:center;justify-content:center}.payment-success-v320.show{display:flex}.payment-success-card-v320{width:100%;max-width:430px;background:#fff;border-radius:30px;padding:30px 24px;text-align:center;box-shadow:0 28px 80px #0004}.payment-check-v320{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#d86a43;color:#fff;font-size:2.7rem;font-weight:900;box-shadow:0 12px 30px #d86a4340}.payment-success-card-v320>small{color:#d86a43;letter-spacing:.13em;font-weight:900}.payment-success-card-v320 h2{font-size:2rem;line-height:1.05;margin:8px 0 10px}.payment-success-card-v320 p{color:#667174;line-height:1.5}.payment-success-locator-v320{background:#f7f4ee;border-radius:18px;padding:14px;margin:18px 0;display:grid;gap:5px}.payment-success-locator-v320 span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6}.payment-success-locator-v320 strong{font-size:1.25rem;letter-spacing:.07em}.payment-success-close-v320{border:0;background:transparent;margin-top:12px;font-weight:800;color:#657174;padding:10px 20px}@media(min-width:850px){.amenities-grid-v320{grid-template-columns:repeat(4,1fr)}.amenities-sheet-v320{max-width:700px;margin:0 auto;border-radius:28px}.amenities-modal-v320{align-items:center;padding:30px}}


/* =========================================================
   v3.3.0 — logo, notificaciones y panel de administración
   ========================================================= */
.splash-logo-img{width:min(78vw,360px)!important;border-radius:22%!important;box-shadow:0 20px 55px rgba(0,44,77,.30)!important}
.brand-logo-img{transform:scale(1.06);transform-origin:center}
.admin-section-v330{background:linear-gradient(180deg,#fff 0%,#f7fbfc 100%);border:1px solid #dce9ec!important}
.admin-subtitle-v330{margin:5px 0 0;color:#718084;font-size:.78rem}
.admin-stats-v330{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;max-width:600px!important}
.admin-stats-v330>div{background:#fff;border:1px solid #e2ecee;border-radius:16px;padding:12px 9px;box-shadow:0 5px 16px rgba(0,56,79,.05)}
.admin-stats-v330 strong{font-size:1.05rem;color:#064b6a}.admin-stats-v330 span{font-size:.64rem;color:#7a8587;font-weight:800}
.admin-filters-v330{display:flex;gap:7px;overflow-x:auto;padding:2px 0 13px;scrollbar-width:none}.admin-filters-v330::-webkit-scrollbar{display:none}
.admin-filter-v330{border:1px solid #d7e3e5;background:#fff;color:#5c6b6e;border-radius:999px;padding:8px 11px;white-space:nowrap;font:inherit;font-size:.7rem;font-weight:900;cursor:pointer}
.admin-filter-v330.active{background:#075d7f;color:#fff;border-color:#075d7f}.admin-filter-v330 span{opacity:.75}
.admin-booking-card-v330{border:1px solid #dfeaec!important;border-radius:20px!important;padding:15px!important;box-shadow:0 8px 25px rgba(0,55,77,.07)!important}
.admin-booking-head-v330{align-items:flex-start!important}.admin-booking-head-v330 small{display:block;margin-top:3px;color:#778386;font-size:.7rem;word-break:break-all}
.admin-guest-name-v330{font-size:1rem!important;color:#153f50}.admin-status-stack-v330{display:grid;justify-items:end;gap:5px}
.admin-reservation-grid-v330{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}
.admin-reservation-grid-v330>div{background:#f5f8f8;border-radius:13px;padding:10px}.admin-reservation-grid-v330 small,.admin-money-grid-v330 small{display:block;font-size:.56rem;letter-spacing:.08em;color:#829092;font-weight:900;margin-bottom:4px}.admin-reservation-grid-v330 strong{font-size:.79rem;color:#344f58}
.admin-money-grid-v330{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:7px;margin:0 0 10px}.admin-money-grid-v330>span{background:#fff8e9;border-radius:12px;padding:9px}.admin-money-grid-v330 b{font-size:.82rem;color:#3c5057}.admin-money-grid-v330 .admin-total-v330{background:#e7f6fa}.admin-money-grid-v330 .admin-total-v330 b{font-size:1rem;color:#005a7c}
.admin-empty-v330{text-align:center;color:#7a8789;background:#f5f7f7;border-radius:16px;padding:25px 14px;font-size:.8rem}
@media(max-width:420px){.admin-money-grid-v330{grid-template-columns:1fr 1fr}.admin-money-grid-v330 .admin-total-v330{grid-column:1/-1}.admin-reservation-grid-v330{grid-template-columns:1fr 1fr}}


/* =========================================================
   v3.3.1 — Cuenta funcional
   ========================================================= */
.profile-action-v331{width:100%;border:0;text-align:left;font:inherit;cursor:pointer;background:transparent}.profile-action-v331>b{margin-left:auto;font-size:1.55rem;color:#8b989a}.profile-action-v331:active{transform:scale(.992)}
.account-data-modal-v331{position:fixed;inset:0;z-index:1700;background:rgba(16,35,41,.66);display:none;align-items:flex-end}.account-data-modal-v331.show{display:flex}.account-data-sheet-v331{width:100%;background:#fff;border-radius:28px 28px 0 0;padding:22px 20px calc(28px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px #0003}.account-data-head-v331{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.account-data-head-v331 small{color:#d86a43;font-weight:900;letter-spacing:.12em}.account-data-head-v331 h3{margin:4px 0 8px;font-size:1.6rem}.account-data-head-v331 button{border:0;background:#f4f5f3;width:40px;height:40px;border-radius:50%;font-size:1.5rem}.account-data-sheet-v331>p{color:#687477;line-height:1.45}.account-data-sheet-v331 label{display:grid;gap:6px;margin:13px 0;font-weight:800;font-size:.78rem}.account-data-sheet-v331 input{width:100%;box-sizing:border-box;border:1.5px solid #d8dedf;border-radius:14px;padding:13px 12px;font:inherit;background:#fff}.account-data-sheet-v331 .secondary{margin-top:9px}.account-data-message-v331{min-height:20px;margin:12px 0 4px}.account-data-note-v331{display:block;color:#7a8587;line-height:1.4;margin-top:8px}@media(min-width:700px){.account-data-modal-v331{align-items:center;justify-content:center;padding:28px}.account-data-sheet-v331{max-width:500px;border-radius:28px;padding:26px}}

/* ===== v3.3.2 · Acciones de la guía ===== */
.guide-place-v295{display:block;text-decoration:none;color:inherit}
.guide-actions-v332{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.guide-action-v332{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:13px;font-size:.82rem;font-weight:800;text-decoration:none!important;border:1px solid rgba(15,74,111,.13);background:#fff;color:#0b4166;box-shadow:0 4px 12px rgba(5,54,87,.08)}
.guide-action-v332.web{background:#eaf8ff}.guide-action-v332.menu{background:#fff3df}.guide-action-v332.maps{background:#eef7ef}
.guide-action-v332:active{transform:scale(.98)}

/* v3.3.9 — pago obligatorio para confirmar */
.pay-now-v339{width:100%;margin-top:12px;border:0;border-radius:14px;padding:13px 16px;font-weight:900;font-size:.92rem;cursor:pointer;background:#102329;color:#fff;box-shadow:0 8px 20px #10232922}
.payment-required-note-v339{margin-top:7px;font-size:.78rem;line-height:1.35;color:#6c6257;text-align:center;font-weight:700}

/* v3.3.11 · modal elegante para pago no completado */
.payment-cancel-v3311{position:fixed;inset:0;z-index:1601;background:rgba(16,35,41,.74);display:none;padding:24px;align-items:center;justify-content:center}.payment-cancel-v3311.show{display:flex}.payment-cancel-card-v3311{width:100%;max-width:430px;background:#fff;border-radius:30px;padding:30px 24px;text-align:center;box-shadow:0 28px 80px #0004}.payment-cancel-icon-v3311{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;margin:0 auto 18px;background:#f4f0e7;color:#d86a43;font-size:2.5rem;font-weight:900;border:2px solid #ead8cf}.payment-cancel-card-v3311>small{color:#d86a43;letter-spacing:.13em;font-weight:900}.payment-cancel-card-v3311 h2{font-size:1.85rem;line-height:1.08;margin:8px 0 10px;color:#102329}.payment-cancel-card-v3311>p{color:#667174;line-height:1.5;margin-bottom:16px}.payment-cancel-note-v3311{background:#f7f4ee;border-radius:18px;padding:14px;text-align:left;display:grid;grid-template-columns:32px 1fr;gap:10px;align-items:start}.payment-cancel-note-v3311>span{font-size:1.35rem}.payment-cancel-note-v3311 strong{display:block;color:#102329}.payment-cancel-note-v3311 p{margin:4px 0 0;color:#667174;font-size:.83rem;line-height:1.4}


/* v3.3.12 · solicitud de reembolso según política y antelación */
.refund-action-v3312{width:100%;margin-top:10px;border:1.5px solid #0b6387;background:#eef9fd;color:#075574;border-radius:14px;padding:12px 14px;font-weight:900;font-size:.88rem;cursor:pointer}.refund-action-v3312:active{transform:scale(.99)}
.refund-modal-v3312{position:fixed;inset:0;z-index:1705;background:rgba(16,35,41,.76);display:none;padding:24px;align-items:center;justify-content:center}.refund-modal-v3312.show{display:flex}.refund-card-v3312{width:100%;max-width:440px;background:#fff;border-radius:30px;padding:28px 22px;text-align:center;box-shadow:0 28px 80px #0004}.refund-icon-v3312{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:0 auto 17px;background:#e9f7fb;color:#056889;font-size:2rem;font-weight:950;border:2px solid #cde9f1}.refund-card-v3312>small{color:#0a6c8e;letter-spacing:.12em;font-weight:900}.refund-card-v3312 h2{font-size:1.8rem;line-height:1.08;margin:8px 0 9px;color:#102329}.refund-card-v3312>p{color:#667174;line-height:1.45;margin:0 0 15px}.refund-result-v3312{background:#f7f4ee;border-radius:18px;padding:15px;text-align:left;margin:12px 0}.refund-result-v3312 .refund-type-v3312{font-weight:950;font-size:1.02rem;color:#153f50}.refund-result-v3312 .refund-amount-v3312{font-size:1.55rem;font-weight:950;color:#0a6687;margin-top:5px}.refund-result-v3312 .refund-detail-v3312{font-size:.78rem;color:#687477;line-height:1.4;margin-top:7px}.refund-result-v3312.no-refund{background:#fff2ef}.refund-result-v3312.no-refund .refund-type-v3312,.refund-result-v3312.no-refund .refund-amount-v3312{color:#a5432e}.refund-note-v3312{font-size:.75rem;line-height:1.4;color:#697477;margin:12px 4px 15px}.refund-send-v3312{display:flex!important;text-decoration:none!important;align-items:center;justify-content:center}.refund-send-v3312.disabled{display:none!important}

/* v3.3.13 · limpiar Mi estancia */
.clear-stays-v3313{width:100%;margin-top:18px;border:1.5px solid #e0c9c1;background:#fff8f5;color:#a84d36;border-radius:16px;padding:13px 15px;font-weight:900;cursor:pointer}.clear-stays-v3313:active{transform:scale(.99)}.clear-stays-note-v3313{text-align:center;color:#7a8587;font-size:.72rem;line-height:1.4;margin:8px 10px 0}

/* v3.3.14 · estado de pago reembolsado */
.payment-status-v30.refunded{background:#edf7f1;color:#276749;border-color:#cfe7d7}
.refund-send-v3312:disabled{opacity:.65;cursor:wait}

/* v3.3.15 — reembolso integrado, sin alert/confirm del WebView */
.refund-card-v3312.refund-confirm-v3315 .refund-icon-v3312{background:#fff4ea;color:#d8653f;border-color:#ffd6c4}
.refund-card-v3312.refund-success-v3315 .refund-icon-v3312{background:#e9f8ef;color:#218553;border-color:#c8ead6;font-size:0}
.refund-card-v3312.refund-success-v3315 .refund-icon-v3312::after{content:"✓";font-size:2.2rem;font-weight:950}
.refund-card-v3312.refund-success-v3315 .refund-result-v3312{background:#eef9f3;border:1px solid #d4eee0;text-align:center}
.refund-card-v3312.refund-success-v3315 .refund-amount-v3312{color:#18784a;font-size:1.8rem}
.refund-success-meta-v3315{margin:8px 0 14px;padding:10px 12px;border-radius:14px;background:#f5f7f7;color:#667174;font-size:.72rem;line-height:1.45;word-break:break-all}
.refund-confirm-actions-v3315{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;width:100%}
.refund-back-v3315{border:1.5px solid #d8dfdf;background:#fff;color:#3e5055;border-radius:16px;padding:13px 10px;font-weight:900}
@media(max-width:420px){.refund-confirm-actions-v3315{grid-template-columns:1fr}.refund-card-v3312{padding:25px 18px}}


/* v3.5.1 · aceptación legal + diagnóstico FCM */
.legal-accept-v351{margin:16px 0 12px;padding:16px;border:1px solid rgba(23,66,78,.16);border-radius:18px;background:#fffdf8;box-shadow:0 8px 24px rgba(20,58,67,.05)}
.legal-check-v351{display:flex;gap:11px;align-items:flex-start;font-weight:700;line-height:1.45;color:#173f49;cursor:pointer}.legal-check-v351 input{width:20px;height:20px;min-width:20px;margin-top:1px;accent-color:#16738a}.legal-links-v351{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.legal-links-v351 button{border:0;background:#edf7f8;color:#12677c;border-radius:999px;padding:8px 10px;font-weight:800;font-size:12px}.legal-accept-v351>small{display:block;margin-top:9px;color:#6d7d81}.legal-accept-v351.error{border-color:#cf5c58;background:#fff7f6}.legal-accept-v351.error>small{color:#b33f3b;font-weight:700}
.legal-modal-v351{position:fixed;inset:0;z-index:9998;display:none;background:rgba(10,27,32,.58);padding:18px;align-items:flex-end;justify-content:center}.legal-modal-v351.show{display:flex}.legal-sheet-v351{width:min(680px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:24px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.25)}.legal-head-v351{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.legal-head-v351 small{font-weight:900;letter-spacing:.12em;color:#13809a}.legal-head-v351 h2{margin:5px 0 8px}.legal-head-v351 button{border:0;background:#eef4f5;border-radius:50%;width:38px;height:38px;font-size:24px}.legal-body-v351{color:#43575c;line-height:1.58}.legal-body-v351 h3{color:#173f49;margin:20px 0 6px;font-size:17px}.legal-body-v351 p{margin:7px 0}.legal-body-v351 ul{padding-left:20px}.legal-version-v351{display:block;text-align:center;margin-top:10px;color:#879397}
.push-diag-v351{margin-top:16px;padding:16px;border:1px solid rgba(22,115,138,.18);border-radius:18px;background:#f6fbfc}.push-diag-head-v351{display:flex;align-items:center;justify-content:space-between}.push-diag-head-v351 small{font-weight:900;letter-spacing:.08em;color:#16738a}.push-diag-head-v351 h3{margin:3px 0}.push-diag-dot-v351{width:13px;height:13px;border-radius:50%;background:#d2a644;box-shadow:0 0 0 5px rgba(210,166,68,.12)}.push-diag-v351.ok .push-diag-dot-v351{background:#2b9a67;box-shadow:0 0 0 5px rgba(43,154,103,.12)}.push-diag-v351.bad .push-diag-dot-v351{background:#c84f4f;box-shadow:0 0 0 5px rgba(200,79,79,.12)}.push-diag-v351 p{margin:10px 0 12px;color:#52676d;line-height:1.45}

/* v3.5.4 — ajuste de limpieza desde Administración */
.admin-cleaning-v354{margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}
.admin-cleaning-v354 h3{margin:0 0 8px}
.admin-cleaning-v354 p{margin:0 0 16px}


/* v3.5.6 — navegación clara, dirección exacta y WhatsApp corregido */
.bottom-nav-v356{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  padding:9px 7px calc(8px + env(safe-area-inset-bottom))!important;
  background:rgba(255,255,255,.985)!important;
  border-top:1px solid #e5e2db!important;
  box-shadow:0 -10px 28px rgba(16,35,41,.08)!important;
}
.bottom-nav-v356 .nav-item{gap:4px!important;padding:4px 1px 2px!important;color:#5e6b70!important;min-width:0!important}
.bottom-nav-v356 .nav-item.active{color:#d85f36!important}
.bottom-nav-v356 .nav-item small{font-size:.50rem!important;font-weight:700!important;line-height:1.05!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%!important}
.nav-icon-v356{width:26px;height:26px;display:grid!important;place-items:center;line-height:0}
.nav-icon-v356 svg{width:26px;height:26px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bottom-nav-v356 .nav-item[data-screen="reviews"] .nav-icon-v356 svg path:nth-child(2){fill:none}

.floating-whatsapp-v356{
  width:58px!important;height:58px!important;right:16px!important;bottom:126px!important;
  border-radius:50%!important;background:#25D366!important;color:#fff!important;
  border:2px solid #fff!important;box-shadow:0 8px 24px rgba(0,0,0,.24)!important;
  padding:0!important;overflow:hidden!important
}
.floating-whatsapp-v356 svg{width:36px!important;height:36px!important;display:block!important}
.whatsapp-button-v356{background:#25D366!important;color:#fff!important}
.whatsapp-icon-v356{width:24px;height:24px;display:block;flex:0 0 auto}
.contact-address-v356{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;text-align:left;background:#f1ede5;border-radius:18px;padding:14px 15px;margin-top:10px;color:#102329}
.contact-address-v356>svg{width:28px;height:28px;color:#d85f36}
.contact-address-v356 span{display:grid;gap:2px}.contact-address-v356 strong{font-size:.92rem}.contact-address-v356 b{font-size:.83rem;font-weight:700;color:#59676b}.contact-address-v356 small{font-size:.72rem;color:#17718a;font-weight:800;margin-top:4px}
