/* A restaurant with rooms (venue.json sections.rooms): the rooms section (build.py rooms_html, assets/rooms.js). */
.rooms .rm-head{max-width:46rem;margin-bottom:2.2rem}
.rm-gal{list-style:none;padding:0;margin:0 0 2.6rem;display:grid;grid-template-columns:3fr 2fr;gap:12px}
.rm-gal img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:3/2}
.rm-gal li:first-child:nth-last-child(n+3){grid-row:span 2}   /* three or more: the first one tall beside the others */
.rm-gal li:first-child:nth-last-child(n+3) img{aspect-ratio:auto}
.rm-gal li:only-child{grid-column:1/-1}
.rm-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}
.rm-g>*{min-width:0}   /* the date fields' own width must not widen the column on a phone */
.rm-facts{list-style:none;padding:0;margin:0 0 2rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.rm-facts b{display:block;font:400 2.2rem/1 var(--serif);color:var(--brown)}
.rm-facts span{display:block;font-size:.9rem;color:var(--muted);margin-top:.35rem}
.rm-rates h3,.rm-ask h3,.rm-cal h3{font:400 1.45rem/1.2 var(--serif);color:var(--ink);margin:0 0 .6rem}
.rm-rates ul{list-style:none;padding:0;margin:0 0 .6rem}
.rm-rates li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px solid var(--line)}
.rm-rates li span:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.rm-ask{background:var(--white);padding:1.8rem;border:1px solid var(--line)}
.rm-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 6rem;gap:.8rem;margin:1rem 0}
.rm-row label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rm-row input,.rm-row select{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--ink);padding:.6rem .5rem;border:1px solid var(--line);background:#fff;min-height:44px;width:100%;min-width:0}
.rm-act{display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center}
.rm-cal{margin-top:1.8rem}
.rm-months{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.rm-mt{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem}
.rm-m ol{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center}
.rm-wd{font-size:.7rem;color:var(--muted);text-transform:uppercase}
.rm-m button{width:100%;aspect-ratio:1;border:0;background:transparent;font:inherit;font-size:.82rem;color:var(--ink);cursor:pointer;min-height:30px}
.rm-m button:hover:not([disabled]),.rm-m button:focus-visible{background:var(--sand);outline:1px solid var(--brown)}
.rm-m button[disabled]{color:color-mix(in srgb,var(--muted) 55%,transparent);cursor:default}
.rm-m button.full{text-decoration:line-through;background:color-mix(in srgb,var(--brown) 10%,transparent)}
@media (max-width:860px){.rm-g{grid-template-columns:minmax(0,1fr);gap:2rem}.rm-gal{grid-template-columns:1fr 1fr}.rm-gal li:first-child{grid-column:1/-1;grid-row:auto!important}}
@media (max-width:520px){.rm-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.rm-row .rm-n{grid-column:1/-1}.rm-facts{grid-template-columns:1fr 1fr 1fr;gap:.8rem}.rm-facts b{font-size:1.7rem}.rm-months{grid-template-columns:1fr}.rm-ask{padding:1.3rem}}
/* the booking demo on a restaurant with rooms (rooms.beds24.demo, build.py write_rooms_demo): bookdemo.css's names */
.bd-page{--hair:var(--line);--taupe:var(--brown);--stone:var(--sand);background:var(--white)}
.bd-top{display:flex;justify-content:space-between;align-items:center;padding:14px clamp(16px,4vw,40px);background:var(--deep);color:#fff}
.bd-top .mark svg{height:44px;width:auto;display:block}.bd-top .bd-logo{height:clamp(64px,8vw,92px);width:auto;display:block}
.bd-page .bd{padding-top:clamp(36px,6vw,64px)}
.bd-page .preview{margin:0;padding:6px 14px;background:var(--peach);color:var(--ink);font:500 .72rem/1.5 var(--sans);text-align:center}
.bd-foot{padding:28px 16px 40px;margin-top:3rem}
.bd-foot a{color:inherit}
/* rooms.units: every room type as a register line */
.rm-units{margin-top:2rem}.rm-units ul{list-style:none;padding:0;margin:0}
.rm-units li{display:grid;grid-template-columns:1fr auto;gap:.1rem 1rem;padding:.55rem 0;border-bottom:1px solid var(--line)}
.rm-un{font:400 1.12rem/1.25 var(--serif);color:var(--ink)}.rm-uf{font-size:.85rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.rm-ul{grid-column:1/-1;font-size:.86rem;color:var(--muted)}
/* rooms.units with photos: a card per room type (La Fiorida's room cards), what every room has under them */
.rm-deck{margin:0 0 3rem}
.rm-cards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem 1.6rem}
.rm-card{display:flex;flex-direction:column;min-width:0}
.rm-cph{margin:0 0 1rem;overflow:hidden}.rm-cph img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.rm-ck{margin:0 0 .3rem;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}
.rm-card h3{font:400 1.6rem/1.15 var(--serif);color:var(--ink);margin:0 0 .5rem}
.rm-cl{margin:0 0 .8rem;color:var(--muted);line-height:1.55}
.rm-from{margin:auto 0 .7rem;font-weight:600;color:var(--ink);font-variant-numeric:lining-nums tabular-nums}
.rm-pick{align-self:flex-start}
.rm-amen{margin-top:2.4rem;padding-top:1.6rem;border-top:1px solid var(--line)}
.rm-amen h3{font:400 1.45rem/1.2 var(--serif);color:var(--ink);margin:0 0 .8rem}
.rm-amen ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem 1.6rem}
.rm-amen li{position:relative;padding-left:1.3rem;color:var(--ink)}.rm-amen li::before{content:"✓";position:absolute;left:0;color:var(--brown)}
