/* L'ATELIER PALETTE — STYLE PRINCIPAL */
:root{--wood-dark:#2b1b10;--wood:#8a542e;--wood-light:#c58a52;--wood-pale:#e8c79e;--cream:#f4ead9;--paper:#fbf6ed;--ink:#2b211a;--green:#4f6841;--border:#d6b991}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
 margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;
 background-image:linear-gradient(rgba(45,25,15,.58),rgba(45,25,15,.58)),url("/static/fond-bois.jpg");
 background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed;
}
body:after{content:"";position:fixed;inset:0;pointer-events:none;background:rgba(255,245,230,.06);z-index:-1}
a{color:inherit;text-decoration:none}
main{min-height:calc(100vh - 130px)}
.navbar{height:74px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;background:rgba(43,27,16,.94);color:#fff7ea;position:sticky;top:0;z-index:10;box-shadow:0 4px 20px rgba(45,25,12,.3);backdrop-filter:blur(8px)}
.brand{font-size:21px;font-weight:950;letter-spacing:1.5px}.brand span{color:var(--wood-light)}
nav{display:flex;gap:24px;color:#dfc8aa}nav a:hover{color:#fff}
.hero{min-height:640px;position:relative;display:flex;align-items:center;padding:90px 7%;overflow:hidden;color:#fffaf2;background:linear-gradient(90deg,rgba(43,27,16,.91),rgba(43,27,16,.58),rgba(43,27,16,.35))}
.hero-inner{max-width:800px;position:relative;z-index:2}.wood-badge{display:inline-block;padding:8px 13px;border:1px solid rgba(255,232,198,.3);border-radius:6px;background:rgba(25,14,7,.3);font-size:11px;letter-spacing:2px;font-weight:900}
h1{font-size:clamp(45px,7vw,82px);line-height:.98;margin:18px 0 25px}.hero h1 span{color:#e3b77e}.hero-text{max-width:690px;color:#eadbc7;font-size:18px;line-height:1.75}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-block;margin-top:24px;padding:14px 21px;border:0;border-radius:7px;background:var(--wood);color:#fff;font-weight:900;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);filter:brightness(1.08)}.wood-button{background:var(--wood);box-shadow:0 7px 18px rgba(63,31,12,.2)}.outline-button{background:transparent;border:1px solid rgba(255,239,216,.45);color:#fff}
.intro{padding:70px 7% 25px}.intro-card{max-width:1100px;margin:auto;padding:35px;display:flex;gap:24px;align-items:flex-start;background:color-mix(in srgb, var(--paper) 94%, transparent);border:1px solid var(--border);border-radius:14px;box-shadow:0 15px 35px rgba(45,25,12,.16)}.intro-icon{font-size:36px}.intro-card h2{margin:6px 0 12px}.intro-card p{line-height:1.7;color:#6e5b48}
.section,.process,.contact{max-width:1200px;margin:0 auto;padding:80px 7%}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:30px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:950;color:#87532d;margin:0 0 10px}.section h2,.process h2{font-size:42px;margin:0 0 8px}.section-subtitle{color:#745f4b}.count{color:#76543a;font-weight:900}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.filter{border:1px solid var(--border);background:rgba(251,246,237,.9);color:#68472d;padding:9px 14px;border-radius:20px;font-weight:800;cursor:pointer}.filter.active,.filter:hover{background:var(--wood);color:#fff}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{overflow:hidden;border-radius:12px;background:color-mix(in srgb, var(--paper) 96%, transparent);border:1px solid var(--border);box-shadow:0 10px 25px rgba(45,25,12,.13);transition:.2s}.card:hover{transform:translateY(-4px)}.card img{width:100%;height:240px;object-fit:cover;display:block}.placeholder{height:240px;display:grid;place-items:center}.wood-placeholder,.wood-detail-placeholder{background:linear-gradient(135deg,#8d5933,#4b2b18);color:#e3b77e;font-weight:950;letter-spacing:2px}.card-body{padding:20px}.tag{display:inline-block;color:#87532d;font-size:10px;font-weight:950;letter-spacing:1.4px;text-transform:uppercase}.card h3{font-size:24px;margin:8px 0}.card p{color:#715d49;line-height:1.65}.price,.detail-price{color:#6f4327;font-weight:950;font-size:18px;margin:8px 0}.detail-price{font-size:25px}.card-link{font-weight:900;color:#87532d}
.process{max-width:none;background:rgba(244,234,217,.94)}.process-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.process-card{padding:25px;border:1px solid var(--border);border-radius:10px;background:rgba(255,250,242,.72)}.process-card span{font-size:12px;color:#9a6840;font-weight:950}.process-card h3{margin:12px 0 8px}.process-card p{color:#735e49;line-height:1.6}
.contact{max-width:none;display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(90deg,rgba(89,51,29,.97),rgba(112,66,36,.94));color:#fff5e8}.contact h2{font-size:42px;margin:0 0 12px}.contact p:not(.eyebrow){color:#ead6bd;max-width:700px;line-height:1.7}
footer{padding:28px 7%;text-align:center;background:rgba(43,27,16,.95);color:#d7bfa2}
.detail{max-width:1050px;margin:auto;padding:65px 7% 90px;background:color-mix(in srgb, var(--paper) 95%, transparent)}.back{display:inline-block;color:#87532d;font-weight:900;margin-bottom:25px}.detail-header h1{font-size:clamp(40px,6vw,70px);margin:10px 0}.detail-image{width:100%;max-height:620px;object-fit:cover;border-radius:12px}.wood-detail-placeholder{height:400px;display:grid;place-items:center;border-radius:12px}.detail-content{padding-top:28px}.detail-content>p{font-size:18px;line-height:1.8;color:#665341}.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}.specs div{padding:15px;border:1px solid var(--border);border-radius:8px;background:#f7eddd}.specs strong,.specs span{display:block}.specs strong{color:#82502c;font-size:11px;text-transform:uppercase;letter-spacing:1px}.specs span{margin-top:6px;color:#5e4a38}
.contact-page{max-width:1150px;margin:auto;padding:75px 7% 100px;background:color-mix(in srgb, var(--paper) 95%, transparent)}.contact-intro{max-width:800px;margin-bottom:45px}.contact-intro h1{color:#332318;font-size:clamp(45px,7vw,76px)}.contact-intro h1 span{color:var(--wood)}.contact-intro>p:not(.eyebrow){color:#705f4d;font-size:18px;line-height:1.75}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-card{display:flex;align-items:center;gap:20px;padding:25px;min-height:135px;background:var(--paper);border:1px solid var(--border);border-radius:12px;box-shadow:0 7px 20px rgba(72,39,16,.06);transition:.2s}.contact-card:hover{transform:translateY(-3px);border-color:#9b6339}.contact-icon{width:55px;height:55px;flex:0 0 55px;display:grid;place-items:center;border-radius:10px;background:#ead5b6;color:#694025;font-size:25px;font-weight:900}.contact-card span{color:#82502c;font-size:10px;letter-spacing:1.5px;font-weight:950}.contact-card h2{margin:5px 0;font-size:21px}.contact-card p{margin:0;color:#806c59}.contact-message{margin-top:30px;padding:40px;border-radius:14px;background:linear-gradient(135deg,#6e4226,#4b2b18);color:#fff5e7}.contact-message h2{color:#fff}.contact-message p:not(.eyebrow){color:#ead7bf;max-width:700px;line-height:1.7}
.admin{max-width:1200px;margin:auto;padding:60px 7% 100px;background:color-mix(in srgb, var(--paper) 96%, transparent)}.admin-box{padding:28px;border:1px solid var(--border);border-radius:12px;background:var(--paper);margin-bottom:25px;box-shadow:0 7px 18px rgba(72,39,16,.06)}.admin-box h2{margin-top:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.admin label{display:block;margin:15px 0 7px;font-weight:850;color:#68472d}.admin input,.admin textarea{width:100%;padding:12px;border:1px solid #cdb18a;border-radius:7px;background:var(--paper);color:var(--ink);font:inherit}.admin textarea{resize:vertical}.admin-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 0;border-top:1px solid #e5d5bd}.admin-item-info{display:flex;align-items:center;gap:13px}.admin-item-info img{width:60px;height:48px;object-fit:cover;border-radius:6px}.mini-placeholder{width:60px;height:48px;display:grid;place-items:center;background:#ead5b6;border-radius:6px}.admin-item-info small{display:block;color:#806c59;margin-top:4px}.admin-actions{display:flex;gap:7px;align-items:center}.admin-actions form{margin:0}.small-button,.delete{padding:8px 11px;border:1px solid #cdb18a;border-radius:6px;background:#f7eddd;color:#694025;font-weight:800;font-size:12px;cursor:pointer}.delete{background:#f3d5d0;color:#8b2e24;border-color:#dba59e}.admin-title-row,.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px}.settings-sections{display:grid;grid-template-columns:1fr 1fr;gap:20px}.save-bar{position:sticky;bottom:15px;z-index:5;display:flex;justify-content:center;padding:10px;background:rgba(244,234,217,.94);border:1px solid var(--border);border-radius:10px;backdrop-filter:blur(8px)}
.login-page{min-height:calc(100vh - 130px);display:grid;place-items:center;padding:40px}.login-box{width:min(440px,100%);padding:35px;background:var(--paper);border:1px solid var(--border);border-radius:12px;box-shadow:0 15px 35px rgba(45,25,12,.15)}.login-box input{width:100%;padding:13px;margin:10px 0;border:1px solid #cdb18a;border-radius:7px}
.alerts{max-width:1100px;margin:20px auto;padding:0 7%}.alert{padding:12px 15px;border-radius:7px;background:#eee0c9;color:#634a34}.alert.error{background:#f3d5d0;color:#8b2e24}.alert.success{background:#dcebd8;color:#3e6637}
.empty{text-align:center;padding:60px 20px;background:color-mix(in srgb, var(--paper) 94%, transparent);border:1px dashed var(--border);border-radius:12px}.empty-icon{font-size:40px}
@media(max-width:850px){.grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr}.settings-sections{grid-template-columns:1fr}.specs{grid-template-columns:1fr}}
@media(max-width:700px){body{background-attachment:scroll;background-position:center top}.navbar{height:auto;min-height:68px;padding:13px 5%;align-items:flex-start;gap:10px}.brand{font-size:16px}nav{gap:10px;font-size:13px;flex-wrap:wrap;justify-content:flex-end}.hero{min-height:560px;padding:65px 7%}.grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.contact{display:block}.contact-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.admin-item{flex-direction:column;align-items:flex-start}.admin-actions{flex-wrap:wrap}.section-head{align-items:flex-start;flex-direction:column}}


/* ===== ADMIN / SETTINGS FALLBACK ===== */
.admin, .login-page, .contact-page, .detail {
    font-family: Inter, Arial, sans-serif;
}
.admin h1, .admin h2, .admin h3,
.login-box h1, .contact-page h1, .detail h1 {
    font-family: Inter, Arial, sans-serif;
}
.admin {
    max-width: 1200px;
    margin: 40px auto;
    padding: 50px 7%;
    background: rgba(251,246,237,.97);
    border-radius: 16px;
}
.admin .section-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    margin-bottom:30px;
}
.admin-box {
    background:var(--paper);
    border:1px solid #d6b991;
    border-radius:14px;
    padding:28px;
    margin-bottom:24px;
    box-shadow:0 8px 22px rgba(45,25,12,.08);
}
.admin-box h2 { color:#3b281c; }
.admin label {
    display:block;
    margin:14px 0 7px;
    color:#68472d;
    font-size:14px;
    font-weight:800;
}
.admin input:not([type="color"]),
.admin textarea,
.admin select {
    width:100%;
    padding:12px 13px;
    border:1px solid #cdb18a;
    border-radius:8px;
    background:var(--paper);
    color:var(--ink);
    font:inherit;
    outline:none;
}
.admin input:focus, .admin textarea:focus, .admin select:focus {
    border-color:var(--wood);
    box-shadow:0 0 0 3px rgba(138,84,46,.12);
}
.admin input[type="color"] {
    width:70px;
    height:48px;
    padding:3px;
    border:1px solid #cdb18a;
    border-radius:8px;
    background:var(--paper);
    cursor:pointer;
}
.admin textarea { min-height:100px; resize:vertical; }
.form-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 18px;
}
.settings-sections {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
}
.save-bar {
    position:sticky;
    bottom:15px;
    z-index:20;
    display:flex;
    justify-content:center;
    padding:10px;
    background:rgba(244,234,217,.95);
    border:1px solid #d6b991;
    border-radius:12px;
    backdrop-filter:blur(8px);
}
.admin-item {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    padding:15px 0;
    border-top:1px solid #e5d5bd;
}
.admin-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.admin-actions form { margin:0; }
.small-button, .delete {
    padding:9px 12px;
    border:1px solid #cdb18a;
    border-radius:7px;
    background:#f7eddd;
    color:#694025;
    font-weight:800;
    cursor:pointer;
}
.delete { background:#f3d5d0; color:#8b2e24; border-color:#dba59e; }
@media(max-width:850px) {
    .settings-sections { grid-template-columns:1fr; }
}
@media(max-width:700px) {
    .admin { margin:0; border-radius:0; padding:35px 5% 80px; }
    .admin .section-head { align-items:flex-start; flex-direction:column; }
    .form-grid { grid-template-columns:1fr; }
    .admin-item { align-items:flex-start; flex-direction:column; }
}

.color-control{display:flex;align-items:center;gap:10px;max-width:430px}
.color-control .hex-color{flex:1}
.color-control .color-picker{width:54px!important;height:48px!important;padding:3px!important;cursor:pointer}
@media(max-width:700px){.color-control{max-width:100%}}

/* ===== V2 UPLOAD / GALLERY / MOBILE ADMIN ===== */
.admin-note,.muted,.upload-help{color:#806c59}.admin-note{margin-top:8px}.admin-head-actions{display:flex;gap:8px;flex-wrap:wrap}.file-input{background:#f7eddd!important;padding:10px!important}.upload-help{font-size:12px;margin:7px 0 4px}.danger-zone{border-color:#dba59e}.danger-zone h2{color:#8b2e24}.danger-button{font-size:14px;padding:11px 15px}.admin-item-info small+small{font-size:11px;color:#9a795a}.gallery{margin-top:28px}.gallery-main{background:#eadbc5;border-radius:14px;overflow:hidden}.gallery-main img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain;margin:auto}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 2px}.thumb{border:2px solid transparent;padding:0;background:none;border-radius:8px;overflow:hidden;cursor:pointer;flex:0 0 82px}.thumb.active{border-color:var(--wood)}.thumb img{display:block;width:82px;height:65px;object-fit:cover}.photo-admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.photo-admin-card{border:1px solid var(--border);padding:10px;border-radius:10px;background:#faf2e5}.photo-admin-card img{display:block;width:100%;height:150px;object-fit:cover;border-radius:7px;margin-bottom:8px}.photo-admin-card form{margin:0}.photo-admin-card .delete{width:100%}
@media(max-width:700px){.gallery-main img{max-height:430px}.detail{padding:40px 5% 70px}.photo-admin-grid{grid-template-columns:1fr 1fr}.photo-admin-card img{height:130px}.admin-head-actions{width:100%}.admin-head-actions .button{flex:1;text-align:center}.admin-box{padding:20px}.admin input,.admin textarea{font-size:16px}.admin-actions{width:100%}.admin-actions>*{flex:1;text-align:center}.admin-actions form{display:flex}.admin-actions .delete{width:100%}}

/* ===== V3 FINISHES / MOBILE / PHOTO UX / BACKUPS ===== */
body{overflow-x:hidden}
.navbar{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);background:rgba(52,29,19,.96)}
.menu-toggle{display:none;border:0;background:transparent;color:#fff5e7;font-size:27px;line-height:1;padding:8px;border-radius:10px}
.card-image-wrap{position:relative;width:100%;height:270px;background:#eadbc5;overflow:hidden}
.card-image-wrap img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.card:hover .card-image-wrap img{transform:scale(1.025)}
.card{overflow:hidden}
.upload-preview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0 4px}
.upload-preview img{width:100%;height:82px;object-fit:cover;border-radius:8px;border:1px solid var(--border);background:#eadbc5}
.gallery-main{position:relative;border:0;padding:0;width:100%;cursor:zoom-in}
.gallery-main img{background:#eadbc5}
.zoom-hint{position:absolute;right:12px;bottom:12px;padding:7px 10px;border-radius:999px;background:rgba(43,33,26,.72);color:#fff;font-size:12px;font-weight:800}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(15,9,6,.94);display:grid;place-items:center;padding:30px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:95vw;max-height:90vh;object-fit:contain;border-radius:10px}
.lightbox-close{position:fixed;right:18px;top:18px;width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:22px;cursor:pointer}
.no-scroll{overflow:hidden}
.photo-actions{display:flex;gap:5px;margin-bottom:8px}
.photo-actions form{margin:0;display:flex;flex:1}
.photo-actions .small-button{width:100%;padding:7px 6px;font-size:11px}
.small-button:disabled{opacity:.4;cursor:not-allowed}
.primary-photo{box-shadow:0 0 0 2px var(--wood) inset}
.backup-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.backup-actions form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0}
.backup-actions input[type=file]{max-width:100%;padding:8px;background:#f7eddd;border:1px solid #cdb18a;border-radius:7px}
.login-help{color:#806c59;margin-top:-8px;margin-bottom:15px}
@media(max-width:700px){
 .navbar{padding:10px 5%;align-items:center;min-height:64px}
 .brand{max-width:72%;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .menu-toggle{display:block;margin-left:auto}
 .navbar nav{position:absolute;left:4%;right:4%;top:calc(100% + 6px);display:none;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:rgba(52,29,19,.99);border:1px solid rgba(255,245,231,.12);border-radius:14px;box-shadow:0 15px 35px rgba(0,0,0,.28)}
 .navbar nav.open{display:flex}
 .navbar nav a{padding:14px 15px;border-radius:9px;font-size:15px}
 .navbar nav a:hover{background:rgba(255,255,255,.08)}
 .card-image-wrap{height:230px}
 .upload-preview{grid-template-columns:repeat(3,1fr)}
 .upload-preview img{height:78px}
 .backup-actions,.backup-actions form{width:100%;align-items:stretch}
 .backup-actions .button,.backup-actions input{width:100%;box-sizing:border-box}
 .gallery-main img{max-height:62vh}
 .lightbox{padding:12px}
 .photo-actions .small-button{font-size:10px}
}
@media(max-width:420px){.card-image-wrap{height:210px}.upload-preview{grid-template-columns:repeat(2,1fr)}}
