:root{
  --brown:#5e3c22; --brown-dark:#3a2515; --brown-deep:#2a1a0f;
  --green:#2a421b; --green-light:#3f5c2b;
  --cream:#f2e8d5; --paper:#e9dcc0; --paper-dark:#ddccaa;
  --gold:#a9873f; --ink:#241609;
  /* Or lisible : le doré de marque n'atteint pas 4,5:1 en texte.
     --gold reste inchangé pour les aplats, bordures et icônes. */
  --gold-on-light:#74581f;  /* texte doré sur crème ou papier : 5,5:1 et 4,9:1 */
  --gold-on-dark:#b5924a;   /* texte doré sur brun foncé : 4,9:1 et 5,7:1 */
  --section-v:110px; --section-v-sm:64px;
  --side:clamp(20px,5vw,60px);
  --ease-out:cubic-bezier(.25,.8,.25,1);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
body{background:var(--cream);color:var(--ink);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden;}
::selection{background:var(--green);color:var(--cream);}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");}
h1,h2,h3,.serif{font-family:'EB Garamond',Georgia,serif;font-weight:400;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;height:auto;}

/* ===== NAVBAR (claire, responsive) ===== */
header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:24px;padding:14px var(--side);
  background:rgba(242,232,213,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(36,22,9,.08);
  transition:transform .45s var(--ease-in-out),padding .3s ease,background .3s ease,box-shadow .3s ease;}
header.hidden{transform:translateY(-100%);}
header.scrolled{background:rgba(242,232,213,.97);box-shadow:0 6px 24px rgba(36,22,9,.09);padding:9px var(--side);}
.logo-link{display:flex;align-items:center;margin-right:auto;transition:transform .3s var(--ease-out);}
.logo-link:hover{transform:translateY(-1px);}
.logo-link picture{display:block;height:46px;transition:height .3s ease;}
header.scrolled .logo-link picture{height:38px;}
.logo-img{height:46px;width:auto;display:block;transition:height .3s ease;}
header.scrolled .logo-img{height:38px;}
.nav-links{display:flex;align-items:center;gap:4px;}
.nav-links a{position:relative;font-size:.82rem;letter-spacing:.02em;color:var(--brown-deep);padding:10px 14px;border-radius:2px;transition:color .25s ease;}
.nav-links a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out);}
.nav-links a:hover{color:var(--brown);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);}
.nav-links a.active{color:var(--brown);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;width:28px;background:none;border:none;padding:6px 0;}
.burger span{display:block;height:2px;width:100%;background:var(--brown-deep);border-radius:2px;transition:all .3s ease;}
.burger:hover span{background:var(--gold);}
.search-btn{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;transition:background .25s ease,transform .25s ease;}
.search-btn:hover{background:rgba(36,22,9,.07);transform:scale(1.05);}
.search-btn svg{width:19px;height:19px;stroke:var(--brown-deep);}

/* ===== DRAWER ===== */
.drawer-overlay{position:fixed;inset:0;background:rgba(20,12,5,.55);backdrop-filter:blur(2px);z-index:150;opacity:0;pointer-events:none;transition:opacity .4s ease;}
.drawer-overlay.open{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;left:0;bottom:0;width:340px;max-width:82vw;background:var(--brown-deep);z-index:151;transform:translateX(-100%);transition:transform .5s cubic-bezier(.65,0,.35,1);display:flex;flex-direction:column;border-right:1px solid rgba(169,135,63,.18);}
.drawer.open{transform:translateX(0);}
.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:28px 32px;border-bottom:1px solid rgba(242,232,213,.08);}
.drawer-close{background:none;border:none;color:var(--cream);font-size:1.2rem;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s ease;}
.drawer-close:hover{opacity:1;}
.drawer-title{font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-on-dark);}
.drawer nav{display:flex;flex-direction:column;padding:10px 0;flex:1;}
.drawer nav a{font-family:'EB Garamond',Georgia,serif;font-size:1.6rem;color:var(--cream);padding:18px 32px;display:flex;align-items:baseline;gap:14px;border-bottom:1px solid rgba(242,232,213,.06);transition:color .25s ease,padding-left .25s ease;}
.drawer nav a .num{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.68rem;color:var(--green-light);letter-spacing:.1em;}
.drawer nav a:hover,.drawer nav a.active{color:var(--gold-on-dark);}
.drawer nav a:hover{padding-left:40px;}
.drawer-foot{padding:24px 32px;font-size:.7rem;color:rgba(242,232,213,.55);letter-spacing:.04em;line-height:1.8;border-top:1px solid rgba(242,232,213,.08);}

/* ===== SEARCH ===== */
.search-overlay{position:fixed;inset:0;background:var(--brown-deep);z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease;}
.search-overlay.open{opacity:1;pointer-events:auto;}
.search-overlay-close{position:absolute;top:30px;right:40px;background:none;border:none;color:var(--paper-dark);font-size:1.6rem;cursor:pointer;}
.search-box{width:min(640px,84vw);text-align:center;}
.search-box p{color:var(--gold-on-dark);letter-spacing:.3em;font-size:.65rem;text-transform:uppercase;margin-bottom:24px;}
.search-box input{width:100%;background:none;border:none;border-bottom:1px solid var(--gold);font-family:'EB Garamond',Georgia,serif;font-style:italic;font-size:1.8rem;color:var(--cream);padding:10px 4px;outline:none;}
.search-box input::placeholder{color:rgba(242,232,213,.55);}
.search-suggest{margin-top:14px;max-height:52vh;overflow-y:auto;text-align:left;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;}
.search-suggest.show{opacity:1;transform:translateY(0);pointer-events:auto;}
.ss-item{display:flex;align-items:center;gap:14px;padding:10px 12px;border:1px solid rgba(169,135,63,.18);border-radius:8px;margin-bottom:8px;background:rgba(242,232,213,.04);transition:background .2s ease,border-color .2s ease;}
.ss-item:hover{background:rgba(169,135,63,.14);border-color:rgba(169,135,63,.45);}
.ss-img{flex-shrink:0;width:46px;height:46px;border-radius:6px;background:var(--brown-dark) center/cover no-repeat;border:1px solid rgba(242,232,213,.12);}
.ss-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
.ss-name{font-family:'EB Garamond',Georgia,serif;font-size:1.05rem;color:var(--cream);line-height:1.2;}
.ss-meta{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-on-dark);}
.ss-empty{padding:16px 12px;font-size:.9rem;color:rgba(242,232,213,.55);font-style:italic;}

/* ===== HERO (bannière) ===== */
.hero{position:relative;background:var(--cream);padding:104px 0 0;overflow:hidden;}
.hero-banner{position:relative;width:100%;max-width:1500px;margin:0 auto;display:block;}
.hero-banner picture{display:block;width:100%;}
.hero-banner img{width:100%;height:auto;display:block;animation:heroIn 1s var(--ease-out) both;}
.hero-content{text-align:center;padding:44px var(--side) 8px;max-width:820px;margin:0 auto;}
.hero-eyebrow{color:var(--gold-on-light);font-size:.68rem;letter-spacing:.4em;text-transform:uppercase;margin-bottom:18px;animation:fadeUp .8s .15s var(--ease-out) both;}
.hero-content h1{color:var(--brown-deep);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:500;line-height:1.08;letter-spacing:-.01em;animation:fadeUp .8s .25s var(--ease-out) both;}
.hero-content h1 em{font-style:italic;color:var(--green);}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px;animation:fadeUp .8s .4s var(--ease-out) both;}

/* ===== BANDE CATEGORIES ===== */
.cat-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));background:var(--cream);border-top:1px solid rgba(36,22,9,.12);border-bottom:1px solid rgba(36,22,9,.12);position:relative;z-index:1;}
.cat-bar a{padding:30px 36px;border-right:1px solid rgba(36,22,9,.12);display:flex;flex-direction:column;gap:6px;transition:background .3s ease;}
.cat-bar a:last-child{border-right:none;}
.cat-bar a:hover{background:var(--paper);}
.cat-bar .n{font-size:.62rem;color:var(--brown);letter-spacing:.16em;text-transform:uppercase;}
.cat-bar .t{font-family:'EB Garamond',Georgia,serif;font-size:1.32rem;color:var(--ink);}

.strip-section{padding:80px 0 60px;background:var(--cream);position:relative;z-index:1;}
.strip-label{display:flex;justify-content:space-between;align-items:baseline;padding:0 var(--side) 28px;max-width:1400px;margin:0 auto;}
.strip-label h2{font-size:1.6rem;color:var(--ink);letter-spacing:.01em;}
.strip-label a{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);border-bottom:1px solid var(--gold);padding-bottom:3px;}
.marquee-wrap{overflow:hidden;width:100%;position:relative;}
.marquee-wrap::before,.marquee-wrap::after{content:"";position:absolute;top:0;bottom:0;width:90px;z-index:2;pointer-events:none;}
.marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--cream),transparent);}
.marquee-wrap::after{right:0;background:linear-gradient(270deg,var(--cream),transparent);}
.marquee-track{display:flex;width:max-content;cursor:grab;will-change:transform;}
.marquee-track.dragging{cursor:grabbing;}
.obj-card{position:relative;width:270px;height:330px;margin:0 1px;flex-shrink:0;overflow:hidden;cursor:pointer;border:1px solid rgba(36,22,9,.12);background:var(--paper);}
.obj-card .blur-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(18px) saturate(.7);transform:scale(1.15);opacity:.55;}
.obj-card picture{display:block;position:relative;z-index:1;width:100%;height:100%;}
.obj-card img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block;transition:transform .4s ease;user-select:none;-webkit-user-drag:none;}
.obj-card:hover img{transform:scale(1.03);}
.obj-card .card-label{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:22px 14px 12px;background:linear-gradient(0deg,rgba(20,12,5,.92) 30%,rgba(20,12,5,.5) 70%,transparent);color:var(--cream);font-family:'EB Garamond',Georgia,serif;font-size:.95rem;pointer-events:none;}
.obj-card.placeholder{background:var(--paper-dark);}

/* ===== PRESENTATION ===== */
.presentation{background:var(--paper);padding:var(--section-v) var(--side);border-top:1px solid rgba(36,22,9,.11);border-bottom:1px solid rgba(36,22,9,.11);}
.presentation-inner{max-width:820px;margin:0 auto;text-align:center;position:relative;}
.presentation .eyebrow{color:var(--green);font-size:.66rem;letter-spacing:.38em;text-transform:uppercase;margin-bottom:24px;display:block;}
.presentation h2{font-size:clamp(2rem,4vw,3rem);line-height:1.28;color:var(--brown-deep);margin-bottom:28px;}
.presentation h2 em{color:var(--green);font-style:italic;}
.presentation p{font-size:1rem;line-height:1.88;color:#4a3a26;max-width:620px;margin:0 auto;opacity:.85;}

/* ===== PAGE HEADER ===== */
.page-header{padding:130px var(--side) 60px;background:var(--brown-dark);border-bottom:1px solid rgba(169,135,63,.2);}
.page-header .eyebrow{font-size:.64rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold-on-dark);display:block;margin-bottom:16px;}
.page-header h1{font-size:clamp(2.4rem,5.4vw,3.9rem);color:var(--cream);line-height:1.1;}
.page-header p{margin-top:18px;font-size:1rem;color:var(--paper-dark);max-width:520px;line-height:1.7;opacity:.85;}

/* ===== CATALOGUE ===== */
.catalogue-layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 200px);}
.mobile-cat-toggle{display:none;}
.sidebar{background:var(--paper);border-right:1px solid rgba(36,22,9,.12);padding:40px 0;position:sticky;top:80px;align-self:start;max-height:calc(100vh - 80px);overflow-y:auto;}
.sidebar-section{margin-bottom:8px;}
.sidebar-cat{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;font-family:'EB Garamond',Georgia,serif;font-size:1.05rem;color:var(--ink);cursor:pointer;border-bottom:1px solid rgba(36,22,9,.07);transition:background .2s ease;user-select:none;}
.sidebar-cat:hover{background:var(--paper-dark);}
.sidebar-cat.open{color:var(--brown);}
.sidebar-cat .arrow{font-size:.65rem;transition:transform .3s ease;color:var(--brown);opacity:.6;}
.sidebar-cat.open .arrow{transform:rotate(90deg);}
.sidebar-sub{display:none;flex-direction:column;background:var(--cream);border-bottom:1px solid rgba(36,22,9,.07);}
.sidebar-sub.open{display:flex;}
.sidebar-sub a{padding:10px 28px 10px 40px;font-size:.9rem;color:#4a3a26;border-bottom:1px solid rgba(36,22,9,.05);transition:color .2s ease,background .2s ease;cursor:pointer;}
.sidebar-sub a:hover,.sidebar-sub a.active{color:var(--brown);background:var(--paper);}
.sidebar-sub a.active{font-weight:500;}
.sidebar-empty{padding:20px 28px;font-size:.85rem;color:#4a3a26;opacity:.7;}

.objets-main{padding:40px var(--side);}
.objets-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid rgba(36,22,9,.1);gap:14px;flex-wrap:wrap;}
.objets-toolbar .breadcrumb{font-size:.8rem;color:var(--brown);opacity:.8;}
.objets-toolbar .count{font-size:.78rem;color:var(--ink);opacity:.5;letter-spacing:.05em;}
.objets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px;}
.obj-tile{background:var(--paper);border:1px solid rgba(36,22,9,.1);cursor:pointer;overflow:hidden;position:relative;}
/* Vignette : la photo est affichée ENTIÈRE (jamais coupée).
   Un fond flou reprend la photo pour combler les bords des formats différents. */
.obj-tile-img{aspect-ratio:3/4;overflow:hidden;background:var(--paper-dark);position:relative;}
.obj-tile-img .blur-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(18px) saturate(.7);transform:scale(1.15);opacity:.55;}
.obj-tile-img picture{display:block;position:relative;width:100%;height:100%;z-index:1;}
.obj-tile-img img{position:relative;width:100%;height:100%;object-fit:contain;transition:transform .5s ease;display:block;z-index:1;}
.obj-tile:hover .obj-tile-img img{transform:scale(1.03);}
.badge-vendu{position:absolute;top:10px;left:10px;background:var(--brown-deep);color:var(--cream);font-size:.58rem;letter-spacing:.15em;text-transform:uppercase;padding:5px 10px;z-index:2;}
.obj-tile-info{padding:16px 18px;border-top:1px solid rgba(36,22,9,.08);}
.obj-tile-info .sous-cat{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brown);display:block;margin-bottom:5px;}
.obj-tile-info h3{font-family:'EB Garamond',Georgia,serif;font-size:1.1rem;color:var(--ink);line-height:1.3;}
.grid-empty{grid-column:1/-1;padding:80px 20px;text-align:center;color:#4a3a26;opacity:.75;}
.grid-empty .ico{font-size:2rem;opacity:.5;display:block;margin-bottom:12px;}

/* ===== MODAL ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(20,12,5,.7);z-index:400;opacity:0;pointer-events:none;transition:opacity .35s ease;display:flex;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{opacity:1;pointer-events:auto;}
.modal{background:var(--cream);width:min(900px,100%);max-height:90vh;overflow-y:auto;display:grid;grid-template-columns:1fr 1fr;position:relative;}
.modal-close{position:absolute;top:14px;right:14px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(20,12,5,.55);border:1px solid rgba(242,232,213,.35);border-radius:50%;font-size:1.5rem;line-height:1;cursor:pointer;color:#fff;z-index:20;transition:background .2s ease,transform .2s ease;}
.modal-close:hover{background:var(--brown-deep);transform:scale(1.06);}
.modal-gallery{background:var(--brown-deep);display:flex;flex-direction:column;}
.modal-main-img{overflow:hidden;background:var(--brown-deep);display:flex;align-items:center;justify-content:center;min-height:320px;max-height:72vh;}
.modal-main-img img{max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain;display:block;}
.modal-main-img video{max-width:100%;max-height:72vh;width:auto;height:auto;display:block;background:#000;}
.modal-thumbs{display:flex;gap:2px;padding:2px;background:var(--paper-dark);flex-wrap:wrap;}
.modal-thumb{width:60px;height:60px;overflow:hidden;cursor:pointer;opacity:.6;transition:opacity .2s ease;flex-shrink:0;}
.modal-thumb.active,.modal-thumb:hover{opacity:1;}
.modal-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.modal-info{padding:40px 36px;display:flex;flex-direction:column;}
.modal-info .eyebrow{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--brown);margin-bottom:12px;display:block;}
.modal-info h2{font-size:1.75rem;line-height:1.2;color:var(--ink);margin-bottom:20px;}
.modal-info .description{font-size:.95rem;line-height:1.8;color:#4a3a26;opacity:.9;flex:1;margin-bottom:28px;white-space:pre-line;}
.modal-price{font-family:'EB Garamond',Georgia,serif;font-size:1.8rem;color:var(--brown);margin-bottom:28px;}
.modal-price.vendu{color:#8a6a3a;font-size:1.2rem;}
.btn-contact{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--brown-deep);color:var(--cream);padding:16px 28px;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;width:100%;transition:background .3s ease;}
.btn-contact:hover{background:var(--green);}

/* ===== ETAPES (rachat) ===== */
.etapes{background:var(--paper);padding:80px var(--side);border-bottom:1px solid rgba(36,22,9,.1);}
.etapes-inner{max-width:900px;margin:0 auto;}
.etapes h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:50px;color:var(--ink);}
.etapes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(36,22,9,.1);}
.etape{background:var(--paper);padding:36px 30px;}
.etape .num{font-family:'EB Garamond',Georgia,serif;font-style:italic;font-size:2rem;color:var(--gold-on-light);display:block;margin-bottom:14px;}
.etape h3{font-size:1rem;color:var(--ink);margin-bottom:10px;}
.etape p{font-size:.88rem;line-height:1.7;color:#4a3a26;opacity:.85;}

/* ===== FORMULAIRES ===== */
.form-section{padding:80px var(--side);}
.form-inner{max-width:700px;margin:0 auto;}
.form-inner .eyebrow,.contact-form .eyebrow{font-size:.64rem;letter-spacing:.35em;text-transform:uppercase;color:var(--green);display:block;margin-bottom:16px;}
.form-inner h2{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--ink);margin-bottom:40px;line-height:1.2;}
.form-group{margin-bottom:26px;}
.form-group label{display:block;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);margin-bottom:8px;}
.form-group .opt{color:var(--brown);opacity:.5;}
.form-group input,.form-group textarea,.form-group select{width:100%;background:var(--paper);border:1px solid rgba(36,22,9,.2);padding:14px 16px;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.95rem;color:var(--ink);outline:none;transition:border-color .25s ease;appearance:none;}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--brown);}
.form-group textarea{resize:vertical;min-height:120px;}
.form-group .hint{font-size:.75rem;color:var(--brown);opacity:.7;margin-top:6px;}
.form-group.error input,.form-group.error textarea,.form-group.error select{border-color:#a23b2a;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.upload-zone{border:1px dashed rgba(36,22,9,.3);padding:36px 24px;text-align:center;background:var(--paper);cursor:pointer;transition:border-color .25s ease,background .25s ease;}
.upload-zone:hover{border-color:var(--brown);background:var(--paper-dark);}
.upload-zone p{font-size:.88rem;color:var(--brown);opacity:.8;margin-top:10px;}
.upload-zone .ico{font-size:1.8rem;opacity:.5;}
.upload-zone input{display:none;}
.upload-previews{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.upload-preview{width:72px;height:72px;object-fit:cover;border:1px solid rgba(36,22,9,.15);display:block;}
.up-item{position:relative;width:72px;}
.up-item .up-del{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;background:var(--brown-deep);color:#fff;border:1px solid var(--cream);cursor:pointer;font-size:.95rem;line-height:1;display:flex;align-items:center;justify-content:center;padding:0;transition:background .2s ease,transform .15s ease;}
.up-item .up-del:hover{background:#8a2c1e;transform:scale(1.1);}
.up-item .up-tag{position:absolute;left:0;bottom:0;right:0;background:rgba(20,12,5,.72);color:var(--cream);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:2px;}
.up-item .up-bar{position:absolute;left:0;top:0;height:3px;background:var(--gold);z-index:2;transition:width .2s ease;}
.up-item.uploading{opacity:.9;}
.up-item.error{outline:2px solid #a23b2a;outline-offset:1px;}
.up-item.error .up-tag{background:#a23b2a;}
.btn-submit{width:100%;padding:18px;background:var(--brown-deep);color:var(--cream);border:none;cursor:pointer;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;transition:background .3s ease;margin-top:10px;}
.btn-submit:hover{background:var(--green);}
.form-notice{font-size:.78rem;color:var(--brown);opacity:.7;text-align:center;margin-top:16px;line-height:1.6;}
.alert{padding:14px 18px;margin-bottom:24px;font-size:.9rem;border:1px solid;}
.alert.ok{background:rgba(63,92,43,.12);border-color:var(--green-light);color:var(--green);}
.alert.err{background:rgba(162,59,42,.1);border-color:#a23b2a;color:#8a2c1e;}

/* ===== CONTACT ===== */
.contact-layout{display:grid;grid-template-columns:1fr 1.6fr;min-height:60vh;}
.contact-infos{background:var(--paper);padding:60px var(--side) 60px 60px;border-right:1px solid rgba(36,22,9,.12);display:flex;flex-direction:column;gap:48px;}
.contact-infos .bloc h3{font-size:1rem;color:var(--ink);margin-bottom:12px;}
.contact-infos .bloc p,.contact-infos .bloc a{font-size:.92rem;color:#4a3a26;line-height:1.75;opacity:.9;display:block;}
.contact-infos .bloc a:hover{color:var(--brown);}
.contact-infos .label{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold-on-light);display:block;margin-bottom:20px;}
.contact-form{padding:60px var(--side) 60px 60px;}
.contact-form h2{font-size:clamp(1.5rem,2.5vw,2rem);color:var(--ink);margin-bottom:36px;line-height:1.2;}
.success-msg{text-align:center;padding:40px 24px;}
.success-msg .ico{font-size:2.4rem;margin-bottom:16px;color:var(--green);}
.success-msg h3{font-size:1.4rem;color:var(--ink);margin-bottom:10px;}
.success-msg p{font-size:.9rem;color:#4a3a26;opacity:.85;}

/* ===== FOOTER ===== */
footer{background:var(--brown-deep);padding:70px var(--side) 30px;color:var(--paper-dark);position:relative;z-index:1;}
.footer-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(242,232,213,.1);}
.footer-brand picture{display:block;}
.footer-brand .logo-mark{font-size:1.4rem;margin-bottom:14px;display:block;}
.footer-brand .logo-mark em{font-style:italic;color:var(--gold-on-dark);}
.footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;opacity:.8;}
.footer-col h2{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-on-dark);margin-bottom:20px;}
.footer-col a{display:block;font-size:.85rem;padding:6px 0;color:var(--paper-dark);transition:color .25s ease;}
.footer-col a:hover{color:var(--cream);}
.footer-bottom{max-width:1300px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding-top:26px;font-size:.72rem;color:rgba(242,232,213,.55);flex-wrap:wrap;gap:14px;}
.footer-bottom .legal-links{display:flex;gap:22px;flex-wrap:wrap;}
.footer-bottom .legal-links a{color:rgba(242,232,213,.55);}
.footer-bottom .legal-links a:hover{color:var(--gold-on-dark);}

/* ===== COOKIES ===== */
.cookies{position:fixed;left:24px;bottom:24px;width:360px;max-width:calc(100vw - 48px);background:var(--brown-deep);border:1px solid rgba(169,135,63,.3);padding:26px 26px 22px;z-index:300;box-shadow:0 12px 40px rgba(0,0,0,.35);transform:translateY(140%);transition:transform .6s cubic-bezier(.25,.8,.25,1);}
.cookies.show{transform:translateY(0);}
.cookies h2{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-on-dark);margin-bottom:12px;}
.cookies p{font-size:.82rem;line-height:1.65;color:var(--paper-dark);margin-bottom:20px;}
.cookies-actions{display:flex;gap:10px;}
.cookies-actions button{flex:1;padding:11px 0;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(242,232,213,.25);background:none;color:var(--cream);cursor:pointer;transition:all .25s ease;}
.cookies-actions button.accept{background:var(--gold);border-color:var(--gold);color:var(--brown-deep);}
.cookies-actions button:hover{opacity:.85;}

/* ===== PAGES LEGALES ===== */
.page-header-inner{max-width:1120px;margin:0 auto;}
.legal-page{max-width:1120px;margin:0 auto;padding:72px var(--side) 110px;}
.legal-intro{max-width:700px;padding-bottom:48px;border-bottom:1px solid rgba(36,22,9,.13);}
.legal-kicker{display:block;color:var(--green);font-size:.64rem;letter-spacing:.3em;text-transform:uppercase;margin-bottom:18px;}
.legal-intro p{font-family:'EB Garamond',Georgia,serif;font-size:clamp(1.35rem,2.5vw,1.8rem);line-height:1.45;color:var(--brown-deep);}
.legal-layout{display:grid;grid-template-columns:210px minmax(0,760px);gap:62px;align-items:start;margin-top:54px;}
.legal-aside{position:sticky;top:112px;}
.legal-aside-label{display:block;color:var(--gold-on-light);font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;margin-bottom:16px;}
.legal-nav{border-top:1px solid rgba(36,22,9,.15);}
.legal-nav a{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid rgba(36,22,9,.1);color:#4a3a26;font-size:.78rem;transition:color .2s ease,padding-left .2s ease;}
.legal-nav a span:first-child{font-family:'EB Garamond',Georgia,serif;color:var(--gold-on-light);font-size:1rem;min-width:22px;}
.legal-nav a:hover{color:var(--brown);padding-left:5px;}
.legal-content{min-width:0;}
.legal-section{padding:0 0 52px;margin-bottom:52px;border-bottom:1px solid rgba(36,22,9,.13);scroll-margin-top:110px;}
.legal-section:last-child{margin-bottom:0;}
.legal-section-heading{display:flex;align-items:flex-start;gap:18px;margin-bottom:24px;}
.legal-index{font-family:'EB Garamond',Georgia,serif;font-style:italic;font-size:1.65rem;line-height:1;color:var(--gold-on-light);padding-top:2px;}
.legal-label{display:block;color:var(--green);font-size:.61rem;letter-spacing:.22em;text-transform:uppercase;margin-bottom:6px;}
.legal-section h2{font-size:clamp(1.55rem,2.6vw,2rem);line-height:1.15;color:var(--brown-deep);}
.legal-section p{font-size:.95rem;line-height:1.85;color:#4a3a26;margin-bottom:14px;}
.legal-section p:last-child{margin-bottom:0;}
.legal-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(36,22,9,.13);border:1px solid rgba(36,22,9,.13);}
.legal-details div{background:var(--paper);padding:20px 18px;min-width:0;}
.legal-details dt{color:var(--brown);font-size:.61rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;}
.legal-details dd{color:var(--ink);font-size:.9rem;line-height:1.55;overflow-wrap:anywhere;}
.legal-card{background:var(--paper);border:1px solid rgba(36,22,9,.13);padding:26px 28px;}
.legal-contact-card{border-left:3px solid var(--gold);}
.legal-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:24px 0 18px;}
.legal-action{display:flex;flex-direction:column;gap:4px;padding:15px 16px;border:1px solid rgba(36,22,9,.15);background:rgba(242,232,213,.42);transition:background .2s ease,border-color .2s ease,transform .2s ease;}
.legal-action:hover{background:var(--cream);border-color:rgba(169,135,63,.65);transform:translateY(-2px);}
.legal-action-label{font-size:.61rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brown);}
.legal-action>span:last-child{font-size:.85rem;color:var(--ink);overflow-wrap:anywhere;}
.legal-note{font-size:.78rem !important;color:#6a5740 !important;margin:0 !important;}
.legal-inline-link{color:var(--brown);font-size:.84rem;text-decoration:underline;text-decoration-color:rgba(169,135,63,.7);text-underline-offset:4px;}
.legal-inline-link:hover{color:var(--green);}
.legal-credit{padding-top:22px;margin-top:22px;border-top:1px solid rgba(36,22,9,.1);font-size:.84rem !important;color:#6a5740 !important;}

@media(max-width:780px){
  .legal-page{padding:52px 20px 76px;}
  .legal-layout{display:block;margin-top:38px;}
  .legal-aside{position:static;margin-bottom:48px;}
  .legal-nav{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;}
  .legal-section{padding-bottom:38px;margin-bottom:38px;}
  .legal-details{grid-template-columns:1fr;}
  .legal-details div{padding:16px 18px;}
  .legal-actions{grid-template-columns:1fr;}
  .legal-card{padding:22px 20px;}
}

/* ===== ADMIN ===== */
.admin-body{background:var(--brown-deep);min-height:100vh;color:var(--cream);}
.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.admin-card{background:var(--brown-dark);border:1px solid rgba(169,135,63,.25);padding:44px 40px;width:min(420px,100%);}
.admin-card .logo-mark{display:block;text-align:center;margin-bottom:6px;}
.admin-card .sub{text-align:center;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--paper-dark);margin-bottom:32px;}
.admin-card label{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-on-dark);margin-bottom:8px;}
.admin-card input{width:100%;background:var(--brown-deep);border:1px solid rgba(242,232,213,.2);padding:13px 15px;color:var(--cream);font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.95rem;outline:none;}
.admin-card input:focus{border-color:var(--gold);}
.admin-topbar{display:flex;align-items:center;justify-content:space-between;padding:18px var(--side);background:var(--brown-dark);border-bottom:1px solid rgba(169,135,63,.2);position:sticky;top:0;z-index:10;flex-wrap:wrap;gap:12px;}
.admin-topbar nav{display:flex;gap:8px;flex-wrap:wrap;}
.admin-topbar nav a{font-size:.78rem;letter-spacing:.05em;color:var(--paper-dark);padding:8px 14px;border:1px solid transparent;transition:all .2s ease;}
.admin-topbar nav a:hover,.admin-topbar nav a.active{color:var(--cream);border-color:rgba(169,135,63,.4);}
.admin-wrap{max-width:1100px;margin:0 auto;padding:40px var(--side) 80px;}
.admin-wrap h1{font-size:1.8rem;margin-bottom:8px;color:var(--cream);}
.admin-wrap .lead{color:var(--paper-dark);opacity:.8;margin-bottom:32px;font-size:.92rem;}
.admin-btn{display:inline-block;background:var(--gold);color:var(--brown-deep);border:none;cursor:pointer;padding:14px 24px;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;transition:opacity .2s ease;}
.admin-btn:hover{opacity:.88;}
.admin-btn.ghost{background:none;color:var(--paper-dark);border:1px solid rgba(242,232,213,.25);}
.admin-btn.danger{background:none;color:#e8a598;border:1px solid rgba(200,90,70,.5);}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2px;margin-bottom:40px;background:rgba(169,135,63,.2);}
.stat{background:var(--brown-dark);padding:26px 24px;}
.stat .n{font-family:'EB Garamond',Georgia,serif;font-size:2.2rem;color:var(--gold-on-dark);}
.stat .l{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-dark);margin-top:4px;}
.admin-form{background:var(--brown-dark);border:1px solid rgba(169,135,63,.2);padding:36px 34px;}
.admin-form .form-group label{color:var(--gold-on-dark);}
.admin-form .form-group input,.admin-form .form-group textarea,.admin-form .form-group select{background:var(--brown-deep);border-color:rgba(242,232,213,.2);color:var(--cream);}
.admin-form .form-group input:focus,.admin-form .form-group textarea:focus,.admin-form .form-group select:focus{border-color:var(--gold);}
.admin-form .upload-zone{background:var(--brown-deep);border-color:rgba(242,232,213,.25);}
.admin-form .upload-zone p{color:var(--paper-dark);}
.check-row{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:26px;}
.check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:var(--paper-dark);}
.check input{width:18px;height:18px;accent-color:var(--gold);}
.admin-table{width:100%;border-collapse:collapse;background:var(--brown-dark);border:1px solid rgba(169,135,63,.2);}
.admin-table th,.admin-table td{text-align:left;padding:14px 16px;border-bottom:1px solid rgba(242,232,213,.08);font-size:.85rem;vertical-align:middle;}
.admin-table th{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-on-dark);}
.admin-table td.thumb{width:64px;}
.admin-table td.thumb img{width:48px;height:60px;object-fit:cover;display:block;}
.admin-table .pill{display:inline-block;padding:3px 10px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid;}
.pill.on{color:#a9d18a;border-color:rgba(120,180,90,.5);}
.pill.off{color:#e8a598;border-color:rgba(200,90,70,.5);}
.pill.star{color:var(--gold);border-color:rgba(169,135,63,.5);}
.row-actions{display:flex;gap:8px;flex-wrap:wrap;}
.row-actions a,.row-actions button{font-size:.72rem;color:var(--paper-dark);background:none;border:1px solid rgba(242,232,213,.2);padding:6px 10px;cursor:pointer;transition:all .2s ease;}
.row-actions a:hover{color:var(--cream);border-color:var(--gold);}
.row-actions button.del:hover{color:#e8a598;border-color:rgba(200,90,70,.5);}
.demande-card{background:var(--brown-dark);border:1px solid rgba(169,135,63,.2);padding:22px 24px;margin-bottom:14px;}
.demande-card .meta{font-size:.72rem;color:var(--paper-dark);opacity:.7;margin-bottom:10px;}
.demande-card .who{color:var(--gold-on-dark);font-family:'EB Garamond',Georgia,serif;font-size:1.05rem;margin-bottom:8px;}
.demande-card p{font-size:.9rem;color:var(--paper-dark);line-height:1.7;white-space:pre-line;}
.demande-card .imgs{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px;}
.demande-card .imgs img{width:70px;height:70px;object-fit:cover;border:1px solid rgba(242,232,213,.15);}

/* ===== BOUTONS ===== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 30px;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:1px solid transparent;transition:transform .25s var(--ease-out),background .3s ease,color .3s ease,box-shadow .3s ease;position:relative;overflow:hidden;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn-primary{background:var(--brown-deep);color:var(--cream);box-shadow:0 6px 18px rgba(42,26,15,.18);}
.btn-primary:hover{background:var(--green);box-shadow:0 10px 26px rgba(42,66,27,.28);}
.btn-ghost{background:none;color:var(--brown-deep);border-color:rgba(36,22,9,.28);}
.btn-ghost:hover{border-color:var(--brown);background:var(--paper);}
.btn-submit,.btn-contact,.admin-btn{transition:transform .25s var(--ease-out),background .3s ease,box-shadow .3s ease,opacity .2s ease;}
.btn-submit:hover,.btn-contact:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(42,66,27,.25);}
.admin-btn:hover{transform:translateY(-1px);}

/* ===== ANIMATIONS ===== */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
@keyframes heroIn{from{opacity:0;transform:scale(1.03);}to{opacity:1;transform:scale(1);}}
@keyframes floatIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;}
.reveal.in{animation:floatIn .7s var(--ease-out) both;}
@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important;}.reveal{opacity:1;}}

/* Cartes objets : entrée + hover soigné */
.obj-tile{transition:transform .35s var(--ease-out),box-shadow .35s ease,border-color .3s ease;}
.obj-tile:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(36,22,9,.14);border-color:rgba(169,135,63,.5);z-index:2;}

/* ===== ARRIVAGE (galerie) ===== */
.arrivage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;padding:60px var(--side) 90px;max-width:1400px;margin:0 auto;}
.arrivage-card{position:relative;background:var(--paper);border:1px solid rgba(36,22,9,.1);overflow:hidden;}
.arrivage-media{aspect-ratio:3/4;overflow:hidden;background:var(--paper-dark);position:relative;}
.arrivage-media .blur-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(18px) saturate(.7);transform:scale(1.15);opacity:.55;}
.arrivage-media picture{display:block;position:relative;z-index:1;width:100%;height:100%;}
.arrivage-media img,.arrivage-media video{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s ease;}
.arrivage-card:hover .arrivage-media img{transform:scale(1.04);}
.arrivage-legende{padding:14px 16px;font-size:.9rem;color:#4a3a26;}
.arrivage-badge{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--brown-deep);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;z-index:2;}
.arrivage-empty{padding:90px 20px;text-align:center;color:#4a3a26;opacity:.75;}
.arrivage-count{display:flex;align-items:center;gap:8px;position:absolute;bottom:12px;right:12px;background:rgba(20,12,5,.7);color:var(--cream);font-size:.68rem;padding:4px 9px;z-index:2;}

/* ===== A PROPOS ===== */
.about{max-width:900px;margin:0 auto;padding:70px var(--side) 90px;}
.about .lead-txt{font-family:'EB Garamond',Georgia,serif;font-size:clamp(1.45rem,2.9vw,2.1rem);line-height:1.5;color:var(--brown-deep);margin-bottom:30px;}
.about p{font-size:1rem;line-height:1.9;color:#4a3a26;margin-bottom:16px;opacity:.9;}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(36,22,9,.1);margin:40px 0;}
.about-values .v{background:var(--paper);padding:30px 26px;}
.about-values .v h2{font-size:1rem;color:var(--ink);margin-bottom:8px;}
.about-values .v p{font-size:.86rem;margin:0;}

/* ===== CROPPER (recadrage) ===== */
.crop-overlay{position:fixed;inset:0;background:rgba(20,12,5,.85);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease;overflow-y:auto;-webkit-overflow-scrolling:touch;}
@media(max-height:680px){.crop-overlay{align-items:flex-start;}}
.crop-overlay.open{opacity:1;pointer-events:auto;}
.crop-modal{background:var(--brown-deep);border:1px solid rgba(169,135,63,.25);padding:26px 24px 22px;width:min(440px,100%);text-align:center;}
.crop-title{font-family:'EB Garamond',Georgia,serif;font-size:1.1rem;color:var(--cream);margin-bottom:18px;}
.crop-stage{display:flex;justify-content:center;margin-bottom:18px;}
.crop-frame{position:relative;overflow:hidden;background:#000;border:1px solid rgba(169,135,63,.4);touch-action:none;cursor:grab;}
.crop-frame:active{cursor:grabbing;}
.crop-frame img{position:absolute;top:0;left:0;max-width:none;user-select:none;-webkit-user-drag:none;will-change:transform;}
.crop-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(242,232,213,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(242,232,213,.18) 1px,transparent 1px);background-size:33.33% 33.33%;}
.crop-controls{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:0 6px;}
.crop-ico{color:var(--gold-on-dark);font-size:1.2rem;width:16px;}
.crop-controls input[type=range]{flex:1;accent-color:var(--gold);cursor:pointer;}
.crop-actions{display:flex;gap:10px;margin-bottom:14px;}
.btn-crop{flex:1;padding:13px 10px;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid rgba(242,232,213,.25);background:none;color:var(--cream);transition:all .2s ease;}
.btn-crop.ok{background:var(--gold);border-color:var(--gold);color:var(--brown-deep);}
.btn-crop:hover{opacity:.88;transform:translateY(-1px);}
.crop-cancel{background:none;border:none;color:rgba(242,232,213,.55);font-size:.78rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.crop-cancel:hover{color:var(--cream);}

/* ===== RESPONSIVE NAVBAR ===== */
@media(max-width:1080px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .logo-link{margin-right:auto;}
}

/* ===== RESPONSIVE ===== */
@media(max-width:780px){
  header{gap:14px;}
  .logo-img{height:38px;} header.scrolled .logo-img{height:32px;}
  .hero{padding:78px 0 0;}
  .hero-content{padding:32px 20px 4px;}
  .hero-eyebrow{font-size:.6rem;letter-spacing:.28em;margin-bottom:14px;}
  .about-values{grid-template-columns:1fr;}
  .arrivage-grid{grid-template-columns:1fr 1fr;gap:8px;padding:40px 18px 70px;}
  .cat-bar{grid-template-columns:1fr;}
  .cat-bar a{border-right:none;border-bottom:1px solid rgba(36,22,9,.12);}
  .strip-label{padding:0 20px 20px;}
  .strip-label h2{font-size:1.25rem;}
  .presentation{padding:70px 20px;}
  .presentation h2{font-size:1.5rem;margin-bottom:22px;}
  .presentation p{font-size:.95rem;line-height:1.75;}
  .obj-card{width:180px;height:230px;}
  .catalogue-layout{grid-template-columns:1fr;}
  .mobile-cat-toggle{display:block;width:100%;text-align:left;background:var(--paper);border:none;border-bottom:1px solid rgba(36,22,9,.12);padding:16px 20px;font-family:'EB Garamond',Georgia,serif;font-size:1rem;color:var(--ink);cursor:pointer;}
  .sidebar{position:static;max-height:none;border-right:none;border-bottom:1px solid rgba(36,22,9,.12);padding:0;display:none;}
  .sidebar.open{display:block;padding:12px 0;}
  .objets-main{padding:28px 18px;}
  .objets-grid{grid-template-columns:repeat(2,1fr);}
  .modal{grid-template-columns:1fr;}
  .modal-gallery{order:1;}
  .modal-main-img{min-height:240px;max-height:56vh;}
  .modal-main-img img,.modal-main-img video{max-height:56vh;}
  .modal-info{order:2;padding:24px 20px;}
  .etapes{padding:60px 20px;}
  .etapes-grid{grid-template-columns:1fr;}
  .form-section{padding:60px 20px;}
  .form-row{grid-template-columns:1fr;}
  .contact-layout{grid-template-columns:1fr;}
  .contact-infos{padding:40px 20px;border-right:none;border-bottom:1px solid rgba(36,22,9,.12);gap:32px;}
  .contact-form{padding:40px 20px;}
  .footer-grid{grid-template-columns:1fr;gap:32px;padding-bottom:32px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:16px;}
  .cookies{left:14px;right:14px;bottom:14px;width:auto;padding:22px 20px 18px;}
}
@media(max-width:420px){
  .hero h1{font-size:clamp(2rem,12vw,2.6rem);}
  .objets-grid{grid-template-columns:1fr 1fr;}
}

/* ===== VISIONNEUSE PHOTO (zoom plein écran) ===== */
.lb{position:fixed;inset:0;z-index:600;background:rgba(14,8,3,.94);display:none;opacity:0;transition:opacity .25s ease;}
.lb.open{display:block;opacity:1;}
.lb-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;padding:56px 14px 64px;}
.lb-media{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;cursor:zoom-in;
  transform-origin:center center;transition:transform .18s var(--ease-out);user-select:none;-webkit-user-drag:none;background:#000;}
.lb.zoomed .lb-media{transition:none;cursor:grab;}
.lb-btn{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;background:rgba(20,12,5,.62);
  border:1px solid rgba(242,232,213,.32);color:var(--cream);cursor:pointer;line-height:1;
  transition:background .2s ease,transform .2s ease;-webkit-tap-highlight-color:transparent;}
.lb-btn:hover{background:var(--brown-deep);}
.lb-close{top:16px;right:16px;width:46px;height:46px;border-radius:50%;font-size:1.7rem;}
.lb-close:hover{transform:scale(1.06);}
.lb-nav{top:50%;transform:translateY(-50%);width:48px;height:64px;font-size:2rem;font-family:'EB Garamond',Georgia,serif;}
.lb-nav:hover{transform:translateY(-50%) scale(1.04);}
.lb-prev{left:14px;} .lb-next{right:14px;}
.lb-bar{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:16px;
  padding:16px;color:var(--cream);font-size:.72rem;letter-spacing:.06em;pointer-events:none;
  background:linear-gradient(to top,rgba(14,8,3,.75),transparent);}
.lb-count{font-family:'EB Garamond',Georgia,serif;font-size:.9rem;letter-spacing:.12em;}
.lb-hint{opacity:.6;}
body.lb-open{overflow:hidden;}
.modal-main-img img{cursor:zoom-in;}
.arrivage-media.zoomable{cursor:zoom-in;}
@media(max-width:780px){
  .lb-stage{padding:52px 0 56px;}
  .lb-nav{width:40px;height:56px;font-size:1.7rem;background:rgba(20,12,5,.45);}
  .lb-prev{left:4px;} .lb-next{right:4px;}
  .lb-close{top:10px;right:10px;width:42px;height:42px;}
  .lb-hint{display:none;}
}

/* ===== AVIS CLIENTS ===== */
.avis-layout{display:grid;grid-template-columns:1.35fr 1fr;align-items:start;max-width:1400px;margin:0 auto;}
.avis-liste{padding:56px var(--side) 90px;}
.avis-form{padding:56px var(--side) 90px;border-left:1px solid rgba(36,22,9,.12);position:sticky;top:84px;}
.avis-resume{display:flex;flex-wrap:wrap;gap:36px;align-items:center;background:var(--paper);border:1px solid rgba(36,22,9,.1);padding:26px 28px;margin-bottom:34px;}
.note-globale{display:flex;flex-direction:column;gap:6px;}
.note-globale .chiffre{font-family:'EB Garamond',Georgia,serif;font-size:3.2rem;line-height:1;color:var(--brown);}
.note-globale .sur{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#6b573c;margin-top:-4px;}
.note-globale .total{font-size:.78rem;color:#6b573c;}
.repartition{flex:1;min-width:220px;display:flex;flex-direction:column;gap:6px;}
.repartition .ligne{display:flex;align-items:center;gap:10px;font-size:.75rem;color:#6b573c;}
.repartition .n{width:34px;}
.repartition .barre{flex:1;height:6px;background:rgba(36,22,9,.1);overflow:hidden;}
.repartition .barre span{display:block;height:100%;background:var(--gold);}
.repartition .c{width:18px;text-align:right;}
.stars{display:inline-flex;gap:3px;}
.stars svg{width:17px;height:17px;}
.stars svg.on{fill:var(--gold);}
.stars svg.off{fill:rgba(36,22,9,.16);}
.avis-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.avis-card{background:var(--paper);border:1px solid rgba(36,22,9,.1);padding:24px 24px 20px;display:flex;flex-direction:column;gap:14px;}
.avis-card .texte{font-size:.93rem;line-height:1.75;color:#4a3a26;white-space:pre-line;flex:1;}
.avis-card .auteur{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;padding-top:12px;border-top:1px solid rgba(36,22,9,.1);font-size:.76rem;color:#6b573c;}
.avis-card .auteur .nom{font-family:'EB Garamond',Georgia,serif;font-size:1.05rem;color:var(--ink);}
.avis-card .auteur .ville:before{content:"· ";}
.avis-card .auteur time{margin-left:auto;opacity:.7;}
.avis-vide{background:var(--paper);border:1px solid rgba(36,22,9,.1);padding:60px 24px;text-align:center;color:#6b573c;}
.avis-vide .ico{display:block;font-size:1.6rem;color:var(--gold-on-light);margin-bottom:12px;}
.note-choix{display:flex;flex-wrap:wrap;align-items:center;gap:2px;}
.note-choix input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip:rect(0 0 0 0);}
.note-choix label{cursor:pointer;padding:4px;line-height:0;display:block;-webkit-tap-highlight-color:transparent;}
.note-choix label svg{width:34px;height:34px;fill:rgba(36,22,9,.18);transition:fill .12s ease,transform .12s ease;pointer-events:none;}
.note-choix label.on svg{fill:var(--gold);}
.note-choix label:active svg{transform:scale(.92);}
.note-choix input:checked + label svg{fill:var(--gold);}       /* repli sans JavaScript */
.note-choix input:focus-visible + label svg{outline:2px solid var(--brown);outline-offset:3px;}
.note-valeur{margin-left:12px;font-size:.8rem;color:#6b573c;letter-spacing:.04em;}
.antibot{background:var(--paper);border:1px solid rgba(36,22,9,.12);padding:16px 18px;}
.antibot-q{font-family:'EB Garamond',Georgia,serif;font-size:1.15rem;color:var(--ink);margin:2px 0 10px;}
@media(max-width:900px){
  .avis-layout{grid-template-columns:1fr;}
  .avis-liste{padding:40px 20px 30px;}
  .avis-form{position:static;border-left:none;border-top:1px solid rgba(36,22,9,.12);padding:40px 20px 70px;}
  .avis-resume{gap:22px;padding:22px 20px;}
  .avis-grid{grid-template-columns:1fr;}
}
