:root{--jcr-ink:#17211d;--jcr-muted:#6d7772;--jcr-accent:#a7773d;--jcr-soft:#f6f2eb;--jcr-white:#fff;--jcr-line:#e5ded3}
.jcr-booking-wrap{font-family:inherit;color:var(--jcr-ink);background:linear-gradient(145deg,#fff 0%,#faf7f1 100%);border:1px solid var(--jcr-line);border-radius:24px;padding:clamp(24px,4vw,54px);box-shadow:0 22px 60px rgba(31,38,34,.09)}
.jcr-booking-heading{text-align:center;max-width:720px;margin:0 auto 28px}.jcr-booking-heading>span,.jcr-eyebrow,.jcr-hotel-content>span{color:var(--jcr-accent);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.jcr-booking-heading h2{font-size:clamp(30px,4vw,50px);line-height:1.05;margin:8px 0 12px}.jcr-booking-heading p{color:var(--jcr-muted);font-size:17px}
.jcr-search-form{display:grid;grid-template-columns:1.4fr repeat(3,1fr) auto;gap:12px;align-items:end;background:#fff;padding:16px;border:1px solid var(--jcr-line);border-radius:18px}.jcr-field label{display:block;font-size:12px;font-weight:700;margin:0 0 7px;color:#48524d}.jcr-field input,.jcr-field select{width:100%;height:50px;border:1px solid #dcd5cb!important;border-radius:10px!important;background:#fff;padding:0 13px;color:var(--jcr-ink);font-size:15px}
.jcr-primary-btn,.jcr-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:10px;padding:0 20px;font-weight:700;text-decoration:none!important;transition:.2s ease;cursor:pointer}.jcr-primary-btn{border:1px solid var(--jcr-accent);background:var(--jcr-accent);color:#fff!important}.jcr-primary-btn:hover{transform:translateY(-1px);filter:brightness(.92)}.jcr-primary-btn:disabled{opacity:.65;cursor:wait}.jcr-secondary-btn{border:1px solid var(--jcr-line);background:#fff;color:var(--jcr-ink)!important}
.jcr-results{margin-top:28px}.jcr-loading,.jcr-empty{text-align:center;padding:28px;border:1px dashed var(--jcr-line);border-radius:14px;color:var(--jcr-muted);background:#fff}.jcr-loading span{display:inline-block;width:16px;height:16px;border:2px solid #ddd;border-top-color:var(--jcr-accent);border-radius:50%;animation:jcrspin .7s linear infinite;margin-right:8px;vertical-align:-3px}@keyframes jcrspin{to{transform:rotate(360deg)}}
.jcr-room-card{display:grid;grid-template-columns:minmax(220px,30%) 1fr 190px;gap:24px;background:#fff;border:1px solid var(--jcr-line);border-radius:18px;overflow:hidden;margin-bottom:18px;box-shadow:0 10px 28px rgba(31,38,34,.06)}.jcr-room-image{position:relative;min-height:260px;background:#eee}.jcr-room-image img{width:100%;height:100%;object-fit:cover;position:absolute}.jcr-availability{position:absolute;left:14px;top:14px;background:rgba(23,33,29,.88);color:#fff;border-radius:999px;padding:7px 11px;font-size:12px}.jcr-room-info{padding:28px 0}.jcr-room-info h3{font-size:27px;margin:6px 0 10px}.jcr-room-info p{color:var(--jcr-muted);line-height:1.65}.jcr-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.jcr-features span{background:var(--jcr-soft);border-radius:999px;padding:7px 10px;font-size:12px}.jcr-room-book{padding:26px 22px 26px 0;display:flex;flex-direction:column;justify-content:center;text-align:right}.jcr-price small,.jcr-price span,.jcr-total small{display:block;color:var(--jcr-muted);font-size:12px}.jcr-price strong{font-size:27px}.jcr-total{border-top:1px solid var(--jcr-line);padding:15px 0;margin-top:14px}.jcr-room-book .jcr-primary-btn{width:100%;margin-top:8px}
.jcr-hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.jcr-hotel-card{border:1px solid var(--jcr-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 12px 35px rgba(31,38,34,.07)}.jcr-hotel-image{height:260px;background:#eee}.jcr-hotel-image img{width:100%;height:100%;object-fit:cover}.jcr-hotel-content{padding:25px}.jcr-hotel-content h3{font-size:25px;margin:7px 0 10px}.jcr-hotel-content p{color:var(--jcr-muted)}.jcr-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
@media(max-width:980px){.jcr-search-form{grid-template-columns:repeat(2,1fr)}.jcr-search-form .jcr-primary-btn{grid-column:1/-1}.jcr-room-card{grid-template-columns:240px 1fr}.jcr-room-book{grid-column:1/-1;padding:20px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:18px;text-align:left;border-top:1px solid var(--jcr-line)}.jcr-total{border-top:0;padding:0;margin:0}.jcr-hotel-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.jcr-booking-wrap{padding:20px;border-radius:16px}.jcr-search-form{grid-template-columns:1fr}.jcr-search-form .jcr-primary-btn{grid-column:auto}.jcr-room-card{display:block}.jcr-room-image{height:230px}.jcr-room-info{padding:22px}.jcr-room-book{display:block;padding:22px;text-align:left}.jcr-total{margin:12px 0}.jcr-hotel-grid{grid-template-columns:1fr}}

.jcr-gallery-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(180px,1fr));gap:8px;border-radius:18px;overflow:hidden;min-height:460px}.jcr-gallery-tile{position:relative;border:0;padding:0;overflow:hidden;background:#eee;cursor:pointer}.jcr-gallery-tile.is-main{grid-row:1/3}.jcr-gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.jcr-gallery-tile:hover img{transform:scale(1.03)}.jcr-gallery-count{position:absolute;right:18px;bottom:18px;background:rgba(23,33,29,.88);color:#fff;border-radius:999px;padding:10px 14px;font-weight:700}.jcr-lightbox{position:fixed;inset:0;z-index:999999;background:rgba(8,12,10,.94);display:none;align-items:center;justify-content:center;padding:40px}.jcr-lightbox.is-open{display:flex}.jcr-lightbox img{max-width:min(1100px,88vw);max-height:88vh;object-fit:contain}.jcr-lightbox-close,.jcr-lightbox-prev,.jcr-lightbox-next{position:absolute;border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:50%;cursor:pointer}.jcr-lightbox-close{right:24px;top:24px;width:48px;height:48px;font-size:32px}.jcr-lightbox-prev,.jcr-lightbox-next{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:42px}.jcr-lightbox-prev{left:24px}.jcr-lightbox-next{right:24px}@media(max-width:760px){.jcr-gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 150px;min-height:0}.jcr-gallery-tile.is-main{grid-column:1/3;grid-row:auto}.jcr-gallery-tile:nth-child(n+4){display:none}.jcr-lightbox{padding:18px}.jcr-lightbox-prev{left:8px}.jcr-lightbox-next{right:8px}}

/* Página individual de alojamiento v1.3 */
.jcr-single-hotel-page #main-content{background:#f6f7f9!important}
.jcr-single-hotel-page #left-area{width:100%!important;padding:0!important}
.jcr-single-hotel-page #sidebar,.jcr-single-hotel-page #main-content .container:before{display:none!important}
.jcr-hotel-single{background:#f6f7f9;color:#1f2937;font-family:inherit}
.jcr-hotel-container{width:min(1240px,calc(100% - 40px));margin:0 auto}
.jcr-hotel-hero{padding:54px 0 34px;background:linear-gradient(180deg,#fff 0%,#f6f7f9 100%)}
.jcr-hotel-topline{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.jcr-hotel-kicker,.jcr-section-kicker{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#9a6b22}
.jcr-direct-badge{background:#edf8f0;color:#20733b;border:1px solid #ccebd5;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:700}
.jcr-hotel-single h1{font-size:clamp(38px,5vw,64px);line-height:1.05;margin:0 0 14px;color:#18181b;letter-spacing:-.03em}
.jcr-hotel-contact-row{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:26px;color:#5f6672;font-size:15px}
.jcr-hotel-contact-row a{color:#5f6672;text-decoration:none}
.jcr-hotel-main-section{padding:20px 0 72px}
.jcr-hotel-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
.jcr-hotel-main-content{display:grid;gap:28px;min-width:0}
.jcr-hotel-panel,.jcr-hotel-side-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:32px;box-shadow:0 10px 35px rgba(17,24,39,.05)}
.jcr-hotel-panel h2{margin:5px 0 18px;font-size:30px;color:#18181b}
.jcr-rich-text{font-size:16px;line-height:1.8;color:#4b5563}
.jcr-rich-text p:last-child{margin-bottom:0}
.jcr-hotel-sidebar{position:sticky;top:110px}
.jcr-hotel-side-card h3{font-size:24px;line-height:1.25;margin:6px 0 18px;color:#18181b}
.jcr-hotel-side-card ul{list-style:none!important;padding:0!important;margin:0 0 24px!important}
.jcr-hotel-side-card li{position:relative;padding:10px 0 10px 27px;border-bottom:1px solid #edf0f3;color:#4b5563}
.jcr-hotel-side-card li:before{content:'✓';position:absolute;left:0;color:#20733b;font-weight:800}
.jcr-hotel-side-card .jcr-primary-btn{width:100%;text-align:center}
.jcr-section-heading-row{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.jcr-section-heading-row h2{margin-bottom:0}
.jcr-text-link{font-weight:700;text-decoration:none;color:#9a6b22;white-space:nowrap}
.jcr-single-room-list{display:grid;gap:16px}
.jcr-single-room-card{display:grid;grid-template-columns:220px minmax(0,1fr) 165px;gap:20px;align-items:stretch;border:1px solid #e4e7eb;border-radius:14px;overflow:hidden;background:#fff;transition:.2s ease}
.jcr-single-room-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(17,24,39,.08)}
.jcr-single-room-photo{min-height:180px;background:#eceff2;display:block}
.jcr-single-room-photo img{width:100%;height:100%;object-fit:cover;display:block}
.jcr-photo-placeholder{display:flex;width:100%;height:100%;min-height:180px;align-items:center;justify-content:center;text-align:center;padding:20px;color:#777}
.jcr-single-room-details{padding:22px 0}
.jcr-room-type{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#9a6b22}
.jcr-single-room-details h3{font-size:21px;line-height:1.25;margin:5px 0 12px;color:#18181b}
.jcr-room-summary{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;color:#59616d;margin-bottom:14px}
.jcr-room-chips{display:flex;flex-wrap:wrap;gap:7px}
.jcr-room-chips span{font-size:12px;padding:6px 9px;border-radius:999px;background:#f3f5f7;color:#4b5563}
.jcr-single-room-price{padding:22px 20px;border-left:1px solid #e8eaed;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;text-align:right}
.jcr-single-room-price small,.jcr-single-room-price span{font-size:12px;color:#6b7280}
.jcr-single-room-price strong{display:block;font-size:24px;color:#18181b;margin:2px 0}
.jcr-single-room-price .jcr-primary-btn{margin-top:14px;font-size:13px;padding:12px 14px;text-align:center;width:100%}
.jcr-hotel-booking-section{padding:72px 0;background:#ede8df}
.jcr-hotel-booking-section .jcr-booking-wrap{margin:0}
.jcr-hotel-single .jcr-gallery-mosaic{border-radius:18px;overflow:hidden;box-shadow:0 16px 45px rgba(17,24,39,.12)}
@media(max-width:980px){.jcr-hotel-layout{grid-template-columns:1fr}.jcr-hotel-sidebar{position:static}.jcr-single-room-card{grid-template-columns:180px minmax(0,1fr)}.jcr-single-room-price{grid-column:1/-1;border-left:0;border-top:1px solid #e8eaed;flex-direction:row;align-items:center;gap:8px;text-align:left}.jcr-single-room-price .jcr-primary-btn{margin:0 0 0 auto;width:auto}}
@media(max-width:640px){.jcr-hotel-container{width:min(100% - 24px,1240px)}.jcr-hotel-hero{padding-top:32px}.jcr-hotel-topline{align-items:flex-start;flex-direction:column}.jcr-hotel-panel,.jcr-hotel-side-card{padding:22px;border-radius:14px}.jcr-section-heading-row{align-items:flex-start;flex-direction:column}.jcr-single-room-card{grid-template-columns:1fr}.jcr-single-room-photo{min-height:210px}.jcr-single-room-details{padding:0 18px 8px}.jcr-single-room-price{grid-column:auto;padding:18px;flex-wrap:wrap}.jcr-single-room-price .jcr-primary-btn{width:100%;margin:8px 0 0}.jcr-hotel-single h1{font-size:38px}}

/* Galería compacta v1.4: solo cinco fotografías en la página; el resto permanece disponible en el visor. */
.jcr-gallery-mosaic .jcr-gallery-tile.is-gallery-hidden{display:none!important}
.jcr-gallery-count{display:inline-flex;align-items:center;gap:8px;background:#fff!important;color:#1f2937!important;border:1px solid rgba(31,41,55,.16);box-shadow:0 6px 18px rgba(15,23,42,.18);font-size:14px;line-height:1.2}
.jcr-gallery-grid-icon{font-size:18px;line-height:1}
.jcr-lightbox{backdrop-filter:blur(4px)}
.jcr-lightbox img{border-radius:10px;box-shadow:0 20px 70px rgba(0,0,0,.35)}
@media(max-width:760px){.jcr-gallery-mosaic .jcr-gallery-tile:nth-child(n+4){display:none!important}.jcr-gallery-mosaic .jcr-gallery-tile:nth-child(3) .jcr-gallery-count{display:inline-flex}.jcr-gallery-count{right:10px;bottom:10px;padding:8px 10px;font-size:12px}}

/* v1.5 — Opción A: las habitaciones solo se abren en modal dentro del alojamiento. */
.jcr-single-room-photo{position:relative;border:0;padding:0;cursor:pointer;text-align:left}.jcr-photo-overlay{position:absolute;left:12px;bottom:12px;background:rgba(20,25,23,.82);color:#fff;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:700;opacity:0;transform:translateY(4px);transition:.2s}.jcr-single-room-photo:hover .jcr-photo-overlay{opacity:1;transform:none}.jcr-room-title-button{appearance:none;border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}.jcr-room-title-button:hover{color:#9a6b22}.jcr-single-room-price button.jcr-primary-btn{line-height:1.2}
.jcr-room-modal{position:fixed;inset:0;z-index:1000000;display:none;align-items:center;justify-content:center;padding:24px}.jcr-room-modal.is-open{display:flex}.jcr-room-modal-backdrop{position:absolute;inset:0;background:rgba(15,18,17,.72);backdrop-filter:blur(4px)}.jcr-room-modal-dialog{position:relative;z-index:1;width:min(1240px,96vw);max-height:90vh;display:grid;grid-template-columns:minmax(0,58%) minmax(360px,42%);background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.34)}.jcr-room-modal-close{position:absolute;right:16px;top:14px;z-index:5;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#222;font-size:30px;line-height:1;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.18)}.jcr-room-modal-gallery{min-width:0;padding:22px;background:#f4f5f5;overflow:hidden}.jcr-room-main-image{height:min(560px,67vh);position:relative;display:flex;align-items:center;justify-content:center;background:#e9ebea;border-radius:14px;overflow:hidden}.jcr-room-slide{display:none;width:100%;height:100%;object-fit:contain}.jcr-room-slide.is-active{display:block}.jcr-room-prev,.jcr-room-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.94);font-size:34px;cursor:pointer;box-shadow:0 5px 18px rgba(0,0,0,.18)}.jcr-room-prev{left:14px}.jcr-room-next{right:14px}.jcr-room-thumbs{display:flex;gap:9px;margin-top:10px;overflow-x:auto;padding-bottom:3px}.jcr-room-thumb{flex:0 0 76px;width:76px;height:62px;border:2px solid transparent;border-radius:8px;overflow:hidden;padding:0;background:#ddd;cursor:pointer}.jcr-room-thumb.is-active{border-color:#9a6b22}.jcr-room-thumb img{width:100%;height:100%;object-fit:cover;display:block}.jcr-room-modal-info{padding:34px 34px 28px;overflow-y:auto}.jcr-room-modal-info h2{font-size:30px;line-height:1.2;margin:6px 45px 14px 0;color:#18181b}.jcr-room-modal-summary{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.jcr-room-modal-summary span{border:1px solid #dfe3e1;border-radius:999px;padding:7px 10px;font-size:13px}.jcr-room-modal-description{color:#4b5563;line-height:1.65}.jcr-room-modal-section{margin-top:22px}.jcr-room-modal-section h3{font-size:18px;margin:0 0 12px}.jcr-room-amenities-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;color:#374151}.jcr-room-policy{margin-top:22px;padding-top:18px;border-top:1px solid #e5e7eb}.jcr-room-modal-footer{display:flex;align-items:end;gap:20px;margin-top:26px;padding-top:22px;border-top:1px solid #e5e7eb}.jcr-room-modal-footer>div{display:grid}.jcr-room-modal-footer small,.jcr-room-modal-footer span{font-size:12px;color:#6b7280}.jcr-room-modal-footer strong{font-size:27px;color:#18181b}.jcr-room-modal-footer .jcr-primary-btn{margin-left:auto;white-space:nowrap}body.jcr-room-modal-open{overflow:hidden}
@media(max-width:900px){.jcr-room-modal{padding:12px}.jcr-room-modal-dialog{grid-template-columns:1fr;max-height:94vh;overflow-y:auto}.jcr-room-modal-gallery{padding:14px}.jcr-room-main-image{height:42vh;min-height:300px}.jcr-room-modal-info{overflow:visible;padding:24px}.jcr-room-modal-close{position:fixed;right:20px;top:18px}.jcr-room-amenities-grid{grid-template-columns:1fr}.jcr-room-modal-footer{align-items:stretch;flex-direction:column}.jcr-room-modal-footer .jcr-primary-btn{margin:0;width:100%}}
@media(max-width:520px){.jcr-room-modal{padding:0;align-items:stretch}.jcr-room-modal-dialog{width:100%;max-height:100vh;border-radius:0}.jcr-room-main-image{height:38vh;min-height:260px}.jcr-room-modal-info h2{font-size:24px}.jcr-room-thumb{flex-basis:64px;width:64px;height:54px}}

.jcr-hold-countdown{margin:0 0 22px;padding:15px 18px;border:1px solid #f0c36d;border-left:5px solid #d99b19;border-radius:10px;background:#fff8e6;color:#3d331d;font-size:15px;line-height:1.5}.jcr-hold-countdown strong{display:inline-block;margin-right:5px}.jcr-hold-countdown .jcr-countdown-time{display:inline-block;min-width:58px;margin:0 4px;padding:3px 8px;border-radius:7px;background:#1f2937;color:#fff;font-weight:800;letter-spacing:.04em;text-align:center}.jcr-hold-countdown.is-expired{border-color:#d63638;border-left-color:#d63638;background:#fff1f1;color:#7d1d1d}
