/* Ampliación visual V7 — Hotel Nutibara. Respeta la identidad vinotinto y el diseño de V6. */
.nav-reserve{background:#862b4b;color:#fff!important;border-radius:22px;padding:10px 14px;text-decoration:none;font-size:.85rem;font-weight:750;white-space:nowrap}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero-secondary{background:transparent!important;color:#fff!important;border:1px solid #ffffff80!important}
.whatsapp-float{position:fixed;z-index:130;right:22px;bottom:24px;background:#126b45;color:#fff!important;display:flex;align-items:center;gap:9px;padding:13px 18px;border-radius:32px;font-weight:750;text-decoration:none;box-shadow:0 6px 24px #0003;font-size:14px;transition:transform .2s}
.whatsapp-float:hover{transform:translateY(-2px)}.wa-dot{color:#a9f4ce;filter:drop-shadow(0 0 5px #fff6);font-size:17px}
.booking-columns{align-items:start}.booking-card{min-width:0}.booking-calendar{border:1px solid #eee4e5;background:#fbfaf9;padding:15px;border-radius:18px;margin:17px 0}
.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:14px;text-transform:capitalize}
.cal-switch{background:#fff;color:#792e48;border:1px solid #e8d4db;width:38px;height:38px;border-radius:50%;font-size:26px;cursor:pointer;line-height:1}
.cal-switch:disabled{opacity:.2;cursor:not-allowed}.cal-weekdays,.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.cal-weekdays{margin-bottom:7px;text-align:center;color:#7b6b72;font-size:12px;font-weight:800}.cal-days{min-height:220px}
.cal-day{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f1e8eb;border:1px solid #f1e2e6;border-radius:10px;color:#99858f;gap:3px;padding:3px 1px;cursor:not-allowed}
.cal-day b{font-size:14px}.cal-day small{font-size:9px;white-space:nowrap}.cal-day.has-rooms{background:#e9f5ec;border-color:#cfecdb;color:#175739;cursor:pointer}.cal-day.is-selected{background:#792c48!important;color:white!important;border-color:#792c48!important}.cal-day.in-range{background:#f1dfe6;border-color:#dfc1cf;color:#6c2640}
.calendar-legend{display:flex;gap:20px;font-size:12px;color:#696067;margin-top:13px;flex-wrap:wrap}.calendar-legend span{display:flex;align-items:center;gap:5px}
.calendar-legend i{display:inline-block;width:12px;height:12px;border-radius:4px}.legend-free{background:#d1ebd7}.legend-full{background:#eee2e6}
.booking-quote{background:#f8eef1;border:1px solid #e9d9df;color:#572c3a;padding:15px;border-radius:13px;font-weight:700;line-height:1.6}
.honeypot{display:none!important}.policy-details{margin:13px 0;font-size:13px;color:#524c4f}.policy-details summary{cursor:pointer;color:#852b4b;font-weight:750}
.payment-confirm-card{max-width:760px;margin:20px auto;padding:36px!important}.payment-confirm-card h1{font-size:clamp(1.5rem,4vw,2.4rem);line-height:1.2;margin:16px 0}
.pay-due{display:flex;flex-direction:column;gap:8px;background:#f8eef1;padding:22px;border-radius:17px;margin:24px 0}.pay-due small{text-transform:uppercase;letter-spacing:.09em;color:#7b646c}.pay-due strong{font-size:clamp(24px,4vw,38px);color:#7a2b49}
.payment-instructions{border:1px solid #e4d8dc;background:#fff;padding:23px;border-radius:16px;white-space:normal;margin-bottom:20px}
.payment-instructions p{white-space:pre-line;line-height:1.7}.guest-changes{margin-top:20px}.request-mini{display:grid;gap:9px;margin:15px 0}
.room-stack,.inventory-days,.request-list{display:grid;gap:11px}.room-overview{display:flex;gap:14px;justify-content:space-between;align-items:center;border:1px solid #efebe9;padding:13px;border-radius:12px}
.inventory-days{margin-top:19px;max-height:730px;overflow:auto}.inventory-day{display:grid;grid-template-columns:minmax(115px,1fr) 70px auto auto;gap:6px;align-items:center;padding:9px 0;border-bottom:1px solid #ede3e7}
.inventory-day small{display:block;color:#8b7881;font-size:11px}.inventory-day input{padding:8px 6px;width:100%}.inventory-day button{padding:9px 8px!important;min-width:0}
.request-card{margin:0}.request-card .grid{align-items:start}.payment-confirm-card .confirmation-top{margin-bottom:16px}
@media(max-width:900px){.navlinks{gap:8px}.nav-reserve{padding:9px 10px}.booking-columns{grid-template-columns:1fr!important}}
@media(max-width:650px){.whatsapp-float{bottom:13px;right:12px;font-size:12px;padding:11px 13px}.payment-confirm-card{padding:23px!important}.cal-day{min-height:51px}.cal-day small{font-size:8px}.calendar-header{font-size:13px}.inventory-day{grid-template-columns:1fr 58px auto auto}.inventory-day .button{font-size:10px;padding:6px!important}.room-overview{flex-wrap:wrap}.booking-quote{font-size:13px}}

/* Menú de gestión compacto para escritorio y móvil. */
.admin-nav{position:relative}.admin-nav summary{cursor:pointer;list-style:none;background:#f8eef1;color:#812c4a;padding:10px 14px;border-radius:11px;font-weight:800;font-size:13px;white-space:nowrap}
.admin-nav summary::-webkit-details-marker{display:none}.admin-dropdown{position:absolute;z-index:50;right:0;top:calc(100% + 8px);background:#fff;min-width:225px;max-width:min(90vw,320px);padding:12px;border:1px solid #e8dce0;box-shadow:0 15px 50px #0002;border-radius:14px;display:grid;gap:3px}
.admin-dropdown a{display:block;font-size:13px;padding:12px!important;border-radius:7px}.admin-dropdown form{padding-top:8px;border-top:1px solid #eee}
@media(max-width:700px){.navlinks{max-width:100%;justify-content:flex-end}.nav{flex-wrap:wrap;padding:12px 0}.navlinks a{font-size:12px!important}}
@media(max-width:500px){.brand{width:100%;justify-content:center}.navlinks{width:100%;justify-content:center;gap:4px}.navlinks a{padding:7px!important;font-size:11px!important}.admin-nav summary{font-size:11px;padding:8px}.nav-reserve{padding:8px!important}}

/* Hotel Nutibara V8 · editor rápido, galería, pagos y móvil */
.room-catalog{margin-bottom:25px}.room-catalog h2{font:400 30px Georgia,serif;margin:8px 0 14px}
.room-gallery-public{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:15px;margin-top:15px}
.room-choice{border:1px solid #e9dce0;border-radius:18px;background:#fff;text-align:left;padding:0;overflow:hidden;box-shadow:0 8px 25px #21141b09;min-width:0;transition:.18s}
.room-choice.selected,.room-choice:hover{border-color:var(--wine);box-shadow:0 10px 30px #58223921;transform:translateY(-2px)}
.room-choice img,.room-placeholder{width:100%;height:158px;display:block;object-fit:cover;background:#eee2e5}
.room-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:42px;color:#ad798f}.room-placeholder span{font-size:11px}
.room-choice-info{padding:16px;display:flex;flex-direction:column;gap:6px}.room-choice-info strong{font-size:17px;color:#3a2731}.room-choice-info small{font-size:12px;color:#71616b}
.room-choice-cta{font-size:12px;font-weight:800;color:var(--wine);margin-top:9px}
.bulk-avail{border:1px solid #e7cad4;background:linear-gradient(160deg,#fefbfc,#f9eef2);padding:19px;border-radius:17px;margin:22px 0}
.bulk-avail .sectionline{margin-top:0;padding-top:0;border:0}.quick-ranges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.daily-editor{margin:20px 0}.daily-editor>summary{cursor:pointer;background:#f8f2f4;color:var(--wine);font-weight:800;border-radius:10px;padding:13px}
.room-photos-admin{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:10px;margin:18px 0}
.photo-admin{min-width:0;border:1px solid #eee;border-radius:14px;padding:5px}.photo-admin img{width:100%;height:110px;object-fit:cover;border-radius:10px}
.photo-admin form{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.photo-admin button{font-size:10px!important;padding:6px!important}
.photo-upload{display:grid;gap:12px}.media-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;margin-top:18px}
.media-setting{border:1px solid #eae2e5;border-radius:15px;padding:17px;min-width:0}.media-setting h3{margin-top:0}.media-thumb{display:block;max-width:210px;max-height:155px;object-fit:contain;margin:15px 0;border-radius:8px;background:#f7f2f3}
.media-upload-form{display:grid;gap:12px;justify-items:start;margin-top:12px}.media-upload-form input{max-width:100%;min-width:0}
.pay-account-box{display:grid;gap:13px;background:#fff;border:1px solid #e5dbe0;border-radius:16px;padding:18px;margin:13px 0}
.pay-account-box>div:not(.smallcap){display:flex;flex-wrap:wrap;gap:7px 10px;align-items:center}.pay-account-box small{display:block;color:#776972;width:100%;font-size:11px;letter-spacing:.05em;text-transform:uppercase}
.pay-account-box strong{font-size:16px;color:#37212d;overflow-wrap:anywhere}.payment-number{font-size:clamp(17px,3vw,23px)!important;letter-spacing:.03em}
.payment-qr{object-fit:contain;width:min(100%,220px);height:auto;max-height:280px;display:block;border:1px solid #e9dce1;padding:8px;border-radius:13px;background:#fff;margin:8px auto}
.reservation-room-img{width:100%;max-height:170px;object-fit:cover;border-radius:12px;margin-top:12px}.hero-card .hero-cover{border-radius:16px;width:100%;height:180px;object-fit:cover}
/* Touch targets, mobile ordering and legibility */
@media(max-width:720px){.booking-card,.card{min-width:0}.booking-columns{display:flex;flex-direction:column;gap:15px}.room-gallery-public{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.room-choice img,.room-placeholder{height:125px}.room-choice-info{padding:11px}.room-choice-info strong{font-size:14px}.room-choice-info small{font-size:11px}.bulk-avail{padding:14px}.media-setting{padding:14px}}
@media(max-width:420px){.room-gallery-public{grid-template-columns:1fr 1fr}.room-choice img,.room-placeholder{height:100px}.room-choice-info{padding:9px}.room-choice-cta{font-size:11px}.bulk-avail .formgrid{gap:11px}.quick-ranges .button{flex:1;min-width:0;font-size:11px}.inventory-day{grid-template-columns:minmax(80px,1fr) 62px 1fr;gap:4px}.inventory-day button:last-child{grid-column:3}.navlinks{gap:3px}.navlinks a{min-height:36px}.pay-account-box{padding:12px}}

@media(max-width:420px){.navlinks a:not(.navbtn){display:inline-flex!important}.navlinks .admin-dropdown a{display:block!important}.navlinks{gap:3px}.nav-reserve{order:-1}.navlinks a{font-size:10px!important}}

.room-card-public{min-width:0;display:flex;flex-direction:column;gap:6px}.room-card-public .room-choice{height:100%}.room-gallery-more summary{cursor:pointer;font-weight:800;font-size:12px;color:var(--wine);padding:9px}.room-gallery-strip{display:flex;gap:8px;overflow-x:auto;padding:4px 4px 10px}.room-gallery-strip img{width:120px;height:90px;object-fit:cover;border-radius:9px}.home-service-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border:1px solid #e7dce2;padding:26px;border-radius:17px;margin-top:20px}.home-service-panel h2{font-family:Georgia,serif;font-size:25px;margin:8px 0}.home-service-panel p{color:#71636e;line-height:1.6}.home-service-panel .row{align-self:center}@media(max-width:650px){.home-service-panel{padding:18px}.home-service-panel .row{width:100%}.home-service-panel .row .button{width:100%}}
