:root{--primary: #0f766e;--primary-dark: #115e59;--primary-soft: #e6f4f2;--accent: #f59e0b;--focus: #1d4ed8;--bg: #ffffff;--surface: #f8fafc;--border: #e2e8f0;--text: #0f172a;--muted: #475569;--font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.5rem;--s6: 2rem;--s7: 3rem;--s8: 4.5rem;--r-sm: 8px;--r-md: 12px;--r-lg: 20px;--shadow: 0 1px 2px rgb(15 23 42 / .06), 0 6px 18px rgb(15 23 42 / .08);--container: 1120px;--nav-h: 64px}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:calc(var(--nav-h) + 12px)}body{margin:0;font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 var(--s3);line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3.25rem);font-weight:800}h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700}h3{font-size:1.125rem;font-weight:600}p{margin:0 0 var(--s4)}a{color:inherit}ul,ol{margin:0;padding:0;list-style:none}input,button{font:inherit}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--s4)}@media(min-width:768px){.container{padding-inline:var(--s5)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:var(--s4);top:-100px;z-index:100;padding:var(--s2) var(--s4);border-radius:var(--r-sm);background:var(--primary);color:#fff}.skip-link:focus{top:var(--s2)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 var(--s5);border:1px solid transparent;border-radius:var(--r-sm);background:#fff;color:var(--text);font-weight:600;text-decoration:none;cursor:pointer;transition:background-color .15s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--surface)}.btn:disabled{opacity:.5;cursor:not-allowed}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.navbar{position:sticky;top:0;z-index:50;background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);height:var(--nav-h)}.brand{display:inline-flex;align-items:center;gap:var(--s2);font-size:1.25rem;font-weight:800;letter-spacing:-.02em;text-decoration:none}.brand__mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--primary);color:#fff;font-weight:700}.navbar__links,.navbar__actions{display:none}.navbar__links a,.mobile-menu a:not(.btn){padding:var(--s2) var(--s3);border-radius:var(--r-sm);color:var(--muted);font-weight:500;text-decoration:none}.navbar__links a:hover,.navbar__links a.active,.mobile-menu a:not(.btn):hover{background:var(--surface);color:var(--text)}.navbar__toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--r-sm);background:#fff;font-size:1.25rem;cursor:pointer}.mobile-menu{display:grid;gap:var(--s1);padding-block:var(--s3) var(--s5);border-top:1px solid var(--border);background:#fff}.mobile-menu a:not(.btn){padding:var(--s3)}.mobile-menu .btn{margin-top:var(--s2)}@media(min-width:1024px){.navbar__links{display:flex;gap:var(--s1)}.navbar__actions{display:flex;gap:var(--s2)}.navbar__toggle,.mobile-menu{display:none}}.hero{padding-block:var(--s7) var(--s8);background:var(--primary-soft)}.eyebrow{display:inline-block;margin-bottom:var(--s3);padding:var(--s1) var(--s3);border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--primary);font-size:.875rem;font-weight:600}.hero h1 span{color:var(--primary)}.hero__lead{max-width:60ch;margin-bottom:var(--s5);color:var(--muted);font-size:1.125rem}.searchbar{display:grid;gap:var(--s2);max-width:760px;padding:var(--s2);border:1px solid var(--border);border-radius:var(--r-md);background:#fff;box-shadow:var(--shadow)}.searchbar input{width:100%;min-height:44px;padding:0 var(--s3);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text)}.searchbar input::placeholder{color:#64748b}@media(min-width:768px){.searchbar{grid-template-columns:1.4fr 1fr auto;align-items:center;padding:var(--s2) var(--s2) var(--s2) var(--s4);border-radius:999px}.searchbar input{border-color:transparent}.searchbar__field+.searchbar__field input{border-left-color:var(--border);border-radius:0}.searchbar .btn{border-radius:999px}}.section{padding-block:var(--s7)}.section--alt{background:var(--surface)}.section--tight{padding-top:0}.section__head{margin-bottom:var(--s5)}.section__head p{max-width:60ch;margin:0;color:var(--muted)}.page{padding-block:var(--s7)}.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}.category-card{display:flex;flex-direction:column;gap:var(--s3);height:100%;padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:#fff;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}.category-card:hover{border-color:var(--primary);box-shadow:var(--shadow);transform:translateY(-2px)}.category-card__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-sm);background:var(--primary-soft);font-size:1.5rem}.category-card__name{font-weight:600;line-height:1.3}@media(min-width:1024px){.category-grid{grid-template-columns:repeat(5,1fr)}}.empty-state{display:grid;justify-items:center;gap:var(--s2);max-width:520px;margin-inline:auto;padding:var(--s6) var(--s4);border:1px dashed #cbd5e1;border-radius:var(--r-lg);background:#fff;text-align:center}.empty-state__icon{font-size:2rem}.empty-state h3{margin:0}.empty-state p{margin:0 0 var(--s3);color:var(--muted)}.steps{display:grid;gap:var(--s4);counter-reset:step}.step{padding:var(--s5);border:1px solid var(--border);border-radius:var(--r-md);background:#fff}.step:before{counter-increment:step;content:counter(step);display:grid;place-items:center;width:36px;height:36px;margin-bottom:var(--s3);border-radius:50%;background:var(--primary);color:#fff;font-weight:700}.step p{margin:0;color:var(--muted)}.notice{margin:var(--s5) 0 0;padding:var(--s3) var(--s4);border-left:4px solid var(--accent);border-radius:var(--r-sm);background:#fffbeb;color:#78350f;font-size:.9375rem}@media(min-width:768px){.steps{grid-template-columns:repeat(3,1fr)}}.cta{display:grid;gap:var(--s4);justify-items:start;padding:var(--s6) var(--s5);border-radius:var(--r-lg);background:var(--primary);color:#fff}.cta h2{margin-bottom:var(--s2)}.cta p{max-width:52ch;margin:0;color:#ccfbf1}.cta .btn{color:var(--primary-dark)}.cta .btn:hover{background:var(--primary-soft)}@media(min-width:768px){.cta{grid-template-columns:1fr auto;align-items:center;padding:var(--s7)}}.footer{padding-block:var(--s7) var(--s5);background:var(--text);color:#cbd5e1}.footer__grid{display:grid;gap:var(--s5)}.footer .brand,.footer h3{color:#fff}.footer h3{font-size:1rem}.footer__about{max-width:40ch;margin:var(--s3) 0 0}.footer li+li{margin-top:var(--s2)}.footer a{text-decoration:none}.footer a:hover{color:#fff;text-decoration:underline}.footer :focus-visible{outline-color:#fff}.footer__legal{margin:var(--s6) 0 0;padding-top:var(--s4);border-top:1px solid #334155;color:#94a3b8;font-size:.875rem}@media(min-width:768px){.footer__grid{grid-template-columns:2fr 1fr 1fr}}.navbar__user{max-width:14ch;overflow:hidden;padding:0 var(--s2);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.mobile-menu .navbar__user{max-width:none;padding:var(--s3)}.auth{padding-block:var(--s7)}.auth__card{max-width:440px;margin-inline:auto;padding:var(--s5);border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;box-shadow:var(--shadow)}.auth__card h1{font-size:1.75rem}.auth__sub{color:var(--muted)}.field{display:grid;gap:var(--s1);margin-bottom:var(--s4)}.field label{font-size:.9375rem;font-weight:600}.field input{min-height:44px;padding:0 var(--s3);border:1px solid #94a3b8;border-radius:var(--r-sm);color:var(--text)}.field__hint{color:var(--muted);font-size:.875rem}.form-error,.form-success{margin:0 0 var(--s4);padding:var(--s3) var(--s4);border-radius:var(--r-sm);font-size:.9375rem}.form-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.form-success{border:1px solid #a7f3d0;background:#ecfdf5;color:#065f46}.btn-block{width:100%}.auth__switch{margin:var(--s4) 0 0;color:var(--muted);text-align:center}.auth__switch a{color:var(--primary);font-weight:600}@media(min-width:768px){.auth__card{padding:var(--s6)}}a.navbar__user{text-decoration:none}a.navbar__user:hover{text-decoration:underline}.field--choices{margin:0 0 var(--s4);padding:0;border:0}.field--choices legend{margin-bottom:var(--s1);padding:0;font-size:.9375rem;font-weight:600}.choice{display:flex;align-items:center;gap:var(--s2);min-height:44px}.choice input{width:20px;height:20px;accent-color:var(--primary)}.listing-grid{display:grid;grid-template-columns:1fr;gap:var(--s4)}@media(min-width:560px){.listing-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.listing-grid{grid-template-columns:repeat(3,1fr)}}.listing-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background:#fff;text-decoration:none;transition:box-shadow .15s,transform .15s}.listing-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.listing-card__media{position:relative;display:grid;place-items:center;aspect-ratio:4 / 3;background:var(--surface);font-size:2.5rem}.listing-card__media img{width:100%;height:100%;object-fit:cover}.listing-card__body{padding:var(--s4)}.listing-card__body h3{display:-webkit-box;margin:0 0 var(--s1);overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.listing-card__category{margin:0 0 var(--s1);color:var(--primary);font-size:.8125rem;font-weight:600}.listing-card__price{margin:0 0 var(--s1);font-weight:700}.listing-card__location{margin:0;color:var(--muted);font-size:.9375rem}.badge{position:absolute;top:var(--s2);left:var(--s2);padding:var(--s1) var(--s3);border-radius:999px;background:var(--text);color:#fff;font-size:.8125rem;font-weight:600}.badge--inline{position:static;display:inline-block;margin-bottom:var(--s2);background:var(--primary-soft);color:var(--primary-dark)}.owner-card .badge--inline{margin:0 0 0 var(--s2)}.breadcrumb{color:var(--muted);font-size:.9375rem}.breadcrumb a{color:var(--primary)}.detail{display:grid;gap:var(--s5)}@media(min-width:900px){.detail{grid-template-columns:1.3fr 1fr;align-items:start}}.gallery__main{display:grid;place-items:center;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--r-md);background:var(--surface);font-size:3rem}.gallery__main img{width:100%;height:100%;object-fit:cover}.gallery__thumbs{display:flex;gap:var(--s2);margin-top:var(--s2);overflow-x:auto}.gallery__thumbs button{width:72px;height:56px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:var(--r-sm);background:none;cursor:pointer}.gallery__thumbs button.is-active{border-color:var(--primary)}.gallery__thumbs img{width:100%;height:100%;object-fit:cover}.detail__price{margin:var(--s2) 0;color:var(--primary);font-size:1.75rem;font-weight:800}.detail__meta{margin:0 0 var(--s2);color:var(--muted)}.owner-card{margin-top:var(--s4);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md)}.owner-card .detail__meta:last-child{margin:var(--s2) 0 0}.detail__body{max-width:760px;margin-top:var(--s6)}.detail__body h2{margin-top:var(--s5);font-size:1.25rem}.prewrap{white-space:pre-wrap}.specs{display:grid;gap:var(--s2);margin:0}.specs div{display:flex;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s2);border-bottom:1px solid var(--border)}.specs dt{color:var(--muted)}.specs dd{margin:0;font-weight:600;text-align:right}.form-page{max-width:720px}.form-section{margin:var(--s5) 0 var(--s3);padding-top:var(--s4);border-top:1px solid var(--border);font-size:1.125rem}.field select,.field textarea{padding:0 var(--s3);border:1px solid #94a3b8;border-radius:var(--r-sm);background:#fff;color:var(--text);font:inherit}.field select{min-height:44px}.field textarea{min-height:120px;padding:var(--s3);resize:vertical}.field-row{display:grid;gap:0 var(--s4)}@media(min-width:560px){.field-row{grid-template-columns:2fr 1fr}}.photo-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:var(--s2);margin:0 0 var(--s4)}.photo-previews li{position:relative}.photo-previews img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-sm)}.photo-previews button{position:absolute;top:4px;right:4px;width:32px;height:32px;border:0;border-radius:50%;background:#0f172acc;color:#fff;cursor:pointer}.my-listings__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s5)}.my-listings__head h1{margin:0}.my-listings{display:grid;gap:var(--s3)}.my-listing{display:grid;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:#fff}@media(min-width:768px){.my-listing{grid-template-columns:96px 1fr auto;align-items:center}}.my-listing__thumb{display:grid;place-items:center;width:96px;height:72px;overflow:hidden;border-radius:var(--r-sm);background:var(--surface);font-size:1.5rem}.my-listing__thumb img{width:100%;height:100%;object-fit:cover}.my-listing__info{display:grid;gap:var(--s1)}.my-listing__info a{text-decoration:none}.my-listing__info span{color:var(--muted);font-size:.9375rem}.my-listing__info .status{width:fit-content;padding:2px var(--s3);border-radius:999px;font-size:.8125rem;font-weight:600}.my-listing__info .status--available{background:#ecfdf5;color:#065f46}.my-listing__info .status--unavailable{background:#f1f5f9;color:#334155}.my-listing__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.btn-danger{background:#b91c1c;color:#fff}.btn-danger:hover{background:#991b1b}.filters{display:grid;grid-template-columns:repeat(2,1fr);gap:0 var(--s3);margin-bottom:var(--s5);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.filters .wide{grid-column:span 2}.filters .form-error,.filters__actions{grid-column:1 / -1}.filters__actions{display:flex;flex-wrap:wrap;gap:var(--s2)}@media(min-width:900px){.filters{grid-template-columns:repeat(4,1fr);gap:0 var(--s4)}.filters .wide{grid-column:span 1}.filters .wider{grid-column:span 2}}.results__count{margin:0 0 var(--s3);color:var(--muted)}.load-more{display:flex;justify-content:center;margin-top:var(--s5)}.request-form{margin-top:var(--s4);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.request-form h2{margin:0 0 var(--s3);font-size:1.25rem}.request-form .detail__meta{margin:var(--s3) 0 0;font-size:.875rem}.booked-list{margin:0 0 var(--s4);padding-left:var(--s5);color:var(--muted);font-size:.9375rem;list-style:disc}.field-row--even{grid-template-columns:1fr 1fr}.tabs{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s5);border-bottom:1px solid var(--border)}.tabs button{padding:var(--s3) var(--s4);border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font-weight:600;cursor:pointer}.tabs button[aria-selected=true]{border-bottom-color:var(--primary);color:var(--primary)}.bookings{display:grid;gap:var(--s3);margin-bottom:var(--s5)}.bookings-section h2{margin:var(--s5) 0 var(--s3);font-size:1.125rem}.booking{display:grid;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:#fff}@media(min-width:768px){.booking{grid-template-columns:1fr auto;align-items:center}}.booking__main{display:grid;gap:var(--s1);justify-items:start}.booking__main a{text-decoration:none}.booking__main>span{color:var(--muted);font-size:.9375rem}.booking__main .booking__note{font-style:italic}.booking__main .status{padding:2px var(--s3);border-radius:999px;font-size:.8125rem;font-weight:600}.booking__main .status--pending{background:#fffbeb;color:#92400e}.booking__main .status--accepted,.booking__main .status--completed{background:#ecfdf5;color:#065f46}.booking__main .status--rejected,.booking__main .status--cancelled{background:#f1f5f9;color:#334155}.booking__main .form-error{margin:0}.booking__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.booking__main .payment-box{padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:#fffbeb;color:#92400e;font-size:.875rem}.nav-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:var(--s2);padding:0 6px;border-radius:999px;background:#b91c1c;color:#fff;font-size:.75rem;font-weight:700}.message-owner{margin-top:var(--s3)}.inbox{display:grid;gap:var(--s2)}.inbox li a{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s4);border:1px solid var(--border);border-radius:var(--r-md);background:#fff;text-decoration:none}.inbox li a:hover{border-color:var(--primary)}.inbox__main{display:grid;gap:2px}.inbox__main span{color:var(--muted);font-size:.9375rem}.thread{max-width:720px}.thread__list{display:grid;gap:var(--s2);max-height:60vh;padding:var(--s3);overflow-y:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.bubble{max-width:85%;padding:var(--s2) var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:#fff;overflow-wrap:anywhere;white-space:pre-wrap}.bubble--mine{justify-self:end;border-color:var(--primary);background:var(--primary);color:#fff}.bubble time{display:block;margin-top:2px;font-size:.75rem;opacity:.8}.thread__form{display:grid;gap:var(--s2);margin-top:var(--s4)}.thread__form textarea{min-height:88px;padding:var(--s3);border:1px solid #94a3b8;border-radius:var(--r-sm);font:inherit;resize:vertical}.stars-display{color:#b45309;letter-spacing:2px;white-space:nowrap}.stars{display:flex;gap:2px;margin:0 0 var(--s2);padding:0;border:0}.stars legend{margin-bottom:var(--s1);padding:0;font-size:.9375rem;font-weight:600}.stars label{position:relative;color:#cbd5e1;font-size:1.75rem;line-height:1;cursor:pointer}.stars label.is-on{color:#b45309}.stars input{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;opacity:0;cursor:pointer}.stars label:focus-within{border-radius:4px;outline:3px solid var(--focus);outline-offset:2px}.review-form{display:grid;gap:var(--s2);width:100%;max-width:420px;padding:var(--s3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.review-form textarea{min-height:80px;padding:var(--s3);border:1px solid #94a3b8;border-radius:var(--r-sm);font:inherit;resize:vertical}.reviews__list{display:grid;gap:var(--s3);margin-top:var(--s3)}.review{padding:var(--s3) var(--s4);border:1px solid var(--border);border-radius:var(--r-md)}.review p{margin:var(--s1) 0 0;overflow-wrap:anywhere;white-space:pre-wrap}.review__meta{color:var(--muted);font-size:.875rem}.btn-small{min-height:36px;padding:0 var(--s3);font-size:.875rem}.report-box{margin-top:var(--s3)}.admin-note{min-width:180px;min-height:40px;padding:0 var(--s3);border:1px solid #94a3b8;border-radius:var(--r-sm);font:inherit}
