/* Desktop catalogue: complete photo cards, compact comparison and clear room details. */
@media (min-width:1081px){
  .rooms-section{padding:64px 0 76px;border-radius:36px;background:var(--cream)}
  .rooms-section>.wrap{width:min(1440px,calc(100% - 120px))}
  .rooms-section .section-title{align-items:flex-end;gap:80px;margin-bottom:40px}
  .rooms-section h2{font-family:Geologica,Manrope,sans-serif;font-weight:600;font-size:64px;line-height:1.08;letter-spacing:-.055em}
  .rooms-section .section-title>p{max-width:380px;font-size:18px;line-height:1.65}
  .rooms-section .catalogue-tools{margin:0;padding:12px;background:var(--card);border:0;border-radius:18px;gap:32px}
  .rooms-section .filters{gap:6px}
  .rooms-section .filter{border-color:transparent;padding:15px 20px;border-radius:12px;font-size:16px}
  .rooms-section .filter[aria-pressed='true']{background:var(--blue);color:var(--on-accent)}
  .rooms-section .capacity-label{flex-direction:row;align-items:center;gap:16px;font-size:14px;padding-right:4px}
  .rooms-section .capacity-label select{min-width:208px;border-color:var(--line);border-radius:12px;padding:13px 16px;background:var(--card);font-size:15px}
  .rooms-section .catalogue-count{margin:22px 0 26px;font-size:15px}
  .rooms-section .room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
  .rooms-section .room-card{border:0;background:var(--card);border-radius:28px;overflow:hidden;min-width:0;box-shadow:0 8px 24px #071d2b04;transition:box-shadow 200ms ease}
  .rooms-section .room-photo{display:block;width:100%;height:360px;flex-shrink:0;padding:0;border:0;border-radius:0;isolation:isolate;background:var(--cream);text-align:left}
  .rooms-section .room-photo img{transition:transform 650ms cubic-bezier(.2,.7,.2,1)}
  .rooms-section .tag{top:22px;left:22px;padding:10px 15px;background:var(--card);color:var(--ink);font-size:14px;font-weight:600}
  .rooms-section .room-info{padding:28px 30px 30px}
  .rooms-section .room-info h3{font-family:Geologica,Manrope,sans-serif;font-weight:600;min-height:0;max-width:none;font-size:30px;line-height:1.2;letter-spacing:-.035em;text-wrap:balance}
  .rooms-section .room-meta{display:flex;gap:16px 24px;margin:22px 0 28px;font-size:16px;line-height:1.5}
  .rooms-section .room-meta span{display:inline-flex;align-items:center;gap:9px;padding:0;border:0}
  .rooms-section .room-meta span:last-child{flex-basis:auto;font-size:16px}
  .rooms-section .room-meta span:before{content:'';display:block;flex-shrink:0;width:19px;height:19px;background:var(--blue);mask:var(--room-spec-icon) center/contain no-repeat}
  .rooms-section .room-meta span:first-child{--room-spec-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='7' r='3'/%3E%3Cpath d='M3 21v-3a6 6 0 0 1 12 0v3m1-17a3 3 0 0 1 0 6m3 11v-3a6 6 0 0 0-2-4.5'/%3E%3C/svg%3E")}
  .rooms-section .room-meta span:nth-child(2){--room-spec-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3H3v6m12 12h6v-6M3 3l7 7m11 11-7-7M15 3h6v6M3 15v6h6'/%3E%3C/svg%3E")}
  .rooms-section .room-meta span:last-child{--room-spec-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s4-7 10-7 10 7 10 7-4 7-10 7S2 12 2 12Z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}
  .rooms-section .room-footer{padding-top:8px;border:0;gap:24px}
  .rooms-section .room-footer small{max-width:none;margin-bottom:5px;font-size:14px}
  .rooms-section .room-footer strong{font-size:24px;line-height:1.3;font-weight:600}
  .rooms-section .room-open{padding:16px 23px;border-radius:100px;background:var(--blue);color:var(--on-accent);gap:14px;font-size:16px;transition:background 180ms ease}
  .rooms-section .room-open .arrow{width:18px;height:18px;padding:0;border-radius:0;background:transparent;color:var(--on-accent);transition:transform 180ms ease}
  .rooms-section .room-open:hover{background:var(--blue-hover)}
  html[data-theme='dark'] .rooms-section .room-open{background:var(--blue);color:var(--on-accent)}
  html[data-theme='dark'] .rooms-section .room-open:hover{background:var(--blue-hover)}
  .rooms-section .catalogue-more{margin-top:54px}
  .rooms-section .catalogue-more .button{padding:19px 30px;border-color:var(--field-line);font-size:16px}
  .rooms-section .rooms-bottom{padding-top:32px;margin-top:48px;align-items:center}
  .rooms-section .rooms-bottom p{max-width:630px;font-size:16px;line-height:1.7}
  .rooms-section .rooms-bottom .button{border-color:var(--field-line)}
  .rooms-section .room-photo-open:focus-visible{outline:3px solid var(--blue);outline-offset:-5px}
  .rooms-section .room-card:focus-within{box-shadow:0 12px 32px #071d2b12}
  .rooms-section #rooms-empty .button{display:flex;margin:20px auto 0;font-size:15px}
  #room-dialog{width:1140px;padding:20px;border-radius:28px}
  #room-dialog[open]{display:grid;grid-template-columns:1.15fr 1fr;gap:0}
  #room-dialog .dialog-photo{height:100%;min-height:510px;margin:0;border-radius:18px}
  #room-dialog .dialog-copy{padding:56px 36px 36px;align-self:center}
  #room-dialog h3{font-family:Geologica,Manrope,sans-serif;font-weight:600;font-size:32px;line-height:1.2;letter-spacing:-.035em}
  #room-dialog .dialog-copy p{font-size:16px;line-height:1.65;margin-top:20px}
  #room-dialog .dialog-close{top:24px;right:24px;width:40px;height:40px;background:var(--card);color:var(--ink);border:1px solid var(--line)}
  #room-dialog .dialog-copy .button{margin-top:28px;font-size:15px;gap:12px}
  #room-dialog .dialog-specs{display:grid;grid-template-columns:1fr .65fr;gap:20px;margin:26px 0 0;padding:20px;background:var(--cream);border-radius:16px}
  #room-dialog .dialog-specs>div:last-child{grid-column:1/-1}
  #room-dialog .dialog-specs dt{font-size:13px;color:var(--muted);line-height:1.4}
  #room-dialog .dialog-specs dd{font-size:17px;font-weight:600;line-height:1.4;margin:6px 0 0}
  #room-dialog .room-amenities{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;padding:0;margin:26px 0 0;font-size:15px;color:var(--muted)}
  #room-dialog .room-amenities li{display:flex;align-items:center;gap:10px}
  #room-dialog .room-amenities li:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--orange);flex-shrink:0}
}
@media (min-width:1081px) and (hover:hover) and (pointer:fine){
  .rooms-section .filter[aria-pressed='false']:hover{background:var(--card);border-color:var(--line)}
  .rooms-section .room-open:hover .arrow{background:transparent;transform:translateX(4px)}
  .rooms-section .button.outline:hover{background:var(--card);border-color:var(--blue)}
  .rooms-section .room-card:hover{box-shadow:0 12px 32px #071d2b12}
  .rooms-section .room-card:hover .room-photo img{transform:none}
  .rooms-section .room-photo-open:hover img,.rooms-section .room-photo-open:focus-visible img{transform:scale(1.025)}
}
@media (min-width:1081px) and (prefers-reduced-motion:no-preference){
  #room-dialog[open]{animation:room-detail-enter 220ms cubic-bezier(.2,.7,.2,1)}
  @keyframes room-detail-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}
@media (prefers-reduced-motion:reduce){
  .rooms-section .room-photo img,.rooms-section .room-open .arrow,.rooms-section .room-card{transition:none}
  .rooms-section .room-card:hover .room-photo img,.rooms-section .room-photo-open:focus-visible img{transform:none}
}
