/* Tropical Boutique Retreat — styles réservés à Chambres & Suites. */
.rooms-page-main{background:var(--ivory)}
.rooms-page-main .rooms-hero{position:relative;display:flex;align-items:flex-end;min-height:650px;height:min(780px,82svh);background:var(--cacao);overflow:hidden}
.rooms-page-main .rooms-hero>figure{position:absolute;inset:0;min-height:0;height:100%;width:100%;margin:0}
.rooms-page-main .rooms-hero>figure img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.rooms-page-main .rooms-hero-copy{position:relative;z-index:1;align-self:auto;padding:55px 8% 65px;width:100%;color:var(--soft-white);background:linear-gradient(90deg,rgba(53,42,37,.8),rgba(53,42,37,.35) 58%,transparent)}
.rooms-page-main .rooms-hero h1{font-size:clamp(60px,6.7vw,100px);line-height:.98;max-width:800px;margin:22px 0 25px;color:var(--soft-white)}
.rooms-page-main .rooms-hero p{max-width:490px;color:var(--soft-white);font-size:17px;line-height:1.75}
.rooms-page-main .rooms-hero .text-link{background:var(--terra);border:0;color:var(--soft-white);padding:17px 24px;min-height:54px}
.rooms-page-main .rooms-introduction{padding:70px 8%;background:var(--sand);text-align:center}
.rooms-page-main .rooms-introduction h2{font-size:clamp(44px,4.6vw,70px)}
.rooms-page-main .room-categories{padding:65px 8% 45px;max-width:1600px;margin:auto}
.rooms-page-main .category-heading{max-width:760px;padding:0 0 50px}
.rooms-page-main .category-editorial{display:grid;grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);gap:6%;align-items:center;margin:0 0 65px;padding:38px 0;background:transparent;border:0;border-radius:0;position:relative}
.rooms-page-main .category-copy{display:block;position:relative;min-width:0;padding:0;z-index:1;width:auto;margin:0;align-self:center;background:transparent}
.rooms-page-main .category-copy .category-number{display:block;font:400 76px/.9 'Cormorant Garamond',Georgia,serif;color:var(--terra);margin:0 0 25px}
.rooms-page-main .category-copy h3{font:400 clamp(35px,3.3vw,52px)/1.06 'Cormorant Garamond',Georgia,serif;letter-spacing:-.015em;margin:0 0 20px;color:var(--cacao)}
.rooms-page-main .category-copy .category-count{font:600 13px/1.7 Manrope,Arial,sans-serif;color:var(--turquoise);margin:0 0 17px}
.rooms-page-main .category-copy .category-description{font-size:16px;line-height:1.8;max-width:380px;margin:0 0 24px;color:var(--cacao)}
.rooms-page-main .category-copy .text-link{font-size:13px;color:var(--terra);border-color:var(--terra);min-height:50px}
.rooms-page-main .category-photographs{display:grid;gap:22px;min-width:0;width:100%;order:initial}
.rooms-page-main .category-primary,.rooms-page-main .category-complement{height:auto;aspect-ratio:auto;width:100%;margin:0!important;border-radius:0}
.rooms-page-main .category-photographs img{display:block;width:100%;height:auto;object-fit:contain;filter:none!important}
.rooms-page-main .standard-layout .category-primary{border-radius:65px 0 0 0}
.rooms-page-main .superior-layout{grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);padding:45px 0;background:transparent}
.rooms-page-main .superior-layout:before{content:'';position:absolute;inset:0 -4%;background:var(--sand);border-radius:0 75px 0 0}
.rooms-page-main .superior-layout .category-copy{grid-column:2;grid-row:1;display:block;padding:0}
.rooms-page-main .superior-layout .category-photographs{grid-column:1;grid-row:1;position:relative;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.rooms-page-main .superior-layout .category-primary{grid-column:1/-1}
.rooms-page-main .superior-layout .category-complement{grid-column:2;width:100%;justify-self:end}
.rooms-page-main .superior-layout .official-more{grid-column:1/-1}
.rooms-page-main .official-more summary{font:600 13px/1.7 Manrope,Arial,sans-serif;color:var(--turquoise);border-bottom:1px solid #246d7233;padding:14px 0;min-height:48px;cursor:pointer}
.rooms-page-main .official-expanded{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:20px}
.rooms-page-main .official-expanded figure{height:auto;aspect-ratio:auto;width:100%;margin:0!important;grid-column:auto}
.rooms-page-main .official-expanded img{height:auto;object-fit:contain}
.rooms-page-main .deluxe-illustrated{grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr);padding:30px 0;align-items:center}
.rooms-page-main .deluxe-illustrated .category-copy{display:block;padding:0}
.rooms-page-main .deluxe-visuals{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.rooms-page-main .deluxe-visuals .deluxe-photo{height:auto;aspect-ratio:auto;margin:0;border-radius:0}
.rooms-page-main .deluxe-visuals .deluxe-photo-0{grid-column:1/-1;border-radius:0 65px 0 0;overflow:hidden}
.rooms-page-main .deluxe-photo img{height:auto;object-fit:contain}
.rooms-page-main .deluxe-gallery-open{color:var(--turquoise);font-size:13px}
.rooms-page-main .mini-layout{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);gap:6%;padding:45px 0;margin-bottom:35px}
.rooms-page-main .mini-layout:before{content:'';position:absolute;inset:0 -4%;background:#B7654915;border-radius:75px 0 0 0}
.rooms-page-main .mini-layout .category-photographs{grid-column:1;grid-row:1;position:relative;order:initial}
.rooms-page-main .mini-layout .category-copy{grid-column:2;grid-row:1;display:block;width:auto;padding:0;margin:0;order:initial;background:transparent}
.rooms-page-main .mini-layout>.category-photographs>.category-primary{height:auto;aspect-ratio:auto;border-radius:0}
.rooms-page-main .category-note{font-size:14px!important;line-height:1.8;border:0;max-width:100%;padding:20px 0 0;color:var(--cacao)}
.rooms-page-main .rooms-comfort{background:var(--cacao);color:var(--soft-white);padding:65px 8%;grid-template-columns:1fr 1fr;gap:35px 8%}
.rooms-page-main .rooms-comfort h2,.rooms-page-main .rooms-comfort p,.rooms-page-main .rooms-comfort h3{color:var(--soft-white)}
.rooms-page-main .rooms-comfort .eyebrow{color:var(--sand)}
.rooms-page-main .comfort-service>span:first-child{color:var(--sand)}
.rooms-page-main .comfort-services{gap:25px}
.rooms-page-main .breakfast-photo{grid-column:1;grid-row:2;width:100%;max-width:320px;justify-self:start;margin:0;height:auto;align-self:center;border-radius:8px}
.rooms-page-main .breakfast-photo img{height:auto;object-fit:contain}
.rooms-page-main .practical-information{grid-column:2;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:25px;border-color:#e9ddcd55;margin:0;padding-top:25px}
.rooms-page-main .practical-information>div:last-child{grid-column:1/-1}
.rooms-page-main .practical-information p{font-size:14px;line-height:1.8}
.rooms-page-main .rooms-atmosphere{height:480px;margin:0}
.rooms-page-main .rooms-atmosphere img{height:100%;width:100%;object-fit:cover;object-position:center 55%}
.rooms-page-main .rooms-reservation{padding:60px 8% 70px;background:var(--sand)}
.rooms-page-main .rooms-reservation h2{font-size:clamp(48px,5vw,76px)}
.rooms-page-main .rooms-reservation .booking{border-radius:8px;box-shadow:0 10px 30px #352a250b;margin-top:35px}
@media(max-width:1000px){.rooms-page-main .rooms-hero{min-height:590px;height:75svh}.rooms-page-main .category-editorial{grid-template-columns:1fr;gap:30px;margin-bottom:45px}.rooms-page-main .superior-layout .category-copy,.rooms-page-main .superior-layout .category-photographs,.rooms-page-main .mini-layout .category-copy,.rooms-page-main .mini-layout .category-photographs{grid-column:1;grid-row:auto}.rooms-page-main .category-copy{grid-row:1!important}.rooms-page-main .category-copy .category-description{max-width:650px}.rooms-page-main .category-copy h3{font-size:44px}.rooms-page-main .category-copy .category-number{font-size:62px;margin-bottom:18px}.rooms-page-main .rooms-comfort{grid-template-columns:1fr;gap:30px}.rooms-page-main .comfort-services{grid-template-columns:repeat(3,1fr)}.rooms-page-main .breakfast-photo{grid-column:1;grid-row:auto;max-width:260px}.rooms-page-main .practical-information{grid-column:1;grid-row:auto;grid-template-columns:repeat(3,1fr)}.rooms-page-main .practical-information>div:last-child{grid-column:auto}.rooms-page-main .rooms-atmosphere{height:380px}}
@media(max-width:600px){.rooms-page-main .rooms-hero{min-height:590px;height:78svh}.rooms-page-main .rooms-hero-copy{padding:38px 7% 40px;background:linear-gradient(0deg,rgba(53,42,37,.88),rgba(53,42,37,.35) 90%,transparent)}.rooms-page-main .rooms-hero h1{font-size:54px}.rooms-page-main .rooms-hero p{font-size:15px;max-width:400px}.rooms-page-main .rooms-hero>figure img{object-position:52% center}.rooms-page-main .rooms-introduction{padding:48px 7%}.rooms-page-main .room-categories{padding:45px 7% 35px}.rooms-page-main .category-heading{padding-bottom:20px}.rooms-page-main .category-editorial{padding:28px 0;gap:24px;margin-bottom:32px}.rooms-page-main .category-copy h3{font-size:36px}.rooms-page-main .category-copy .category-number{font-size:56px}.rooms-page-main .category-copy .category-description{font-size:15px}.rooms-page-main .category-copy .text-link{font-size:12px}.rooms-page-main .superior-layout:before,.rooms-page-main .mini-layout:before{inset:0 -3%;border-radius:40px 0 0 0}.rooms-page-main .superior-layout .category-photographs{gap:16px}.rooms-page-main .official-expanded{grid-template-columns:1fr}.rooms-page-main .deluxe-visuals{gap:14px}.rooms-page-main .deluxe-visuals .deluxe-photo{grid-column:auto}.rooms-page-main .deluxe-visuals .deluxe-photo-0{grid-column:1/-1}.rooms-page-main .comfort-services{grid-template-columns:1fr 1fr;gap:22px 18px}.rooms-page-main .rooms-comfort{padding:48px 7%}.rooms-page-main .practical-information{grid-template-columns:1fr;gap:23px}.rooms-page-main .rooms-atmosphere{height:300px}.rooms-page-main .rooms-reservation{padding:45px 7% 55px}.rooms-page-main .rooms-reservation h2{font-size:48px}}
/* Finition des quatre compositions ; hero et informations pratiques préservés. */
.rooms-page-main .category-copy .category-kicker{display:block;color:var(--terra);font:600 11px/1.8 Manrope,Arial,sans-serif;letter-spacing:.12em;margin:0 0 19px}
.rooms-page-main .category-copy h3{font-size:clamp(34px,3.1vw,48px);line-height:1.08;letter-spacing:-.02em;text-transform:none;margin-bottom:19px}
.rooms-page-main .category-editorial{gap:3.5%}
.rooms-page-main .standard-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.rooms-page-main .category-copy .category-description{max-width:390px;margin-bottom:19px}
.rooms-page-main .category-copy .category-count{margin-bottom:15px}
.rooms-page-main .superior-layout{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);padding:30px 0}
.rooms-page-main .superior-layout:before{display:none}
.rooms-page-main .superior-layout .category-copy{padding:34px 10%;background:var(--sand);border-radius:0 36px 0 0;box-sizing:border-box}
.rooms-page-main .deluxe-illustrated{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:3.5%}
.rooms-page-main .deluxe-illustrated .category-copy h3{font-size:clamp(34px,2.9vw,45px)}
.rooms-page-main .deluxe-visuals{gap:16px}
.rooms-page-main .mini-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,.65fr);gap:0;align-items:center}
.rooms-page-main .mini-layout:before{display:none}
.rooms-page-main .mini-layout .category-copy{background:var(--sand);padding:35px 11%;border-radius:0 0 35px 0;box-sizing:border-box}
.rooms-page-main .mini-layout .category-copy h3{font-size:clamp(36px,3.3vw,51px)}
.rooms-page-main .mini-layout .category-photographs{padding-right:3%;box-sizing:border-box}
@media(max-width:1000px){.rooms-page-main .category-editorial{grid-template-columns:1fr;gap:25px}.rooms-page-main .category-copy h3,.rooms-page-main .deluxe-illustrated .category-copy h3{font-size:42px}.rooms-page-main .superior-layout .category-copy{padding:30px 5%;grid-row:2!important}.rooms-page-main .superior-layout .category-photographs{grid-row:1}.rooms-page-main .mini-layout .category-copy{padding:30px 5%;grid-row:2!important;max-width:85%;justify-self:end;margin-top:0}.rooms-page-main .mini-layout .category-photographs{grid-row:1;padding-right:0}.rooms-page-main .category-copy .category-description{max-width:650px}}
@media(max-width:600px){.rooms-page-main .category-copy .category-kicker{font-size:10px;letter-spacing:.1em;margin-bottom:15px}.rooms-page-main .category-copy h3,.rooms-page-main .deluxe-illustrated .category-copy h3{font-size:35px}.rooms-page-main .mini-layout .category-copy h3{font-size:39px}.rooms-page-main .mini-layout .category-copy{max-width:100%;width:100%;padding:28px 6%}.rooms-page-main .superior-layout .category-copy{padding:28px 6%}.rooms-page-main .category-editorial{gap:20px}.rooms-page-main .deluxe-visuals{gap:14px}}
/* Largeur utile commune et photographies dominantes. */
.rooms-page-main .room-categories{width:min(1200px,calc(100% - 80px));max-width:none;padding:45px 0 35px;margin:0 auto}
.rooms-page-main .category-heading{padding-bottom:30px}
.rooms-page-main .category-editorial{grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr);gap:28px;padding:25px 0;margin-bottom:24px;align-items:center}
.rooms-page-main .category-copy{max-width:none;min-width:0}
.rooms-page-main .category-copy h3{font-size:clamp(33px,3vw,44px)}
.rooms-page-main .category-copy .category-description{max-width:none}
.rooms-page-main .standard-layout{grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr)}
.rooms-page-main .superior-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,.5fr);gap:28px;padding:32px 0}
.rooms-page-main .superior-layout:before{display:block;content:'';position:absolute;inset:0 calc((1200px - 100vw)/2);background:var(--sand);border-radius:0;z-index:0}
.rooms-page-main .superior-layout .category-copy{padding:22px 0;background:transparent;border-radius:0;align-self:center}
.rooms-page-main .superior-layout .category-photographs{grid-template-columns:1fr 1fr;gap:18px}
.rooms-page-main .superior-layout .category-complement{grid-column:1/-1;width:65%;justify-self:start}
.rooms-page-main .deluxe-illustrated{grid-template-columns:minmax(0,.5fr) minmax(0,1.5fr);gap:28px;padding:25px 0}
.rooms-page-main .deluxe-visuals{gap:18px}
.rooms-page-main .deluxe-visuals .deluxe-photo-1,.rooms-page-main .deluxe-visuals .deluxe-photo-2{margin:0;align-self:start}
.rooms-page-main .mini-layout{grid-template-columns:minmax(0,1.55fr) minmax(0,.45fr);gap:28px;padding:32px 0;margin-bottom:20px}
.rooms-page-main .mini-layout:before{display:block;content:'';position:absolute;inset:0 calc((1200px - 100vw)/2);background:#B7654912;border-radius:0;z-index:0}
.rooms-page-main .mini-layout .category-copy{padding:22px 0;background:transparent;border-radius:0;width:auto;max-width:none;margin:0}
.rooms-page-main .mini-layout .category-photographs{padding:0}
.rooms-page-main .mini-layout .category-copy h3{font-size:clamp(36px,3vw,46px)}
@media(max-width:1280px){.rooms-page-main .superior-layout:before,.rooms-page-main .mini-layout:before{inset:0 -40px}}
@media(max-width:1000px){.rooms-page-main .room-categories{width:calc(100% - 56px);padding-top:38px}.rooms-page-main .category-editorial{grid-template-columns:1fr;gap:22px;padding:25px 0;margin-bottom:24px}.rooms-page-main .superior-layout:before,.rooms-page-main .mini-layout:before{inset:0 -28px}.rooms-page-main .superior-layout .category-copy,.rooms-page-main .mini-layout .category-copy{padding:0;width:100%;max-width:none}.rooms-page-main .category-copy .category-description{max-width:650px}.rooms-page-main .superior-layout .category-complement{width:75%}.rooms-page-main .category-copy h3{font-size:40px}}
@media(max-width:600px){.rooms-page-main .room-categories{width:calc(100% - 36px);padding-top:32px;padding-bottom:25px}.rooms-page-main .category-editorial{gap:20px;padding:24px 0;margin-bottom:18px}.rooms-page-main .superior-layout:before,.rooms-page-main .mini-layout:before{inset:0 -18px}.rooms-page-main .category-copy h3{font-size:35px}.rooms-page-main .superior-layout .category-complement{width:100%}.rooms-page-main .deluxe-visuals{gap:14px}.rooms-page-main .category-heading{padding-bottom:15px}}
