/* Chambres.png : variantes de page des composants existants, sans tokens globaux. */
.ch-rooms {font-size:14px;line-height:1.65}
.ch-rooms .ch-hero {padding:3rem 0 5rem}
.ch-rooms .ch-hero h1 {margin-bottom:.6rem}
.ch-rooms:not(.ch-room-detail) .ch-hero h1 {background:linear-gradient(90deg,white 0 52%,var(--ch-color-gold) 52%);background-clip:text;color:transparent;width:max-content;max-width:100%;margin-inline:auto}
.ch-rooms .ch-hero__subtitle {font:14px/1.5 var(--ch-font-body)}
.ch-rooms .ch-hero .ch-eyebrow {color:white;font:1.3rem var(--ch-font-heading)}
.ch-rooms .ch-background-missing {position:relative;margin:1rem 1rem 0;text-align:right;font-size:11px;color:var(--ch-color-on-dark)}
.ch-rooms-search {position:relative;z-index:1;margin-top:-3.5rem}
.ch-rooms .ch-booking {display:grid;grid-template-columns:2.6fr .65fr .65fr 1.1fr .65fr 1.5fr;gap:1rem;align-items:end;padding:1.3rem 1.5rem;background:#23100d;border:1px solid #8c795d;border-radius:var(--ch-radius-md)}
.ch-rooms .ch-field {margin:0;min-width:0;gap:.3rem}
.ch-rooms .ch-field label {font-size:13px;color:var(--ch-color-on-dark)}
.ch-rooms .ch-field input,.ch-rooms .ch-field select {font-size:14px;padding:.5rem .6rem;min-height:44px;color:var(--ch-color-on-dark);background:#2e201b;border-color:#b69c7b;color-scheme:dark}
.ch-rooms .ch-field input[type=date] {color:var(--ch-color-text);background:white;color-scheme:light}
.ch-rooms .ch-field input[type=number] {color:var(--ch-color-on-dark);background:#2e201b;border-color:#b69c7b}
.ch-rooms .ch-field :focus-visible {outline:3px solid var(--ch-color-gold);outline-offset:2px}
.ch-rooms .ch-booking__date-grid {display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.ch-rooms .ch-booking__title {margin-bottom:.4rem;font-size:14px}
.ch-rooms .ch-booking__notice {grid-column:1/-1;font-size:12px;margin:0}
.ch-rooms-catalog {padding:2.5rem 0 2rem}
.ch-rooms-intro {text-align:center}
.ch-rooms h2 {font-size:clamp(1.5rem,2.5vw,2rem)}
.ch-rooms-ornament {display:flex;align-items:center;justify-content:center;gap:.5rem;margin:-.3rem auto 1rem;color:var(--ch-color-gold-text)}
.ch-rooms-ornament::before,.ch-rooms-ornament::after {content:"";width:3rem;border-top:1px solid var(--ch-color-border)}
.ch-rooms-filters {display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin:2rem 0}
.ch-rooms .ch-room-filter {background:#eeecea;color:var(--ch-color-text);border:1px solid transparent;text-transform:none;font-weight:400;font-size:13px;padding:.6rem 1.2rem}
.ch-rooms .ch-room-filter[aria-current],.ch-rooms .ch-room-filter:hover {background:var(--ch-color-bordeaux);color:white}
.ch-rooms .ch-rooms-grid {width:min(94%,1400px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.ch-room-catalog {display:flex;flex-direction:column}
.ch-rooms .ch-asset-missing {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;background:#e6e2de;color:#514a43;border:1px dashed #8d8986;font:12px/1.5 var(--ch-font-body);padding:1rem;text-align:center}
.ch-rooms .ch-asset-missing span {font-size:10px}
.ch-rooms .ch-room-catalog .ch-card__image {aspect-ratio:1.18;flex:none;object-fit:cover}
.ch-rooms .ch-card__body {padding:1.2rem;display:flex;flex-direction:column;flex:1}
.ch-rooms .ch-card h3 {font-size:1.25rem;display:flex;align-items:center;gap:.4rem}
.ch-rooms .ch-icon {color:var(--ch-color-gold-text);width:24px;height:24px}
.ch-room-description {min-height:4.8em}
.ch-room-equipment {display:flex;flex-wrap:wrap;gap:.6rem 1rem;list-style:none;margin:1rem 0 1.3rem;padding:0;font-size:12px}
.ch-room-equipment li {display:flex;align-items:center;gap:.3rem}
.ch-room-equipment span {color:var(--ch-color-gold-text)}
.ch-rooms .ch-room-equipment .ch-icon {width:15px;height:15px}
.ch-room-price {color:var(--ch-color-bordeaux);margin-top:auto;font-variant-numeric:tabular-nums}
.ch-room-catalog .ch-actions {gap:.6rem;flex-wrap:wrap}
.ch-room-catalog .ch-button {flex:1 1 auto;font-size:11px;padding:.6rem .7rem}
.ch-rooms-services {padding:1.5rem;border-radius:var(--ch-radius-md);text-align:center;margin-bottom:2rem}
.ch-rooms-services h2 {color:var(--ch-color-gold);font-size:1.4rem}
.ch-rooms-services ul {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1rem;list-style:none;padding:0;margin:1.5rem 0 .5rem}
.ch-rooms-services li {display:flex;align-items:center;flex-direction:column;gap:1rem;font-size:12px}
.ch-rooms-services .ch-icon {width:32px;height:32px;color:var(--ch-color-gold)}
.ch-rooms-comfort {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);border:1px solid var(--ch-color-border);border-radius:var(--ch-radius-md);overflow:hidden;margin-bottom:2rem}
.ch-rooms-comfort>div:first-child {padding:2rem}
.ch-rooms-comfort h2 {font-size:1.6rem}
.ch-rooms-comfort ul {list-style:none;padding:0;margin:0 0 1rem}
.ch-rooms-comfort li {display:flex;gap:.5rem}
.ch-rooms-comfort li span {color:var(--ch-color-bordeaux)}
.ch-rooms-pool {width:100%;min-width:0;min-height:100%;aspect-ratio:1.8;object-fit:cover}
.ch-room-detail-grid {display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.ch-room-detail-image {width:100%;aspect-ratio:1.2;object-fit:cover;border-radius:var(--ch-radius-md)}
@media(max-width:1199px) {
 .ch-rooms .ch-rooms-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .ch-rooms .ch-booking {grid-template-columns:repeat(3,minmax(0,1fr))}
 .ch-rooms .ch-booking__dates {grid-column:span 2}
 .ch-rooms-services ul {grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:767px) {
 .ch-rooms {font-size:15px}
 .ch-rooms .ch-rooms-grid,.ch-room-detail-grid,.ch-rooms-comfort {grid-template-columns:minmax(0,1fr)}
 .ch-rooms .ch-booking,.ch-rooms .ch-booking__date-grid {grid-template-columns:minmax(0,1fr)}
 .ch-rooms .ch-booking__dates {grid-column:auto}
 .ch-rooms .ch-field input,.ch-rooms .ch-field select {font-size:16px}
 .ch-rooms .ch-booking {padding:1.2rem}
 .ch-rooms-search {margin-top:1rem}
 .ch-rooms .ch-hero {padding:2.5rem 0}
 .ch-rooms-services ul {grid-template-columns:repeat(2,minmax(0,1fr))}
 .ch-rooms-comfort>div:first-child {padding:1.3rem}
 .ch-rooms .ch-cta .ch-actions {flex-direction:column}
 .ch-rooms .ch-cta .ch-button {flex:0 1 auto}
 .ch-rooms .ch-background-missing {text-align:center}
 .ch-room-description {min-height:0}
}
.ch-rooms .ch-cta .ch-button::before {content:"";display:block;width:22px;height:22px;flex:none;background:currentColor;mask:var(--ch-about-cta-icon) center/contain no-repeat}
.ch-rooms .ch-cta .ch-button--gold {--ch-about-cta-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='2'%3E%3Crect x='3' y='5' width='18' height='17' rx='2'/%3E%3Cpath d='M7 2v6m10-6v6M3 11h18M7 15h3m4 0h3m-10 4h3m4 0h3'/%3E%3C/svg%3E")}
.ch-rooms .ch-cta .ch-button--orange {--ch-about-cta-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='2'%3E%3Cpath d='M3 2v7c0 4 6 4 6 0V2M6 2v20M21 2c-5 2-5 8 0 10V2v20'/%3E%3C/svg%3E")}
.ch-rooms .ch-cta .ch-button--violet {--ch-about-cta-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='2'%3E%3Cpath d='M3 5h18v5a2 2 0 0 0 0 4v5H3v-5a2 2 0 0 0 0-4ZM9 5v14'/%3E%3C/svg%3E")}
.single-chambres .ch-primary a[aria-current="page"] {color:var(--ch-color-gold);box-shadow:0 2px var(--ch-color-gold)}
