
#pef4-root.pef4-property-page{--pef4-text:#222;--pef4-muted:#6f6f6f;--pef4-border:#e6e6e6;--pef4-bg:#fff;--pef4-accent:#2563eb;--pef4-soft:#f7f7f7;color:var(--pef4-text);font-family:Arial,Helvetica,sans-serif;line-height:1.45}
#pef4-root.pef4-property-page *,#pef4-root.pef4-property-page *::before,#pef4-root.pef4-property-page *::after{box-sizing:border-box}
#pef4-root.pef4-property-page button,#pef4-root.pef4-property-page input,#pef4-root.pef4-property-page select,#pef4-root.pef4-property-page textarea{font:inherit;color:inherit}
#pef4-root.pef4-property-page button{appearance:none;-webkit-appearance:none;background:none;border:0;padding:0;margin:0;box-shadow:none;text-transform:none;letter-spacing:normal}
#pef4-root .pef4-shell{max-width:1280px;margin:0 auto;padding:26px 24px 70px}
#pef4-root .pef4-head h1{font-size:clamp(30px,3.1vw,48px);line-height:1.08;margin:0 0 8px;font-weight:700}
#pef4-root .pef4-sub{color:var(--pef4-muted);font-size:16px}
#pef4-root .pef4-gallery{height:460px;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;margin:26px 0 46px;border-radius:20px;overflow:hidden;position:relative}
#pef4-root .pef4-gallery-item{cursor:pointer;overflow:hidden;background:#eee}
#pef4-root .pef4-gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}
#pef4-root .pef4-gallery-item:hover img{transform:scale(1.025)}
#pef4-root .pef4-g0{grid-row:1/3}.pef4-g1,.pef4-g2,.pef4-g3,.pef4-g4{min-width:0}
#pef4-root .pef4-show-all{position:absolute;right:16px;bottom:16px;background:#fff!important;border:1px solid #222!important;border-radius:10px!important;padding:11px 16px!important;font-weight:700!important;cursor:pointer!important}
#pef4-root .pef4-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:72px;align-items:start}
#pef4-root .pef4-section{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--pef4-border)}
#pef4-root .pef4-section h2{font-size:26px;line-height:1.2;margin:0 0 16px;font-weight:700}
#pef4-root .pef4-facts{display:flex;flex-wrap:wrap;gap:10px 18px;color:#4c4c4c}
#pef4-root .pef4-facts span:not(:last-child)::after{content:"·";margin-left:18px}
#pef4-root .pef4-desc-preview{font-size:17px;line-height:1.7}
#pef4-root .pef4-link-btn{margin-top:15px!important;font-weight:700!important;text-decoration:underline!important;cursor:pointer!important}
#pef4-root .pef4-outline-btn{margin-top:22px!important;border:1px solid #222!important;border-radius:10px!important;padding:13px 18px!important;font-weight:700!important;cursor:pointer!important;background:#fff!important}
#pef4-root .pef4-amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px}
#pef4-root .pef4-amenity{display:flex;gap:12px;align-items:center;font-size:16px}
#pef4-root .pef4-dot{width:9px;height:9px;border:2px solid #222;border-radius:50%;display:inline-block;flex:none}
#pef4-root .pef4-booking-wrap{position:relative}
#pef4-root .pef4-booking-card{position:sticky;top:96px;border:1px solid #ddd;border-radius:18px;padding:24px;background:#fff;box-shadow:0 10px 34px rgba(0,0,0,.10)}
#pef4-root .pef4-rate-price{font-size:24px;font-weight:700}.pef4-rate-unit{color:var(--pef4-muted);margin-left:5px}
#pef4-root .pef4-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0 10px}
#pef4-root .pef4-tabs button{border:1px solid #ddd!important;border-radius:10px!important;padding:10px 8px!important;background:#fff!important;font-weight:700!important;cursor:pointer!important}
#pef4-root .pef4-tabs button.is-active{background:#222!important;color:#fff!important;border-color:#222!important}
#pef4-root .pef4-minstay{font-size:13px;color:var(--pef4-muted);margin-bottom:14px}
#pef4-root .pef4-date-boxes{display:grid;grid-template-columns:1fr 1fr;border:1px solid #aaa;border-radius:12px;overflow:hidden}
#pef4-root .pef4-date-boxes button{text-align:left!important;padding:11px!important;background:#fff!important;cursor:pointer!important}
#pef4-root .pef4-date-boxes button+button{border-left:1px solid #aaa!important}
#pef4-root .pef4-date-boxes small{display:block;font-size:10px;font-weight:700;margin-bottom:4px}
#pef4-root .pef4-guests{margin-top:18px}
#pef4-root .pef4-step{display:flex;justify-content:space-between;align-items:center;padding:10px 0}
#pef4-root .pef4-step div{display:flex;align-items:center;gap:12px}
#pef4-root .pef4-step button{width:30px!important;height:30px!important;border:1px solid #bbb!important;border-radius:50%!important;background:#fff!important;cursor:pointer!important}
#pef4-root .pef4-breakdown{border-top:1px solid var(--pef4-border);margin-top:10px;padding-top:12px}
#pef4-root .pef4-break-row{display:flex;justify-content:space-between;padding:6px 0}
#pef4-root .pef4-break-row.total{font-weight:700;border-top:1px solid var(--pef4-border);margin-top:7px;padding-top:12px}
#pef4-root .pef4-primary-btn{width:100%!important;background:var(--pef4-btn,#2563eb)!important;color:var(--pef4-btn-text,#fff)!important;border-radius:12px!important;padding:14px 18px!important;font-weight:700!important;border:0!important;cursor:pointer!important;text-align:center!important;text-decoration:none!important;box-shadow:none!important;transition:background .2s ease,transform .2s ease!important}
#pef4-root .pef4-primary-btn:disabled{opacity:.45!important;cursor:not-allowed!important}
#pef4-root .pef4-nocharge{text-align:center;color:var(--pef4-muted);font-size:13px;margin:10px 0 0}
#pef4-root .pef4-muted{color:var(--pef4-muted)}
#pef4-root .pef4-calendar-wrap{border:1px solid var(--pef4-border);border-radius:16px;padding:18px}
#pef4-root .pef4-cal-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
#pef4-root .pef4-cal-nav{width:36px!important;height:36px!important;border:1px solid #ddd!important;border-radius:50%!important;cursor:pointer!important;background:#fff!important;font-size:22px!important}
#pef4-root .pef4-calendars{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#pef4-root .pef4-month{min-width:0}.pef4-month h3{text-align:center;font-size:16px;margin:0 0 12px}
#pef4-root .pef4-week,#pef4-root .pef4-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
#pef4-root .pef4-week span{text-align:center;font-size:11px;color:var(--pef4-muted);padding:5px 0}
#pef4-root .pef4-day{height:42px!important;border-radius:50%!important;cursor:pointer!important;background:#fff!important}
#pef4-root .pef4-day:hover:not(:disabled){border:1px solid #222!important}
#pef4-root .pef4-day:disabled{color:#c4c4c4!important;text-decoration:line-through!important;cursor:not-allowed!important}
#pef4-root .pef4-day.is-start,#pef4-root .pef4-day.is-end{background:#222!important;color:#fff!important}
#pef4-root .pef4-day.in-range{background:#f0f0f0!important;border-radius:8px!important}
#pef4-root .pef4-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:999999;display:none;align-items:center;justify-content:center;padding:20px}
#pef4-root .pef4-modal.is-open{display:flex}
#pef4-root .pef4-modal-card{background:#fff;border-radius:20px;max-width:760px;width:100%;max-height:88vh;overflow:auto;padding:28px;position:relative}
#pef4-root .pef4-close{position:absolute;right:18px;top:14px;width:36px!important;height:36px!important;border-radius:50%!important;background:#f4f4f4!important;font-size:24px!important;cursor:pointer!important}
#pef4-root .pef4-book-form{max-width:520px}
#pef4-root .pef4-book-form label{display:block;font-weight:700;margin:14px 0}
#pef4-root .pef4-book-form input{display:block;width:100%!important;border:1px solid #ccc!important;border-radius:10px!important;padding:12px!important;margin-top:6px!important;background:#fff!important;box-shadow:none!important}
#pef4-root .pef4-form-msg{margin-top:14px}
#pef4-root .pef4-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:1000000;display:none;align-items:center;justify-content:center}
#pef4-root .pef4-lightbox.is-open{display:flex}.pef4-lightbox img{max-width:88vw;max-height:88vh;object-fit:contain}
#pef4-root .pef4-lightbox .pef4-close{color:#fff;background:rgba(255,255,255,.14)!important}
#pef4-root .pef4-light-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px!important;height:48px!important;border-radius:50%!important;background:#fff!important;font-size:28px!important;cursor:pointer!important}
#pef4-root [data-light-prev]{left:24px}#pef4-root [data-light-next]{right:24px}
#pef4-root .pef4-mobile-bar{display:none}

@media(max-width:980px){
#pef4-root .pef4-layout{grid-template-columns:1fr;gap:0}
#pef4-root .pef4-booking-wrap{display:none}
#pef4-root .pef4-gallery{height:360px;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
#pef4-root .pef4-g3,#pef4-root .pef4-g4{display:none}
#pef4-root .pef4-calendars{grid-template-columns:1fr}
#pef4-root .pef4-mobile-bar{position:fixed;left:0;right:0;bottom:0;z-index:99999;display:flex;align-items:center;justify-content:space-between;background:#fff;border-top:1px solid #ddd;padding:12px 16px}
#pef4-root .pef4-mobile-bar .pef4-primary-btn{width:auto!important;padding:12px 18px!important}
#pef4-root .pef4-shell{padding-bottom:110px}
}
@media(max-width:640px){
#pef4-root .pef4-shell{padding-left:16px;padding-right:16px}
#pef4-root .pef4-gallery{height:300px;display:block;border-radius:14px}
#pef4-root .pef4-gallery-item{display:none;height:100%}#pef4-root .pef4-g0{display:block}
#pef4-root .pef4-amenity-grid{grid-template-columns:1fr}
}


/* V4.1 layout + sidebar calendar fixes */
#pef4-root .pef4-gallery{grid-auto-flow:row;grid-auto-rows:minmax(0,1fr)}
#pef4-root .pef4-gallery-count-1{display:block;height:420px}
#pef4-root .pef4-gallery-count-1 .pef4-gallery-item{height:100%}
#pef4-root .pef4-gallery-count-2{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
#pef4-root .pef4-gallery-count-2 .pef4-g0{grid-row:auto}
#pef4-root .pef4-gallery-count-3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
#pef4-root .pef4-gallery-count-3 .pef4-g0{grid-row:1/3}
#pef4-root .pef4-gallery-count-4{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}
#pef4-root .pef4-gallery-count-4 .pef4-g0{grid-row:1/3}
#pef4-root .pef4-gallery-count-4 .pef4-g3{grid-column:2/4}
#pef4-root .pef4-gallery-count-5{grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr}
#pef4-root .pef4-gallery img{min-width:0;min-height:0}
#pef4-root .pef4-main{min-width:0}
#pef4-root .pef4-booking-wrap{min-width:0}
#pef4-root .pef4-date-picker-shell{position:relative}
#pef4-root .pef4-side-calendar{
    position:absolute;right:0;top:calc(100% + 10px);z-index:80;width:700px;max-width:min(700px,calc(100vw - 48px));
    background:#fff;border:1px solid #ddd;border-radius:18px;padding:18px;box-shadow:0 18px 55px rgba(0,0,0,.18);
    display:none
}
#pef4-root .pef4-side-calendar.is-open{display:block}
#pef4-root .pef4-side-calendar-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#pef4-root .pef4-side-cal-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;margin-top:14px;padding-top:12px;font-size:13px;color:#666}
#pef4-root .pef4-booking-card{z-index:20}
#pef4-root .pef4-date-boxes button:focus-visible,
#pef4-root .pef4-tabs button:focus-visible,
#pef4-root .pef4-day:focus-visible,
#pef4-root .pef4-primary-btn:focus-visible{outline:2px solid #222!important;outline-offset:2px}
#pef4-root .pef4-date-boxes button:hover{background:#fafafa!important}
#pef4-root .pef4-booking-card .pef4-primary-btn{margin-top:14px!important}
#pef4-root .pef4-modal.is-open{display:flex!important}
body.pef4-modal-open{overflow:hidden!important}

@media(max-width:1180px){
 #pef4-root .pef4-layout{grid-template-columns:minmax(0,1fr) 360px;gap:42px}
 #pef4-root .pef4-gallery{height:420px}
}
@media(max-width:980px){
 #pef4-root .pef4-side-calendar{display:none!important}
 #pef4-root .pef4-gallery-count-1{height:340px}
}

/* V4.2 premium UI */
#pef4-root .pef4-primary-btn:hover:not(:disabled){background:var(--pef4-btn-hover,#1d4ed8)!important;transform:translateY(-1px)}
#pef4-root .pef4-shell{max-width:1320px}
#pef4-root .pef4-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end}
#pef4-root .pef4-head h1{letter-spacing:-.025em}
#pef4-root .pef4-sub{font-size:15px}

/* Distinct editorial gallery — not Airbnb clone */
#pef4-root .pef4-gallery{
    height:430px;
    grid-template-columns:minmax(0,1.65fr) minmax(240px,.75fr);
    grid-template-rows:1fr 1fr 1fr;
    gap:10px;
    border-radius:24px;
    background:#f3f4f6;
    box-shadow:0 1px 0 rgba(0,0,0,.03)
}
#pef4-root .pef4-gallery-item{border-radius:14px!important;overflow:hidden!important}
#pef4-root .pef4-g0{grid-row:1/4!important;grid-column:1!important;border-radius:24px 14px 14px 24px!important}
#pef4-root .pef4-g1{grid-column:2!important;grid-row:1!important}
#pef4-root .pef4-g2{grid-column:2!important;grid-row:2!important}
#pef4-root .pef4-g3{grid-column:2!important;grid-row:3!important}
#pef4-root .pef4-g4{display:none!important}
#pef4-root .pef4-gallery-count-1{display:block!important;height:420px}
#pef4-root .pef4-gallery-count-1 .pef4-g0{height:100%;border-radius:24px!important}
#pef4-root .pef4-gallery-count-2{grid-template-columns:1.65fr .75fr!important;grid-template-rows:1fr!important}
#pef4-root .pef4-gallery-count-2 .pef4-g0{grid-row:1!important}
#pef4-root .pef4-gallery-count-2 .pef4-g1{grid-row:1!important;border-radius:14px 24px 24px 14px!important}
#pef4-root .pef4-gallery-count-3{grid-template-columns:1.65fr .75fr!important;grid-template-rows:1fr 1fr!important}
#pef4-root .pef4-gallery-count-3 .pef4-g0{grid-row:1/3!important}
#pef4-root .pef4-gallery-count-3 .pef4-g1{grid-row:1!important}
#pef4-root .pef4-gallery-count-3 .pef4-g2{grid-row:2!important}
#pef4-root .pef4-gallery-count-4{grid-template-columns:1.65fr .75fr!important;grid-template-rows:1fr 1fr 1fr!important}
#pef4-root .pef4-gallery-count-4 .pef4-g0{grid-row:1/4!important}
#pef4-root .pef4-show-all{
    background:rgba(255,255,255,.94)!important;
    border:0!important;
    border-radius:999px!important;
    padding:11px 15px!important;
    box-shadow:0 7px 24px rgba(0,0,0,.12)!important
}

#pef4-root .pef4-layout{grid-template-columns:minmax(0,1fr) 380px;gap:64px}
#pef4-root .pef4-main{padding-right:4px}
#pef4-root .pef4-section{padding-bottom:38px;margin-bottom:38px}
#pef4-root .pef4-section h2{font-size:25px;letter-spacing:-.015em}
#pef4-root .pef4-summary h2{font-size:22px}
#pef4-root .pef4-desc-preview{font-size:16px;color:#3f3f46}
#pef4-root .pef4-amenity{padding:4px 0}
#pef4-root .pef4-dot{border-color:#71717a}
#pef4-root .pef4-calendar-wrap{background:#fafafa;border-color:#ececec}
#pef4-root .pef4-booking-wrap{
    align-self:stretch!important;
    overflow:visible!important;
    position:relative!important;
}
#pef4-root .pef4-booking-card{
    position:-webkit-sticky!important;
    position:sticky!important;
    top:92px!important;
    z-index:50!important;
    border:1px solid #e5e7eb;
    border-radius:20px;
    box-shadow:0 18px 50px rgba(15,23,42,.10)
}
#pef4-root .pef4-tabs button.is-active{
    background:#111827!important;
    border-color:#111827!important
}
#pef4-root .pef4-side-calendar{z-index:9999!important}
#pef4-root .pef4-date-picker-shell{z-index:60}
#pef4-root .pef4-rate-top{padding-bottom:2px}

@media(max-width:1180px){
 #pef4-root .pef4-layout{grid-template-columns:minmax(0,1fr) 350px;gap:40px}
 #pef4-root .pef4-gallery{height:400px}
}
@media(max-width:980px){
 #pef4-root .pef4-gallery{height:340px;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr 1fr!important}
 #pef4-root .pef4-g0{grid-row:1/3!important;grid-column:1!important;border-radius:18px 10px 10px 18px!important}
 #pef4-root .pef4-g1{grid-column:2!important;grid-row:1!important}
 #pef4-root .pef4-g2{grid-column:2!important;grid-row:2!important}
 #pef4-root .pef4-g3{display:none!important}
}
@media(max-width:640px){
 #pef4-root .pef4-head{display:block}
 #pef4-root .pef4-gallery{height:280px!important;display:block!important}
 #pef4-root .pef4-gallery-item{display:none!important}
 #pef4-root .pef4-g0{display:block!important;height:100%!important;border-radius:18px!important}
}


/* ==============================
   V4.3 Distinct premium UI
   ============================== */
#pef4-root.pef4-property-page{
    --pef4-surface:#ffffff;
    --pef4-surface-soft:#f6f7f9;
    --pef4-surface-ink:#111827;
    --pef4-line:#e8eaee;
    background:#fff;
}
#pef4-root .pef4-shell{max-width:1240px;padding-top:34px}
#pef4-root .pef4-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-bottom:24px}
#pef4-root .pef4-head h1{font-size:clamp(32px,4vw,54px);max-width:850px}
#pef4-root .pef4-sub{font-size:15px;color:#70747c}

/* Editorial gallery: one cinematic image + filmstrip */
#pef4-root .pef4-gallery-editorial{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 250px;
    gap:14px;
    min-height:440px;
    margin:0 0 50px;
}
#pef4-root .pef4-gallery-main{
    position:relative;
    min-width:0;
    border-radius:26px;
    overflow:hidden;
    background:#eef0f3;
    box-shadow:0 18px 50px rgba(17,24,39,.08);
}
#pef4-root .pef4-gallery-main-btn{
    width:100%!important;
    height:100%!important;
    display:block!important;
    cursor:pointer!important;
    background:#eef0f3!important;
}
#pef4-root .pef4-gallery-main-btn img{
    width:100%!important;
    height:100%!important;
    min-height:440px;
    object-fit:cover!important;
    display:block!important;
}
#pef4-root .pef4-gallery-badge{
    position:absolute;
    left:18px;
    bottom:18px;
    background:rgba(17,24,39,.86);
    color:#fff;
    border-radius:999px;
    padding:8px 12px;
    font-size:12px;
    font-weight:700;
    backdrop-filter:blur(8px);
}
#pef4-root .pef4-gallery-strip{
    display:grid;
    grid-template-rows:repeat(3,minmax(0,1fr)) auto;
    gap:10px;
    min-width:0;
}
#pef4-root .pef4-gallery-thumb{
    width:100%!important;
    min-height:0!important;
    border-radius:16px!important;
    overflow:hidden!important;
    background:#eef0f3!important;
    cursor:pointer!important;
}
#pef4-root .pef4-gallery-thumb img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
    transition:transform .22s ease;
}
#pef4-root .pef4-gallery-thumb:hover img{transform:scale(1.03)}
#pef4-root .pef4-gallery-viewall{
    width:100%!important;
    border:1px solid #d9dde4!important;
    background:#fff!important;
    border-radius:16px!important;
    padding:13px 14px!important;
    text-align:left!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    cursor:pointer!important;
    box-shadow:0 8px 24px rgba(17,24,39,.05)!important;
}
#pef4-root .pef4-gallery-viewall span{font-weight:700}
#pef4-root .pef4-gallery-viewall small{color:#7a7f87}
#pef4-root .pef4-single-viewall{
    position:absolute;
    right:18px;
    bottom:18px;
    width:auto!important;
    background:rgba(255,255,255,.94)!important;
}

/* Layout */
#pef4-root .pef4-layout{
    grid-template-columns:minmax(0,1fr) 360px;
    gap:56px;
}
#pef4-root .pef4-main{min-width:0}
#pef4-root .pef4-intro-section{
    background:linear-gradient(180deg,#fbfbfc,#fff);
    border:1px solid var(--pef4-line);
    border-radius:22px;
    padding:24px 26px!important;
    margin-bottom:28px!important;
}
#pef4-root .pef4-summary h2{margin-bottom:10px!important}
#pef4-root .pef4-facts{gap:8px 12px}
#pef4-root .pef4-facts span{
    background:#f1f3f5;
    border-radius:999px;
    padding:7px 11px;
    font-size:14px;
}
#pef4-root .pef4-facts span:not(:last-child)::after{display:none}
#pef4-root .pef4-section{
    border-bottom:0;
    padding:28px 0 34px;
    margin:0;
}
#pef4-root .pef4-section+.pef4-section{
    border-top:1px solid var(--pef4-line);
}
#pef4-root .pef4-section h2{
    font-size:24px;
    margin-bottom:18px;
}
#pef4-root .pef4-desc-preview{
    max-width:760px;
    line-height:1.8;
}
#pef4-root .pef4-amenity-grid{gap:12px 18px}
#pef4-root .pef4-amenity{
    background:#fafafa;
    border:1px solid #eceff2;
    border-radius:14px;
    padding:12px 14px;
}
#pef4-root .pef4-dot{width:8px;height:8px;background:#111827;border:0}

/* Calendar card */
#pef4-root .pef4-calendar-wrap{
    border:1px solid #e5e7eb;
    border-radius:20px;
    padding:20px;
    background:#fff;
    box-shadow:0 10px 30px rgba(17,24,39,.04);
}
#pef4-root .pef4-month{
    background:#fbfbfc;
    border:1px solid #edf0f3;
    border-radius:16px;
    padding:14px;
}
#pef4-root .pef4-day{border-radius:10px!important}
#pef4-root .pef4-day.in-range{background:#e9eef8!important}
#pef4-root .pef4-day.is-start,
#pef4-root .pef4-day.is-end{background:#111827!important}

/* Booking card */
#pef4-root .pef4-booking-wrap{
    align-self:start!important;
    position:sticky!important;
    top:90px!important;
    height:max-content!important;
    overflow:visible!important;
}
#pef4-root .pef4-booking-card{
    position:relative!important;
    top:auto!important;
    border:1px solid #e2e5e9;
    border-radius:24px;
    padding:24px;
    box-shadow:0 22px 60px rgba(17,24,39,.11);
}
#pef4-root .pef4-rate-top{
    padding-bottom:16px;
    border-bottom:1px solid #eceff2;
    margin-bottom:16px;
}
#pef4-root .pef4-rate-price{font-size:28px;letter-spacing:-.02em}
#pef4-root .pef4-tabs{
    background:#f3f4f6;
    border-radius:12px;
    padding:4px;
    gap:4px;
}
#pef4-root .pef4-tabs button{
    border:0!important;
    background:transparent!important;
}
#pef4-root .pef4-tabs button.is-active{
    background:#fff!important;
    color:#111827!important;
    box-shadow:0 1px 5px rgba(17,24,39,.08)!important;
}
#pef4-root .pef4-date-boxes{
    border-color:#dfe3e8;
    border-radius:14px;
}
#pef4-root .pef4-date-boxes button{padding:13px!important}
#pef4-root .pef4-guests{
    background:#fafafa;
    border:1px solid #eceff2;
    border-radius:14px;
    padding:12px 14px;
}
#pef4-root .pef4-nocharge{font-size:12px}
#pef4-root .pef4-side-calendar{
    width:620px;
    border-radius:20px;
}

/* Tablet */
@media(max-width:1100px){
    #pef4-root .pef4-gallery-editorial{
        grid-template-columns:minmax(0,1fr) 210px;
        min-height:390px;
    }
    #pef4-root .pef4-gallery-main-btn img{min-height:390px}
    #pef4-root .pef4-layout{
        grid-template-columns:minmax(0,1fr) 330px;
        gap:36px;
    }
}

/* Tablet/mobile stacked experience */
@media(max-width:900px){
    #pef4-root .pef4-shell{padding-left:18px;padding-right:18px}
    #pef4-root .pef4-head{display:block}
    #pef4-root .pef4-sub{margin-top:8px}
    #pef4-root .pef4-gallery-editorial{
        grid-template-columns:1fr;
        min-height:0;
        gap:10px;
        margin-bottom:32px;
    }
    #pef4-root .pef4-gallery-main{border-radius:20px}
    #pef4-root .pef4-gallery-main-btn img{
        min-height:0;
        height:360px!important;
    }
    #pef4-root .pef4-gallery-strip{
        grid-template-columns:repeat(3,1fr);
        grid-template-rows:none;
        gap:8px;
    }
    #pef4-root .pef4-gallery-thumb{height:110px!important}
    #pef4-root .pef4-gallery-viewall{
        grid-column:1/-1;
    }
    #pef4-root .pef4-layout{grid-template-columns:1fr;gap:0}
    #pef4-root .pef4-booking-wrap{display:none!important}
    #pef4-root .pef4-calendars{grid-template-columns:1fr}
    #pef4-root .pef4-mobile-bar{display:flex}
}

/* Phone */
@media(max-width:560px){
    #pef4-root .pef4-shell{padding-left:14px;padding-right:14px;padding-top:22px}
    #pef4-root .pef4-head h1{font-size:32px}
    #pef4-root .pef4-gallery-main-btn img{height:250px!important}
    #pef4-root .pef4-gallery-strip{
        grid-template-columns:repeat(2,1fr);
    }
    #pef4-root .pef4-gallery-thumb{height:86px!important}
    #pef4-root .pef4-gallery-thumb:nth-of-type(3){display:none!important}
    #pef4-root .pef4-intro-section{
        padding:18px!important;
        border-radius:18px;
    }
    #pef4-root .pef4-facts{gap:7px}
    #pef4-root .pef4-facts span{font-size:13px}
    #pef4-root .pef4-amenity-grid{grid-template-columns:1fr}
    #pef4-root .pef4-calendar-wrap{padding:12px}
    #pef4-root .pef4-month{padding:10px}
    #pef4-root .pef4-day{height:38px!important}
    #pef4-root .pef4-modal{padding:10px}
    #pef4-root .pef4-modal-card{border-radius:16px;padding:22px 18px}
}


/* ==============================
   V4.3.1 Gallery spacing fix
   Neutralizes legacy .pef4-gallery-count-* rules
   ============================== */

/* Ensure the editorial gallery controls its own dimensions */
#pef4-root .pef4-gallery-editorial{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 220px!important;
    grid-template-rows:none!important;
    grid-auto-rows:auto!important;
    grid-auto-flow:row!important;
    height:auto!important;
    min-height:350px!important;
    max-height:350px!important;
    margin:0 0 34px!important;
    overflow:visible!important;
}

/* Reset legacy count rules that were unintentionally affecting the new gallery */
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-1,
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-2,
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-3,
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-4,
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-5{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 220px!important;
    grid-template-rows:none!important;
    height:auto!important;
    min-height:350px!important;
    max-height:350px!important;
}

#pef4-root .pef4-gallery-editorial.pef4-gallery-count-1{
    display:block!important;
    min-height:350px!important;
    max-height:350px!important;
}

#pef4-root .pef4-gallery-main{
    height:350px!important;
    min-height:350px!important;
    max-height:350px!important;
}

#pef4-root .pef4-gallery-main-btn{
    height:350px!important;
    min-height:350px!important;
    max-height:350px!important;
}

#pef4-root .pef4-gallery-main-btn img{
    width:100%!important;
    height:350px!important;
    min-height:0!important;
    max-height:350px!important;
    object-fit:cover!important;
}

#pef4-root .pef4-gallery-strip{
    height:350px!important;
    min-height:350px!important;
    max-height:350px!important;
    grid-template-rows:repeat(3,minmax(0,1fr)) auto!important;
    overflow:hidden!important;
}

#pef4-root .pef4-gallery-thumb{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
}

#pef4-root .pef4-gallery-thumb img{
    min-height:0!important;
    height:100%!important;
}

/* Content must begin immediately after the gallery */
#pef4-root .pef4-layout{
    margin-top:0!important;
    padding-top:0!important;
}
#pef4-root .pef4-gallery-editorial + .pef4-layout{
    margin-top:0!important;
}

/* Tablet */
@media(max-width:1100px){
    #pef4-root .pef4-gallery-editorial,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-1,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-2,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-3,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-4,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-5{
        grid-template-columns:minmax(0,1fr) 190px!important;
        min-height:320px!important;
        max-height:320px!important;
    }
    #pef4-root .pef4-gallery-main,
    #pef4-root .pef4-gallery-main-btn,
    #pef4-root .pef4-gallery-main-btn img,
    #pef4-root .pef4-gallery-strip{
        height:320px!important;
        min-height:320px!important;
        max-height:320px!important;
    }
}

/* Mobile/tablet stacked gallery */
@media(max-width:900px){
    #pef4-root .pef4-gallery-editorial,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-1,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-2,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-3,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-4,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-5{
        grid-template-columns:1fr!important;
        min-height:0!important;
        max-height:none!important;
        margin-bottom:28px!important;
    }
    #pef4-root .pef4-gallery-main,
    #pef4-root .pef4-gallery-main-btn{
        height:300px!important;
        min-height:300px!important;
        max-height:300px!important;
    }
    #pef4-root .pef4-gallery-main-btn img{
        height:300px!important;
        min-height:0!important;
        max-height:300px!important;
    }
    #pef4-root .pef4-gallery-strip{
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        grid-template-columns:repeat(3,1fr)!important;
        grid-template-rows:none!important;
        overflow:visible!important;
    }
    #pef4-root .pef4-gallery-thumb{
        height:92px!important;
    }
}

@media(max-width:560px){
    #pef4-root .pef4-gallery-editorial{
        margin-bottom:22px!important;
    }
    #pef4-root .pef4-gallery-main,
    #pef4-root .pef4-gallery-main-btn{
        height:220px!important;
        min-height:220px!important;
        max-height:220px!important;
    }
    #pef4-root .pef4-gallery-main-btn img{
        height:220px!important;
        max-height:220px!important;
    }
    #pef4-root .pef4-gallery-strip{
        grid-template-columns:repeat(2,1fr)!important;
    }
    #pef4-root .pef4-gallery-thumb{
        height:78px!important;
    }
}


/* ==============================
   V4.3.2 Gallery ratio + mobile booking summary
   ============================== */
#pef4-root .pef4-gallery-editorial,
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-2,
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-3,
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-4,
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-5{
    grid-template-columns:minmax(0,1.55fr) minmax(290px,.75fr)!important;
    gap:14px!important;
    min-height:340px!important;
    max-height:340px!important;
}
#pef4-root .pef4-gallery-editorial.pef4-gallery-count-1{
    max-width:920px;
    min-height:340px!important;
    max-height:340px!important;
}
#pef4-root .pef4-gallery-main,
#pef4-root .pef4-gallery-main-btn{
    height:340px!important;
    min-height:340px!important;
    max-height:340px!important;
}
#pef4-root .pef4-gallery-main-btn img{
    height:340px!important;
    max-height:340px!important;
    object-position:center!important;
}
#pef4-root .pef4-gallery-strip{
    height:340px!important;
    min-height:340px!important;
    max-height:340px!important;
}
#pef4-root .pef4-mobile-pricebox{
    display:flex;
    flex-direction:column;
    min-width:0;
    line-height:1.2;
}
#pef4-root .pef4-mobile-pricebox > div{white-space:nowrap}
#pef4-root .pef4-mobile-pricebox small{
    color:#71717a;
    font-size:11px;
    margin-top:3px;
}
#pef4-root .pef4-mobile-total{
    display:block;
    font-size:12px;
    margin-top:4px;
    color:#111827;
}
#pef4-root .pef4-mobile-bar{gap:14px}
#pef4-root .pef4-mobile-bar .pef4-primary-btn{flex:0 0 auto}

@media(max-width:560px){
    #pef4-root .pef4-amenity-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:8px!important;
    }
    #pef4-root .pef4-amenity{
        padding:10px 9px!important;
        font-size:13px!important;
        gap:8px!important;
        min-width:0!important;
    }
    #pef4-root .pef4-dot{
        width:7px!important;
        height:7px!important;
        flex:0 0 7px!important;
    }
    #pef4-root .pef4-mobile-bar{
        padding:10px 12px!important;
    }
    #pef4-root .pef4-mobile-bar .pef4-primary-btn{
        padding:11px 13px!important;
        font-size:13px!important;
    }
}
@media(max-width:1100px) and (min-width:901px){
    #pef4-root .pef4-gallery-editorial,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-2,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-3,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-4,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-5{
        grid-template-columns:minmax(0,1.45fr) minmax(240px,.7fr)!important;
        min-height:310px!important;
        max-height:310px!important;
    }
    #pef4-root .pef4-gallery-main,
    #pef4-root .pef4-gallery-main-btn,
    #pef4-root .pef4-gallery-main-btn img,
    #pef4-root .pef4-gallery-strip{
        height:310px!important;
        min-height:310px!important;
        max-height:310px!important;
    }
}
@media(max-width:900px){
    #pef4-root .pef4-gallery-editorial,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-1,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-2,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-3,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-4,
    #pef4-root .pef4-gallery-editorial.pef4-gallery-count-5{
        grid-template-columns:1fr!important;
        min-height:0!important;
        max-height:none!important;
    }
}


/* ==============================
   V4.4 Balanced Showcase Gallery
   Completely separate from legacy gallery classes
   ============================== */
#pef4-root .pef4-showcase-gallery{
    position:relative;
    display:grid!important;
    grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
    gap:12px!important;
    height:360px!important;
    min-height:360px!important;
    max-height:360px!important;
    margin:0 0 34px!important;
}
#pef4-root .pef4-showcase-hero{
    width:100%!important;
    height:360px!important;
    border-radius:22px!important;
    overflow:hidden!important;
    background:#eef1f4!important;
    cursor:pointer!important;
}
#pef4-root .pef4-showcase-hero img{
    width:100%!important;
    height:100%!important;
    display:block!important;
    object-fit:cover!important;
}
#pef4-root .pef4-showcase-grid{
    height:360px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    min-width:0!important;
}
#pef4-root .pef4-showcase-tile{
    position:relative!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
    border-radius:16px!important;
    background:#eef1f4!important;
    cursor:pointer!important;
}
#pef4-root .pef4-showcase-tile img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
    transition:transform .2s ease!important;
}
#pef4-root .pef4-showcase-tile:hover img,
#pef4-root .pef4-showcase-hero:hover img{transform:scale(1.018)}
#pef4-root .pef4-showcase-overlay{
    position:absolute!important;
    inset:0!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    align-items:flex-start!important;
    padding:16px!important;
    background:linear-gradient(180deg,transparent 30%,rgba(11,18,32,.72))!important;
    color:#fff!important;
    pointer-events:none!important;
}
#pef4-root .pef4-showcase-overlay strong{font-size:15px}
#pef4-root .pef4-showcase-overlay small{font-size:12px;opacity:.88;margin-top:2px}
#pef4-root .pef4-showcase-single-open{
    position:absolute!important;
    right:16px!important;
    bottom:16px!important;
    background:#fff!important;
    border:1px solid #d9dde4!important;
    border-radius:999px!important;
    padding:10px 14px!important;
    font-weight:700!important;
    cursor:pointer!important;
}

/* 2 images: balanced 60/40 split */
#pef4-root .pef4-showcase-count-2{grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr)!important}
#pef4-root .pef4-showcase-count-2 .pef4-showcase-grid{grid-template-columns:1fr!important;grid-template-rows:1fr!important}
#pef4-root .pef4-showcase-count-2 .pef4-showcase-tile{border-radius:22px!important}

/* 3 images: right side two rows */
#pef4-root .pef4-showcase-count-3 .pef4-showcase-grid{grid-template-columns:1fr!important;grid-template-rows:repeat(2,1fr)!important}

/* 4 images: last right tile spans full width */
#pef4-root .pef4-showcase-count-4 .pef4-showcase-tile:last-child{grid-column:1/-1!important}

/* One image only */
#pef4-root .pef4-showcase-count-1{display:block!important;height:340px!important;max-width:980px!important}
#pef4-root .pef4-showcase-count-1 .pef4-showcase-hero{height:340px!important}

/* Tablet */
@media(max-width:1024px){
    #pef4-root .pef4-showcase-gallery{
        grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;
        height:320px!important;
        min-height:320px!important;
        max-height:320px!important;
    }
    #pef4-root .pef4-showcase-hero,
    #pef4-root .pef4-showcase-grid{height:320px!important}
}

/* Mobile: hero + 2-column thumbnail grid */
@media(max-width:760px){
    #pef4-root .pef4-showcase-gallery,
    #pef4-root .pef4-showcase-count-1,
    #pef4-root .pef4-showcase-count-2,
    #pef4-root .pef4-showcase-count-3,
    #pef4-root .pef4-showcase-count-4,
    #pef4-root .pef4-showcase-count-5{
        display:block!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        margin-bottom:24px!important;
    }
    #pef4-root .pef4-showcase-hero{
        height:245px!important;
        min-height:245px!important;
        border-radius:18px!important;
    }
    #pef4-root .pef4-showcase-grid{
        height:auto!important;
        margin-top:8px!important;
        display:grid!important;
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:none!important;
        gap:8px!important;
    }
    #pef4-root .pef4-showcase-tile{
        height:92px!important;
        border-radius:12px!important;
    }
    #pef4-root .pef4-showcase-count-3 .pef4-showcase-grid,
    #pef4-root .pef4-showcase-count-2 .pef4-showcase-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        grid-template-rows:none!important;
    }
    #pef4-root .pef4-showcase-count-2 .pef4-showcase-tile{border-radius:12px!important}
    #pef4-root .pef4-showcase-count-4 .pef4-showcase-tile:last-child{grid-column:auto!important}
}
@media(max-width:480px){
    #pef4-root .pef4-showcase-hero{height:215px!important;min-height:215px!important}
    #pef4-root .pef4-showcase-tile{height:78px!important}
    #pef4-root .pef4-showcase-overlay{padding:10px!important}
    #pef4-root .pef4-showcase-overlay strong{font-size:13px}
}


/* ==============================
   V4.4.1 Amenity + property fact icons
   ============================== */
#pef4-root .pef4-ui-icon{
    width:22px;
    height:22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 22px;
    color:#111827;
}
#pef4-root .pef4-ui-icon svg{
    width:100%;
    height:100%;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    display:block;
}
#pef4-root .pef4-fact-item{
    display:inline-flex!important;
    align-items:center!important;
    gap:8px!important;
    background:#f4f6f8!important;
    border:1px solid #eceff2!important;
    border-radius:14px!important;
    padding:9px 12px!important;
}
#pef4-root .pef4-fact-item b{
    font-weight:600!important;
    font-size:14px!important;
}
#pef4-root .pef4-fact-item .pef4-ui-icon{
    width:19px;
    height:19px;
    flex-basis:19px;
    color:#303643;
}
#pef4-root .pef4-amenity{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
}
#pef4-root .pef4-amenity .pef4-ui-icon{
    width:23px;
    height:23px;
    flex-basis:23px;
    color:#202733;
}
#pef4-root .pef4-amenity > span{
    min-width:0;
}
#pef4-root .pef4-dot{display:none!important}

@media(max-width:560px){
    #pef4-root .pef4-fact-item{
        padding:8px 9px!important;
        gap:6px!important;
    }
    #pef4-root .pef4-fact-item b{
        font-size:12px!important;
    }
    #pef4-root .pef4-fact-item .pef4-ui-icon{
        width:17px;
        height:17px;
        flex-basis:17px;
    }
    #pef4-root .pef4-amenity{
        gap:8px!important;
        padding:10px!important;
    }
    #pef4-root .pef4-amenity .pef4-ui-icon{
        width:19px!important;
        height:19px!important;
        flex-basis:19px!important;
    }
}
