/* Villa am Kurpark — master composition aligned with the approved ME LIVING pages */
body.villa-page{--vm-paper:#f8f5ef;--vm-white:#fff;--vm-ink:#11130f;--vm-gold:#b99559;--vm-gold-dark:#8d6732;--vm-line:#d9cbb7;background:var(--vm-paper)}
body.villa-page main{display:flex;flex-direction:column}
body.villa-page .villa-hero-v2{order:1;height:720px!important;min-height:720px!important;margin-top:112px!important;align-items:flex-end!important}
body.villa-page .villa-hero-v2>img{object-position:center 51%;filter:saturate(.92) contrast(1.03)}
body.villa-page .villa-hero-overlay{background:linear-gradient(90deg,rgba(7,8,6,.88),rgba(7,8,6,.57) 48%,rgba(7,8,6,.12) 82%),linear-gradient(0deg,rgba(7,8,6,.62),transparent 62%)!important}
body.villa-page .villa-hero-content{padding-bottom:72px!important}
body.villa-page .villa-hero-content h1{max-width:1080px;margin:20px 0 25px!important;font-size:clamp(62px,7.2vw,104px)!important;line-height:.93!important;letter-spacing:-.035em!important}
body.villa-page .villa-hero-content h1 em{color:#d2ac72!important;font-weight:400}
body.villa-page .villa-hero-content>.eyebrow{color:#d2ac72!important;opacity:1!important}
body.villa-page .villa-hero-content>p:not(.eyebrow){max-width:610px;color:rgba(255,255,255,.84)!important;font:400 17px/1.65 var(--sp-sans)!important}
body.villa-page .villa-hero-content .actions{margin-top:31px!important}
body.villa-page .villa-hero-content .button.gold{background:#d2ac72!important;color:#11130f!important}
body.villa-page .villa-hero-content .villa-rating{display:none!important}

body.villa-page .villa-availability{order:2;padding:0 0 18px!important;background:var(--vm-paper)!important;color:var(--vm-ink)!important;border-bottom:1px solid var(--vm-line)}
body.villa-page .villa-availability-grid{display:block!important;width:100%!important;max-width:none!important}
body.villa-page .villa-availability-grid>div:first-child{display:none!important}
body.villa-page .villa-search{height:108px;display:grid!important;grid-template-columns:1fr 1fr .9fr 1.05fr!important;gap:0!important;padding:18px 4%!important;align-items:center;background:transparent!important;border:0!important;box-shadow:none!important}
body.villa-page .villa-search label{height:66px;margin:0!important;padding:7px 28px 12px 15px!important;border:0!important;border-right:1px solid var(--vm-line)!important;display:flex;flex-direction:column;justify-content:center;position:relative;cursor:pointer}
body.villa-page .villa-search label:after{content:"";position:absolute;left:16px;right:22px;bottom:0;height:1px;background:var(--vm-line)}
body.villa-page .villa-search label span{color:var(--vm-ink)!important;font-size:10px!important;font-weight:600!important;letter-spacing:.12em!important;margin-bottom:10px}
body.villa-page .villa-search input,body.villa-page .villa-search select{color:#59544c!important;background:transparent!important;border:0!important;font-size:15px!important}
body.villa-page .villa-search label b{display:block;color:#777067;font:400 15px/1.3 var(--sp-sans);letter-spacing:0;text-transform:none}
body.villa-page .villa-search label:has(input[type="date"]){cursor:pointer}
body.villa-page .villa-search input[type="date"]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
body.villa-page .villa-search select{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer}
body.villa-page .villa-search label svg{position:absolute;right:27px;bottom:16px;width:19px;height:19px;fill:none;stroke:var(--vm-gold-dark);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
body.villa-page .villa-search input,body.villa-page .villa-search select{padding-right:36px!important}
body.villa-page .villa-search input[type="date"]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
body.villa-page .villa-search button{grid-column:4!important;grid-row:1!important;width:min(100%,220px)!important;height:56px;align-self:center;justify-self:end;margin:0!important;background:linear-gradient(90deg,#b37b31,#c5944e)!important;color:#fff!important;font-size:12px!important;font-weight:600!important;letter-spacing:.11em!important}
body.villa-page .villa-search-status{position:static!important;grid-column:1/-1;margin:10px 0 0!important;min-height:0!important}
body.villa-page .villa-search-status:empty{display:none!important}
body.villa-page .villa-search-trust{position:static!important;clear:both;margin:0;text-align:center;color:#777067;font:700 9px/1.5 var(--sp-sans);letter-spacing:.08em;text-transform:uppercase}
body.villa-page .villa-search-results{margin-top:28px}

body.villa-page .villa-facts{order:3;background:#fff!important;border-bottom:1px solid var(--vm-line)!important}
body.villa-page .villa-facts .shell{max-width:1320px}
body.villa-page .villa-facts .shell>div{padding:27px 28px!important}
body.villa-page .villa-facts strong{font-family:var(--sp-serif)!important;font-size:32px!important;font-weight:500!important}

body.villa-page .villa-intro{order:4;padding:112px 0 100px!important}
body.villa-page .villa-intro-grid{grid-template-columns:.9fr 1.1fr!important;gap:100px!important;align-items:end}
body.villa-page .villa-intro h2{font-size:clamp(55px,5.8vw,82px)!important;line-height:.96!important;letter-spacing:-.035em!important}
body.villa-page .villa-intro-grid>div:last-child{max-width:650px}
body.villa-page .villa-exterior{max-width:455px;margin:46px 0 0}
body.villa-page .villa-exterior img{width:100%;aspect-ratio:1.18;object-fit:cover;object-position:center 42%;filter:saturate(.82) contrast(1.025) brightness(.99)}
body.villa-page .villa-exterior figcaption{padding-top:12px;border-top:1px solid var(--vm-line);color:#716b61;font:700 8px/1.5 var(--sp-sans);letter-spacing:.12em;text-transform:uppercase}
body.villa-page .villa-intro-grid .lead{color:#292620!important;font:400 23px/1.48 var(--sp-serif)!important}
body.villa-page .villa-intro-grid>div:last-child>p:last-child{color:#655f55;font-size:14px;line-height:1.75}
body.villa-page .villa-benefit-grid{margin-top:70px!important;border-top:1px solid var(--vm-line)!important}
body.villa-page .villa-benefit-grid article{padding-top:30px!important}

body.villa-page .villa-apartments{order:5;padding:105px 0 112px!important;background:#fff!important;border-top:1px solid #e8ded0}
body.villa-page .villa-section-heading{display:grid!important;grid-template-columns:1.15fr .85fr!important;gap:90px!important;align-items:end!important;margin-bottom:58px!important}
body.villa-page .villa-section-heading h2{font-size:clamp(55px,5.8vw,82px)!important;line-height:.96!important;letter-spacing:-.035em!important}
body.villa-page .villa-section-heading>p{max-width:540px;margin:0 0 8px;color:#655f55;font-size:15px;line-height:1.75}
body.villa-page .villa-card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px!important}
body.villa-page .villa-card{display:grid!important;grid-template-columns:1fr!important;min-width:0!important;background:var(--vm-paper)!important;overflow:hidden}
body.villa-page .villa-card>a{height:330px!important;overflow:hidden}
body.villa-page .villa-card>a img{width:100%;height:100%!important;object-fit:cover;transition:transform .65s ease}
body.villa-page .villa-card:hover>a img{transform:scale(1.018)}
body.villa-page .villa-card>div{display:flex;flex-direction:column;min-height:245px;padding:27px 29px 29px!important}
body.villa-page .villa-card h3{margin:10px 0 12px!important;font-size:32px!important}
body.villa-page .villa-card>div>p:not(.villa-card-facts){color:#655f55;font-size:13px;line-height:1.65}
body.villa-page .villa-card footer{margin-top:auto!important;padding-top:20px!important;border-top:1px solid var(--vm-line)!important}

body.villa-page .villa-atmosphere{order:6;min-height:0!important;padding:0!important;background:var(--vm-ink)!important;overflow:hidden}
body.villa-page .villa-atmosphere-grid{width:100%!important;max-width:none!important;min-height:650px;display:grid!important;grid-template-columns:1.15fr .85fr;position:relative}
body.villa-page .villa-atmosphere figure.wide{position:relative!important;inset:auto!important;margin:0!important;min-height:650px}
body.villa-page .villa-atmosphere figure.wide:after{display:none}
body.villa-page .villa-atmosphere figure.wide img{width:100%;height:100%!important;object-fit:cover;object-position:center 58%;filter:saturate(.84)}
body.villa-page .villa-atmosphere-grid>figure:not(.wide){display:none!important}
body.villa-page .villa-atmosphere-copy{position:relative;z-index:2;width:auto;margin:0;padding:110px clamp(48px,6vw,100px)!important;color:#fff!important;display:flex;flex-direction:column;justify-content:center;background:var(--vm-ink)}
body.villa-page .villa-atmosphere-copy>.eyebrow{color:#d2ac72!important}
body.villa-page .villa-atmosphere-copy h2{max-width:650px;color:#fff!important;font-size:clamp(50px,4.8vw,74px)!important;line-height:.96!important;letter-spacing:-.035em!important}
body.villa-page .villa-atmosphere-copy h2 em{color:#d2ac72!important;font-weight:400}
body.villa-page .villa-atmosphere-copy p:last-child{max-width:560px;color:rgba(255,255,255,.76)!important;font-size:15px;line-height:1.75}

body.villa-page .villa-location{order:7;padding:105px 0!important;background:var(--vm-paper)!important}
body.villa-page .villa-location-grid{grid-template-columns:.85fr 1.15fr!important;gap:100px!important}
body.villa-page .villa-location h2{font-size:clamp(54px,5.6vw,80px)!important;line-height:.96!important}
body.villa-page .villa-location-cards article{padding:25px 0!important}
body.villa-page .villa-location .button.outline{transition:color .25s ease,border-color .25s ease,background-color .25s ease,transform .25s ease}
body.villa-page .villa-location .button.outline:hover{color:var(--vm-gold-dark)!important;border-color:var(--vm-gold)!important;background:rgba(185,149,89,.08)!important}

body.villa-page .villa-review-section{order:8}
body.villa-page .villa-faq{order:9;padding:100px 0!important;background:#fff!important;border-top:1px solid #e8ded0}
body.villa-page .villa-final-cta{order:10;padding:100px 0!important;background:#d7c29d!important;color:#171815!important}
body.villa-page .villa-final-cta>.shell{align-items:end!important}
body.villa-page .villa-final-cta .eyebrow{color:#5e4930!important}
body.villa-page .villa-final-cta h2{font-size:clamp(58px,6.3vw,90px)!important;line-height:.96!important;letter-spacing:-.035em!important}
body.villa-page .villa-final-cta p{color:#5e4930!important}
body.villa-page .villa-final-cta .button.gold{background:#171815!important;color:#fff!important;border-color:#171815!important;transition:.25s ease}
body.villa-page .villa-final-cta .button.gold:hover{background:#b57927!important;border-color:#b57927!important}
body.villa-page .villa-review-voice>.eyebrow{color:#d2ac72!important}

/* Final atmosphere editorial: one message, three calm equal views. */
body.villa-page .villa-atmosphere{padding:105px 0 112px!important;background:var(--vm-ink)!important}
body.villa-page .villa-atmosphere-copy{display:block!important;width:min(100% - 96px,1060px)!important;margin:0 auto!important;padding:0!important;background:transparent!important;text-align:center}
body.villa-page .villa-atmosphere-copy h2{max-width:none!important;margin:20px auto 25px!important;font-size:clamp(56px,6vw,86px)!important}
body.villa-page .villa-atmosphere-copy p:last-child{max-width:650px!important;margin:0 auto!important}
body.villa-page .villa-atmosphere-swipe{display:none}
body.villa-page .villa-atmosphere-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:62px}
body.villa-page .villa-atmosphere-gallery figure{margin:0;min-width:0}
body.villa-page .villa-atmosphere-gallery img{width:100%;height:430px;object-fit:cover;filter:saturate(.86) contrast(1.02)}
body.villa-page .villa-atmosphere-gallery figure:nth-child(1) img{object-position:57% center}
body.villa-page .villa-atmosphere-gallery figure:nth-child(2) img{object-position:center}
body.villa-page .villa-atmosphere-gallery figure:nth-child(3) img{object-position:54% center}
body.villa-page .villa-atmosphere-gallery figcaption{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.2);color:#fff;text-align:left}
body.villa-page .villa-atmosphere-gallery figcaption span{color:#d2ac72;font:500 18px/1 var(--sp-serif)}
body.villa-page .villa-atmosphere-gallery figcaption strong{font:500 23px/1 var(--sp-serif)}
body.villa-page .villa-atmosphere-gallery figcaption small{color:rgba(255,255,255,.55);font:700 8px/1.4 var(--sp-sans);letter-spacing:.1em;text-transform:uppercase}

@media(max-width:900px){
  body.villa-page .villa-hero-v2{margin-top:76px!important;height:650px!important;min-height:650px!important}
  body.villa-page .villa-search{height:auto!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;row-gap:16px!important;padding:22px 4%!important}
  body.villa-page .villa-search label:nth-of-type(1){grid-column:1;grid-row:1}
  body.villa-page .villa-search label:nth-of-type(2){grid-column:2;grid-row:1}
  body.villa-page .villa-search label:nth-of-type(3){grid-column:1;grid-row:2}
  body.villa-page .villa-search button{grid-column:2!important;grid-row:2;width:min(100%,220px)!important;height:56px!important;margin:0!important;align-self:center;justify-self:end}
  body.villa-page .villa-search-status{grid-row:3;margin-top:0!important}
  body.villa-page .villa-search-trust{margin-top:4px;padding:0 4%}
  body.villa-page .villa-intro-grid,body.villa-page .villa-section-heading,body.villa-page .villa-location-grid{grid-template-columns:1fr!important;gap:45px!important}
  body.villa-page .villa-card-grid{grid-template-columns:1fr!important}
  body.villa-page .villa-atmosphere-grid{grid-template-columns:1fr!important}
  body.villa-page .villa-atmosphere figure.wide{min-height:520px}
  body.villa-page .villa-atmosphere-copy{padding:80px max(34px,5vw)!important}
}
@media(max-width:620px){
  body.villa-page .villa-hero-v2{height:660px!important;min-height:660px!important}
  body.villa-page .villa-hero-content{padding-bottom:46px!important}
  body.villa-page .villa-hero-content h1{font-size:51px!important}
  body.villa-page .villa-hero-content .actions{align-items:flex-start;flex-direction:column;gap:20px}
  body.villa-page .villa-availability{padding:0 0 24px!important}
  body.villa-page .villa-search{height:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;padding:24px 17px 18px!important;row-gap:14px!important}
  body.villa-page .villa-search label{min-width:0}
  body.villa-page .villa-search button{grid-column:2!important;grid-row:2!important;width:calc(100% - 12px)!important;min-width:0!important;margin:0!important;padding:0 8px!important;font-size:9px!important;letter-spacing:.08em!important;justify-self:end}
  body.villa-page .villa-search-status{grid-column:1/-1;grid-row:3!important;margin:0!important}
  body.villa-page .villa-search-trust{margin-top:0!important;padding:0 17px}
  body.villa-page .villa-intro,body.villa-page .villa-apartments,body.villa-page .villa-location,body.villa-page .villa-faq{padding:76px 0!important}
  body.villa-page .villa-benefit-grid{grid-template-columns:1fr!important}
  body.villa-page .villa-exterior{max-width:none;margin-top:35px}
  body.villa-page .villa-card-grid{display:flex!important;gap:16px!important;margin-left:-17px!important;margin-right:-17px!important;padding:0 17px 14px!important;overflow-x:auto;scroll-snap-type:x mandatory}
  body.villa-page .villa-card{flex:0 0 min(84vw,340px);scroll-snap-align:start}
  body.villa-page .villa-card>a{height:245px!important}
  body.villa-page .villa-card>div{min-height:260px}
  body.villa-page .villa-atmosphere,body.villa-page .villa-atmosphere-grid{min-height:0!important}
  body.villa-page .villa-atmosphere figure.wide{min-height:390px}
  body.villa-page .villa-atmosphere-copy{padding:68px 17px!important}
  body.villa-page .villa-atmosphere-copy h2{font-size:48px!important}
  body.villa-page .villa-final-cta{padding:76px 0!important}
}

@media(max-width:620px){
  body.villa-page .villa-atmosphere{padding:72px 0 76px!important}
  body.villa-page .villa-atmosphere-copy{width:calc(100% - 34px)!important;text-align:left}
  body.villa-page .villa-atmosphere-copy h2{font-size:48px!important}
  body.villa-page .villa-atmosphere-copy p:last-child{margin-left:0!important}
  body.villa-page .villa-atmosphere-swipe{display:flex;justify-content:space-between;margin-top:38px;margin-bottom:12px;color:rgba(255,255,255,.55);font:700 8px/1.4 var(--sp-sans);letter-spacing:.1em;text-transform:uppercase}
  body.villa-page .villa-atmosphere-swipe span{color:#d2ac72}
  body.villa-page .villa-atmosphere-gallery{display:flex;width:auto!important;margin:0!important;padding:0 17px 12px!important;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:17px}
  body.villa-page .villa-atmosphere-gallery figure{flex:0 0 min(84vw,340px);scroll-snap-align:start}
  body.villa-page .villa-atmosphere-gallery img{height:350px}
}

/* Shared homepage booking bar on the Villa page. */
body.villa-page .villa-search.rd-search-form{height:108px!important;display:grid!important;grid-template-columns:1fr 1fr .9fr 1.05fr!important;grid-template-rows:1fr!important;gap:0!important;padding:18px 4%!important;align-items:center!important;background:transparent!important;border:0!important;box-shadow:none!important}
body.villa-page .villa-search.rd-search-form label{height:66px!important;padding:7px 28px 12px 15px!important;margin:0!important;border:0!important;border-right:1px solid var(--vm-line)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;position:relative!important}
body.villa-page .villa-search.rd-search-form label:after{content:"";position:absolute;left:15px;right:20px;bottom:0;height:1px;background:var(--vm-line)}
body.villa-page .villa-search.rd-search-form button{grid-column:4!important;grid-row:1!important;width:auto!important;height:56px!important;margin:0 0 0 22px!important;align-self:center!important;justify-self:stretch!important}
body.villa-page .villa-search.rd-search-form .villa-search-status:empty{display:none!important}
body.villa-page .villa-search-trust.rd-search-trust{display:none!important}

@media(max-width:900px){
  body.villa-page .villa-search.rd-search-form{height:auto!important;grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;padding:26px 17px!important;row-gap:0!important}
  body.villa-page .villa-search.rd-search-form label:nth-of-type(1),body.villa-page .villa-search.rd-search-form label:nth-of-type(2),body.villa-page .villa-search.rd-search-form label:nth-of-type(3){grid-column:auto!important;grid-row:auto!important}
  body.villa-page .villa-search.rd-search-form button{grid-column:1/-1!important;grid-row:auto!important;width:auto!important;margin:20px 0 0!important;justify-self:stretch!important}
  body.villa-page .villa-search.rd-search-form .villa-search-status{grid-column:1/-1!important;grid-row:auto!important}
}

@media(max-width:560px){
  body.villa-page .villa-search.rd-search-form{grid-template-columns:1fr!important}
  body.villa-page .villa-search.rd-search-form label{margin:0 0 18px!important}
  body.villa-page .villa-search.rd-search-form button,body.villa-page .villa-search.rd-search-form .villa-search-status{grid-column:1!important}
}
