:root{--bg:#090a0c;--panel:#15171b;--text:#f7f6f2;--muted:#a7a9ae;--gold:#b89a62;--line:#2b2e34}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px Arial,sans-serif}a{color:inherit}header{height:78px;position:fixed;inset:0 0 auto;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#090a0ce8;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:900;letter-spacing:.16em}.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover;filter:grayscale(1)}.brand span{display:flex;flex-direction:column}.brand small{font-size:9px;color:var(--gold);letter-spacing:.25em}nav{display:flex;gap:25px;align-items:center}nav a{text-decoration:none;font-size:14px}.pill{background:#fff;color:#111;padding:11px 16px;border-radius:30px}.hero{height:760px;position:relative;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;filter:saturate(.6)}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#050507 5%,#050507df 35%,#05050720,#050507)}.heroText{position:relative;max-width:580px;margin-left:7vw}.eyebrow{color:var(--gold);font-size:12px;font-weight:bold;letter-spacing:.27em}.hero h1,h2{font-family:Georgia,serif}.hero h1{font-size:72px;line-height:.95;margin:18px 0}.hero em,.about em{color:#d1bb93;font-weight:400}.heroText>p:not(.eyebrow){font-size:19px;line-height:1.7}.btn{display:inline-block;border:0;color:#0b0c0e;text-decoration:none;font-weight:bold;padding:15px 20px;background:var(--gold);cursor:pointer}.btn:disabled{opacity:.5}section{padding:90px 6vw}.heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.heading h2{font-size:48px;margin:10px 0}.heading>p{max-width:400px;color:var(--muted);line-height:1.6}.gallery,.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project,.card{background:#15171b;border:1px solid var(--line);overflow:hidden}.project img,.card img{width:100%;height:260px;object-fit:cover}.project>div,.pad{padding:22px}.stars{color:#f0a826}.light{background:#f4f3ef;color:#171318}.light .heading>p{color:#6b6570}.card{background:#fff}.placeholder{height:240px;display:grid;place-items:center;font-size:70px;color:#cdb88f;background:radial-gradient(circle,#30333a,#121419)}.pad small{color:#8b7040;text-transform:uppercase}.pad h3{font:28px Georgia;margin:10px 0}.pad p{color:#706975}.pad strong{font-size:28px;display:block;margin:20px 0}.darkbtn{display:block;text-align:center;background:#111;color:#fff;text-decoration:none;padding:14px}.sold{display:block;background:#ddd;padding:14px;text-align:center}.about{display:grid;grid-template-columns:1fr 1fr;gap:7vw;background:linear-gradient(120deg,#15171b,#090a0c)}.about h2{font-size:62px;margin:10px 0}.about div:last-child{padding-top:35px;line-height:1.8;color:#c3bdc6}footer{padding:45px 6vw;color:#9f99a4;border-top:1px solid var(--line);display:flex;justify-content:space-between}.empty{padding:35px;border:1px dashed #777}.install{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,#292c32,#090a0c 60%)}.installbox{width:min(580px,100%);background:var(--panel);border:1px solid var(--line);padding:35px}.installbox h1{font:42px Georgia}.installbox form{display:grid;gap:12px}.installbox input,.installbox select,.admin input,.admin textarea,.admin select{width:100%;padding:13px;background:#0a0b0d;color:#fff;border:1px solid #3a3d43}.ok,.error{padding:14px;margin:15px 0}.ok{background:#174429}.error{background:#61232b}.hp{position:absolute!important;left:-9999px!important}.admin{display:grid;grid-template-columns:270px 1fr}.admin aside{position:fixed;width:270px;height:100vh;background:#0d0f12;padding:30px 22px;display:flex;flex-direction:column;gap:20px}.admin aside .brand{margin-bottom:20px}.admin main{grid-column:2;padding:45px;max-width:1200px}.panel{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:25px}.panel form{display:grid;gap:12px;max-width:700px}.panel textarea{min-height:110px}.paneltitle{display:flex;align-items:end;justify-content:space-between;gap:24px}.paneltitle h2{margin:5px 0}.paneltitle>p{max-width:440px;color:var(--muted)}.table{margin-top:25px}.table>div{padding:15px 0;border-top:1px solid var(--line);display:flex;gap:16px;align-items:center;justify-content:space-between}.table span{color:var(--muted)}.table form{display:flex;flex-direction:row}.table button{padding:8px 12px}.danger{color:#fff;background:#64262b;border:0}.calendar-admin{max-width:680px;margin:24px 0;background:#f5f4ef;color:#17181b;border-radius:8px;overflow:hidden}.calendar-admin h3{padding:18px 22px;margin:0;border-bottom:1px solid #d8d7d2}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:14px}.calendar-grid b,.calendar-grid span{text-align:center;padding:12px 4px}.calendar-grid b{font-size:12px;color:#6f7277}.calendar-grid span.available{background:#e6dfd1;border:2px solid var(--gold);font-weight:bold}.calendar-grid span.blocked{background:#e5e5e5;color:#999;text-decoration:line-through}.calendar-legend{padding:14px;border-top:1px solid #ddd;font-size:12px;display:flex;align-items:center;gap:8px}.calendar-legend i{width:12px;height:12px;background:#ddd;margin-left:8px}.calendar-legend i.available{background:#e6dfd1;border:1px solid var(--gold)}.calendar-form{grid-template-columns:1fr 1fr!important}.calendar-form .check{grid-column:1/-1}.calendar-form .check input{width:auto}.statusline{padding:14px;background:#22252a;border-left:3px solid var(--gold);margin:18px 0}
@media(max-width:850px){header nav{display:none}.hero{height:650px}.hero>img{object-position:63%}.shade{background:linear-gradient(0deg,#050507 5%,#0505079c)}.heroText{margin:90px 22px 0}.hero h1{font-size:48px}section{padding:65px 20px}.heading,.paneltitle{display:block}.heading h2{font-size:38px}.gallery,.cards,.about{grid-template-columns:1fr}.admin{display:block}.admin aside{position:static;width:100%;height:auto}.admin main{padding:22px}.table>div{align-items:flex-start;flex-direction:column}.calendar-form{grid-template-columns:1fr!important}footer{display:block;line-height:2}}

/* Calendrier interactif BC Tattoo */
.calendar-panel{overflow:visible}.modern-calendar{max-width:none;margin-top:26px;background:#f7f6f2;box-shadow:0 12px 35px #0003}.calendar-toolbar{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;border-bottom:1px solid #ddd9d0}.calendar-toolbar h3{text-align:center;border:0!important;padding:20px!important;font:700 23px Georgia,serif}.calendar-toolbar a{display:grid;place-items:center;text-decoration:none;font-size:34px;height:100%;color:#15171b}.calendar-toolbar a:hover{background:#ebe8e0}.calendar-head{padding:12px 14px 4px}.calendar-days{padding:4px 14px 14px;align-items:stretch}.calendar-grid.calendar-head b{padding:8px 4px}.calendar-day,.calendar-empty{min-height:112px}.calendar-day{appearance:none;border:1px solid #dedbd3;background:#fff;color:#17181b;text-align:left!important;padding:8px!important;cursor:pointer;transition:.18s ease;position:relative;overflow:hidden}.calendar-day:hover{transform:translateY(-2px);border-color:#b89a62;box-shadow:0 7px 20px #0002;z-index:2}.calendar-day.today{outline:2px solid #17181b;outline-offset:-3px}.day-number{display:block;font-weight:800;font-size:13px;margin-bottom:7px}.day-events{display:grid;gap:4px}.day-event{display:block;border-left:4px solid var(--event-color);background:color-mix(in srgb,var(--event-color) 14%,white);padding:5px 6px;border-radius:3px;line-height:1.1}.day-event strong,.day-event small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.day-event strong{font-size:10px}.day-event small{font-size:9px;margin-top:3px;color:#5f6063}.more-events{font-size:9px;color:#777}.calendar-legend{justify-content:flex-start;flex-wrap:wrap;gap:18px!important}.calendar-legend>span{display:flex;align-items:center;gap:7px}.legend-dot{border:0!important;border-radius:50%;margin:0!important}.legend-dot.available{background:#b89a62!important}.legend-dot.blocked{background:#8b8b8b!important}.legend-dot.public{background:#2d8259!important}.calendar-help{padding:14px 16px;background:#22252a;border-left:3px solid var(--gold);color:#cfd0d3;margin:16px 0 4px}.calendar-list>div{justify-content:flex-start}.calendar-list .slot-color{width:12px;height:46px;border-radius:20px;flex:none}.calendar-list .slot-info{display:grid;gap:4px;flex:1}.calendar-list .slot-info span{font-size:13px}.calendar-list form{margin-left:auto}.calendar-modal{position:fixed;inset:0;background:#000b;z-index:100;display:none;place-items:center;padding:20px}.calendar-modal.open{display:grid}.calendar-dialog{width:min(620px,100%);max-height:92vh;overflow:auto;position:relative;background:#15171b;border:1px solid #3a3d43;box-shadow:0 30px 80px #0009;padding:30px;border-radius:12px}.calendar-dialog h2{font-size:32px;margin:7px 0 22px}.calendar-dialog form{display:grid;gap:15px}.modal-close{position:absolute;right:15px;top:13px;border:0;background:transparent;color:#fff;font-size:32px;cursor:pointer}.type-switch{display:grid;grid-template-columns:1fr 1fr;gap:10px}.type-switch label{cursor:pointer}.type-switch input{position:absolute;opacity:0;pointer-events:none}.type-switch span{display:block;text-align:center;padding:13px;border:1px solid #3a3d43;background:#0a0b0d;font-weight:700}.type-switch input:checked+span{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#242018}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pretty-check{display:flex!important;align-items:center;gap:10px}.pretty-check input{width:18px!important;height:18px}.calendar-dialog input[type="color"]{height:48px;padding:4px}.modal-note{margin:-4px 0 0;color:#9fa1a6;font-size:13px;line-height:1.5}.bookingbox{width:min(700px,100%)}.bookingbox select{min-height:52px}.booking-empty{margin:20px 0}
@media(max-width:850px){.calendar-day,.calendar-empty{min-height:78px}.calendar-day{padding:5px!important}.day-event strong{font-size:8px}.day-event small{font-size:8px}.form-row,.type-switch{grid-template-columns:1fr}.calendar-toolbar h3{font-size:19px}.calendar-dialog{padding:24px 18px}.calendar-list form{margin-left:0}}

/* Calendrier : glisser-déposer des horaires */
.day-event[draggable="true"]{cursor:grab;user-select:none}.day-event[draggable="true"]:active{cursor:grabbing}.day-event.dragging{opacity:.42;transform:scale(.97)}.calendar-day.drag-over{outline:3px dashed #b89a62!important;outline-offset:-5px;background:#f4eddf!important;box-shadow:inset 0 0 0 2px #fff}.calendar-day.drag-over.copy-target{outline-style:solid!important;background:#e8f3eb!important}.calendar-day.drag-over.copy-target:after{content:'COPIER';position:absolute;right:6px;bottom:6px;padding:3px 5px;background:#2d8259;color:#fff;border-radius:3px;font-size:8px;font-weight:900;letter-spacing:.08em}.calendar-day.drag-over:not(.copy-target):after{content:'DÉPLACER';position:absolute;right:6px;bottom:6px;padding:3px 5px;background:#17181b;color:#fff;border-radius:3px;font-size:8px;font-weight:900;letter-spacing:.06em}.event-locked{cursor:not-allowed!important;opacity:.76;background-image:repeating-linear-gradient(135deg,transparent,transparent 5px,#0000000b 5px,#0000000b 10px)}.event-locked:after{content:'🔒';float:right;font-size:8px}.calendar-dragging .calendar-day{transition:none}
.calendar-list-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:14px;padding:12px;border-top:1px solid #2d3036}.calendar-list-pagination button{width:42px;height:36px;border:1px solid #3a3d43;background:#191b20;color:#fff;font-size:24px;line-height:1;cursor:pointer;border-radius:6px}.calendar-list-pagination button:hover:not(:disabled){border-color:var(--gold);background:#242018}.calendar-list-pagination button:disabled{opacity:.35;cursor:not-allowed}.calendar-list-pagination span{min-width:150px;text-align:center;color:#cfd0d3;font-size:13px;font-weight:700}

/* Refonte administration BC Tattoo — 2026 */
.admin{background:#090b0e;min-height:100vh;color:#f7f3eb;grid-template-columns:250px minmax(0,1fr)}
.admin-sidebar{width:250px!important;padding:26px 18px!important;background:linear-gradient(180deg,#0b0d10 0%,#090a0c 100%)!important;border-right:1px solid #20242a;box-shadow:14px 0 40px #0002;z-index:20}
.admin-sidebar .brand{padding:0 5px 22px;margin-bottom:10px!important;border-bottom:1px solid #20242a}
.admin-sidebar .brand img{width:46px;height:46px;border-radius:50%;object-fit:cover}
.admin-sidebar .brand span{font-size:16px;letter-spacing:.14em}.admin-sidebar .brand small{color:var(--gold);font-size:8px;letter-spacing:.22em;margin-top:4px}
.admin-nav{display:grid;gap:7px}.admin-nav a,.sidebar-bottom a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:8px;color:#d7d9de;text-decoration:none;border:1px solid transparent;transition:.18s ease}
.admin-nav a span{width:22px;text-align:center;color:var(--gold);font-size:15px}.admin-nav a:hover,.admin-nav a:focus{background:#16191e;border-color:#292e35;color:#fff}.sidebar-bottom{margin-top:auto;display:grid;gap:5px;padding-top:18px;border-top:1px solid #20242a}.sidebar-bottom .logout-link{color:#d5a5a5}
.admin main{grid-column:2;max-width:1500px;padding:38px 42px 70px}
.admin-topbar{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px}.admin-topbar h1{font:700 36px Georgia,serif;margin:3px 0 7px}.admin-subtitle{margin:0;color:#8f959d}.topbar-site-link{padding:11px 15px;border:1px solid #30353d;border-radius:8px;color:#ece8df;text-decoration:none;background:#111419}.topbar-site-link:hover{border-color:var(--gold)}
.admin-flash{border:1px solid #286c46;border-radius:8px;background:#123822;margin:0 0 22px}
.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.admin-stats>div{padding:19px 20px;background:linear-gradient(180deg,#171a1f,#121419);border:1px solid #292e35;border-radius:10px;box-shadow:0 12px 28px #0002}.admin-stats span{display:block;color:#979da6;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.admin-stats strong{display:block;font:700 31px Georgia,serif;margin:8px 0 3px;color:#fff}.admin-stats small{color:#6f757e}
.admin .panel{background:linear-gradient(180deg,#15181d,#121419);border:1px solid #292e35;border-radius:12px;padding:26px;margin-bottom:20px;box-shadow:0 16px 36px #0002;scroll-margin-top:20px}.admin .paneltitle{align-items:flex-start;margin-bottom:22px}.admin .paneltitle h2{font:700 28px Georgia,serif}.admin .paneltitle>p{font-size:14px;line-height:1.6}
.projects-layout{display:grid;grid-template-columns:minmax(310px,.8fr) minmax(440px,1.4fr);gap:22px;align-items:start}.project-create-card{max-width:none!important;padding:20px;background:#0d1014;border:1px solid #282d34;border-radius:10px}.form-section-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:13px;border-bottom:1px solid #252a31}.form-section-title b{font-size:16px}.form-section-title small{color:#777e87}.admin label{font-size:12px;color:#c8cbd0;display:grid;gap:7px}.admin input,.admin textarea,.admin select{border-radius:7px;border-color:#343a43;background:#090b0e;transition:.15s}.admin input:focus,.admin textarea:focus,.admin select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #b89a6218}.admin .btn{border-radius:7px;border:0;font-weight:800;letter-spacing:.02em;cursor:pointer}
.project-manager{border:1px solid #282d34;border-radius:10px;overflow:hidden;background:#0d1014}.project-manager-head{display:flex;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #282d34}.project-manager-head span{color:#858c95;font-size:12px}.project-admin-card{display:grid;grid-template-columns:94px 1fr;gap:16px;padding:16px 18px;border-bottom:1px solid #22272e}.project-admin-card:last-child{border-bottom:0}.project-thumb{width:94px;height:94px;border-radius:9px;background:radial-gradient(circle at 30% 20%,#313741,#15181d);overflow:hidden;display:grid;place-items:center;color:var(--gold);font:700 22px Georgia}.project-thumb img{width:100%;height:100%;object-fit:cover}.project-card-body{min-width:0}.project-card-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.project-card-title h3{margin:0 0 5px;font-size:17px}.project-card-title p,.project-excerpt{margin:0;color:#858c95;font-size:12px}.project-excerpt{margin-top:10px;line-height:1.45}.status-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.status-available{background:#173d2b;color:#8fd6ae}.status-sold{background:#3a2526;color:#e2a2a5}.status-reserved{background:#3b321f;color:#e5c37c}.project-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.project-actions form{display:block;max-width:none}.project-actions button{border-radius:6px;padding:7px 10px;border:1px solid #363c45;background:#181c21;color:#fff;cursor:pointer;font-size:11px}.project-actions button:hover{border-color:var(--gold)}.project-actions .soft-action{color:#ead8af}.project-actions .ghost-danger{background:#251417;border-color:#58272e;color:#ffc5c9}.project-edit-dialog textarea{min-height:140px}.admin-empty{margin:16px;border-color:#333944;color:#8f959d}
.calendar-panel .modern-calendar{border:1px solid #d7d3ca}.calendar-help{border-radius:7px}.calendar-list>div{padding:14px 4px}.calendar-list .danger{border-radius:6px}.calendar-list-pagination{border-radius:0 0 8px 8px}
#users .table>div,#settings .statusline{border-radius:6px}.admin .statusline{background:#0d1014;border:1px solid #292e35;border-left:3px solid var(--gold)}
@media(max-width:1100px){.admin-stats{grid-template-columns:repeat(2,1fr)}.projects-layout{grid-template-columns:1fr}.project-manager{max-height:none}}
@media(max-width:850px){.admin-sidebar{width:100%!important;position:static!important;height:auto!important}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-bottom{grid-template-columns:1fr 1fr}.admin main{padding:24px 16px 50px}.admin-topbar{align-items:flex-start}.topbar-site-link{display:none}.admin-stats{grid-template-columns:1fr 1fr}.project-admin-card{grid-template-columns:70px 1fr}.project-thumb{width:70px;height:70px}.project-card-title{display:block}.status-badge{margin-top:8px}}
@media(max-width:520px){.admin-nav{grid-template-columns:1fr}.admin-stats{grid-template-columns:1fr}.project-admin-card{grid-template-columns:1fr}.project-thumb{width:100%;height:170px}.project-actions{display:grid;grid-template-columns:1fr}.project-actions form,.project-actions button{width:100%}}


/* Correctif top admin + espace membre / légal */
.admin .admin-topbar{position:static!important;inset:auto!important;height:auto!important;min-height:0!important;width:auto!important;padding:0!important;background:transparent!important;border:0!important;z-index:auto!important;box-shadow:none!important}
.admin .admin-topbar:before,.admin .admin-topbar:after{display:none!important}
.account-page{background:#090b0e;min-height:100vh}.account-header{position:static;height:78px}.account-shell{width:min(1280px,calc(100% - 40px));margin:0 auto;padding:46px 0 70px}.account-hero{padding:0 0 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:28px}.account-hero h1{font:700 48px Georgia,serif;margin:8px 0}.account-hero p{color:#9da2aa;max-width:680px}.credit-card{min-width:280px;background:linear-gradient(135deg,#1d2025,#111318);border:1px solid #30343b;padding:22px;border-radius:12px}.credit-card span,.balance-banner span{display:block;color:#9ca1a9;font-size:12px;text-transform:uppercase;letter-spacing:.12em}.credit-card strong{display:block;font:700 38px Georgia,serif;margin:8px 0 17px}.account-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.account-card{padding:26px!important;background:linear-gradient(180deg,#15181d,#111318);border:1px solid #292e35;border-radius:12px}.account-card h2{font-size:30px;margin:7px 0 22px}.account-card form{display:grid;gap:14px}.account-card label{display:grid;gap:7px;font-size:13px;color:#d2d4d8}.account-card input,.account-card textarea{width:100%;padding:13px;background:#090b0e;color:#fff;border:1px solid #343a43;border-radius:7px}.account-card textarea{min-height:115px}.account-card-title{display:flex;justify-content:space-between;gap:20px}.account-avatar{width:78px;height:78px;border-radius:50%;object-fit:cover;border:2px solid #b89a62}.avatar-placeholder{display:grid;place-items:center;background:#252932;font:700 22px Georgia,serif}.privacy-note{font-size:12px!important;line-height:1.55;color:#8e949d!important}.balance-big{font:700 44px Georgia,serif;margin:12px 0 18px;color:#fff}.history-title{margin-top:30px}.credit-history{display:grid}.credit-history>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-top:1px solid #292e35}.credit-history span{display:grid;gap:4px}.credit-history small{color:#858c95}.credit-plus{color:#8fd6ae}.credit-minus{color:#e5b0b3}.account-legal{margin-top:20px;padding:18px 22px;border:1px solid #292e35;background:#0e1013;display:flex;justify-content:space-between;gap:20px;border-radius:10px}.account-legal a,.legal-shell a{color:#d8bd89}.balance-banner{padding:16px 18px;background:#0d1014;border:1px solid #30343b;border-radius:9px;margin:18px 0}.balance-banner strong{display:block;font:700 30px Georgia,serif;margin-top:6px}.balance-banner.compact{display:flex;align-items:center;justify-content:space-between}.balance-banner.compact strong{margin:0}.credits-box{width:min(660px,100%)}.quick-credits{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-credits button{padding:10px;background:#1b1e23;color:#fff;border:1px solid #363b43;border-radius:7px;cursor:pointer}.quick-credits button:hover{border-color:#b89a62}.legal-check{display:flex!important;align-items:flex-start;gap:10px;line-height:1.45}.legal-check input{width:18px!important;height:18px;margin-top:2px;flex:none}.legal-check a{color:#d7bc88}.footer-legal{margin-left:auto}.legal-page{background:#0b0d10;color:#ece9e1;min-height:100vh}.legal-shell{width:min(900px,calc(100% - 36px));margin:0 auto;padding:55px 0 80px;line-height:1.75}.legal-shell h1{font:700 48px Georgia,serif;margin:12px 0}.legal-shell h2{font-size:25px;margin:34px 0 8px}.legal-shell p{color:#c3c5ca}.legal-updated{font-size:13px}.legal-alert{padding:17px 20px;background:#211d16;border-left:3px solid #b89a62;margin:25px 0}.legal-footer{position:static;height:auto;background:none;border:0;padding:28px 0 0;margin-top:40px;border-top:1px solid #2b2e34;display:block}
@media(max-width:850px){.account-header nav{display:none}.account-shell{width:min(100% - 28px,1280px);padding-top:28px}.account-hero,.account-legal{display:block}.credit-card{margin-top:20px;min-width:0}.account-grid{grid-template-columns:1fr}.account-hero h1,.legal-shell h1{font-size:38px}.quick-credits{grid-template-columns:1fr 1fr}}


/* Contact & prise de rendez-vous */
.contact-page{background:#090b0e;color:#f2eee6;min-height:100vh}.contact-header{position:static;height:78px}.contact-header nav .active{border-bottom:1px solid var(--gold);color:#fff}.contact-shell{width:min(1220px,calc(100% - 40px));margin:0 auto;padding:62px 0 78px}.contact-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;margin-bottom:38px}.contact-intro h1{font:700 58px/1.02 Georgia,serif;margin:9px 0 18px}.contact-intro h1 em{color:var(--gold);font-weight:400}.contact-intro>div>p:last-child{max-width:650px;color:#a2a6ad;line-height:1.65}.contact-info-card{background:linear-gradient(180deg,#171a1f,#111318);border:1px solid #2d323a;border-radius:12px;padding:25px}.contact-info-card span{display:block;color:var(--gold);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.contact-info-card strong{display:block;font:700 25px Georgia,serif;margin:8px 0}.contact-info-card p{color:#9399a2;line-height:1.5}.contact-info-card a{color:#e0c795}.contact-form-card{background:linear-gradient(180deg,#15181d,#111318);border:1px solid #2b3037;border-radius:14px;padding:30px;box-shadow:0 22px 55px #0003}.contact-form-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;padding-bottom:22px;border-bottom:1px solid #2a2e35;margin-bottom:24px}.contact-form-heading h2{font:700 34px Georgia,serif;margin:5px 0 0}.contact-form-heading>p{color:#888e97;font-size:12px}.contact-form-heading b{color:var(--gold)}.contact-form{display:grid;gap:18px}.contact-form label{display:grid;gap:8px;font-size:12px;color:#d7d9dd}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:13px 14px;border:1px solid #343a43;border-radius:8px;background:#0a0c0f;color:#fff;font:inherit}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #b89a6218}.contact-form textarea{min-height:150px;resize:vertical}.contact-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.contact-consent{padding:15px 17px;border:1px solid #292e35;border-radius:9px;background:#0d1014}.contact-submit-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.contact-submit{min-width:230px;padding:14px 20px}.contact-submit-row>span{font-size:12px;color:#858b94}.contact-success,.contact-errors{padding:17px 20px;border-radius:10px;margin:0 0 22px;display:grid;gap:5px}.contact-success{background:#113220;border:1px solid #245d3b}.contact-success span{color:#add0ba}.contact-errors{background:#2b1719;border:1px solid #613038}.contact-errors ul{margin:6px 0 0;padding-left:20px;color:#e7b5ba}.contact-page footer{position:static;height:auto;min-height:76px}
@media(max-width:850px){.contact-header nav{display:none}.contact-shell{width:min(100% - 28px,1220px);padding:35px 0 55px}.contact-intro{grid-template-columns:1fr;gap:22px}.contact-intro h1{font-size:43px}.contact-two,.contact-three{grid-template-columns:1fr}.contact-form-card{padding:20px}.contact-form-heading{display:block}.contact-form-heading>p{margin-top:8px}.contact-submit-row{display:grid}.contact-submit{width:100%}}

/* Contact V4 — mise en page professionnelle + anti-robot */
.contact-page .contact-header{position:static!important;height:78px!important;padding:0 5vw!important;background:#090a0cf5!important;border-bottom:1px solid #252932!important}
.contact-page .contact-shell{width:min(1280px,calc(100% - 48px))!important;margin:0 auto!important;padding:54px 0 78px!important}
.contact-intro-v4{padding:0!important;display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr)!important;gap:42px!important;align-items:center!important;margin:0 0 30px!important}
.contact-intro-copy{padding:26px 0!important}.contact-intro-copy h1{font:700 58px/1.02 Georgia,serif!important;letter-spacing:-.025em!important;margin:10px 0 20px!important}.contact-intro-copy h1 em{color:#cfb57d!important;font-weight:400!important}.contact-lead{max-width:720px!important;margin:0!important;color:#a9adb5!important;line-height:1.7!important;font-size:16px!important}.contact-trust-row{display:flex!important;gap:9px!important;flex-wrap:wrap!important;margin-top:23px!important}.contact-trust-row span{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:8px 11px!important;border-radius:999px!important;border:1px solid #2c3139!important;background:#111419!important;color:#b8bdc5!important;font-size:11px!important}.contact-trust-row span:before{content:'✓';color:#d2b87c;font-weight:900}
.contact-info-card-v4{display:grid!important;grid-template-columns:58px 1fr!important;gap:18px!important;align-items:start!important;padding:24px!important;background:linear-gradient(145deg,#181b20,#101216)!important;border:1px solid #2e343d!important;border-radius:16px!important;box-shadow:0 22px 60px #0004!important}.contact-info-icon{width:58px;height:58px;border-radius:14px;display:grid;place-items:center;background:#cfb57d;color:#0a0b0d;font:700 20px Georgia,serif}.contact-kicker{display:block!important;color:#cfb57d!important;font-size:10px!important;font-weight:800!important;letter-spacing:.18em!important;text-transform:uppercase!important;margin:1px 0 5px!important}.contact-info-card-v4 strong{display:block!important;font:700 23px Georgia,serif!important;margin:0!important}.contact-info-card-v4 p{color:#969ca6!important;line-height:1.55!important;margin:9px 0!important;font-size:13px!important}.contact-info-card-v4 a{color:#e3cca0!important;font-size:13px!important}
.contact-page .contact-success,.contact-page .contact-errors{margin:0 0 20px!important;border-radius:12px!important;padding:16px 18px!important}
.contact-page .contact-form-card-v4{padding:0!important;display:grid!important;grid-template-columns:310px minmax(0,1fr)!important;overflow:hidden!important;background:#12151a!important;border:1px solid #2b3038!important;border-radius:16px!important;box-shadow:0 28px 75px #0005!important;margin:0!important}
.contact-form-side{padding:32px!important;background:linear-gradient(180deg,#171a1f,#101216)!important;border-right:1px solid #2a2f37!important}.contact-form-side h2{font:700 34px/1.05 Georgia,serif!important;margin:9px 0 13px!important}.contact-form-side>p:not(.eyebrow):not(.required-note){color:#9ba1aa!important;line-height:1.6!important;font-size:13px!important}.security-box{margin-top:28px!important;padding:18px!important;border-radius:12px!important;background:#0b0e12!important;border:1px solid #2b3139!important}.security-box>strong{display:block!important;font-size:13px!important;color:#f2eee6!important;margin-bottom:11px!important}.security-box ul{list-style:none!important;margin:0!important;padding:0!important;display:grid!important;gap:10px!important}.security-box li{position:relative!important;padding-left:19px!important;color:#969ca5!important;font-size:11px!important;line-height:1.4!important}.security-box li:before{content:'✓';position:absolute;left:0;color:#cfb57d;font-weight:900}.required-note{margin-top:24px!important;color:#777e88!important;font-size:11px!important}.required-note b{color:#cfb57d!important}
.contact-form-main{padding:32px 34px!important;min-width:0!important}.contact-page .contact-form-v4{display:grid!important;gap:17px!important;max-width:none!important}.contact-page .contact-form-v4 label{display:grid!important;gap:7px!important;min-width:0!important;color:#dce0e6!important;font-size:12px!important}.contact-page .contact-form-v4 label>span:first-child{font-weight:700!important}.contact-page .contact-form-v4 input,.contact-page .contact-form-v4 textarea,.contact-page .contact-form-v4 select{appearance:none!important;width:100%!important;min-width:0!important;padding:13px 14px!important;border:1px solid #343a44!important;border-radius:9px!important;background:#0a0d11!important;color:#f7f7f7!important;font:14px Arial,sans-serif!important;line-height:1.25!important;box-shadow:none!important;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important}.contact-page .contact-form-v4 select{background-image:linear-gradient(45deg,transparent 50%,#9da3ad 50%),linear-gradient(135deg,#9da3ad 50%,transparent 50%)!important;background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px!important;background-size:5px 5px,5px 5px!important;background-repeat:no-repeat!important;padding-right:35px!important}.contact-page .contact-form-v4 input::placeholder,.contact-page .contact-form-v4 textarea::placeholder{color:#666d77!important}.contact-page .contact-form-v4 input:focus,.contact-page .contact-form-v4 textarea:focus,.contact-page .contact-form-v4 select:focus{outline:none!important;border-color:#c9ae74!important;box-shadow:0 0 0 3px #c9ae741a!important;background:#0d1015!important}.contact-page .contact-form-v4 textarea{min-height:145px!important;resize:vertical!important;line-height:1.55!important}.contact-page .contact-two{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.contact-page .contact-three{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}.form-section-title{display:flex!important;align-items:center!important;gap:11px!important;margin:9px 0 0!important;padding-top:8px!important}.form-section-title>span{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#231f18;color:#d8bc83;font-size:10px;font-weight:900;border:1px solid #4a402c}.form-section-title>div{display:grid;gap:2px}.form-section-title strong{font-size:13px}.form-section-title small{color:#777e88;font-size:10px}.contact-message>small{justify-self:end;color:#727985!important;font-size:10px!important}.human-check-row{display:grid!important;grid-template-columns:minmax(190px,.42fr) minmax(0,.58fr)!important;gap:14px!important;align-items:stretch!important}.anti-bot-status{display:flex!important;align-items:center!important;gap:13px!important;min-height:67px!important;padding:13px 15px!important;border:1px solid #2c3a31!important;border-radius:10px!important;background:#0c1510!important}.anti-bot-status i{width:12px;height:12px;border-radius:50%;background:#75b98f;box-shadow:0 0 0 5px #75b98f1f;flex:none}.anti-bot-status span{display:grid;gap:3px}.anti-bot-status strong{font-size:11px;color:#cde0d3}.anti-bot-status small{font-size:10px;color:#779184;line-height:1.35}.contact-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.contact-page .contact-consent{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:14px 15px!important;border:1px solid #2b3038!important;border-radius:10px!important;background:#0d1014!important;color:#aeb3bb!important;line-height:1.5!important}.contact-page .contact-consent input{appearance:auto!important;width:17px!important;height:17px!important;margin:1px 0 0!important;flex:none!important;padding:0!important}.contact-page .contact-consent a{color:#dec58f!important}.contact-submit-row-v4{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin-top:3px!important;padding-top:18px!important;border-top:1px solid #292e35!important}.contact-page .contact-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;min-width:220px!important;border-radius:9px!important;padding:14px 18px!important;background:#c7aa70!important;color:#0b0c0e!important;font-weight:900!important}.contact-page .contact-submit:disabled{opacity:.55!important;cursor:wait!important}.contact-submit-row-v4>div{display:grid!important;gap:3px!important;text-align:right!important}.contact-submit-row-v4>div strong{font-size:11px;color:#bbbfc6}.contact-submit-row-v4>div small{font-size:10px;color:#727983}.contact-page footer{position:static!important;height:auto!important;min-height:76px!important}
@media(max-width:1000px){.contact-intro-v4{grid-template-columns:1fr!important}.contact-page .contact-form-card-v4{grid-template-columns:250px minmax(0,1fr)!important}.contact-page .contact-three{grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){.contact-page .contact-shell{width:min(100% - 28px,1280px)!important;padding-top:32px!important}.contact-page .contact-header nav{display:none!important}.contact-intro-copy h1{font-size:42px!important}.contact-page .contact-form-card-v4{grid-template-columns:1fr!important}.contact-form-side{border-right:0!important;border-bottom:1px solid #2a2f37!important;padding:24px!important}.contact-form-main{padding:24px!important}.contact-page .contact-two,.contact-page .contact-three,.human-check-row{grid-template-columns:1fr!important}.contact-submit-row-v4{align-items:stretch!important;flex-direction:column!important}.contact-page .contact-submit{width:100%!important}.contact-submit-row-v4>div{text-align:left!important}}
@media(max-width:480px){.contact-page .contact-shell{width:min(100% - 20px,1280px)!important}.contact-form-main,.contact-form-side{padding:19px!important}.contact-intro-copy h1{font-size:36px!important}.contact-info-card-v4{grid-template-columns:46px 1fr!important;padding:18px!important}.contact-info-icon{width:46px;height:46px;border-radius:11px;font-size:16px!important}}

/* V5 Contact simplifié : retire les blocs secondaires inutiles */
.contact-page .contact-intro-v4{grid-template-columns:minmax(0,860px)!important;justify-content:center!important;text-align:center!important;margin-bottom:28px!important}
.contact-page .contact-intro-copy{padding:22px 0 8px!important}
.contact-page .contact-lead{margin-left:auto!important;margin-right:auto!important}
.contact-page .contact-trust-row{justify-content:center!important}
.contact-page .contact-form-card-v4{grid-template-columns:220px minmax(0,1fr)!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important}
.contact-page .contact-form-side{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;padding:34px 28px!important}
.contact-page .contact-form-side>p:not(.eyebrow):not(.required-note){margin-bottom:8px!important}
.contact-page .required-note{margin-top:16px!important}
.field-help{display:block!important;margin-top:6px!important;color:#777e88!important;font-size:10px!important;line-height:1.4!important}
@media(max-width:760px){.contact-page .contact-form-card-v4{grid-template-columns:1fr!important}.contact-page .contact-intro-v4{text-align:left!important}.contact-page .contact-trust-row{justify-content:flex-start!important}}
/* V5 Admin logs */
.admin-logs-panel{overflow:hidden}.log-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 20px}.log-tabs a{padding:8px 11px;border:1px solid #2c323a;border-radius:9px;background:#0d1014;color:#aeb4bd;text-decoration:none;font-size:12px}.log-tabs a.active{background:#c5a667;color:#0b0d10;border-color:#c5a667;font-weight:800}.admin-log-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.admin-log-card{border:1px solid #2a3038;border-radius:13px;background:#0c0f13;overflow:hidden}.admin-log-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #242a31}.admin-log-card-head h3{margin:0;font-size:15px}.admin-log-card-head span{color:#7f8792;font-size:11px}.audit-list,.refund-list{max-height:620px;overflow:auto}.audit-list article,.refund-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;border-bottom:1px solid #20262d}.audit-list article:last-child,.refund-list article:last-child{border-bottom:0}.audit-list article>div,.refund-list article>div{display:grid;gap:4px;min-width:0}.audit-list strong,.refund-list strong{font-size:12px;white-space:normal}.audit-list small,.refund-list small{color:#7e8690;font-size:10px}.log-category{display:inline-flex;width:max-content;padding:3px 7px;border-radius:999px;background:#1b2027;color:#cfb57d;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.log-amount{white-space:nowrap;color:#d6bd87}.refund-list h4{margin:0;padding:14px 18px 8px;color:#cfb57d;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.refund-btn{border:1px solid #704349;background:#2b1518;color:#ffb8be;border-radius:8px;padding:8px 10px;font-weight:700;cursor:pointer}.refund-btn:hover{background:#3a1b20}.refunded-badge{padding:6px 9px;border-radius:999px;background:#15301f;color:#9ee0b2;font-size:10px;font-weight:800}@media(max-width:1050px){.admin-log-grid{grid-template-columns:1fr}}

/* V5.1 Contact : interface épurée et symétrique */
.contact-page .contact-shell{max-width:1220px!important}
.contact-page .contact-intro-v4{display:block!important;max-width:820px!important;margin:0 auto 22px!important;text-align:center!important}
.contact-page .contact-intro-copy{padding:20px 0 10px!important}
.contact-page .contact-intro-copy h1{font-size:48px!important;margin-bottom:14px!important}
.contact-page .contact-form-card-v4{display:block!important;max-width:1080px!important;margin:0 auto!important}
.contact-page .contact-form-main{padding:34px 38px!important}
.contact-form-heading-v5{text-align:center;padding:0 0 24px;margin-bottom:8px;border-bottom:1px solid #292f36}.contact-form-heading-v5 h2{font:700 30px/1.1 Georgia,serif;margin:7px 0 8px}.contact-form-heading-v5 p:last-child{margin:0 auto;max-width:650px;color:#8f96a0;font-size:13px;line-height:1.6}
@media(max-width:760px){.contact-page .contact-intro-v4{text-align:left!important}.contact-page .contact-intro-copy h1{font-size:38px!important}.contact-page .contact-form-main{padding:22px!important}.contact-form-heading-v5{text-align:left!important}}

/* V7 — gestion des réservations directement depuis le calendrier */
.reservation-manager{margin-top:18px;border:1px solid #2c3036;background:#111318;border-radius:10px;overflow:hidden}.reservation-manager-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #2c3036}.reservation-manager-head h3{margin:4px 0 0;font:700 25px Georgia,serif}.reservation-manager-head>span{font-size:12px;color:#a9abb0;border:1px solid #343840;padding:8px 11px;border-radius:999px}.reservation-cards{display:grid;gap:10px;padding:14px}.reservation-card{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 18px;border:1px solid #2c3036;background:#0c0e12;border-radius:8px;transition:.2s ease}.reservation-card:hover{border-color:#4a4f59}.reservation-card.reservation-closed{opacity:.7}.reservation-time{display:grid;gap:5px}.reservation-time strong{font-size:15px}.reservation-time span{font-size:13px;color:var(--gold);font-weight:700}.reservation-person{display:grid;gap:5px;min-width:0}.reservation-person>span,.reservation-person>small{color:#b0b3ba;overflow-wrap:anywhere}.reservation-person>small{font-size:12px}.reservation-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reservation-status{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border:1px solid #3a3d43;color:#d7d9de}.reservation-status.status-confirmed,.reservation-status.status-paid,.reservation-status.status-manual{background:#0d2b1c;border-color:#285e42;color:#9ae0b8}.reservation-status.status-new,.reservation-status.status-pending,.reservation-status.status-reserved{background:#2b2413;border-color:#67562a;color:#e5c977}.reservation-status.status-completed{background:#172638;border-color:#31557d;color:#a8cef6}.reservation-status.status-cancelled,.reservation-status.status-refunded{background:#2b1718;border-color:#693338;color:#f4aeb3}.reservation-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.reservation-actions form{margin:0}.reservation-actions button,.refund-link{min-height:36px;padding:8px 11px;border-radius:6px;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer}.approve-btn{border:1px solid #315d43;background:#143222;color:#b5e8c7}.complete-btn{border:1px solid #38567b;background:#182a40;color:#c0daf7}.refund-link{display:inline-flex;align-items:center;border:1px solid #6a5627;background:#2c2514;color:#ead18d}.reservation-highlight{border-color:var(--gold)!important;box-shadow:0 0 0 2px #b89a623d,0 12px 34px #0007}.event-deleted-reserved{outline:2px dashed #a94b52;outline-offset:-2px}.event-deleted-reserved small{color:#8e3036!important}.reservation-empty{margin:14px}.day-event[data-reservation-target]{cursor:pointer!important}.calendar-list .slot-info b:after{content:''}
@media(max-width:900px){.reservation-card{grid-template-columns:1fr}.reservation-actions{justify-content:flex-start}.reservation-manager-head{align-items:flex-start}.reservation-title-row{align-items:flex-start}}

/* V10 — portfolio complet, avis, modération et suspensions */
.review-gallery{align-items:stretch}.review-project{overflow:hidden;border:1px solid #2a2d32;background:#101216}.project-image-button{display:block;width:100%;height:260px;padding:0;border:0;background:#08090b;cursor:zoom-in;overflow:hidden}.project-image-button img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .25s ease}.project-image-button:hover img{transform:scale(1.025)}.project-review-summary{padding:18px;display:grid;gap:10px}.project-review-summary h3,.project-review-summary p{margin:0}.rating-summary,.comments-link{border:0;background:none;color:inherit;padding:0;text-align:left;cursor:pointer}.rating-summary{display:flex;align-items:center;gap:8px}.rating-summary b{color:#e2c47e}.rating-summary small,.comments-link{color:#8f97a2;font-size:12px}.comments-link:hover{color:#d6bd87}.site-flash{position:fixed;top:92px;left:50%;transform:translateX(-50%);z-index:80;max-width:min(680px,90vw);padding:13px 18px;border-radius:10px;box-shadow:0 18px 50px #0009}.review-modal{position:fixed;inset:0;z-index:100;display:none;place-items:center;padding:28px;background:#000d;backdrop-filter:blur(8px)}.review-modal.open{display:grid}.modal-lock{overflow:hidden}.review-dialog{position:relative;width:min(1180px,96vw);max-height:92vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);overflow:hidden;border:1px solid #333842;border-radius:18px;background:#101318;box-shadow:0 30px 100px #000}.review-close{position:absolute;right:14px;top:14px;z-index:3;width:40px;height:40px;border-radius:50%;border:1px solid #444a54;background:#11151bdd;color:#fff;font-size:25px;cursor:pointer}.review-media{min-height:620px;background:#070809;display:flex;align-items:center;justify-content:center}.review-media img{width:100%;height:100%;max-height:92vh;object-fit:contain}.review-panel{padding:34px;overflow:auto}.review-panel h2{font:700 34px Georgia,serif;margin:7px 0 10px}.review-description{color:#afb5bd;line-height:1.6}.review-score{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:15px 0;border-bottom:1px solid #2a2f36}.review-score strong{color:#e0c17d}.review-score small{color:#7f8792}.review-login{margin:18px 0;padding:14px;border:1px solid #383e47;border-radius:10px;background:#0b0e12;color:#b6bdc6}.review-login a{color:#dbc17f}.review-login.warning{border-color:#6d3439;background:#251315;color:#ffb7bd}.review-actions{display:grid;gap:14px;margin:18px 0}.star-form,.comment-form{padding:15px;border:1px solid #2b3139;border-radius:12px;background:#0b0e12}.star-form>span{display:block;margin-bottom:8px;font-weight:700}.star-picker{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;margin-right:10px}.star-picker input{position:absolute;opacity:0;pointer-events:none}.star-picker label{font-size:30px;color:#454b55;cursor:pointer;line-height:1}.star-picker label:hover,.star-picker label:hover~label,.star-picker input:checked~label{color:#d9b75f}.mini-btn{border:1px solid #66552f;background:#c2a262;color:#0b0d10;padding:8px 11px;border-radius:8px;font-weight:800;cursor:pointer}.my-rating{padding:13px;border:1px solid #3b403f;border-radius:10px;background:#101612}.my-rating strong{color:#d9b75f;letter-spacing:.12em}.comment-form label{display:grid;gap:8px;font-weight:700}.comment-form textarea{min-height:88px;resize:vertical}.comment-form>div{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}.comment-form small{color:#7f8792}.comments-list{margin-top:22px}.comments-list h3{font:700 20px Georgia,serif}.comment-item{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:14px 0;border-top:1px solid #252a31}.comment-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#252932;color:#d8bf82;font-weight:800}.comment-avatar img{width:100%;height:100%;object-fit:cover}.comment-head{display:flex;justify-content:space-between;gap:12px}.comment-head small{color:#747c87}.comment-item p{margin:7px 0;color:#c5c9cf;line-height:1.5}.delete-comment-form button{border:0;background:none;color:#e69aa1;padding:0;cursor:pointer;font-size:11px}.account-status-card{min-width:270px;padding:18px 22px;border-radius:14px;border:1px solid #2f343b;display:grid;gap:6px;background:#101318}.account-status-card span{color:#8e96a0;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.account-status-card strong{font:700 26px Georgia,serif}.account-status-card small{max-width:330px;color:#aab0b7}.account-status-card.is-active{border-color:#29543d}.account-status-card.is-active strong{color:#9ddcb4}.account-status-card.is-suspended{border-color:#71373d;background:#241416}.account-status-card.is-suspended strong{color:#ffb3ba}.suspension-panel{margin:20px 0;padding:25px;border:1px solid #71373d;border-radius:14px;background:#171012}.suspension-panel h2{margin-top:5px}.suspension-reason{display:grid;gap:6px;margin:15px 0;padding:14px;border:1px solid #4b2c30;border-radius:9px}.appeal-form{display:grid;gap:10px;margin-top:18px}.appeal-form label{display:grid;gap:8px}.appeal-form textarea{min-height:120px}.appeal-wait{margin-top:16px;color:#d0b779}.appeal-history{margin-top:20px}.appeal-history>div{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #2a2e34}.appeal-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase}.status-pending{background:#332b16;color:#e7cc82}.status-approved{background:#163322;color:#9ce1b5}.status-rejected{background:#35191c;color:#f2a5ac}.member-admin-list{display:grid;gap:10px}.member-admin-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid #2b3037;border-radius:10px;background:#0d1014}.member-admin-card.member-suspended{border-color:#633137;background:#191012}.member-admin-card>div:first-child{display:grid;gap:5px}.member-admin-card span,.member-admin-card small{color:#9ca3ad}.member-name-row{display:flex;align-items:center;gap:9px}.account-badge{padding:4px 8px;border-radius:999px;font-size:9px!important;font-weight:900;text-transform:uppercase}.account-badge.active{background:#163322;color:#9ce1b5!important}.account-badge.suspended{background:#35191c;color:#f2a5ac!important}.member-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.member-actions form{margin:0}.member-actions select,.member-actions input{min-height:36px}.suspend-form{display:flex!important;gap:7px!important}.suspend-form input{width:220px}.moderation-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.moderation-card{border:1px solid #2b3037;border-radius:12px;padding:20px;background:#0d1014}.moderation-card h3{margin-top:0}.moderation-card>p{color:#959da8}.moderation-card label{display:grid;gap:7px;margin-top:14px}.moderation-card textarea{resize:vertical}.moderation-card input[type=range]{width:100%;accent-color:#c4a465}.appeal-admin-list{display:grid;gap:10px;max-height:650px;overflow:auto}.appeal-admin-list article{display:grid;gap:9px;padding:14px;border:1px solid #292f36;border-radius:9px;background:#090c10}.appeal-admin-list article>div:first-child{display:grid;gap:3px}.appeal-admin-list small{color:#7f8792}.appeal-admin-list p{margin:8px 0;color:#bfc4cb;line-height:1.5}.appeal-admin-list form{display:grid;gap:8px}.appeal-admin-list form>div{display:flex;gap:8px}.appeal-admin-list input{width:100%}
@media(max-width:900px){.review-dialog{grid-template-columns:1fr;overflow:auto}.review-media{min-height:360px}.review-panel{overflow:visible}.moderation-grid{grid-template-columns:1fr}.member-admin-card{grid-template-columns:1fr}.member-actions{justify-content:flex-start}.account-status-card{min-width:0}.suspend-form{flex-direction:column}.suspend-form input{width:100%}}
@media(max-width:600px){.project-image-button{height:220px}.review-modal{padding:8px}.review-dialog{width:100%;max-height:96vh}.review-media{min-height:280px}.review-panel{padding:22px}.comment-head{flex-direction:column;gap:2px}}

/* V11 — adaptation mobile complète : site public + espace membre + administration */
.mobile-menu-toggle,.admin-mobile-toggle{display:none;appearance:none;border:1px solid #343942;background:#111419;color:#fff;width:46px;height:46px;border-radius:11px;align-items:center;justify-content:center;cursor:pointer;flex:none;position:relative;z-index:1002}
.mobile-menu-toggle span,.admin-mobile-toggle span{position:absolute;width:21px;height:2px;background:currentColor;border-radius:2px;transition:.2s ease}
.mobile-menu-toggle span:nth-child(1),.admin-mobile-toggle span:nth-child(1){transform:translateY(-7px)}
.mobile-menu-toggle span:nth-child(3),.admin-mobile-toggle span:nth-child(3){transform:translateY(7px)}
.mobile-menu-open .mobile-menu-toggle span:nth-child(1),.admin-menu-open .admin-mobile-toggle span:nth-child(1){transform:rotate(45deg)}
.mobile-menu-open .mobile-menu-toggle span:nth-child(2),.admin-menu-open .admin-mobile-toggle span:nth-child(2){opacity:0}
.mobile-menu-open .mobile-menu-toggle span:nth-child(3),.admin-menu-open .admin-mobile-toggle span:nth-child(3){transform:rotate(-45deg)}
.admin-mobile-backdrop{display:none}

@media(max-width:900px){
  html,body{max-width:100%;overflow-x:hidden}
  body.mobile-nav-open,body.admin-menu-open{overflow:hidden}
  img,video,svg,canvas{max-width:100%;height:auto}
  input,select,textarea,button{font-size:16px}

  /* Menu public mobile */
  header:not(.admin-topbar){height:70px!important;min-height:70px;padding:0 16px!important;gap:12px;z-index:1000}
  header:not(.admin-topbar) .brand{min-width:0;gap:9px}
  header:not(.admin-topbar) .brand img{width:42px;height:42px;flex:none}
  header:not(.admin-topbar) .brand span{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  header:not(.admin-topbar) .brand small{font-size:7px}
  .mobile-menu-toggle{display:inline-flex;margin-left:auto}
  header:not(.admin-topbar) nav{display:none!important;position:fixed!important;top:70px;left:12px;right:12px;width:auto!important;max-height:calc(100dvh - 84px);overflow:auto;flex-direction:column!important;align-items:stretch!important;gap:5px!important;padding:12px!important;background:#0f1217f8!important;border:1px solid #343a43;border-radius:14px;box-shadow:0 24px 70px #000c;backdrop-filter:blur(16px);z-index:1001}
  header:not(.admin-topbar).mobile-menu-open nav{display:flex!important}
  header:not(.admin-topbar) nav a{display:flex;align-items:center;min-height:47px;padding:11px 13px!important;border:1px solid transparent!important;border-radius:9px!important;font-size:14px!important;color:#eceff3!important}
  header:not(.admin-topbar) nav a:hover,header:not(.admin-topbar) nav a.active{background:#191d23!important;border-color:#343a43!important}
  header:not(.admin-topbar) nav .pill{background:#c4a465!important;color:#0a0c0f!important;justify-content:center;font-weight:800}

  /* Accueil public */
  .hero{height:min(720px,100dvh);min-height:590px}
  .heroText{margin:95px 20px 25px;max-width:520px}
  .hero h1{font-size:clamp(44px,13vw,62px);line-height:.98}
  .heroText>p:not(.eyebrow){font-size:17px;line-height:1.55}
  section{padding:58px 18px}
  .heading{margin-bottom:24px}
  .heading h2{font-size:clamp(34px,10vw,44px)}
  .heading>p{font-size:14px}
  .gallery,.cards{grid-template-columns:1fr!important;gap:14px}
  .project-image-button,.project img,.card img{height:auto;min-height:210px;max-height:420px;object-fit:contain;background:#090a0c}
  .card img{object-fit:cover;aspect-ratio:16/10}
  .project-review-summary,.pad{padding:18px}
  .about{grid-template-columns:1fr!important;gap:15px}
  .about h2{font-size:clamp(42px,12vw,58px)}
  .about div:last-child{padding-top:0}
  footer{padding:30px 18px!important;display:grid!important;gap:12px;line-height:1.6}
  .footer-legal{margin:0}

  /* Modal d'avis / image plein écran */
  .review-modal{padding:0;align-items:end}
  .review-dialog{width:100%;height:94dvh;max-height:94dvh;border-radius:18px 18px 0 0;grid-template-columns:1fr;overflow:auto}
  .review-media{min-height:250px;height:min(42dvh,420px);position:sticky;top:0;z-index:1}
  .review-media img{max-height:100%;object-fit:contain;background:#070809}
  .review-panel{padding:22px 18px 34px;overflow:visible}
  .review-panel h2{font-size:30px;padding-right:44px}
  .review-close{position:fixed;top:calc(6dvh + 10px);right:12px}
  .star-form,.comment-form{padding:13px}
  .star-picker{display:flex;width:100%;justify-content:center;margin:4px 0 14px}
  .star-picker label{font-size:38px}
  .comment-form>div{align-items:flex-start;flex-direction:column}
  .mini-btn{width:100%;min-height:44px}

  /* Contact */
  .contact-shell{width:calc(100% - 28px)!important;padding:30px 0 52px!important}
  .contact-intro-v4{margin-bottom:24px!important}
  .contact-intro-v4 h1,.contact-intro h1{font-size:clamp(39px,11vw,52px)!important}
  .contact-form-card{padding:18px!important;border-radius:12px}
  .contact-two,.contact-three,.form-row{grid-template-columns:1fr!important}
  .contact-submit-row{grid-template-columns:1fr!important;gap:10px}
  .contact-submit,.contact-form .btn{width:100%;min-height:48px}
  .form-section-title{align-items:flex-start!important;gap:10px}

  /* Compte membre */
  .account-shell{width:calc(100% - 28px)!important;padding:26px 0 50px!important}
  .account-hero{display:grid!important;gap:15px!important;align-items:stretch!important}
  .account-hero h1{font-size:clamp(36px,11vw,48px)!important}
  .account-status-card{width:100%;min-width:0!important}
  .account-grid{grid-template-columns:1fr!important;gap:14px}
  .account-card{padding:18px!important}
  .account-card-title{align-items:center}
  .account-avatar{width:64px;height:64px}
  .account-legal{display:grid!important;gap:8px!important;padding:16px!important}
  .credit-history>div{align-items:flex-start;gap:10px}
  .credit-history strong{white-space:nowrap}
  .balance-big{font-size:38px}

  /* Pages connexion / inscription / paiement / conditions */
  .install{padding:14px;align-items:start;padding-top:28px}
  .installbox{padding:22px 18px!important;border-radius:12px;margin:auto}
  .installbox h1{font-size:clamp(34px,11vw,44px)}
  .quick-credits{grid-template-columns:1fr 1fr!important}
  .balance-banner.compact{align-items:flex-start;gap:8px;flex-direction:column}
  .legal-shell{width:calc(100% - 28px)!important;padding:34px 0 55px!important}
  .legal-shell h1{font-size:clamp(36px,10vw,46px)!important}
  .legal-shell h2{font-size:23px}
  .legal-alert{padding:15px}

  /* Administration off-canvas */
  body.admin{display:block!important;min-height:100dvh}
  .admin-mobile-toggle{display:inline-flex;position:fixed;top:12px;left:12px;z-index:2102;box-shadow:0 10px 30px #0008}
  .admin-mobile-backdrop{position:fixed;inset:0;background:#000b;z-index:2099;backdrop-filter:blur(3px)}
  .admin-mobile-backdrop:not([hidden]){display:block}
  .admin-sidebar{position:fixed!important;top:0!important;left:0!important;width:min(330px,88vw)!important;height:100dvh!important;padding:74px 16px 18px!important;transform:translateX(-105%);transition:transform .24s ease;z-index:2100!important;overflow-y:auto;overscroll-behavior:contain;box-shadow:20px 0 60px #000b!important}
  .admin-sidebar.is-mobile-open{transform:translateX(0)}
  .admin-sidebar .brand{position:absolute;top:14px;left:72px;right:14px;height:44px;padding:0!important;margin:0!important;border:0!important}
  .admin-sidebar .brand img{width:40px;height:40px}
  .admin-sidebar .brand span{font-size:13px}
  .admin-nav{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
  .admin-nav a,.sidebar-bottom a{min-height:46px;padding:12px!important}
  .sidebar-bottom{grid-template-columns:1fr!important;margin-top:18px!important}
  .admin main{grid-column:auto!important;width:100%!important;max-width:none!important;padding:78px 14px 48px!important;margin:0!important}
  .admin-topbar{display:grid!important;gap:14px!important;margin-bottom:18px!important}
  .admin-topbar h1{font-size:clamp(31px,10vw,40px)!important}
  .topbar-site-link{display:inline-flex!important;width:max-content}
  .admin-stats{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .panel{padding:18px 14px!important;border-radius:10px;margin-bottom:16px!important;overflow:hidden}
  .paneltitle,.project-manager-head,.reservation-manager-head{display:grid!important;gap:8px!important;align-items:start!important}
  .paneltitle>p{margin:0!important}
  .projects-layout,.moderation-grid,.admin-log-grid{grid-template-columns:1fr!important}
  .project-admin-card,.member-admin-card,.reservation-card{grid-template-columns:1fr!important;gap:12px!important}
  .project-thumb{width:100%!important;height:190px!important}
  .project-actions,.member-actions,.reservation-actions{display:grid!important;grid-template-columns:1fr!important;width:100%;justify-content:stretch!important}
  .project-actions form,.member-actions form,.reservation-actions form,.project-actions button,.member-actions button,.reservation-actions button,.refund-link{width:100%!important}
  .suspend-form{display:grid!important;grid-template-columns:1fr!important}
  .suspend-form input{width:100%!important}
  .table>div{align-items:stretch!important;flex-direction:column!important;gap:10px}
  .table form{width:100%;display:grid!important;grid-template-columns:1fr!important}
  .table button{width:100%}
  .log-tabs{display:flex!important;overflow-x:auto;padding-bottom:6px;gap:7px;scrollbar-width:thin}
  .log-tabs a{white-space:nowrap;flex:none}
  .audit-list,.refund-list,.appeal-admin-list{max-height:none!important;overflow:visible!important}
  .admin-log-card-head{align-items:flex-start!important;flex-direction:column!important;gap:5px!important}
  .refund-btn,.ghost-danger,.soft-action{width:100%}

  /* Calendrier admin : utilisable au doigt sans écraser les 7 colonnes */
  .calendar-panel{overflow:hidden!important}
  .modern-calendar{overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border-radius:9px}
  .modern-calendar>.calendar-toolbar,.modern-calendar>.calendar-grid,.modern-calendar>.calendar-legend{min-width:720px}
  .calendar-day,.calendar-empty{min-height:102px!important}
  .day-event{padding:5px!important}
  .calendar-list>div{align-items:stretch!important}
  .calendar-list .slot-info{width:100%}
  .calendar-list form{margin-left:0!important;width:100%}
  .calendar-list form button{width:100%}
  .calendar-list-pagination{flex-wrap:wrap!important}
  .calendar-dialog{width:calc(100vw - 18px)!important;max-height:94dvh!important;padding:22px 16px!important}
  .type-switch{grid-template-columns:1fr!important}
  .calendar-modal{padding:9px!important}
}

@media(max-width:560px){
  .admin-stats{grid-template-columns:1fr!important}
  .hero{min-height:560px}
  .heroText{margin-left:16px;margin-right:16px}
  section{padding-left:14px;padding-right:14px}
  .account-shell,.contact-shell,.legal-shell{width:calc(100% - 20px)!important}
  .account-card-title{align-items:flex-start}
  .account-avatar{width:56px;height:56px}
  .quick-credits{grid-template-columns:1fr!important}
  .comment-item{grid-template-columns:34px 1fr}
  .comment-avatar{width:34px;height:34px}
  .review-panel{padding-left:14px;padding-right:14px}
}

/* ===== Beaulieu Créations — portail principal V12 ===== */
.bc-portal-page{margin:0;min-height:100vh;background:#080a0c;color:#f5f2eb;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}.bc-portal-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 10%,rgba(198,162,95,.12),transparent 34%),radial-gradient(circle at 85% 85%,rgba(255,255,255,.045),transparent 28%)}.bc-portal{width:min(1180px,calc(100% - 48px));min-height:100vh;margin:auto;display:flex;flex-direction:column;padding:42px 0 28px;box-sizing:border-box}.bc-portal-brand{display:flex;align-items:center;gap:14px}.bc-monogram{width:52px;height:52px;border:1px solid #c6a25f;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:21px;color:#c6a25f}.bc-portal-brand div{display:flex;flex-direction:column;gap:5px;letter-spacing:.16em}.bc-portal-brand strong{font-size:14px}.bc-portal-brand small{font-size:8px;color:#c6a25f;letter-spacing:.24em}.bc-portal-intro{max-width:760px;margin:clamp(55px,9vh,105px) 0 45px}.bc-portal-intro .eyebrow{color:#c6a25f;letter-spacing:.32em;font-size:11px;font-weight:700}.bc-portal-intro h1{font-family:Georgia,serif;font-size:clamp(44px,6vw,78px);line-height:.98;margin:13px 0 22px;letter-spacing:-.035em}.bc-portal-intro h1 em{font-weight:400;color:#c6a25f}.bc-portal-intro>p:last-child{max-width:610px;color:#aeb5bf;font-size:17px;line-height:1.65}.bc-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bc-choice-card{position:relative;min-height:310px;padding:34px;border:1px solid #282d33;border-radius:18px;background:linear-gradient(145deg,#14181d,#0e1115);display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box;text-decoration:none;color:inherit;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.bc-choice-tattoo:hover{transform:translateY(-5px);border-color:#c6a25f;box-shadow:0 24px 60px rgba(0,0,0,.32)}.bc-choice-tattoo:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-100px;background:rgba(198,162,95,.08)}.bc-choice-number{position:absolute;right:28px;top:25px;color:#5d646c;font-family:Georgia,serif;font-size:14px}.bc-choice-icon{width:54px;height:54px;border:1px solid #3a4149;border-radius:14px;display:grid;place-items:center;color:#c6a25f;font-size:20px;font-weight:700}.bc-choice-content{position:relative;z-index:1}.bc-choice-state{display:inline-flex;padding:6px 9px;border-radius:99px;font-size:9px;font-weight:800;letter-spacing:.14em;margin-bottom:12px}.bc-choice-state.available{color:#9de6b5;background:#10291a;border:1px solid #205d35}.bc-choice-state.building{color:#d9bd82;background:#2a2214;border:1px solid #594725}.bc-choice-content h2{font-family:Georgia,serif;font-size:32px;margin:0 0 10px}.bc-choice-content p{color:#9da6b0;line-height:1.55;max-width:470px;margin:0 0 22px}.bc-choice-action{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #282d33;padding-top:18px;font-size:13px;font-weight:700}.bc-choice-action b{font-size:22px;color:#c6a25f}.bc-choice-web{opacity:.58;cursor:not-allowed}.bc-choice-web:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0,transparent 18px,rgba(255,255,255,.012) 18px,rgba(255,255,255,.012) 36px)}.bc-choice-action.disabled{color:#7d858e}.bc-portal-footer{margin-top:auto;padding-top:38px;color:#656d75;font-size:11px;letter-spacing:.08em;text-align:center}@media(max-width:760px){.bc-portal{width:min(100% - 30px,560px);padding-top:25px}.bc-portal-intro{margin:55px 0 30px}.bc-portal-intro h1{font-size:44px}.bc-portal-intro>p:last-child{font-size:15px}.bc-choice-grid{grid-template-columns:1fr}.bc-choice-card{min-height:270px;padding:26px}.bc-choice-content h2{font-size:28px}.bc-portal-footer{padding:30px 0 5px}}@media(max-width:380px){.bc-portal-brand strong{font-size:12px}.bc-portal-intro h1{font-size:38px}.bc-choice-card{padding:22px}}

/* Password / SMS security V13 */
.password-field{position:relative;display:flex;align-items:center}.password-field input{width:100%;padding-right:52px!important}.password-eye{position:absolute;right:7px;width:38px!important;min-width:38px;height:36px;border:0!important;background:transparent!important;cursor:pointer;font-size:17px;padding:0!important}.member-actions .soft-action{white-space:nowrap}.panel hr{border:0;border-top:1px solid #2c3137;margin:22px 0}
.member-editor{width:100%;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px;margin:8px 0}.member-editor summary{cursor:pointer;display:flex;gap:8px;flex-direction:column}.member-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.member-edit-grid label{display:flex;flex-direction:column;gap:6px}.member-edit-grid .wide{grid-column:1/-1}.member-edit-grid input,.member-edit-grid select,.member-edit-grid textarea{width:100%}@media(max-width:760px){.member-edit-grid{grid-template-columns:1fr}.member-edit-grid .wide{grid-column:auto}}
