html{scrollbar-color:#3E332F #F4EFE7;scrollbar-width:thin}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#F4EFE7}
::-webkit-scrollbar-thumb{background-color:#3E332F;border-radius:100px;border:3px solid #F4EFE7;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background-color:#2F2724}

html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
.lenis.lenis-scrolling iframe{pointer-events:none}

.pl-page{font-family:Jost,sans-serif;background:#F4EFE7;color:#5B5049;font-size:15px;line-height:1.85}
.pl-page a{color:#3E332F;text-decoration:none}
.pl-page *{box-sizing:border-box}

.pl-rv.armed{opacity:0;transform:translateY(46px)}
.pl-rv.armed.in{opacity:1;transform:none;transition:opacity 1.05s cubic-bezier(.16,1,.3,1),transform 1.05s cubic-bezier(.16,1,.3,1)}
.pl-mask,.pl-maskL{position:relative;overflow:hidden}
.pl-mask>div,.pl-maskL>div{position:absolute;inset:0}
.pl-mask img,.pl-maskL img{width:100%;height:100%;object-fit:cover;display:block}
.pl-veil{position:absolute;inset:-1px;z-index:3;background:#3E332F;pointer-events:none;transform:translateY(0)}
.pl-veil.v-alt{background:#5E7F3F}
.pl-veil.v-sand{background:#C9BBA4}
.armed.in .pl-veil{transform:translateY(-101%);transition:transform 1.15s cubic-bezier(.76,0,.24,1)}
.armed.in .pl-veil.d-right{transform:translateX(101%)}
.armed.in .pl-veil.d-down{transform:translateY(101%)}
.pl-mask.armed img,.pl-maskL.armed img{transform:scale(1.24)}
.pl-mask.armed.in img,.pl-maskL.armed.in img{transform:scale(1);transition:transform 1.9s cubic-bezier(.16,1,.3,1)}
.pl-zoom img{transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
.pl-zoom:hover img{transform:scale(1.05)}

@keyframes plFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@keyframes plMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.pl-header{position:fixed;top:0;left:50%;width:100vw;margin-left:-50vw;z-index:60;color:#F4EFE7;background:transparent;border-bottom:1px solid rgba(244,239,231,0.18);transition:color 0.25s ease,background-color 0.25s ease,border-color 0.25s ease}
.pl-header.is-scrolled{color:#3E332F;background:#F4EFE7;border-bottom-color:#DED5C8}
.pl-header a{color:inherit}
.pl-cta-short{display:none}
.pl-cta-icon{display:none}

.pl-menu-overlay{position:fixed;top:0;left:50%;width:100vw;height:100vh;margin-left:-50vw;z-index:90;background:#2F2724;display:flex;flex-direction:column;overflow-y:auto;opacity:0;pointer-events:none;transition:opacity 0.55s cubic-bezier(.16,1,.3,1)}
.pl-menu-overlay.is-open{opacity:1;pointer-events:auto}
.pl-menu a{color:#F4EFE7;display:block;transition:color 0.3s}
.pl-menu a:hover,.pl-menu a.is-active{color:#A8C48A}

.pl-menu-top{display:flex;justify-content:space-between;align-items:center;padding:26px 48px;max-width:1480px;width:100%;margin:0 auto}
.pl-menu-top .pl-logo{visibility:hidden;font-family:'Cormorant Garamond',serif;font-size:24px;letter-spacing:0.03em;line-height:1;color:#F4EFE7;text-decoration:none}
.pl-menu-top .pl-logo span{display:block;font-family:Jost,sans-serif;font-size:8px;letter-spacing:0.42em;margin-top:3px;opacity:0.75}
.pl-menu-close{background:none;border:0;color:#F4EFE7;font-family:Jost,sans-serif;font-size:11px;letter-spacing:0.24em;text-transform:uppercase;cursor:pointer;padding:8px 0}

.pl-menu-body{width:100%;max-width:1480px;margin:auto;padding:40px 48px 60px;display:flex;flex-direction:column;gap:30px}
.pl-menu-eyebrow{font-size:10px;letter-spacing:0.32em;text-transform:uppercase;color:#A8C48A}
.pl-menu-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px 80px}
.pl-group{display:flex;flex-direction:column;gap:4px}
.pl-group-label{display:none;font-size:10px;letter-spacing:0.32em;text-transform:uppercase;color:#A8C48A;margin-bottom:10px}
.pl-links{display:flex;flex-direction:column;gap:4px}
.pl-links a{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4.4vw,56px);font-weight:300;line-height:1.16}
.pl-short{display:none}
.pl-menu-foot{margin-top:14px;display:flex;gap:38px;flex-wrap:wrap;font-size:12px;letter-spacing:0.06em;color:#9d9187}
.pl-menu-foot .pl-pill{display:none}

.pl-st{opacity:0;transform:translateY(26px);transition:opacity 0.9s cubic-bezier(.16,1,.3,1),transform 0.9s cubic-bezier(.16,1,.3,1)}
.pl-menu-overlay.is-open .pl-st{opacity:1;transform:none}
.pl-menu-groups a[href="#"]{display:none}

.pl-cal td{width:14.28%;text-align:center;padding:8px 0;font-size:14px;color:#5B5049;font-family:Jost,sans-serif}
.pl-cal th{width:14.28%;text-align:center;padding:0 0 10px;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:#A29685;font-weight:400}
.pl-day{cursor:pointer}
.pl-day:hover{outline:1px solid #7C9A5A;outline-offset:-1px}
.pl-cal-off{cursor:default}

.pl-split{display:grid;grid-template-columns:1.05fr 1fr}
.pl-split-img{min-height:620px}
.pl-avail{display:grid;grid-template-columns:1.5fr 1fr;gap:72px;align-items:start}

@media (max-width:1000px){
  .pl-wrap{padding-left:20px!important;padding-right:20px!important}
  .pl-2col{grid-template-columns:1fr!important;gap:40px!important}
  .pl-hero-h1{font-size:clamp(56px,17vw,110px)!important}
  .pl-off{margin:0!important;width:100%!important}
  .pl-stack{position:static!important;width:100%!important;margin-top:20px!important}
  .pl-mos{grid-template-columns:1fr 1fr!important}
  .pl-mos>div{grid-column:auto!important;grid-row:auto!important;height:230px!important}
  .pl-mos>div:first-child{grid-column:1/3!important;height:300px!important}
  .pl-house{grid-template-columns:1fr!important}
  .pl-house-img{height:340px!important;order:-1}
  .pl-sec{padding-top:90px!important;padding-bottom:90px!important}
  .pl-foot{grid-template-columns:1fr!important;gap:44px!important}
  .pl-exp{grid-template-columns:1fr!important}
  .pl-big{font-size:clamp(40px,11vw,64px)!important}
  .pl-cta-full{display:none!important}
  .pl-cta-short{display:inline!important}
  .pl-3col{grid-template-columns:1fr!important;gap:52px!important}
  .pl-tall{height:340px!important}
  .pl-flip{order:-1}
  .pl-split{grid-template-columns:1fr!important}
  .pl-split-img{min-height:420px!important}
  .pl-avail{grid-template-columns:1fr!important;gap:44px!important}
}

@media (max-width:1000px){
  .pl-menu-top{padding:26px 24px}
  .pl-menu-top .pl-logo{visibility:visible}
  .pl-menu-body{flex:1;margin:0;padding:40px 24px 32px;gap:36px}
  .pl-menu-eyebrow{display:none}
  .pl-menu-groups{grid-template-columns:1fr;gap:36px}
  .pl-group-label{display:block}
  .pl-stay .pl-links{gap:2px}
  .pl-stay .pl-links a{font-size:34px}
  .pl-discover{border-top:1px solid rgba(244,239,231,0.14);padding-top:24px}
  .pl-discover .pl-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}
  .pl-discover .pl-links a{font-size:20px;line-height:1.25}
  .pl-full{display:none}
  .pl-short{display:inline}
  .pl-menu-foot{margin-top:auto;flex-direction:column;gap:18px;text-align:center}
  .pl-menu-foot .pl-pill{display:block;padding:15px 22px;border:1px solid #F4EFE7;border-radius:100px;font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:#F4EFE7}
  .pl-menu-foot .pl-address{display:none}
}

@media (max-width:560px){
  .pl-cta-short{display:none!important}
  .pl-cta-icon{display:inline-flex!important}
  a.pl-cta{padding:11px!important;gap:0!important;border-radius:50%!important;line-height:0}
}

/* --- Booking page (Casa Naira/Aday/Arminda/Completa search+results) --- */
.pl-fields{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:end}
.pl-row{display:grid;grid-template-columns:360px 1fr 260px;gap:44px;align-items:center}
.pl-rv-up{opacity:0;transform:translateY(38px);animation:plUpBk 1s cubic-bezier(.16,1,.3,1) forwards}
@keyframes plUpBk{to{opacity:1;transform:none}}
input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}
[data-pl-unit][data-pl-state=unavailable]{opacity:.45}
[data-pl-unit][data-pl-state=unavailable] img{filter:grayscale(1)}
[data-pl-unit][data-pl-state=unavailable] [data-pl=cta]{display:none}
[data-pl-unit][data-pl-state=unavailable] [data-pl=cta-blocked]{display:inline-block}
[data-pl-unit][data-pl-state=loading]{opacity:.6;pointer-events:none}
[data-pl=cta-blocked]{display:none}
[data-pl=discount]{display:none}
[data-pl=discount][data-pl-active="1"]{display:flex}
[data-pl=error]{display:none}
[data-pl=error][data-pl-active="1"]{display:block}
@media(max-width:1100px){
  .pl-fields{grid-template-columns:1fr 1fr}
  .pl-row{grid-template-columns:1fr!important;gap:26px}
}

@media(max-width:640px){
  .pl-fields{grid-template-columns:1fr!important}
}

@media(max-width:1100px){
  .pl-book{grid-template-columns:1fr!important}
  .pl-sum{position:static!important}
}
@media(max-width:620px){
  .pl-f2{grid-template-columns:1fr!important}
}

@media print{
  body *{visibility:hidden}
  #bc-print-area,#bc-print-area *{visibility:visible}
  #bc-print-area{position:absolute;top:0;left:0;width:100%;padding:40px}
  .bc-print-only{display:block!important}
}
.bc-print-only{display:none}

/* --- Casa Naira availability calendar (own two-month mini-grid + toolbar) --- */
.pl-cal-toolbar{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"prev legend next";align-items:center;gap:16px}
.pl-cal-toolbar .pl-cal-prev{grid-area:prev}
.pl-cal-toolbar .pl-cal-next{grid-area:next}
.pl-cal-toolbar .pl-cal-legend{grid-area:legend}
@media(max-width:720px){
  .pl-cal-months{grid-template-columns:1fr!important;gap:36px!important}
  .pl-cal-toolbar{grid-template-columns:1fr 1fr!important;grid-template-areas:"legend legend" "prev next"!important;row-gap:16px!important}
  .pl-cal-toolbar .pl-cal-legend{justify-content:flex-start!important}
  .pl-cal-toolbar .pl-cal-next{justify-self:end}
  .pl-cal td{font-size:13px!important}
  .pl-cal th{font-size:9px!important}
}
