/* Accommodation: actual Marquem photographs, not illustrated doors. */
#accommodation.accommodation-doors-section {
  display: block; min-height: auto; padding: 110px 24px 124px;
  background: #f1ebe2; color: #3c342d; text-align: center; overflow: hidden;
}
#accommodation h2 {font:400 clamp(50px,7vw,94px)/1.05 "Bodoni 72",Didot,Georgia,serif; letter-spacing:-.024em; margin:0 auto 17px;}
#accommodation .accommodation-doors__content {width:min(1200px,100%); margin:0 auto;}
#accommodation .accommodation-doors__intro {max-width:810px;margin:0 auto;font:400 clamp(15px,1.45vw,18px)/1.8 "Avenir Next","Helvetica Neue",Arial,sans-serif;color:#655a50;opacity:1;}
#accommodation .accommodation-doors__hint {margin:18px auto 40px;max-width:790px;font:italic 16px/1.6 Georgia,serif;color:#906e5b;opacity:1;}
#accommodation .accommodation-doors__grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;max-width:1180px;margin:0 auto;}
#accommodation .accommodation-door {position:relative; width:100%; aspect-ratio:4 / 5; min-width:0; border-radius:5px;box-shadow:0 10px 29px rgba(55,40,28,.11); overflow:hidden;isolation:isolate;}
#accommodation .accommodation-door__scene {position:absolute;inset:0;}
#accommodation .accommodation-door__front,#accommodation .accommodation-door__back {position:absolute;inset:0;overflow:hidden;transition:opacity .55s ease,transform .85s cubic-bezier(.18,.75,.25,1),visibility 0s .55s;}
#accommodation .accommodation-door__front {z-index:2;opacity:1;visibility:visible;transform:scale(1);transition:opacity .55s ease,transform .85s cubic-bezier(.18,.75,.25,1),visibility 0s 0s;}
#accommodation .accommodation-door__back {z-index:1;opacity:0;visibility:hidden;transform:scale(.92);}
#accommodation .accommodation-door.is-open .accommodation-door__front {opacity:0;visibility:hidden;transform:scale(1.2);transition:opacity .4s ease,transform .85s cubic-bezier(.18,.75,.25,1),visibility 0s .55s;}
#accommodation .accommodation-door.is-open .accommodation-door__back {z-index:3;opacity:1;visibility:visible;transform:scale(1);transition:opacity .65s ease .18s,transform .85s cubic-bezier(.18,.75,.25,1),visibility 0s 0s;}
#accommodation .accommodation-door__front-action{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;text-align:left;cursor:pointer;color:#fff; background:#304044;font:inherit;}
#accommodation .accommodation-door__photo,#accommodation .accommodation-door__back-photo {position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center center;}
#accommodation .accommodation-door--hotel .accommodation-door__photo,#accommodation .accommodation-door--hotel .accommodation-door__back-photo{object-position:50% 56%;}
#accommodation .accommodation-door--villa .accommodation-door__photo,#accommodation .accommodation-door--villa .accommodation-door__back-photo{object-position:50% 49%;}
#accommodation .accommodation-door--shared .accommodation-door__photo,#accommodation .accommodation-door--shared .accommodation-door__back-photo{object-position:50% 50%;}
#accommodation .accommodation-door__photo {transition:transform .9s ease;}
@media(hover:hover){#accommodation .accommodation-door__front-action:hover .accommodation-door__photo{transform:scale(1.055);}}
#accommodation .accommodation-door__photo-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(19,28,26,.37) 0%,transparent 32%,rgba(12,20,18,.20) 47%,rgba(13,17,16,.83) 100%);}
#accommodation .accommodation-door__photo-index{position:absolute;top:23px;left:24px;color:#f9f3e8;font:600 10px/1.4 "Avenir Next",Arial,sans-serif;letter-spacing:.23em;text-shadow:0 1px 8px rgba(0,0,0,.3);}
#accommodation .accommodation-door__photo-index span{opacity:.65;}
#accommodation .accommodation-door__photo-info{position:absolute;left:26px;right:22px;bottom:25px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;text-shadow:0 2px 18px rgba(0,0,0,.25);}
#accommodation .accommodation-door__overline{font:600 9px/1.5 "Avenir Next",Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:#e5d1bc;margin-bottom:7px;}
#accommodation .accommodation-door__title{font:400 clamp(32px,3.05vw,42px)/1.08 "Bodoni 72",Didot,Georgia,serif;letter-spacing:-.025em;}
#accommodation .accommodation-door__subtitle{font:italic 15px/1.46 Georgia,serif;max-width:280px;color:rgba(255,251,240,.94);margin-top:8px;}
#accommodation .accommodation-door__enter{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:142px;margin-top:22px;padding:11px 15px;border:1px solid rgba(255,246,225,.73);border-radius:1px;color:#fff9ee;font:600 10px/1.3 "Avenir Next",Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;transition:background .2s ease;}
#accommodation .accommodation-door__enter span{font:normal 19px/1 Georgia,serif;transform:translateY(-1px);}
@media(hover:hover){#accommodation .accommodation-door__front-action:hover .accommodation-door__enter{background:rgba(255,255,255,.16);}}
#accommodation .accommodation-door__back{background:#eee6d8;}
#accommodation .accommodation-door__back-photo{filter:blur(7px) brightness(.77);transform:scale(1.08);}
#accommodation .accommodation-door__back-scrim{position:absolute;inset:0;background:rgba(20,23,19,.33)}
#accommodation .accommodation-door__back-sheet{position:absolute;inset:20px;background:rgba(253,249,240,.96);box-shadow:0 15px 38px rgba(13,13,11,.16);padding:27px 23px 17px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;}
#accommodation .accommodation-door__back-inner{flex:1;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:#9d887a transparent;}
#accommodation .accommodation-door__back-kicker{margin:0 0 13px;color:#a27865!important;font:600 9px/1.4 "Avenir Next",Arial,sans-serif!important;letter-spacing:.18em;text-transform:uppercase;opacity:1!important;}
#accommodation .accommodation-door__back-inner h3{font:400 clamp(29px,3vw,38px)/1.06 "Bodoni 72",Didot,Georgia,serif;margin:0 0 16px;color:#514c3d;}
#accommodation .accommodation-door__back-inner p,#accommodation .accommodation-door__back-inner li{color:#584e43;opacity:1;font:400 14px/1.7 "Avenir Next",Arial,sans-serif;max-width:none;margin:0 0 12px;}
#accommodation .accommodation-door__back-inner ul{margin:0;padding-left:18px;}
#accommodation .accommodation-door__back-inner li::marker{color:#9d7b65;}
#accommodation .accommodation-door__back-action{align-self:flex-start;display:flex;align-items:center;gap:8px;border:0;border-top:1px solid #cfc2b2;background:transparent;padding:14px 5px 2px 0;margin-top:16px;color:#735743;cursor:pointer;font:600 10px/1.3 "Avenir Next",Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase;}
#accommodation .accommodation-door__back-action span{font:normal 18px/1 Georgia,serif;}
#accommodation .accommodation-door__front-action:focus-visible,#accommodation .accommodation-door__back-action:focus-visible{outline:3px solid #bc8c6d;outline-offset:-4px;}
@media(max-width:930px){#accommodation .accommodation-doors__grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:790px;}#accommodation .accommodation-door:nth-child(3){grid-column:1/-1;width:min(100%,390px);justify-self:center;}}
@media(max-width:600px){#accommodation.accommodation-doors-section{padding:77px 14px 91px;}#accommodation .accommodation-doors__grid{grid-template-columns:1fr;gap:22px;}#accommodation .accommodation-door,#accommodation .accommodation-door:nth-child(3){grid-column:auto;width:min(100%,405px);justify-self:center;}#accommodation .accommodation-doors__hint{margin:18px auto 29px;}#accommodation .accommodation-door__title{font-size:39px;}#accommodation .accommodation-door__back-inner p{font-size:14px;}}
@media(prefers-reduced-motion:reduce){#accommodation .accommodation-door__front,#accommodation .accommodation-door__back,#accommodation .accommodation-door__photo{transition-duration:.01ms!important;transition-delay:0ms!important;}}

/* Hotel Stay details only — the rest of the accommodation layout is untouched. */
#accommodation .accommodation-door--hotel .hotel-stay__options { margin:13px 0 12px; }
#accommodation .accommodation-door--hotel .hotel-stay__option { padding:12px 0 13px; border-top:1px solid rgba(115,87,67,.25); }
#accommodation .accommodation-door--hotel .hotel-stay__option h4 { margin:0 0 6px; color:#514c3d; font:600 15px/1.32 "Avenir Next","Helvetica Neue",Arial,sans-serif; }
#accommodation .accommodation-door--hotel .hotel-stay__discount { color:#79504e; margin:0 0 8px; font-size:13px; line-height:1.55; }
#accommodation .accommodation-door--hotel .hotel-stay__contacts { display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
#accommodation .accommodation-door--hotel .hotel-stay__contacts a { display:inline-block; overflow-wrap:anywhere; font:600 12px/1.5 "Avenir Next","Helvetica Neue",Arial,sans-serif; color:#79504e; text-decoration:underline; text-underline-offset:3px; }
#accommodation .accommodation-door--hotel .hotel-stay__contacts a:focus-visible { outline:2px solid #bc8c6d; outline-offset:2px; }
#accommodation .accommodation-door--hotel .hotel-stay__help { font-style:italic; font-size:12px; line-height:1.55; }
