/* D'Estetik mobile-first booking experience: presentation only */
:root{--app-ink:#173c31;--app-soft:#f4f7f3;--app-border:#e4ebe5}
body{background:var(--app-soft)}.site-header{height:74px;box-shadow:0 3px 20px #163d2b0a}.site-header nav .nav-cta{font-weight:700}
.app-hero{padding:20px max(5vw,20px) 0}.app-hero__visual{min-height:420px;border-radius:28px;background:linear-gradient(140deg,#2b715b,#103b31);background-position:center;background-size:cover;display:flex;align-items:end;overflow:hidden;box-shadow:0 18px 50px #143b2d24}.app-hero__content{padding:55px clamp(24px,5vw,72px);color:white;max-width:720px}.app-pill{display:inline-flex;align-items:center;background:#ffffff2a;border:1px solid #ffffff50;border-radius:50px;padding:9px 14px;font-size:11px;letter-spacing:1.2px;font-weight:700}.app-hero h1{font:500 clamp(38px,5.2vw,70px)/1.13 'Playfair Display',serif;margin:18px 0}.app-hero h1 em{color:#f1d69a}.app-hero p{font-size:15px;line-height:1.7;max-width:420px;color:#f3f6f2}.app-search{position:relative;z-index:1;max-width:1060px;margin:-32px auto 0;background:#fff;border:1px solid var(--app-border);border-radius:24px;padding:25px;box-shadow:0 18px 44px #163d2b12}.app-search__heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.app-search__heading .eyebrow{margin-bottom:7px}.app-search__heading h2{font:500 27px 'Playfair Display',serif;color:var(--green);margin:0}.app-search__badge{background:#f0f5ec;border-radius:50px;padding:8px 12px;font-size:11px;font-weight:700;color:var(--green)}.app-search__form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.app-search__form label{background:#f8faf7;border:1px solid var(--app-border);border-radius:14px;padding:11px 14px;gap:6px}.app-search__form label span{font-size:11px;color:#617368}.app-search__form input{border:0;padding:3px 0;background:transparent;font-weight:700;color:var(--green);outline-offset:4px}.app-search__form button{min-height:64px;border-radius:14px;white-space:nowrap}.section#rooms{max-width:1320px;margin:auto;padding-top:66px}.section#rooms .section-heading h2{font-size:clamp(29px,3vw,40px);color:var(--green)}.section#rooms .section-heading{gap:15px}.section#rooms .room-card{border:1px solid var(--app-border);box-shadow:0 10px 32px #173c310d}.section#rooms .room-photo{height:240px}.section#rooms .room-info h3{font-size:24px}.section#rooms .room-price{padding-top:12px;border-top:1px solid #eff1eb;margin:0 20px 20px;padding-left:0;padding-right:0;padding-bottom:0}.booking-banner{margin:10px max(5vw,20px) 35px;border-radius:26px;background:linear-gradient(120deg,#123e31,#276b54)}.booking-form{box-shadow:0 12px 36px #173c3110}.booking-form .button{min-height:52px}.available-card,.card{overflow:hidden}
.mobile-tabbar{display:none}
@media(max-width:800px){.app-hero{padding:12px 14px 0}.app-hero__visual{min-height:420px;border-radius:24px}.app-search{margin:-25px 24px 0}.app-search__form{grid-template-columns:1fr 1fr}.app-search__form button{grid-column:1/-1}.section#rooms{padding-top:48px}}
@media(max-width:600px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.site-header{height:65px;padding:0 17px}.site-header .brand img{width:34px;height:43px}.site-header .brand b{font-size:11px;letter-spacing:1.1px}.site-header .brand small{font-size:8px;letter-spacing:1px}.site-header nav{display:none}.app-hero{padding:9px 12px 0}.app-hero__visual{min-height:335px;border-radius:21px}.app-hero__content{padding:28px 22px 62px}.app-hero h1{font-size:39px;margin:16px 0 12px}.app-hero p{font-size:13px;line-height:1.65}.app-pill{font-size:9px;padding:7px 10px;letter-spacing:.6px}.app-search{margin:-39px 20px 0;border-radius:20px;padding:20px 16px;box-shadow:0 12px 35px #163d2b20}.app-search__heading{align-items:start}.app-search__heading h2{font-size:24px}.app-search__badge{font-size:9px;white-space:nowrap}.app-search__form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px}.app-search__form label{padding:10px 9px}.app-search__form input{font-size:12px;max-width:100%}.app-search__form button{grid-column:1/-1;min-height:52px}.section#rooms{padding:46px 18px}.section#rooms .section-heading{margin-bottom:20px}.section#rooms .section-heading h2{font-size:30px}.section#rooms .room-grid{gap:18px}.section#rooms .room-card{border-radius:20px}.section#rooms .room-photo{height:230px}.section#rooms .room-info{padding:17px 17px 9px}.section#rooms .room-price{margin:0 17px 18px}.booking-banner{margin:0 14px 18px;padding:28px 22px;border-radius:22px}.booking-banner h2{font-size:29px}.page-intro{padding:30px 20px 20px}.page-intro h1{font-size:38px}.booking-form{margin:0 14px 24px;padding:19px;border-radius:20px}.mobile-tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;border-top:1px solid #e6ebe5;padding:8px 8px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -6px 24px #163d2b12}.mobile-tabbar a{display:grid;place-items:center;gap:3px;color:#6e7b73;min-height:50px;font-weight:700}.mobile-tabbar a span{font-size:24px;line-height:1}.mobile-tabbar a small{font-size:10px}.mobile-tabbar .mobile-tabbar__book{color:var(--green)}.mobile-tabbar .mobile-tabbar__book span{background:var(--green);color:#fff;border-radius:13px;padding:5px 13px;font-size:20px}.cs-widget{bottom:calc(82px + env(safe-area-inset-bottom))!important}.footer{padding-bottom:30px}.shiap-footer{padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Mobile checkout and transfer review, 2026-11 */
.hold-timer{background:#eaf5ef;border:1px solid #c5dfd0;border-radius:16px;padding:17px;margin:18px 0;display:grid;gap:6px;color:#174b3b}.hold-timer small{color:#50685b}.hold-timer.expired{background:#fff0ed;border-color:#f1b7ad;color:#923f35}.payment-report{margin:24px 0;padding:20px;display:grid;gap:14px;text-align:left}.payment-report label{display:grid;gap:8px;font-weight:650;font-size:14px}.payment-report input:not([type=checkbox]){padding:14px;border:1px solid #d8dfd7;border-radius:12px;width:100%;box-sizing:border-box;font-size:16px}.payment-report .payment-check{display:flex;align-items:flex-start;font-size:13px;font-weight:400}.payment-check input{margin-top:4px}.booking-step{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#467660}.review-cards{display:grid;gap:12px}.review-card{border:1px solid #dce5db;border-radius:14px;background:white;padding:18px;display:grid;gap:10px}.review-card strong{font-size:18px}.review-card small{color:#617266}.review-card .review-actions{display:flex;flex-wrap:wrap;gap:10px}.review-card button{padding:12px 15px;border-radius:10px;border:0;cursor:pointer}.review-card .approve{background:#174b3b;color:#fff}.review-card .reject{background:#fff0ed;color:#913e32}.review-overdue{color:#a45415;font-weight:700}.review-card .review-meta{display:flex;flex-wrap:wrap;gap:8px}.review-card .review-meta span{padding:6px 10px;background:#f1f5f1;border-radius:20px;font-size:12px}@media(max-width:700px){.payment-report{padding:16px}.checkout-layout{display:flex;flex-direction:column}.checkout-layout .summary-card{order:-1}.review-card .review-actions{display:grid;grid-template-columns:1fr 1fr}.review-card .review-actions button{width:100%}}

/* Simple travel-booking mobile polish: original D'Estetik identity */
html{scroll-behavior:smooth}body{color:#1c3029}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c28b26;outline-offset:3px}#rooms{scroll-margin-top:90px}.app-search__form input{min-width:0;width:100%;box-sizing:border-box}.app-search__form label:focus-within{border-color:#277353;background:#fff}.app-search__form .button,.booking-form .button,.form-stack .button{font-weight:800;letter-spacing:.01em}.app-search__heading h2{font-family:inherit;font-weight:800;letter-spacing:-.025em}.app-search__badge{white-space:nowrap}.section#rooms .section-heading h2{font-family:inherit;font-weight:800;letter-spacing:-.025em}.room-grid .room-price{font-weight:800}.room-grid .room-price small{font-weight:500}.available-info .button{margin-top:14px}.mobile-tabbar a.is-active{color:var(--green)}.mobile-tabbar a[aria-current=page] small{font-weight:900}.mobile-tabbar a:focus-visible{outline-offset:-3px;border-radius:12px}.page-intro h1{font-family:inherit;font-weight:800;letter-spacing:-.035em}.card,.available-card{border-radius:20px}.form-stack input,.form-stack select,.form-stack textarea,.booking-form input,.booking-form select{min-height:46px;border-radius:12px}.form-stack textarea{min-height:94px}.app-search__form button{background:var(--green);color:#fff}.booking-note{max-width:720px;margin:0 auto 30px}.booking-note span{display:block}
@media(max-width:600px){.app-hero__visual{min-height:305px}.app-hero__content{padding-bottom:58px}.app-hero h1{font-size:clamp(31px,9vw,39px)}.app-search{margin:-33px 14px 0;padding:18px 14px}.app-search__heading h2{font-size:21px}.app-search__badge{font-size:9px}.app-search__form label{min-width:0}.app-search__form input{font-size:14px}.section#rooms .section-heading h2{font-size:26px}.section#rooms .room-info h3{font-size:21px}.page-intro h1{font-size:31px}.available-list{padding-left:14px;padding-right:14px}.available-card{border-radius:19px}.available-info{padding:18px}.available-info .button{display:flex;justify-content:center;min-height:48px;align-items:center}.checkout-layout{padding-left:12px;padding-right:12px}.checkout-layout .card{border-radius:19px}.mobile-tabbar{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.mobile-tabbar a{border-radius:12px}}
