:root{--loft-serif:'Playfair Display',Georgia,serif;--loft-sans:'Lato',Arial,sans-serif;--loft-ink:#24221e;--loft-gold:#ab782e;--loft-paper:#f7f5f0;--loft-wide:1680px}body,input,textarea,select,button{font-family:var(--loft-sans)}body h1,body h2,body h3,body h4,body h5,body h6,.loft-hero .loft-hero-location{font-family:var(--loft-serif);font-weight:400}.loft-button,.loft-cta,.woocommerce a.button,.woocommerce button.button,.btn{font-family:var(--loft-sans)!important;font-weight:600;letter-spacing:.035em;border-radius:3px}.loft-section p,.loft-evjf p{color:#504b43}.loft-kicker,.loft-evjf-kicker{color:#ab782e!important}.home .page-wrapper>.classic>.row{max-width:none!important;width:100%;margin:0}.home .page-wrapper>.classic{padding-left:0;padding-right:0}.loft-section{max-width:var(--loft-wide);padding:clamp(55px,6vw,110px) clamp(24px,5vw,100px)}.loft-intro{max-width:1150px;padding-top:clamp(70px,7vw,125px);padding-bottom:clamp(55px,6vw,100px)}.loft-intro h2{font-size:clamp(32px,3.2vw,57px)}.loft-section h2{letter-spacing:-.025em}.loft-feature{grid-template-columns:1.2fr 1fr;gap:clamp(32px,5.5vw,110px)}.loft-feature>img{height:clamp(420px,39vw,710px);border-radius:5px}.loft-feature>div p{max-width:560px}.loft-feature-reverse{grid-template-columns:1fr 1.25fr}.loft-duo-photos{gap:18px;align-items:center}.loft-duo-photos img{height:clamp(350px,30vw,540px);border-radius:5px}.loft-duo-photos img:last-child{margin-top:70px}.loft-spaces{grid-template-columns:1.65fr 1fr;grid-template-rows:repeat(3,clamp(150px,13vw,245px));gap:18px}.loft-spaces img{border-radius:4px}.loft-copy{max-width:940px;margin-top:45px}.loft-services{max-width:none;padding-left:max(5vw,calc((100% - 1480px)/2));padding-right:max(5vw,calc((100% - 1480px)/2));background:#f7f5f0}.loft-service-grid{gap:36px 80px}.loft-service-grid>div{border-top:1px solid #d9ccb6;padding-top:22px}.loft-prices{max-width:1480px}.loft-moments{gap:20px}.loft-moments a{border:1px solid #e3d9c7;border-top:2px solid #ab782e;border-radius:5px;padding:30px 24px;transition:background .25s,box-shadow .25s,transform .25s}.loft-moments a:hover{transform:translateY(-3px);box-shadow:0 12px 30px #31271a0a}.loft-price-table caption{font-family:var(--loft-serif);padding:22px 0}.loft-price-table thead{background:#25231f}.loft-price-table tbody tr:nth-child(even){background:#faf8f4}.loft-options{border-radius:0 5px 5px 0}.home .gallery{gap:18px}.home .gallery img{height:clamp(190px,21vw,330px);border-radius:4px;transition:filter .35s}.home .gallery a:hover img{filter:brightness(1.07)}.loft-footer-grid,.loft-footer-bottom{max-width:1480px}.loft-footer{padding-top:80px}.loft-footer a{transition:color .2s}.loft-button,.loft-cta,.woocommerce a.button,.woocommerce button.button{transition:background-color .22s,color .22s,box-shadow .22s}.loft-button:hover,.loft-cta:hover{box-shadow:0 7px 20px #31271a16}.loft-evjf{max-width:1360px}.loft-evjf-card{border-radius:6px;box-shadow:0 8px 30px #35281305}.loft-evjf-practical{border-radius:6px}.loft-booking-notice{max-width:1050px}.loft-booking-page{padding:55px 0 15px}.loft-booking-page>h1{letter-spacing:-.03em}.loft-calendars{max-width:1050px;gap:65px}.loft-calendars h2{font-size:clamp(30px,3vw,42px)}.loft-calendars>section>p{color:#6a6257}.loft-document{max-width:1080px}.loft-document p{font-size:16px}.woocommerce table.shop_table{border:1px solid #e4deD2;border-radius:5px;border-collapse:collapse}.woocommerce table.shop_table th{font-family:var(--loft-sans);font-weight:600;background:#f7f5f0;padding:18px}.woocommerce table.shop_table td{padding:20px 18px;border-color:#ece6dc}.woocommerce .cart_totals h2,.woocommerce-checkout h3{font-family:var(--loft-serif);font-size:30px}.woocommerce input.input-text,.woocommerce textarea,.woocommerce select{border:1px solid #d8d1c5;border-radius:4px;background:#fff;min-height:46px;padding:12px;box-shadow:none}.woocommerce input.input-text:focus,.woocommerce textarea:focus{border-color:#ab782e;outline:2px solid #ab782e22}.woocommerce #payment{background:#f7f5f0;border-radius:6px}.woocommerce .woocommerce-info,.woocommerce .woocommerce-message{border-top-color:#ab782e;background:#f7f5f0;color:#39342c}.woocommerce .woocommerce-info::before,.woocommerce .woocommerce-message::before{color:#ab782e}.loft-section,.loft-evjf-card{scroll-margin-top:145px}
/* The calendar remains the native booking widget: only its presentation changes. */
.product-type-phive_booking form.cart{background:#ab782e!important;background:#ab782e!important;border:1px solid #ab782e;border-radius:9px!important;padding:clamp(24px,5vw,58px)!important;box-shadow:0 12px 38px #3327180b}.ph-calendar-month ul li{font-family:var(--loft-sans)!important;font-size:14px!important;font-weight:600;letter-spacing:.16em!important}.ph-calendar-weekdays li{font-size:14px!important;font-weight:400;color:#f5edde!important}.ph-calendar-days li.ph-calendar-date{border-radius:6px!important;transition:background-color .16s,color .16s;min-height:42px}.ph-calendar-days li.ph-calendar-date span.ph_calendar_day{font-family:var(--loft-sans);font-size:16px}.ph-calendar-days li.ph-calendar-date:not(.booking-disabled):not(.de-active):not(.booking-full):hover{background:#ffffff1c!important}.ph-calendar-days li.ph-calendar-date.selected-date,.ph-calendar-days li.ph-calendar-date.timepicker-selected-date,.ph-calendar-days li.ph-calendar-date.active{background:#25231f!important;color:#fff!important}.ph-calendar-days li.ph-calendar-date.booking-full,.ph-calendar-days li.ph-calendar-date.booking-disabled,.ph-calendar-days li.ph-calendar-date.de-active{background:transparent!important;color:#e5d4b5!important;opacity:.5}.ph-calendar-days li.ph-calendar-date.today:not(.booking-disabled){box-shadow:inset 0 0 0 1px #f5e9cf55}.loft-slots{gap:12px;margin-top:24px}.loft-slots button{border-color:#e8d7b8;border-radius:5px;min-height:58px;font-size:15px;font-weight:400;letter-spacing:0;background:#ffffff05}.loft-slots button[aria-pressed=true]{background:#25231f;border-color:#25231f;box-shadow:0 4px 12px #32261525}.loft-slot-help{font-size:13px;line-height:1.6;color:#f5ead7}.product-type-phive_booking .extra-resources{margin-top:25px;padding-top:20px;border-top:1px solid #ffffff30}.product-type-phive_booking .label-resources{font-size:15px!important;line-height:1.6}.product-type-phive_booking .label-person{font-size:15px!important;line-height:1.7}.product-type-phive_booking input[type=checkbox]{width:17px;height:17px;accent-color:#27231d;vertical-align:middle}.product-type-phive_booking .booking-info-wraper{background:#fffaf0!important;color:#332b1e;border-radius:6px;margin:24px 0!important;padding:20px!important;line-height:1.8;font-size:15px}.product-type-phive_booking .ph_book_now_button{background:#25231f!important;color:#fff!important;padding:15px 28px!important;border-radius:5px!important;min-height:50px;letter-spacing:.03em;font-size:15px!important}.product-type-phive_booking .ph_book_now_button.disabled{opacity:.45}.loft-calendar-embed{font-family:var(--loft-sans)}
@media(min-width:1800px){.loft-section{max-width:1840px}.loft-intro{max-width:1220px}.loft-prices{max-width:1560px}}
@media(max-width:900px){.loft-feature,.loft-feature-reverse{gap:30px;grid-template-columns:1fr 1fr}.loft-duo-photos{grid-template-columns:1fr}.loft-duo-photos img{height:270px}.loft-duo-photos img:last-child{margin-top:0}.loft-section{padding-left:28px;padding-right:28px}.loft-service-grid{gap:24px 35px}}
@media(max-width:600px){.loft-section{padding:48px 20px}.loft-intro{padding-top:65px}.loft-feature,.loft-feature-reverse{grid-template-columns:1fr;gap:28px}.loft-feature>img{height:330px}.loft-feature>div p{max-width:none}.loft-duo-photos{grid-template-columns:1fr 1fr;gap:10px}.loft-duo-photos img{height:270px}.loft-spaces{grid-template-columns:repeat(3,1fr);grid-template-rows:300px 110px;gap:8px}.loft-copy{margin-top:25px}.loft-service-grid{grid-template-columns:1fr}.loft-moments{gap:12px}.loft-moments a{padding:23px 15px}.home .gallery{gap:9px}.home .gallery img{height:160px}.loft-footer{padding-top:45px}.loft-slots{gap:8px}.loft-slots button{font-size:12px;min-height:60px;padding:10px 4px}.product-type-phive_booking form.cart{padding:24px 18px!important}.ph-calendar-days li.ph-calendar-date span.ph_calendar_day{font-size:14px}.ph-calendar-weekdays li{font-size:12px!important}.product-type-phive_booking .booking-info-wraper{font-size:14px;padding:16px!important}.loft-booking-page{padding-top:30px}.loft-booking-page .loft-button{margin-right:8px}.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:14px 10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}.loft-moments a,.home .gallery img,.loft-button,.loft-cta,.ph-calendar-date{transition:none!important;transform:none!important}}

.loft-booking-notice{padding:25px 30px;background:#f8f6f1;border-left:2px solid #ab782e;margin-bottom:35px}.loft-booking-notice p{font-size:15px;line-height:1.75;margin:0 0 14px}.loft-booking-notice p:last-child{margin-bottom:0}.loft-booking-guidance{max-width:960px;margin:45px auto 0}.loft-booking-guidance p{font-size:15px;line-height:1.8}.loft-section .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.loft-section .gallery-item{width:auto!important;max-width:none!important;margin:0!important}.loft-section .gallery img{width:100%;height:330px;object-fit:cover;border:0!important;border-radius:4px}.loft-section .gallery br{display:none}@media(max-width:600px){.loft-booking-notice{padding:20px}.loft-section .gallery{gap:9px}.loft-section .gallery img{height:180px}}

.loft-reservation-cart .shop_table.cart .product-quantity,.loft-reservation-cart .shop_table.cart .product-price,.loft-reservation-cart .shop_table.cart .product-thumbnail{display:none!important}.loft-reservation-cart .shop_table.cart .product-name{font-size:17px}.loft-reservation-cart .shop_table.cart dl.variation{font-size:14px;line-height:1.7;margin-top:12px}.loft-reservation-cart .shop_table.cart dl.variation dt{float:none;font-weight:400;color:#847454}.loft-reservation-cart .shop_table.cart dl.variation dd{margin:0}.loft-reservation-cart .shop_table.cart .actions{display:none}.loft-reservation-cart .cart_totals{background:#f8f6f1;padding:30px;border-radius:5px}.loft-reservation-cart .cart_totals h2{margin-top:0}

/* TikTok brand mark (Font Awesome, CC BY 4.0), shared by all header variants. */
a[href="https://www.tiktok.com/@loft_private_spa"]>i.fa{display:inline-block;width:1em;height:1em;vertical-align:-.1em;background-color:currentColor;-webkit-mask:url("tiktok.svg") center/contain no-repeat;mask:url("tiktok.svg") center/contain no-repeat}a[href="https://www.tiktok.com/@loft_private_spa"]>i.fa::before{content:none!important}

/* Keep the gallery links full-width: the theme's inline links otherwise shrink the photos. */
.loft-section .gallery{gap:16px;align-items:start}
.loft-section .gallery.gallery-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.loft-section .gallery .gallery-item{padding:0!important;float:none;width:100%!important;min-width:0}
.loft-section .gallery .gallery-icon,.loft-section .gallery .gallery-icon a{display:block;width:100%;max-width:none;margin:0;padding:0}
.loft-section .gallery .gallery-icon a{overflow:hidden;border-radius:4px}
.loft-section .gallery img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:0}
.loft-prices .loft-booking-notice{width:100%;max-width:none;box-sizing:border-box;border-radius:0 5px 5px 0}
@media(max-width:900px){.loft-section .gallery.gallery-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}.loft-section .gallery.gallery-columns-3 .gallery-item:last-child:nth-child(odd){grid-column:1/-1}.loft-section .gallery.gallery-columns-3 .gallery-item:last-child:nth-child(odd) img{aspect-ratio:3/1}}
@media(max-width:600px){.loft-section .gallery{gap:10px}}

/* One shared content width for photos, services, prices and gallery. */
.home .loft-services,.home .loft-prices{max-width:1680px;padding-left:clamp(24px,5vw,100px);padding-right:clamp(24px,5vw,100px)}
.home .loft-services{background:transparent;padding-top:55px;padding-bottom:55px}
.loft-services-inner{background:#f7f5f0;padding:clamp(28px,4vw,64px);border-radius:4px}
@media(min-width:1800px){.home .loft-services,.home .loft-prices{max-width:1840px}}
@media(max-width:900px){.home .loft-services,.home .loft-prices{padding-left:28px;padding-right:28px}}
@media(max-width:600px){.home .loft-services,.home .loft-prices{padding-left:20px;padding-right:20px}.home .loft-services{padding-top:35px;padding-bottom:35px}.loft-services-inner{padding:28px 22px}}

/* Shared page grid: inner sections no longer add a second set of side margins. */
:root{--loft-page-shell:1680px;--loft-page-gutter:clamp(24px,5vw,100px)}
@media(min-width:1800px){:root{--loft-page-shell:1840px}}
@media(max-width:900px){:root{--loft-page-gutter:28px}}
@media(max-width:600px){:root{--loft-page-gutter:20px}}
body:not(.home):not(.loft-calendar-embed) .page-wrapper>.classic>.row{width:calc(100% - 2 * var(--loft-page-gutter));max-width:calc(var(--loft-page-shell) - 2 * var(--loft-page-gutter));margin-left:auto;margin-right:auto}
body:not(.home) .page-wrapper>.classic>.row>.blog-content{padding-left:0;padding-right:0}
body:not(.home) .page-wrapper .loft-section,body:not(.home) .page-wrapper .loft-document{width:100%;max-width:none;padding-left:0;padding-right:0}
body:not(.home) .page-wrapper .loft-evjf,body:not(.home) .page-wrapper .loft-booking-page,body:not(.home) .page-wrapper .loft-booking-notice,body:not(.home) .page-wrapper .loft-calendars{width:100%;max-width:none;box-sizing:border-box}
.loft-calendar-embed .booking-wraper{max-width:960px;margin-left:auto;margin-right:auto}
.loft-calendar-embed .ph_book_now_button{margin-left:max(0px,calc((100% - 960px)/2))!important}
.loft-footer{padding-left:var(--loft-page-gutter);padding-right:var(--loft-page-gutter)}
.loft-footer-grid,.loft-footer-bottom{max-width:calc(var(--loft-page-shell) - 2 * var(--loft-page-gutter))}
body.single-product:not(.loft-calendar-embed) .page-wrapper>.single-post>.row{width:calc(100% - 2 * var(--loft-page-gutter));max-width:calc(var(--loft-page-shell) - 2 * var(--loft-page-gutter));margin-left:auto;margin-right:auto}
body.single-product .page-wrapper>.single-post>.row>.columns{width:100%;padding-left:0;padding-right:0}

/* Native booking checkboxes: align the control and its clickable label in one row. */
.product-type-phive_booking .extra-resources .label-resources{display:block;margin:0 0 18px;padding:0}
.product-type-phive_booking .extra-resources .resources-wraper{display:flex;align-items:center;gap:14px;margin:0;padding:10px 0;min-height:48px}
.product-type-phive_booking .extra-resources input.resources_check[type=checkbox]{-webkit-appearance:none;appearance:none;display:block;position:relative;float:none;flex:0 0 22px;width:22px;height:22px;min-width:22px;min-height:22px;margin:0!important;padding:0!important;border:1.5px solid #eadbc0;border-radius:5px;background:#fffaf0;cursor:pointer;box-shadow:none;transition:background-color .15s,border-color .15s}
.product-type-phive_booking .extra-resources input.resources_check[type=checkbox]:checked{background:#25231f;border-color:#25231f}
.product-type-phive_booking .extra-resources input.resources_check[type=checkbox]:checked::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.product-type-phive_booking .extra-resources input.resources_check[type=checkbox]:focus-visible{outline:2px solid #fff;outline-offset:3px}
.product-type-phive_booking .extra-resources .label-person{display:block;float:none;flex:1;min-width:0;width:auto;margin:0!important;padding:0!important;line-height:1.5!important;cursor:pointer;color:#fff}
@media(prefers-reduced-motion:reduce){.product-type-phive_booking .extra-resources input.resources_check[type=checkbox]{transition:none}}

/* Unified booking: equal calendar columns, one column on smaller screens. */
.loft-calendars.loft-calendars-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start;margin:35px auto 0}
.loft-calendars-pair>section{min-width:0;scroll-margin-top:140px}.loft-calendar-intro{min-height:220px}.loft-calendar-intro h2{font-size:clamp(28px,2.3vw,38px)}.loft-calendar-intro p{font-size:15px;line-height:1.7}.loft-calendar-frame{display:block;max-width:100%}
@media(max-width:1100px){.loft-calendars.loft-calendars-pair{grid-template-columns:minmax(0,1fr);gap:45px}.loft-calendar-intro{min-height:0;padding-bottom:15px}}

/* Client corrections, September 17: separated time ranges and booking tariffs. */
.loft-slot-summary{display:flex;flex-wrap:wrap;gap:18px 30px;margin:0 0 22px}.loft-slot-summary p{margin:0!important;display:flex;flex-direction:column;gap:5px}.loft-slot-summary span{color:#ab782e;font-size:13px}.loft-slot-summary strong{white-space:nowrap}
.loft-booking-page .loft-table-wrap{margin:30px 0 16px;overflow-x:auto}.loft-booking-page .loft-price-table{min-width:0}.loft-booking-page .loft-price-table th,.loft-booking-page .loft-price-table td{white-space:normal}
@media(min-width:1101px){.loft-calendars-pair .loft-calendar-intro{min-height:310px}}
@media(max-width:600px){.loft-slot-summary{gap:20px 28px}.loft-booking-page .loft-price-table th,.loft-booking-page .loft-price-table td{padding:14px 8px;font-size:13px}}
