@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Montserrat:wght@400;500;600;700&display=swap');
:root{--bg:#070706;--panel:#11110f;--panel2:#181713;--gold:#d5ad55;--gold2:#f0d486;--line:rgba(213,173,85,.35);--muted:#9c988e;--white:#f7f4ec;--danger:#b85f53}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--white);font-family:Montserrat,Arial,sans-serif}button,select,input,textarea{font:inherit}.app-shell,.welcome,.showcase{width:100%;height:100%}.welcome{display:none;position:relative;overflow:hidden;background:radial-gradient(circle at 67% 48%,#302511 0,transparent 32%),linear-gradient(120deg,#070706 0,#11100d 58%,#090908 100%)}.welcome.active{display:block}.ambient{position:absolute;inset:0;background:linear-gradient(135deg,transparent 23%,rgba(214,175,84,.11) 23.15%,transparent 23.3%),linear-gradient(315deg,transparent 14%,rgba(214,175,84,.1) 14.15%,transparent 14.3%);pointer-events:none}.welcome-brand{position:absolute;z-index:3;top:5%;left:6%;display:flex;gap:14px;align-items:center}.brand-mark{display:grid;place-items:center;width:52px;height:52px;color:#0b0a08;font-weight:800;font-size:20px;background:linear-gradient(145deg,var(--gold2),#977123);clip-path:polygon(15% 22%,50% 0,85% 22%,85% 80%,50% 100%,15% 80%)}.welcome-brand b,.mini-brand b{font-family:'Cormorant Garamond',serif;font-size:24px;letter-spacing:2px}.welcome-brand small,.mini-brand small{display:block;font-size:8px;letter-spacing:3px;color:var(--gold)}.welcome-copy{position:absolute;z-index:2;left:7%;top:29%;width:39%;max-width:620px}.eyebrow,.panel-kicker{color:var(--gold);font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase}.welcome-copy h1{font:600 clamp(48px,6vw,92px)/.86 'Cormorant Garamond',serif;margin:20px 0 24px}.welcome-copy em{color:var(--gold2);font-weight:500}.welcome-copy p{max-width:510px;color:#b7b3a9;line-height:1.75;font-size:14px}.gold-button{cursor:pointer;border:1px solid var(--gold);color:#17130a;background:linear-gradient(100deg,#b78b31,#f1d581,#b78b31);padding:17px 25px;border-radius:4px;font-weight:700;letter-spacing:.4px;box-shadow:0 12px 36px rgba(202,157,59,.2);transition:.25s}.gold-button:hover{transform:translateY(-2px);filter:brightness(1.08)}.welcome-visual{position:absolute;right:-2%;top:10%;width:58%;height:82%;padding:1px;background:linear-gradient(130deg,transparent 5%,var(--gold),transparent 63%);clip-path:polygon(15% 0,100% 0,100% 100%,0 100%,0 18%)}.welcome-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0a08 0,transparent 29%),linear-gradient(0deg,#0b0a08 0,transparent 22%)}.welcome-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}.admin-link{position:absolute;z-index:4;bottom:4%;right:4%;border:0;background:none;color:#716d64;font-size:11px}.showcase{display:none;flex-direction:column;background:#080807}.showcase.active{display:flex}.topbar{height:76px;flex:0 0 auto;display:flex;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#161511,#0c0c0a)}.icon-button{cursor:pointer;width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:#12110e;color:var(--gold2);font-size:21px}.mini-brand{display:flex;align-items:center;gap:10px;margin-right:auto}.mini-brand .brand-mark{width:36px;height:36px;font-size:13px}.mini-brand b{font-size:17px}.residence-switch{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:1px}.residence-switch select{min-width:210px;color:var(--white);background:#171611;border:1px solid var(--line);padding:11px 35px 11px 12px;border-radius:7px}.workspace{display:grid;grid-template-columns:minmax(250px,23vw) 1fr minmax(170px,16vw);gap:12px;min-height:0;flex:1;padding:12px}.side-panel,.type-panel{min-height:0;border:1px solid var(--line);background:linear-gradient(160deg,rgba(27,26,22,.98),rgba(12,12,10,.98));border-radius:14px;padding:18px;overflow:hidden}.side-panel{display:flex;flex-direction:column}.side-panel h2{font:600 28px 'Cormorant Garamond',serif;margin:5px 0 13px}.facade-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.facade{height:80px;padding:0;border:1px solid transparent;background:#222;overflow:hidden;border-radius:8px}.facade.active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(213,173,85,.15)}.facade img{width:100%;height:100%;object-fit:cover}.apartment-list-head{display:flex;justify-content:space-between;align-items:end;padding:17px 0 10px;border-bottom:1px solid var(--line);font-size:13px}.apartment-list-head small{color:var(--muted);font-size:9px}.apartment-list{overflow:auto;padding-top:8px}.apartment-row{width:100%;display:grid;grid-template-columns:42px 1fr auto 12px;align-items:center;gap:9px;margin-bottom:7px;padding:8px;border:1px solid rgba(213,173,85,.18);border-radius:8px;background:#12120f;color:var(--white);text-align:left}.apartment-row:hover{border-color:var(--gold);background:#1e1b13}.apt-thumb{display:grid;place-items:center;height:38px;border-radius:5px;color:#17120a;font-size:12px;font-weight:700;background:linear-gradient(135deg,var(--gold2),#9c7428)}.apartment-row b{display:block;font-size:11px}.apartment-row small{color:var(--muted);font-size:8px}.apartment-row i{font-size:7px;font-style:normal;color:#73b47c}.apartment-row.reserved i{color:#ddad53}.apartment-row.sold i{color:#bf665d}.apartment-row em{color:var(--gold);font-size:20px}.main-stage{min-width:0;position:relative;overflow:hidden;border-radius:14px}.hero-frame{position:absolute;inset:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#111}.hero-frame>img{width:100%;height:100%;object-fit:cover;transition:opacity .25s}.hero-frame:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,5,4,.82),transparent 34%),linear-gradient(90deg,rgba(5,5,4,.22),transparent 25%)}.hero-overlay{position:absolute;z-index:2;bottom:5%;left:5%}.hero-overlay span{color:var(--gold2);font-size:10px;letter-spacing:3px;text-transform:uppercase}.hero-overlay h1{margin:4px 0;font:600 clamp(35px,4vw,64px) 'Cormorant Garamond',serif}.availability{position:absolute;z-index:3;right:3%;bottom:4%;display:flex;gap:7px}.availability div{min-width:75px;padding:10px;border:1px solid var(--line);background:rgba(9,9,7,.86);border-radius:8px;text-align:center}.availability strong,.availability span{display:block}.availability strong{font:600 19px 'Cormorant Garamond',serif;color:var(--gold2)}.availability span{font-size:7px;color:var(--muted);text-transform:uppercase}.type-panel{display:flex;flex-direction:column}.type-filters{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.type-filters button{height:58px;border:1px solid var(--line);border-radius:9px;background:#0e0e0c;color:#eee;font-weight:700}.type-filters button.active{color:#18130a;background:linear-gradient(135deg,#f0d27b,#b6882e);box-shadow:0 7px 20px rgba(213,173,85,.2)}.residence-note{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.residence-note span{font:600 20px 'Cormorant Garamond',serif;color:var(--gold2)}.residence-note p{font-size:10px;line-height:1.7;color:var(--muted)}.detail-panel{position:absolute;z-index:8;inset:2%;padding:18px;transform:translateY(110%);transition:.35s cubic-bezier(.22,.8,.22,1);border:1px solid var(--gold);border-radius:13px;background:rgba(12,12,10,.97);backdrop-filter:blur(18px)}.detail-panel.open{transform:translateY(0)}.detail-head{display:flex;align-items:center;justify-content:space-between}.detail-head h2{margin:4px 0;font:600 28px 'Cormorant Garamond',serif}.detail-body{display:grid;grid-template-columns:1fr 1fr;gap:12px;height:calc(100% - 60px)}.plan-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#eee}.plan-card img{width:100%;height:100%;object-fit:contain}.plan-card span{position:absolute;left:10px;bottom:10px;padding:6px 9px;background:#111;color:var(--gold2);font-size:9px}.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stats div{padding:8px;border:1px solid var(--line);border-radius:8px;text-align:center}.stats strong,.stats span{display:block}.stats strong{color:var(--gold2);font:600 20px 'Cormorant Garamond',serif}.stats span{font-size:8px;color:var(--muted);text-transform:uppercase}.bottom-nav{height:70px;flex:0 0 auto;display:flex;justify-content:center;border-top:1px solid var(--line);background:#0c0c0a;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{min-width:120px;border:0;border-top:2px solid transparent;background:none;color:#77736a;font-size:9px}.bottom-nav button span{display:block;font-size:20px;margin-bottom:4px}.bottom-nav button.active{color:var(--gold2);border-color:var(--gold)}.setup{display:grid;place-items:center;background:radial-gradient(circle,#292215,#080807 70%)}.auth-card{width:min(420px,90vw);padding:35px;border:1px solid var(--line);border-radius:16px;background:#11110f}.auth-card h1{font:600 38px 'Cormorant Garamond',serif}.auth-card label{display:block;margin:14px 0;color:var(--muted);font-size:11px}.auth-card input{width:100%;margin-top:6px;padding:13px;border:1px solid #39352a;border-radius:6px;background:#080807;color:white}.auth-card .gold-button{width:100%;margin-top:10px}.alert{padding:10px;background:#4a211d;color:#ffd4cf;border-radius:6px;font-size:11px}.empty{color:var(--muted);font-size:11px;text-align:center}@media(max-width:900px),(orientation:portrait){.welcome-copy{width:48%}.workspace{grid-template-columns:230px 1fr}.type-panel{display:none}.topbar{height:65px}.bottom-nav{height:62px}.side-panel{padding:12px}.facade{height:60px}}@media(max-width:650px){.welcome-visual{opacity:.5;width:100%}.welcome-copy{width:86%;top:30%}.welcome-copy h1{font-size:52px}.workspace{grid-template-columns:1fr}.side-panel{display:none}.residence-switch span,.mini-brand{display:none}}
.plan-card{cursor:zoom-in;transition:.2s}.plan-card:hover{border-color:var(--gold);box-shadow:0 0 0 3px rgba(213,173,85,.18);transform:translateY(-2px)}.plan-card:after{content:'⛶ Agrandir';position:absolute;right:10px;top:10px;padding:6px 9px;border:1px solid var(--line);border-radius:5px;background:rgba(10,10,8,.82);color:var(--gold2);font-size:8px}.gallery-active-media{width:100%;height:100%;display:grid;place-items:center;overflow:hidden}.gallery-active-media img,.gallery-active-media video{width:100%;height:100%;object-fit:contain}.gallery-strip .video-thumb{display:grid;place-items:center;width:100%;height:100%;background:radial-gradient(circle,#4b3b18,#0b0b09 65%);color:var(--gold2);font-size:25px}.gallery-strip button.is-video{border-style:dashed}

/* Logo officiel fourni par Immobina Promotion by Hassaine. */
.setup .auth-card>.brand-mark{display:block;width:210px;height:160px;margin:0 auto 16px;clip-path:none;font-size:0;color:transparent;background:transparent url('../brand/immobina-dark.jpg') center/contain no-repeat}
.viewer-brand-dot{width:46px!important;height:46px!important;border:0!important;transform:none!important;background:transparent url('../brand/immobina-dark.jpg') center/contain no-repeat!important}
