:root{
    --navy:#0F2D46;
    --navy2:#183C57;
    --amber:#F5A623;
    --soft:#F8FAFC;
    --ink:#152737;
    --muted:#6B7B88;
    --line:#E5EBF0;
    --green:#168A55;
    --shadow:0 18px 50px rgba(15,45,70,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.5}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.narrow{max-width:820px}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(229,235,240,.9)}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.logo-link{display:flex;align-items:center}.logo-link img{display:block;width:220px;height:auto;max-height:72px;object-fit:contain}
.nav-links{display:flex;align-items:center;gap:27px;font-size:.92rem;font-weight:650;color:#334b5e}
.nav-links>a:not(.btn):hover{color:var(--amber)}
.btn{border:0;border-radius:12px;padding:13px 18px;font-weight:750;display:inline-flex;justify-content:center;align-items:center;cursor:pointer;transition:.2s}
.btn-outline{border:1px solid #cbd6de;background:#fff;color:var(--navy)}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 8px 22px rgba(15,45,70,.18)}
.btn-primary:hover{background:var(--navy2);transform:translateY(-1px)}
.btn-amber{background:var(--amber);color:#172f43}
.full{width:100%}
.hero{background:linear-gradient(180deg,#f8fbfd 0%,#fff 100%);padding:72px 0 0;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;min-height:370px}
.hero-copy{padding-bottom:62px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--amber)}
.hero h1,.listing-hero h1,.detail-title h1,.placeholder-card h1,.success-card h1{font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.055em;color:var(--navy);margin:16px 0 20px}
.hero h1 span{color:#284f6c}
.hero-copy p{font-size:1.12rem;color:var(--muted);max-width:620px}
.hero-art{position:relative;height:330px;margin-bottom:30px}
.hero-photo{position:absolute;background-size:cover;background-position:center;border:8px solid #fff;box-shadow:var(--shadow)}
.hero-photo-a{width:285px;height:200px;right:20px;top:35px;border-radius:32px 32px 10px 32px;transform:rotate(-5deg);background-image:url('https://images.unsplash.com/photo-1748050869483-f3c34120c3ff?auto=format&fit=crop&w=1000&q=80')}
.hero-photo-b{width:195px;height:145px;right:205px;top:130px;border-radius:22px;transform:rotate(5deg);background-image:url('https://images.unsplash.com/photo-1771147372799-d94991e92ce7?auto=format&fit=crop&w=900&q=80')}
.hero-pin{position:absolute;right:126px;top:92px;width:74px;height:74px;border-radius:50% 50% 50% 0;background:var(--amber);transform:rotate(-45deg);box-shadow:0 18px 38px rgba(245,166,35,.32)}
.hero-pin span{position:absolute;width:26px;height:26px;border:8px solid var(--navy);border-radius:50%;left:16px;top:16px;background:#fff}
.search-box{margin-top:-30px;transform:translateY(42px);background:#fff;border:1px solid var(--line);border-radius:20px;padding:12px;display:grid;grid-template-columns:1.1fr .85fr 1.2fr auto;box-shadow:0 22px 60px rgba(15,45,70,.13);position:relative;z-index:5}
.search-box label{padding:8px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;cursor:text}
.search-box label span{font-size:.72rem;font-weight:800;color:#5b6b77}
.search-box input,.search-box select{border:0;background:transparent;outline:0;color:var(--navy);min-width:0;width:100%}
.date-field{cursor:pointer!important}
.date-field input{cursor:pointer}
.btn-search{padding-left:24px;padding-right:24px}
.section{padding:92px 0}
.section-soft{background:var(--soft)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}
.section-heading h2,.center-heading h2,.host-cta h2,.content-block h2,.results-top h2{font-size:2rem;letter-spacing:-.04em;color:var(--navy);margin:8px 0 0}
.text-link{color:var(--navy);font-weight:750}
.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.category-card{border:1px solid var(--line);border-radius:18px;padding:22px 18px;background:#fff;display:flex;flex-direction:column;gap:5px;transition:.2s}
.category-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.category-svg{width:34px;height:34px;margin-bottom:9px;display:block;position:relative;color:var(--amber)}
.category-svg:before,.category-svg:after{content:"";position:absolute;border:2px solid var(--amber);border-radius:5px}
.icon-meeting:before{inset:7px 2px 7px 2px;border-radius:3px}
.icon-meeting:after{left:8px;right:8px;top:14px;border-width:1px 0 0;border-radius:0}
.icon-office:before{inset:3px 6px 3px 6px;border-radius:2px}
.icon-office:after{left:11px;top:8px;width:8px;height:17px;border-radius:1px}
.icon-event:before{width:21px;height:21px;left:5px;top:5px;transform:rotate(45deg);border-radius:3px}
.icon-event:after{display:none}
.icon-course:before{inset:5px 3px 8px 3px;border-radius:2px}
.icon-course:after{left:7px;right:7px;bottom:2px;border-width:2px 0 0;border-radius:0}
.icon-studio:before{width:25px;height:25px;left:3px;top:3px;border-radius:50%}
.icon-studio:after{width:9px;height:9px;left:11px;top:11px;border-radius:50%}
.icon-conference:before{inset:4px 2px 9px 2px;border-radius:2px}
.icon-conference:after{left:6px;right:6px;bottom:3px;border-width:2px 0 0;border-radius:0}
.category-card strong{color:var(--navy)}
.category-card small{color:var(--muted)}
.space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.space-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:.2s}
.space-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.space-image{height:210px;position:relative;background:#e7eff3;overflow:hidden}
.space-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s}
.space-card:hover .space-image img{transform:scale(1.025)}
.space-badge{position:absolute;left:14px;top:14px;background:#fff;border-radius:999px;padding:7px 10px;font-size:.7rem;font-weight:800;color:var(--navy);box-shadow:0 6px 18px rgba(15,45,70,.12)}
.heart{position:absolute;right:14px;top:14px;background:#fff;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;box-shadow:0 6px 18px rgba(15,45,70,.12)}
.heart svg{width:19px;height:19px;fill:none;stroke:var(--navy);stroke-width:1.8}
.space-card-body{padding:18px}
.space-meta{display:flex;justify-content:space-between;gap:12px;font-size:.72rem;color:var(--muted);font-weight:700}
.space-meta span:first-child{text-transform:uppercase;letter-spacing:.06em}
.space-card h3{margin:8px 0 4px;font-size:1.08rem;color:var(--navy)}
.space-card p{margin:0 0 14px;color:var(--muted);font-size:.9rem}
.space-price{font-size:.85rem;color:#60707b}
.space-price strong{color:var(--navy);font-size:1rem}
.center-heading{text-align:center;margin-bottom:42px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.steps article{text-align:center;padding:10px 30px}
.steps article>span{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fff4df;color:var(--navy);font-weight:900;border:1px solid #f7d89e}
.steps h3{color:var(--navy);margin:16px 0 8px}
.steps p{color:var(--muted);font-size:.95rem}
.host-cta{background:var(--navy);border-radius:28px;padding:54px 58px;color:#fff;display:grid;grid-template-columns:1.4fr .6fr;align-items:center;gap:40px}
.host-cta h2{color:#fff;font-size:2.4rem;max-width:660px}
.host-cta p{color:#c8d5dd;max-width:650px}
.eyebrow.light{color:#f9bd55}
.host-stat{justify-self:end;width:220px;height:220px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:rgba(255,255,255,.07);padding:28px;display:flex;flex-direction:column;justify-content:end}
.host-stat>span{font-size:3rem;color:var(--amber);font-weight:900;line-height:1}
.host-stat small{color:#c8d5dd}
.footer{background:#0b2235;color:#c9d5dc;padding:56px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:50px}
.footer-logo{width:235px;height:auto;background:#fff;border-radius:10px;padding:5px 8px;display:block}
.footer-grid>div{display:flex;flex-direction:column;gap:10px}
.footer-grid>div:first-child{display:block}
.footer-grid p{max-width:430px;color:#93a7b4;font-size:.9rem}
.footer-grid strong{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.09);margin-top:40px;padding-top:22px;display:flex;justify-content:space-between;font-size:.78rem;color:#8ba0ad}
.dev-pill{color:#ffd27d}
.listing-hero{background:var(--soft);padding:58px 0 42px;border-bottom:1px solid var(--line)}
.listing-hero h1{font-size:3rem;margin-bottom:28px}
.search-box.compact{transform:none;margin:0;grid-template-columns:1.15fr .8fr 1fr auto;max-width:1050px}
.results-layout{display:grid;grid-template-columns:240px 1fr;gap:42px}
.filters{border:1px solid var(--line);border-radius:18px;padding:22px;height:max-content;position:sticky;top:105px}
.filters h3{margin-top:0;color:var(--navy)}
.filters label,.filter-checks{display:flex;flex-direction:column;gap:7px;margin-top:20px;font-size:.82rem;font-weight:750;color:#4f6372}
.filters select{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px;color:var(--navy)}
.filter-checks label{font-weight:500;color:#687985;flex-direction:row;align-items:center;margin-top:6px}
.clear-filters{display:block;text-align:center;margin-top:12px;font-size:.82rem;color:var(--muted);text-decoration:underline}
.results-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:26px}
.results-top h2{font-size:1.7rem}
.empty-state{padding:60px;text-align:center;border:1px dashed #ccd8e0;border-radius:20px;background:var(--soft)}
.detail-head{padding:42px 0 0}
.back-link{font-size:.85rem;color:var(--muted)}
.detail-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-top:22px}
.detail-title h1{font-size:3.1rem;margin:7px 0 8px}
.detail-title p{margin:0;color:var(--muted)}
.gallery{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:12px;height:430px;margin-top:30px}
.gallery>div{border-radius:18px;overflow:hidden;background:#e7eff3}
.gallery-main{grid-row:1/3}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
.detail-layout{display:grid;grid-template-columns:1fr 370px;gap:55px;align-items:start}
.content-block{padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid var(--line)}
.lead{font-size:1.05rem;color:#536776;max-width:720px}
.feature-list{display:flex;flex-wrap:wrap;gap:10px}
.feature-list span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:#445c6e;font-size:.88rem}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.info-grid div{background:var(--soft);padding:18px;border-radius:14px}
.info-grid strong,.info-grid span{display:block}
.info-grid span{color:var(--muted);font-size:.88rem;margin-top:4px}
.map-placeholder{min-height:220px;border:0;background:#edf4f7;border-radius:18px;padding:30px!important;display:flex;justify-content:space-between;align-items:center}
.map-pin{width:58px;height:58px;border-radius:50% 50% 50% 0;background:var(--amber);transform:rotate(-45deg);position:relative;margin-right:30px}
.map-pin:after{content:"";position:absolute;left:16px;top:16px;width:15px;height:15px;border:5px solid var(--navy);background:#fff;border-radius:50%}
.booking-card{position:sticky;top:105px;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:24px;background:#fff}
.booking-price{margin-bottom:20px;color:var(--muted)}
.booking-price strong{font-size:1.5rem;color:var(--navy)}
.booking-card label{display:flex;flex-direction:column;gap:7px;font-size:.8rem;font-weight:750;color:#526674;margin-bottom:13px}
.booking-card input,.booking-card select{border:1px solid var(--line);border-radius:10px;padding:11px;background:#fff;color:var(--navy);width:100%}
.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.price-row,.price-total{display:flex;justify-content:space-between;gap:10px;padding:10px 0;font-size:.85rem;color:#657581}
.price-total{border-top:1px solid var(--line);margin-top:3px;padding:15px 0;color:var(--navy);font-size:.95rem}
.booking-submit{background:#c7d0d6;color:#fff;cursor:not-allowed;box-shadow:none}
.booking-submit.is-ready{background:var(--green);cursor:pointer;box-shadow:0 8px 22px rgba(22,138,85,.22)}
.booking-submit.is-ready:hover{background:#117547;transform:translateY(-1px)}
.booking-note{text-align:center;color:#84919a;font-size:.72rem}
.text-button{display:block;margin:auto;border:0;background:none;color:var(--navy);font-weight:750;text-decoration:underline;cursor:pointer}
.placeholder-card,.success-card{border:1px solid var(--line);border-radius:24px;padding:50px;background:#fff;box-shadow:var(--shadow)}
.placeholder-card h1,.success-card h1{font-size:2.6rem}
.placeholder-card p,.success-card p{color:var(--muted);font-size:1.05rem}
.success-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e6f5ed;color:var(--green);font-size:1.5rem;font-weight:900;margin-bottom:18px}
.confirmation-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}
.confirmation-details div{background:var(--soft);border-radius:14px;padding:16px}
.confirmation-details span,.confirmation-details strong{display:block}
.confirmation-details span{font-size:.75rem;color:var(--muted);margin-bottom:3px}
@media(max-width:960px){
    .nav-links a:not(.btn){display:none}
    .hero-grid{grid-template-columns:1fr}
    .hero-art{display:none}
    .search-box{grid-template-columns:1fr 1fr;transform:translateY(32px)}
    .search-box label{border-right:0;border-bottom:1px solid var(--line)}
    .category-grid{grid-template-columns:repeat(3,1fr)}
    .space-grid{grid-template-columns:repeat(2,1fr)}
    .detail-layout,.results-layout{grid-template-columns:1fr}
    .filters,.booking-card{position:static}
}
@media(max-width:640px){
    .container{width:min(100% - 26px,1180px)}
    .nav{height:72px}.logo-link img{width:185px;max-height:62px}
    .hero{padding-top:48px}
    .hero-copy{padding-bottom:25px}
    .search-box,.search-box.compact{grid-template-columns:1fr;transform:none;margin-top:10px}
    .section{padding:64px 0}
    .category-grid{grid-template-columns:1fr 1fr}
    .space-grid,.steps,.footer-grid{grid-template-columns:1fr}
    .host-cta{grid-template-columns:1fr;padding:36px 28px}
    .host-stat{justify-self:start;width:100%;height:auto}
    .gallery{height:300px;grid-template-columns:1fr}
    .gallery>div:not(.gallery-main){display:none}
    .detail-title .btn{display:none}
    .info-grid,.confirmation-details{grid-template-columns:1fr}
}

.nav-logout{margin:0}
.nav-logout button{border:0;background:none;color:#334b5e;font:inherit;font-weight:650;padding:0;cursor:pointer}
.nav-logout button:hover{color:var(--amber)}
.auth-section{padding:76px 0 100px;background:linear-gradient(180deg,#f8fbfd 0%,#fff 100%);min-height:calc(100vh - 82px)}
.auth-shell{display:grid;grid-template-columns:1fr 480px;gap:76px;align-items:center}
.auth-copy h1,.verify-card h1{font-size:3.2rem;line-height:1.05;letter-spacing:-.05em;color:var(--navy);margin:12px 0 18px}
.auth-copy>p,.auth-card>p{color:var(--muted);font-size:1.03rem}
.auth-points{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px;color:#435b6d}
.auth-points li{position:relative;padding-left:28px}
.auth-points li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900}
.auth-card{border:1px solid var(--line);border-radius:24px;background:#fff;padding:34px;box-shadow:var(--shadow)}
.auth-card h2{margin:0 0 22px;color:var(--navy);font-size:1.55rem}
.auth-form{display:grid;gap:16px}
.auth-form label{display:grid;gap:7px;color:#526674;font-size:.82rem;font-weight:750}
.auth-form input{border:1px solid #d7e1e7;border-radius:11px;padding:13px 14px;outline:none;color:var(--navy);background:#fff}
.auth-form input:focus{border-color:#9db4c3;box-shadow:0 0 0 3px rgba(15,45,70,.06)}
.auth-switch{text-align:center;margin:20px 0 0!important;font-size:.88rem!important}
.auth-switch a,.login-options a{font-weight:750;color:var(--navy);text-decoration:underline}
.login-options{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.82rem}
.remember{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;font-weight:600!important}
.remember input{width:auto}
.form-alert{border:1px solid #cce7d9;background:#eef9f3;color:#266443;border-radius:12px;padding:12px 14px;font-size:.85rem;margin-bottom:18px}
.form-alert-error{border-color:#f0c8c8;background:#fff2f2;color:#884343}
.form-alert ul{margin:6px 0 0;padding-left:18px}
.demo-login-box{margin-top:30px;border:1px dashed #c9d8e0;background:#fff;border-radius:16px;padding:16px;display:grid;gap:4px;max-width:390px}
.demo-login-box strong{color:var(--navy)}
.demo-login-box span{font-size:.88rem;color:#4e6576}
.demo-login-box small{margin-top:5px;color:#8b99a2}
.verify-card{text-align:center;max-width:650px;margin:auto}
.mail-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff4df;color:var(--amber);font-size:1.5rem;margin:0 auto 14px}
.verify-logout{margin-top:18px}
.dashboard-hero{background:var(--soft);border-bottom:1px solid var(--line);padding:52px 0}
.dashboard-hero>.container{display:flex;align-items:center;justify-content:space-between;gap:30px}
.dashboard-hero h1{font-size:2.8rem;letter-spacing:-.05em;color:var(--navy);margin:7px 0}
.dashboard-hero p{margin:0;color:var(--muted)}
.profile-chip{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 16px}
.profile-chip>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff4df;color:var(--navy);font-weight:900}
.profile-chip strong,.profile-chip small{display:block}
.profile-chip small{color:var(--muted);font-size:.75rem}
.dashboard-grid{display:grid;grid-template-columns:1fr 290px;gap:30px;align-items:start}
.dashboard-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dash-card{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff;display:grid;gap:5px}
.dash-card>span{font-size:2rem;font-weight:900;color:var(--amber)}
.dash-card strong{color:var(--navy)}
.dash-card small{color:var(--muted)}
.dashboard-panel{margin-top:24px;background:var(--navy);border-radius:22px;padding:28px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px}
.dashboard-panel h2{margin:6px 0;color:#fff}
.dashboard-panel p{margin:0;color:#c7d5de}
.profile-panel{border:1px solid var(--line);border-radius:18px;padding:22px;background:#fff}
.profile-panel h3{margin-top:0;color:var(--navy)}
.profile-row{border-top:1px solid var(--line);padding:14px 0}
.profile-row span,.profile-row strong{display:block}
.profile-row span{font-size:.75rem;color:var(--muted);margin-bottom:4px}
.profile-row strong{font-size:.87rem;color:var(--navy);overflow-wrap:anywhere}
.verified-badge{color:var(--green)!important}
.demo-user-badge{display:inline-block;background:#fff4df;color:#795513;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:800;margin-top:8px}
@media(max-width:960px){
    .auth-shell{grid-template-columns:1fr;gap:34px;max-width:650px}
    .dashboard-grid{grid-template-columns:1fr}
    .dashboard-cards{grid-template-columns:1fr}
}
@media(max-width:640px){
    .auth-section{padding:44px 0 70px}
    .auth-card{padding:24px}
    .auth-copy h1,.verify-card h1{font-size:2.45rem}
    .dashboard-hero>.container{align-items:flex-start;flex-direction:column}
    .profile-chip{width:100%}
    .dashboard-panel{align-items:flex-start;flex-direction:column}
}

.dashboard-hero-compact{padding:42px 0}
.dashboard-block{margin-top:30px}
.dashboard-heading{margin-bottom:18px}
.owner-space-list{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}
.owner-space-row{display:grid;grid-template-columns:74px 1fr auto;gap:16px;align-items:center;padding:14px;border-bottom:1px solid var(--line)}
.owner-space-row:last-child{border-bottom:0}
.owner-space-thumb{width:74px;height:58px;background:var(--soft);border-radius:10px;overflow:hidden}
.owner-space-thumb img{width:100%;height:100%;object-fit:cover}
.owner-space-info strong,.owner-space-info span{display:block}
.owner-space-info strong{color:var(--navy)}
.owner-space-info span{font-size:.8rem;color:var(--muted);margin-top:3px}
.listing-status{font-size:.72rem;font-weight:800;border-radius:999px;padding:7px 10px;white-space:nowrap}
.status-pending{background:#fff4df;color:#805a14}
.status-approved{background:#e9f7ef;color:#17784b}
.status-rejected{background:#fff0f0;color:#9a4747}
.status-draft{background:#edf2f5;color:#5b6b75}
.recommendations-block{margin-top:52px;padding-top:42px;border-top:1px solid var(--line)}
.host-flow-hero{background:var(--soft);border-bottom:1px solid var(--line);padding:48px 0}
.host-flow-title{display:flex;align-items:center;justify-content:space-between;gap:40px}
.host-flow-title h1{font-size:3rem;line-height:1;letter-spacing:-.05em;color:var(--navy);margin:10px 0 14px}
.host-flow-title p{color:var(--muted);max-width:700px}
.review-note{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px 18px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;min-width:285px}
.review-note>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e9f7ef;color:var(--green);font-weight:900}
.review-note strong{color:var(--navy)}
.review-note small{color:var(--muted)}
.host-flow-section{background:#fff}
.host-error{max-width:900px;margin:0 auto 20px}
.host-wizard{max-width:900px;margin:auto}
.wizard-progress{margin-bottom:22px}
.wizard-progress-line{height:6px;background:#e9eef2;border-radius:999px;overflow:hidden}
.wizard-progress-line span{display:block;height:100%;width:20%;background:var(--amber);transition:width .25s}
.wizard-progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem;margin-top:9px}
.wizard-card{display:none;border:1px solid var(--line);border-radius:24px;padding:36px;background:#fff;box-shadow:var(--shadow)}
.wizard-card.is-active{display:block}
.wizard-card h2{font-size:2rem;color:var(--navy);letter-spacing:-.04em;margin:8px 0 6px}
.wizard-card>p{color:var(--muted);margin-top:0;margin-bottom:28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid label,.block-label{display:grid;gap:7px;font-size:.82rem;font-weight:750;color:#506575}
.form-grid .span-2{grid-column:1/3}
.form-grid input,.form-grid select,.block-label textarea{width:100%;border:1px solid #d7e1e7;border-radius:11px;padding:13px 14px;background:#fff;color:var(--navy);outline:none}
.block-label textarea{resize:vertical;min-height:155px;font-family:inherit}
.form-grid input:focus,.form-grid select:focus,.block-label textarea:focus{border-color:#9db4c3;box-shadow:0 0 0 3px rgba(15,45,70,.06)}
.input-suffix{display:flex;align-items:center;border:1px solid #d7e1e7;border-radius:11px;overflow:hidden}
.input-suffix input{border:0!important;border-radius:0!important;box-shadow:none!important}
.input-suffix span{padding:0 13px;color:var(--muted);font-weight:650}
.feature-picker{margin-top:24px}
.feature-picker>strong{display:block;color:var(--navy);margin-bottom:10px}
.feature-check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.feature-check-grid label,.day-picker label{position:relative}
.feature-check-grid input,.day-picker input{position:absolute;opacity:0;pointer-events:none}
.feature-check-grid span,.day-picker span{display:block;border:1px solid var(--line);border-radius:11px;padding:11px 12px;text-align:center;color:#60717d;font-size:.82rem;cursor:pointer;background:#fff}
.feature-check-grid input:checked+span,.day-picker input:checked+span{border-color:#f0bd61;background:#fff7e9;color:var(--navy);font-weight:800}
.day-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin-bottom:24px}
.availability-time-grid{max-width:430px}
.upload-zone{border:2px dashed #cad7df;border-radius:18px;background:var(--soft);padding:34px;display:grid;place-items:center;text-align:center;cursor:pointer}
.upload-zone input{position:absolute;opacity:0;pointer-events:none}
.upload-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#fff4df;color:var(--amber);font-size:1.7rem;margin-bottom:8px}
.upload-zone strong{color:var(--navy)}
.upload-zone small{color:var(--muted);margin-top:4px}
.image-preview-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.image-preview-item{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.image-preview-item img{width:100%;height:120px;object-fit:cover;display:block}
.image-preview-item span{display:block;padding:8px;font-size:.7rem;font-weight:750;color:var(--muted)}
.submit-review{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}
.submit-review strong{color:var(--navy)}
.submit-review p{margin:3px 0 0;color:var(--muted);font-size:.85rem}
.wizard-actions{display:flex;justify-content:space-between;margin-top:18px}
.wizard-actions button:disabled{opacity:.45;cursor:not-allowed}
.host-success-card{max-width:760px;margin:auto}
.success-actions{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:960px){
    .host-flow-title{align-items:flex-start;flex-direction:column}
    .review-note{width:100%}
}
@media(max-width:640px){
    .owner-space-row{grid-template-columns:58px 1fr}
    .owner-space-thumb{width:58px;height:50px}
    .listing-status{grid-column:2}
    .host-flow-title h1{font-size:2.4rem}
    .wizard-card{padding:24px}
    .form-grid{grid-template-columns:1fr}
    .form-grid .span-2{grid-column:auto}
    .feature-check-grid{grid-template-columns:1fr 1fr}
    .day-picker{grid-template-columns:repeat(4,1fr)}
    .image-preview-grid{grid-template-columns:1fr 1fr}
    .submit-review{align-items:flex-start;flex-direction:column}
    .submit-review .btn{width:100%}
}

/* Build 005 – full marketplace test */
.admin-nav-link{color:var(--amber)!important}
.page-head{background:var(--soft);border-bottom:1px solid var(--line);padding:48px 0}
.page-head h1,.admin-head h1{font-size:3rem;line-height:1;letter-spacing:-.05em;color:var(--navy);margin:10px 0 12px}
.page-head p,.admin-head p{color:var(--muted);margin:0}
.space-card-link{display:block}
.dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}
.dashboard-shortcuts a{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:15px;display:grid;gap:3px}
.dashboard-shortcuts strong{color:var(--navy)}
.dashboard-shortcuts span{font-size:.75rem;color:var(--muted)}
.profile-admin-button{margin-top:14px}
.detail-alert{margin-top:20px}
.booking-login-gate{display:grid;gap:11px}
.booking-login-gate h3{margin:6px 0 0;color:var(--navy)}
.booking-login-gate p{color:var(--muted);font-size:.88rem}
.booking-list-row{display:grid;grid-template-columns:94px 1fr auto auto;align-items:center;gap:18px;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:12px;background:#fff}
.booking-list-row:hover{box-shadow:var(--shadow)}
.booking-list-image{width:94px;height:72px;border-radius:10px;overflow:hidden;background:var(--soft)}
.booking-list-image img{width:100%;height:100%;object-fit:cover}
.booking-list-main span,.booking-list-main strong,.booking-list-main small{display:block}
.booking-list-main span,.booking-list-main small{font-size:.78rem;color:var(--muted)}
.booking-list-main strong{color:var(--navy);margin:3px 0}
.booking-list-price{font-weight:800;color:var(--navy)}
.booking-status{display:inline-block;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:800;white-space:nowrap}
.status-requested{background:#fff4df;color:#805a14}
.status-approved{background:#e9f7ef;color:#17784b}
.status-rejected,.status-cancelled{background:#fff0f0;color:#9a4747}
.booking-detail-grid{display:grid;grid-template-columns:1fr 280px;gap:32px;align-items:start}
.booking-summary-card{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff;margin-bottom:30px}
.booking-summary-card span,.booking-summary-card strong{display:block}
.booking-summary-card span{font-size:.72rem;color:var(--muted);margin-bottom:4px}
.booking-summary-card strong{color:var(--navy)}
.booking-side-card{border:1px solid var(--line);border-radius:18px;padding:20px;background:#fff;position:sticky;top:105px}
.booking-side-card h3{color:var(--navy);margin-top:0}
.booking-side-card p{color:var(--muted)}
.message-thread{border-top:1px solid var(--line);padding-top:28px}
.message-bubble{max-width:72%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:12px;background:#fff}
.message-bubble.is-own{margin-left:auto;background:#f4f8fa}
.message-meta{display:flex;justify-content:space-between;gap:12px;font-size:.72rem;color:var(--muted)}
.message-bubble p{margin:7px 0;color:#334b5e}
.message-bubble small{color:#a06b13}
.text-danger{color:#a04444!important}
.muted-copy{color:var(--muted)}
.message-compose{margin-top:22px;display:grid;gap:12px}
.message-compose label{display:grid;gap:7px;font-size:.82rem;font-weight:750;color:#506575}
.message-compose textarea{border:1px solid var(--line);border-radius:12px;padding:13px;resize:vertical;font:inherit}
.message-compose .btn{justify-self:start}
.host-booking-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:12px}
.host-booking-row strong,.host-booking-row small,.host-booking-date{display:block}
.host-booking-row strong{color:var(--navy);margin:3px 0}
.host-booking-row small,.host-booking-date{color:var(--muted);font-size:.78rem}
.host-booking-actions{display:flex;gap:8px;align-items:center}
.host-booking-actions form{margin:0}
.btn-success{background:var(--green);color:#fff}
.btn-danger-outline{border:1px solid #e2b8b8;background:#fff;color:#9a4747}
.message-thread-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:10px}
.message-thread-row div span,.message-thread-row div strong,.message-thread-row div small{display:block}
.message-thread-row div span,.message-thread-row div small{color:var(--muted);font-size:.76rem}
.message-thread-row div strong{color:var(--navy);margin:3px 0}
.admin-head{background:#0e2a40;color:#fff;padding:44px 0 0}
.admin-head h1{color:#fff}
.admin-head p{color:#b9cbd6}
.admin-tabs{display:flex;gap:6px;margin-top:28px;overflow:auto}
.admin-tabs a{padding:13px 16px;border-radius:10px 10px 0 0;color:#bad0dd;font-weight:750;font-size:.86rem;white-space:nowrap}
.admin-tabs a.active{background:#fff;color:var(--navy)}
.admin-section{background:#f7fafc}
.admin-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:26px}
.admin-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:grid}
.admin-stat>span{color:var(--muted);font-size:.78rem;font-weight:750}
.admin-stat>strong{font-size:2.3rem;line-height:1.1;color:var(--navy);margin-top:5px}
.admin-stat>small{font-size:.8rem;margin-top:3px}
.admin-stat .positive{color:var(--green);font-weight:850}
.admin-stat>em{font-style:normal;color:var(--muted);font-size:.72rem;margin-top:12px}
.admin-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.admin-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}
.admin-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.admin-panel-head h2{color:var(--navy);font-size:1.25rem;margin:0}
.admin-panel-head a{font-size:.78rem;color:var(--navy);font-weight:750}
.admin-list-line{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);padding:12px 0}
.admin-list-line strong,.admin-list-line span{display:block}
.admin-list-line>div>span{font-size:.72rem;color:var(--muted)}
.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}
.admin-table{width:100%;border-collapse:collapse;min-width:860px}
.admin-table th,.admin-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.admin-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#758590;background:#f8fafc}
.admin-table td{font-size:.85rem;color:#4b6171}
.admin-table td strong{display:block;color:var(--navy)}
.admin-table td small{display:block;color:var(--muted);margin-top:3px}
.admin-inline-actions{display:flex;gap:6px}
.mini-action{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px;font-size:.7rem;font-weight:750;cursor:pointer}
.mini-action.approve{color:var(--green);border-color:#b9dfca}
.mini-action.reject{color:#9a4747;border-color:#e7c6c6}
.moderation-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px}
.moderation-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem}
.moderation-route{display:flex;gap:10px;align-items:center;margin-top:12px;color:var(--navy)}
.moderation-card p{color:#3e5668;background:var(--soft);border-radius:12px;padding:14px}
.moderation-actions{display:flex;align-items:center;gap:8px}
.moderation-actions form{margin:0}
.status-pending{background:#fff4df;color:#805a14}
.profile-admin-button{margin-bottom:8px}
@media(max-width:960px){
    .dashboard-shortcuts,.admin-stat-grid,.admin-two-col{grid-template-columns:1fr 1fr}
    .booking-detail-grid{grid-template-columns:1fr}
    .booking-side-card{position:static}
}
@media(max-width:640px){
    .dashboard-shortcuts,.admin-stat-grid,.admin-two-col{grid-template-columns:1fr}
    .booking-list-row{grid-template-columns:72px 1fr}
    .booking-list-image{width:72px;height:60px}
    .booking-list-price,.booking-status{grid-column:2}
    .booking-summary-card{grid-template-columns:1fr 1fr}
    .message-bubble{max-width:90%}
    .host-booking-row{grid-template-columns:1fr}
    .host-booking-actions{flex-wrap:wrap}
}

/* Build 006 – consolidated test fixes + approved homepage */
.nav{position:relative}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:11px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;cursor:pointer;padding:0}
.nav-toggle span{width:20px;height:2px;background:var(--navy);border-radius:999px;transition:.2s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.hero-with-background{position:relative;isolation:isolate;overflow:hidden;background:#f7fafc;padding-top:76px}
.hero-with-background:before{content:"";position:absolute;inset:0;background-image:url('https://images.unsplash.com/photo-1753911372198-50b1b254ad4d?auto=format&fit=crop&w=2000&q=78');background-size:cover;background-position:center 52%;z-index:-2;opacity:.36}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,250,252,.98) 0%,rgba(248,250,252,.93) 42%,rgba(248,250,252,.67) 68%,rgba(248,250,252,.78) 100%),linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.54));z-index:-1}
.hero-grid-single{grid-template-columns:1fr;min-height:390px;position:relative}
.hero-grid-single .hero-copy{max-width:790px;padding:18px 0 86px}
.hero-grid-single h1{max-width:770px;margin-bottom:18px}
.hero-lead{font-size:1.24rem!important;line-height:1.55;color:#405c70!important;max-width:680px!important;margin-bottom:9px}
.hero-support{font-size:1rem!important;line-height:1.65;color:#647785!important;max-width:720px!important;margin-top:0}
.hero-with-background .search-box{position:relative;z-index:2}
.field-hint{font-size:.7rem;color:var(--muted);font-weight:550;line-height:1.35}
.js-booking-error[hidden]{display:none}
.approved-address-card{border:1px solid #bde1cd;background:#f1faf5;border-radius:18px;padding:22px 24px;margin-bottom:30px}
.approved-address-card h2{color:var(--navy);font-size:1.35rem;margin:6px 0}
.approved-address-card p{margin:0;color:#456052}
.booking-side-card small{display:block;margin:-8px 0 14px}
.info-page-section,.error-page-section{background:linear-gradient(180deg,#f8fbfd 0%,#fff 100%);min-height:65vh}
.info-card,.error-card{margin:auto}
.error-code{display:block;font-size:.78rem;font-weight:900;letter-spacing:.16em;color:var(--amber);margin-bottom:8px}
.error-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}

@media(max-width:960px){
    .nav-toggle{display:flex;margin-left:auto}
    .nav-links{display:none;position:absolute;left:0;right:0;top:calc(100% - 1px);background:#fff;border:1px solid var(--line);border-radius:0 0 18px 18px;box-shadow:0 18px 40px rgba(15,45,70,.12);padding:14px;flex-direction:column;align-items:stretch;gap:3px;z-index:40}
    .nav-links.is-open{display:flex}
    .nav-links a,.nav-links a:not(.btn),.nav-links .btn,.nav-logout button{display:flex!important;width:100%;justify-content:flex-start;padding:12px 13px;border-radius:9px}
    .nav-links a:hover,.nav-logout button:hover{background:var(--soft)}
    .nav-links .btn{border:0;background:var(--soft);box-shadow:none}
    .nav-logout{width:100%}
    .hero-grid-single{grid-template-columns:1fr;min-height:350px}
    .hero-with-background:before{background-position:62% center;opacity:.29}
    .hero-overlay{background:linear-gradient(90deg,rgba(248,250,252,.99) 0%,rgba(248,250,252,.94) 58%,rgba(248,250,252,.78) 100%)}
}

@media(max-width:640px){
    .hero-with-background{padding-top:45px}
    .hero-grid-single{min-height:auto}
    .hero-grid-single .hero-copy{padding:10px 0 32px}
    .hero-grid-single h1{font-size:clamp(2.45rem,12vw,3.5rem);line-height:1.02}
    .hero-lead{font-size:1.08rem!important}
    .hero-support{font-size:.93rem!important}
    .hero-with-background:before{opacity:.19;background-position:68% center}
    .hero-overlay{background:rgba(248,250,252,.90)}
    .error-actions{flex-direction:column}
    .error-actions .btn{width:100%}
}


/* Build 007 – hero layout hotfix
   Restores the two right-side image cards, keeps the approved copy/background,
   and keeps the search bar fully inside the hero so it cannot collide with
   the next section. */
.hero-with-background{
    padding-top:46px;
    padding-bottom:0;
    overflow:hidden;
}
.hero-restored-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
    gap:42px;
    min-height:405px;
    align-items:center;
}
.hero-restored-grid .hero-copy{
    max-width:690px;
    padding:12px 0 42px;
}
.hero-restored-grid h1{
    max-width:690px;
    margin:14px 0 18px;
    font-size:clamp(3.35rem,4.35vw,4.7rem);
    line-height:1.01;
}
.hero-restored-grid .hero-lead{
    max-width:640px!important;
}
.hero-restored-grid .hero-support{
    max-width:680px!important;
}
.hero-art-restored{
    display:block;
    height:350px;
    margin:0;
    align-self:center;
}
.hero-art-restored .hero-photo-a{
    width:300px;
    height:210px;
    right:4px;
    top:28px;
}
.hero-art-restored .hero-photo-b{
    width:205px;
    height:150px;
    right:214px;
    top:166px;
}
.hero-art-restored .hero-pin{
    right:118px;
    top:112px;
}
.hero-with-background .search-box{
    margin:-10px 0 30px;
    transform:none;
    position:relative;
    z-index:5;
}

@media (min-width:961px) and (max-width:1180px){
    .hero-restored-grid{
        grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);
        gap:24px;
    }
    .hero-restored-grid h1{
        font-size:clamp(3.1rem,5.5vw,4.15rem);
    }
    .hero-art-restored .hero-photo-a{
        width:260px;
        height:184px;
        right:0;
        top:42px;
    }
    .hero-art-restored .hero-photo-b{
        width:180px;
        height:132px;
        right:178px;
        top:168px;
    }
    .hero-art-restored .hero-pin{
        right:94px;
        top:116px;
        width:66px;
        height:66px;
    }
    .hero-art-restored .hero-pin span{
        width:24px;
        height:24px;
        left:13px;
        top:13px;
    }
}

@media(max-width:960px){
    .hero-with-background{
        padding-top:48px;
    }
    .hero-restored-grid{
        grid-template-columns:1fr;
        min-height:auto;
    }
    .hero-restored-grid .hero-copy{
        max-width:760px;
        padding:10px 0 30px;
    }
    .hero-art-restored{
        display:none;
    }
    .hero-with-background .search-box{
        margin:0 0 28px;
        transform:none;
    }
}

@media(max-width:640px){
    .hero-with-background{
        padding-top:38px;
    }
    .hero-restored-grid h1{
        font-size:clamp(2.45rem,12vw,3.45rem);
    }
    .hero-restored-grid .hero-copy{
        padding-bottom:22px;
    }
    .hero-with-background .search-box{
        margin:0 0 22px;
    }
}


/* Build 008 – meaningful AnyRoom category icons */
.category-card{
    position:relative;
    overflow:hidden;
    min-height:205px;
    padding:24px 22px;
    gap:6px;
}
.category-card:after{
    content:"";
    position:absolute;
    width:86px;
    height:86px;
    right:-38px;
    top:-42px;
    border-radius:50%;
    background:rgba(245,166,35,.06);
    transition:transform .22s ease, background .22s ease;
}
.category-icon{
    width:54px;
    height:54px;
    border-radius:15px;
    display:grid;
    place-items:center;
    margin-bottom:14px;
    background:#fff6e5;
    border:1px solid #f8d392;
    color:var(--amber);
    transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.category-icon svg{
    width:29px;
    height:29px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.category-card strong{
    font-size:1.02rem;
    color:var(--navy);
}
.category-card small{
    line-height:1.5;
}
.category-card:hover .category-icon{
    transform:translateY(-2px) scale(1.04);
    background:#fff1d4;
    border-color:#f3bd5e;
}
.category-card:hover:after{
    transform:scale(1.18);
    background:rgba(245,166,35,.10);
}

@media(max-width:640px){
    .category-card{
        min-height:185px;
        padding:20px 17px;
    }
    .category-icon{
        width:49px;
        height:49px;
        border-radius:14px;
    }
    .category-icon svg{
        width:26px;
        height:26px;
    }
}


/* Build 009 – stronger hero background + subtle category background imagery */
.hero-with-background:before{
    opacity:.48;
    background-position:center 50%;
}
.hero-overlay{
    background:
        linear-gradient(
            90deg,
            rgba(248,250,252,.94) 0%,
            rgba(248,250,252,.86) 40%,
            rgba(248,250,252,.64) 67%,
            rgba(248,250,252,.73) 100%
        ),
        linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.34));
}

.category-card{
    background:#fff;
    isolation:isolate;
}
.category-card > *{
    position:relative;
    z-index:2;
}
.category-card:before{
    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    opacity:.12;
    background-repeat:no-repeat;
    background-position:right -6px bottom -8px;
    background-size:118px 118px;
    transition:opacity .22s ease, transform .22s ease;
    pointer-events:none;
}
.category-card:hover:before{
    opacity:.18;
    transform:scale(1.03);
}
.category-card--meeting:before{
    background-image:
        linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 66%, rgba(255,255,255,.88) 100%),
        url('https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=600&q=80');
}
.category-card--office:before{
    background-image:
        linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 66%, rgba(255,255,255,.88) 100%),
        url('https://images.unsplash.com/photo-1497366412874-3415097a27e7?auto=format&fit=crop&w=600&q=80');
}
.category-card--event:before{
    background-image:
        linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.58) 66%, rgba(255,255,255,.90) 100%),
        url('https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=600&q=80');
}
.category-card--course:before{
    background-image:
        linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.58) 66%, rgba(255,255,255,.90) 100%),
        url('https://images.unsplash.com/photo-1523240795612-9a054b0db644?auto=format&fit=crop&w=600&q=80');
}
.category-card--studio:before{
    background-image:
        linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.56) 66%, rgba(255,255,255,.90) 100%),
        url('https://images.unsplash.com/photo-1492691527719-9d1e07e534b4?auto=format&fit=crop&w=600&q=80');
}
.category-card--conference:before{
    background-image:
        linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.58) 66%, rgba(255,255,255,.90) 100%),
        url('https://images.unsplash.com/photo-1515169067868-5387ec356754?auto=format&fit=crop&w=600&q=80');
}

@media(max-width:960px){
    .hero-with-background:before{
        opacity:.42;
        background-position:60% center;
    }
    .hero-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(248,250,252,.97) 0%,
                rgba(248,250,252,.90) 58%,
                rgba(248,250,252,.75) 100%
            );
    }
}

@media(max-width:640px){
    .hero-with-background:before{
        opacity:.30;
        background-position:66% center;
    }
    .hero-overlay{
        background:rgba(248,250,252,.84);
    }
    .category-card:before{
        background-size:96px 96px;
        background-position:right -12px bottom -8px;
        opacity:.10;
    }
}


/* Build 010 – final homepage visual polish */

/* Hero: a touch more visible background while preserving text contrast */
.hero-with-background:before{
    opacity:.56;
    background-position:center 49%;
}
.hero-overlay{
    background:
        linear-gradient(
            90deg,
            rgba(248,250,252,.92) 0%,
            rgba(248,250,252,.82) 39%,
            rgba(248,250,252,.57) 67%,
            rgba(248,250,252,.67) 100%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,.03) 0%,
            rgba(255,255,255,.26) 100%
        );
}

/* Category cards: let each photo fill the card instead of sitting as a washed-out patch */
.category-card{
    background:#fff;
}
.category-card:before{
    inset:0;
    opacity:.24;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    transform:none;
}
.category-card:after{
    content:"";
    position:absolute;
    inset:0;
    width:auto;
    height:auto;
    right:auto;
    top:auto;
    border-radius:inherit;
    z-index:1;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.94) 0%,
            rgba(255,255,255,.90) 34%,
            rgba(255,255,255,.76) 62%,
            rgba(255,255,255,.63) 100%
        );
    transition:background .22s ease;
    pointer-events:none;
}
.category-card:hover:before{
    opacity:.31;
    transform:scale(1.025);
}
.category-card:hover:after{
    transform:none;
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,.92) 0%,
            rgba(255,255,255,.87) 34%,
            rgba(255,255,255,.71) 62%,
            rgba(255,255,255,.56) 100%
        );
}
.category-card > *{
    position:relative;
    z-index:2;
}
.category-card strong{
    text-shadow:0 1px 0 rgba(255,255,255,.72);
}
.category-card small{
    color:#556b7a;
    text-shadow:0 1px 0 rgba(255,255,255,.68);
}

/* More deliberate crops for each category */
.category-card--meeting:before{background-position:center 54%}
.category-card--office:before{background-position:center 52%}
.category-card--event:before{background-position:center 44%}
.category-card--course:before{background-position:center 49%}
.category-card--studio:before{background-position:center 46%}
.category-card--conference:before{background-position:center 42%}

@media(max-width:960px){
    .hero-with-background:before{
        opacity:.48;
        background-position:60% center;
    }
    .hero-overlay{
        background:
            linear-gradient(
                90deg,
                rgba(248,250,252,.96) 0%,
                rgba(248,250,252,.87) 58%,
                rgba(248,250,252,.70) 100%
            );
    }
}

@media(max-width:640px){
    .hero-with-background:before{
        opacity:.34;
        background-position:66% center;
    }
    .hero-overlay{
        background:rgba(248,250,252,.81);
    }
    .category-card:before{
        opacity:.20;
        background-size:cover;
        background-position:center;
    }
    .category-card:hover:before{
        opacity:.26;
    }
}


/* Build 011 – mobile search/filter polish */
@media(max-width:640px){

    /* Search card on "Find lokale" */
    .listing-hero .search-box.compact{
        padding:16px;
        border-radius:22px;
    }
    .listing-hero .search-box.compact label{
        padding:13px 10px 16px;
    }
    .listing-hero .search-box.compact > .btn{
        margin-top:18px;
        min-height:60px;
        border-radius:13px;
        font-size:1.02rem;
    }

    /* Give the filter card a little more breathing room */
    .results-layout{
        gap:28px;
    }
    .filters{
        padding:26px 22px 28px;
        border-radius:22px;
    }
    .filters h3{
        margin-bottom:24px;
    }
    .filters label,
    .filter-checks{
        margin-top:24px;
    }
    .filters select{
        min-height:54px;
        padding:12px 14px;
        border-radius:12px;
    }

    /* Main request: move the filter CTA down */
    .filters form > .btn.full{
        margin-top:30px;
        min-height:60px;
        border-radius:13px;
        font-size:1.02rem;
    }
    .clear-filters{
        margin-top:22px;
        padding-bottom:2px;
        font-size:.9rem;
    }

    /* More space before results once the filters end */
    .filters + div{
        margin-top:4px;
    }
}


/* Build 012 – filter button spacing fix
   Build 011 only applied the extra margin below 640px.
   This makes the spacing work on mobile/tablet widths as well. */
.filters .btn.full{
    margin-top:20px;
}
.clear-filters{
    margin-top:18px;
}

@media(max-width:960px){
    .filters .btn.full{
        margin-top:24px;
    }
    .clear-filters{
        margin-top:20px;
    }
}

@media(max-width:640px){
    .filters .btn.full{
        margin-top:26px;
    }
    .clear-filters{
        margin-top:22px;
    }
}


/* Build 013 – listing-card polish + functional favorite heart */
.space-card{
    height:100%;
    display:flex;
    flex-direction:column;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.space-card:hover{
    transform:translateY(-3px);
    border-color:#d8e2e9;
    box-shadow:0 16px 42px rgba(15,45,70,.12);
}
.space-card-media{
    position:relative;
}
.space-image-link{
    display:block;
}
.space-card-body-link{
    display:flex;
    flex:1;
}
.space-card-body{
    width:100%;
    display:flex;
    flex-direction:column;
    padding:20px 22px 22px;
}
.space-meta{
    margin-bottom:3px;
}
.space-card h3{
    margin:8px 0 6px;
    line-height:1.28;
}
.space-card p{
    margin:0 0 17px;
    line-height:1.45;
}
.space-price{
    margin-top:auto;
    padding-top:1px;
}
.space-favorite-form{
    margin:0;
}
.space-favorite-button{
    position:absolute;
    right:14px;
    top:14px;
    z-index:4;
    width:40px;
    height:40px;
    border-radius:50%;
    border:1px solid rgba(229,235,240,.95);
    background:rgba(255,255,255,.95);
    color:var(--navy);
    display:grid;
    place-items:center;
    padding:0;
    cursor:pointer;
    box-shadow:0 7px 20px rgba(15,45,70,.12);
    backdrop-filter:blur(8px);
    transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.space-favorite-button svg{
    width:20px;
    height:20px;
    fill:transparent;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
    transition:fill .18s ease, transform .18s ease;
}
.space-favorite-button:hover{
    transform:scale(1.06);
    background:#fff;
    border-color:#f1c674;
    color:#d98a00;
}
.space-favorite-button:hover svg{
    transform:scale(1.03);
}
.space-favorite-button.is-active{
    color:var(--amber);
    background:#fff8eb;
    border-color:#f4c871;
}
.space-favorite-button.is-active svg{
    fill:currentColor;
}
.space-image .space-badge{
    z-index:2;
}

/* If both badge and heart are present, they keep a clean visual balance */
.space-badge{
    max-width:calc(100% - 76px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

@media(max-width:640px){
    .space-card-body{
        padding:18px 18px 20px;
    }
    .space-favorite-button{
        width:42px;
        height:42px;
        right:12px;
        top:12px;
    }
}


/* Build 014 – space detail premium polish */
.detail-head{
    padding:48px 0 6px;
}
.detail-title{
    align-items:flex-start;
    margin-top:24px;
}
.detail-title-copy{
    max-width:760px;
}
.detail-title h1{
    font-size:3.35rem;
    margin:8px 0 12px;
}
.detail-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px 12px;
    color:#607381;
    font-size:.96rem;
}
.detail-meta span{
    display:flex;
    align-items:center;
    gap:7px;
}
.detail-meta span:not(:last-child)::after{
    content:"";
    width:4px;
    height:4px;
    border-radius:50%;
    background:#b8c7d0;
    margin-left:3px;
}
.detail-favorite-form{
    margin:12px 0 0;
}
.detail-favorite-button{
    position:static;
    width:46px;
    height:46px;
}

.gallery-premium{
    grid-template-columns:2.15fr 1fr;
    height:460px;
    gap:14px;
    margin-top:32px;
}
.gallery-premium .gallery-main,
.gallery-premium .gallery-thumb{
    border-radius:20px;
    overflow:hidden;
    background:#e7eff3;
    box-shadow:0 14px 34px rgba(15,45,70,.09);
}
.gallery-side{
    display:grid;
    gap:14px;
}
.gallery-thumb{
    position:relative;
}
.gallery-more{
    position:absolute;
    right:14px;
    bottom:14px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:10px 13px;
    border-radius:999px;
    background:rgba(15,45,70,.78);
    color:#fff;
    font-size:.82rem;
    font-weight:700;
    text-decoration:none;
    backdrop-filter:blur(7px);
    box-shadow:0 10px 24px rgba(15,45,70,.22);
}
.gallery-more span{
    display:inline-grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    font-size:.72rem;
}

.content-block{
    padding:0 0 38px;
    margin-bottom:38px;
}
.content-block h2{
    margin-bottom:14px;
}
.lead{
    line-height:1.72;
    max-width:760px;
}
.feature-list-premium{
    gap:12px;
}
.feature-list-premium span{
    display:inline-flex;
    align-items:center;
    gap:9px;
    padding:11px 14px;
    background:#f8fbfd;
}
.feature-list-premium span i{
    display:inline-grid;
    place-items:center;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#e8f6ee;
    color:var(--green);
    font-style:normal;
    font-size:.72rem;
    font-weight:900;
}

.info-grid-premium{
    gap:16px;
}
.info-grid-premium .info-card{
    display:flex;
    align-items:flex-start;
    gap:14px;
    background:#f8fbfd;
    border:1px solid #e5edf2;
    padding:18px;
    border-radius:16px;
}
.info-card-icon{
    display:inline-grid;
    place-items:center;
    width:38px;
    height:38px;
    border-radius:12px;
    background:#fff3da;
    font-size:1rem;
    flex:0 0 auto;
}
.info-grid-premium strong,
.info-grid-premium span{
    display:block;
}
.info-grid-premium span{
    margin-top:3px;
    color:#667985;
    line-height:1.45;
}

.map-placeholder{
    background:linear-gradient(135deg,#eef5f8 0%,#f7fbfd 100%);
    border:1px solid #dfebf1;
    min-height:236px;
}
.map-placeholder p{
    max-width:470px;
    color:#627582;
}

.booking-card-premium{
    padding:0;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 22px 46px rgba(15,45,70,.10);
}
.booking-card-premium > *{
    padding:28px 28px 26px;
}
.booking-card-premium form,
.booking-card-premium .booking-login-gate{
    display:block;
}
.booking-card-premium form{
    background:#fff;
}
.booking-card-premium form:before,
.booking-card-premium .booking-login-gate:before{
    content:"";
    display:block;
    height:6px;
    margin:-28px -28px 22px;
    background:linear-gradient(90deg,var(--amber),#f7c55d);
}
.booking-price-premium{
    margin-bottom:22px;
    padding-bottom:17px;
    border-bottom:1px solid #e9eff3;
}
.booking-price-premium span{
    display:block;
    font-size:.79rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#7e8e99;
    margin-bottom:7px;
}
.booking-price-premium strong{
    font-size:1.9rem;
    letter-spacing:-.03em;
}
.booking-card-premium h3{
    margin:0 0 10px;
    color:var(--navy);
    font-size:1.3rem;
}
.booking-card-premium label{
    margin-bottom:14px;
}
.booking-card-premium .btn.full + .btn.full{
    margin-top:10px;
}
.booking-card-premium .booking-note{
    margin:14px 0 0;
    line-height:1.5;
}
.booking-gate-premium p{
    color:#607381;
    line-height:1.55;
    margin:0 0 18px;
}
.booking-card-premium .price-row{
    padding:12px 0;
}
.booking-card-premium .price-total{
    margin-top:6px;
    padding-top:17px;
}
.booking-card-premium .booking-submit{
    margin-top:10px;
}
.booking-card-premium .form-alert{
    margin-bottom:14px;
}

@media(max-width:960px){
    .detail-title{
        flex-direction:column;
    }
    .detail-favorite-form{
        margin-top:0;
    }
    .gallery-premium{
        grid-template-columns:1fr;
        height:auto;
    }
    .gallery-side{
        grid-template-columns:1fr 1fr;
    }
    .booking-card-premium > *{
        padding:24px;
    }
    .booking-card-premium form:before,
    .booking-card-premium .booking-login-gate:before{
        margin:-24px -24px 20px;
    }
}

@media(max-width:640px){
    .detail-head{
        padding-top:34px;
    }
    .detail-title h1{
        font-size:clamp(2.3rem,11vw,3rem);
        margin-bottom:10px;
    }
    .detail-meta{
        font-size:.92rem;
        gap:8px 10px;
    }
    .detail-meta span:not(:last-child)::after{
        display:none;
    }
    .detail-favorite-button{
        width:44px;
        height:44px;
    }
    .gallery-premium{
        margin-top:24px;
        height:300px;
    }
    .gallery-side{
        display:none;
    }
    .gallery-more{
        right:12px;
        bottom:12px;
        padding:9px 12px;
    }
    .content-block{
        padding-bottom:30px;
        margin-bottom:30px;
    }
    .booking-card-premium > *{
        padding:22px 20px;
    }
    .booking-card-premium form:before,
    .booking-card-premium .booking-login-gate:before{
        margin:-22px -20px 18px;
    }
    .booking-price-premium strong{
        font-size:1.7rem;
    }
}


/* Build 015 – mobile detail polish */

/* Keep the booking card on the right on desktop, while allowing it to come
   immediately after the gallery in the mobile source flow. */
.detail-layout{
    grid-template-areas:"content booking";
}
.detail-content{
    grid-area:content;
    min-width:0;
}
.booking-card-premium{
    grid-area:booking;
}

/* Fix nested info-card padding inherited from the older .info-grid div rule. */
.info-grid-premium .info-card > div{
    background:transparent;
    padding:0;
    border-radius:0;
}
.info-grid-premium .info-card{
    align-items:center;
}

/* Tablet/mobile: booking is intentionally shown before the long content. */
@media(max-width:960px){
    .detail-layout{
        grid-template-areas:
            "booking"
            "content";
        gap:38px;
    }
    .booking-card-premium{
        width:100%;
        max-width:620px;
    }
}

@media(max-width:640px){
    /* Favorite action sits naturally in the top-right of the title area. */
    .detail-title{
        position:relative;
        padding-right:58px;
    }
    .detail-title > .detail-favorite-form{
        position:absolute;
        top:0;
        right:0;
        margin:0;
    }
    .detail-title > .detail-favorite-button{
        position:absolute;
        top:0;
        right:0;
    }

    /* Booking appears directly after the gallery with less dead space. */
    .detail-head + .section{
        padding-top:36px;
    }
    .detail-layout{
        gap:34px;
    }
    .booking-card-premium{
        max-width:none;
    }

    /* "Godt at vide" is more compact without losing readability. */
    .info-grid-premium{
        gap:12px;
    }
    .info-grid-premium .info-card{
        padding:14px 15px;
        gap:11px;
        min-height:0;
    }
    .info-card-icon{
        width:34px;
        height:34px;
        border-radius:10px;
        font-size:.92rem;
    }
    .info-grid-premium strong{
        font-size:.92rem;
        line-height:1.3;
    }
    .info-grid-premium span{
        font-size:.84rem;
        line-height:1.4;
    }
}


/* Build 016 – gallery fix + conversion/SEO content */

.gallery-premium .gallery-side{
    grid-row:1 / 3;
    grid-template-rows:minmax(0,1fr) minmax(0,1fr);
    height:100%;
    min-height:0;
}
.gallery-premium .gallery-thumb{
    min-height:0;
}
.gallery-premium .gallery-main{
    position:relative;
}
.gallery-more{
    border:0;
    cursor:pointer;
    font:inherit;
}
.gallery-more-mobile{
    display:none;
}

body.gallery-dialog-open{
    overflow:hidden;
}
.image-dialog{
    width:min(1120px,calc(100% - 36px));
    max-height:90vh;
    border:0;
    border-radius:24px;
    padding:0;
    background:#fff;
    color:var(--ink);
    box-shadow:0 30px 90px rgba(15,45,70,.30);
}
.image-dialog::backdrop{
    background:rgba(7,25,39,.68);
    backdrop-filter:blur(5px);
}
.image-dialog-head{
    position:sticky;
    top:0;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:20px 24px;
    background:rgba(255,255,255,.96);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(12px);
}
.image-dialog-head h2{
    margin:4px 0 0;
    color:var(--navy);
    font-size:1.45rem;
}
.image-dialog-close{
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid var(--line);
    background:#fff;
    color:var(--navy);
    font-size:1.65rem;
    line-height:1;
    cursor:pointer;
}
.image-dialog-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    padding:20px;
}
.image-dialog-grid figure{
    margin:0;
    border-radius:16px;
    overflow:hidden;
    background:var(--soft);
}
.image-dialog-grid figure:first-child{
    grid-column:1 / 3;
}
.image-dialog-grid img{
    display:block;
    width:100%;
    height:100%;
    max-height:620px;
    object-fit:cover;
}

.section-intro{
    margin:-4px 0 18px;
    color:#637784;
    max-width:720px;
}
.use-case-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.use-case-grid span{
    display:flex;
    align-items:center;
    gap:10px;
    padding:14px 16px;
    border:1px solid #e3ebf0;
    border-radius:14px;
    background:#f9fbfc;
    color:#425c6d;
    font-weight:650;
}
.use-case-grid i{
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:#e8f6ee;
    color:var(--green);
    font-style:normal;
    font-size:.74rem;
    font-weight:900;
}
.seo-content-block p{
    color:#536b7a;
    line-height:1.75;
    max-width:790px;
}
.seo-content-block h2{
    margin-top:8px;
}
.booking-explainer{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:12px;
}
.booking-explainer>div{
    border:1px solid #e2ebf0;
    border-radius:16px;
    padding:18px;
    background:#f9fbfc;
}
.booking-explainer>div>span{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:#fff2d7;
    color:var(--navy);
    font-weight:900;
    margin-bottom:13px;
}
.booking-explainer strong{
    display:block;
    color:var(--navy);
    margin-bottom:6px;
}
.booking-explainer p{
    margin:0;
    color:#687b87;
    font-size:.9rem;
    line-height:1.55;
}
.detail-faq{
    display:grid;
    gap:10px;
}
.detail-faq details{
    border:1px solid #e1eaf0;
    border-radius:14px;
    background:#fff;
    padding:0 16px;
}
.detail-faq summary{
    cursor:pointer;
    list-style:none;
    padding:16px 34px 16px 0;
    color:var(--navy);
    font-weight:750;
    position:relative;
}
.detail-faq summary::-webkit-details-marker{
    display:none;
}
.detail-faq summary:after{
    content:'+';
    position:absolute;
    right:0;
    top:12px;
    font-size:1.4rem;
    color:var(--amber);
}
.detail-faq details[open] summary:after{
    content:'–';
}
.detail-faq p{
    margin:-3px 0 16px;
    color:#617581;
    line-height:1.6;
}

@media(max-width:960px){
    .gallery-premium .gallery-side{
        grid-row:auto;
        grid-template-rows:none;
        height:auto;
    }
    .booking-explainer{
        grid-template-columns:1fr;
    }
}

@media(max-width:640px){
    .gallery-more-mobile{
        display:inline-flex;
        right:12px;
        bottom:12px;
    }
    .image-dialog{
        width:calc(100% - 20px);
        max-height:92vh;
        border-radius:18px;
    }
    .image-dialog-head{
        padding:16px;
    }
    .image-dialog-grid{
        grid-template-columns:1fr;
        padding:12px;
        gap:10px;
    }
    .image-dialog-grid figure:first-child{
        grid-column:auto;
    }
    .image-dialog-grid img{
        max-height:none;
    }
    .use-case-grid{
        grid-template-columns:1fr;
    }
    .use-case-grid span{
        padding:13px 14px;
    }
}


/* Build 018 – clean 2×2 "Godt at vide" grid */
.info-grid-clean{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:1fr;
    gap:14px;
}
.info-grid-clean .info-card{
    width:100%;
    min-width:0;
    min-height:112px;
    display:flex;
    align-items:center;
    gap:15px;
    padding:18px 20px;
    background:#f8fbfd;
    border:1px solid #e2ebf0;
    border-radius:16px;
}
.info-grid-clean .info-card > .info-card-copy{
    min-width:0;
    padding:0;
    background:transparent;
}
.info-grid-clean .info-card-icon{
    width:44px;
    height:44px;
    flex:0 0 44px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#fff3da;
    color:var(--amber);
}
.info-grid-clean .info-card-icon svg{
    width:23px;
    height:23px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.info-grid-clean .info-card strong{
    display:block;
    margin:0 0 5px;
    color:var(--navy);
    font-size:.98rem;
    line-height:1.3;
}
.info-grid-clean .info-card span:not(.info-card-icon){
    display:block;
    margin:0;
    color:#667985;
    font-size:.89rem;
    line-height:1.45;
}

@media(max-width:640px){
    .info-grid-clean{
        grid-template-columns:1fr;
        grid-auto-rows:auto;
        gap:10px;
    }
    .info-grid-clean .info-card{
        min-height:88px;
        padding:14px 15px;
        gap:12px;
    }
    .info-grid-clean .info-card-icon{
        width:38px;
        height:38px;
        flex-basis:38px;
        border-radius:11px;
    }
    .info-grid-clean .info-card-icon svg{
        width:20px;
        height:20px;
    }
}


/* Build 019 – sales copy + FAQ polish */
.seo-content-block .seo-lead{
    margin:0 0 12px;
    color:#314f63;
    font-size:1.08rem;
    font-weight:650;
    line-height:1.65;
}
.seo-content-block p{
    margin-top:0;
    margin-bottom:14px;
}
.booking-explainer>div{
    min-height:172px;
}
.detail-faq details{
    transition:border-color .18s ease, box-shadow .18s ease;
}
.detail-faq details[open]{
    border-color:#d5e2ea;
    box-shadow:0 8px 22px rgba(15,45,70,.05);
}
.map-placeholder p{
    max-width:560px;
}

@media(max-width:640px){
    .seo-content-block .seo-lead{
        font-size:1rem;
    }
    .booking-explainer>div{
        min-height:0;
    }
}

/* ANYROOM BUILD 020 START
   Booking form + booking detail UX polish */

/* A long authenticated booking form must scroll normally with the page.
   The short guest/owner card can remain sticky. */
.booking-card-premium:has(form){
    position:static !important;
    top:auto !important;
    align-self:start;
}

/* Make the authenticated booking form slightly more compact. */
.booking-card-premium:has(form) > form{
    padding-top:24px;
    padding-bottom:24px;
}
.booking-card-premium:has(form) label{
    margin-bottom:11px;
}
.booking-card-premium:has(form) .booking-price-premium{
    margin-bottom:17px;
    padding-bottom:14px;
}
.booking-card-premium:has(form) .price-row{
    padding:9px 0;
}
.booking-card-premium:has(form) .price-total{
    padding-top:13px;
}
.booking-card-premium:has(form) .booking-submit{
    margin-top:14px;
}

/* Booking request progress */
.booking-progress{
    margin:30px 0 34px;
    padding:22px 24px;
    border:1px solid #dfe9ef;
    border-radius:18px;
    background:#f8fbfd;
}
.booking-progress-title{
    margin:0 0 17px;
    color:#0F2D46;
    font-size:1rem;
    font-weight:800;
}
.booking-progress-steps{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
}
.booking-progress-step{
    position:relative;
    min-width:0;
    padding:12px 12px 12px 39px;
    border-radius:12px;
    color:#71828d;
    font-size:.83rem;
    font-weight:700;
    line-height:1.35;
}
.booking-progress-step::before{
    content:"";
    position:absolute;
    left:11px;
    top:50%;
    width:18px;
    height:18px;
    border:2px solid #c9d6de;
    border-radius:50%;
    transform:translateY(-50%);
    background:#fff;
}
.booking-progress-step.is-done{
    color:#416273;
    background:#eef7f2;
}
.booking-progress-step.is-done::before{
    content:"✓";
    display:grid;
    place-items:center;
    border-color:#8bc5a5;
    background:#e3f5ea;
    color:#0b985d;
    font-size:.68rem;
}
.booking-progress-step.is-current{
    color:#0F2D46;
    background:#fff2d7;
}
.booking-progress-step.is-current::before{
    border-color:#F5A623;
    background:#F5A623;
    box-shadow:inset 0 0 0 4px #fff;
}

.booking-message-notice{
    margin:12px 0 20px;
    padding:13px 15px;
    border:1px solid #e1eaf0;
    border-radius:13px;
    background:#f8fbfd;
    color:#627681;
    font-size:.9rem;
    line-height:1.55;
}
.booking-message-notice strong{
    color:#0F2D46;
}

.booking-duration{
    white-space:nowrap;
}

@media(max-width:960px){
    .booking-progress-steps{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:640px){
    .booking-card-premium:has(form){
        width:100%;
    }
    .booking-progress{
        margin:24px 0 28px;
        padding:17px;
    }
    .booking-progress-steps{
        grid-template-columns:1fr;
        gap:7px;
    }
    .booking-progress-step{
        padding-top:10px;
        padding-bottom:10px;
    }
}
/* ANYROOM BUILD 020 END */

/* ANYROOM BUILD 023 START */
.dashboard-cards .dash-card-host{
    position:relative;
    overflow:hidden;
}
.dashboard-cards .dash-card-host::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    right:0;
    height:4px;
    background:var(--amber);
}
.booking-summary-card{
    grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
}
.host-booking-row.is-pending{
    border-color:#f0d39a;
    box-shadow:0 8px 24px rgba(15,45,70,.05);
    background:#fffdfa;
}
.host-booking-row.is-resolved{
    background:#fafcfd;
    opacity:.68;
}
.host-booking-row.is-resolved:hover{
    opacity:.88;
}
.host-decision-card{
    margin:0 0 30px;
    padding:22px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
}
.host-decision-card.status-requested{
    border-color:#efd59f;
    background:#fffdfa;
}
.host-decision-card.status-approved{
    border-color:#cfe7da;
    background:#f8fcfa;
}
.host-decision-card.status-rejected{
    border-color:#ecd2d2;
    background:#fffafa;
}
.host-decision-copy h2{
    margin:7px 0 8px;
    color:var(--navy);
    font-size:1.35rem;
}
.host-decision-copy p{
    max-width:760px;
    margin:0;
    color:var(--muted);
    line-height:1.6;
}
.host-status-flow{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin-top:19px;
}
.host-status-flow span{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
    padding:11px 12px;
    border-radius:12px;
    background:#f5f8fa;
    color:#7b8b95;
    font-size:.8rem;
}
.host-status-flow .is-done{
    background:#eaf6ef;
    color:#36755a;
}
.host-status-flow .is-current{
    background:#fff0cf;
    color:#76500b;
}
.host-decision-actions{
    display:flex;
    align-items:center;
    gap:10px;
    margin-top:19px;
}
.host-decision-actions form{
    margin:0;
}
.booking-message-notice{
    margin:12px 0 20px;
    padding:13px 15px;
    border:1px solid #e1eaf0;
    border-radius:13px;
    background:#f8fbfd;
    color:#627681;
    font-size:.9rem;
    line-height:1.55;
}
.booking-message-notice strong{
    color:var(--navy);
}
@media(max-width:720px){
    .host-status-flow{
        grid-template-columns:1fr;
    }
    .host-decision-actions{
        align-items:stretch;
        flex-direction:column;
    }
    .host-decision-actions form,
    .host-decision-actions .btn{
        width:100%;
    }
}
/* ANYROOM BUILD 023 END */

/* ANYROOM BUILD 024 START */

/* Header unread badge */
.nav-messages-link{
    display:inline-flex !important;
    align-items:center;
    gap:7px;
}
.nav-unread-badge{
    min-width:21px;
    height:21px;
    padding:0 6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--amber);
    color:var(--navy);
    font-size:.72rem;
    font-weight:900;
    line-height:1;
    box-shadow:0 4px 12px rgba(15,45,70,.10);
}

/* Dashboard unread state */
.dashboard-shortcuts a.has-unread{
    border-color:#efc86f;
    background:#fffaf0;
    box-shadow:0 8px 22px rgba(15,45,70,.06);
}
.dashboard-shortcuts a.has-unread strong{
    display:flex;
    align-items:center;
    gap:8px;
}
.dashboard-unread-badge{
    min-width:22px;
    height:22px;
    padding:0 7px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:var(--amber);
    color:var(--navy);
    font-size:.74rem;
    font-weight:900;
}

/* Message overview unread state */
.message-thread-row.has-unread{
    border-color:#efc86f;
    background:#fffaf0;
    box-shadow:0 8px 22px rgba(15,45,70,.05);
}
.message-thread-row.has-unread strong{
    color:var(--navy);
}
.message-thread-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
}
.message-thread-unread{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:27px;
    padding:0 10px;
    border-radius:999px;
    background:var(--amber);
    color:var(--navy);
    font-size:.76rem;
    font-weight:900;
}

@media(max-width:760px){
    .nav-unread-badge{
        min-width:20px;
        height:20px;
        font-size:.69rem;
    }
    .message-thread-actions{
        margin-top:8px;
        justify-content:flex-start;
    }
}
/* ANYROOM BUILD 024 END */

/* ANYROOM BUILD 025 START */
.mock-payment-panel{
    margin:16px 0;
    padding:16px;
    border:1px solid #dfe8ee;
    border-radius:16px;
    background:#f8fbfd;
}
.mock-payment-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:13px;
}
.mock-payment-head > div{
    display:grid;
    gap:4px;
}
.mock-payment-head .eyebrow{
    margin:0;
}
.mock-payment-badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 10px;
    border-radius:999px;
    background:#fff0cf;
    color:#75510e;
    font-size:.72rem;
    font-weight:800;
    white-space:nowrap;
}
.mock-card-preview{
    display:grid;
    gap:4px;
    margin-bottom:13px;
    padding:14px;
    border:1px solid #d7e2e9;
    border-radius:13px;
    background:#fff;
}
.mock-card-preview .mock-card-brand{
    color:#0F2D46;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.08em;
}
.mock-card-preview strong{
    color:#0F2D46;
    font-size:1rem;
    letter-spacing:.05em;
}
.mock-card-preview small,
.mock-payment-help,
.rejection-note-help{
    color:#697d89;
    font-size:.78rem;
    line-height:1.45;
}
.mock-payment-consent{
    display:flex !important;
    align-items:flex-start;
    gap:10px;
    margin:0 0 9px !important;
    color:#324e60;
    font-size:.82rem;
    line-height:1.45;
}
.mock-payment-consent input{
    flex:0 0 auto;
    width:18px;
    height:18px;
    margin-top:2px;
}
.mock-payment-help{
    margin:0;
}

.booking-rejected-card{
    margin:0 0 30px;
    padding:22px;
    border:1px solid #efcccc;
    border-radius:18px;
    background:#fff8f8;
}
.booking-rejected-card h2{
    margin:7px 0 8px;
    color:#0F2D46;
    font-size:1.4rem;
}
.booking-rejected-card p{
    max-width:760px;
    margin:0 0 15px;
    color:#627681;
    line-height:1.6;
}
.booking-rejection-reason{
    display:grid;
    gap:3px;
    margin:0 0 17px;
    padding:12px 14px;
    border-radius:12px;
    background:#fff;
    border:1px solid #eedddd;
}
.booking-rejection-reason span{
    color:#8a6b6b;
    font-size:.75rem;
    font-weight:700;
}
.booking-rejection-reason strong{
    color:#0F2D46;
}

.rejection-panel{
    position:relative;
}
.rejection-panel > summary{
    list-style:none;
    cursor:pointer;
}
.rejection-panel > summary::-webkit-details-marker{
    display:none;
}
.rejection-panel[open]{
    width:min(520px,100%);
    margin-top:0;
    padding:0;
}
.rejection-panel[open] > summary{
    margin-bottom:12px;
}
.rejection-panel form{
    display:grid;
    gap:13px;
    padding:17px;
    border:1px solid #ecd1d1;
    border-radius:14px;
    background:#fffafa;
}
.rejection-panel label{
    display:grid;
    gap:7px;
    color:#0F2D46;
    font-size:.82rem;
    font-weight:800;
}
.rejection-panel label small{
    color:#7b8b95;
    font-weight:500;
}
.rejection-panel select,
.rejection-panel textarea{
    width:100%;
    border:1px solid #d6e1e7;
    border-radius:10px;
    background:#fff;
    color:#0F2D46;
    padding:11px 12px;
    font:inherit;
    font-weight:500;
}
.rejection-note-help{
    margin:-3px 0 0;
}

.booking-progress.is-rejected .booking-progress-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.booking-progress-step.is-rejected-step{
    color:#8f3f3f;
    background:#fff0f0;
}
.booking-progress-step.is-rejected-step::before{
    content:"×";
    display:grid;
    place-items:center;
    border-color:#da8787;
    background:#fff;
    color:#a34242;
    box-shadow:none;
    font-size:.9rem;
    font-weight:900;
}

@media(max-width:720px){
    .mock-payment-head{
        align-items:flex-start;
        flex-direction:column;
    }
    .rejection-panel,
    .rejection-panel[open]{
        width:100%;
    }
    .booking-progress.is-rejected .booking-progress-steps{
        grid-template-columns:1fr;
    }
}
/* ANYROOM BUILD 025 END */

/* ANYROOM BUILD 026 START */
.mock-payment-consent{
    align-items:center !important;
}
.mock-payment-consent input{
    margin-top:0 !important;
}

.host-status-flow .is-rejected{
    background:#fff0f0;
    color:#934545;
}
.host-decision-actions.is-rejecting > form{
    display:none;
}
.rejection-panel[open] > summary{
    display:none;
}
.rejection-form-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.host-rejection-note{
    display:grid;
    gap:4px;
    margin-top:12px;
    padding:12px 14px;
    border:1px solid #eadede;
    border-radius:12px;
    background:#fff;
}
.host-rejection-note strong{
    color:var(--navy);
}
.host-rejection-note span,
.host-rejection-note small{
    color:var(--muted);
}

.booking-rejection-message{
    display:grid;
    gap:6px;
    margin:0 0 17px;
    padding:14px;
    border:1px solid #eedddd;
    border-radius:12px;
    background:#fff;
}
.booking-rejection-message > span{
    color:#8a6b6b;
    font-size:.75rem;
    font-weight:800;
}
.booking-rejection-message p{
    margin:0;
    color:var(--navy);
    font-weight:600;
    line-height:1.55;
}

.booking-update-stack{
    display:grid;
    gap:10px;
    margin:0 0 18px;
}
.booking-update-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px 18px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,45,70,.05);
}
.booking-update-banner > div{
    display:grid;
    gap:4px;
}
.booking-update-banner .eyebrow{
    margin:0;
}
.booking-update-banner strong{
    color:var(--navy);
    font-size:1rem;
}
.booking-update-banner small{
    color:var(--muted);
}
.booking-update-banner > span{
    flex:0 0 auto;
    color:var(--navy);
    font-weight:800;
}
.booking-update-banner.is-approved{
    border-color:#bfe3cf;
    background:#f6fcf8;
}
.booking-update-banner.is-rejected{
    border-color:#efcccc;
    background:#fff8f8;
}

@media(max-width:720px){
    .rejection-form-actions{
        align-items:stretch;
        flex-direction:column;
    }
    .rejection-form-actions .btn{
        width:100%;
    }
    .booking-update-banner{
        align-items:flex-start;
        flex-direction:column;
    }
}
/* ANYROOM BUILD 026 END */


/* ANYROOM BUILD 027 START
   Hotfix: betalings-checkbox skal stå til venstre for acceptteksten */
.mock-payment-consent{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:10px !important;
}
.mock-payment-consent input[type="checkbox"]{
    display:block !important;
    flex:0 0 18px !important;
    width:18px !important;
    height:18px !important;
    margin:2px 0 0 0 !important;
    align-self:flex-start !important;
}
.mock-payment-consent > span{
    display:block !important;
    flex:1 1 auto !important;
    min-width:0;
}
/* ANYROOM BUILD 027 END */


/* ANYROOM BUILD 028 START – udlejerflow */
.field-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.75rem;font-weight:650;color:var(--muted)}
.field-error{display:block;color:#a23f3f;font-size:.78rem;font-weight:750;margin:8px 0 0}
.field-hint{display:block;color:var(--muted);font-size:.74rem;font-weight:550;margin-top:2px}
.feature-check-grid span{position:relative}
.feature-check-grid span i{display:none;font-style:normal;margin-right:6px;color:var(--green)}
.feature-check-grid input:checked+span i{display:inline}
.availability-time-grid{max-width:560px}
.availability-time-grid select{appearance:auto}
.image-preview-item{position:relative}
.image-preview-meta{padding:8px 9px 9px;display:grid;gap:7px}
.image-preview-meta>strong{font-size:.72rem;color:var(--navy)}
.image-preview-actions{display:flex;gap:5px;flex-wrap:wrap}
.image-preview-actions button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:8px;min-width:30px;height:30px;padding:0 8px;font-weight:850;cursor:pointer}
.image-preview-actions button:hover:not(:disabled){border-color:#efb148;background:#fff8eb}
.image-preview-actions button:disabled{opacity:.28;cursor:not-allowed}
.listing-review{margin-top:26px;border:1px solid var(--line);border-radius:18px;background:var(--soft);padding:22px}
.listing-review-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}
.listing-review-head h3{margin:4px 0 0;color:var(--navy);font-size:1.25rem}
.listing-review-head small{color:var(--muted)}
.listing-review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.listing-review-grid>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:grid;gap:3px}
.listing-review-grid span{color:var(--muted);font-size:.72rem}
.listing-review-grid strong{color:var(--navy);font-size:.86rem;line-height:1.35}
.listing-review-grid .span-2{grid-column:1/3}
.host-success-note{color:var(--muted);margin-top:-6px;margin-bottom:20px}
@media(max-width:640px){
    .field-meta,.listing-review-head{align-items:flex-start;flex-direction:column}
    .listing-review-grid{grid-template-columns:1fr}
    .listing-review-grid .span-2{grid-column:auto}
    .image-preview-actions button{min-width:34px}
}
/* ANYROOM BUILD 028 END */


/* ANYROOM BUILD 029 START – admin lokalegennemgang + wizard polish */
.field-error[hidden]{display:none !important}
.listing-review-description{white-space:pre-line;font-weight:650 !important;line-height:1.55 !important}
.admin-space-link{display:grid;gap:3px;color:inherit;text-decoration:none}
.admin-space-link:hover strong{text-decoration:underline;text-underline-offset:3px}
.admin-open-space{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.admin-detail-title{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:8px}
.admin-detail-title h1{margin:.35rem 0 .2rem}
.admin-detail-title p{margin:0;color:#d7e2eb}
.admin-back-link{color:#d7e2eb}
.admin-space-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}
.admin-space-main{display:grid;gap:22px}
.admin-space-side{display:grid;gap:22px;position:sticky;top:110px}
.admin-review-card{border:1px solid var(--line);border-radius:20px;background:#fff;padding:24px;box-shadow:0 10px 30px rgba(15,45,70,.04)}
.admin-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.admin-card-head h2,.admin-review-card h2{margin:4px 0 0;color:var(--navy);font-size:1.35rem}
.admin-card-head>strong{color:var(--muted);font-size:.84rem}
.admin-space-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.admin-space-gallery figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--soft);position:relative;min-height:150px}
.admin-space-gallery figure.is-primary{grid-column:span 2;grid-row:span 2;min-height:330px}
.admin-space-gallery img{width:100%;height:100%;display:block;object-fit:cover;position:absolute;inset:0}
.admin-space-gallery figcaption{position:absolute;left:10px;bottom:10px;padding:6px 9px;border-radius:999px;background:rgba(15,45,70,.88);color:#fff;font-size:.72rem;font-weight:800}
.admin-space-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-space-facts>div{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:12px 14px;display:grid;gap:4px}
.admin-space-facts span,.admin-space-description>span,.admin-owner-meta span,.admin-existing-reason span{font-size:.72rem;color:var(--muted)}
.admin-space-facts strong{color:var(--navy);line-height:1.4}
.admin-space-description{margin-top:14px;border-top:1px solid var(--line);padding-top:15px}
.admin-space-description p{margin:5px 0 0;color:var(--navy);line-height:1.65;white-space:pre-line}
.admin-feature-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.admin-feature-list span{padding:7px 10px;border-radius:999px;background:#f0faf4;color:#177b4b;font-size:.78rem;font-weight:750}
.admin-owner-card p{color:var(--muted);word-break:break-word}
.admin-owner-meta{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:16px}
.admin-decision-card{display:grid;gap:14px}
.admin-decision-form{display:grid}
.admin-decision-form .btn,.admin-reject-form .btn{width:100%}
.admin-reject-details>summary{list-style:none;cursor:pointer;text-align:center}
.admin-reject-details>summary::-webkit-details-marker{display:none}
.admin-reject-form{display:grid;gap:10px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line)}
.admin-reject-form label{display:grid;gap:7px;color:var(--navy);font-weight:750}
.admin-reject-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;resize:vertical;font:inherit;color:var(--navy)}
.admin-existing-reason{padding:12px;border-radius:12px;background:#fff4f4;border:1px solid #f0cccc}
.admin-existing-reason p{margin:4px 0 0;color:#8f3f3f;line-height:1.55}
.admin-public-link{margin-top:2px}
.form-alert.is-error{border-color:#efcccc;background:#fff7f7;color:#923f3f}
.owner-space-status{display:grid;justify-items:end;gap:7px;max-width:420px}
.owner-space-review-reason{color:#8f3f3f;line-height:1.4;text-align:right}
.btn-success{background:#178d55;color:#fff;border-color:#178d55}
.btn-danger{background:#a44242;color:#fff;border-color:#a44242}
.btn-outline-danger{background:#fff;color:#a44242;border-color:#e7bcbc}
@media(max-width:980px){
  .admin-space-layout{grid-template-columns:1fr}
  .admin-space-side{position:static}
}
@media(max-width:680px){
  .admin-detail-title,.admin-card-head{align-items:flex-start;flex-direction:column}
  .admin-space-gallery{grid-template-columns:1fr 1fr}
  .admin-space-gallery figure.is-primary{grid-column:1/-1;grid-row:auto;min-height:260px}
  .admin-space-facts{grid-template-columns:1fr}
  .owner-space-status{justify-items:start;max-width:none}
  .owner-space-review-reason{text-align:left}
}
/* ANYROOM BUILD 029 END */

/* ANYROOM BUILD 030 START – ejeradministration, redigering og genindsendelse */
.owner-space-row-link{
    color:inherit;
    text-decoration:none;
    transition:background .18s ease,border-color .18s ease;
}
.owner-space-row-link:hover{
    background:#fbfdff;
}
.owner-space-row-link:hover .owner-space-info strong{
    text-decoration:underline;
    text-underline-offset:3px;
}
.owner-space-action{
    color:var(--navy);
    font-weight:800;
}
.space-update-stack{
    display:grid;
    gap:10px;
    margin:0 0 18px;
}
.space-update-banner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:16px 18px;
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,45,70,.05);
    color:inherit;
    text-decoration:none;
}
.space-update-banner>div{display:grid;gap:4px}
.space-update-banner .eyebrow{margin:0}
.space-update-banner strong{color:var(--navy);font-size:1rem}
.space-update-banner small{color:var(--muted)}
.space-update-banner>span{flex:0 0 auto;color:var(--navy);font-weight:800}
.space-update-banner.is-approved{border-color:#bfe3cf;background:#f6fcf8}
.space-update-banner.is-rejected{border-color:#efcccc;background:#fff8f8}

.owner-manage-layout{
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    gap:24px;
    align-items:start;
}
.owner-manage-main{display:grid;gap:20px}
.owner-manage-side{display:grid;gap:20px}
.owner-manage-card,
.owner-review-panel{
    border:1px solid var(--line);
    border-radius:20px;
    background:#fff;
    padding:24px;
    box-shadow:0 10px 30px rgba(15,45,70,.04);
}
.owner-review-panel{display:grid;gap:12px}
.owner-review-panel h2{margin:0;color:var(--navy);font-size:1.45rem}
.owner-review-panel p{margin:0;color:var(--muted);line-height:1.6}
.owner-review-panel.is-rejected{border-color:#efcccc;background:#fff8f8}
.owner-review-panel.is-pending{border-color:#f1d59d;background:#fffaf0}
.owner-review-panel.is-approved{border-color:#bfe3cf;background:#f7fcf9}
.owner-manage-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:2px}
.owner-manage-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.owner-manage-facts>div{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.owner-manage-facts span{color:var(--muted);font-size:.74rem}
.owner-manage-facts strong{color:var(--navy)}
.owner-manage-card h3{margin:4px 0 8px;color:var(--navy)}
.owner-manage-card p{color:var(--muted);line-height:1.55}
.compact-heading{margin-bottom:16px}

.host-edit-reason{
    display:grid;
    gap:6px;
    margin:0 0 20px;
    padding:18px 20px;
    border:1px solid #efcccc;
    border-radius:16px;
    background:#fff8f8;
}
.host-edit-reason strong{color:#8f3f3f;font-size:1.05rem}
.host-edit-reason p{margin:0;color:#8f3f3f;line-height:1.55}

.admin-revision-notice{
    display:grid;
    grid-template-columns:1fr auto;
    gap:4px 16px;
    margin-bottom:20px;
    padding:15px 18px;
    border:1px solid #f1d59d;
    border-radius:14px;
    background:#fffaf0;
}
.admin-revision-notice strong{color:var(--navy)}
.admin-revision-notice span{color:var(--muted);grid-column:1/2}
.admin-revision-notice a{grid-column:2;grid-row:1/3;align-self:center;color:var(--navy);font-weight:800;text-decoration:none}

@media(max-width:900px){
    .owner-manage-layout{grid-template-columns:1fr}
}
@media(max-width:680px){
    .space-update-banner{align-items:flex-start;flex-direction:column}
    .owner-manage-facts{grid-template-columns:1fr}
    .owner-manage-actions{flex-direction:column}
    .owner-manage-actions .btn{width:100%}
    .admin-revision-notice{grid-template-columns:1fr}
    .admin-revision-notice a{grid-column:1;grid-row:auto}
}
/* ANYROOM BUILD 030 END */


/* ANYROOM BUILD 031 START */
.submit-review-copy{flex:1;min-width:0}
.submit-review>.js-wizard-prev-inline{flex:0 0 auto}
.host-edit-reason .eyebrow{margin-bottom:1px}
.host-edit-reason strong{color:var(--navy)}
@media(max-width:680px){
    .submit-review>.js-wizard-prev-inline{order:2}
    .submit-review-copy{order:1}
    .submit-review>button[type="submit"]{order:3}
}
/* ANYROOM BUILD 031 END */


/* ANYROOM BUILD 032 START */
.admin-list-line-link{color:inherit;text-decoration:none;cursor:pointer;border-radius:10px;padding-left:8px;padding-right:8px;margin-left:-8px;margin-right:-8px;transition:background .15s ease,transform .15s ease}
.admin-list-line-link:hover{background:#f7fafc}
.admin-list-line-link:hover strong{text-decoration:underline;text-underline-offset:3px}
.admin-detail-title{display:block;max-width:100%}
.admin-detail-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:2px}
.admin-detail-meta p{margin:0;color:#d7e2eb}
.admin-detail-meta .listing-status{display:inline-flex;align-items:center;width:auto;flex:0 0 auto}
@media(max-width:680px){
    .admin-detail-meta{align-items:flex-start;flex-direction:column;gap:8px}
}
/* ANYROOM BUILD 032 END */

/* ANYROOM BUILD 033 START */
.booking-date-range{position:relative;display:grid;gap:8px}
.booking-multiday-hint{display:block;margin-top:-3px;margin-bottom:2px}
.booking-field-label{font-weight:800;color:var(--navy);font-size:.9rem}
.booking-date-range-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid #d8e2ea;border-radius:12px;background:#fff;color:var(--navy);font:inherit;font-weight:750;text-align:left;cursor:pointer}
.booking-date-range-trigger:hover,.booking-date-range-trigger[aria-expanded="true"]{border-color:#f5a623;box-shadow:0 0 0 3px rgba(245,166,35,.10)}
.booking-date-range-icon{color:var(--muted);font-size:.85rem}
.booking-calendar{position:absolute;z-index:50;top:76px;left:0;right:0;padding:14px;border:1px solid #d7e1e8;border-radius:16px;background:#fff;box-shadow:0 18px 46px rgba(15,45,70,.18)}
.booking-calendar-head{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin-bottom:10px}
.booking-calendar-head strong{text-align:center;text-transform:capitalize;color:var(--navy)}
.booking-calendar-nav{width:36px;height:36px;border:1px solid #d7e1e8;border-radius:10px;background:#fff;color:var(--navy);font-size:1rem;font-weight:800;cursor:pointer}
.booking-calendar-nav:hover{border-color:#f5a623;background:#fffaf0}
.booking-calendar-weekdays,.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.booking-calendar-weekdays{margin-bottom:5px}
.booking-calendar-weekdays span{text-align:center;color:var(--muted);font-size:.68rem;font-weight:800}
.booking-calendar-blank{display:block;min-height:34px}
.booking-calendar-day{min-width:0;height:36px;border:1px solid transparent;border-radius:9px;background:#fff;color:var(--navy);font-weight:750;cursor:pointer}
.booking-calendar-day:hover:not(:disabled){border-color:#f5a623;background:#fff8eb}
.booking-calendar-day.is-in-range{background:#fff3d9;border-color:#f7c86d}
.booking-calendar-day.is-range-start,.booking-calendar-day.is-range-end{background:#f5a623;border-color:#f5a623;color:#0f2d46}
.booking-calendar-day.is-unavailable{background:#fff3f3;border-color:#f1d2d2;color:#a35a5a;cursor:not-allowed;text-decoration:line-through;opacity:.78}
.booking-calendar-day.is-past{background:#f6f8fa;color:#a7b2bc;cursor:not-allowed;opacity:.72}
.booking-calendar-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #e3e9ee}
.booking-calendar-footer>div:first-child{display:grid;gap:3px}
.booking-calendar-footer strong{color:var(--navy);font-size:.78rem}
.booking-calendar-footer small{color:var(--muted);font-size:.68rem}
.booking-calendar-footer-actions{display:flex;gap:7px;flex:0 0 auto}
.booking-calendar-reset,.booking-calendar-done{border:0;border-radius:9px;padding:8px 10px;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}
.booking-calendar-reset{background:#f3f6f8;color:var(--navy)}
.booking-calendar-done{background:var(--navy);color:#fff}
@media(max-width:680px){
    .booking-calendar{position:fixed;left:12px;right:12px;top:auto;bottom:12px;max-height:72vh;overflow:auto}
    .booking-calendar-day{height:40px}
    .booking-calendar-footer{align-items:flex-start;flex-direction:column}
    .booking-calendar-footer-actions{width:100%}
    .booking-calendar-reset,.booking-calendar-done{flex:1}
}
/* ANYROOM BUILD 033 END */

/* ANYROOM BUILD 034 START
   Clear single-day / multi-day booking flow. */
.booking-date-mode{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    padding:4px;
    border:1px solid #d8e2ea;
    border-radius:13px;
    background:#f5f8fa;
}
.booking-date-mode-button{
    min-height:40px;
    border:0;
    border-radius:9px;
    background:transparent;
    color:var(--muted);
    font:inherit;
    font-weight:800;
    cursor:pointer;
}
.booking-date-mode-button:hover{color:var(--navy);background:#fff}
.booking-date-mode-button.is-active{
    background:#fff;
    color:var(--navy);
    box-shadow:0 1px 4px rgba(15,45,70,.12);
}
.booking-date-single,.booking-date-multi{display:grid;gap:6px}
.booking-date-sub-label{font-size:.76rem;font-weight:800;color:var(--navy)}
.booking-date-pair{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:7px;align-items:end}
.booking-date-pair>div{display:grid;gap:6px;min-width:0}
.booking-date-pair-arrow{display:flex;align-items:center;justify-content:center;height:45px;color:var(--muted);font-weight:900}
.booking-date-multi .booking-date-range-trigger{padding-left:11px;padding-right:11px;font-size:.83rem}
.booking-date-range-trigger.is-active-step{
    border-color:#f5a623;
    box-shadow:0 0 0 3px rgba(245,166,35,.10);
}
.booking-range-summary{
    border-radius:10px;
    padding:9px 11px;
    background:#fff8e9;
    border:1px solid #f7d796;
    color:#6e510e;
    font-size:.75rem;
    font-weight:800;
}
.booking-range-summary.is-complete{background:#f4fbf7;border-color:#c8e6d4;color:#276347}
.booking-calendar{
    top:100%;
    margin-top:8px;
}
.booking-calendar-guide{
    margin:-2px -2px 12px;
    padding:9px 10px;
    border-radius:10px;
    background:#fff8e9;
    color:#6e510e;
    font-size:.76rem;
    font-weight:850;
    text-align:center;
}
.booking-calendar-day.is-preview-range{background:#fff7e8;border-color:#f7c86d}
.booking-calendar-day.is-before-start{
    background:#f6f8fa;
    color:#a7b2bc;
    cursor:not-allowed;
    opacity:.72;
}
.booking-calendar-day.is-range-blocked{
    background:#fff3f3;
    border-color:#f1d2d2;
    color:#a35a5a;
    cursor:not-allowed;
    opacity:.78;
}
.booking-multiday-hint[hidden]{display:none}
@media(max-width:680px){
    .booking-date-pair{grid-template-columns:1fr}
    .booking-date-pair-arrow{height:auto;transform:rotate(90deg)}
    .booking-calendar{top:auto;margin-top:0}
}
/* ANYROOM BUILD 034 END */

/* ANYROOM BUILD 035 START
   Fix: only show the date controls for the active booking mode. */
.booking-date-single[hidden],
.booking-date-multi[hidden],
.booking-range-summary[hidden],
.booking-calendar[hidden]{
    display:none !important;
}
/* ANYROOM BUILD 035 END */

/* ANYROOM BUILD 036 START
   Optional multi-day 24/7 booking, clear landlord settings and renter access mode. */
.booking-price-premium small{
    display:block;
    margin-top:8px;
    color:var(--muted);
    font-size:.78rem;
    font-weight:700;
}
.booking-access-choice{
    display:grid;
    gap:8px;
    margin:12px 0 4px;
}
.booking-access-choice[hidden],
.booking-full-day-note[hidden],
.overnight-price[hidden]{display:none !important}
.booking-access-options{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
.booking-access-options label{
    position:relative;
    cursor:pointer;
}
.booking-access-options input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.booking-access-options span{
    display:grid;
    gap:3px;
    min-height:82px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    transition:.18s ease;
}
.booking-access-options strong{font-size:.82rem;color:var(--navy)}
.booking-access-options small{font-size:.72rem;line-height:1.35;color:var(--muted)}
.booking-access-options input:checked + span{
    border-color:#f5a623;
    background:#fff8e9;
    box-shadow:0 0 0 2px rgba(245,166,35,.08);
}
.booking-access-options input:focus-visible + span{
    outline:2px solid #0f2d46;
    outline-offset:2px;
}
.booking-full-day-note{
    display:grid;
    gap:3px;
    margin:8px 0 12px;
    padding:11px 12px;
    border:1px solid #c8e6d4;
    border-radius:11px;
    background:#f4fbf7;
}
.booking-full-day-note strong{font-size:.82rem;color:#1d6a47}
.booking-full-day-note span{font-size:.75rem;color:#4d6d5d;line-height:1.4}
.overnight-settings{
    margin-top:22px;
    padding-top:20px;
    border-top:1px solid var(--line);
}
.overnight-settings-head{margin-bottom:12px}
.overnight-settings-head>strong{display:block;color:var(--navy);font-size:1rem}
.overnight-settings-head>p{margin:5px 0 0;color:var(--muted);font-size:.9rem}
.overnight-toggle{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#f8fafc;
    cursor:pointer;
}
.overnight-toggle input{
    width:20px;
    height:20px;
    margin-top:2px;
    accent-color:#f5a623;
    flex:0 0 auto;
}
.overnight-toggle>span{display:grid;gap:4px}
.overnight-toggle strong{color:var(--navy);font-size:.95rem}
.overnight-toggle small{color:var(--muted);line-height:1.45;font-size:.82rem}
.overnight-price{
    margin-top:12px;
    padding:14px;
    border:1px solid #f4d28e;
    border-radius:12px;
    background:#fffaf0;
}
.overnight-price>label{display:block;max-width:360px}
.overnight-price .field-hint{display:block;margin-top:8px}
@media(max-width:680px){
    .booking-access-options{grid-template-columns:1fr}
}
/* ANYROOM BUILD 036 END */

/* ANYROOM BUILD 037 START */
/* Flerdagsbooking: ugyldige startdatoer markeres tydeligt og kan ikke vælges. */
.booking-calendar-day.is-range-start-blocked{
    background:#fff3f3;
    border-color:#f1d2d2;
    color:#a35a5a;
    cursor:not-allowed;
    text-decoration:line-through;
    opacity:.78;
}
/* Ved døgnadgang skal klokkeslætsfelterne forsvinde helt – ikke blot deaktiveres. */
.booking-time-grid[hidden]{display:none!important}

/* Moderne prisfelt uden browserens gammeldags number-spinner. */
.overnight-price .js-price-per-day{
    appearance:textfield;
    -moz-appearance:textfield;
}
.overnight-price .js-price-per-day::-webkit-outer-spin-button,
.overnight-price .js-price-per-day::-webkit-inner-spin-button{
    -webkit-appearance:none;
    margin:0;
}
.overnight-price .input-suffix{
    background:#fff;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.overnight-price .input-suffix:focus-within{
    border-color:#9db4c3;
    box-shadow:0 0 0 3px rgba(15,45,70,.06);
}
.overnight-price .input-suffix span{
    border-left:1px solid #edf1f4;
    min-width:54px;
    text-align:center;
}
/* ANYROOM BUILD 037 END */

/* ANYROOM BUILD 038 START
   24/7 booking: hide the complete time selector when full-day access is active.
   The generic .time-grid rule sets display:grid, so the HTML hidden attribute
   needs an explicit !important override. */
.time-grid[hidden],
.js-booking-time-grid[hidden] {
    display: none !important;
}
/* ANYROOM BUILD 038 END */


/* Build 129: pre-booking contact CTA */
.space-contact-box .btn{
    margin-top:12px;
}
.space-contact-box{
    margin-bottom:0;
}

/* ANYROOM BUILD130 ADMIN LIST UX */
.admin-list-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) minmax(210px,260px) auto auto;gap:12px;align-items:end;margin-bottom:16px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px}
.admin-list-toolbar label{display:grid;gap:7px;font-size:.78rem;font-weight:800;color:var(--navy)}
.admin-list-toolbar input,.admin-list-toolbar select{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;color:var(--navy);font:inherit}
.admin-list-toolbar input:focus,.admin-list-toolbar select:focus{outline:none;border-color:#9fb7c8;box-shadow:0 0 0 3px rgba(15,45,70,.08)}
.admin-filter-submit,.admin-filter-reset{min-height:48px;white-space:nowrap}
.admin-list-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 2px 12px;color:var(--muted);font-size:.82rem}
.admin-list-summary strong{color:var(--navy)}
.admin-row-new td{background:#f0fbf5}
.admin-row-new:hover td{background:#e9f8f0}
.admin-new-badge{display:inline-flex;align-items:center;margin-left:7px;padding:3px 7px;border-radius:999px;background:#daf4e4;color:#08783f;font-size:.62rem;font-weight:900;line-height:1;vertical-align:middle;text-transform:uppercase;letter-spacing:.04em}
.admin-empty-row{text-align:center!important;padding:34px 18px!important;color:var(--muted)!important}
.admin-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}
.admin-page-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--navy);font-weight:800;text-decoration:none}
.admin-page-link:hover{border-color:#afc2d0;background:#f8fafc}
.admin-page-link.is-disabled{opacity:.45;cursor:default}
.admin-page-status{font-size:.82rem;color:var(--muted);font-weight:700}
.admin-danger-zone{margin-top:6px;padding-top:12px;border-top:1px solid #f1d6d6}

@media(max-width:800px){
  .admin-list-toolbar{grid-template-columns:1fr}
  .admin-list-summary{align-items:flex-start;flex-direction:column;gap:4px}
  .admin-pagination{justify-content:space-between}
  .admin-page-status{font-size:.76rem;text-align:center}
}

/* ANYROOM BUILD 139 START — verified booking reviews */
.booking-review-card{
    margin:24px 0;
    padding:24px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 28px rgba(15,45,70,.05);
    scroll-margin-top:110px;
}
.booking-review-card h2{margin:5px 0 8px;color:var(--navy);font-size:1.55rem}
.booking-review-card>p{margin:0 0 18px;color:var(--muted)}
.booking-review-form{display:grid;gap:16px}
.booking-review-form fieldset{margin:0;padding:0;border:0}
.booking-review-form legend{margin:0 0 8px;color:var(--navy);font-weight:800}
.booking-review-form textarea{width:100%}
.booking-review-form>small{color:var(--muted)}
.booking-review-stars{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px;width:max-content}
.booking-review-stars input{position:absolute;opacity:0;pointer-events:none}
.booking-review-stars label{cursor:pointer;color:#d3dee6;font-size:2rem;line-height:1;transition:color .15s ease,transform .15s ease}
.booking-review-stars label:hover,
.booking-review-stars label:hover~label,
.booking-review-stars input:checked~label{color:var(--amber)}
.booking-review-stars label:hover{transform:translateY(-1px)}
.booking-review-existing{display:grid;gap:10px}
.booking-review-existing__stars{display:flex;gap:3px}
.booking-review-existing__stars span{color:#d3dee6;font-size:1.25rem}
.booking-review-existing__stars span.is-active{color:var(--amber)}
.booking-review-existing p{margin:0;color:#425d72;line-height:1.55;white-space:pre-line}
.booking-review-existing small{color:var(--muted)}
.admin-review-stars{display:flex;gap:3px;margin:12px 0 6px}
.admin-review-stars span{color:#d3dee6;font-size:1.25rem}
.admin-review-stars span.is-active{color:var(--amber)}
@media(max-width:720px){
    .booking-review-card{padding:19px}
}
/* ANYROOM BUILD 139 END */

/* ANYROOM BUILD149 ACCOUNT CONSENT */
.auth-form .auth-consent{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:2px 0 4px;
    font-size:.88rem;
    line-height:1.45;
    color:#536879;
    font-weight:500;
}
.auth-form .auth-consent input{
    width:17px;
    height:17px;
    margin:2px 0 0;
    flex:0 0 auto;
    accent-color:#0F2D46;
}
.auth-form .auth-consent a{
    color:#0F2D46;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:2px;
}
