/* Shared editorial introductions for rooms, breakfast and terraces, in every language. */
.stay-intro-shell{max-width:1180px}
.stay-intro-heading{max-width:900px;margin-inline:auto}
.stay-intro-heading .eyebrow{color:var(--sea);margin-bottom:18px}
.stay-intro-heading::after{content:"";display:block;width:46px;height:2px;margin:28px auto 0;background:var(--gold)}
.stay-intro-icon{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border:1px solid #cdded3;border-radius:17px;background:#f8fbf8;color:var(--sea)}
.stay-intro-icon svg{display:block;width:28px;height:28px}
.stay-intro strong{font-weight:600;color:var(--ink)}

/* A calm introduction beside a scannable list of the six room amenities. */
.room-comfort{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);margin-top:38px;text-align:left;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 14px 40px #153c4705}
.room-comfort-story{padding:clamp(26px,3.2vw,44px);background:linear-gradient(135deg,#edf4ee,#f5f8f4)}
.room-comfort-story .stay-intro-icon{margin-bottom:24px}
.room-comfort-lead{font-size:clamp(22px,2vw,28px);line-height:1.55;letter-spacing:-.025em;text-wrap:pretty}
.room-comfort-note{margin-top:18px;color:var(--muted);font-size:16px;line-height:1.85;text-wrap:pretty}
.room-comfort-services{min-width:0;padding:clamp(26px,3.2vw,44px)}
.room-comfort-services h3{font-size:20px;font-weight:600;line-height:1.5;letter-spacing:-.02em;margin-bottom:24px}
.comfort-amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px;padding:0;list-style:none}
.comfort-amenities li{display:flex;align-items:center;gap:12px;min-width:0;padding:18px 0;border-top:1px solid var(--line);font-size:15px;line-height:1.55;color:var(--muted)}
.comfort-amenities svg{display:block;flex:0 0 24px;width:24px;height:24px;color:var(--sea)}

/* Breakfast keeps its original copy, with a small illustrated morning motif. */
.breakfast-note{display:grid;grid-template-columns:160px minmax(0,1fr);align-items:center;gap:clamp(28px,4vw,56px);margin-top:38px;padding:clamp(30px,4.2vw,60px);text-align:left;border:1px solid #e4dfd3;border-radius:22px;background:linear-gradient(120deg,#f7f2e8,#fcfbf7 70%);box-shadow:0 14px 40px #153c4705}
.breakfast-emblem{display:grid;place-items:center;position:relative;isolation:isolate;width:150px;height:150px;color:#8b673e}
.breakfast-emblem::before{content:"";position:absolute;inset:0;border:1px solid #d7c9ad;border-radius:50%;background:#fffaf0;z-index:-1}
.breakfast-emblem::after{content:"";position:absolute;inset:10px;border:1px solid #e7dcc7;border-radius:50%;z-index:-1}
.breakfast-emblem svg{width:66px;height:66px;stroke-width:1.25}
.breakfast-note p{max-width:48ch;color:var(--muted);font-size:clamp(19px,2vw,25px);line-height:1.85;text-wrap:pretty}
.stay-intro--breakfast .text-link,.stay-intro--terraces .text-link{margin-top:30px}

/* The sheltered portico and sunny terrace each have their own readable panel. */
.terrace-intro{margin:26px auto 0;max-width:760px;color:var(--muted);font-size:20px;line-height:1.75;text-wrap:pretty}
.terrace-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px;text-align:left}
.terrace-card{min-width:0;padding:clamp(26px,3.2vw,44px);border:1px solid #d6e2d9;border-radius:22px;background:linear-gradient(135deg,#edf4ee,#f8faf7);box-shadow:0 14px 40px #153c4705}
.terrace-card--sun{border-color:#e4dfd3;background:linear-gradient(135deg,#f7f0e3,#fcfbf7)}
.terrace-card-header{display:flex;align-items:center;gap:20px;margin-bottom:25px}
.terrace-card--sun .stay-intro-icon{border-color:#e3d6bc;background:#fffaf0;color:#8b673e}
.terrace-card h3{font-size:clamp(23px,2.3vw,30px);line-height:1.3;letter-spacing:-.025em}
.terrace-card p{padding-top:23px;border-top:1px solid #153c471c;font-size:17px;line-height:1.85;color:var(--muted);text-wrap:pretty}

@media(max-width:900px){
 .room-comfort{grid-template-columns:1fr}
 .room-comfort-story{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:22px}
 .room-comfort-story .stay-intro-icon{grid-row:1/3;margin:0}
 .room-comfort-note{grid-column:2;margin-top:12px}
 .room-comfort-services{border-top:1px solid var(--line)}
 .breakfast-note{grid-template-columns:110px minmax(0,1fr);gap:28px}
 .breakfast-emblem{width:110px;height:110px}
 .breakfast-emblem svg{width:50px;height:50px}
 .terrace-card-header{gap:15px}
}
/* Stack before long translated headings crowd the paired cards. */
@media(max-width:760px){
 .terrace-pair{grid-template-columns:1fr}
}
@media(max-width:650px){
 .stay-intro-heading .eyebrow{font-size:10px;letter-spacing:.12em}
 .stay-intro-heading::after{margin-top:23px}
 .room-comfort,.breakfast-note{margin-top:28px;border-radius:18px}
 .room-comfort-story{display:block;padding:26px}
 .room-comfort-story .stay-intro-icon{margin-bottom:20px}
 .room-comfort-lead{font-size:23px}
 .room-comfort-note{margin-top:14px}
 .room-comfort-services{padding:26px}
 .room-comfort-services h3{font-size:19px;margin-bottom:18px}
 .comfort-amenities{gap:0 20px}
 .comfort-amenities li{align-items:flex-start;flex-direction:column;gap:10px;padding:17px 0;font-size:14px}
 .breakfast-note{grid-template-columns:1fr;justify-items:start;gap:24px;padding:28px}
 .breakfast-emblem{width:88px;height:88px}
 .breakfast-emblem svg{width:43px;height:43px}
 .breakfast-emblem::after{inset:7px}
 .breakfast-note p{font-size:19px;line-height:1.85}
 .terrace-intro{font-size:18px;margin-top:23px}
 .terrace-pair{grid-template-columns:1fr;gap:18px;margin-top:26px}
 .terrace-card{padding:26px;border-radius:18px}
 .terrace-card-header{margin-bottom:21px}
 .terrace-card p{padding-top:20px;font-size:16px}
}
@media(max-width:360px){
 .room-comfort-story,.room-comfort-services,.breakfast-note,.terrace-card{padding:22px}
 .comfort-amenities{column-gap:14px}
 .terrace-card-header{gap:12px}
 .terrace-card h3{font-size:22px}
}
@media(max-width:380px){
 .comfort-amenities{grid-template-columns:1fr}
 .comfort-amenities li{flex-direction:row;align-items:center;gap:12px}
 .terrace-card-header{flex-direction:column;align-items:flex-start}
}
