:root{--green:#234b3d;--rust:#b4684b;--ink:#27372e;--muted:#777e76;--cream:#f5f3ec;--border:#e6e9e2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c58b5d;outline-offset:4px}svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Manrope',sans-serif}h2{font-size:27px;line-height:1.3;letter-spacing:-1px}p{color:var(--muted)}.wrap{width:calc(100% - 100px);max-width:1320px;margin-inline:auto}.site-header{height:95px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--border);background:#fffc;backdrop-filter:blur(18px);padding:0 max(50px,calc((100% - 1320px)/2));position:sticky;top:0;z-index:30}.logo{display:flex;align-items:center;gap:11px;line-height:1.1;white-space:nowrap}.logo svg{height:42px;width:42px;stroke-width:1.2;color:var(--green)}.logo b{font-family:'Manrope';font-size:25px;font-weight:800;letter-spacing:-1.4px;color:var(--green)}.logo small{display:block;letter-spacing:2.2px;font-size:8px;font-weight:500;color:var(--muted);margin-top:6px}.header-nav{display:flex;gap:28px;font-size:12px;align-items:center}.header-nav a:hover{color:var(--rust)}.header-actions{display:flex;align-items:center;gap:20px}.header-fav{display:flex;align-items:center;gap:6px;font-size:12px}.contact-link{font-size:12px;border:1px solid #ccd6cc;border-radius:30px;padding:10px 18px;display:flex;align-items:center;gap:13px}.welcome{display:grid;grid-template-columns:1fr .95fr;gap:50px;align-items:center;padding-top:38px;padding-bottom:37px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:var(--rust);display:block;margin-bottom:15px}h1{font-size:44px;letter-spacing:-1.8px;line-height:1.18;margin:0 0 17px;font-weight:700}h1 span{color:var(--green)}.welcome-copy p{font-size:13px;margin-bottom:14px}.hand{font-family:'Caveat',cursive;font-size:24px;color:var(--rust)}.welcome-picture{height:254px;display:block;position:relative;overflow:hidden;border-radius:16px 60px 16px 16px}.welcome-picture img{width:100%;height:100%;object-fit:cover;object-position:center 55%;transition:transform .6s}.welcome-picture:hover img{transform:scale(1.03)}.welcome-picture:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#102d28b0)}.welcome-picture>span{position:absolute;bottom:20px;left:25px;z-index:1;color:white;font-size:8px;letter-spacing:1.5px}.welcome-picture b{display:block;font-size:13px;letter-spacing:0;margin-top:6px;font-weight:500}.search-bar{border:1px solid #dce2d7;box-shadow:0 6px 20px #234b3d09;border-radius:13px;display:grid;grid-template-columns:1.2fr 1fr .9fr auto;padding:13px 14px 13px 10px;align-items:center}.search-bar label{padding:0 24px;border-right:1px solid var(--border);min-width:0}.search-bar label>span{font-size:10px;font-weight:600;display:block;margin-bottom:5px}.search-bar input,.search-bar select{border:0;background:transparent;width:100%;color:var(--muted);font-size:12px;padding:0;outline-offset:5px;min-width:0}.search-bar .button{margin-left:18px}.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--green);color:#fff;border:1px solid var(--green);border-radius:8px;padding:14px 21px;font-size:12px;font-weight:600;transition:background .2s}.button:hover{background:#35634e}.button.light{background:white;color:var(--green);border-color:#d6ded2}.button.light:hover{background:var(--cream)}.button.full{width:100%}.category-row{display:flex;align-items:center;gap:30px;border-bottom:1px solid var(--border);margin-top:30px;overflow-x:auto;scrollbar-width:thin}.category{display:flex;flex-direction:column;align-items:center;gap:5px;padding:14px 0 17px;white-space:nowrap;border:0;border-bottom:2px solid transparent;background:transparent;color:#737c72;font-size:10px;min-width:70px}.category>span{font-size:24px;line-height:1.3}.category.active{border-color:var(--green);color:var(--green);font-weight:700}.filter-toggle{margin-left:auto;background:white;border:1px solid var(--border);border-radius:8px;padding:10px 15px;font-size:11px;white-space:nowrap}.filter-toggle[aria-pressed=true]{background:var(--cream);border-color:var(--green)}.catalog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:35px 0 22px}.catalog-heading .eyebrow{margin-bottom:7px;font-size:8px}.catalog-heading h2{margin-bottom:8px;font-size:24px}.catalog-heading p{font-size:12px;margin-bottom:0}.clear-button{border:0;background:transparent;font-size:11px;color:var(--rust);text-decoration:underline}.property-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}.property-card{position:relative;min-width:0}.card-image{display:block;height:240px;border-radius:14px;overflow:hidden;position:relative;background:#edf1e9}.card-image>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card-image:hover>img{transform:scale(1.04)}.badge{position:absolute;top:13px;left:12px;background:#fffef6ee;border:1px solid #fff8;border-radius:20px;padding:5px 10px;font-size:9px;font-weight:600;max-width:calc(100% - 58px)}.favorite{position:absolute;top:13px;right:12px;display:grid;place-items:center;border:0;border-radius:50%;height:30px;width:30px;background:#ffffffea;z-index:2;color:var(--ink)}.favorite svg{width:18px;height:18px}.favorite[aria-pressed=true]{color:var(--rust)}.favorite[aria-pressed=true] svg{fill:#b4684b22}.card-next,.card-prev{position:absolute;top:105px;width:28px;height:28px;border:0;background:#fffE;border-radius:50%;font-size:17px;z-index:2;opacity:0;transition:opacity .2s}.card-next{right:12px}.card-prev{left:12px}.property-card:hover .card-next,.property-card:hover .card-prev,.card-next:focus-visible,.card-prev:focus-visible{opacity:1}.dots{position:absolute;top:220px;left:50%;transform:translateX(-50%);display:flex;gap:5px;pointer-events:none}.dots i{width:4px;height:4px;background:#ffffff80;border-radius:50%}.dots i.active{background:#fff}.card-copy{display:block;padding:13px 3px 0}.card-place{font-size:10px;color:var(--muted);margin-bottom:3px;display:flex;justify-content:space-between}.card-place>span:last-child{color:var(--rust);font-size:13px}.card-copy h3{font-size:14px;letter-spacing:-.4px;margin:0 0 5px}.card-copy p{font-size:11px;line-height:1.6;margin:0 0 7px}.card-facts{font-size:10px;color:#69786a;min-height:33px}.card-price{border-top:1px solid var(--border);padding-top:10px;margin-top:10px;display:flex;justify-content:space-between;font-size:10px}.card-price b{font-weight:600;color:var(--green)}.card-price>span{font-size:13px}.empty-state{padding:50px 10px;text-align:center;border:1px dashed #d9dfd3;border-radius:12px}.empty-state>span{font-size:42px;color:var(--green)}.empty-state h3{font-size:20px}.empty-state p{font-size:13px}.capacity-note{font-size:11px;margin-top:20px}.concierge{background:var(--cream);padding:32px 35px;display:flex;gap:27px;align-items:center;border-radius:12px;margin-top:55px}.concierge-doodle{font-size:69px;line-height:1;color:#8e9b77}.concierge .eyebrow{font-size:8px;margin-bottom:7px}.concierge h2{font-size:21px;margin-bottom:6px}.concierge h2 span{font-family:'Caveat';font-size:29px;color:var(--green);font-weight:500}.concierge p{font-size:11px;margin:0}.concierge .button{margin-left:auto;white-space:nowrap}.how{padding-top:65px;padding-bottom:65px}.how h2{font-size:25px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:32px}.how-grid article{border-top:1px solid var(--border);padding-top:20px}.how-grid article>span{font-size:12px;color:var(--rust)}.how-grid h3{font-size:14px;margin:12px 0 7px}.how-grid p{font-size:12px;max-width:290px}.site-footer{background:#f7f8f4;border-top:1px solid var(--border);padding:35px max(50px,calc((100% - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.site-footer .logo b{font-size:23px}.site-footer>p{font-size:11px;margin:0}.footer-links{display:flex;gap:25px;font-size:11px}.footer-note{width:100%;padding-top:20px;border-top:1px solid #e4e9df;font-size:9px;display:flex;justify-content:space-between;color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:var(--green);color:white;border-radius:9px;padding:12px 22px;box-shadow:0 5px 20px #0002;opacity:0;transition:all .2s;pointer-events:none;z-index:100;font-size:12px;max-width:90vw}.toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}.detail{padding-top:28px;padding-bottom:70px;max-width:1150px}.breadcrumb{display:flex;gap:10px;font-size:10px;color:var(--muted);margin-bottom:25px}.breadcrumb a{text-decoration:underline}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.detail-title h1{font-size:30px;letter-spacing:-1px;margin-bottom:7px}.detail-title p{font-size:11px;margin:0}.detail-actions{display:flex;gap:20px}.detail-actions button{border:0;background:transparent;display:flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}.detail-actions .favorite{position:static;width:auto;height:auto;border-radius:0}.photo-mosaic{margin:24px 0 28px;display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:190px 190px;gap:8px;border-radius:14px;overflow:hidden;position:relative}.photo-mosaic>button{padding:0;background:#eaf0e6;border:0;overflow:hidden}.photo-mosaic>button:first-child{grid-row:span 2}.photo-mosaic img{width:100%;height:100%;object-fit:cover;transition:filter .2s}.photo-mosaic button:hover img{filter:brightness(.9)}.photo-mosaic>.all-photos{position:absolute;bottom:18px;right:18px;width:auto;height:auto;padding:9px 14px;background:white;border:1px solid #ddd;border-radius:7px;font-size:10px}.detail-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:65px;align-items:start}.detail-info h2{font-size:23px;margin-bottom:12px}.detail-info>.summary-facts{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:12px;padding-bottom:25px;border-bottom:1px solid var(--border)}.summary-facts span:not(:last-child):after{content:' · ';margin-left:8px}.description-block{padding:27px 0;border-bottom:1px solid var(--border)}.description-block p{font-size:13px;line-height:1.9;margin-bottom:12px}.description-block h3,.amenity-block h3,.location-block h3,.video-block h3{font-size:18px;letter-spacing:-.3px}.amenity-block{padding:27px 0;border-bottom:1px solid var(--border)}.amenity-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 23px;font-size:12px}.amenity-grid>div{display:flex;align-items:center;gap:12px}.amenity-grid svg{color:var(--green)}.location-block{padding:27px 0;border-bottom:1px solid var(--border)}.location-block p{font-size:12px}.location-block a{text-decoration:underline;font-size:12px}.video-block{padding:27px 0;border-bottom:1px solid var(--border)}video{width:100%;max-height:420px;background:#162820;border-radius:10px}.booking-card{position:sticky;top:120px;border:1px solid #dce2d8;border-radius:13px;padding:26px;box-shadow:0 8px 27px #263b2510}.booking-card>.eyebrow{font-size:8px}.booking-card h2{font-size:22px;letter-spacing:-.6px;margin-bottom:6px}.booking-card>p{font-size:11px}.booking-card label{display:block;font-size:10px;font-weight:600;margin-top:15px}.booking-card input,.booking-card select{width:100%;border:1px solid #dbe1d5;padding:11px;background:#fff;border-radius:6px;font-size:12px;min-width:0;margin-top:6px;color:var(--ink)}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.booking-card .button{margin-top:20px}.booking-card small{display:block;text-align:center;font-size:9px;color:var(--muted);margin-top:11px}.booking-card .booking-phone{text-align:center;display:block;font-size:12px;margin-top:18px}.detail-bottom{margin-top:50px;border-top:1px solid var(--border);padding-top:40px}.detail-bottom .property-grid{grid-template-columns:repeat(3,1fr)}.detail-bottom h2{font-size:23px;margin-bottom:25px}dialog{border:0;border-radius:10px;background:#18251e;color:white;padding:20px;width:95vw;max-width:1250px}dialog::backdrop{background:#101b14ed}.viewer-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;gap:15px}.viewer-top button,.viewer-content button{background:transparent;border:1px solid #fff7;color:white;border-radius:50%;height:35px;width:35px;flex-shrink:0}.viewer-content{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px}.viewer-content img{max-width:calc(100% - 100px);height:70vh;object-fit:contain}#photo-count{text-align:center;font-size:11px;color:#ccd5ca;margin:15px 0 0}.detail-not-found{padding:80px 0}.mobile-booking{display:none}.skip-link{position:absolute;left:20px;top:-70px;background:white;padding:10px;z-index:100}.skip-link:focus{top:10px}@media(min-width:1500px){.card-image{height:275px}.dots{top:255px}.card-next,.card-prev{top:125px}}@media(max-width:1100px){.wrap{width:calc(100% - 60px)}.site-header{padding-inline:30px}.header-nav{gap:18px;font-size:11px}.header-actions{gap:12px}.header-fav{font-size:10px}.contact-link{font-size:10px;padding:10px 13px}h1{font-size:36px}.welcome{gap:30px}.search-bar label{padding-inline:15px}.search-bar .button{font-size:10px;padding:13px}.category-row{gap:20px}.property-grid{gap:18px}.card-image{height:210px}.dots{top:190px}.card-next,.card-prev{top:95px}.card-copy h3{font-size:12px}.badge{font-size:8px}.detail-layout{gap:35px}.site-footer{padding-inline:30px}.concierge{padding:25px;gap:20px}.concierge h2{font-size:18px}.concierge .button{font-size:10px}.concierge-doodle{font-size:55px}}@media(max-width:850px){.header-nav{display:none}.welcome-picture{height:230px}.welcome h1{font-size:32px}.welcome p{font-size:12px}.welcome .hand{font-size:20px}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.card-image{height:270px}.dots{top:250px}.card-next,.card-prev{top:120px;opacity:1}.card-copy h3{font-size:15px}.badge{font-size:9px}.card-copy p{font-size:12px}.card-facts{min-height:0}.search-bar{grid-template-columns:1.2fr 1fr 1fr}.search-bar .button{grid-column:span 3;margin:13px 8px 0}.search-bar label:last-of-type{border:0}.concierge{flex-wrap:wrap}.concierge>div:nth-child(2){flex:1}.concierge>.button{margin-left:75px}.detail-layout{grid-template-columns:1.25fr 1fr;gap:25px}.booking-card{padding:18px}.date-row{grid-template-columns:1fr}.photo-mosaic{grid-template-rows:150px 150px}.detail-bottom .property-grid{grid-template-columns:repeat(2,1fr)}.amenity-grid{grid-template-columns:1fr}.site-footer>p{display:none}}@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{height:77px;padding-inline:20px;gap:15px}.logo b{font-size:21px}.logo small{font-size:6px;letter-spacing:1.8px}.logo svg{width:34px;height:34px}.header-actions{gap:15px}.header-fav{font-size:0;gap:0}.header-fav svg{width:21px;height:21px}.header-fav span{font-size:10px;margin-left:4px}.contact-link{font-size:10px;padding:8px 12px;gap:5px}.welcome{grid-template-columns:1fr;gap:21px;padding-top:30px;padding-bottom:23px}.welcome h1{font-size:34px}.eyebrow{font-size:8px}.welcome-copy p{font-size:12px;margin-bottom:9px}.welcome .hand{font-size:22px}.welcome-picture{height:180px;border-radius:12px 45px 12px 12px}.welcome-picture>span{bottom:15px;left:20px;font-size:7px}.welcome-picture b{font-size:11px}.search-bar{grid-template-columns:1fr 1fr;padding:17px 12px 12px}.search-bar .search-location{grid-column:span 2;border:0;border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:14px}.search-bar label{padding-inline:9px}.search-bar label>span{font-size:9px}.search-bar input,.search-bar select{font-size:11px}.search-bar .button{grid-column:span 2;margin:17px 0 0;padding:12px;font-size:11px}.category-row{gap:23px;margin-top:16px}.category{font-size:9px;padding-bottom:12px;min-width:60px}.category>span{font-size:24px}.filter-toggle{padding:9px 12px;font-size:10px}.catalog-heading{margin-top:25px;gap:10px}.catalog-heading h2{font-size:21px;letter-spacing:-.6px}.catalog-heading p{font-size:10px}.clear-button{font-size:9px;white-space:nowrap}.property-grid{gap:25px 13px}.card-image{height:200px;border-radius:12px}.card-next,.card-prev{top:90px;width:24px;height:24px;font-size:14px}.card-next{right:8px}.card-prev{left:8px}.dots{top:185px;gap:3px}.dots i{height:3px;width:3px}.badge{font-size:7px;padding:4px 7px;left:7px;top:9px;max-width:calc(100% - 41px)}.favorite{top:9px;right:7px;width:25px;height:25px}.favorite svg{width:15px;height:15px}.card-copy{padding:10px 0 0}.card-place{font-size:8px}.card-copy h3{font-size:12px;line-height:1.4;margin-bottom:5px}.card-copy p{font-size:9px}.card-facts{font-size:8px;line-height:1.6;min-height:26px}.card-price{font-size:8px;padding-top:8px;margin-top:8px;align-items:center;gap:5px}.card-price>span{font-size:11px}.concierge{margin-top:35px;padding:24px;gap:15px}.concierge-doodle{font-size:44px}.concierge>div:nth-child(2){flex-basis:calc(100% - 60px)}.concierge h2{font-size:17px}.concierge h2 span{font-size:25px}.concierge .eyebrow{font-size:7px;letter-spacing:1px}.concierge p{font-size:10px}.concierge>.button{margin-left:0;width:100%;font-size:11px}.how{padding-block:45px}.how h2{font-size:23px}.how-grid{grid-template-columns:1fr;gap:20px;margin-top:20px}.how-grid article{position:relative;padding:17px 0 0 38px}.how-grid article>span{position:absolute;left:0;top:24px}.how-grid h3{margin-top:3px}.how-grid p{margin:0;max-width:none;font-size:11px}.site-footer{padding:28px 20px;gap:25px}.footer-links{gap:20px;font-size:10px}.footer-note{font-size:8px;gap:20px;line-height:1.6;flex-direction:column}.detail{padding-top:20px}.breadcrumb{font-size:9px;margin-bottom:20px;flex-wrap:wrap}.detail-title{flex-direction:column;align-items:start;gap:15px}.detail-title h1{font-size:27px}.detail-title p{font-size:10px}.detail-actions{gap:25px}.detail-actions button{font-size:10px}.photo-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:270px 125px;margin-top:20px;gap:5px}.photo-mosaic>button:first-child{grid-column:span 2;grid-row:span 1}.photo-mosaic>button:nth-child(4),.photo-mosaic>button:nth-child(5){display:none}.photo-mosaic>.all-photos{bottom:13px;right:13px;font-size:9px;padding:7px 10px}.detail-layout{grid-template-columns:1fr;gap:25px}.detail-info h2{font-size:20px}.summary-facts{font-size:10px!important}.description-block p{font-size:12px}.amenity-grid{grid-template-columns:1fr 1fr;font-size:10px;gap:18px 12px}.amenity-grid svg{width:19px;height:19px}.amenity-grid>div{gap:9px}.booking-card{position:static;padding:25px}.date-row{grid-template-columns:1fr 1fr}.booking-card input,.booking-card select{font-size:12px}.detail-bottom{margin-top:35px;padding-top:30px}.detail-bottom .property-grid{grid-template-columns:1fr 1fr}.detail-bottom .property-card:last-child{display:none}.viewer-content{gap:6px}.viewer-content img{max-width:calc(100% - 70px);height:65vh}.viewer-content button{width:28px;height:28px}dialog{padding:15px}.viewer-top{font-size:10px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fffffff5;backdrop-filter:blur(12px);padding:12px 20px;justify-content:space-between;align-items:center;gap:15px;z-index:20;border-top:1px solid var(--border)}.mobile-booking span{font-size:10px}.mobile-booking b{display:block;font-size:12px}.mobile-booking .button{padding:10px 15px;font-size:10px}.detail-page .site-footer{padding-bottom:95px}.detail-page .toast{bottom:90px}}@media(max-width:370px){.contact-link{font-size:9px;padding:7px}.logo b{font-size:19px}.logo svg{width:28px}.card-image{height:180px}.dots{top:165px}.card-next,.card-prev{top:80px}.card-copy h3{font-size:11px}.amenity-grid{grid-template-columns:1fr}.welcome h1{font-size:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.seasonal-note{background:#f5f3ec;border:1px solid #e1e5d8;border-radius:8px;padding:16px 18px;margin-top:20px}.seasonal-note strong{color:#234b3d;font-size:13px}.seasonal-note p{font-size:11px;margin:5px 0 0;line-height:1.6}

.logo b{font-size:23px;letter-spacing:-1px}.logo small{font-size:7px;letter-spacing:1.5px}@media(max-width:600px){.logo b{font-size:18px}.logo small{font-size:5.5px;letter-spacing:.9px}.logo{gap:7px}.logo svg{width:29px;height:29px}.header-actions{gap:10px}}@media(max-width:370px){.logo b{font-size:16px}.logo svg{width:24px}}

/* Ícones alinhados sem padding nativo dos botões no celular. */
.property-card>.favorite{display:flex;align-items:center;justify-content:center;padding:0;line-height:1;box-sizing:border-box;appearance:none;-webkit-appearance:none;flex-shrink:0}.property-card>.favorite svg{display:block;margin:0;flex-shrink:0;overflow:visible}.detail-actions .favorite{padding:0;line-height:1.4;align-items:center;justify-content:center}.detail-actions .favorite svg,.header-fav svg{display:block;margin:0;flex-shrink:0}.header-fav{align-items:center;line-height:1}.viewer-content button,.viewer-top button{display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.viewer-content button svg{width:17px;height:17px;display:block;margin:0}

.welcome-carousel{height:254px;min-width:0;border-radius:16px 60px 16px 16px;overflow:hidden;position:relative;background:#edf1e9}.welcome-track{display:flex;overflow-x:auto;overflow-y:hidden;height:100%;width:100%;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab}.welcome-track::-webkit-scrollbar{display:none}.welcome-track.dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.welcome-slide{flex:0 0 100%;height:100%;position:relative;display:block;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;-webkit-user-drag:none}.welcome-slide img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none}.welcome-slide:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#102d28c0);pointer-events:none}.welcome-slide>span{position:absolute;bottom:20px;left:25px;right:20px;z-index:1;color:white;font-size:8px;letter-spacing:1.5px;text-transform:uppercase;pointer-events:none}.welcome-slide b{display:block;font-size:13px;letter-spacing:0;margin-top:6px;font-weight:500;text-transform:none}@media(max-width:850px){.welcome-carousel{height:230px}}@media(max-width:600px){.welcome-carousel{height:180px;border-radius:12px 45px 12px 12px}.welcome-slide>span{bottom:15px;left:20px;font-size:7px}.welcome-slide b{font-size:11px}}

.viewer-content{touch-action:pan-y pinch-zoom;cursor:grab}.viewer-content:active{cursor:grabbing}.viewer-content img{user-select:none;-webkit-user-drag:none}

.welcome-swipe-hint{position:absolute;top:16px;left:18px;z-index:2;display:flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid #ffffff38;border-radius:30px;background:#17382edb;color:#fff;font-size:10px;line-height:1.4;pointer-events:none;box-shadow:0 2px 12px #0000000d}.welcome-swipe-hint svg{width:17px;height:17px;animation:swipe-invitation 1.8s ease-in-out .7s 1}.welcome-counter{font-size:9px;opacity:.8;border-left:1px solid #ffffff45;padding-left:8px;font-variant-numeric:tabular-nums}@keyframes swipe-invitation{0%,100%{transform:translateX(0)}30%{transform:translateX(-3px)}65%{transform:translateX(3px)}}@media(max-width:600px){.welcome-swipe-hint{top:12px;left:14px;font-size:9px;padding:6px 9px;gap:7px}.welcome-swipe-hint svg{width:15px;height:15px}.welcome-counter{font-size:8px}}

.booking-card textarea{width:100%;min-height:70px;font:inherit}.booking-card .consent{display:flex;align-items:start;gap:8px;font-size:11px}.booking-card .consent input{width:auto;min-width:16px}.booking-card button:disabled{opacity:.6}

.availability-calendar{margin:18px 0;padding:14px 0;border-block:1px solid var(--border)}.availability-calendar h3{font-size:16px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:12px}.calendar-heading strong{text-transform:capitalize;font-size:12px}.calendar-heading button{font-size:10px;background:none;border:1px solid var(--border);padding:5px;border-radius:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}.calendar-grid>span{font-size:10px}.calendar-grid button{min-height:32px;border:1px solid #dce6da;border-radius:6px;background:#eef5eb;color:var(--green);font-size:12px;padding:3px}.calendar-grid button:disabled{background:#f4f4f1;color:#999;border-color:transparent;cursor:default}.calendar-grid button.reserved{background:#f8e5df;color:#96452f;text-decoration:line-through;border-color:#ecd2c8}.calendar-grid button.selected{background:var(--green);color:white}.calendar-legend{font-size:10px;line-height:1.5;margin:10px 0 0}
