:root{--bg:#070b0e;--panel:#0d1419;--panel2:#111b22;--line:#26323a;--text:#f8f4f1;--muted:#aeb7bd;--pink:#d85e7b;--rose:#e5a398;--gold:#c99161}*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}body{margin:0;background:radial-gradient(circle at 75% 5%,rgba(216,94,123,.12),transparent 28%),var(--bg);min-height:100vh}a{color:inherit;text-decoration:none}.topbar{height:76px;display:flex;align-items:center;gap:34px;padding:0 max(24px,calc((100vw - 1180px)/2));border-bottom:1px solid #182126;background:rgba(6,10,13,.95);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;margin-right:auto;font-weight:800;color:#ed859b;letter-spacing:.04em}.brand img{width:42px;height:42px;object-fit:contain}.brand span{font-size:20px}.brand small{display:block;font-size:8px;letter-spacing:.28em;color:var(--rose)}nav{display:flex;gap:28px;color:#ddd;font-size:14px}.nav-actions{display:flex;gap:10px;align-items:center}.nav-actions form{margin:0}.btn{border:1px solid transparent;background:linear-gradient(135deg,var(--pink),#c95070);color:white;padding:12px 20px;border-radius:9px;font-weight:700;cursor:pointer}.btn.ghost{background:transparent;border-color:#34414b}.btn.full{width:100%}.flash{max-width:1180px;margin:14px auto;padding:12px 16px;border-radius:8px}.flash.error{background:#39141c;color:#ffccd7}.flash.success{background:#113124;color:#c8f7d9}.hero{min-height:540px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;max-width:1180px;margin:auto;padding:65px 20px}.hero-copy h1{font-family:Georgia,serif;font-size:64px;line-height:.98;margin:12px 0 22px}.hero-copy h1 em{font-style:normal;color:#f08ba0}.hero-copy p{max-width:610px;color:var(--muted);font-size:18px;line-height:1.6}.eyebrow{font-size:12px;letter-spacing:.18em;color:#ef8199;font-weight:800}.search-box{display:grid;grid-template-columns:1fr 1fr auto;background:#fff;border-radius:12px;padding:5px;margin-top:28px;max-width:720px}.search-box input{border:0;padding:15px;outline:0}.hero-points{display:flex;gap:24px;margin-top:20px;color:#c7cdd1;font-size:13px}.hero-art{display:flex;justify-content:center}.hero-art img{width:min(380px,80%);filter:drop-shadow(0 18px 55px rgba(216,94,123,.15))}.container{max-width:1180px;margin:0 auto;padding:50px 20px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:linear-gradient(180deg,#10181d,#0a1014);border:1px solid var(--line);border-radius:16px;padding:24px}.card p{color:var(--muted);line-height:1.6}.auth-wrap{min-height:calc(100vh - 76px);display:grid;place-items:center;padding:40px 20px}.auth-panel{width:min(920px,100%);display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.auth-panel h1{font-family:Georgia,serif;font-size:48px;margin:10px 0}.auth-panel p{color:var(--muted);line-height:1.6}.form-card{background:#0d1419;border:1px solid var(--line);padding:30px;border-radius:18px;display:grid;gap:18px}.form-card label{display:grid;gap:8px;font-size:13px;color:#cbd2d6}.form-card input{background:#0a1014;color:white;border:1px solid #34414b;border-radius:9px;padding:14px}.form-card small{color:#87949d}.form-card .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-card .check{display:flex;align-items:flex-start;gap:9px}.form-card .check input{margin-top:2px}.dashboard h1{font-size:42px}.admin-shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{border-right:1px solid #1d282e;background:#090e11;padding:28px 18px;display:flex;flex-direction:column;gap:7px}.sidebar .brand{margin:0 0 28px}.sidebar>a:not(.brand){padding:12px 14px;border-radius:8px;color:#bac3c8}.sidebar>a.active,.sidebar>a:not(.brand):hover{background:#151e24;color:white}.admin-main{padding:34px}.admin-head{display:flex;justify-content:space-between;align-items:center}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:30px 0}.stats article{border:1px solid var(--line);background:#0d1419;border-radius:14px;padding:24px}.stats strong{font-size:32px;display:block;color:#f28aa0}.stats span{color:#aeb7bd}.error-page{min-height:100vh;display:grid;place-items:center}.error-box{text-align:center}.error-box h1{font-size:80px;color:#ef8199;margin:0}@media(max-width:850px){.topbar nav{display:none}.hero{grid-template-columns:1fr}.hero-art{display:none}.hero-copy h1{font-size:48px}.search-box{grid-template-columns:1fr}.hero-points{flex-wrap:wrap}.cards,.stats{grid-template-columns:1fr 1fr}.auth-panel{grid-template-columns:1fr;gap:20px}.admin-shell{grid-template-columns:1fr}.sidebar{display:none}}@media(max-width:560px){.cards,.stats{grid-template-columns:1fr}.topbar{padding:0 16px}.brand span{display:none}.nav-actions .ghost{display:none}.auth-panel h1{font-size:38px}.form-card .two{grid-template-columns:1fr}}

/* Stage 2 - Admin catalog */
.side-label{margin:18px 14px 5px;color:#687780;font-size:10px;font-weight:800;letter-spacing:.16em}.sidebar a em{float:right;font-style:normal;font-size:9px;color:#65727a}.admin-head h1{margin:5px 0 0;font-family:Georgia,serif;font-size:38px}.admin-head-actions{display:flex;align-items:center;gap:14px;color:#829099;font-size:12px}.admin-subnav{display:flex;gap:8px;flex-wrap:wrap;margin:26px 0 18px}.admin-subnav a{border:1px solid var(--line);background:#0d1419;padding:9px 13px;border-radius:9px;font-size:13px;color:#cdd4d8}.admin-subnav a:hover{border-color:#9f5366;color:white}.admin-grid{display:grid;grid-template-columns:minmax(360px,.85fr) minmax(560px,1.6fr);gap:18px;align-items:start}.admin-card{background:#0d1419;border:1px solid var(--line);border-radius:14px;padding:22px;min-width:0}.admin-card h2{margin:0 0 18px;font-size:20px}.section-head{display:flex;align-items:start;justify-content:space-between;margin-bottom:15px}.section-head h2{margin-bottom:4px}.section-head p,.admin-card>p{margin:0;color:#839099;font-size:13px}.admin-form{display:grid;gap:14px}.admin-form label{display:grid;gap:7px;color:#c8d0d4;font-size:12px;font-weight:650}.admin-form input,.admin-form select,.admin-form textarea{width:100%;background:#090f13;border:1px solid #2b3942;color:#f8f4f1;border-radius:8px;padding:11px 12px;outline:0;font:inherit}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:#c15b75;box-shadow:0 0 0 3px rgba(216,94,123,.08)}.admin-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-row:has(>label:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.form-row.compact{grid-template-columns:160px 1fr;align-items:end}.toggle,.toggle-row .toggle{display:flex!important;align-items:center;gap:8px!important;min-height:42px}.toggle input,.toggle-row input{width:auto}.toggle-row{display:flex;gap:22px}.form-actions{display:flex;gap:9px;margin-top:5px}.table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;font-size:13px;min-width:620px}.admin-table th{text-align:left;color:#7f8d95;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:10px;border-bottom:1px solid #26323a}.admin-table td{padding:13px 10px;border-bottom:1px solid #182329;vertical-align:middle}.admin-table td strong{display:block}.admin-table td small{display:block;color:#75838b;margin-top:3px}.status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800}.status.on{background:#133224;color:#86e5ac}.status.off{background:#2d1c20;color:#d897a7}.row-actions{white-space:nowrap;text-align:right}.row-actions>a,.row-actions button{font:inherit;color:#e88399;background:none;border:0;padding:4px 6px;cursor:pointer}.row-actions form{display:inline}.row-actions button{color:#9ba7ae}.check-grid{border:1px solid #26323a;border-radius:10px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:210px;overflow:auto}.check-grid legend{padding:0 7px;color:#aab5ba;font-size:11px}.check-grid label{display:flex;align-items:center;gap:7px;font-weight:500}.check-grid input{width:auto}.list-card{min-height:260px}@media(max-width:1050px){.admin-grid{grid-template-columns:1fr}.admin-main{padding:24px}.admin-head-actions span{display:none}}@media(max-width:650px){.form-row,.form-row:has(>label:nth-child(3)),.form-row.compact{grid-template-columns:1fr}.admin-main{padding:18px}.admin-head h1{font-size:30px}.admin-head-actions .btn{display:none}.check-grid{grid-template-columns:1fr}}


/* Stage 3 - Marketplace admin */
.wide-form{max-width:980px}.admin-card.wide-form{margin-top:20px}.admin-form input[type=file]{padding:9px;background:#0b1115}.admin-form fieldset small{color:#819099;grid-column:1/-1}.admin-form select option{background:#0b1115}.admin-table .row-actions{min-width:200px}.admin-table .row-actions a{display:inline-block}.admin-form input::file-selector-button{border:0;border-radius:6px;background:#27343c;color:#fff;padding:7px 10px;margin-right:10px;cursor:pointer}


/* Stage 4 - Public Marketplace */
.market-topbar{z-index:50}.market-footer{border-top:1px solid #1b272e;background:#080d10;margin-top:80px}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px;padding:15px 0 30px}.footer-grid>div{display:grid;align-content:start;gap:10px;color:#9ba7ae}.footer-grid strong{color:#f5f0ed;margin-bottom:7px}.footer-grid .brand{margin:0 0 7px}.footer-grid p{max-width:350px;line-height:1.6}.footer-bottom{padding:22px 0 0;border-top:1px solid #1c272e;color:#697780;font-size:12px}
.market-hero{position:relative;min-height:620px;overflow:hidden;border-bottom:1px solid #1d282f}.market-hero-bg{position:absolute;inset:0}.market-hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.36}.market-hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070b0e 7%,rgba(7,11,14,.92) 44%,rgba(7,11,14,.2) 78%),linear-gradient(0deg,#070b0e 0%,transparent 35%)}.hero-inner{position:relative;z-index:2;display:flex;align-items:center;min-height:620px}.hero-inner>div{max-width:720px}.hero-inner h1,.location-hero h1,.service-hero h1,.listing-head h1,.salon-title-box h1,.professional-head h1{font-family:Georgia,serif}.hero-inner h1{font-size:68px;line-height:1;margin:12px 0 20px}.hero-inner h1 em{font-style:normal;color:#ef8499}.hero-inner>div>p{font-size:18px;color:#c0c8cc;max-width:620px;line-height:1.6}.market-search{margin-top:28px;background:#fff;border-radius:13px;padding:6px;display:grid;grid-template-columns:1.3fr 1fr auto;gap:4px;max-width:790px;box-shadow:0 16px 50px rgba(0,0,0,.25)}.market-search label{display:grid;padding:5px 13px;border-right:1px solid #e4e6e8;color:#65717a;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.market-search input,.market-search select{border:0;outline:0;background:white;color:#182027;font:inherit;padding:5px 0;min-width:0}.market-search .btn{align-self:stretch}.market-search.compact{grid-template-columns:1fr auto;max-width:620px}.trust-row{display:flex;gap:24px;flex-wrap:wrap;color:#aeb7bd;font-size:12px;margin-top:18px}.market-section{padding-top:65px;padding-bottom:30px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-title h2{font-family:Georgia,serif;font-size:34px;margin:5px 0 0}.text-link{color:#ef8399;font-weight:750;font-size:13px}.market-grid{display:grid;gap:18px}.market-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.market-card{padding:0;overflow:hidden}.card-media{height:210px;display:block;position:relative;background:#111b22}.card-media img{width:100%;height:100%;object-fit:cover}.card-body{padding:18px}.card-line,.card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.mini-tag{font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#e98198}.rating{color:#e8b578;font-size:12px;font-weight:800}.card-body h3{font-size:19px;margin:9px 0 6px}.card-body p{margin:0 0 16px;font-size:13px}.card-bottom{border-top:1px solid #202d34;padding-top:13px;font-size:12px}.service-chips{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.service-chips a{height:170px;border-radius:14px;overflow:hidden;position:relative;border:1px solid #27333a}.service-chips img{width:100%;height:100%;object-fit:cover}.service-chips a:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,6,8,.88),transparent 65%)}.service-chips span{position:absolute;z-index:2;bottom:14px;left:14px;right:14px;font-weight:800;font-size:13px}.city-band,.map-section{background:#0b1216;border-block:1px solid #18242a}.city-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:14px}.city-card{height:260px;position:relative;overflow:hidden;border-radius:14px;border:1px solid #26333a}.city-card img{width:100%;height:100%;object-fit:cover}.city-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,7,9,.9),transparent 65%)}.city-card div{position:absolute;z-index:2;bottom:16px;left:16px}.city-card h3{margin:0 0 4px;font-size:20px}.city-card span{color:#c2c9cd;font-size:11px}.pro-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.pro-card{background:#0d1419;border:1px solid var(--line);border-radius:14px;padding:16px;display:grid;grid-template-columns:68px 1fr;gap:13px;align-items:center;min-width:0}.pro-avatar{width:68px;height:68px;border-radius:50%;overflow:hidden;border:2px solid #913e56}.pro-avatar img{width:100%;height:100%;object-fit:cover}.pro-card h3{font-size:14px;margin:5px 0}.pro-card p{font-size:10px;color:#8f9ca4;margin:0 0 5px}.market-cta{margin-top:50px;border:1px solid #573442;border-radius:18px;background:linear-gradient(120deg,#171219,#0c1317);display:flex;align-items:center;justify-content:space-between;gap:30px}.market-cta h2{font-family:Georgia,serif;font-size:34px;margin:8px 0}.market-cta p{color:#aeb7bd;max-width:680px}
.breadcrumbs{display:flex;gap:8px;align-items:center;color:#8f9aa1;font-size:12px;margin-bottom:24px}.breadcrumbs a{color:#d9dee1}.breadcrumbs.light{color:#cbd2d6}.location-hero{position:relative;padding:70px 0 75px;overflow:hidden;min-height:460px;display:flex;align-items:end}.location-bg{position:absolute;inset:0}.location-bg img{width:100%;height:100%;object-fit:cover;opacity:.3}.location-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#070b0e 8%,rgba(7,11,14,.83),rgba(7,11,14,.28)),linear-gradient(0deg,#070b0e,transparent 50%)}.location-hero .container{position:relative;z-index:2;width:100%}.location-hero h1{font-size:52px;max-width:800px;margin:8px 0 14px}.location-hero p{max-width:670px;color:#c0c8cc;font-size:16px}.service-list-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.service-tile{display:grid;grid-template-columns:86px 1fr;align-items:center;border:1px solid #26333a;background:#0d1419;border-radius:13px;overflow:hidden;min-height:86px}.service-tile img{width:86px;height:86px;object-fit:cover}.service-tile div{padding:12px}.service-tile h3{font-size:14px;margin:0 0 6px}.service-tile span{font-size:10px;color:#8c99a1}.map-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:40px;align-items:center}.fake-map,.listing-map{position:relative;border-radius:16px;overflow:hidden;border:1px solid #2a3740}.fake-map{height:390px}.fake-map img,.listing-map img{width:100%;height:100%;object-fit:cover;filter:saturate(.65) brightness(.65)}.map-note{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(6,10,13,.88);border:1px solid #34434c;padding:11px 13px;border-radius:9px;font-size:11px;color:#c6cdd1}.area-chips{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.area-chips>span,.area-chips>a{border:1px solid #2c3941;background:#0f181d;padding:10px 13px;border-radius:999px;font-size:12px}.area-chips small{color:#e18197;margin-left:4px}.seo-copy{max-width:900px}.seo-copy h2{font-family:Georgia,serif;font-size:32px}.seo-copy div{color:#aeb7bd;line-height:1.8}
.service-hero{padding:65px 0 40px}.service-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.service-hero h1{font-size:58px;margin:8px 0 18px}.service-hero p{color:#aeb7bd;font-size:17px;line-height:1.7;max-width:640px}.service-hero-media{height:430px;border-radius:22px;overflow:hidden;border:1px solid #313e46}.service-hero-media img{width:100%;height:100%;object-fit:cover}.service-facts{display:flex;gap:24px;margin-top:20px}.service-facts span{display:grid;color:#8f9aa1;font-size:11px}.service-facts b{color:#f5eeeb;font-size:16px}.city-links a{min-width:150px;display:flex;justify-content:space-between}
.listing-head{background:#0b1216;border-bottom:1px solid #1d292f;padding:50px 0}.listing-head h1{font-size:48px;margin:8px 0}.listing-head p{color:#9faab0;max-width:750px}.filter-bar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:22px;color:#89969d;font-size:12px}.filter-bar button{background:#111b21;color:#d6dcdf;border:1px solid #2b3941;border-radius:999px;padding:8px 12px}.listing-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;padding-top:30px}.results-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.results-head>div{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.results-head>div b,.results-head>div span{line-height:1.3}.results-head>div span{min-width:0}.results-head span{color:#7f8d95;font-size:12.5px}.results-head b{font-size:15px}.results-head select{background:#0d151a;color:#dfe4e7;border:1px solid #2a3840;border-radius:8px;padding:8px 10px;margin-left:auto;flex:0 0 auto}.listing-cards{display:grid;gap:13px}.result-card{display:grid;grid-template-columns:220px 1fr;border:1px solid #26343c;border-radius:15px;overflow:hidden;background:#0d1419}.result-img{min-height:190px}.result-img img{width:100%;height:100%;object-fit:cover}.result-body{padding:18px}.result-body h2{margin:8px 0;font-size:20px}.result-body p{color:#8d9aa2;font-size:12px}.slot-row{border-top:1px solid #202c33;margin-top:14px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;color:#8b989f}.slot-row button{background:#141d22;color:#727f86;border:1px solid #27333a;border-radius:7px;padding:7px 9px}.listing-map{height:640px;position:sticky;top:96px}.empty-state{border:1px dashed #34434b;border-radius:15px;text-align:center;padding:50px 20px;color:#8e9ba2}.empty-state h2{color:#eee8e4}
.salon-hero{height:500px;position:relative;overflow:hidden}.salon-cover{position:absolute;inset:0}.salon-cover img{width:100%;height:100%;object-fit:cover}.cover-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,10,.96) 5%,rgba(5,8,10,.2) 70%),linear-gradient(90deg,rgba(5,8,10,.48),transparent)}.salon-hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:40px}.salon-title-box{background:rgba(6,10,13,.74);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.13);border-radius:15px;padding:18px 22px;max-width:640px;box-shadow:0 14px 40px rgba(0,0,0,.3)}.salon-title-box h1{font-size:46px;margin:8px 0}.salon-meta{display:flex;gap:18px;flex-wrap:wrap;color:#d0d6d9;font-size:12px}.salon-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}.salon-main{min-width:0}.profile-tabs{display:flex;gap:18px;border-bottom:1px solid #26323a;padding:20px 0;position:sticky;top:76px;background:#070b0e;z-index:6}.profile-tabs a{font-size:12px;color:#aeb7bd}.profile-section{padding:42px 0;border-bottom:1px solid #1d292f}.service-menu{display:grid;gap:10px}.service-menu article{border:1px solid #26343b;background:#0d1419;border-radius:13px;padding:15px 17px;display:flex;justify-content:space-between;align-items:center;gap:20px}.service-menu h3{margin:5px 0;font-size:16px}.service-menu p{margin:0;color:#829098;font-size:11px}.service-action{display:grid;grid-template-columns:auto 120px;gap:15px;align-items:center}.service-action .btn{width:120px;text-align:center;padding:10px 10px}.benefits-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.benefits-row article{background:#0e171c;border:1px solid #26333b;border-radius:12px;padding:13px;display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:center}.small-icon{width:30px;height:30px;border-radius:8px;background:#3b1f2a;color:#ef8199;display:grid;place-items:center;font-size:13px}.benefits-row b,.benefits-row small{display:block}.benefits-row b{font-size:12px}.benefits-row small{color:#829098;font-size:9px;margin-top:3px}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:190px;gap:9px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:10px}.gallery-grid img:first-child{grid-row:span 2}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.review-grid article{border:1px solid #26333b;background:#0d1419;border-radius:12px;padding:16px}.review-grid p{color:#aeb7bd;line-height:1.6}.review-grid b,.review-grid small{display:block}.review-grid small{color:#74828a;margin-top:4px}.facility-list{display:flex!important;flex-wrap:wrap;gap:9px!important;margin-top:20px}.facility-list span{border:1px solid #29373f;border-radius:999px;padding:8px 11px;color:#c8d0d4;font-size:11px}.booking-card{position:sticky;top:96px;background:#0d151a;border:1px solid #34424a;border-radius:16px;padding:22px;margin-top:28px;box-shadow:0 16px 45px rgba(0,0,0,.24)}.booking-card h2{font-family:Georgia,serif;font-size:28px;margin:7px 0}.booking-card p{color:#93a0a7;font-size:12px;line-height:1.5}.booking-card label{display:grid;gap:6px;font-size:11px;color:#aab5ba;margin:18px 0}.booking-card select{background:#091014;color:#e7ebed;border:1px solid #2c3941;padding:11px;border-radius:8px;max-width:100%}.booking-card button:disabled{opacity:.55;cursor:not-allowed}.booking-location{display:grid;gap:4px;border-top:1px solid #27333a;margin-top:16px;padding-top:14px}.booking-location span{font-size:10px;color:#7e8c94;line-height:1.5}
.professional-hero{padding:60px 0;background:radial-gradient(circle at 20% 30%,rgba(216,94,123,.13),transparent 34%),#0a1014;border-bottom:1px solid #1f2b31}.professional-head{display:grid;grid-template-columns:180px 1fr;gap:35px;align-items:center}.professional-avatar{width:180px;height:180px;border-radius:50%;object-fit:cover;border:4px solid #77364b;box-shadow:0 15px 50px rgba(0,0,0,.3)}.professional-head h1{font-size:50px;margin:8px 0}.professional-head .lead{color:#aeb7bd}.offer-head{background:radial-gradient(circle at 80% 0%,rgba(216,94,123,.2),transparent 35%),#0b1216}.discount-badge{position:absolute;top:12px;left:12px;background:#d95d7a;color:white;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.offer-card s{color:#6f7b82;margin-right:5px}
@media(max-width:1000px){.market-grid.three{grid-template-columns:repeat(2,1fr)}.service-chips{grid-template-columns:repeat(3,1fr)}.city-grid{grid-template-columns:repeat(3,1fr)}.city-card:first-child{grid-column:span 2}.pro-grid{grid-template-columns:repeat(3,1fr)}.service-list-grid{grid-template-columns:repeat(2,1fr)}.listing-layout,.salon-layout{grid-template-columns:1fr}.listing-map{height:380px;position:relative;top:auto}.booking-card{position:relative;top:auto}.map-layout,.service-hero-grid{grid-template-columns:1fr}.service-hero-media{height:330px}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{display:none}}
@media(max-width:700px){.hero-inner h1{font-size:46px}.market-search,.market-search.compact{grid-template-columns:1fr}.market-search label{border-right:0;border-bottom:1px solid #e4e6e8}.market-grid.three,.service-list-grid{grid-template-columns:1fr}.service-chips{grid-template-columns:repeat(2,1fr)}.city-grid{grid-template-columns:1fr 1fr}.city-card:first-child{grid-column:span 2}.pro-grid{grid-template-columns:1fr 1fr}.location-hero h1,.service-hero h1,.listing-head h1{font-size:38px}.result-card{grid-template-columns:1fr}.result-img{height:200px}.service-action{grid-template-columns:1fr}.service-action .btn{width:100%}.benefits-row,.review-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr 1fr}.professional-head{grid-template-columns:1fr;text-align:center}.professional-avatar{margin:auto}.professional-head .breadcrumbs,.professional-head .salon-meta{justify-content:center}.footer-grid{grid-template-columns:1fr 1fr}.market-cta{align-items:flex-start;flex-direction:column}.profile-tabs{overflow:auto}.salon-title-box h1{font-size:36px}}
@media(max-width:480px){.pro-grid{grid-template-columns:1fr}.city-grid{grid-template-columns:1fr}.city-card:first-child{grid-column:auto}.service-chips{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:nth-child(n+3){display:none}.salon-hero{height:430px}.professional-avatar{width:140px;height:140px}.professional-head h1{font-size:38px}}


/* ======================== ETAPA 5 · BOOKING ======================== */
.booking-page{min-height:70vh}.booking-page-head{padding:48px 0 28px;background:radial-gradient(circle at 75% 10%,rgba(220,98,126,.15),transparent 35%),#0a1014;border-bottom:1px solid #1f2b31}.booking-page-head h1{font-family:Georgia,serif;font-size:48px;margin:8px 0}.booking-page-head p{color:#9ba7ae}.booking-flow{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px;padding-top:34px;padding-bottom:70px;align-items:start}.booking-flow-main{min-width:0;display:grid;gap:16px}.booking-summary-card{display:grid;grid-template-columns:190px 1fr;gap:20px;border:1px solid #2a3740;border-radius:17px;background:#0d151a;overflow:hidden}.booking-summary-card img{width:190px;height:170px;object-fit:cover}.booking-summary-card>div{padding:20px 20px 20px 0}.booking-summary-card h2{margin:6px 0;font-size:24px}.booking-summary-card p{color:#89969d}.summary-facts{display:flex;gap:16px;align-items:center}.summary-facts strong{color:#ee8199}.summary-facts span{color:#aab5bb;font-size:12px}.booking-form-card{border:1px solid #2a3740;border-radius:17px;background:#0d151a;padding:8px 22px}.booking-step{display:grid;grid-template-columns:38px 1fr;gap:14px;padding:22px 0;border-bottom:1px solid #223038}.step-no{width:32px;height:32px;border-radius:50%;background:#3b1f2a;color:#ef8199;display:grid;place-items:center;font-weight:900}.step-body{display:grid;gap:9px}.step-body>label{font-weight:800}.step-body select,.step-body input,.step-body textarea{width:100%;background:#091014;color:#edf0f1;border:1px solid #334149;border-radius:10px;padding:12px 13px}.step-body textarea{resize:vertical}.slot-picker{display:flex;flex-wrap:wrap;gap:9px;min-height:46px}.slot-button{min-width:74px;padding:10px 14px;border-radius:9px;border:1px solid #34434b;background:#0a1115;color:#e5e9eb;cursor:pointer;font-weight:800}.slot-button:hover,.slot-button.selected{border-color:#e0718a;background:#4b2531;color:#fff}.slot-loading,.no-slots{color:#829098;font-size:12px;padding:10px 0}.no-slots{width:100%;border:1px dashed #34434b;border-radius:10px;padding:14px}.booking-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0}.booking-submit>div{display:grid}.booking-submit span{color:#829098}.booking-submit strong{font-size:20px;color:#ee8199}.booking-submit .btn:disabled{opacity:.45;cursor:not-allowed}.booking-flow-aside{position:sticky;top:96px;display:grid;gap:12px}.booking-card.static{position:relative;top:auto;margin:0}.booking-card.static h3{margin:8px 0}.booking-success{padding:70px 0;min-height:75vh}.success-panel{max-width:760px;margin:auto;border:1px solid #314049;border-radius:20px;background:radial-gradient(circle at 80% 10%,rgba(216,94,123,.14),transparent 30%),#0d151a;padding:42px;text-align:center}.success-mark{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;margin:0 auto 16px;background:#163827;color:#6ee39c;font-size:30px;font-weight:900}.success-panel h1{font-family:Georgia,serif;font-size:46px;margin:10px 0}.success-panel>p{color:#9aa6ad}.success-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.success-details>div{border:1px solid #26343c;border-radius:11px;padding:13px;display:grid;gap:5px}.success-details span{font-size:10px;color:#7d8a92}.success-details b{font-size:13px}.success-location{display:grid;gap:5px;color:#96a3aa;margin-bottom:22px}.success-location b{color:#e8ecee}.success-actions{display:flex;justify-content:center;gap:10px;margin-bottom:20px}.success-panel>small{color:#687780}
.admin-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.admin-filter-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.admin-filter-row label{display:grid;gap:5px;min-width:200px;font-size:11px;color:#8f9ca3}.admin-filter-row select,.admin-filter-row input,.schedule-form select,.schedule-form input,.exception-form select,.exception-form input,.status-form select{background:#0b1317;color:#e4e8ea;border:1px solid #314049;border-radius:8px;padding:9px 10px}.schedule-form{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:8px;margin:18px 0}.schedule-list{display:grid;gap:7px}.schedule-list>div{display:grid;grid-template-columns:1fr auto 34px;gap:10px;align-items:center;padding:10px 12px;border:1px solid #26343b;border-radius:9px;background:#0b1216}.schedule-list span{color:#9eabb1}.icon-btn{width:30px;height:30px;border-radius:7px;background:#201419;color:#e27891;border:1px solid #542a35;cursor:pointer}.admin-exceptions{margin-top:16px}.exception-form{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr .8fr 1.4fr auto;gap:8px;align-items:end;margin:18px 0}.exception-form label{display:grid;gap:5px;font-size:10px;color:#8e9ba2}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #243139;padding:11px 10px;font-size:11px;vertical-align:middle}.admin-table th{color:#809098;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.admin-table td small{display:block;color:#738189;margin-top:3px}.status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#19242a;color:#b7c2c8;font-size:9px}.status-confirmed{background:#173127;color:#77dba0}.status-completed{background:#1c2c3e;color:#80b9ed}.status-cancelled{background:#391c25;color:#f08399}.status-no_show{background:#32291b;color:#e7bd70}.status-pending{background:#302a1d;color:#ead080}.status-form{display:flex;gap:6px;align-items:center}.btn.small{padding:7px 9px;font-size:10px}.table-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.appointment-filters label:first-child{min-width:260px}
@media(max-width:1000px){.booking-flow{grid-template-columns:1fr}.booking-flow-aside{position:relative;top:auto;grid-template-columns:1fr 1fr}.admin-booking-grid{grid-template-columns:1fr}.exception-form{grid-template-columns:repeat(3,1fr)}.exception-form .wide{grid-column:span 2}}
@media(max-width:700px){.booking-page-head h1{font-size:38px}.booking-summary-card{grid-template-columns:1fr}.booking-summary-card img{width:100%;height:210px}.booking-summary-card>div{padding:18px}.booking-flow-aside{grid-template-columns:1fr}.booking-submit{align-items:stretch;flex-direction:column}.booking-submit .btn{width:100%}.success-details{grid-template-columns:1fr 1fr}.success-panel{padding:28px 18px}.success-panel h1{font-size:36px}.schedule-form,.exception-form{grid-template-columns:1fr 1fr}.schedule-form .btn,.exception-form .btn{grid-column:span 2}.admin-filter-row label{min-width:100%;flex:1}}


/* ======================== ETAPA 6 · CONT CLIENT ======================== */
.account-body{background:radial-gradient(circle at 85% 0%,rgba(216,94,123,.11),transparent 26%),#070b0e}.account-shell{min-height:calc(100vh - 76px)}.account-topbar nav a{white-space:nowrap}.account-page{padding-top:42px;padding-bottom:72px}.account-page.narrow{max-width:980px}.account-page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;margin-bottom:26px}.account-page-head h1{font-family:Georgia,serif;font-size:44px;margin:5px 0}.account-page-head p{margin:0;color:#93a0a7}.back-link{display:block;color:#e47c93;font-size:12.5px;line-height:1.4;margin:0 0 14px;width:fit-content;text-decoration:none;transition:color .16s ease}.back-link:hover{color:#f0909f}.account-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.account-stat-grid article{border:1px solid #26343c;background:#0d151a;border-radius:14px;padding:18px;display:grid;gap:7px}.account-stat-grid span{font-size:11px;color:#829098}.account-stat-grid strong{font-size:28px}.account-dashboard-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:18px}.account-panel{border:1px solid #293740;background:#0d151a;border-radius:17px;padding:22px}.account-section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:16px}.account-section-title h2{margin:4px 0 0}.account-section-title>a{color:#ea7891;font-size:11px}.next-appointment{display:grid;grid-template-columns:190px 1fr;border:1px solid #26343c;border-radius:14px;overflow:hidden;background:#0a1115}.next-appointment>img{width:190px;height:100%;min-height:210px;object-fit:cover}.next-appointment>div{padding:20px}.next-appointment h3{font-size:24px;margin:9px 0 4px}.next-appointment p{color:#9aa6ad}.appointment-facts{display:flex;gap:15px;margin:18px 0}.appointment-facts b{font-size:12px}.favorite-mini-list{display:grid;gap:9px}.favorite-mini-list>a{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:11px;border:1px solid #26343c;border-radius:11px;padding:7px}.favorite-mini-list img{width:54px;height:54px;object-fit:cover;border-radius:9px}.favorite-mini-list span{display:grid}.favorite-mini-list small{color:#7e8b92;margin-top:3px}.favorite-mini-list em{font-style:normal;color:#f0ba6a;font-size:11px}.account-empty{border:1px dashed #334149;border-radius:14px;padding:32px;text-align:center;color:#93a0a7}.account-empty.compact{padding:18px}.account-empty h3{color:#e9edef}.account-tabs{display:flex;gap:8px;border-bottom:1px solid #26343c;margin-bottom:18px}.account-tabs a{padding:11px 18px;color:#909da4;border-bottom:2px solid transparent}.account-tabs a.active{color:#fff;border-color:#e06d87}.appointment-list{display:grid;gap:12px}.account-appointment-card{display:grid;grid-template-columns:210px 1fr;border:1px solid #293740;border-radius:16px;overflow:hidden;background:#0d151a}.account-appointment-card>img{width:210px;height:100%;min-height:220px;object-fit:cover}.appointment-card-body{padding:20px}.appointment-card-body h2{margin:10px 0 4px}.appointment-card-body p{color:#a5b0b6}.appointment-card-body>small{color:#78868e}.appointment-card-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.appointment-card-footer>strong{font-size:18px;color:#ef8199}.appointment-card-footer>div{display:flex;gap:7px}.appointment-detail-grid{display:grid;grid-template-columns:1fr 300px;gap:18px}.detail-salon{display:grid;grid-template-columns:170px 1fr;gap:17px;align-items:center}.detail-salon img{width:170px;height:125px;object-fit:cover;border-radius:12px}.detail-salon p{color:#8f9ca3}.detail-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.detail-facts>div{border:1px solid #26343c;border-radius:10px;padding:13px;display:grid;gap:5px}.detail-facts span,.detail-note span{font-size:10px;color:#7d8a92}.detail-note{margin-top:14px;padding-top:14px;border-top:1px solid #26343c}.action-panel{display:grid;gap:10px;align-content:start}.action-panel form{display:grid;gap:9px}.action-panel label{display:grid;gap:5px;font-size:11px;color:#8f9ca3}.action-panel textarea{background:#091014;color:#e7ebed;border:1px solid #314049;border-radius:8px;padding:10px;resize:vertical}.btn.danger{background:#351820;border-color:#7c3444;color:#f58aa2}.notice{border:1px solid #45373a;background:#171214;border-radius:10px;padding:12px;color:#c5aaaf;font-size:11px;line-height:1.5}.current-slot{display:grid;gap:5px;border:1px solid #344049;border-radius:12px;padding:14px;margin-bottom:18px}.current-slot span,.current-slot small{color:#829098}.reschedule-panel form{display:grid;gap:18px}.reschedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reschedule-grid label,.profile-form label,.review-form label{display:grid;gap:6px;font-size:11px;color:#8e9ba2}.reschedule-grid select,.reschedule-grid input,.profile-form input,.profile-form select,.review-form input,.review-form select,.review-form textarea{background:#091014;color:#e7ebed;border:1px solid #314049;border-radius:9px;padding:11px 12px}.account-favorites-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.account-favorite-card{border:1px solid #293740;border-radius:15px;background:#0d151a;overflow:hidden}.account-favorite-card>a{display:block}.account-favorite-card img{width:100%;height:200px;object-fit:cover}.account-favorite-card>a>div{padding:15px}.account-favorite-card h2{font-size:18px;margin:8px 0}.account-favorite-card p{color:#849199}.account-favorite-card form{border-top:1px solid #26343c;padding:10px}.favorite-remove,.save-profile-btn{border:1px solid #4a3540;background:#151015;color:#ea7991;padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:800}.favorite-remove{width:100%}.save-profile-btn.saved{background:#3b1721;color:#ff9bb0;border-color:#793346}.profile-save-row{margin-top:13px}.profile-save-row form{margin:0}.reviewable-list,.my-reviews-list{display:grid;gap:11px}.reviewable-list>article{display:grid;grid-template-columns:260px 1fr;gap:18px;padding:15px;border:1px solid #26343c;border-radius:12px}.reviewable-list h3{margin:0 0 5px}.reviewable-list p,.reviewable-list small{color:#86939a}.review-form{display:grid;grid-template-columns:130px 1fr;gap:9px}.review-form .wide{grid-column:span 2}.review-form button{justify-self:end}.my-reviews-list article{border:1px solid #26343c;border-radius:12px;padding:15px}.my-reviews-list h3{margin:10px 0 5px}.my-reviews-list p{color:#a4afb5}.my-reviews-list small{color:#78858c}.profile-settings-grid{display:grid;grid-template-columns:1.2fr .75fr;gap:18px}.profile-form{display:grid;gap:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.profile-form label small{color:#6e7b82}.check-row{grid-column:span 2;grid-template-columns:auto 1fr!important;align-items:center}.check-row input{width:auto}.privacy-note{border-top:1px solid #26343c;margin-top:24px;padding-top:17px;color:#89969d}.privacy-note b{color:#e8ecee}.privacy-note p{font-size:11px;line-height:1.6}
@media(max-width:1000px){.account-dashboard-grid,.appointment-detail-grid,.profile-settings-grid{grid-template-columns:1fr}.account-favorites-grid{grid-template-columns:repeat(2,1fr)}.account-topbar nav{display:none}}
@media(max-width:700px){.account-page-head{align-items:flex-start;flex-direction:column}.account-page-head h1{font-size:36px}.account-stat-grid{grid-template-columns:1fr 1fr}.next-appointment,.account-appointment-card,.detail-salon,.reviewable-list>article{grid-template-columns:1fr}.next-appointment>img,.account-appointment-card>img,.detail-salon img{width:100%;height:190px}.appointment-card-footer{align-items:stretch;flex-direction:column}.appointment-card-footer>div{flex-wrap:wrap}.detail-facts,.reschedule-grid,.form-grid{grid-template-columns:1fr}.account-favorites-grid{grid-template-columns:1fr}.review-form{grid-template-columns:1fr}.review-form .wide,.check-row{grid-column:auto}.account-tabs{overflow:auto}.account-tabs a{white-space:nowrap}.appointment-facts{flex-wrap:wrap}}


/* Stage 6 hotfix · Admin runtime + salon impersonation preview */
.impersonation-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(90deg,#351824,#171014);border-bottom:1px solid #743047;padding:12px max(20px,calc((100vw - 1180px)/2));position:relative;z-index:80}.impersonation-banner>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.impersonation-banner span{font-size:9px;letter-spacing:.16em;color:#ff91a9;font-weight:900}.impersonation-banner strong{font-size:13px}.impersonation-banner small{color:#b998a0}.impersonation-actions,.admin-impersonation>div:last-child{display:flex;align-items:center;gap:8px}.impersonation-actions form,.admin-impersonation form{margin:0}.admin-impersonation{margin:18px 0;padding:11px 14px;border:1px solid #733146;border-radius:10px}.salon-preview-topbar{top:0}.salon-portal-page{padding-top:36px}.salon-preview-list{display:grid;gap:8px}.salon-preview-list article{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;border:1px solid #26343c;border-radius:11px;padding:13px}.salon-preview-list article>div{display:grid;gap:3px}.salon-preview-list small,.salon-preview-list span{color:#87949b}.salon-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.salon-preview-grid .account-panel{display:grid;gap:9px}.salon-preview-grid h2{margin:2px 0}.salon-preview-grid p{color:#8d9aa1;margin:0}.salon-preview-grid strong{color:#ed8399;font-size:18px}.professionals-preview-grid{grid-template-columns:repeat(2,1fr)}.pro-preview-card{grid-template-columns:94px 1fr!important;display:grid!important;align-items:center}.pro-preview-card img{width:94px;height:94px;object-fit:cover;border-radius:50%;border:1px solid #33414a}.impersonate-btn{color:#f0a0b0!important;font-weight:800!important}@media(max-width:800px){.impersonation-banner{align-items:flex-start;flex-direction:column}.salon-preview-grid,.professionals-preview-grid{grid-template-columns:1fr}.salon-preview-list article{grid-template-columns:1fr auto}}


/* ======================== ETAPA 7 · BLOG + SEO ======================== */
.blog-page,.blog-article-page{background:#070b0e;min-height:70vh}.blog-hero{min-height:400px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(6,10,13,.95),rgba(6,10,13,.68)),url('../images/blog/blog-hero.jpg') center/cover no-repeat;border-bottom:1px solid #1d282e}.blog-hero .container{width:100%}.blog-hero h1,.blog-category-hero h1,.article-header h1{font-family:Georgia,serif}.blog-hero h1{font-size:58px;margin:10px 0 14px;max-width:760px}.blog-hero h1 em{font-style:normal;color:#ed7d95}.blog-hero p{max-width:650px;color:#b2bbc0;font-size:17px;line-height:1.6}.blog-search{display:grid;grid-template-columns:minmax(0,520px) auto;gap:8px;max-width:650px;margin-top:24px}.blog-search input{height:46px;background:#fff;color:#172027;border:0;border-radius:10px;padding:0 15px;font-size:14px}.blog-search .btn{height:46px;padding:0 20px}.blog-section{padding-top:38px;padding-bottom:62px}.blog-category-row{display:flex;gap:8px;overflow:auto;padding-bottom:9px;margin-bottom:30px}.blog-category-row a{white-space:nowrap;border:1px solid #293740;background:#0c1419;border-radius:999px;padding:9px 13px;color:#bec7cc;font-size:11px}.blog-category-row a:hover,.blog-category-row a.active{border-color:#9d4258;color:#f18ba0;background:#211218}.blog-category-row small{margin-left:5px;color:#728087}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.blog-card{border:1px solid #293740;border-radius:16px;overflow:hidden;background:#0d151a}.blog-card-image{display:block}.blog-card-image img{display:block;width:100%;height:210px;object-fit:cover}.blog-card-body{padding:18px}.blog-category-pill{display:inline-flex;color:#ef849a;background:#251319;border:1px solid #4a2630;border-radius:999px;padding:5px 9px;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.blog-card h2{font-family:Georgia,serif;font-size:21px;line-height:1.18;margin:11px 0}.blog-card p{font-size:12px;color:#98a5ac;line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-card-meta{display:flex;justify-content:space-between;gap:10px;color:#728088;font-size:9px;margin-top:16px}.blog-card-large{display:grid;grid-template-columns:1.15fr .85fr;margin-bottom:40px}.blog-card-large .blog-card-image img{height:100%;min-height:360px}.blog-card-large .blog-card-body{padding:36px;display:flex;flex-direction:column;justify-content:center}.blog-card-large h2{font-size:34px}.blog-card-large p{font-size:14px;-webkit-line-clamp:5}.blog-category-hero{padding:62px 0 38px;background:radial-gradient(circle at 80% 20%,rgba(216,94,123,.15),transparent 30%),#090f13;border-bottom:1px solid #1f2b31}.blog-category-hero h1{font-size:50px;margin:8px 0 10px}.blog-category-hero p{max-width:700px;color:#9da9af;line-height:1.6}.muted-copy{color:#7f8d94;font-size:11px}.narrow-article{max-width:840px}.article-header{padding-top:58px;padding-bottom:26px}.article-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#93a3ab;font-size:12.5px;line-height:1.5;margin-bottom:18px}.article-breadcrumb a{color:#c3ccd1;text-decoration:none;transition:color .16s ease}.article-breadcrumb a:hover{color:#e76d8d}.article-breadcrumb span{color:#5c6b73}.article-header h1{font-size:52px;line-height:1.06;margin:14px 0 16px}.article-excerpt{font-size:18px;line-height:1.6;color:#adb7bc}.article-author-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:11px;margin-top:24px}.article-author-row>img{width:44px;height:44px;border-radius:50%;object-fit:cover;border:1px solid #35424a}.article-author-row>div:not(.article-actions){display:grid;gap:3px}.article-author-row small{font-size:10px;color:#7c8990}.article-actions{display:flex;gap:7px}.article-icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid #35434b;background:#0d151a;color:#f08ba0;font-size:17px;display:grid;place-items:center;cursor:pointer;padding:0}.article-cover{padding-top:0;padding-bottom:30px}.article-cover img{width:100%;max-height:560px;object-fit:cover;border-radius:18px;border:1px solid #293740}.article-content{font-family:Georgia,serif;font-size:18px;line-height:1.85;color:#d9dddf;padding-top:20px}.article-content h2{font-size:31px;color:#fff;margin:44px 0 13px}.article-content h3{font-size:24px;color:#fff;margin-top:32px}.article-content p{margin:0 0 20px}.article-content a{color:#ef8299;text-decoration:underline}.article-content blockquote{border-left:3px solid #dc6983;margin:30px 0;padding:12px 20px;background:#0d151a;color:#c8d0d4}.article-content img{max-width:100%;height:auto;border-radius:14px}.article-tags{display:flex;flex-wrap:wrap;gap:8px;padding-top:18px;padding-bottom:30px}.article-tags span{border:1px solid #2a3840;border-radius:999px;padding:7px 10px;color:#95a1a8;font-size:10px}.related-posts{border-top:1px solid #1f2a30}.admin-stat-grid,.seo-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.admin-stat-grid article,.seo-status-grid article{border:1px solid #293740;background:#0d151a;border-radius:13px;padding:16px;display:grid;gap:6px}.admin-stat-grid span,.seo-status-grid span{color:#849198;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.admin-stat-grid strong,.seo-status-grid strong{font-size:24px}.seo-status-grid small{color:#76838a}.blog-editor-form .code-editor,.seo-form .code-editor{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6}.tag-fieldset{border:1px solid #293740;border-radius:10px;padding:13px}.tag-fieldset legend{color:#8e9ba2;font-size:11px;padding:0 6px}.tag-checks{display:flex;flex-wrap:wrap;gap:8px}.tag-checks label{display:flex;gap:5px;align-items:center;border:1px solid #293740;border-radius:999px;padding:6px 9px}.tag-admin-list{display:flex;flex-wrap:wrap;gap:8px}.tag-admin-list>span{border:1px solid #293740;background:#0a1115;border-radius:999px;padding:8px 11px}.tag-admin-list small{color:#7b8990}.author-admin-list{display:grid;gap:10px}.author-admin-list article{display:grid;grid-template-columns:44px 1fr;gap:10px;align-items:center;border-bottom:1px solid #253139;padding:9px 0}.author-admin-list img{width:44px;height:44px;border-radius:50%;object-fit:cover}.author-admin-list div{display:grid}.author-admin-list small{color:#7d8a91}.seo-admin-grid{align-items:start}.seo-form-head{display:flex;justify-content:space-between;align-items:center}.seo-form hr{width:100%;border:0;border-top:1px solid #293740;margin:8px 0}.seo-form h3{margin:0}.admin-form small{color:#748188;font-size:9px;line-height:1.4}
@media(max-width:1000px){.blog-grid{grid-template-columns:repeat(2,1fr)}.blog-card-large{grid-template-columns:1fr}.blog-card-large .blog-card-image img{height:300px;min-height:0}.admin-stat-grid,.seo-status-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.blog-hero h1{font-size:42px}.blog-search{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr}.blog-card-large .blog-card-body{padding:22px}.blog-card-large h2{font-size:27px}.article-header h1{font-size:38px}.article-breadcrumb{gap:8px;font-size:12px;margin:0 0 18px}.article-breadcrumb a{max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 0}.article-breadcrumb span{padding:0 1px}.article-header{padding-top:26px;padding-bottom:22px}.article-author-row{grid-template-columns:40px 1fr}.article-actions{grid-column:2}.article-content{font-size:17px}.admin-stat-grid,.seo-status-grid{grid-template-columns:1fr 1fr}}


/* Stage 8 · integrations, settings, maps, notifications */
.auth-links{display:flex;justify-content:flex-end;font-size:12px}.auth-links a{color:#ef849a}.nested-form{margin-top:10px}.notification-list{display:grid;gap:10px}.notification-item{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid #27343c;background:#0d151a;border-radius:12px;padding:16px 18px}.notification-item.is-new{border-color:#7b3447;background:#171015}.notification-item p{color:#a7b1b6;margin:5px 0}.notification-item small{color:#718087}.google-map{width:100%;min-height:360px;border-radius:16px;overflow:hidden;border:1px solid #28363e;background:#111a20}.google-map.tall{height:100%;min-height:620px}.salon-map-embed{width:100%;height:220px;border:0;border-radius:12px;margin-top:14px}.integration-form{max-width:900px}.integration-form small{color:#829098}.rbac-grid{grid-template-columns:1fr}.rbac-grid label{align-items:flex-start}.rbac-grid label span{display:grid;gap:2px}.rbac-grid small{font-size:9px;color:#718087}.static-page{min-height:70vh}.narrow-static{max-width:850px}.narrow-static h1{font-family:Georgia,serif;font-size:52px;margin:12px 0}.narrow-static .lead{font-size:18px;color:#aab4b9;line-height:1.6}.static-content{padding-left:0;padding-right:0}.admin-card hr{border:0;border-top:1px solid #293740;margin:24px 0}@media(max-width:700px){.notification-item{align-items:flex-start;flex-direction:column}.narrow-static h1{font-size:38px}.google-map.tall{min-height:360px}}

/* Stage 9 · QA & diagnostics */
.system-health-summary{display:flex;justify-content:space-between;gap:20px;align-items:center;border:1px solid #2a3941;background:#0d151a;border-radius:15px;padding:20px 22px;margin:24px 0 16px}.system-health-summary h2{margin:5px 0 5px;font-size:24px}.system-health-summary p{margin:0;color:#849198;font-size:12px}.system-health-summary.warning{border-color:#665126}.system-health-summary.critical{border-color:#6d2c3d}.health-pill-row{display:flex;gap:8px;flex-wrap:wrap}.health-pill{border:1px solid #35434b;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:800}.health-pill.ok{color:#8fe6b0;border-color:#25563b;background:#0e2118}.health-pill.warn{color:#f0cc75;border-color:#695424;background:#211a0c}.health-pill.bad{color:#f3a1b2;border-color:#6d2c3d;background:#241016}.system-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.diagnostics-grid{grid-template-columns:1.1fr .9fr}.health-check-list{display:grid;gap:8px}.health-check{display:grid;grid-template-columns:10px 1fr auto;gap:11px;align-items:center;border:1px solid #27343c;border-radius:10px;padding:11px 12px}.health-check>div{display:grid;gap:3px}.health-check small{color:#849198}.health-check b{font-size:9px;letter-spacing:.06em}.health-dot{width:8px;height:8px;border-radius:50%;background:#6d7980}.health-check.ok .health-dot{background:#56c985}.health-check.ok b{color:#7fdfa5}.health-check.warn .health-dot{background:#d6ad54}.health-check.warn b{color:#e8c66f}.health-check.bad .health-dot{background:#df647f}.health-check.bad b{color:#f291a6}.health-empty{border:1px solid #28513b;background:#0e1d16;border-radius:11px;padding:15px}.health-empty p{margin:6px 0 0;color:#8fa69a}.diagnostic-code{white-space:pre-wrap;overflow:auto;background:#080d10;border:1px solid #26343b;border-radius:9px;padding:11px 12px;color:#d6dde0;font:11px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace}.diagnostic-note{font-size:10px!important;margin-top:10px!important}.error-request-id{color:#849198;font-size:12px}.error-request-id strong{color:#d8dde0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media(max-width:1100px){.system-stat-grid{grid-template-columns:repeat(2,1fr)}.diagnostics-grid{grid-template-columns:1fr}}@media(max-width:650px){.system-health-summary{align-items:flex-start;flex-direction:column}.system-stat-grid{grid-template-columns:1fr 1fr}.health-check{grid-template-columns:10px 1fr}.health-check>b{grid-column:2}}


/* Stage 10 · QA fixes + responsive polish */
.skip-link{position:fixed;left:14px;top:10px;z-index:9999;transform:translateY(-180%);background:#fff;color:#111;padding:9px 12px;border-radius:8px;font-weight:800}.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:2px solid #ef8199;outline-offset:3px}.btn:focus-visible,.slot-button:focus-visible{outline-color:#fff}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid #334149;border-radius:10px;background:#0d151a;padding:10px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:4px}.nav-toggle span{display:block;width:19px;height:2px;background:#f3eff0;border-radius:2px}.mobile-nav-panel{position:fixed;z-index:49;left:12px;right:12px;top:84px;max-height:calc(100vh - 100px);overflow:auto;background:#0b1216;border:1px solid #2a3941;border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.45);padding:10px;display:grid;gap:3px}.mobile-nav-panel>a,.mobile-nav-action{width:100%;display:flex;align-items:center;min-height:46px;padding:11px 12px;border:0;border-radius:9px;background:transparent;color:#dce2e5;font:inherit;text-align:left;cursor:pointer}.mobile-nav-panel>a:hover,.mobile-nav-panel>a.active,.mobile-nav-action:hover{background:#151f25;color:#fff}.mobile-nav-panel .mobile-nav-primary{background:linear-gradient(135deg,var(--pink),#c95070);color:#fff;font-weight:800;margin-top:4px}.mobile-nav-divider{height:1px;background:#26333a;margin:6px 4px}.mobile-nav-panel form{margin:0}.mobile-nav-panel[hidden]{display:none!important}.nav-open{overflow:hidden}
.desktop-nav a.active{color:#f18aa0}.sidebar>a.active{background:#151e24;color:#fff}.sidebar-close,.admin-mobilebar{display:none}.admin-backdrop[hidden]{display:none!important}
button:disabled,.btn:disabled{cursor:not-allowed}.is-submitting{opacity:.72}.table-wrap{overscroll-behavior-inline:contain;scrollbar-width:thin}.admin-table th,.admin-table td{overflow-wrap:anywhere}.admin-card,.card,.market-card,.blog-card{box-shadow:0 8px 30px rgba(0,0,0,.08)}
.search-type-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}.search-type-tabs a{border:1px solid #2b3941;background:#0b1216;border-radius:999px;padding:8px 12px;color:#aeb8bd;font-size:11px;font-weight:750}.search-type-tabs a.active{border-color:#a8465e;background:#231218;color:#f28ca1}.search-section+.search-section{margin-top:44px}.search-section-title{display:flex;justify-content:space-between;gap:16px;align-items:end;margin:0 0 16px}.search-section-title h2{margin:5px 0 0}.search-section-title span{color:#819098;font-size:11px}.review-stars{letter-spacing:.06em;color:#f0a14a}.review-rating-text{color:#89969d;font-size:10px;margin-left:6px}

@media(max-width:850px){
  .nav-toggle{display:flex}.topbar .desktop-nav{display:none}.desktop-logout,.desktop-account-link,.desktop-auth-link{display:none!important}
  .topbar{gap:12px}.topbar .nav-actions{margin-left:auto}.topbar .brand{margin-right:auto}
  .admin-shell{display:block}.sidebar{display:flex!important;position:fixed;z-index:95;left:0;top:0;bottom:0;width:min(310px,88vw);overflow-y:auto;transform:translateX(-104%);transition:transform .18s ease;box-shadow:18px 0 55px rgba(0,0,0,.45)}.sidebar.is-open{transform:translateX(0)}.sidebar-close{display:grid;position:absolute;right:12px;top:12px;width:34px;height:34px;place-items:center;border:1px solid #334149;border-radius:9px;background:#10181d;color:#fff;font-size:23px;cursor:pointer}.sidebar .brand{padding-right:38px}
  .admin-backdrop{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.62);backdrop-filter:blur(2px)}.admin-backdrop.is-open{display:block}
  .admin-mobilebar{position:sticky;top:0;z-index:40;margin:-24px -24px 24px;padding:10px 18px;min-height:62px;background:rgba(7,11,14,.96);border-bottom:1px solid #1f2c33;display:flex;align-items:center;gap:12px}.admin-mobilebar .nav-toggle{display:flex}.admin-mobile-brand{display:flex;align-items:center;gap:8px;margin-right:auto;font-size:13px;font-weight:800;color:#ed859b}.admin-mobile-brand img{width:28px;height:28px;object-fit:contain}.admin-mobilebar>a:last-child{font-size:11px;color:#9ea9ae}
  .admin-main{min-height:100vh}.admin-head{gap:16px}.admin-head-actions{display:none}
}
@media(max-width:700px){
  .container{padding-left:16px;padding-right:16px}.market-footer{margin-top:55px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px}.footer-grid>div:first-child{grid-column:1/-1}.market-search{grid-template-columns:1fr!important}.market-search .btn{width:100%}
  .salon-hero{height:430px}.salon-title-box h1{font-size:36px}.salon-layout{grid-template-columns:1fr}.salon-layout>.booking-card{position:relative;top:auto;grid-row:1;margin-top:0}.profile-tabs{top:76px;overflow-x:auto;white-space:nowrap;gap:16px;scrollbar-width:none}.profile-tabs::-webkit-scrollbar{display:none}.service-menu article{align-items:flex-start;flex-direction:column}.service-action{width:100%;grid-template-columns:1fr auto}.service-action .btn{width:auto;min-width:120px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px}.gallery-grid img:first-child{grid-column:1/-1;grid-row:auto;height:250px}.review-grid{grid-template-columns:1fr}.benefits-row{grid-template-columns:1fr}
  .booking-summary-card{grid-template-columns:105px 1fr}.booking-summary-card img{width:105px;height:100%}.booking-summary-card>div{padding:15px 14px 15px 0}.booking-summary-card h2{font-size:19px}.booking-form-card{padding:6px 15px}.booking-step{grid-template-columns:32px 1fr;gap:10px}.booking-submit{position:sticky;bottom:0;z-index:5;margin:0 -15px -6px;padding:14px 15px;background:rgba(13,21,26,.97);border-top:1px solid #2b3941}.booking-submit .btn{padding-left:14px;padding-right:14px}.success-details{grid-template-columns:1fr}.success-actions{flex-direction:column}
  .form-card input,.form-card select,.admin-form input,.admin-form select,.admin-form textarea,.step-body select,.step-body input,.step-body textarea,.booking-card select{font-size:16px}
  .search-section-title{align-items:flex-start;flex-direction:column}.search-section+.search-section{margin-top:34px}
  .admin-table{min-width:560px}.admin-card{padding:17px}.section-head,.table-heading{align-items:flex-start;gap:12px;flex-direction:column}.section-head .btn,.table-heading .btn{width:100%;text-align:center}
}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.admin-main{padding:16px}.admin-mobilebar{margin:-16px -16px 20px;padding:10px 14px}.admin-head h1{font-size:28px}.mobile-nav-panel{left:8px;right:8px}.salon-title-box{padding:15px}.salon-title-box h1{font-size:31px}.service-action{grid-template-columns:1fr}.service-action .btn{width:100%}.booking-submit{align-items:stretch;flex-direction:column}.booking-submit>div{grid-template-columns:1fr auto;align-items:center}.booking-submit .btn{width:100%}.search-type-tabs{display:grid;grid-template-columns:repeat(3,1fr)}.search-type-tabs a{text-align:center;padding:8px 6px}}


/* Stage 10.1 - marketplace search picker */
.market-search .market-search-field{display:grid;padding:5px 13px;border-right:1px solid #e4e6e8;color:#65717a;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;min-width:0}
.market-search .market-search-field>input[type="text"]{border:0;outline:0;background:#fff;color:#182027;font:inherit;font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;padding:5px 0;min-width:0;width:100%}
.market-search-label{display:block}
.service-picker{position:relative}
.service-picker-menu{position:absolute;z-index:90;top:calc(100% + 10px);left:-6px;width:min(460px,92vw);max-height:430px;overflow:auto;background:#fff;border:1px solid #dfe3e6;border-radius:14px;box-shadow:0 24px 65px rgba(0,0,0,.32);padding:8px;text-transform:none;letter-spacing:0;color:#1a2329}
.service-picker-menu[hidden]{display:none!important}
.service-picker-heading{padding:9px 10px 7px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#7c878e}
.service-picker-options{display:grid}
.service-picker-option{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:#1a2329;text-align:left;padding:11px 8px;cursor:pointer;font:inherit}
.service-picker-option:last-child{border-bottom:0}.service-picker-option:hover,.service-picker-option:focus{background:#fff4f6;outline:0;border-radius:8px}.service-picker-option[hidden]{display:none}
.service-picker-icon{font-size:18px;color:#cf5570;text-align:center}.service-picker-option b{display:block;font-size:13px}.service-picker-option small{display:block;margin-top:2px;color:#89949a;font-size:10px;font-weight:500}.service-picker-empty{padding:16px 10px;color:#7b878e;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}
@media(max-width:700px){.market-search .market-search-field{border-right:0;border-bottom:1px solid #e4e6e8}.service-picker-menu{left:-13px;right:-13px;width:auto;max-height:360px}}


/* Stage 10.2 - search dropdown polish */
.market-hero{overflow:visible;z-index:20}
.market-hero-bg{overflow:hidden}
.hero-inner{z-index:25}
.market-home>.market-section,.market-home>.city-band{position:relative;z-index:1}
.market-search{position:relative;z-index:100}
.listing-head{position:relative;z-index:20;overflow:visible}
.service-picker-menu,.location-picker-menu{z-index:5000}
.service-picker-option{display:block;width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:#1a2329;text-align:left;padding:12px 12px;cursor:pointer;font:inherit}
.service-picker-option b{font-size:13px;font-weight:750}
.service-picker-option small{margin-top:3px;color:#929ca2;font-size:10px;font-weight:500}
.service-picker-icon{display:none!important}
.location-picker{position:relative}
.market-search .location-picker>input[type="text"]{border:0;outline:0;background:#fff;color:#182027;font:inherit;font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;padding:5px 0;min-width:0;width:100%;cursor:text}
.location-picker-menu{position:absolute;top:calc(100% + 10px);left:-6px;width:min(470px,92vw);max-height:480px;overflow:auto;background:#fff;border:1px solid #dfe3e6;border-radius:14px;box-shadow:0 24px 65px rgba(0,0,0,.35);padding:8px;text-transform:none;letter-spacing:0;color:#1a2329}
.location-picker-menu[hidden]{display:none!important}
.location-current{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;width:100%;border:0;border-bottom:1px solid #e8ecee;background:#fff;color:#355bd6;text-align:left;padding:12px 10px;cursor:pointer;font:inherit}
.location-current:hover,.location-current:focus{background:#f5f7ff;outline:0;border-radius:8px}
.location-current-mark{font-size:19px;text-align:center;color:#355bd6;transform:rotate(-28deg)}
.location-current b{display:block;font-size:13px}.location-current small{display:block;margin-top:2px;color:#8a959c;font-size:10px;font-weight:500}
.location-picker-heading{padding:12px 10px 7px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#7c878e}
.location-picker-options{display:grid}
.location-picker-option{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;color:#1a2329;text-align:left;padding:12px 10px;cursor:pointer;font:inherit}
.location-picker-option:last-child{border-bottom:0}.location-picker-option:hover,.location-picker-option:focus{background:#fff4f6;outline:0;border-radius:8px}
.location-picker-option[hidden]{display:none}.location-picker-option b{font-size:13px;font-weight:650}.location-picker-option small{color:#98a1a6;font-size:10px;font-weight:500}
.location-picker-empty{padding:16px 10px;color:#7b878e;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}
@media(max-width:700px){.location-picker-menu,.service-picker-menu{left:-13px;right:-13px;width:auto;max-height:390px}.market-hero{z-index:20}}

/* Stage 10.3 - Blog featured-image upload preview */
.blog-image-upload > small{display:block;margin:.3rem 0 .65rem;color:var(--muted,#91a0aa);font-weight:400}.blog-current-image{display:flex;align-items:center;gap:14px;padding:10px;margin:0 0 10px;border:1px solid #26343d;border-radius:12px;background:#0b1216}.blog-current-image img{width:128px;height:78px;object-fit:cover;border-radius:9px;border:1px solid #2b3942}.blog-current-image span{display:flex;flex-direction:column;gap:3px;min-width:0}.blog-current-image strong{font-size:.9rem}.blog-current-image small{color:#91a0aa;font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:460px}@media(max-width:640px){.blog-current-image{align-items:flex-start}.blog-current-image img{width:96px;height:68px}.blog-current-image small{max-width:210px}}

/* Stage 10.5 - booking date/time UX */
.booking-date-strip{display:grid;grid-template-columns:repeat(7,minmax(86px,1fr));gap:8px;overflow-x:auto;padding:2px 1px 8px;scrollbar-width:thin}.booking-date-card{appearance:none;border:1px solid #324149;background:#091014;color:#dfe5e8;border-radius:12px;padding:10px 8px;min-width:86px;display:grid;gap:3px;text-align:center;cursor:pointer;transition:.16s ease}.booking-date-card span{font-size:11px;color:#8f9ca3;text-transform:capitalize}.booking-date-card b{font-size:13px}.booking-date-card:hover{border-color:#875264;background:#111a20}.booking-date-card.selected{border-color:#e0718a;background:#4b2531;box-shadow:0 0 0 1px rgba(224,113,138,.16) inset}.booking-date-card.selected span{color:#f4b0bf}.booking-date-more{display:grid;grid-template-columns:auto minmax(170px,260px);gap:10px;align-items:center;margin-top:2px}.booking-date-more>span{font-size:12px;font-weight:800;color:#a4b0b6}.booking-date-more input{cursor:pointer}.booking-slot-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.booking-slot-title>label{font-weight:800}.booking-slot-title>span{font-size:12px;color:#e88aa0;text-transform:capitalize}.no-slots{display:grid;gap:4px}.no-slots b{color:#cfd6d9;font-size:13px}.no-slots span{color:#829098;font-size:12px}.slot-button{font-variant-numeric:tabular-nums}.booking-page-head{padding-top:58px}
@media(max-width:900px){.booking-date-strip{grid-template-columns:repeat(14,92px)}.booking-date-more{grid-template-columns:1fr}.booking-slot-title{align-items:flex-start;flex-direction:column;gap:4px}}

/* Stage 10.6 - custom booking calendar; no dependency on native date picker */
.booking-date-strip{display:flex!important;gap:8px!important;overflow-x:auto!important;padding:4px 1px 10px!important;scroll-snap-type:x proximity}.booking-date-card{flex:0 0 90px!important;scroll-snap-align:start}.booking-date-more{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin-top:8px!important;padding:12px 14px!important;border:1px solid #26343c!important;border-radius:12px!important;background:#0a1217!important}.booking-selected-date{display:grid;gap:3px}.booking-selected-date span{color:#829098;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.booking-selected-date strong{font-size:13px;text-transform:capitalize}.booking-calendar-open{appearance:none;border:1px solid #65404c;background:#3a2029;color:#f3d7de;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer;white-space:nowrap}.booking-calendar-open:hover{border-color:#df6e87;background:#4b2531}.booking-calendar-modal[hidden]{display:none!important}.booking-calendar-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px}.booking-calendar-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);cursor:default}.booking-calendar-panel{position:relative;z-index:1;width:min(440px,calc(100vw - 30px));background:#0d151a;border:1px solid #2a3941;border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.58);padding:20px}.booking-calendar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.booking-calendar-head h2{margin:3px 0 0;font-size:25px}.booking-calendar-close{width:36px;height:36px;border-radius:50%;border:1px solid #30414a;background:#111b21;color:#dce2e5;font-size:23px;line-height:1;cursor:pointer}.booking-calendar-nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin:20px 0 12px}.booking-calendar-nav strong{text-align:center;text-transform:capitalize}.booking-calendar-nav button{height:36px;border:1px solid #2d3b43;background:#10191f;color:#e5eaed;border-radius:9px;font-size:22px;cursor:pointer}.booking-calendar-nav button:disabled{opacity:.3;cursor:not-allowed}.booking-calendar-week,.booking-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.booking-calendar-week{margin-bottom:6px}.booking-calendar-week span{text-align:center;color:#78868e;font-size:10px;font-weight:800;text-transform:uppercase}.calendar-empty{min-height:40px}.calendar-day{appearance:none;aspect-ratio:1/1;border:1px solid transparent;border-radius:10px;background:#111a1f;color:#dfe6e9;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.calendar-day:hover:not(:disabled){border-color:#8b5363;background:#1d2025}.calendar-day.today{border-color:#50606a}.calendar-day.selected{border-color:#e0718a;background:#542735;color:#fff}.calendar-day:disabled{opacity:.2;cursor:not-allowed}.booking-calendar-note{margin:13px 0 0;color:#7f8d94;font-size:11px}.booking-calendar-opened{overflow:hidden}
@media(max-width:700px){.booking-date-more{align-items:stretch!important;flex-direction:column!important}.booking-calendar-open{width:100%}.booking-calendar-panel{padding:17px}.calendar-day{border-radius:8px}.booking-page-head{padding-top:42px}}

/* =========================================================
   Stage 10.7 - weekly booking UX (no horizontal swipe)
   ========================================================= */
.booking-week-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:2px 0 10px}.booking-week-range{font-size:13px;color:#dfe5e8;font-weight:900;text-transform:lowercase;font-variant-numeric:tabular-nums}.booking-week-actions{display:flex;align-items:center;gap:7px}.booking-week-arrow,.booking-week-next{appearance:none;border:0;background:transparent;color:#e8899f;font:inherit;font-weight:850;cursor:pointer;padding:7px 8px;border-radius:8px}.booking-week-arrow{width:34px;height:34px;display:grid;place-items:center;border:1px solid #2d3c44;color:#dce3e6;font-size:21px}.booking-week-next:hover,.booking-week-arrow:hover:not(:disabled){background:#172027}.booking-week-arrow:disabled,.booking-week-next:disabled{opacity:.28;cursor:not-allowed}.booking-calendar-compact{padding:7px 10px;background:#11191e;border-color:#33434b;color:#dbe2e5}.booking-calendar-compact:hover{background:#182128;border-color:#66505a}.booking-week-grid.booking-date-strip{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;overflow:visible!important;padding:2px 0 6px!important;scroll-snap-type:none!important;scrollbar-width:none!important}.booking-week-grid.booking-date-strip::-webkit-scrollbar{display:none!important}.booking-week-grid .booking-date-card{min-width:0!important;flex:none!important;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:10px!important;padding:7px 2px!important;display:grid!important;place-items:center!important;gap:5px!important}.booking-week-grid .booking-date-card span{font-size:10px;color:#7f8c94;text-transform:none;white-space:nowrap}.booking-week-grid .booking-date-card b{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:13px;color:#dfe6e9;border:1px solid transparent;background:#0a1217;transition:.15s ease}.booking-week-grid .booking-date-card:hover:not(:disabled) b{border-color:#78505d;background:#121b20}.booking-week-grid .booking-date-card.today span{color:#e88aa0;font-weight:850}.booking-week-grid .booking-date-card.today b{border-color:#6b4652}.booking-week-grid .booking-date-card.selected b{background:#d75f7a!important;border-color:#ed879d!important;color:#fff!important;box-shadow:0 6px 18px rgba(215,95,122,.22)}.booking-week-grid .booking-date-card.selected span{color:#f1a0b2;font-weight:900}.booking-week-grid .booking-date-card:disabled{opacity:.25;cursor:not-allowed}.booking-selected-date-inline{display:flex;align-items:baseline;gap:8px;margin-top:2px;padding:8px 0 0}.booking-selected-date-inline span{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#708087;font-weight:850}.booking-selected-date-inline strong{font-size:11px;color:#aeb9be;text-transform:capitalize}.booking-no-slots-card{width:100%;display:grid;justify-items:center;text-align:center;gap:8px;padding:20px 14px;border:1px dashed #34434b;border-radius:13px;background:#0a1217}.booking-no-slots-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#171d2c;color:#aeb8d7;font-size:24px}.booking-no-slots-card>b{font-size:13px;color:#d8dfe2}.booking-next-status{font-size:12px;color:#8d9aa1;line-height:1.5}.booking-next-status strong{color:#ef8aa1;text-transform:capitalize}.booking-next-available{appearance:none;border:1px solid #d96882;background:#d15c77;color:#fff;border-radius:999px;padding:10px 16px;font-weight:850;cursor:pointer;margin-top:3px}.booking-next-available:hover{background:#df6b86}.booking-next-available[hidden]{display:none!important}

@media(max-width:700px){.booking-week-toolbar{gap:8px}.booking-week-range{font-size:11px}.booking-week-actions{gap:4px}.booking-week-arrow{width:31px;height:31px;padding:0}.booking-week-next{font-size:11px;padding:7px 4px}.booking-calendar-compact{width:31px;height:31px;padding:0;display:grid;place-items:center}.booking-calendar-compact .calendar-button-text{display:none}.booking-week-grid.booking-date-strip{gap:2px!important}.booking-week-grid .booking-date-card{padding:6px 0!important}.booking-week-grid .booking-date-card span{font-size:9px}.booking-week-grid .booking-date-card b{width:32px;height:32px;font-size:12px}.booking-selected-date-inline{display:none}.booking-form-card{padding-bottom:max(18px,env(safe-area-inset-bottom))}.booking-submit{padding-bottom:max(14px,calc(env(safe-area-inset-bottom) + 8px))}.booking-page{scroll-padding-bottom:92px}}
@media(max-width:390px){.booking-week-range{font-size:10px}.booking-week-next{font-size:10px}.booking-week-grid .booking-date-card b{width:30px;height:30px}.booking-week-grid .booking-date-card span{font-size:8.5px}.booking-no-slots-card{padding:16px 10px}}

/* Stage 10.13 · appointment lifecycle + list cancellation */
.status-ended{background:#20272d;color:#b9c3c9}.appointment-status-note{margin:10px 0 0!important;color:#84929a!important;font-size:11px!important}.appointment-card-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.inline-cancel-form{margin:0;display:inline-flex}.inline-cancel-form .btn{white-space:nowrap}@media(max-width:700px){.appointment-card-actions{width:100%}.appointment-card-actions>a,.appointment-card-actions>form{flex:1 1 auto}.inline-cancel-form .btn{width:100%}}

/* =========================================================
   Stage 10.14 - Salon team cards polish
   Wider, shorter specialist cards with safe text wrapping.
   Scoped to the salon profile team section so global cards
   on search/city pages keep their existing layout.
   ========================================================= */
#echipa .pro-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
#echipa .pro-card{
  grid-template-columns:76px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px 16px;
  min-height:108px;
  border-radius:13px;
}
#echipa .pro-avatar{
  width:76px;
  height:76px;
  flex:none;
}
#echipa .pro-card>div:last-child{
  min-width:0;
  width:100%;
}
#echipa .pro-card .mini-tag{
  display:block;
  max-width:100%;
  margin:0;
  font-size:10px;
  line-height:1.35;
  letter-spacing:.075em;
  white-space:normal;
  overflow-wrap:break-word;
}
#echipa .pro-card h3{
  margin:5px 0 4px;
  font-size:16px;
  line-height:1.18;
  white-space:normal;
  overflow-wrap:break-word;
}
#echipa .pro-card p{
  margin:0 0 4px;
  line-height:1.3;
}
#echipa .pro-card .rating{
  display:block;
  line-height:1.25;
}

@media(max-width:1000px){
  #echipa .pro-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:620px){
  #echipa .pro-grid{grid-template-columns:1fr;}
  #echipa .pro-card{
    grid-template-columns:68px minmax(0,1fr);
    min-height:94px;
    padding:12px 14px;
  }
  #echipa .pro-avatar{width:68px;height:68px;}
  #echipa .pro-card h3{font-size:15px;}
}

/* =========================================================
   STAGE 10.15 - Homepage city + expert visual polish
   Scoped to the Marketplace homepage to avoid changing city/search pages.
   ========================================================= */
.home-city-band{background:#081014;border-block:1px solid #18242a}
.home-section-title{margin-bottom:26px}
.home-section-title h2{font-size:38px;letter-spacing:-.025em}
.home-city-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.home-city-grid .home-city-card:first-child{grid-column:auto}
.home-city-card{height:278px;border-radius:14px;border:1px solid #2b3840;background:#0b1216;box-shadow:0 10px 28px rgba(0,0,0,.18);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.home-city-card:hover{transform:translateY(-3px);border-color:#7a4051;box-shadow:0 16px 34px rgba(0,0,0,.30)}
.home-city-card img{filter:saturate(.94) contrast(1.02);transform:scale(1.002)}
.home-city-card:after{background:linear-gradient(0deg,rgba(3,7,9,.96) 0%,rgba(3,7,9,.72) 24%,rgba(3,7,9,.18) 58%,transparent 78%)}
.home-city-card div{bottom:16px;left:17px;right:14px}
.home-city-card h3{font-size:21px;line-height:1.05;margin-bottom:7px;letter-spacing:-.015em}
.home-city-card span{font-size:11px;color:#c7ced2}
.home-experts{padding-top:64px}
.home-pro-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.home-pro-grid .pro-card{min-height:174px;padding:19px 17px;grid-template-columns:76px minmax(0,1fr);gap:15px;border-color:#2a3740;background:linear-gradient(145deg,#0d151a,#0a1115);box-shadow:0 8px 24px rgba(0,0,0,.14)}
.home-pro-grid .pro-avatar{width:76px;height:76px;border-width:2px}
.home-pro-grid .pro-card .mini-tag{font-size:10px;line-height:1.25}
.home-pro-grid .pro-card h3{font-size:16px;line-height:1.15;margin:7px 0 7px;overflow-wrap:anywhere}
.home-pro-grid .pro-card p{font-size:11px;line-height:1.45;margin-bottom:8px;min-height:31px}
.home-pro-grid .pro-card .rating{font-size:12px}
.home-market-cta{margin-top:52px;margin-bottom:58px;padding:38px 28px;background:radial-gradient(circle at 15% 20%,rgba(116,49,68,.16),transparent 34%),linear-gradient(120deg,#171219,#0b1216);box-shadow:0 12px 38px rgba(0,0,0,.16)}
.home-market-cta h2{font-size:36px;letter-spacing:-.02em}
.home-market-cta p{font-size:16px;line-height:1.55}
.home-market-cta .btn{min-width:154px;justify-content:center}
@media(max-width:1100px){.home-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-city-grid .home-city-card:first-child{grid-column:auto}.home-pro-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.home-section-title h2{font-size:32px}.home-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-city-card{height:230px}.home-pro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.home-pro-grid .pro-card{min-height:0;grid-template-columns:58px minmax(0,1fr);padding:14px;gap:11px}.home-pro-grid .pro-avatar{width:58px;height:58px}.home-market-cta{padding:27px 21px}.home-market-cta h2{font-size:30px}}
@media(max-width:480px){.home-city-grid{grid-template-columns:1fr 1fr}.home-city-card{height:205px}.home-city-card h3{font-size:17px}.home-pro-grid{grid-template-columns:1fr}.home-pro-grid .pro-card{grid-template-columns:70px minmax(0,1fr)}.home-pro-grid .pro-avatar{width:70px;height:70px}}

/* =========================================================
   STAGE 10.16 - City service picker stacking/clipping hotfix
   Keep the service dropdown above the following city sections.
   ========================================================= */
.location-hero{
  overflow:visible;
  z-index:30;
}
.location-hero .location-bg{
  overflow:hidden;
  z-index:0;
}
.location-hero .container{
  position:relative;
  z-index:40;
}
.location-hero .market-search,
.location-hero .service-picker{
  position:relative;
  z-index:60;
}
.location-hero .service-picker-menu{
  z-index:9999;
}
.location-hero + .market-section{
  position:relative;
  z-index:1;
}

@media(max-width:700px){
  .location-hero{overflow:visible;z-index:30}
  .location-hero .service-picker-menu{max-height:360px}
}

/* Stage 11.1 - advanced marketplace search */
.search-main-form{max-width:980px!important;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) auto!important;overflow:visible!important;position:relative;z-index:20}
.search-main-form>.search-advanced-filters{grid-column:1/-1}
.search-advanced-filters{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(150px,.8fr) auto auto;gap:9px;align-items:end;margin-top:10px;padding:13px;border:1px solid #243139;border-radius:13px;background:#0a1115;color:#dbe1e4}
.search-advanced-filters label{display:grid;gap:5px;min-width:0}.search-advanced-filters label>span{font-size:9px;color:#829098;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.search-advanced-filters select{width:100%;min-width:0;background:#10191e;color:#e7ebed;border:1px solid #2b3941;border-radius:9px;padding:10px 11px;font:inherit;font-size:11px;outline:none}.search-advanced-filters select:focus{border-color:#b9556e;box-shadow:0 0 0 3px rgba(216,94,123,.1)}
.search-advanced-filters .search-check{display:flex;align-items:center;gap:8px;min-height:38px;padding:0 4px}.search-advanced-filters .search-check input{accent-color:#d85e7b;width:16px;height:16px}.search-advanced-filters .search-check span{text-transform:none;letter-spacing:0;font-size:11px;color:#dce2e5;white-space:nowrap}
.search-filter-apply{padding:10px 13px;font-size:11px;white-space:nowrap}.search-reset{align-self:center;color:#d97a90;font-size:11px;font-weight:750;padding:8px 4px;white-space:nowrap}.search-reset:hover{color:#f19aae}
.active-search-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.active-search-chips span{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border-radius:999px;border:1px solid #4b2a34;background:#1d1216;color:#eaa0b0;font-size:10px;font-weight:750}
.search-type-tabs a{display:inline-flex;align-items:center;gap:6px}.search-type-tabs a small{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:#152027;color:#89969d;font-size:9px}.search-type-tabs a.active small{background:#572738;color:#ffdce4}
.search-results-section{padding-top:34px}.search-market-grid .market-card,.search-pro-grid .pro-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.search-market-grid .market-card:hover,.search-pro-grid .pro-card:hover{transform:translateY(-2px);border-color:#49303a;box-shadow:0 16px 36px rgba(0,0,0,.22)}
.pro-price-from{display:block;margin-top:5px;color:#dce2e5;font-size:10px;font-weight:750}
@media(max-width:980px){.search-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.search-filter-apply,.search-reset{align-self:end}.search-main-form{grid-template-columns:1fr 1fr auto!important}}
@media(max-width:700px){.search-main-form{grid-template-columns:1fr!important}.search-main-form>.search-advanced-filters{grid-column:1}.search-advanced-filters{grid-template-columns:1fr 1fr;padding:11px}.search-advanced-filters .search-check{min-height:40px}.search-filter-apply{width:100%}.search-reset{text-align:center}.active-search-chips{margin-top:10px}}
@media(max-width:430px){.search-advanced-filters{grid-template-columns:1fr}.search-advanced-filters .search-check{padding:0}.search-filter-apply,.search-reset{width:100%;text-align:center}}

/* Stage 11.3 - availability previews */
.availability-preview{display:flex;align-items:center;gap:10px;margin:14px 0 8px;padding:10px 12px;border:1px solid rgba(255,126,157,.22);background:rgba(255,126,157,.055);border-radius:12px;min-width:0}.availability-preview>div{display:flex;flex-direction:column;min-width:0;line-height:1.15}.availability-preview small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#8797a1)}.availability-preview strong{font-size:13px;color:#fff;margin-top:4px}.availability-dot{width:8px;height:8px;border-radius:50%;background:#58c98b;box-shadow:0 0 0 4px rgba(88,201,139,.12);flex:0 0 auto}.availability-preview.unavailable{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.02)}.availability-preview.unavailable .availability-dot{background:#66747d;box-shadow:none}.availability-book{margin-left:auto;flex:0 0 auto;border-radius:9px;padding:8px 10px;background:var(--rose,#d65378);color:#fff!important;font-size:12px;font-weight:700;text-decoration:none}.availability-book:hover{filter:brightness(1.08)}
.pro-card-copy{min-width:0;flex:1}.pro-availability{display:grid;grid-template-columns:1fr auto;gap:2px 10px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.07);font-size:11px}.pro-availability span{grid-column:1;color:var(--muted,#8797a1)}.pro-availability strong{grid-column:1;color:#fff}.pro-availability a{grid-column:2;grid-row:1/3;align-self:center;color:#ff7e9d;font-weight:700;text-decoration:none}
.search-advanced-filters{grid-template-columns:repeat(4,minmax(120px,1fr)) auto auto auto!important}
@media(max-width:900px){.search-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}.availability-preview{margin-top:10px}}
@media(max-width:560px){.search-advanced-filters{grid-template-columns:1fr!important}.availability-preview{padding:9px 10px}.availability-book{padding:7px 9px}.pro-availability{grid-template-columns:1fr auto}}

/* Stage 11.4 - search professional cards grid/indexing hotfix */
.search-pro-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  width:100%;
  max-width:100%;
  overflow:visible;
}
.search-pro-grid > *{min-width:0;max-width:100%;}
.search-pro-grid .pro-card{
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:178px;
  grid-template-columns:76px minmax(0,1fr);
  padding:18px;
  gap:15px;
  overflow:hidden;
  box-sizing:border-box;
}
.search-pro-grid .pro-avatar{width:76px;height:76px;flex:0 0 76px;}
.search-pro-grid .pro-card-copy{min-width:0;max-width:100%;overflow:hidden;}
.search-pro-grid .pro-card h3,
.search-pro-grid .pro-card p,
.search-pro-grid .pro-card .mini-tag{
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:normal;
}
.search-pro-grid .pro-availability{
  min-width:0;
  max-width:100%;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:8px;
}
.search-pro-grid .pro-availability span,
.search-pro-grid .pro-availability strong{
  min-width:0;
  overflow-wrap:anywhere;
}
.search-pro-grid .pro-availability a{
  white-space:nowrap;
  max-width:100%;
}
.search-results-section,.search-section,.container{min-width:0;}
@media(max-width:1100px){.search-pro-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){
  .search-pro-grid{grid-template-columns:1fr;gap:12px;}
  .search-pro-grid .pro-card{grid-template-columns:68px minmax(0,1fr);min-height:0;padding:15px;}
  .search-pro-grid .pro-avatar{width:68px;height:68px;}
}

/* Stage 11.5 - homepage/top-professionals availability card layout */
/* Availability added in 11.3 made the old 5-column horizontal pro-card too narrow. */
.pro-grid:not(.search-pro-grid){
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  width:100%;
  max-width:100%;
}
.pro-grid:not(.search-pro-grid) > *{min-width:0;}
.pro-grid:not(.search-pro-grid) .pro-card{
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:258px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  padding:16px;
  overflow:hidden;
}
.pro-grid:not(.search-pro-grid) .pro-avatar{
  width:66px;
  height:66px;
  min-width:66px;
  flex:0 0 66px;
}
.pro-grid:not(.search-pro-grid) .pro-card-copy{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
}
.pro-grid:not(.search-pro-grid) .pro-card h3{
  font-size:15px;
  line-height:1.2;
  margin:5px 0;
  max-width:100%;
  overflow-wrap:anywhere;
}
.pro-grid:not(.search-pro-grid) .pro-card p,
.pro-grid:not(.search-pro-grid) .pro-card .mini-tag{
  max-width:100%;
  overflow-wrap:anywhere;
}
.pro-grid:not(.search-pro-grid) .pro-availability{
  width:100%;
  max-width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:3px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.07);
}
.pro-grid:not(.search-pro-grid) .pro-availability span,
.pro-grid:not(.search-pro-grid) .pro-availability strong{
  grid-column:1;
  max-width:100%;
  min-width:0;
  overflow-wrap:anywhere;
}
.pro-grid:not(.search-pro-grid) .pro-availability a{
  grid-column:1;
  grid-row:auto;
  justify-self:start;
  margin-top:5px;
  white-space:nowrap;
  font-size:11px;
  line-height:1;
  padding:7px 10px;
  border:1px solid rgba(255,126,157,.35);
  border-radius:8px;
  background:rgba(255,126,157,.08);
}
@media(max-width:1180px){
  .pro-grid:not(.search-pro-grid){grid-template-columns:repeat(3,minmax(0,1fr));}
  .pro-grid:not(.search-pro-grid) .pro-card{min-height:230px;}
}
@media(max-width:820px){
  .pro-grid:not(.search-pro-grid){grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:520px){
  .pro-grid:not(.search-pro-grid){grid-template-columns:1fr;}
  .pro-grid:not(.search-pro-grid) .pro-card{
    min-height:0;
    display:grid;
    grid-template-columns:68px minmax(0,1fr);
    align-items:start;
    gap:13px;
  }
  .pro-grid:not(.search-pro-grid) .pro-avatar{width:68px;height:68px;}
}

/* =========================================================
   STAGE 11.7 - Search UX simplification
   Auto-applied filters, removable chips, mobile filter drawer.
   ========================================================= */
.search-main-form{
  max-width:980px!important;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.9fr) auto!important;
  gap:5px!important;
  background:#fff;
  padding:6px;
  border-radius:14px;
}
.search-main-form .market-search-field{
  color:#111820!important;
  font-weight:850!important;
}
.search-main-form .market-search-label{
  color:#111820!important;
  font-weight:900!important;
  letter-spacing:.075em;
}
.search-main-form .market-search-field>input[type="text"],
.search-main-form .location-picker>input[type="text"]{
  color:#66717a!important;
  font-weight:500!important;
}
.search-primary-submit{min-width:112px;}

.search-filter-toggle{display:none;}
.search-advanced-filters{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr)) auto!important;
  gap:10px!important;
  align-items:end!important;
  margin-top:4px!important;
  padding:10px 11px!important;
  border:1px solid #26343c!important;
  border-radius:11px!important;
  background:#0b1317!important;
}
.search-advanced-filters label{display:grid;gap:5px;min-width:0;}
.search-advanced-filters label>span{
  color:#9aa6ad!important;
  font-size:9px!important;
  letter-spacing:.085em!important;
  font-weight:850!important;
}
.search-advanced-filters select{
  min-height:38px;
  background:#101a1f!important;
  border:1px solid #2b3b44!important;
  border-radius:9px!important;
  color:#eef2f4!important;
  padding:9px 10px!important;
  font-size:11px!important;
}
.search-advanced-filters select:focus{border-color:#b9556e!important;box-shadow:0 0 0 3px rgba(216,94,123,.1)!important;}
.search-reset-all{
  align-self:center;
  color:#db7b92;
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
  padding:8px 2px;
}

.search-type-tabs{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px!important;
  width:min(440px,100%);
  margin-top:13px!important;
}
.search-type-tabs a{
  width:100%;
  min-height:36px;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  text-align:center;
  padding:7px 10px!important;
  box-sizing:border-box;
}
.search-type-tabs a>span{display:block;text-align:center;line-height:1;}
.search-type-tabs a small{flex:0 0 auto;}

.active-search-chips-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:12px;
  max-width:980px;
}
.active-search-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0!important;
  min-width:0;
}
.active-search-chips a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:30px;
  padding:6px 8px 6px 11px;
  border-radius:999px;
  border:1px solid #59303d;
  background:#201318;
  color:#f0a0b2;
  font-size:10px;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.active-search-chips a:hover{background:#2a171e;border-color:#86445a;}
.active-search-chips a b{
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  color:#ffd4de;
  font-size:14px;
  line-height:1;
  font-weight:500;
}
.active-search-chips .sort-chip{
  border-color:#374750;
  background:#111b20;
  color:#cbd5da;
}
.chips-clear-all{
  margin-left:auto;
  flex:0 0 auto;
  color:#9aa6ad;
  font-size:10px;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px;
}
.chips-clear-all:hover{color:#e7889f;}

@media(max-width:900px){
  .search-advanced-filters{grid-template-columns:repeat(2,minmax(0,1fr)) auto!important;}
}

@media(max-width:700px){
  .search-listing-head{padding-top:24px!important;}
  .search-listing-head h1{font-size:38px!important;line-height:1.02;margin-bottom:18px!important;}
  .search-main-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    background:transparent!important;
    padding:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .search-main-form>.market-search-field{
    background:#fff;
    border:0!important;
    border-radius:12px!important;
    padding:9px 13px!important;
    min-height:58px;
    box-shadow:0 7px 22px rgba(0,0,0,.14);
  }
  .search-main-form>.market-search-field:first-of-type,
  .search-main-form>.market-search-field:nth-of-type(2){border-bottom:0!important;}
  .search-primary-submit{
    width:100%!important;
    min-height:46px;
    border-radius:11px!important;
  }
  .search-filter-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:43px;
    border:1px solid #31414a;
    border-radius:11px;
    background:#0d161b;
    color:#eef2f4;
    font:inherit;
    font-size:12px;
    font-weight:800;
    cursor:pointer;
  }
  .search-filter-toggle:before{content:"⚙";font-size:12px;color:#df718b;}
  .search-filter-toggle small{
    display:grid;
    place-items:center;
    min-width:20px;height:20px;
    border-radius:99px;
    background:#5b2839;
    color:#ffdce5;
    font-size:9px;
  }
  .search-advanced-filters{
    display:none!important;
    grid-template-columns:1fr!important;
    margin-top:0!important;
    padding:12px!important;
    gap:11px!important;
  }
  .search-advanced-filters.is-open{display:grid!important;}
  .search-reset-all{text-align:center;padding:6px 0 2px;}

  .search-type-tabs{
    width:100%;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px!important;
    margin-top:12px!important;
  }
  .search-type-tabs a{
    min-width:0;
    min-height:38px;
    padding:7px 5px!important;
    gap:5px!important;
    font-size:10px!important;
    justify-content:center!important;
    text-align:center!important;
  }
  .search-type-tabs a>span{min-width:0;text-align:center;}
  .search-type-tabs a small{min-width:18px;height:18px;font-size:8px;padding:0 4px;}

  .active-search-chips-wrap{
    display:block;
    margin-top:10px;
    width:100%;
    overflow:hidden;
  }
  .active-search-chips{
    flex-wrap:nowrap!important;
    overflow-x:auto;
    overflow-y:hidden;
    width:100%;
    padding:0 0 4px;
    scrollbar-width:none;
    -ms-overflow-style:none;
    overscroll-behavior-x:contain;
  }
  .active-search-chips::-webkit-scrollbar{display:none;}
  .active-search-chips a{flex:0 0 auto;}
  .chips-clear-all{display:inline-block;margin:5px 0 0;font-size:9px;}
  .search-results-section{padding-top:24px!important;}
}

@media(max-width:390px){
  .search-type-tabs a{font-size:9px!important;padding-inline:3px!important;}
  .search-type-tabs a small{min-width:17px;height:17px;}
}

/* =========================================================
   STAGE 11.9 - Rich, verified reviews
   ========================================================= */
.verified-review-badge,.verified-review-inline{display:inline-flex;align-items:center;gap:5px;color:#f2a0b2;font-weight:800;font-size:10px;letter-spacing:.02em}
.verified-review-badge{border:1px solid rgba(239,132,153,.35);background:rgba(239,132,153,.09);border-radius:999px;padding:6px 9px;white-space:nowrap}
.review-status-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.review-title-row{align-items:center}.review-sort{display:flex;align-items:center;gap:8px}.review-sort label{font-size:10px;color:#839099;text-transform:uppercase;font-weight:800;letter-spacing:.07em}.review-sort select{background:#0d151a;color:#dce2e5;border:1px solid #2a3941;border-radius:9px;padding:9px 12px;outline:0}
.review-summary{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;border:1px solid #26343b;background:#0b1216;border-radius:15px;padding:20px;margin-bottom:18px;align-items:center}.review-score{display:grid;gap:5px;text-align:center;border-right:1px solid #26343b;padding-right:24px}.review-score strong{font-family:Georgia,serif;font-size:48px;line-height:1}.review-score small{color:#7e8b93}.review-stars{color:#e8b578;letter-spacing:.04em}.review-bars{display:grid;gap:7px}.review-bars>div{display:grid;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:8px;font-size:11px;color:#aeb8bd}.review-bars i{height:7px;background:#1c282f;border-radius:999px;overflow:hidden}.review-bars i b{display:block;height:100%;background:#e8b578;border-radius:999px}.review-bars em{font-style:normal;text-align:right;color:#75838b}
.review-grid.rich{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.review-card-rich{min-width:0}.review-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.review-card-rich h3{font-size:15px;margin:12px 0 0}.review-card-rich>p{margin:9px 0 13px}.review-rating-text{font-size:10px;color:#839099;margin-left:7px}.review-author{border-top:1px solid #233139;padding-top:12px;margin-top:12px}.review-author b,.review-author small{display:block}.review-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.review-photo-grid a{display:block;aspect-ratio:1;border-radius:9px;overflow:hidden;border:1px solid #2b3940;background:#111b20}.review-photo-grid img{width:100%;height:100%;object-fit:cover;display:block}.salon-review-reply{margin-top:13px;border-left:2px solid #e98198;background:#12191e;border-radius:0 9px 9px 0;padding:11px 13px}.salon-review-reply span{display:block;color:#ef91a6;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.salon-review-reply p{margin:6px 0 0!important;color:#c8d0d4!important;font-size:12px;line-height:1.55}.review-empty-state{border:1px dashed #2a3941;border-radius:14px;padding:24px;text-align:center;color:#8e9ba2}.review-empty-state strong{color:#dce3e6}.review-empty-state p{margin:6px 0 0}
.review-photo-field span{display:flex;justify-content:space-between;gap:10px}.review-photo-field small{color:#738189;font-weight:400}.review-photo-field input[type=file]{border:1px dashed #34434b;background:#091014;border-radius:9px;padding:10px;color:#aeb7bc}
.admin-review-list,.salon-review-manager{display:grid;gap:12px}.admin-review-card,.salon-review-manager>article{border:1px solid #27353d;background:#0d151a;border-radius:13px;padding:16px}.admin-review-top,.admin-review-rating{display:flex;justify-content:space-between;gap:10px;align-items:center}.admin-review-top small{display:block;color:#78868e;margin-top:3px}.admin-review-rating{justify-content:flex-start;margin:12px 0}.admin-review-rating small{color:#77858c}.admin-review-card>h3,.salon-review-manager h3{margin:8px 0}.admin-review-card>p,.salon-review-manager>article>p{color:#aeb8bd;line-height:1.55}.admin-review-actions{display:grid;grid-template-columns:auto minmax(280px,1fr);gap:12px;margin:14px 0}.admin-review-actions form:first-child{display:flex;gap:7px;align-items:flex-start}.admin-review-actions select,.admin-review-reply-form textarea,.salon-reply-form textarea{background:#091014;color:#e2e7e9;border:1px solid #2b3941;border-radius:8px;padding:9px}.admin-review-reply-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.salon-reply-form{display:grid;gap:9px;margin-top:14px;border-top:1px solid #26343b;padding-top:13px}.salon-reply-form label{display:grid;gap:7px;color:#919ea5;font-size:11px}.salon-reply-form .btn{justify-self:start}
@media(max-width:760px){.review-title-row{align-items:flex-start;flex-direction:column}.review-sort{width:100%}.review-sort select{flex:1}.review-summary{grid-template-columns:1fr;gap:16px}.review-score{border-right:0;border-bottom:1px solid #26343b;padding:0 0 16px}.review-grid.rich{grid-template-columns:1fr}.review-card-head{flex-direction:column}.verified-review-badge{white-space:normal}.admin-review-actions{grid-template-columns:1fr}.admin-review-reply-form{grid-template-columns:1fr}.admin-review-top{align-items:flex-start;flex-direction:column}.review-photo-field span{display:grid}}

/* Stage 11.11 - Offers filters + direct booking */
.offers-toolbar-section{padding-top:26px}.offers-filter-bar{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:12px;padding:14px;border:1px solid #233038;border-radius:16px;background:#0c1419}.offers-filter-bar label{display:grid;gap:7px}.offers-filter-bar label>span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#aeb7bd}.offers-filter-bar select{width:100%;min-width:0;background:#111b21;border:1px solid #2a3840;color:#f5f7f8;border-radius:11px;padding:12px 13px;font:inherit;outline:0}.offers-filter-bar select:focus{border-color:#d95d7a;box-shadow:0 0 0 3px rgba(217,93,122,.12)}.offer-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0 0}.offer-filter-chips a{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:#20151b;border:1px solid #5d3342;color:#f5d7df;font-size:12px}.offer-filter-chips a span{font-size:16px;line-height:1}.offer-filter-chips .clear{background:transparent;border-color:transparent;color:#aeb7bd}.offers-results-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;color:#9da9af;font-size:12px}.offers-results-head strong{color:#f4f6f7;font-size:14px}.offers-results-section{padding-top:20px}.offer-card.enriched{display:flex;flex-direction:column}.offer-card.enriched .card-body{display:flex;flex-direction:column;flex:1}.offer-expiry{position:absolute;top:12px;right:12px;background:rgba(7,11,14,.88);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 9px;font-size:10px;font-weight:800;color:#fff}.offer-meta-line{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#89969d;font-size:11px}.offer-services-list{padding:9px 10px;border-radius:10px;background:#111b21;border:1px solid #202d34;color:#cbd2d6;font-size:11px;line-height:1.45;margin:0 0 14px}.offer-price-row{margin-top:auto;border-top:1px solid #202d34;padding-top:14px}.offer-price-row div{display:flex;align-items:baseline;gap:9px}.offer-price-row s{font-size:13px}.offer-price-row strong{font-size:21px;color:#fff}.offer-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.offer-actions .btn{justify-content:center;text-align:center}.offer-note{display:block;color:#7f8b91;margin-top:9px;line-height:1.35}.booking-offer-applied{margin-top:10px;display:flex;flex-wrap:wrap;align-items:center;gap:7px}.booking-offer-applied span{font-size:9px;font-weight:900;letter-spacing:.08em;color:#f28ba2;border:1px solid #74374a;background:#24151b;padding:5px 7px;border-radius:999px}.booking-offer-applied b{font-size:12px}.booking-offer-applied small{width:100%;color:#929fa6}.offer-booking-price{display:flex!important;align-items:baseline;gap:7px}.offer-booking-price s{font-weight:500;color:#7f8b91;font-size:12px}
@media(max-width:700px){.offers-filter-bar{grid-template-columns:1fr}.offers-results-head{align-items:flex-start;flex-direction:column}.offers-grid{grid-template-columns:1fr!important}.offer-actions{grid-template-columns:1fr}.offer-card.enriched .card-media{height:190px}}

/* Stage 11.12 - Blog -> Marketplace bridge */
.article-marketplace-bridge{margin-top:48px;margin-bottom:56px;padding:28px;border:1px solid rgba(220,83,125,.28);border-radius:22px;background:linear-gradient(135deg,rgba(220,83,125,.07),rgba(255,255,255,.015));}
.article-marketplace-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px}.article-marketplace-intro h2{margin:6px 0 8px;font-size:clamp(1.7rem,3vw,2.5rem)}.article-marketplace-intro p{margin:0;max-width:700px;color:var(--muted)}
.article-service-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.article-service-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--border);border-radius:14px;background:rgba(7,14,18,.72);text-decoration:none;color:var(--text);transition:.18s ease}.article-service-link:hover{border-color:rgba(220,83,125,.55);transform:translateY(-1px)}.article-service-link small{display:block;color:var(--pink);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}.article-service-link strong{font-size:1rem}.article-service-link-meta{color:var(--muted);font-size:.86rem;text-align:right;white-space:nowrap}
.article-salon-block{margin-top:30px}.article-salon-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.article-salon-card{overflow:hidden;border:1px solid var(--border);border-radius:18px;background:var(--card);min-width:0}.article-salon-image{display:block;aspect-ratio:16/9;overflow:hidden;background:#111}.article-salon-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease}.article-salon-card:hover .article-salon-image img{transform:scale(1.025)}.article-salon-card-body{padding:16px;display:flex;flex-direction:column;gap:12px}.article-salon-card-body small{color:var(--muted)}.article-salon-card-body h3{margin:4px 0 0;font-size:1.2rem}.article-salon-card-body h3 a{color:var(--text);text-decoration:none}.article-salon-rating{font-weight:800;color:#f5b45c}.article-salon-rating span{color:var(--muted);font-weight:600}.article-salon-service{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--border)}.article-salon-service span{min-width:0}.article-salon-service strong{color:var(--pink);white-space:nowrap}.article-salon-actions{display:flex;gap:8px;flex-wrap:wrap}.blog-linking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.blog-linking-grid label{display:flex;flex-direction:column;gap:8px}.blog-linking-grid select[multiple]{min-height:220px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:8px}.blog-linking-grid option{padding:7px 8px;border-radius:6px}
@media(max-width:900px){.article-salon-grid{grid-template-columns:1fr 1fr}.article-marketplace-intro{align-items:flex-start;flex-direction:column}.blog-linking-grid{grid-template-columns:1fr}}
@media(max-width:640px){.article-marketplace-bridge{padding:18px;margin-top:34px}.article-service-links,.article-salon-grid{grid-template-columns:1fr}.article-service-link{align-items:flex-start}.article-service-link-meta{white-space:normal}.article-salon-actions .btn{flex:1;text-align:center}}

/* Stage 11.13 - Salon onboarding MVP */
.business-landing{overflow:hidden}.business-hero{padding:88px 0 72px;background:radial-gradient(circle at 78% 18%,rgba(206,79,113,.16),transparent 34%),linear-gradient(180deg,#080d10,#070b0e)}.business-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.75fr);gap:70px;align-items:center}.business-hero h1{font-family:Georgia,serif;font-size:clamp(52px,6vw,86px);line-height:.96;max-width:720px;margin:14px 0 22px}.business-hero p{max-width:680px;font-size:18px;line-height:1.65;color:#a9b4ba}.business-hero-actions,.business-proof{display:flex;gap:12px;flex-wrap:wrap}.business-hero-actions{margin-top:30px}.business-proof{margin-top:24px;color:#aeb8bd;font-size:13px}.business-preview{position:relative}.business-preview:before{content:"";position:absolute;inset:12% -20%;background:rgba(210,78,112,.16);filter:blur(70px)}.business-preview-card{position:relative;padding:28px;border:1px solid #2a3941;border-radius:24px;background:linear-gradient(145deg,#10191e,#0b1115);box-shadow:0 30px 80px rgba(0,0,0,.35)}.business-preview-card h3{font-size:28px;margin:8px 0 20px}.business-preview-cover{height:170px;border-radius:16px;background:linear-gradient(135deg,rgba(218,86,120,.28),rgba(17,25,30,.2)),url('../images/onboarding/salon-profile-preview.png') center/cover}.business-preview-row{display:flex;justify-content:space-between;gap:20px;padding:15px 2px;border-bottom:1px solid #223038}.business-preview-row span{color:#89979f}.business-benefits,.business-faq{padding:82px 0}.section-heading{margin-bottom:34px}.section-heading h2{font-family:Georgia,serif;font-size:42px;margin:8px 0}.business-benefit-grid,.business-step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.business-benefit-grid article,.business-step-grid article{padding:26px;border:1px solid #26353d;border-radius:18px;background:#0d151a}.business-benefit-grid b{color:#ed7892;font-size:13px}.business-benefit-grid h3,.business-step-grid h3{font-size:21px;margin:14px 0 10px}.business-benefit-grid p,.business-step-grid p{color:#8e9ba2;line-height:1.6}.business-steps{padding:76px 0;background:linear-gradient(180deg,#0b1115,#0a0f12)}.business-step-grid{grid-template-columns:repeat(3,1fr)}.business-step-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#542437;color:#ff9bb1;font-weight:900}.business-integration{margin:76px auto;display:grid;grid-template-columns:1fr .8fr;gap:50px;align-items:center;padding:36px;border:1px solid #633044;border-radius:22px;background:linear-gradient(120deg,#161016,#0d1317)}.business-integration h2{font-family:Georgia,serif;font-size:38px;margin:10px 0}.business-integration p{color:#a0adb3;line-height:1.65}.business-integration-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.business-integration-list span{padding:16px;border:1px solid #2b3941;border-radius:12px;background:#0b1216;text-align:center}.business-faq details{max-width:900px;border-bottom:1px solid #24323a;padding:18px 0}.business-faq summary{cursor:pointer;font-weight:800;font-size:17px}.business-faq details p{color:#9caab1;max-width:760px;line-height:1.6}.business-final-cta{margin-bottom:80px;border:1px solid #653047;border-radius:22px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(120deg,#181016,#0b1014)}.business-final-cta h2{font-family:Georgia,serif;font-size:38px;margin:8px 0}.business-final-cta p{color:#9ba8ae}.onboarding-page{padding:48px 0 90px;background:radial-gradient(circle at 80% 0,rgba(204,73,108,.08),transparent 28%),#080d10;min-height:75vh}.onboarding-shell{max-width:1080px}.onboarding-head{margin-bottom:24px}.onboarding-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.onboarding-head h1{font-family:Georgia,serif;font-size:44px;margin:8px 0}.onboarding-head p{color:#93a1a8}.completion-ring{min-width:88px;height:88px;border:1px solid #6b3045;border-radius:50%;display:grid;place-content:center;text-align:center;background:#151016}.completion-ring strong{font-size:22px;color:#f48da3}.completion-ring span{font-size:10px;color:#9ba7ad;text-transform:uppercase;letter-spacing:.12em}.onboarding-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:28px 0}.onboarding-progress a{padding:14px;border:1px solid #293840;border-radius:12px;display:flex;align-items:center;gap:10px;color:#86949b}.onboarding-progress a span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#152027;font-weight:900}.onboarding-progress a.active{border-color:#a04460;color:#fff;background:#171116}.onboarding-progress a.active span,.onboarding-progress a.done span{background:#713047;color:#ffb0c0}.onboarding-progress a.done{color:#b7c1c6}.onboarding-card,.onboarding-submit-card,.onboarding-status-card{border:1px solid #293840;border-radius:20px;background:#0d151a;padding:30px}.onboarding-card-head{margin-bottom:26px}.onboarding-card-head h2{font-size:30px;margin:8px 0}.onboarding-card-head p{color:#91a0a7}.onboarding-divider{height:1px;background:#24323a;margin:28px 0}.onboarding-card h3{margin:8px 0 18px}.onboarding-card label{display:grid;gap:7px;color:#cbd3d7;font-size:13px;font-weight:700}.onboarding-card input,.onboarding-card select,.onboarding-card textarea{width:100%;border:1px solid #314149;border-radius:10px;background:#091115;color:#f8f7f5;padding:12px 13px}.onboarding-card small{color:#7f8e95;font-weight:400}.form-grid{display:grid;gap:16px}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid .full{grid-column:1/-1}.check-card{display:flex!important;align-items:center!important;grid-template-columns:auto 1fr!important;border:1px solid #2b3a42;border-radius:12px;padding:12px}.check-card input{width:auto}.check-card span{display:grid}.onboarding-actions{margin-top:28px;padding-top:22px;border-top:1px solid #24323a;display:flex;justify-content:space-between;gap:12px}.service-picker-search{margin-bottom:14px}.onboarding-service-picker{max-height:520px;overflow:auto;border:1px solid #26363e;border-radius:14px;background:#091115}.onboarding-service-picker h3{position:sticky;top:0;z-index:2;margin:0;padding:10px 14px;background:#111a1f;color:#f18aa0;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.onboarding-service-row{display:grid;grid-template-columns:minmax(240px,1fr) 120px 120px;gap:12px;align-items:center;padding:11px 14px;border-top:1px solid #1c292f}.service-check{display:flex!important;align-items:center;gap:11px!important}.service-check input{width:auto}.service-check span{display:grid}.service-check b{font-size:14px}.propose-service{margin-top:16px;border:1px dashed #33434b;border-radius:12px;padding:14px}.propose-service summary{cursor:pointer;font-weight:800}.team-builder{display:grid;gap:16px}.team-builder-row{border:1px solid #2a3941;border-radius:15px;padding:18px;background:#0a1216}.team-row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.text-button{border:0;background:none;color:#d47c91;cursor:pointer}.text-button.danger{color:#e7899d}.team-services{border:0;padding:15px 0 0}.team-services legend{font-weight:800;margin-bottom:9px}.team-services{display:flex;gap:10px 16px;flex-wrap:wrap}.team-services label{display:flex!important;align-items:center;gap:6px!important;font-weight:500}.team-services input{width:auto}.add-team{margin-top:16px}.facility-chips{display:flex;gap:8px;flex-wrap:wrap}.facility-chips label{display:block}.facility-chips input{position:absolute;opacity:0;pointer-events:none}.facility-chips span{display:block;border:1px solid #304047;border-radius:999px;padding:9px 13px;color:#a9b4b9}.facility-chips input:checked+span{border-color:#aa4964;background:#2b1620;color:#ff9db2}.schedule-editor{display:grid;gap:8px}.schedule-editor>div{display:grid;grid-template-columns:150px 130px auto 130px;gap:10px;align-items:center;padding:8px;border-bottom:1px solid #1f2d33}.schedule-day{display:flex!important;align-items:center;gap:8px!important}.schedule-day input{width:auto}.onboarding-media-preview{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.onboarding-media-preview img{width:130px;height:90px;object-fit:cover;border-radius:10px;border:1px solid #324149}.onboarding-media-preview.admin img{width:160px;height:110px}.onboarding-submit-card{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-color:#713249;background:linear-gradient(120deg,#171016,#0e1519)}.onboarding-submit-card h2{font-size:28px;margin:7px 0}.onboarding-submit-card p{color:#94a2a9}.hp-field{position:absolute!important;left:-10000px!important}.onboarding-status-wrap{max-width:720px}.onboarding-status-card{text-align:center;margin-top:28px;padding:50px}.status-icon{margin:0 auto 18px;width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:#1b3228;color:#76d6a5;font-size:28px}.onboarding-status-card h1{font-family:Georgia,serif;font-size:40px}.onboarding-status-card>p{color:#99a6ad;line-height:1.6;max-width:560px;margin:18px auto}.onboarding-status-pill{display:inline-block;padding:7px 10px;border-radius:999px;background:#242e34;color:#d6dce0;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.onboarding-status-pill.status-submitted,.status-pill.status-submitted{background:#332719;color:#efc17f}.onboarding-status-pill.status-under_review,.status-pill.status-under_review{background:#183140;color:#83c8ef}.onboarding-status-pill.status-changes_requested,.status-pill.status-changes_requested{background:#3a2421;color:#ef9b88}.onboarding-status-pill.status-approved,.status-pill.status-approved{background:#173327;color:#7ed6a9}.onboarding-status-pill.status-rejected,.status-pill.status-rejected{background:#371e27;color:#ef8da3}.changes-note{border:1px solid #583142;background:#171116;border-radius:12px;padding:15px;text-align:left;margin:18px 0}.changes-note p{margin:7px 0 0!important}.status-completion{display:flex;justify-content:space-between;border-top:1px solid #29373e;margin-top:28px;padding-top:18px;color:#89979e}.status-completion strong{color:#ef8199}.admin-filter-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.admin-filter-tabs a{border:1px solid #2e3c43;border-radius:999px;padding:8px 11px;color:#9aa7ad;font-size:12px}.admin-filter-tabs a.active{border-color:#99415b;background:#25151c;color:#ff96ac}.onboarding-review-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.onboarding-review-hero h2{font-size:32px;margin:8px 0}.onboarding-review-hero>div:last-child{display:grid;justify-items:end;gap:10px}.review-completeness{font-size:28px;color:#f08098}.onboarding-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.review-dl{display:grid;gap:11px}.review-dl>div{display:grid;grid-template-columns:140px 1fr;border-bottom:1px solid #223038;padding-bottom:9px}.review-dl dt{color:#7f8e95}.review-dl dd{margin:0}.review-service-list{display:grid;gap:8px}.review-service-list article{display:grid;grid-template-columns:1fr 130px 100px;gap:16px;align-items:center;padding:11px;border-bottom:1px solid #223038}.review-service-list article div{display:grid}.review-service-list small{color:#7d8b92}.review-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.review-team-grid article{padding:16px;border:1px solid #293940;border-radius:13px}.review-team-grid h3{margin:8px 0}.review-team-grid p{color:#89979f}.onboarding-review-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;margin-top:16px}.review-action-forms{display:grid;gap:12px}.review-action-forms textarea{width:100%;border:1px solid #304149;border-radius:10px;background:#091115;color:#fff;padding:12px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.btn.danger,.ghost.danger{border-color:#773345;color:#f28ca3}
@media(max-width:900px){.business-hero-grid,.business-integration,.onboarding-review-grid,.onboarding-review-actions{grid-template-columns:1fr}.business-benefit-grid{grid-template-columns:1fr 1fr}.business-step-grid{grid-template-columns:1fr}.form-grid.three{grid-template-columns:1fr 1fr}.review-team-grid{grid-template-columns:1fr 1fr}.onboarding-progress b{display:none}.business-preview{max-width:600px}.business-final-cta{align-items:flex-start}}
@media(max-width:640px){.business-hero{padding:54px 0}.business-hero-grid{gap:35px}.business-hero h1{font-size:52px}.business-benefit-grid{grid-template-columns:1fr}.business-benefits,.business-faq{padding:55px 0}.section-heading h2,.business-integration h2,.business-final-cta h2{font-size:32px}.business-integration{margin:45px auto;padding:24px}.business-final-cta{flex-direction:column;margin-bottom:50px;padding:24px}.business-final-cta .btn{width:100%}.onboarding-page{padding-top:25px}.onboarding-head-row{align-items:flex-start}.onboarding-head h1{font-size:34px}.completion-ring{min-width:68px;height:68px}.onboarding-progress{gap:5px}.onboarding-progress a{padding:8px;justify-content:center}.onboarding-card{padding:18px}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.onboarding-service-row{grid-template-columns:1fr 1fr}.onboarding-service-row .service-check{grid-column:1/-1}.schedule-editor>div{grid-template-columns:1fr 1fr}.schedule-editor>div>span{display:none}.schedule-day{grid-column:1/-1}.onboarding-actions{flex-direction:column-reverse}.onboarding-actions .btn{width:100%}.onboarding-submit-card{align-items:stretch;flex-direction:column}.onboarding-submit-card form,.onboarding-submit-card .btn{width:100%}.onboarding-status-card{padding:28px 18px}.onboarding-status-card h1{font-size:32px}.review-team-grid{grid-template-columns:1fr}.review-service-list article{grid-template-columns:1fr auto}.review-service-list article>span{grid-column:1/-1}.onboarding-review-hero{align-items:flex-start}.onboarding-review-hero>div:last-child{justify-items:start}}

/* Stage 11.13.4 - admin actionable notification badges */
.sidebar .admin-nav-link{display:flex;align-items:center;justify-content:space-between;gap:10px}
.admin-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:#d95678;color:#fff;font-size:11px;font-weight:800;line-height:1;box-shadow:0 0 0 2px rgba(217,86,120,.14);flex:0 0 auto}
.sidebar a:hover .admin-nav-badge,.sidebar a[aria-current="page"] .admin-nav-badge{transform:translateY(-1px)}
@media(max-width:900px){.admin-nav-badge{min-width:21px;height:21px;font-size:10px}}

/* Stage 11.14 - Mexora Business */
.business-body{background:#070b0e;color:#f7f8f9;min-height:100vh}.business-topbar{position:sticky;top:0;z-index:60;background:rgba(7,11,14,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.business-nav{gap:1.05rem}.business-nav a{font-size:.9rem}.business-switcher{max-width:190px;background:#11171b;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.55rem .7rem}.business-page{padding-top:2.2rem;padding-bottom:5rem}.business-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.6rem}.business-page-head h1{margin:.25rem 0 .35rem;font-size:clamp(2rem,4vw,3rem)}.business-page-head p{margin:0;color:#99a2a9;max-width:720px}.business-head-actions{display:flex;gap:.7rem;flex-wrap:wrap}.business-stats{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:1.6rem}.business-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.75fr);gap:1.2rem}.business-quick{display:flex;flex-direction:column;gap:.25rem}.business-quick h2{margin:.25rem 0 1rem}.business-quick>a{display:flex;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid rgba(255,255,255,.08);color:#e8edf0;text-decoration:none}.business-quick>a span{color:#ff5f92}.business-edit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.business-service-card h2{font-size:1.1rem;margin:.3rem 0 1rem}.business-two-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.business-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.business-card-footer small{color:#8f9aa1}.business-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.business-pro-card{min-width:0}.business-pro-head{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.business-pro-head img{width:72px;height:72px;border-radius:18px;object-fit:cover;flex:0 0 auto}.business-pro-head h2{margin:.2rem 0;font-size:1.2rem}.business-pro-head>div{min-width:0}.business-pro-head small{color:#909aa2}.business-coming{padding:.55rem .8rem;border:1px solid rgba(255,95,146,.3);background:rgba(255,95,146,.08);border-radius:999px;color:#ff9abb;font-size:.82rem}.business-access-state{font-size:.82rem;color:#909aa2}.business-access-state b{color:#dce2e5}.business-schedule{max-width:820px}.business-schedule .schedule-row{display:grid;grid-template-columns:minmax(150px,1fr) 135px auto 135px;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.07)}.business-profile-form{max-width:900px}.business-cover-preview{width:100%;aspect-ratio:16/6;object-fit:cover;border-radius:16px;margin-bottom:1.2rem}.business-profile-form label,.business-settings-form label,.business-pro-card label,.business-service-card label,.business-offers-layout label{display:grid;gap:.4rem;margin-bottom:.85rem}.business-profile-form input,.business-profile-form textarea,.business-settings-form input,.business-pro-card input,.business-pro-card textarea,.business-pro-card select,.business-service-card input,.business-offers-layout input,.business-offers-layout textarea,.business-offers-layout select,.business-page-head select,.inline-form select{width:100%;background:#0d1317;color:#f7f8f9;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.72rem .8rem}.check-row{display:flex!important;align-items:center;gap:.55rem}.check-row input{width:auto!important}.business-offers-layout{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:1.2rem}.business-offer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.business-offer-list article{display:flex;flex-direction:column;gap:.55rem}.business-offer-list small{color:#909aa2}.business-settings-form{max-width:680px}.business-empty-hero{max-width:820px;margin:5rem auto;padding:3rem;border:1px solid rgba(255,255,255,.09);background:#0c1216;border-radius:24px;text-align:center}.business-empty-hero h1{font-size:clamp(2rem,5vw,3.4rem);margin:.5rem 0}.business-empty-hero p{color:#9ca6ad}.business-empty-hero .hero-actions{justify-content:center}.inline-form{display:flex;gap:.5rem;align-items:center;min-width:240px}.inline-form select{padding:.5rem}.business-page .admin-table small{display:block;margin-top:.2rem;color:#8f99a0}
@media(max-width:1100px){.business-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.business-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.business-dashboard-grid,.business-offers-layout{grid-template-columns:1fr}}
@media(max-width:760px){.business-page{padding-top:1.25rem}.business-page-head{align-items:flex-start;flex-direction:column}.business-head-actions{width:100%}.business-head-actions .btn{flex:1}.business-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.business-edit-grid,.business-team-grid,.business-offer-list{grid-template-columns:1fr}.business-two-cols{grid-template-columns:1fr}.business-schedule .schedule-row{grid-template-columns:1fr 1fr auto 1fr}.business-schedule .schedule-row .check-row{grid-column:1/-1}.business-pro-head img{width:60px;height:60px}.business-switcher{max-width:100%}.inline-form{min-width:210px}}
@media(max-width:430px){.business-stats{grid-template-columns:1fr 1fr}.business-schedule .schedule-row{grid-template-columns:1fr auto 1fr}.business-schedule .schedule-row .check-row{grid-column:1/-1}.business-service-card,.business-pro-card{padding:1rem}.business-empty-hero{padding:1.5rem;margin:2rem auto}}

/* Stage 11.14.1 - offer automation */
.business-offer-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.business-money-input{position:relative}.business-money-input input{padding-right:3.2rem}.business-money-input span{position:absolute;right:.85rem;top:50%;transform:translateY(-50%);color:#8f9aa1;font-size:.85rem;pointer-events:none}.business-offer-form label>small,.business-offer-period>small{color:#7f8b92;font-size:.76rem}.business-offer-preview{margin:.2rem 0 1rem;padding:.9rem 1rem;border:1px solid rgba(255,95,146,.28);background:rgba(255,95,146,.07);border-radius:12px;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.business-offer-preview>span{color:#ff8daf;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.business-offer-preview strong{font-size:1.05rem}.business-offer-preview del{color:#8f9aa1;margin-right:.35rem}.business-offer-preview b{color:#fff}.business-offer-preview em{font-style:normal;color:#8ed7aa;font-size:.85rem}.business-offer-period{border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:1rem;margin:0 0 1rem}.business-offer-period legend{padding:0 .4rem;color:#f7f8f9;font-weight:700}.business-offer-date-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.business-offer-date-group{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;min-width:0}.business-offer-date-group>span{grid-column:1/-1;color:#ff8daf;font-weight:700;font-size:.85rem}.business-offer-date-group label{margin:0!important}.business-offer-date-group input[type=date],.business-offer-date-group input[type=time]{min-width:0;color-scheme:dark}@media(max-width:760px){.business-offer-price-grid,.business-offer-date-row{grid-template-columns:1fr}.business-offer-date-group{grid-template-columns:1fr 1fr}}@media(max-width:390px){.business-offer-date-group{grid-template-columns:1fr}}

/* Stage 11.14.2 - offer publishing/date UX */
.business-offer-date-group{grid-template-columns:1fr!important;align-content:start}
.business-offer-date-group>span{grid-column:auto!important;margin-bottom:.05rem}
.business-offer-date-group label{min-width:0}
.business-offer-date-group input[type=date],.business-offer-date-group input[type=time]{display:block;width:100%;min-width:0;box-sizing:border-box;padding:.72rem 2.65rem .72rem .8rem!important;line-height:1.25;color-scheme:dark}
.business-offer-date-group input[type=date]::-webkit-calendar-picker-indicator,.business-offer-date-group input[type=time]::-webkit-calendar-picker-indicator{margin:0;opacity:.78;cursor:pointer}
.business-offer-publish-note{display:flex;align-items:flex-start;gap:.7rem;margin:.15rem 0 1rem;padding:.8rem .9rem;border:1px solid rgba(82,190,126,.24);background:rgba(82,190,126,.07);border-radius:12px}
.business-offer-publish-note>span{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:rgba(82,190,126,.18);color:#8ed7aa;font-weight:800}
.business-offer-publish-note strong{display:block;font-size:.9rem}
.business-offer-publish-note small{display:block;margin-top:.18rem;color:#8f9aa1;font-size:.76rem;line-height:1.4}
@media(max-width:760px){.business-offer-date-row{grid-template-columns:1fr!important}.business-offer-date-group input[type=date],.business-offer-date-group input[type=time]{font-size:16px}}

/* Stage 11.15 - Specialist accounts */
.specialist-access-box{margin-top:18px;padding-top:18px;border-top:1px solid var(--line,#25323a);display:grid;gap:12px}.specialist-access-box small{display:block;color:#89979e;margin-top:4px}.specialist-access-kicker{display:block;color:#ef8199;font-size:11px;font-weight:800;letter-spacing:.13em;margin-bottom:5px}.specialist-invite-form{display:flex;gap:10px;align-items:center}.specialist-invite-form input{flex:1;min-width:0}.specialist-invite-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.access-pill{display:inline-flex;width:max-content;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800}.access-pill.active{background:#113c2d;color:#7fe0b1}.link-danger{background:none;border:0;color:#ef8199;padding:8px 0;cursor:pointer}.invite-page{padding:72px 20px}.invite-card{max-width:720px;margin:0 auto;padding:34px;border:1px solid #26333b;border-radius:20px;background:#0e171c}.invite-card h1{font-size:clamp(34px,5vw,56px);margin:10px 0 14px}.invite-lead{color:#a7b2b8;font-size:18px}.invite-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0}.invite-meta>div{padding:14px;border:1px solid #26333b;border-radius:12px}.invite-meta small{display:block;color:#ef8199;font-size:10px;font-weight:800;letter-spacing:.12em;margin-bottom:5px}.invite-meta strong{overflow-wrap:anywhere}.invite-state{padding:15px;border:1px solid #5a3541;background:#21141a;border-radius:12px;margin:20px 0}.invite-state.success{border-color:#24513d;background:#10271f}.invite-register{display:grid;gap:14px;margin-top:24px}.invite-register label{display:grid;gap:7px}.invite-primary{margin-top:4px}.form-note{font-size:13px;color:#8f9ba1}.specialist-page{padding:46px 20px 80px}.specialist-page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:26px}.specialist-page-head h1{font-size:clamp(34px,4.5vw,54px);margin:7px 0}.specialist-page-head p{color:#93a0a7}.specialist-list{display:grid;gap:14px}.specialist-appointment-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center}.specialist-appointment-card h2{margin:8px 0}.specialist-appointment-card p,.specialist-appointment-card small{color:#8f9ba1}.specialist-appointment-time{text-align:right;display:grid;gap:4px}.specialist-status-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.specialist-status-actions select{max-width:220px}.specialist-appointment-row,.specialist-service-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #223039}.specialist-appointment-row small,.specialist-service-row small{display:block;color:#87949b;margin-top:4px}.specialist-calendar{display:grid;gap:10px}.specialist-calendar h2{margin:24px 0 4px}.specialist-calendar-row{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px;border:1px solid #26333b;border-radius:12px;background:#0e171c}.specialist-calendar-row time{font-weight:800;color:#ef8199}.specialist-calendar-row small{display:block;color:#89969d;margin-top:3px}.specialist-schedule{max-width:760px}.specialist-profile-form{max-width:760px;margin-bottom:18px}.review-stars{color:#efb66f;font-weight:800}.review-stars span{color:#f4eee9;margin-left:8px}.status-badge{display:inline-flex;border-radius:999px;padding:4px 8px;background:#16372c;color:#85dfb4;font-size:11px;font-weight:700}
@media(max-width:700px){.specialist-invite-form{flex-direction:column;align-items:stretch}.invite-page{padding:34px 14px}.invite-card{padding:22px}.invite-meta{grid-template-columns:1fr}.specialist-page-head{align-items:flex-start;flex-direction:column}.specialist-appointment-card{grid-template-columns:1fr}.specialist-appointment-time{text-align:left}.specialist-status-actions{justify-content:stretch;flex-direction:column}.specialist-status-actions select{max-width:none}.specialist-calendar-row{grid-template-columns:58px minmax(0,1fr)}.specialist-calendar-row>span{grid-column:2}.specialist-appointment-row,.specialist-service-row{align-items:flex-start}.specialist-page{padding:28px 14px 60px}}


/* Stage 11.15.6 - Password visibility toggle */
.password-field-wrap{
  position:relative;
  display:block;
  width:100%;
  min-width:0;
}
.password-field-wrap>.password-field-input{
  width:100%!important;
  box-sizing:border-box!important;
  padding-right:3rem!important;
}
.password-visibility-toggle{
  position:absolute;
  z-index:3;
  right:.72rem;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:2rem;
  height:2rem;
  padding:0;
  margin:0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#8f9ba1;
  cursor:pointer;
  transition:color .16s ease,background .16s ease;
}
.password-visibility-toggle:hover{
  color:#f3f6f7;
  background:rgba(255,255,255,.055);
}
.password-visibility-toggle:focus-visible{
  outline:2px solid #e86889;
  outline-offset:2px;
}
.password-visibility-toggle svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
@media(max-width:760px){
  .password-visibility-toggle{
    width:2.2rem;
    height:2.2rem;
    right:.6rem;
  }
  .password-field-wrap>.password-field-input{
    padding-right:3.1rem!important;
  }
}


/* Stage 11.15.7 - Business appointments responsive/mobile redesign */
.business-appointments-desktop{display:block}
.business-appointments-mobile{display:none}
.business-appointments-filter select{min-width:180px}

.business-appointment-mobile-card{
  border:1px solid #293740;
  background:#0d151a;
  border-radius:16px;
  padding:1rem;
  display:grid;
  gap:.9rem;
  min-width:0;
}
.business-appointment-mobile-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
}
.business-appointment-mobile-date{
  display:grid;
  gap:.12rem;
  min-width:0;
}
.business-appointment-mobile-date strong{
  font-size:1rem;
  line-height:1.2;
}
.business-appointment-mobile-date span{
  color:#99a5ab;
  font-size:.84rem;
}
.business-appointment-mobile-main{
  display:grid;
  gap:.7rem;
  min-width:0;
}
.business-appointment-mobile-service{
  display:grid;
  gap:.16rem;
}
.business-appointment-mobile-service strong{
  font-size:1.08rem;
  overflow-wrap:anywhere;
}
.business-appointment-mobile-service small{
  color:#ff82a5;
  font-weight:700;
}
.business-appointment-mobile-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
}
.business-appointment-mobile-detail{
  min-width:0;
  padding:.7rem .75rem;
  border:1px solid rgba(255,255,255,.07);
  border-radius:11px;
  background:rgba(255,255,255,.018);
}
.business-appointment-mobile-detail span{
  display:block;
  color:#74828a;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.62rem;
  font-weight:800;
  margin-bottom:.22rem;
}
.business-appointment-mobile-detail strong{
  display:block;
  font-size:.87rem;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.business-appointment-mobile-detail small{
  display:block;
  color:#7f8d95;
  margin-top:.16rem;
  font-size:.72rem;
  overflow-wrap:anywhere;
}
.business-appointment-mobile-actions{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:.85rem;
}
.business-appointment-mobile-actions form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.6rem;
  align-items:center;
}
.business-appointment-mobile-actions select{
  width:100%;
  min-width:0;
}
.business-appointment-mobile-actions .btn{
  white-space:nowrap;
}
.business-appointment-empty{
  border:1px dashed #334149;
  border-radius:14px;
  padding:1.5rem;
  text-align:center;
  color:#8f9ba1;
}

@media(max-width:760px){
  .business-page-head.business-appointments-head{
    gap:1rem;
    margin-bottom:1rem;
  }
  .business-page-head.business-appointments-head form,
  .business-appointments-filter,
  .business-appointments-filter select{
    width:100%;
  }
  .business-appointments-desktop{display:none!important}
  .business-appointments-mobile{
    display:grid;
    gap:.8rem;
  }
  .business-appointments-panel{
    padding:0;
    border:0;
    background:transparent;
  }
  .business-page-head.business-appointments-head h1{
    font-size:clamp(1.85rem,9vw,2.45rem);
  }
  .business-page-head.business-appointments-head p{
    font-size:.95rem;
    line-height:1.45;
  }
}

@media(max-width:430px){
  .business-appointment-mobile-card{
    padding:.9rem;
    border-radius:14px;
  }
  .business-appointment-mobile-details{
    grid-template-columns:1fr;
    gap:.55rem;
  }
  .business-appointment-mobile-actions form{
    grid-template-columns:1fr;
  }
  .business-appointment-mobile-actions .btn{
    width:100%;
  }
}


/* ==========================================================================
   Stage 11.15.8 - Global icon actions + larger result tabs
   ========================================================================== */

.mx-icon-action{
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 auto;
  width:46px;
  min-width:46px!important;
  height:46px;
  min-height:46px!important;
  padding:0!important;
  border-radius:13px!important;
  line-height:1!important;
  font-size:0!important;
  gap:0!important;
}
.mx-icon-action svg{
  width:22px;
  height:22px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}
.mx-icon-action--primary{
  background:#d95678!important;
  color:#fff!important;
  border-color:#d95678!important;
}
.mx-icon-action--filter{
  background:#0c151a!important;
  color:#f4f7f8!important;
  border:1px solid #30404a!important;
}
.mx-icon-action--reset{
  background:transparent!important;
  color:#ff789a!important;
  border:1px solid rgba(255,120,154,.45)!important;
}
.mx-icon-action:hover{
  transform:translateY(-1px);
}
.mx-icon-action:focus-visible{
  outline:2px solid #ff789a;
  outline-offset:3px;
}

/* Search form: compact actions, without words. */
.search-main-form .search-primary-submit.mx-icon-action{
  align-self:stretch;
}
.search-main-form .search-filter-toggle.mx-icon-action{
  display:inline-grid!important;
}
.search-filter-toggle.mx-icon-action small{
  position:absolute;
  top:-7px;
  right:-7px;
  min-width:20px;
  height:20px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#d95678;
  color:#fff;
  border:2px solid #081014;
  font-size:11px!important;
  font-weight:800;
  line-height:1;
}
.search-filter-toggle.mx-icon-action{
  position:relative;
}

/* Result tabs/chips: deliberately larger and easier to tap/read. */
.search-type-tabs{
  gap:10px!important;
  align-items:stretch!important;
}
.search-type-tabs a{
  min-height:48px!important;
  padding:11px 17px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
}
.search-type-tabs a>span{
  font-size:15px!important;
  font-weight:700!important;
  line-height:1!important;
}
.search-type-tabs a>small{
  min-width:23px!important;
  height:23px!important;
  padding:0 6px!important;
  border-radius:999px!important;
  display:inline-grid!important;
  place-items:center!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1!important;
}
.search-type-tabs a.active{
  border-color:#d95678!important;
  color:#ff86a4!important;
  background:rgba(217,86,120,.10)!important;
}
.search-type-tabs a.active>small{
  background:#9d3654!important;
  color:#fff!important;
}

/* A reset icon used near chips should not become a tiny text link. */
.search-reset-all.mx-icon-action,
.chips-clear-all.mx-icon-action{
  vertical-align:middle;
  text-decoration:none!important;
}

/* Mobile */
@media(max-width:760px){
  .mx-icon-action{
    width:48px;
    min-width:48px!important;
    height:48px;
    min-height:48px!important;
    border-radius:14px!important;
  }

  .search-type-tabs{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;
    gap:8px!important;
    overflow:visible!important;
  }
  .search-type-tabs a{
    width:100%!important;
    min-width:0!important;
    min-height:50px!important;
    padding:10px 7px!important;
    gap:6px!important;
    text-align:center!important;
    white-space:nowrap!important;
  }
  .search-type-tabs a>span{
    font-size:14px!important;
  }
  .search-type-tabs a>small{
    min-width:21px!important;
    height:21px!important;
    font-size:10px!important;
  }

  .search-main-form{
    position:relative;
  }

  /* Keep search and filter actions visibly separate on narrow screens. */
  .search-main-form .search-primary-submit.mx-icon-action,
  .search-main-form .search-filter-toggle.mx-icon-action{
    width:100%!important;
    min-width:0!important;
  }
  .search-main-form .search-primary-submit.mx-icon-action{
    height:50px!important;
  }
  .search-main-form .search-filter-toggle.mx-icon-action{
    height:50px!important;
  }

  .active-search-chips-wrap .chips-clear-all.mx-icon-action{
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
  }
}

@media(max-width:390px){
  .search-type-tabs a{
    padding:9px 5px!important;
    gap:4px!important;
  }
  .search-type-tabs a>span{
    font-size:13px!important;
  }
}


/* ==========================================================================
   Stage 11.15.9 - Specialist Mobile UX & Form Cleanup
   ========================================================================== */

.specialist-page{
  min-width:0;
}
.specialist-page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1.25rem;
}
.specialist-page-head>div{
  min-width:0;
}
.specialist-page-head h1{
  margin-bottom:.45rem;
}
.specialist-page-head p{
  max-width:760px;
}

/* Dashboard stats */
.specialist-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:1.15rem 0 1.25rem;
}
.specialist-stat-card{
  min-width:0;
  border:1px solid #2b3942;
  border-radius:14px;
  background:#0d151a;
  padding:1rem 1.05rem;
}
.specialist-stat-card span{
  display:block;
  color:#80909a;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:800;
  margin-bottom:.4rem;
}
.specialist-stat-card strong{
  display:block;
  font-size:1.65rem;
  line-height:1;
  margin-bottom:.2rem;
}
.specialist-stat-card small{
  display:block;
  color:#b4bec3;
  font-size:.82rem;
}

/* Upcoming appointments */
.specialist-upcoming-list{
  display:grid;
  gap:.75rem;
}
.specialist-upcoming-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:.85rem 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.specialist-upcoming-item:last-child{
  border-bottom:0;
}
.specialist-upcoming-main{
  min-width:0;
}
.specialist-upcoming-main strong,
.specialist-upcoming-main small{
  display:block;
}
.specialist-upcoming-main small{
  color:#839199;
  margin-top:.2rem;
  overflow-wrap:anywhere;
}
.specialist-upcoming-date{
  text-align:right;
}
.specialist-upcoming-date strong,
.specialist-upcoming-date small{
  display:block;
}
.specialist-upcoming-date small{
  color:#839199;
  margin-top:.15rem;
}

/* Schedule */
.specialist-schedule-card{
  border:1px solid #2b3942;
  border-radius:16px;
  background:#0d151a;
  padding:1rem;
}
.specialist-location-field{
  display:grid;
  gap:.45rem;
  margin-bottom:1rem;
}
.specialist-location-field label{
  font-weight:700;
}
.specialist-location-field select{
  width:100%;
  min-width:0;
}
.specialist-schedule-grid{
  display:grid;
  gap:.7rem;
}
.specialist-day-row{
  display:grid;
  grid-template-columns:minmax(120px,.8fr) minmax(0,1fr) minmax(0,1fr);
  gap:.75rem;
  align-items:center;
  padding:.75rem;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.018);
}
.specialist-day-toggle{
  display:flex;
  align-items:center;
  gap:.55rem;
  min-width:0;
  font-weight:700;
}
.specialist-day-toggle input[type="checkbox"]{
  width:18px;
  height:18px;
  flex:0 0 auto;
}
.specialist-time-field{
  display:grid;
  gap:.3rem;
  min-width:0;
}
.specialist-time-field span{
  color:#7f8d95;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:800;
}
.specialist-time-field input[type="time"]{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.specialist-schedule-actions{
  margin-top:1rem;
}

/* Profile */
.specialist-profile-card{
  border:1px solid #2b3942;
  border-radius:16px;
  background:#0d151a;
  padding:1rem;
}
.specialist-profile-summary{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-bottom:1rem;
}
.specialist-profile-summary img{
  width:56px;
  height:56px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 auto;
}
.specialist-profile-summary>div{
  min-width:0;
}
.specialist-profile-summary strong,
.specialist-profile-summary small{
  display:block;
}
.specialist-profile-summary small{
  color:#819099;
  margin-top:.15rem;
}
.specialist-profile-form{
  display:grid;
  gap:.9rem;
}
.specialist-profile-form label{
  display:grid;
  gap:.38rem;
  min-width:0;
}
.specialist-profile-form input,
.specialist-profile-form textarea{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.specialist-profile-form textarea{
  min-height:120px;
  resize:vertical;
}
.specialist-profile-form-actions{
  margin-top:.1rem;
}
.specialist-services-card{
  margin-top:1rem;
  border:1px solid #2b3942;
  border-radius:16px;
  background:#0d151a;
  padding:1rem;
}
.specialist-services-list{
  display:grid;
  gap:.65rem;
}
.specialist-service-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  padding:.72rem 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.specialist-service-row:last-child{
  border-bottom:0;
}
.specialist-service-row strong,
.specialist-service-row small{
  display:block;
}
.specialist-service-row small{
  color:#819099;
  margin-top:.18rem;
}
.specialist-service-price{
  white-space:nowrap;
  font-weight:800;
}

/* Generic specialist mobile safety */
.specialist-page input,
.specialist-page select,
.specialist-page textarea,
.specialist-page button{
  max-width:100%;
}
.specialist-page,
.specialist-page *{
  box-sizing:border-box;
}

@media(max-width:760px){
  .specialist-page{
    padding-left:12px!important;
    padding-right:12px!important;
    overflow-x:hidden;
  }

  .specialist-page-head{
    display:grid;
    grid-template-columns:1fr;
    gap:.85rem;
    margin-bottom:1rem;
  }
  .specialist-page-head h1{
    font-size:clamp(1.9rem,9vw,2.5rem);
    line-height:1.05;
  }
  .specialist-page-head p{
    font-size:.95rem;
    line-height:1.45;
  }
  .specialist-page-head .btn{
    width:100%;
  }

  .specialist-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .specialist-stat-card{
    padding:.9rem;
  }
  .specialist-stat-card:nth-child(3){
    grid-column:1/-1;
  }
  .specialist-stat-card strong{
    font-size:1.45rem;
  }

  .specialist-upcoming-item{
    grid-template-columns:1fr;
    gap:.45rem;
    align-items:start;
  }
  .specialist-upcoming-date{
    text-align:left;
  }

  .specialist-schedule-card,
  .specialist-profile-card,
  .specialist-services-card{
    padding:.9rem;
    border-radius:14px;
  }

  .specialist-day-row{
    grid-template-columns:1fr 1fr;
    gap:.65rem;
    padding:.8rem;
  }
  .specialist-day-toggle{
    grid-column:1/-1;
  }

  .specialist-schedule-actions .btn,
  .specialist-profile-form-actions .btn{
    width:100%;
  }

  .specialist-profile-summary{
    align-items:flex-start;
  }

  .specialist-service-row{
    gap:.65rem;
  }
}

@media(max-width:430px){
  .specialist-stats{
    grid-template-columns:1fr;
  }
  .specialist-stat-card:nth-child(3){
    grid-column:auto;
  }

  .specialist-day-row{
    grid-template-columns:1fr;
  }
  .specialist-day-toggle{
    grid-column:auto;
  }

  .specialist-profile-summary{
    display:grid;
    grid-template-columns:auto 1fr;
  }

  .specialist-service-row{
    grid-template-columns:1fr;
  }
  .specialist-service-price{
    justify-self:start;
  }
}


/* ==========================================================================
   Stage 11.15.10 - Custom Form Controls UI
   ========================================================================== */

/* Shared tokens */
:root{
  --mx-control-bg:#0b1419;
  --mx-control-bg-hover:#101b21;
  --mx-control-border:#30404a;
  --mx-control-border-focus:#e76d8d;
  --mx-control-text:#f2f5f6;
  --mx-control-muted:#7f8d95;
  --mx-control-accent:#d95678;
  --mx-control-panel:#0c151a;
  --mx-control-shadow:0 18px 45px rgba(0,0,0,.38);
}

/* Native inputs that remain visible */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="url"],
input[type="tel"],
textarea,
select,
input[type="date"],
input[type="time"]{
  background:var(--mx-control-bg)!important;
  color:var(--mx-control-text)!important;
  border:1px solid var(--mx-control-border)!important;
  border-radius:11px!important;
  min-height:46px;
}
input:focus,
textarea:focus,
select:focus{
  border-color:var(--mx-control-border-focus)!important;
  box-shadow:0 0 0 3px rgba(231,109,141,.12)!important;
  outline:none!important;
}

/* Checkboxes */
input[type="checkbox"]:not([data-native-control="1"]){
  appearance:none;
  -webkit-appearance:none;
  width:19px!important;
  height:19px!important;
  min-width:19px!important;
  min-height:19px!important;
  border:1px solid #52616a!important;
  border-radius:5px!important;
  background:#0a1216!important;
  display:inline-grid!important;
  place-content:center!important;
  cursor:pointer!important;
  margin:0!important;
  vertical-align:middle;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
input[type="checkbox"]:not([data-native-control="1"])::before{
  content:"";
  width:9px;
  height:5px;
  border-left:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg) scale(0);
  transform-origin:center;
  margin-top:-2px;
  transition:transform .12s ease;
}
input[type="checkbox"]:not([data-native-control="1"]):checked{
  background:var(--mx-control-accent)!important;
  border-color:var(--mx-control-accent)!important;
}
input[type="checkbox"]:not([data-native-control="1"]):checked::before{
  transform:rotate(-45deg) scale(1);
}
input[type="checkbox"]:not([data-native-control="1"]):focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(217,86,120,.18)!important;
}

/* --------------------------------------------------------------------------
   Custom select
   -------------------------------------------------------------------------- */
.mx-select{
  position:relative;
  width:100%;
  min-width:0;
}
.mx-select-native{
  position:absolute!important;
  inset:0!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.mx-select-trigger{
  width:100%;
  min-width:0;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.8rem;
  padding:.72rem .85rem;
  color:var(--mx-control-text);
  background:var(--mx-control-bg);
  border:1px solid var(--mx-control-border);
  border-radius:11px;
  cursor:pointer;
  text-align:left;
  font:inherit;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.mx-select-trigger:hover{
  background:var(--mx-control-bg-hover);
}
.mx-select.open .mx-select-trigger,
.mx-select-trigger:focus-visible{
  outline:none;
  border-color:var(--mx-control-border-focus);
  box-shadow:0 0 0 3px rgba(231,109,141,.12);
}
.mx-select-value{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mx-select-chevron{
  flex:0 0 auto;
  width:18px;
  height:18px;
  color:#96a3aa;
  transition:transform .16s ease;
}
.mx-select.open .mx-select-chevron{
  transform:rotate(180deg);
}
.mx-select-menu{
  position:absolute;
  z-index:9999;
  left:0;
  right:0;
  top:calc(100% + 7px);
  max-height:290px;
  overflow:auto;
  overscroll-behavior:contain;
  background:var(--mx-control-panel);
  border:1px solid #34434c;
  border-radius:13px;
  padding:6px;
  box-shadow:var(--mx-control-shadow);
}
.mx-select-menu[hidden]{
  display:none!important;
}
.mx-select-option{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.72rem .78rem;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#dce3e6;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.mx-select-option:hover,
.mx-select-option.is-active{
  background:rgba(255,255,255,.055);
  color:#fff;
}
.mx-select-option.is-selected{
  background:rgba(217,86,120,.13);
  color:#ff86a4;
  font-weight:700;
}
.mx-select-option.is-selected::after{
  content:"✓";
  color:#ff86a4;
  font-weight:900;
}
.mx-select-option:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.mx-select-group-label{
  padding:.55rem .72rem .35rem;
  color:#718089;
  font-size:.67rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
}

/* --------------------------------------------------------------------------
   Custom time picker
   -------------------------------------------------------------------------- */
.mx-time{
  position:relative;
  width:100%;
  min-width:0;
}
.mx-time-native{
  position:absolute!important;
  inset:0!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.mx-time-trigger{
  width:100%;
  min-width:0;
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  padding:.7rem .8rem;
  border:1px solid var(--mx-control-border);
  border-radius:11px;
  background:var(--mx-control-bg);
  color:var(--mx-control-text);
  cursor:pointer;
  font:inherit;
  text-align:left;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;
}
.mx-time-trigger:hover{
  background:var(--mx-control-bg-hover);
}
.mx-time.open .mx-time-trigger,
.mx-time-trigger:focus-visible{
  outline:none;
  border-color:var(--mx-control-border-focus);
  box-shadow:0 0 0 3px rgba(231,109,141,.12);
}
.mx-time-value{
  font-variant-numeric:tabular-nums;
  font-weight:650;
  letter-spacing:.01em;
}
.mx-time-icon{
  width:18px;
  height:18px;
  flex:0 0 auto;
  color:#95a2a9;
}
.mx-time-menu{
  position:absolute;
  z-index:9999;
  left:0;
  right:0;
  top:calc(100% + 7px);
  max-height:260px;
  overflow:auto;
  background:var(--mx-control-panel);
  border:1px solid #34434c;
  border-radius:13px;
  padding:6px;
  box-shadow:var(--mx-control-shadow);
}
.mx-time-menu[hidden]{
  display:none!important;
}
.mx-time-option{
  width:100%;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#dce3e6;
  padding:.68rem .75rem;
  text-align:center;
  cursor:pointer;
  font:inherit;
  font-variant-numeric:tabular-nums;
}
.mx-time-option:hover,
.mx-time-option.is-active{
  background:rgba(255,255,255,.055);
}
.mx-time-option.is-selected{
  background:rgba(217,86,120,.13);
  color:#ff86a4;
  font-weight:800;
}

/* Disabled schedule rows */
.specialist-day-row:has(input[type="checkbox"]:not(:checked)) .specialist-time-field{
  opacity:.48;
}
.specialist-day-row:has(input[type="checkbox"]:not(:checked)) .mx-time-trigger{
  pointer-events:none;
}

/* Date fields: custom shell, native picker kept behind explicit calendar action. */
input[type="date"]:not([data-native-control="1"]){
  color-scheme:dark;
  accent-color:var(--mx-control-accent);
}
input[type="date"]:not([data-native-control="1"])::-webkit-calendar-picker-indicator{
  filter:invert(1) opacity(.7);
  cursor:pointer;
}
input[type="date"]:not([data-native-control="1"])::-webkit-datetime-edit{
  color:var(--mx-control-text);
}

/* Scrollbars inside dropdowns */
.mx-select-menu,
.mx-time-menu{
  scrollbar-width:thin;
  scrollbar-color:#3c4a52 transparent;
}
.mx-select-menu::-webkit-scrollbar,
.mx-time-menu::-webkit-scrollbar{
  width:8px;
}
.mx-select-menu::-webkit-scrollbar-thumb,
.mx-time-menu::-webkit-scrollbar-thumb{
  background:#3c4a52;
  border-radius:99px;
}

@media(max-width:760px){
  .mx-select-trigger,
  .mx-time-trigger{
    min-height:48px;
    font-size:15px;
  }

  /* On mobile, open controls as bottom sheets to avoid clipping/overflow. */
  .mx-select.mobile-open .mx-select-menu,
  .mx-time.mobile-open .mx-time-menu{
    position:fixed;
    z-index:10050;
    left:10px;
    right:10px;
    top:auto;
    bottom:10px;
    max-height:min(56vh,440px);
    border-radius:18px;
    padding:8px;
  }
  .mx-select-option,
  .mx-time-option{
    min-height:46px;
    font-size:15px;
  }
  .mx-select.mobile-open::before,
  .mx-time.mobile-open::before{
    content:"";
    position:fixed;
    z-index:10040;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(2px);
  }
}


/* ==========================================================================
   Stage 11.15.11 - Specialist Profile Redesign + 500 Fix
   ========================================================================== */

.specialist-profile-shell{
  display:grid;
  gap:20px;
}

.specialist-profile-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:22px 24px;
  border:1px solid #2b3942;
  border-radius:18px;
  background:
    radial-gradient(circle at 92% 8%, rgba(217,86,120,.10), transparent 32%),
    #0d151a;
}

.specialist-profile-identity{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}

.specialist-profile-avatar{
  width:76px;
  height:76px;
  border-radius:20px;
  object-fit:cover;
  flex:0 0 auto;
  border:1px solid rgba(255,255,255,.10);
  background:#111a1f;
}

.specialist-profile-copy{
  min-width:0;
}

.specialist-profile-copy .eyebrow{
  margin-bottom:5px;
}

.specialist-profile-copy h2{
  margin:0 0 5px;
  font-size:clamp(1.45rem,2.5vw,2rem);
  line-height:1.1;
}

.specialist-profile-copy p{
  margin:0;
  color:#8e9ba2;
}

.specialist-profile-hero-actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.specialist-profile-grid{
  display:grid;
  grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr);
  gap:20px;
  align-items:start;
}

.specialist-profile-editor,
.specialist-profile-side{
  min-width:0;
}

.specialist-profile-editor-card,
.specialist-profile-services-card{
  border:1px solid #2b3942;
  border-radius:18px;
  background:#0d151a;
  padding:22px;
}

.specialist-profile-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:18px;
}

.specialist-profile-section-head h3{
  margin:4px 0 0;
  font-size:1.25rem;
}

.specialist-profile-section-head p{
  margin:6px 0 0;
  color:#839199;
  font-size:.92rem;
  line-height:1.45;
}

.specialist-profile-form-v2{
  display:grid;
  gap:16px;
}

.specialist-profile-field{
  display:grid;
  gap:7px;
}

.specialist-profile-field>span{
  font-size:.83rem;
  font-weight:750;
  color:#dce3e6;
}

.specialist-profile-field small{
  color:#75838b;
  font-size:.76rem;
}

.specialist-profile-form-v2 textarea{
  min-height:150px;
  resize:vertical;
}

.specialist-profile-savebar{
  display:flex;
  justify-content:flex-end;
  padding-top:2px;
}

.specialist-profile-savebar .btn{
  min-width:180px;
}

.specialist-profile-services-card{
  position:sticky;
  top:92px;
}

.specialist-profile-services-card .eyebrow{
  margin-bottom:6px;
}

.specialist-profile-services-card h3{
  margin:0 0 16px;
  font-size:1.2rem;
}

.specialist-profile-service-list{
  display:grid;
  gap:10px;
}

.specialist-profile-service{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}

.specialist-profile-service-main{
  min-width:0;
}

.specialist-profile-service-main strong{
  display:block;
  font-size:.95rem;
  line-height:1.3;
  overflow-wrap:anywhere;
}

.specialist-profile-service-main small{
  display:block;
  margin-top:4px;
  color:#7f8d95;
  font-size:.77rem;
  line-height:1.35;
}

.specialist-profile-service-price{
  white-space:nowrap;
  color:#ff86a4;
  font-weight:800;
  font-size:.92rem;
}

.specialist-profile-empty{
  padding:18px;
  border:1px dashed #34434b;
  border-radius:13px;
  color:#819099;
  text-align:center;
  font-size:.9rem;
}

@media(max-width:900px){
  .specialist-profile-grid{
    grid-template-columns:1fr;
  }

  .specialist-profile-services-card{
    position:static;
  }
}

@media(max-width:760px){
  .specialist-profile-hero{
    grid-template-columns:1fr;
    gap:18px;
    padding:17px;
  }

  .specialist-profile-avatar{
    width:64px;
    height:64px;
    border-radius:17px;
  }

  .specialist-profile-hero-actions,
  .specialist-profile-hero-actions .btn{
    width:100%;
  }

  .specialist-profile-editor-card,
  .specialist-profile-services-card{
    padding:16px;
    border-radius:15px;
  }

  .specialist-profile-section-head{
    display:block;
  }

  .specialist-profile-savebar,
  .specialist-profile-savebar .btn{
    width:100%;
  }

  .specialist-profile-service{
    grid-template-columns:1fr auto;
  }
}

@media(max-width:430px){
  .specialist-profile-identity{
    align-items:flex-start;
  }

  .specialist-profile-service{
    grid-template-columns:1fr;
  }

  .specialist-profile-service-price{
    justify-self:start;
  }
}


/* Stage 2A.2 - professional avatar fallback consistency */
.pro-avatar-initials{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#3b202a,#22171c);
  color:#f39ab0;
  font-weight:850;
  font-size:20px;
  letter-spacing:.02em;
}
.professional-avatar-initials{
  display:grid!important;
  place-items:center;
  background:linear-gradient(145deg,#3b202a,#22171c);
  color:#f39ab0;
  font-weight:850;
  font-size:34px;
  letter-spacing:.03em;
}


/* Stage 4A - App-managed salon handoff */
.business-app-handoff{padding-top:42px;padding-bottom:70px}.business-app-handoff-head strong{color:#f4c0cc}.business-app-notice{display:grid;grid-template-columns:46px 1fr;gap:15px;align-items:start;margin:18px 0 22px;padding:17px 18px;border:1px solid #24433b;border-radius:14px;background:linear-gradient(135deg,#0d1b18,#0d1519)}.business-app-notice-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#18392f;border:1px solid #2d6d58;color:#7fdfbd;font-size:18px;font-weight:900}.business-app-notice strong{display:block;margin:2px 0 5px}.business-app-notice p{margin:0;color:#8fa09d;line-height:1.55;font-size:13px}.business-app-sections{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.business-app-panel{padding:22px}.business-app-panel h2{margin:6px 0 7px}.business-app-panel>p{margin:0 0 18px;color:#8b989e;line-height:1.55}.business-app-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.business-app-link-grid a{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;padding:14px;border:1px solid #293840;border-radius:12px;background:#101a20;color:#eef2f3;transition:.16s}.business-app-link-grid a:hover{border-color:#7a4052;background:#151f24;transform:translateY(-1px)}.business-app-link-grid span{font-weight:800}.business-app-link-grid small{grid-column:1;color:#819097}.business-app-link-grid b{grid-column:2;grid-row:1/3;color:#ed8098;font-size:16px}.business-app-link-grid.compact{grid-template-columns:1fr}.business-app-marketplace-panel{border-color:#44303a}.business-app-sync-note{margin:15px 4px 0;color:#718087;font-size:12px}.business-topbar .btn[href*="app.mexora.ro"]{white-space:nowrap}
@media(max-width:900px){.business-app-sections{grid-template-columns:1fr}.business-app-link-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.business-app-handoff{padding-top:24px}.business-app-handoff-head .business-head-actions{width:100%;display:grid}.business-app-handoff-head .business-head-actions .btn{width:100%;text-align:center}.business-app-link-grid{grid-template-columns:1fr}.business-app-notice{grid-template-columns:38px 1fr;padding:14px}.business-app-notice-icon{width:36px;height:36px}}


/* Stage 4B - App-managed specialist handoff */
.specialist-app-handoff{padding-top:42px;padding-bottom:70px}.specialist-app-handoff-head strong{color:#f4c0cc}.specialist-app-head-actions{display:flex;gap:10px;flex-wrap:wrap}.specialist-app-notice{display:grid;grid-template-columns:46px 1fr;gap:15px;align-items:start;margin:18px 0 22px;padding:17px 18px;border:1px solid #24433b;border-radius:14px;background:linear-gradient(135deg,#0d1b18,#0d1519)}.specialist-app-notice-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#18392f;border:1px solid #2d6d58;color:#7fdfbd;font-size:18px;font-weight:900}.specialist-app-notice strong{display:block;margin:2px 0 5px}.specialist-app-notice p{margin:0;color:#8fa09d;line-height:1.55;font-size:13px}.specialist-app-sections{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:18px}.specialist-app-panel{padding:22px}.specialist-app-panel h2{margin:6px 0 7px}.specialist-app-panel>p{margin:0 0 18px;color:#8b989e;line-height:1.55}.specialist-app-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.specialist-app-link-grid a{display:grid;grid-template-columns:1fr auto;gap:3px 12px;align-items:center;padding:14px;border:1px solid #293840;border-radius:12px;background:#101a20;color:#eef2f3;transition:.16s}.specialist-app-link-grid a:hover{border-color:#7a4052;background:#151f24;transform:translateY(-1px)}.specialist-app-link-grid span{font-weight:800}.specialist-app-link-grid small{grid-column:1;color:#819097}.specialist-app-link-grid b{grid-column:2;grid-row:1/3;color:#ed8098;font-size:16px}.specialist-app-link-grid.compact{grid-template-columns:1fr}.specialist-app-marketplace-panel{border-color:#44303a}.specialist-app-sync-note{margin:15px 4px 0;color:#718087;font-size:12px}.specialist-topbar .btn[href*="app.mexora.ro"]{white-space:nowrap}
@media(max-width:900px){.specialist-app-sections{grid-template-columns:1fr}.specialist-app-link-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.specialist-app-handoff{padding-top:24px}.specialist-app-head-actions{width:100%;display:grid}.specialist-app-head-actions .btn{width:100%;text-align:center}.specialist-app-link-grid{grid-template-columns:1fr}.specialist-app-notice{grid-template-columns:38px 1fr;padding:14px}.specialist-app-notice-icon{width:36px;height:36px}}


/* Stage 4C - trusted salon onboarding & verification */
.salon-business-link{color:#f1a2b6!important}.business-trust{padding-top:58px;padding-bottom:28px}.business-trust .section-heading p{max-width:760px;color:#93a0a6}.business-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}.business-trust-grid article,.business-safety-note{border:1px solid #26353d;background:#0e171c;border-radius:16px;padding:20px}.business-trust-grid b{color:#ec7893;font-size:12px}.business-trust-grid h3{margin:9px 0 7px}.business-trust-grid p,.business-safety-note p{color:#8b989e;line-height:1.55}.business-safety-note{margin-top:38px;margin-bottom:38px}.business-safety-note h2{margin:7px 0 9px}.client-register-business-note{margin-top:16px;padding:13px 14px;border:1px solid #3a2c33;border-radius:11px;background:#130f12;color:#b9adb1;font-size:12px;line-height:1.5}.client-register-business-note strong{color:#f1d7de}.client-register-business-note a{color:#ef8199;font-weight:800}
.admin-api-warning{margin:14px 0;padding:12px 14px;border-radius:10px;background:#3a2416;color:#ffd8a9;border:1px solid #604020}.admin-filter-tabs a small{margin-left:5px;opacity:.7}.verification-mini-ok{color:#62b883!important}.verification-mini-warn{color:#e79b65!important}.verification-critical-warning{border-color:#6f442a!important;background:#25170f!important;color:#f2c39f}.verification-critical-warning p{margin:5px 0 0}.verification-requirement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 16px}.verification-requirement-grid span{padding:9px 10px;border-radius:9px;font-size:12px}.verification-requirement-grid .is-ok{background:#10281d;color:#8fd2a8;border:1px solid #214c34}.verification-requirement-grid .is-bad{background:#2e171a;color:#ef9ba6;border:1px solid #593036}.verification-approval-form{display:grid;gap:10px;padding:15px;border:1px solid #3f4d54;border-radius:13px;background:#0e171c}.verification-approval-form label{display:flex;align-items:flex-start;gap:9px;color:#d8dfe1;font-size:12px;line-height:1.45}.verification-approval-form input[type=checkbox]{margin-top:2px;accent-color:#dc607d}.verification-secondary-actions{display:grid;gap:10px}.verification-approved-box{padding:15px;border:1px solid #28543a;border-radius:13px;background:#10271a}.verification-approved-box>p{color:#a5c8b1}.verification-history{display:grid;gap:8px}.verification-history article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:10px 12px;border:1px solid #26343b;border-radius:10px;background:#0e171c}.verification-history article small,.verification-history article p{grid-column:1/-1;color:#819097}.verification-history article p{margin:3px 0 0}.verification-review a{word-break:break-word}
@media(max-width:950px){.business-trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.verification-requirement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.business-trust-grid,.verification-requirement-grid{grid-template-columns:1fr}}

/* === Mexora Business landing refresh === */
.business-landing-v2{
  background:
    radial-gradient(circle at 82% 10%, rgba(214, 92, 128, 0.18), transparent 28%),
    radial-gradient(circle at 12% 14%, rgba(58, 109, 170, 0.10), transparent 25%),
    linear-gradient(180deg,#05090c 0%,#070b0e 100%);
  overflow:hidden;
}
.business-landing-v2 .section-heading h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,56px);margin:10px 0 0}
.business-v2-hero{padding:88px 0 54px;position:relative}
.business-v2-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);gap:54px;align-items:center}
.business-v2-copy h1{font-family:Georgia,serif;font-size:clamp(48px,5.7vw,82px);line-height:1.02;max-width:760px;margin:16px 0 20px}
.business-v2-copy p{max-width:690px;color:#a2afb6;font-size:19px;line-height:1.68;margin:0}
.business-v2-copy p strong,.business-v2-sync-copy p strong{color:#fff}
.business-v2-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}
.business-v2-video-link{display:inline-flex;align-items:center;gap:14px;color:#f4f6f7;text-decoration:none}
.business-v2-video-link strong{display:block;font-size:16px}
.business-v2-video-link small{display:block;color:#97a5ac;font-size:12px;margin-top:3px}
.business-v2-play{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(237,120,147,.55);background:rgba(14,21,26,.8);color:#ff9db3;font-size:20px;box-shadow:0 0 0 8px rgba(233,112,142,.06)}
.business-v2-proof{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.business-v2-proof span{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border:1px solid #25343c;border-radius:999px;background:rgba(11,17,21,.82);color:#dce2e6;font-size:13px}
.business-v2-proof span:before{content:'✓';display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#2a1520;color:#ff9db3;font-size:11px;font-weight:900}
.business-v2-showcase{position:relative}
.business-v2-showcase:before{content:'';position:absolute;inset:2% 0 auto 12%;height:76%;background:radial-gradient(circle, rgba(226,108,145,.22), transparent 68%);filter:blur(24px);pointer-events:none}
.business-v2-device{position:relative;border:1px solid rgba(235,117,145,.22);border-radius:30px;background:linear-gradient(145deg,#0f1519,#090d11);padding:22px;box-shadow:0 28px 70px rgba(0,0,0,.45)}
.business-v2-device-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.business-v2-brand-mini{display:flex;align-items:center;gap:12px}
.business-v2-brand-mini img{width:28px;height:28px}
.business-v2-brand-mini strong{display:block;text-transform:lowercase;letter-spacing:.02em}
.business-v2-brand-mini small{display:block;color:#ef89a0;font-size:10px;letter-spacing:.18em}
.business-v2-chip{padding:8px 12px;border-radius:999px;background:#121c22;border:1px solid #22323a;color:#98a7ae;font-size:12px}
.business-v2-device-body{display:grid;grid-template-columns:150px minmax(0,1fr);gap:18px}
.business-v2-side-menu{display:grid;align-content:start;gap:8px;padding:14px;border-radius:20px;background:#0c1216;border:1px solid #202d34}
.business-v2-side-menu span{padding:11px 12px;border-radius:12px;color:#b0bbc0;font-size:13px;background:transparent}
.business-v2-side-menu span.active{background:linear-gradient(90deg,rgba(222,110,147,.22),rgba(222,110,147,.10));color:#fff;border:1px solid rgba(234,119,148,.22)}
.business-v2-dashboard{display:grid;gap:16px}
.business-v2-dashboard-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.business-v2-dashboard-top h3{margin:0 0 6px;font-size:27px}
.business-v2-dashboard-top p{margin:0;color:#8f9ca4;font-size:14px;line-height:1.45}
.business-v2-room{width:138px;height:88px;border-radius:16px;background:linear-gradient(140deg,rgba(230,161,183,.18),rgba(27,37,44,.18)),url('../images/demo/maison-de-blonde-floreasca-cover.png') center/cover;border:1px solid #26353d;flex-shrink:0}
.business-v2-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.business-v2-stats article{padding:16px;border-radius:16px;border:1px solid #22313a;background:#0c1419;display:grid;gap:7px}
.business-v2-stats strong{font-size:30px;line-height:1;color:#fff}
.business-v2-stats span{font-size:13px;line-height:1.45;color:#8e9ca4}
.business-v2-bookings{padding:16px;border-radius:18px;background:#0b1216;border:1px solid #1f2d35}
.business-v2-bookings-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}
.business-v2-bookings-head strong{font-size:15px}
.business-v2-bookings-head a{color:#f08aa0;font-size:13px}
.business-v2-booking-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #18252c}
.business-v2-booking-row:first-of-type{border-top:0;padding-top:0}
.business-v2-booking-row strong{display:block;font-size:14px}
.business-v2-booking-row small{display:block;color:#7f8d95;font-size:12px;margin-top:4px}
.business-v2-booking-row>span{color:#b5c0c5;font-size:13px;white-space:nowrap}
.business-v2-booking-row b{padding:7px 10px;border-radius:999px;font-size:11px;letter-spacing:.03em;white-space:nowrap}
.business-v2-booking-row b.ok{background:#173327;color:#7ed6a9}
.business-v2-booking-row b.pending{background:#332719;color:#efc17f}

.business-v2-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:18px 0 34px}
.business-v2-benefits article,.business-v2-sync,.business-v2-final-cta{border:1px solid #25343c;background:linear-gradient(140deg,rgba(16,24,29,.98),rgba(10,15,19,.98));border-radius:24px}
.business-v2-benefits article{padding:28px;min-height:220px}
.business-v2-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#603044,#391825);color:#ff9eb4;font-size:22px;margin-bottom:18px}
.business-v2-benefits h3{font-size:20px;line-height:1.3;margin:0 0 12px}
.business-v2-benefits p{color:#8e9ca4;line-height:1.65;margin:0}

.business-v2-steps{padding:44px 0 30px}
.business-v2-section-heading{margin-bottom:28px}
.business-v2-step-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.business-v2-step-row article{display:flex;gap:18px;align-items:flex-start;padding:20px 14px 6px 0;position:relative}
.business-v2-step-row article:not(:last-child):after{content:'';position:absolute;top:27px;right:-7px;width:14px;height:1px;background:#9f4c65}
.business-v2-step-row article>span{flex:0 0 auto;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#5f3043;color:#fff;font-size:22px;font-weight:800}
.business-v2-step-row h3{font-size:22px;line-height:1.25;margin:3px 0 7px}
.business-v2-step-row p{color:#8f9ca4;line-height:1.6;margin:0;max-width:340px}

.business-v2-sync{margin:34px auto 0;padding:34px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr);gap:34px;align-items:center}
.business-v2-sync-copy h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,58px);line-height:1.05;margin:10px 0 18px;max-width:520px}
.business-v2-sync-copy p{color:#98a5ac;line-height:1.72;font-size:17px;margin:0 0 20px;max-width:580px}
.business-v2-sync-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.business-v2-sync-copy li{display:flex;gap:10px;align-items:flex-start;color:#dce2e5}
.business-v2-sync-copy li:before{content:'✓';display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#51283a;color:#ff9db3;font-size:12px;font-weight:800;margin-top:1px}
.business-v2-sync-visual{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center}
.business-v2-flow-card{border:1px solid #24333b;border-radius:20px;background:#0b1216;padding:18px}
.business-v2-flow-menu{display:grid;gap:10px}
.business-v2-flow-menu strong,.business-v2-flow-profile strong{font-size:18px}
.business-v2-flow-menu span{padding:12px 14px;border-radius:12px;background:#0f181e;border:1px solid #1d2b33;color:#d9e0e4;font-size:14px}
.business-v2-flow-center{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;border:1px solid rgba(235,117,145,.28);background:radial-gradient(circle,rgba(222,110,147,.16),rgba(10,15,19,.92));box-shadow:0 0 0 18px rgba(224,106,143,.05)}
.business-v2-flow-center img{width:42px;height:42px}
.business-v2-flow-profile{display:grid;gap:10px}
.business-v2-flow-cover{height:126px;border-radius:14px;background:linear-gradient(145deg,rgba(238,170,189,.20),rgba(17,25,30,.20)),url('../images/demo/lash-and-glow-dorobanti-cover.png') center/cover;border:1px solid #25343c}
.business-v2-flow-profile small{color:#97a5ac}
.business-v2-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.business-v2-tags span{padding:7px 10px;border-radius:999px;background:#111b20;border:1px solid #22323a;color:#dae0e4;font-size:12px}

.business-v2-faq{padding:54px 0}
.business-v2-faq details{border-bottom:1px solid #233139;padding:18px 0}
.business-v2-faq summary{cursor:pointer;font-size:22px;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
.business-v2-faq summary::-webkit-details-marker{display:none}
.business-v2-faq summary:after{content:'+';font-size:26px;color:#ec7b95;line-height:1}
.business-v2-faq details[open] summary:after{content:'-'}
.business-v2-faq p{max-width:860px;color:#96a4ac;line-height:1.7;margin:14px 0 0}

.business-v2-final-cta{margin:0 auto 80px;padding:32px 34px;display:flex;justify-content:space-between;align-items:center;gap:24px;background:linear-gradient(120deg,rgba(24,15,22,.95),rgba(12,17,21,.96))}
.business-v2-final-cta h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,54px);margin:8px 0 8px}
.business-v2-final-cta p{margin:0;color:#9aa7ae;max-width:620px}
.business-v2-final-actions{display:grid;justify-items:end;gap:14px}
.business-v2-final-actions span{color:#b5c0c5;font-size:13px;text-align:right}

@media (max-width: 1120px){
  .business-v2-hero-grid,.business-v2-sync{grid-template-columns:1fr}
  .business-v2-benefits,.business-v2-step-row{grid-template-columns:1fr 1fr}
  .business-v2-device{max-width:860px}
  .business-v2-final-cta{align-items:flex-start;flex-direction:column}
  .business-v2-final-actions{justify-items:start}
  .business-v2-final-actions span{text-align:left}
}
@media (max-width: 760px){
  .business-v2-hero{padding:56px 0 24px}
  .business-v2-copy p{font-size:17px}
  .business-v2-device-body,.business-v2-sync-visual,.business-v2-benefits,.business-v2-step-row{grid-template-columns:1fr}
  .business-v2-side-menu{grid-template-columns:repeat(2,minmax(0,1fr))}
  .business-v2-stats{grid-template-columns:1fr}
  .business-v2-booking-row{grid-template-columns:1fr;gap:6px}
  .business-v2-step-row article:not(:last-child):after{display:none}
  .business-v2-sync{padding:24px}
  .business-v2-flow-center{width:74px;height:74px;margin:0 auto}
  .business-v2-faq summary{font-size:18px}
}
@media (max-width: 560px){
  .business-v2-actions{align-items:stretch;flex-direction:column}
  .business-v2-actions .btn,.business-v2-video-link,.business-v2-final-actions .btn{width:100%}
  .business-v2-video-link{justify-content:center;padding:12px;border:1px solid #26353d;border-radius:16px;background:#0b1115}
  .business-v2-proof span{width:100%;justify-content:flex-start}
  .business-v2-side-menu{grid-template-columns:1fr}
  .business-v2-device{padding:16px;border-radius:24px}
  .business-v2-room{width:110px;height:74px}
  .business-v2-benefits article{min-height:auto;padding:22px}
  .business-v2-final-cta{padding:24px}
}

/* Admin reviews: per-admin read state */
.admin-review-read-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.admin-review-read-actions form{margin:0}
.admin-review-card-unread{border-color:#754055;box-shadow:inset 3px 0 0 #df607f}
.admin-review-new{background:#552337;color:#ffadc0;border-color:#7d3b55}
@media(max-width:760px){.admin-review-read-actions{width:100%;justify-content:flex-start}.admin-review-read-actions form,.admin-review-read-actions .btn{width:100%}}

/* ==========================================================
   Counties index (/judete) + homepage "Vezi toate" link
   ========================================================== */
.counties-page .counties-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;margin-bottom:20px;flex-wrap:wrap;
}
.counties-search{
  display:flex;align-items:center;gap:10px;
  flex:0 1 420px;width:100%;max-width:420px;min-width:0;
  height:48px;box-sizing:border-box;overflow:hidden;
  padding:0 6px 0 16px;
  border:1px solid #26343c;border-radius:24px;background:#0b1419;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.counties-search:focus-within{border-color:#8a4256;box-shadow:0 0 0 3px rgba(231,109,141,.12)}
.counties-search-icon{
  width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#7d8b93;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.counties-search:focus-within .counties-search-icon{stroke:#c99161}
.counties-search input[type=search]{
  flex:1 1 auto;min-width:0;border:0;background:transparent;outline:none;
  color:#eef2f3;font-size:14.5px;padding:9px 0;-webkit-appearance:none;appearance:none;
}
.counties-search input[type=search]::placeholder{color:#7d8b93}
.counties-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.counties-count{color:#8d9aa1;font-size:13.5px;white-space:nowrap}

.county-grid{
  display:grid;gap:14px;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.county-card{
  position:relative;display:block;height:190px;overflow:hidden;
  border-radius:14px;border:1px solid #26333a;background:#0c1419;
  text-decoration:none;transition:transform .18s ease,border-color .18s ease;
}
.county-card img{width:100%;height:100%;object-fit:cover;display:block}
.county-card:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(4,7,9,.92),rgba(4,7,9,.25) 55%,transparent);
}
.county-card:hover{transform:translateY(-2px);border-color:#8a4256}
.county-card-body{position:absolute;z-index:2;left:14px;right:14px;bottom:12px}
.county-card-body h3{margin:0 0 3px;font-size:16px;color:#f2f5f6;font-family:Georgia,serif}
.county-stat{font-size:12.5px;color:#c99161}
.county-stat.is-soon{color:#7d8b93}
.county-card.is-empty img{filter:grayscale(.66) brightness(.62)}
.county-card.is-empty:hover{border-color:#3a4a52}
.counties-empty{text-align:center;color:#8d9aa1;padding:36px 0}

/* Homepage: "Vezi toate" affordance next to the section title */
.home-section-title .home-see-all,
.home-hub-actions .home-see-all{
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 16px;border:1px solid #2b3a42;border-radius:999px;
  color:#e8edef;font-size:13.5px;font-weight:600;text-decoration:none;
  background:#0f1a20;transition:border-color .18s ease,background .18s ease,transform .18s ease;
  white-space:nowrap;
}
.home-section-title .home-see-all:hover,
.home-hub-actions .home-see-all:hover{
  border-color:#8a4256;background:#141f26;transform:translateX(2px);
}
.home-section-title .home-see-all svg,
.home-hub-actions .home-see-all svg{
  width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .18s ease;
}
.home-section-title .home-see-all:hover svg,
.home-hub-actions .home-see-all:hover svg{transform:translateX(3px)}
.home-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}

@media(max-width:1100px){.county-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.county-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .county-grid{grid-template-columns:1fr 1fr;gap:10px}
  .county-card{height:150px}
  .county-card-body h3{font-size:14px}
  .counties-search{max-width:100%;flex:0 0 auto;height:46px;border-radius:23px}
  .home-section-title{align-items:center}
}

/* Photo credits table (/credite-foto) */
.credits-table-wrap{overflow-x:auto;border:1px solid #26333a;border-radius:14px;background:#0c1419}
.credits-table{width:100%;border-collapse:collapse;font-size:14px;min-width:720px}
.credits-table th{
  text-align:left;padding:13px 16px;color:#c99161;font-weight:600;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #26333a;white-space:nowrap;
}
.credits-table td{padding:12px 16px;color:#c8d2d7;border-bottom:1px solid rgba(255,255,255,.045)}
.credits-table tr:last-child td{border-bottom:0}
.credits-table tr:hover td{background:#101b21}
.credits-table a{color:#d85e7b;text-decoration:none}
.credits-table a:hover{text-decoration:underline}
.county-attribution{margin-top:8px;font-size:12.5px;color:#7d8b93}
.county-attribution a{color:#9d8a76;text-decoration:none}
.county-attribution a:hover{text-decoration:underline;color:#c99161}

/* County links block on service landing pages (internal SEO linking) */
.county-link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.county-link{
  display:block;padding:12px 16px;border:1px solid #26333a;border-radius:10px;
  background:#0c1419;color:#dfe6e9;text-decoration:none;font-size:14px;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.county-link:hover{border-color:#8a4256;background:#111f25;transform:translateY(-1px)}

/* ==========================================================
   Landing page CMS (admin) + public CMS sections
   ========================================================== */
.landing-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:18px}
.landing-stats article{background:#0c1419;border:1px solid #26333a;border-radius:12px;padding:13px 15px}
.landing-stats span{display:block;color:#8d9aa1;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
.landing-stats strong{display:block;font-size:22px;color:#eef2f3;margin:3px 0}
.landing-stats small{color:#7d8b93;font-size:11.5px}

.landing-toolbar{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end;margin-bottom:14px}
.landing-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;flex:1 1 auto}
.landing-filters label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:#9faab0}
.landing-filters label.chk{flex-direction:row;align-items:center;gap:7px}
.landing-filters input,.landing-filters select{min-width:135px}
.landing-actions{display:flex;gap:8px}
.landing-pager{display:flex;gap:14px;align-items:center;justify-content:center;padding:16px 0 4px;color:#8d9aa1}

.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600}
.pill.ok{background:#12301c;color:#7ddc8f}
.pill.muted{background:#1a2126;color:#8d9aa1}
.btn.sm{padding:5px 11px;font-size:12.5px}

.landing-edit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:12px}
.landing-edit-head h2{margin:4px 0}
.landing-edit-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.landing-save-row{display:flex;gap:14px;align-items:center;margin-top:16px}

.faq-row{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;margin-bottom:8px;align-items:start}
.faq-row textarea{resize:vertical}

.serp-preview-card{margin-top:18px}
.serp-preview{background:#fff;border-radius:8px;padding:14px 16px;margin:10px 0}
.serp-url{color:#4d5156;font-size:13px;margin-bottom:3px}
.serp-title{color:#1a0dab;font-size:19px;line-height:1.3;margin-bottom:3px}
.serp-desc{color:#4d5156;font-size:14px;line-height:1.45}
.serp-meters{display:flex;gap:18px;color:#8d9aa1;font-size:12.5px}

/* Public page: CMS sections */
.mx-a-intro{color:#b9c4c9;font-size:15.5px;line-height:1.6;max-width:820px;margin:12px 0 0}
.mx-a-seo-content{max-width:820px;margin:34px auto;color:#c8d2d7;line-height:1.7}
.mx-a-seo-content h2{color:#eef2f3;font-family:Georgia,serif;margin:26px 0 10px;font-size:23px}
.mx-a-seo-content h3{color:#eef2f3;margin:20px 0 8px;font-size:18px}
.mx-a-seo-content p{margin:0 0 13px}
.mx-a-seo-content ul,.mx-a-seo-content ol{margin:0 0 13px 20px}
.mx-a-seo-content a{color:#d85e7b}
.mx-a-faq{max-width:820px;margin:34px auto}
.mx-a-faq h2{font-family:Georgia,serif;margin-bottom:14px;color:#eef2f3}
.mx-a-faq-item{border:1px solid #26333a;border-radius:10px;background:#0c1419;margin-bottom:9px;overflow:hidden}
.mx-a-faq-item summary{padding:13px 16px;cursor:pointer;color:#e8edef;font-weight:600;list-style:none}
.mx-a-faq-item summary::-webkit-details-marker{display:none}
.mx-a-faq-item summary:before{content:"+ ";color:#c99161;font-weight:700}
.mx-a-faq-item[open] summary:before{content:"− "}
.mx-a-faq-answer{padding:0 16px 14px;color:#b9c4c9;line-height:1.65}

@media(max-width:700px){
  .faq-row{grid-template-columns:1fr}
  .landing-stats{grid-template-columns:repeat(2,1fr)}
}

/* ==========================================================
   Etapa 5: price pages, comparison, open-today
   ========================================================== */
.price-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:26px}
.price-highlights article{background:#0c1419;border:1px solid #26333a;border-radius:12px;padding:15px 16px}
.price-highlights span{display:block;color:#8d9aa1;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
.price-highlights strong{display:block;font-size:21px;color:#c99161;margin-top:4px}

.price-table,.compare-table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:620px}
.price-table th,.compare-table th{
  text-align:left;padding:12px 16px;color:#c99161;font-size:12.5px;text-transform:uppercase;
  letter-spacing:.04em;border-bottom:1px solid #26333a;white-space:nowrap;
}
.price-table td,.compare-table td{padding:12px 16px;color:#c8d2d7;border-bottom:1px solid rgba(255,255,255,.045)}
.compare-table tbody th{color:#9faab0;font-weight:600;text-transform:none;letter-spacing:0;font-size:13.5px}
.price-table tr:hover td,.compare-table tr:hover td{background:#101b21}
.price-table a,.compare-table a{color:#e8edef;text-decoration:none}
.price-table a:hover{color:#d85e7b}
.price-table strong{color:#c99161;font-size:15.5px}
.compare-page .btn{width:100%;justify-content:center}

.mx-a-breadcrumbs{color:#8d9aa1;font-size:13px;margin-bottom:8px}
.mx-a-breadcrumbs a{color:#8d9aa1;text-decoration:none}
.mx-a-breadcrumbs a:hover{color:#c99161}
.mx-a-breadcrumbs span{margin:0 7px;opacity:.5}

/* Homepage: link to the open-today list */
.home-open-today{margin-top:14px;text-align:center}

/* ==========================================================
   Hub pages (/servicii, /localitati) + lateral link blocks
   ========================================================== */
.hub-page .hub-group{margin-bottom:34px}
.hub-page .hub-group:last-of-type{margin-bottom:18px}
.hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:11px}
.hub-card{
  display:flex;flex-direction:column;gap:4px;
  padding:13px 15px;border:1px solid #26333a;border-radius:11px;
  background:#0c1419;text-decoration:none;
  transition:border-color .18s ease,background .18s ease,transform .18s ease;
}
.hub-card:hover{border-color:#8a4256;background:#111f25;transform:translateY(-2px)}
.hub-card strong{color:#eef2f3;font-size:14.5px;font-weight:600}
.hub-card span{color:#8d9aa1;font-size:12.5px}

.hub-search{
  display:flex;align-items:center;gap:10px;
  width:100%;max-width:460px;min-width:0;
  height:48px;box-sizing:border-box;overflow:hidden;
  margin:0 0 24px;
  padding:0 14px 0 16px;
  border:1px solid #26343c;border-radius:24px;background:#0b1419;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.hub-search:focus-within{border-color:#8a4256;box-shadow:0 0 0 3px rgba(231,109,141,.12)}
.hub-search-icon{
  width:17px;height:17px;flex:0 0 17px;fill:none;stroke:#7d8b93;
  stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.hub-search:focus-within .hub-search-icon{stroke:#c99161}
.hub-search input[type=search]{
  flex:1 1 auto;min-width:0;border:0;background:transparent;outline:none;
  color:#eef2f3;font-size:14.5px;padding:9px 0;-webkit-appearance:none;appearance:none;
}
.hub-search input[type=search]::placeholder{color:#7d8b93}
.hub-search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}
.hub-count{color:#8d9aa1;font-size:12.5px;white-space:nowrap}

/* Two hub buttons side by side under the homepage services section */
.home-hub-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

@media(max-width:700px){
  .hub-grid{grid-template-columns:1fr 1fr;gap:9px}
  .hub-card{padding:11px 12px}
  .hub-card strong{font-size:13.5px}
  .home-hub-actions{width:100%}
  .home-hub-actions .home-see-all{flex:1 1 auto;justify-content:center}
.home-hub-actions .home-see-all svg{width:15px;height:15px;flex:0 0 15px;max-width:15px;max-height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-hub-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
}

/* Upward hub links: keeps the internal graph navigable both ways */
.hub-up{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:32px auto 8px;padding-top:22px;border-top:1px solid #1d292f}
.hub-up-link{
  display:inline-flex;align-items:center;gap:6px;padding:9px 16px;
  border:1px solid #2b3a42;border-radius:999px;background:#0f1a20;
  color:#dfe6e9;font-size:13.5px;font-weight:600;text-decoration:none;
  transition:border-color .18s ease,background .18s ease;
}
.hub-up-link:hover{border-color:#8a4256;background:#141f26}

/* ==========================================================
   Admin: visual HTML editor + service image field
   Lives in app.css because admin.css is not loaded by any
   layout - every admin page loads app.css.
   ========================================================== */

/* ==========================================================
   Visual HTML editor (admin)
   ========================================================== */
.mx-html-editor{
  border:1px solid #2b3a42;border-radius:10px;background:#0b1419;overflow:hidden;
}
.mx-html-editor-bar{
  display:flex;flex-wrap:wrap;gap:4px;padding:7px 8px;
  border-bottom:1px solid #26343c;background:#0f1a20;
}
.mx-html-editor-btn{
  border:1px solid #2b3a42;background:#0c1419;color:#dfe6e9;
  border-radius:7px;padding:5px 10px;font-size:12.5px;cursor:pointer;
  line-height:1.2;transition:border-color .15s ease,background .15s ease;
}
.mx-html-editor-btn:hover{border-color:#8a4256;background:#141f26}
.mx-html-editor-btn.is-active{border-color:#c99161;background:#1d1710;color:#c99161}
.mx-html-editor-bold{font-weight:700}
.mx-html-editor-italic{font-style:italic}
.mx-html-editor-src{margin-left:auto;font-family:ui-monospace,Menlo,Consolas,monospace}

.mx-html-editor-area{
  min-height:220px;max-height:640px;overflow-y:auto;
  padding:14px 16px;color:#e8edef;font-size:14.5px;line-height:1.7;outline:none;
}
.mx-html-editor-area:focus{background:#0d171d}
.mx-html-editor-area h2{font-family:Georgia,serif;font-size:21px;margin:16px 0 8px;color:#f2f5f6}
.mx-html-editor-area h3{font-size:17px;margin:14px 0 7px;color:#f2f5f6}
.mx-html-editor-area h4{font-size:15px;margin:12px 0 6px;color:#f2f5f6}
.mx-html-editor-area p{margin:0 0 11px}
.mx-html-editor-area ul,.mx-html-editor-area ol{margin:0 0 11px 22px}
.mx-html-editor-area li{margin-bottom:4px}
.mx-html-editor-area a{color:#d85e7b}
.mx-html-editor-area blockquote{
  margin:0 0 11px;padding:8px 14px;border-left:3px solid #c99161;
  background:#101b21;color:#b9c4c9;
}
.mx-html-editor-area:empty:before{
  content:attr(data-placeholder);color:#6b787f;
}

.mx-html-editor-source{
  width:100%;border:0;background:#0b1419;color:#c8d2d7;
  font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.6;
  padding:14px 16px;min-height:220px;resize:vertical;outline:none;
}
.mx-html-editor-hidden{position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;
  border:0!important;}

@media(max-width:700px){
  .mx-html-editor-bar{gap:3px;padding:6px}
  .mx-html-editor-btn{padding:5px 8px;font-size:12px}
  .mx-html-editor-area{padding:12px;font-size:14px;min-height:180px}
}

/* ==========================================================
   Service image field (catalog admin)
   Kept out of .form-row / .form-actions so the thumbnail cannot
   stretch across a grid cell or disturb the button row.
   ========================================================== */
/* .admin-form is a grid, so every child must claim the full row explicitly,
   otherwise this block collapses to its content width (≈314px). */
.service-image-field,
.service-image-field+.form-actions,
.service-image-field~.form-actions,
.admin-form>.form-actions{grid-column:1/-1;width:100%}

.service-image-field{
  display:block;
  padding:13px 14px;
  margin-bottom:4px;
  border:1px solid #26333a;
  border-radius:12px;
  background:#0c1419;
  box-sizing:border-box;
}
.service-image-field>label{display:grid;gap:7px;color:#c8d0d4;font-size:12px;font-weight:650;min-width:0}
.service-image-field input[type=file]{
  width:100%;background:#090f13;border:1px solid #2b3942;color:#f8f4f1;
  border-radius:8px;padding:10px 12px;font:inherit;cursor:pointer;
}
.service-image-field input[type=file]::file-selector-button{
  margin-right:10px;padding:6px 12px;border:1px solid #2b3a42;border-radius:7px;
  background:#141f26;color:#dfe6e9;font:inherit;font-weight:650;cursor:pointer;
  transition:border-color .15s ease,background .15s ease;
}
.service-image-field input[type=file]::file-selector-button:hover{
  border-color:#8a4256;background:#1a2830;
}
.service-image-field small{color:#8d9aa1;font-size:11.5px;line-height:1.5;font-weight:400}

.service-image-preview{
  display:flex;align-items:center;gap:11px;margin-top:11px;
  padding-top:11px;border-top:1px solid #1d292f;
}
.service-image-preview .muted-copy{font-size:11.5px;color:#8d9aa1;white-space:nowrap}
.service-image-preview img{
  display:block;width:104px;height:70px;object-fit:cover;
  border-radius:8px;border:1px solid #2b3a42;background:#090f13;flex:0 0 auto;
}

/* Buttons must never inherit grid stretching */
.service-image-field+.form-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:6px}
.service-image-field+.form-actions .btn,
.service-image-field+.form-actions a.btn{width:auto;flex:0 0 auto}

@media(max-width:640px){
  .service-image-preview img{width:120px;height:80px}
  .service-image-field+.form-actions .btn,
  .service-image-field+.form-actions a.btn{flex:1 1 auto;justify-content:center}
}

/* .admin-form is a grid, so every child must claim the full row explicitly,
   otherwise this block collapses to its content width (≈314px). */
.service-image-field,
.service-image-field+.form-actions,
.service-image-field~.form-actions,
.admin-form>.form-actions{grid-column:1/-1;width:100%}

.service-image-field{
  display:block;
  padding:13px 14px;
  margin-bottom:4px;
  border:1px solid #26333a;
  border-radius:12px;
  background:#0c1419;
  box-sizing:border-box;
}
.service-image-field>label{display:grid;gap:7px;color:#c8d0d4;font-size:12px;font-weight:650;min-width:0}
.service-image-field input[type=file]{
  width:100%;background:#090f13;border:1px solid #2b3942;color:#f8f4f1;
  border-radius:8px;padding:10px 12px;font:inherit;cursor:pointer;
}
.service-image-field input[type=file]::file-selector-button{
  margin-right:10px;padding:6px 12px;border:1px solid #2b3a42;border-radius:7px;
  background:#141f26;color:#dfe6e9;font:inherit;font-weight:650;cursor:pointer;
  transition:border-color .15s ease,background .15s ease;
}
.service-image-field input[type=file]::file-selector-button:hover{
  border-color:#8a4256;background:#1a2830;
}
.service-image-field small{color:#8d9aa1;font-size:11.5px;line-height:1.5;font-weight:400}

.service-image-preview{
  display:flex;align-items:center;gap:11px;margin-top:11px;
  padding-top:11px;border-top:1px solid #1d292f;
}
.service-image-preview .muted-copy{font-size:11.5px;color:#8d9aa1;white-space:nowrap}
.service-image-preview img{
  display:block;width:104px;height:70px;object-fit:cover;
  border-radius:8px;border:1px solid #2b3a42;background:#090f13;flex:0 0 auto;
}

/* Buttons must never inherit grid stretching */
.service-image-field+.form-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin-top:6px}
.service-image-field+.form-actions .btn,
.service-image-field+.form-actions a.btn{width:auto;flex:0 0 auto}

@media(max-width:640px){
  .service-image-preview img{width:120px;height:80px}
  .service-image-field+.form-actions .btn,
  .service-image-field+.form-actions a.btn{flex:1 1 auto;justify-content:center}
}

/* .admin-form is a grid with no explicit columns; its implicit column was
   sizing to max-content, which pushed fields to 1024px inside a 378px card.
   Pin every admin grid/child to the container width. */
.admin-form{grid-template-columns:minmax(0,1fr)}
.admin-form>*{min-width:0;max-width:100%}
.admin-form .form-row,
.admin-form .form-row>*,
.admin-form label,
.admin-form label>*{min-width:0;max-width:100%}
.admin-form input,
.admin-form select,
.admin-form textarea{max-width:100%;box-sizing:border-box}

/* The image preview must never dictate the column width. */
.service-image-preview img{max-width:104px;max-height:70px;width:104px;height:70px}
.admin-grid{min-width:0}
.admin-grid>*{min-width:0}
.admin-card{overflow-wrap:anywhere}

@media(max-width:640px){
  .service-image-preview img{width:120px;height:80px;max-width:120px;max-height:80px}
}

/* ==========================================================
   Categories admin: image field + permanent-delete button
   ========================================================== */
.category-image-field{
  display:block;
  padding:13px 14px;
  margin-bottom:4px;
  border:1px solid #26333a;
  border-radius:12px;
  background:#0c1419;
  box-sizing:border-box;
}
.category-image-field>label{display:grid;gap:7px;color:#c8d0d4;font-size:12px;font-weight:650;min-width:0}
.category-image-field input[type=file]{
  width:100%;background:#090f13;border:1px solid #2b3942;color:#f8f4f1;
  border-radius:8px;padding:10px 12px;font:inherit;cursor:pointer;box-sizing:border-box;
}
.category-image-field input[type=file]::file-selector-button{
  margin-right:10px;padding:6px 12px;border:1px solid #2b3a42;border-radius:7px;
  background:#141f26;color:#dfe6e9;font:inherit;font-weight:650;cursor:pointer;
}
.category-image-field small{color:#8d9aa1;font-size:11.5px;line-height:1.5;font-weight:400}
.category-image-field .service-image-preview{margin-top:11px;padding-top:11px;border-top:1px solid #1d292f}
.category-image-field .service-image-preview img{
  display:block;width:104px;height:70px;object-fit:cover;
  border-radius:8px;border:1px solid #2b3a42;background:#090f13;
}

/* Permanent delete: visually distinct from Editează / Dezactivează */
.row-actions form{display:inline}
.link-danger{
  background:none;border:0;padding:0;cursor:pointer;font:inherit;
  color:#e0647f;text-decoration:underline;text-underline-offset:2px;
}
.link-danger:hover{color:#ff7d96}
.row-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}

@media(max-width:640px){
  .category-image-field .service-image-preview img{width:120px;height:80px}
  .row-actions{gap:9px}
}

/* Category list: thumbnail + usage */
.cat-cell{display:flex;align-items:center;gap:11px}
.cat-cell>span{display:flex;flex-direction:column;gap:2px;min-width:0}
.cat-thumb{width:44px;height:44px;border-radius:9px;object-fit:cover;border:1px solid #2b3a42;flex:0 0 44px;background:#090f13}
.cat-thumb-empty{display:block;background:repeating-linear-gradient(45deg,#101c22,#101c22 5px,#0c1419 5px,#0c1419 10px)}
.cat-usage{font-size:11px;color:#8d9aa1}
.cat-usage-empty{color:#7ddc8f}
.link-danger[disabled]{opacity:.4;cursor:not-allowed;text-decoration:none}

/* ==========================================================
   Salon page: compact service rows (Mero-style)
   Each service is one line: name + meta on the left, a small
   "Programeaza" button on the right. Previously each row was a
   tall card, so a salon with 50 services became unmanageable.
   ========================================================== */
.service-menu{display:flex;flex-direction:column;gap:8px}
.service-menu article{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 14px;margin:0;
  border:1px solid #26333a;border-radius:11px;background:#0c1419;
  transition:border-color .16s ease,background .16s ease;
}
.service-menu article:hover{border-color:#8a4256;background:#111f25}
.service-menu article>div:first-child{min-width:0;flex:1 1 auto}
.service-menu .mini-tag{
  display:inline-block;margin-bottom:3px;padding:1px 8px;border-radius:999px;
  background:#16232a;color:#8d9aa1;font-size:10.5px;text-transform:uppercase;letter-spacing:.03em;
}
.service-menu h3{margin:0 0 2px;font-size:15px;font-weight:600;color:#eef2f3;line-height:1.3}
.service-menu article p{margin:0;color:#8d9aa1;font-size:12.5px}
.service-action{
  display:flex;align-items:center;gap:12px;flex:0 0 auto;
}
.service-action strong{color:#c99161;font-size:15px;white-space:nowrap}
.service-action .btn{
  padding:8px 14px;font-size:13px;border-radius:8px;white-space:nowrap;
}

/* Mobile: keep the row on one line, shrink the button further */
@media(max-width:760px){
  .service-menu{gap:7px}
  .service-menu article{padding:10px 12px;gap:10px}
  .service-menu h3{font-size:14px}
  .service-menu article p{font-size:11.5px}
  .service-action{gap:9px}
  .service-action strong{font-size:14px}
  .service-action .btn{padding:7px 11px;font-size:12px}
}
@media(max-width:420px){
  .service-menu .mini-tag{display:none}
  .service-action .btn{padding:6px 10px;font-size:11.5px}
}

/* ==========================================================
   Mobile polish for the salon page
   ========================================================== */
@media(max-width:760px){
  /* Tabs scroll horizontally instead of wrapping onto three lines */
  .profile-tabs{
    display:flex;gap:6px;overflow-x:auto;flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
    padding-bottom:4px;margin-bottom:14px;
  }
  .profile-tabs::-webkit-scrollbar{display:none}
  .profile-tabs a{flex:0 0 auto;white-space:nowrap;padding:7px 13px;font-size:13px}

  /* Schedule table stays readable */
  .salon-hours-row{padding:9px 0;font-size:13.5px}
  .salon-hours-head strong{font-size:15px}
}

/* ==========================================================
   Homepage region grid: 6 cards on mobile (2 columns x 3 rows)
   ========================================================== */
@media(max-width:760px){
  .home-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .home-city-card{height:190px}
  .home-city-card h3{font-size:15px}
  .home-city-card span{font-size:11.5px}
}
@media(max-width:420px){
  .home-city-card{height:165px}
  .home-city-card h3{font-size:14px}
  .home-city-card div{bottom:12px;left:13px;right:11px}
}

/* ==========================================================
   Service rows: neutralise the legacy mobile stacking rules.
   The old mobile block made the action area a full-width grid column
   (button 270px wide, row 94px tall). These overrides keep the compact
   single-line layout at every width.
   ========================================================== */
@media(max-width:760px){
  .service-menu article{
    flex-direction:row;align-items:center;
    padding:10px 12px;gap:10px;
  }
  .service-action{
    display:flex;width:auto;grid-template-columns:none;
    align-items:center;gap:9px;flex:0 0 auto;
  }
  .service-action .btn{
    width:auto;min-width:0;padding:7px 12px;font-size:12px;text-align:center;
  }
}
@media(max-width:420px){
  .service-action{padding-right:0}
  .service-action .btn{padding:6px 10px;font-size:11.5px;min-width:0}
}

/* ==========================================================
   Mobile overflow fixes (measured on live pages)
   ========================================================== */

/* 1. Blog category filter: keep the horizontal scroll INSIDE the row
      instead of widening the whole document. */
.blog-category-row{
  display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;
  flex-wrap:nowrap;max-width:100%;min-width:0;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.blog-category-row::-webkit-scrollbar{display:none}
.blog-category-row a{flex:0 0 auto}

/* 2. Salon tab strip: scroll inside its column, never widen the page. */
.salon-main,.salon-layout,.container{min-width:0}
.profile-tabs{
  max-width:100%;min-width:0;
  display:flex;flex-wrap:nowrap;gap:6px;
  overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.profile-tabs::-webkit-scrollbar{display:none}
.profile-tabs a{flex:0 0 auto;white-space:nowrap}

/* 3. Homepage "Vezi toate" buttons: allow the row to shrink and wrap. */
.home-hub-actions{flex-wrap:wrap;max-width:100%;min-width:0}
.home-hub-actions .home-see-all{min-width:0;max-width:100%}

@media(max-width:760px){
  /* Stack the two buttons instead of letting them run off screen */
  .home-hub-actions{width:100%;gap:8px}
  .home-hub-actions .home-see-all{
    flex:1 1 100%;justify-content:center;
    padding:9px 14px;font-size:13px;
  }
  .home-section-sub{font-size:13px}
  /* Section titles keep the button below the heading on small screens */
  .home-section-title{flex-direction:column;align-items:flex-start;gap:12px}
  .home-section-title .home-see-all{align-self:flex-start}
}

/* ==========================================================
   Homepage region grid: 5 columns on desktop, 6 on mobile.
   Six cities are shown, so mobile uses a single 6-across row of
   compact cards (or 3x2 when too narrow to read).
   ========================================================== */
.home-city-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}

/* Tablet: keep all six visible, three per row */
@media(max-width:1100px){
  .home-city-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}

/* Mobile: three per row so all six are visible without scrolling */
@media(max-width:760px){
  .home-city-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .home-city-card{height:150px}
  .home-city-card h3{font-size:13.5px}
  .home-city-card span{font-size:10.5px}
  .home-city-card div{bottom:10px;left:11px;right:9px}
}

/* Very narrow: two per row, still all six visible */
@media(max-width:430px){
  .home-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .home-city-card{height:140px}
  .home-city-card h3{font-size:13px}
}

/* Homepage region cards: counties with no salons yet */
.home-city-soon{
  display:inline-block;
  color:#c99161;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
}

/* ==========================================================
   Salon tabs: readable on desktop
   The base rule was font-size:12px with no padding, which made the
   row of seven tabs look cramped and small. Give them a proper pill
   shape, comfortable spacing and a visible active state.
   ========================================================== */
.profile-tabs{
  display:flex;
  align-items:center;
  gap:8px;
  padding:14px 0;
  border-bottom:1px solid #26323a;
  flex-wrap:wrap;
}
.profile-tabs a{
  font-size:14px;
  font-weight:600;
  color:#b9c4c9;
  text-decoration:none;
  padding:9px 16px;
  border-radius:9px;
  border:1px solid transparent;
  white-space:nowrap;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.profile-tabs a:hover{
  color:#eef2f3;
  background:#111f25;
  border-color:#2b3a42;
}
/* Active tab in the style used elsewhere on the site */
.profile-tabs a.is-active,
.profile-tabs a[aria-current="page"]{
  color:#f0b3c2;
  background:#211218;
  border-color:#9d4258;
}

/* Keep the horizontal scroll behaviour on narrow screens */
@media(max-width:760px){
  .profile-tabs{
    gap:6px;
    padding:10px 0;
    flex-wrap:nowrap;
    overflow-x:auto;
  }
  .profile-tabs a{padding:7px 13px;font-size:13px}
}
@media(max-width:1100px) and (min-width:761px){
  .profile-tabs a{font-size:13.5px;padding:8px 13px}
  .profile-tabs{gap:6px}
}

/* ==========================================================
   Homepage region grid: 5 on desktop, 6 on mobile.
   The server renders six cards. Desktop has room for five
   comfortable cards in one row, so the sixth (a county with no
   salons yet) is hidden there and revealed on mobile.
   ========================================================== */
@media(min-width:761px){
  .home-city-grid .home-city-card:nth-child(6){display:none}
  .home-city-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
}

/* Tablet and below: show all six */
@media(max-width:1100px) and (min-width:761px){
  .home-city-grid .home-city-card:nth-child(6){display:none}
  .home-city-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  .home-city-grid .home-city-card:nth-child(6){display:block}
  .home-city-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
}

@media(max-width:430px){
  .home-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}

/* ==========================================================
   Salon page: location card with an embedded map
   ========================================================== */
.salon-location-card{
  margin-top:14px;padding:14px;
  border:1px solid #26333a;border-radius:14px;background:#0c1419;
}
.salon-location-head{display:flex;gap:11px;align-items:flex-start}
.salon-location-pin{
  flex:0 0 34px;width:34px;height:34px;border-radius:9px;
  display:flex;align-items:center;justify-content:center;
  background:#16232a;color:#c99161;
}
.salon-location-pin svg{width:18px;height:18px}
.salon-location-text{min-width:0;flex:1 1 auto}
.salon-location-text b{display:block;font-size:14.5px;color:#eef2f3;margin-bottom:2px}
.salon-location-text span{display:block;font-size:12.5px;color:#8d9aa1;line-height:1.45}

.salon-map-wrap{
  position:relative;margin-top:12px;border-radius:12px;overflow:hidden;
  border:1px solid #26333a;background:#0b1216;
}
.salon-map-embed{
  display:block;width:100%;height:240px;border:0;
  filter:saturate(.92) contrast(1.02);
}
.salon-map-actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.salon-map-btn{
  flex:1 1 auto;min-width:120px;text-align:center;
  padding:9px 14px;border-radius:9px;font-size:13px;font-weight:600;
  color:#0a1013;background:#c99161;text-decoration:none;
  transition:background .16s ease,transform .16s ease;
}
.salon-map-btn:hover{background:#d9a273;transform:translateY(-1px)}
.salon-map-btn.ghost{
  color:#c3ccd1;background:transparent;border:1px solid #2b3a42;
}
.salon-map-btn.ghost:hover{background:#111f25;border-color:#8a4256;color:#eef2f3}

/* Dark map tint so the iframe blends with the dark UI */
.salon-map-wrap:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 40px rgba(3,7,9,.55);
}

@media(max-width:760px){
  .salon-location-card{padding:12px}
  .salon-map-embed{height:200px}
  .salon-map-btn{min-width:0;flex:1 1 calc(50% - 4px);padding:9px 10px;font-size:12.5px}
}

/* ==========================================================
   Admin: Google Maps link extractor (location form)
   ========================================================== */
.gmaps-row{display:flex;gap:8px;align-items:stretch;margin-top:6px}
.gmaps-row input{flex:1 1 auto;min-width:0}
.gmaps-row .btn{flex:0 0 auto;white-space:nowrap}
.gmaps-msg{display:block;margin-top:6px;font-size:12.5px;line-height:1.45}
.gmaps-msg.is-ok{color:#7fc9a0}
.gmaps-msg.is-err{color:#e08a9b}
.field-hint{display:block;margin:2px 0 4px;font-size:12px;color:#8d9aa1;line-height:1.45}

@media(max-width:760px){
  .gmaps-row{flex-direction:column}
  .gmaps-row .btn{width:100%}
}

/* ==========================================================
   Public unsubscribe page
   ========================================================== */
.unsub-wrap{
  min-height:60vh;display:flex;align-items:center;justify-content:center;
  padding:48px 18px;
}
.unsub-card{
  width:100%;max-width:520px;
  padding:34px 30px;
  border:1px solid #26333a;border-radius:16px;
  background:#0c1419;text-align:center;
}
.unsub-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:54px;height:54px;border-radius:14px;margin-bottom:16px;
  background:#16232a;color:#c99161;
}
.unsub-icon svg{width:26px;height:26px}
.unsub-icon.is-ok{background:#12241b;color:#7fc9a0}
.unsub-icon.is-err{background:#251319;color:#ef849a}
.unsub-card h1{margin:0 0 12px;font-size:24px;color:#eef2f3}
.unsub-card p{margin:0 0 10px;font-size:14.5px;line-height:1.6;color:#b9c4c9}
.unsub-card p b{color:#eef2f3}
.unsub-note{font-size:13px !important;color:#8d9aa1 !important;margin-top:16px !important}
.unsub-note a{color:#c99161}
.unsub-actions,.unsub-form{
  display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px;
}
.unsub-error{
  color:#e08a9b !important;font-size:13.5px !important;
  background:#1b1116;border:1px solid #7a2d3f;border-radius:9px;padding:9px 12px;
}
@media(max-width:520px){
  .unsub-card{padding:26px 20px}
  .unsub-card h1{font-size:20px}
  .unsub-actions .btn,.unsub-form .btn{flex:1 1 100%}
}

/* ==========================================================
   Admin: newsletter page
   ========================================================== */
.newsletter-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.stat-card{text-align:left}
.stat-label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#8d9aa1;margin-bottom:6px}
.stat-value{display:block;font-size:30px;line-height:1.1;color:#eef2f3;font-variant-numeric:tabular-nums}
.stat-value.is-ok{color:#7fc9a0}
.stat-value.is-warn{color:#e0a86b}
.stat-card small{display:block;margin-top:6px;font-size:12px;color:#8d9aa1;line-height:1.4}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11.5px;background:#16232a;color:#b9c4c9}
.pill-ok{background:#12241b;color:#7fc9a0}
.admin-list{margin:0;padding-left:18px}
.admin-list li{margin-bottom:8px;font-size:13.5px;line-height:1.55;color:#b9c4c9}
.admin-list b{color:#eef2f3}
@media(max-width:1000px){.newsletter-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.newsletter-stats{grid-template-columns:1fr}}

/* ==========================================================
   Booking success: "Add to Google Calendar" button
   Sits first in the action row, since saving the appointment is
   the most useful next step for the client.
   ========================================================== */
.sb-success-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.sb-success-actions .btn.gcal{
  display:inline-flex;align-items:center;gap:8px;
  flex:0 0 auto;
}
.sb-success-actions .btn.gcal svg{
  width:16px;height:16px;flex:0 0 16px;max-width:16px;max-height:16px;
}

@media(max-width:600px){
  .sb-success-actions{flex-direction:column;align-items:stretch}
  .sb-success-actions .btn{width:100%;justify-content:center}
}

/* .ics download button: same affordance as the Google Calendar one */
.sb-success-actions .btn.ics{
  display:inline-flex;align-items:center;gap:8px;
}
.sb-success-actions .btn.ics svg{
  width:16px;height:16px;flex:0 0 16px;max-width:16px;max-height:16px;
}
.sb-success-actions .btn.gcal,
.sb-success-actions .btn.ics{
  font-weight:600;
}

/* ==========================================================
   Salon page: services grouped by category (Mero-style)
   One heading per category so the client can scan the offer
   instead of reading a flat list where headings repeat.
   ========================================================== */
.service-groups{display:flex;flex-direction:column;gap:26px}
.service-group{display:block}

.service-group-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin:0 0 12px;
  padding-bottom:9px;
  border-bottom:1px solid #26333a;
}
.service-group-head h3{
  margin:0;
  font-size:17px;font-weight:700;color:#eef2f3;
  letter-spacing:.01em;
}
.service-group-count{
  font-size:12px;color:#8d9aa1;white-space:nowrap;
}

/* Rows inside a group: name on the left, price + button on the right */
.service-menu{display:flex;flex-direction:column;gap:0}
.service-menu article{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:13px 2px;
  margin:0;
  border:0;
  border-bottom:1px solid #1b262c;
  border-radius:0;
  background:transparent;
  transition:background .15s ease;
}
.service-menu article:last-child{border-bottom:0}
.service-menu article:hover{background:#0e181d}
.service-info{min-width:0;flex:1 1 auto}
.service-menu h4{
  margin:0 0 3px;
  font-size:15px;font-weight:600;color:#eef2f3;line-height:1.3;
}
.service-desc{
  margin:0 0 4px;
  font-size:12.5px;line-height:1.45;color:#8d9aa1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.service-meta{margin:0;font-size:12px;color:#728087}
.service-action{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.service-action strong{color:#c99161;font-size:15px;white-space:nowrap}
.service-action .btn{padding:8px 14px;font-size:13px;border-radius:8px;white-space:nowrap}

@media(max-width:760px){
  .service-groups{gap:20px}
  .service-group-head h3{font-size:15.5px}
  .service-menu article{padding:11px 0;gap:10px}
  .service-menu h4{font-size:14px}
  .service-desc{font-size:11.5px;-webkit-line-clamp:2}
  .service-action{gap:9px}
  .service-action strong{font-size:14px}
  .service-action .btn{padding:7px 11px;font-size:12px}
}
@media(max-width:420px){
  .service-desc{display:none}
  .service-action .btn{padding:6px 10px;font-size:11.5px}
}

/* ==========================================================
   footer-mobile-compact
   On phones the four footer groups stacked into a single column
   and the footer reached ~966px (11% of the page). Two columns
   with tighter spacing roughly halves it; all links stay visible.
   ========================================================== */
@media(max-width:560px){
  .market-footer{margin-top:44px;padding:26px 0 18px}
  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:18px 16px;
  }
  /* brand block spans both columns and carries less vertical weight */
  .footer-grid>div:first-child{grid-column:1 / -1}
  .footer-grid>div:first-child p{
    margin:8px 0 0;font-size:13px;line-height:1.5;
    max-width:34ch;
  }
  .market-footer .brand{font-size:19px}
  .market-footer .brand img{width:26px;height:26px}

  .footer-grid strong{
    display:block;margin-bottom:7px;
    font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  }
  .footer-grid a{
    display:block;
    padding:4px 0;
    font-size:13.5px;line-height:1.35;
  }
  .footer-bottom{
    margin-top:20px;padding-top:14px;
    font-size:12px;text-align:center;
  }
}

@media(max-width:380px){
  .footer-grid{gap:16px 12px}
  .footer-grid a{font-size:13px;padding:3px 0}
  .market-footer{padding:22px 0 16px}
}

/* ==========================================================
   City and city+service pages: real Google Maps embed.
   Replaces a static picture that showed Bucharest everywhere.
   ========================================================== */
.city-map-wrap{
  position:relative;
  width:100%;
  border-radius:12px;
  overflow:hidden;
  background:#0e181d;
  border:1px solid #26333a;
}
.city-map-wrap.tall{min-height:380px}
.city-map-embed{
  display:block;
  width:100%;
  height:300px;
  border:0;
}
.city-map-wrap.tall .city-map-embed{height:380px}
.city-map-actions{
  display:flex;gap:9px;flex-wrap:wrap;
  margin-top:10px;
}
@media(max-width:760px){
  .city-map-embed{height:220px}
  .city-map-wrap.tall .city-map-embed{height:240px}
  .city-map-wrap.tall{min-height:0}
}

/* Neighbourhood pages: map of the area itself */
.area-map-section{margin-top:8px}
.area-map-wrap{
  position:relative;width:100%;border-radius:14px;overflow:hidden;
  background:#0e181d;border:1px solid #26333a;
}
.area-map-embed{display:block;width:100%;height:340px;border:0}
@media(max-width:760px){
  .area-map-embed{height:230px}
  .area-map-wrap{border-radius:10px}
}

/* ==========================================================
   Catalogue cards: category (image), service (text only).

   Only a main category may show an image. A service or sub-category
   renders as text so a nails photo can never appear on a haircut.
   ========================================================== */
.mx-category-card{
  display:flex;align-items:center;gap:14px;
  padding:14px;border:1px solid #26333a;border-radius:12px;
  background:#0e181d;text-decoration:none;
  transition:border-color .15s ease,background .15s ease;
}
.mx-category-card:hover{border-color:#3a4a53;background:#111d23}
.mx-category-media{
  flex:0 0 64px;width:64px;height:64px;border-radius:10px;overflow:hidden;
  background:#16232a;display:block;
}
.mx-category-media img{width:100%;height:100%;object-fit:cover;display:block}
.mx-category-body{display:flex;flex-direction:column;gap:2px;min-width:0}
.mx-category-body strong{font-size:15px;color:#eef2f3;font-weight:600}
.mx-category-body small{font-size:12.5px;color:#8d9aa1;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mx-category-card.is-text-only{padding:14px 16px}

/* Service / sub-category: title and description only, never an image. */
.mx-service-tile-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;
}
.mx-service-tile{
  display:flex;flex-direction:column;gap:5px;
  padding:15px 16px;border:1px solid #26333a;border-radius:12px;
  background:#0e181d;text-decoration:none;
  transition:border-color .15s ease,background .15s ease;
}
.mx-service-tile:hover{border-color:#3a4a53;background:#111d23}
.mx-service-tile strong{font-size:15px;font-weight:600;color:#eef2f3;line-height:1.3}
.mx-service-tile span{font-size:12.5px;line-height:1.45;color:#8d9aa1;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Salon service row: image only when the salon uploaded one. */
.mx-salon-service{display:flex;gap:14px;align-items:flex-start}
.mx-salon-service-media{flex:0 0 72px;width:72px;height:72px;border-radius:10px;overflow:hidden;background:#16232a}
.mx-salon-service-media img{width:100%;height:100%;object-fit:cover;display:block}
.mx-salon-service-info{min-width:0}

@media(max-width:600px){
  .mx-service-tile-grid{grid-template-columns:1fr}
  .mx-category-media{flex-basis:54px;width:54px;height:54px}
}

/* ==========================================================
   Home: service categories with their images.
   Categories own the representative image; services never do.
   ========================================================== */
/* Six cards, so the column count is fixed to divide evenly at each width:
   6 across, then 3, then 2 — never a single orphan on the last row. */
.home-category-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:14px;
}
.home-category-card{
  display:flex;flex-direction:column;
  border:1px solid #26333a;border-radius:14px;overflow:hidden;
  background:#0e181d;text-decoration:none;
  transition:border-color .16s ease,transform .16s ease,background .16s ease;
}
.home-category-card:hover{
  border-color:#4a5b66;background:#111d23;transform:translateY(-2px);
}
.home-category-media{
  display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#16232a;
}
.home-category-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .35s ease;
}
.home-category-card:hover .home-category-media img{transform:scale(1.05)}
.home-category-body{
  display:flex;flex-direction:column;gap:2px;
  padding:11px 13px 13px;
}
.home-category-body strong{
  font-size:14px;font-weight:600;color:#eef2f3;line-height:1.3;
}
.home-category-body small{font-size:11.5px;color:#8d9aa1}

@media(max-width:1100px){
  .home-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
}
@media(max-width:700px){
  .home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .home-category-body{padding:9px 10px 11px}
  .home-category-body strong{font-size:13px}
  .home-category-media{aspect-ratio:3/2}
}
@media(max-width:380px){
  .home-category-grid{gap:8px}
  .home-category-body strong{font-size:12.5px}
}

/* ==========================================================
   Category page: /servicii/{categorie}
   Hero mirrors the service page but keeps the image bounded,
   and the fact row is a proper inline list.
   ========================================================== */
.market-category-page{background:#070b0e}

.category-hero{
  border-bottom:1px solid #1b272e;
  background:linear-gradient(180deg,#0b1216,#070b0e);
  padding:34px 0 38px;
}
.category-hero-grid{
  display:grid;
  grid-template-columns:1fr 400px;
  gap:38px;
  align-items:center;
}
.category-hero-grid .breadcrumbs{
  font-size:12px;color:#8d9aa1;margin-bottom:14px;
  display:flex;flex-wrap:wrap;gap:6px;align-items:center;
}
.category-hero-grid .breadcrumbs a{color:#8d9aa1;text-decoration:none}
.category-hero-grid .breadcrumbs a:hover{color:#c99161}
.category-hero-grid .eyebrow{
  display:block;font-size:11px;letter-spacing:.11em;
  text-transform:uppercase;color:#c99161;margin-bottom:9px;font-weight:600;
}
.category-hero h1{
  margin:0 0 12px;font-size:40px;line-height:1.12;
  font-weight:700;color:#eef2f3;letter-spacing:-.02em;
}
.category-hero p{
  margin:0;font-size:15px;line-height:1.6;color:#a8b3b8;max-width:56ch;
}
.category-facts{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;
}
.category-facts span{
  display:inline-flex;align-items:baseline;gap:6px;
  padding:7px 13px;border-radius:9px;
  background:#0e181d;border:1px solid #26333a;
  font-size:12.5px;color:#8d9aa1;
}
.category-facts b{font-size:15px;color:#eef2f3;font-weight:700}

/* the image is decorative here: fixed ratio, never native size */
.category-hero-media{
  border-radius:14px;overflow:hidden;
  border:1px solid #26333a;background:#0e181d;
  aspect-ratio:16/10;
}
.category-hero-media img{
  width:100%;height:100%;object-fit:cover;display:block;
}

@media(max-width:1000px){
  .category-hero-grid{grid-template-columns:1fr;gap:24px}
  .category-hero-media{aspect-ratio:16/9;order:-1}
  .category-hero h1{font-size:32px}
}
@media(max-width:600px){
  .category-hero{padding:24px 0 26px}
  .category-hero h1{font-size:26px}
  .category-hero p{font-size:14px}
  .category-hero-media{aspect-ratio:3/2;border-radius:11px}
  .category-facts{gap:8px;margin-top:16px}
  .category-facts span{padding:6px 11px;font-size:12px}
}

/* Fact counters are links: they jump to the matching section */
.category-facts a{
  display:inline-flex;align-items:baseline;gap:6px;
  padding:7px 13px;border-radius:9px;
  background:#0e181d;border:1px solid #26333a;
  font-size:12.5px;color:#8d9aa1;text-decoration:none;
  transition:border-color .15s ease,background .15s ease,color .15s ease;
}
.category-facts a:hover{
  border-color:#c99161;background:#141f26;color:#c9d2d6;
}
.category-facts a b{font-size:15px;color:#eef2f3;font-weight:700}
.category-facts a:hover b{color:#c99161}

/* smooth scroll when the anchors are used */
html{scroll-behavior:smooth}
#servicii-categorie,#saloane-categorie,#profesionisti-categorie{scroll-margin-top:90px}

/* Category FAQ: collapsible answers */
.category-faq .faq-list{
  display:flex;flex-direction:column;gap:9px;max-width:900px;
}
.category-faq .faq-item{
  border:1px solid #26333a;border-radius:11px;
  background:#0e181d;overflow:hidden;
}
.category-faq .faq-item[open]{border-color:#3a4a53}
.category-faq .faq-item summary{
  cursor:pointer;list-style:none;
  padding:14px 17px;
  font-size:14.5px;font-weight:600;color:#eef2f3;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  transition:background .15s ease;
}
.category-faq .faq-item summary::-webkit-details-marker{display:none}
.category-faq .faq-item summary:hover{background:#111d23}
.category-faq .faq-item summary:after{
  content:'+';flex:0 0 auto;
  font-size:19px;font-weight:400;color:#c99161;line-height:1;
}
.category-faq .faq-item[open] summary:after{content:'−'}
.category-faq .faq-item p{
  margin:0;padding:0 17px 15px;
  font-size:13.5px;line-height:1.65;color:#a8b3b8;
}

@media(max-width:600px){
  .category-faq .faq-item summary{font-size:13.5px;padding:12px 14px}
  .category-faq .faq-item p{font-size:13px;padding:0 14px 13px}
}

/* ==========================================================
   Galerie carusel orizontal
   Gridul afișa toate pozele deodată; cu 9 fotografii împingea
   recenziile un ecran întreg în jos. Caruselul păstrează o
   singură bandă, cu săgeți, puncte și derulare prin swipe.
   ========================================================== */

.salon-gallery-section .section-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
}

.gallery-nav {
    display: flex;
    gap: 8px;
    flex-shrink: 0;
}

.gallery-arrow {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    border: 1px solid #e6d9d4;
    border-radius: 50%;
    background: #fff;
    color: #4b2d38;
    cursor: pointer;
    transition: background .16s ease, border-color .16s ease, transform .16s ease, opacity .16s ease;
}

.gallery-arrow:hover:not(:disabled) {
    background: #fdf1f5;
    border-color: #d9a5b6;
    transform: translateY(-1px);
}

.gallery-arrow:disabled {
    opacity: .35;
    cursor: default;
}

/* banda */
.gallery-carousel {
    margin-top: 14px;
    overflow: hidden;
    border-radius: 14px;
    outline: none;
}

.gallery-carousel:focus-visible {
    box-shadow: 0 0 0 3px rgba(201, 116, 146, .28);
}

.gallery-track {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-bottom: 2px;
}

.gallery-track::-webkit-scrollbar {
    display: none;
}

.gallery-slide {
    flex: 0 0 auto;
    width: min(520px, 68%);
    height: 360px;
    margin: 0;
    scroll-snap-align: start;
    border-radius: 12px;
    overflow: hidden;
    background: #f4efed;
}

.gallery-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* puncte */
.gallery-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 14px;
}

.gallery-dots button {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #dfd2d6;
    cursor: pointer;
    transition: background .18s ease, width .18s ease;
}

.gallery-dots button.is-active {
    width: 22px;
    border-radius: 4px;
    background: #c27591;
}

/* tabletă */
@media (max-width: 900px) {
    .gallery-slide {
        width: min(420px, 76%);
        height: 300px;
    }
}

/* mobil: o poză aproape întreagă, derulare prin swipe */
@media (max-width: 700px) {
    .salon-gallery-section .section-title {
        align-items: center;
    }

    .gallery-nav {
        display: none;
    }

    .gallery-track {
        gap: 8px;
        /* lățimea slide-ului plus gap, ca să se alinieze la snap */
        scroll-padding-left: 0;
    }

    .gallery-slide {
        width: 84%;
        height: 230px;
    }

    .gallery-dots {
        margin-top: 12px;
    }
}


/* Limbi vorbite pe profilul public. */
.salon-languages .salon-language-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.salon-languages .salon-language-list li {
    padding: 7px 15px;
    border: 1px solid #e8ddd9;
    border-radius: 20px;
    background: #fdf8f6;
    color: #4b2d38;
    font-size: 14px;
    font-weight: 500;
}

/* ==== MARKET-SPACING: zone clickabile și ritm vertical strâns ==== */

/* chip-urile cu saloane arată ca legături */
.area-chips > a {
    color: inherit;
    text-decoration: none;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

.area-chips > a:hover {
    border-color: #3d4f59;
    background: #16232a;
    transform: translateY(-1px);
}

.area-chips > a:focus-visible {
    outline: 2px solid #d85e7b;
    outline-offset: 2px;
}

/* zonele fără saloane rămân estompate, fără să pară interactive */
.area-chips > .is-empty {
    opacity: .5;
}

.area-chips > .is-empty small {
    color: #8f9aa1;
}

/* ritm vertical mai strâns pe paginile de listare */
main .market-section {
    padding-top: 38px;
    padding-bottom: 18px;
}

main .mx-a-seo-content {
    margin: 22px auto;
}

main .mx-a-faq {
    margin: 22px auto;
}

main .listing-layout + .market-section {
    padding-top: 30px;
}

/* spațiu redus înaintea cardurilor de navigare */
main .hub-up,
main .market-section:last-of-type {
    padding-bottom: 24px;
}

/* ==== MAP-NO-GAP: harta fără spațiu gol dedesubt ==== */

.listing-map {
    height: auto;
    min-height: 0;
    align-self: start;
}

.listing-map .city-map-wrap,
.listing-map .city-map-wrap.tall {
    min-height: 0;
}

.listing-map .city-map-embed,
.listing-map .city-map-wrap.tall .city-map-embed {
    height: 380px;
}

/* coloana cu harta nu se întinde la înălțimea celei vecine */
.map-layout {
    align-items: start;
}

@media (max-width: 1000px) {
    .listing-map .city-map-embed,
    .listing-map .city-map-wrap.tall .city-map-embed {
        height: 240px;
    }
}

/* ==== HUB-SEARCH-FIX: căutarea nu mai taie textul pe mobil ==== */

@media (max-width: 700px) {
    /* căutarea ocupă tot rândul, contorul coboară dedesubt */
    .hub-search {
        max-width: 100%;
        width: 100%;
        flex-wrap: wrap;
        padding: 6px 12px 6px 14px;
        box-sizing: border-box;
    }

    .hub-search input[type=search] {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
        font-size: 14px;
    }

    .hub-search .hub-count {
        flex: 0 0 auto;
        margin-left: 0;
        order: 3;
        font-size: 12px;
    }

    /* aceeași corecție pentru lista de județe */
    .counties-toolbar {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .counties-search {
        width: 100%;
        max-width: 100%;
        height: 46px;
        box-sizing: border-box;
        flex: 0 0 auto;
        border-radius: 23px;
    }

    .counties-search input[type=search] {
        flex: 1 1 auto;
        width: 100%;
        min-width: 0;
        font-size: 14px;
    }

    .counties-count {
        align-self: flex-start;
        font-size: 12px;
    }
}

/* ecrane foarte înguste: font ceva mai mic, ca să încapă tot textul */
@media (max-width: 380px) {
    .hub-search input[type=search],
    .counties-search input[type=search] {
        font-size: 13px;
    }
}

/* Utilitar global: ascunde vizual, dar păstrează textul pentru cititoarele de ecran.
   Era definit doar în offers-stage6-fix.css, deci pe alte pagini (ex. /judete,
   /localitati) eticheta se afișa redundant lângă placeholder. */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Secțiunea "Descoperă și alte localități" (/localitati): compactă, fără spații mari */
.hub-discover{margin-bottom:22px}
.hub-discover .hub-copy{margin:0 0 14px}
.hub-discover .hub-copy h2{margin:0 0 6px;font-size:24px;line-height:1.25}
.hub-discover .hub-copy p{margin:0;color:#93a3ab;font-size:14.5px;line-height:1.55;max-width:640px}
.hub-discover .hub-search{margin:0}
@media(max-width:700px){
  .hub-discover{margin-bottom:16px}
  .hub-discover .hub-copy{margin:0 0 10px}
  .hub-discover .hub-copy h2{font-size:19px;line-height:1.3;margin:0 0 5px}
  .hub-discover .hub-copy p{font-size:13.5px;line-height:1.5;max-width:none}
  .hub-discover .hub-search{height:44px;border-radius:22px}
}

/* Rezultate pe mobil: textul sus, dropdown-ul dedesubt (fara suprapunere) */
@media(max-width:700px){.results-head{flex-direction:column;align-items:flex-start;gap:12px}.results-head>div{width:100%;white-space:normal}.results-head .mx-select,.results-head select{width:100%;margin-left:0}.results-head>div b,.results-head>div span{white-space:normal}}

/* ===== Compactare verticala pe mobil: hero-uri publice =====
   Pe mobil, dupa header trebuie sa curga natural: breadcrumb -> label -> H1 -> subtitlu -> continut,
   fara zone goale. Valorile de desktop (padding 50-65px) sunt prea mari pe ecrane mici. */
@media(max-width:700px){
  /* Hero-urile publice: padding redus + fara min-height (provoca spatiu gol) */
  .listing-head{padding:22px 0 18px}
  .location-hero,.service-hero,.blog-hero{padding:20px 0 18px;min-height:0;display:block;align-items:initial}
  .salon-hero{height:auto;min-height:220px}
  .listing-head h1,.location-hero h1,.location-hero .mx-city-title,.service-hero h1,.mx-a-hero h1{font-size:26px !important;line-height:1.22;margin:6px 0 8px;max-width:100%}
  .listing-head p,.location-hero p,.service-hero p{font-size:14px;line-height:1.5;margin:0 0 12px;max-width:100%}
  /* Hero-ul de oras: spatiu mai mic in jurul continutului */
  .location-hero .container{padding-top:0;padding-bottom:0}
  .location-hero .breadcrumbs{margin-bottom:10px}
  .location-hero .eyebrow{margin-bottom:4px}
  .location-hero .market-search{margin-top:0}

  /* Breadcrumb -> label -> titlu -> subtitlu */
  .breadcrumbs{margin-bottom:14px;font-size:12px}
  .eyebrow{margin-bottom:8px}
  .listing-head p + *,.hero-copy p + *{margin-top:0}

  /* Sectiunile de continut: mai putin spatiu sus */
  .market-section{padding-top:24px;padding-bottom:20px}
  .market-section + .market-section{padding-top:20px}

  /* Hero-uri de hub (judete, localitati, servicii) */
  .mx-a-hero{padding:22px 0 18px;min-height:0}
  .mx-a-hero h1{font-size:28px;line-height:1.22;margin:6px 0 8px}
  .mx-a-intro{font-size:14.5px;line-height:1.5;margin:0 0 4px}
  .hub-copy{margin:0 0 12px}

  /* Primul element de continut urca mai sus */
  .container.market-section:first-of-type{padding-top:20px}
}

/* Breadcrumb-ul blog si eticheta de categorie: randuri separate, nu lipite */
.blog-category-hero .eyebrow,.blog-hero .eyebrow{display:block;margin:0 0 8px}
.blog-category-hero h1,.blog-hero h1{margin:0 0 12px}
@media(max-width:700px){
  .blog-category-hero{padding:22px 0 20px}
  .blog-category-hero .back-link{margin-bottom:12px;font-size:12px}
  .blog-category-hero .eyebrow{margin-bottom:6px}
  .blog-category-hero h1{font-size:28px;line-height:1.22;margin:4px 0 10px}
  .blog-category-hero p{font-size:14px;line-height:1.5;margin:0}
}

/* ===== Aliniere verticala search bar (pagini de oras) =====
   Probleme rezolvate:
   1. label -> dropdown avea doar 7px (prea lipit);
   2. butonul roz (52px) se alinia la varful randului in loc sa fie centrat
      pe verticala fata de label+select;
   3. ansamblul parea inghesuit in partea de sus. */
.mx-city-group-search{align-items:end;padding:12px;gap:10px}
.mx-city-group-search .mx-city-group-field{display:grid;gap:12px;align-content:end}
.mx-city-group-search .mx-city-group-field>span{margin:0;line-height:1.2}
.mx-city-group-search .mx-city-group-field select,
.mx-city-group-search .mx-city-group-field input{height:50px;box-sizing:border-box}
.mx-city-group-search .mx-city-search-submit,
.mx-city-group-search .btn.mx-city-search-submit{align-self:end;height:50px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
/* Selectul custom (daca e folosit in locul celui nativ) */
.mx-city-group-search .mx-select{height:50px;box-sizing:border-box}
.mx-city-group-search .mx-select-trigger{height:50px;display:flex;align-items:center;box-sizing:border-box}
@media(max-width:700px){
  .mx-city-group-search{gap:9px;padding:11px}
  .mx-city-group-search .mx-city-group-field{gap:10px}
  .mx-city-group-search .mx-city-group-field select,
  .mx-city-group-search .mx-city-group-field input,
  .mx-city-group-search .mx-city-search-submit{height:46px}
  .mx-city-group-search .mx-select,.mx-city-group-search .mx-select-trigger{height:46px}
}

/* Blocul "Adresa de email" din contul clientului: compact, sub formularul de parola,
   in aceeasi coloana - nu mai ocupa tot ecranul pe rand separat. */
.mx6-email-block{margin-top:22px;padding-top:20px;border-top:1px solid #1f2b31}
.mx6-email-title{margin:0 0 4px;font-size:16px;font-weight:600;color:#f8f4f1}
.mx6-email-current{margin:0 0 10px;font-size:13.5px;line-height:1.5}
.mx6-email-block .profile-form{margin-top:0}
.mx6-email-block .profile-form label small{display:block;margin-top:4px;font-size:12px;line-height:1.45;color:#829197}
.mx6-email-block .profile-form button{margin-top:2px}
@media(max-width:700px){
  .mx6-email-block{margin-top:16px;padding-top:14px}
  .mx6-email-title{font-size:15px}
  .mx6-email-current{font-size:13px}
}

/* Link compact catre Centrul de ajutor (in coloana de securitate a contului). */
.mx6-help-link-row{margin-top:18px;padding-top:16px;border-top:1px solid #1f2b31}
.mx6-help-link{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #22313a;border-radius:12px;background:#0c151a;text-decoration:none;transition:border-color .18s ease,background .18s ease}
.mx6-help-link:hover{border-color:#8a4256;background:#0f1a20}
.mx6-help-link-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.mx6-help-link-text b{font-size:13.5px;font-weight:600;color:#f8f4f1;line-height:1.3}
.mx6-help-link-text small{font-size:12px;line-height:1.4;color:#829197}
.mx6-help-link-arrow{flex:0 0 auto;font-size:20px;line-height:1;color:#e76d8d}
@media(max-width:700px){
  .mx6-help-link-row{margin-top:14px;padding-top:12px}
  .mx6-help-link{padding:11px 12px;border-radius:11px}
  .mx6-help-link-text b{font-size:13px}
  .mx6-help-link-text small{font-size:11.5px}
}

/* ===== Identitate firma + linkuri ANPC/ODR in footer (conformitate OUG 34/2014, Legea 199/2022) ===== */
.footer-legal-identity{margin-top:32px;padding-top:24px;border-top:1px solid #1c272e;display:grid;gap:14px}
.footer-legal-company{display:grid;gap:4px;color:#9ba7ae;font-size:12.5px;line-height:1.55}
.footer-legal-company strong{color:#e9edef;font-size:13px;font-weight:600;letter-spacing:.01em}
.footer-legal-company a{color:#e9edef;text-decoration:none}
.footer-legal-company a:hover{color:#e76d8d;text-decoration:underline}
.footer-legal-note{margin:0;max-width:820px;color:#697780;font-size:12px;line-height:1.6}
.footer-bottom{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between}
.footer-anpc-links{display:inline-flex;gap:14px;align-items:center;flex-wrap:wrap}
.footer-anpc-links a{color:#9ba7ae;text-decoration:none;font-size:12px;transition:color .16s ease}
.footer-anpc-links a:hover{color:#e76d8d}
.footer-grid a[target=_blank]{position:relative}

@media(max-width:700px){
  .footer-legal-identity{margin-top:24px;padding-top:18px;gap:12px}
  .footer-legal-company{font-size:12px;line-height:1.5}
  .footer-legal-company strong{font-size:12.5px}
  .footer-legal-note{font-size:11.5px;line-height:1.55}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
  .footer-anpc-links{gap:12px}
}
