*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
:root{--cream:#F8F2E6;--cream-lt:#FBF7EE;--gold:#B88940;--gold-lt:#D4A968;--ink:#1A1A1A;--soft:#4A4A4A;--muted:#8A8A85;--line:#E5DDC9;--dark:#1C1814;--wa:#25D366;--pad-x:clamp(20px,5vw,48px)}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--cream);color:var(--ink);font:300 16px/1.6 'Inter',sans-serif;overflow-x:hidden}
body.no-scroll{overflow:hidden}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400;line-height:1.1}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
[id]{scroll-margin-top:24px}

header{padding:24px var(--pad-x);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px;flex-wrap:wrap}
.logo{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:2px;white-space:nowrap}
.logo span{color:var(--gold)}
nav{display:flex;gap:clamp(16px,3vw,32px);font-size:12px;letter-spacing:1.5px;text-transform:uppercase;flex-wrap:wrap;justify-content:center}
nav a{color:var(--soft);padding:8px 4px;transition:color .2s;cursor:pointer}
nav a:hover,nav a:active{color:var(--gold)}

.hero{padding:clamp(48px,8vw,96px) var(--pad-x) clamp(40px,6vw,72px);text-align:center;max-width:880px;margin:0 auto}
.eyebrow{font-size:11px;letter-spacing:3.5px;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.hero h1{font-size:clamp(34px,7vw,64px);margin-bottom:20px}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero p{font-size:clamp(14px,1.5vw,17px);line-height:1.7;color:var(--soft);max-width:600px;margin:0 auto}

.sec-head{padding:0 var(--pad-x);margin:clamp(40px,5vw,56px) 0 clamp(22px,3vw,30px)}
.sec-head .eyebrow{font-size:10px;letter-spacing:3px;margin-bottom:8px}
.sec-head h2{font-size:clamp(26px,4.5vw,38px)}

.tent-wrap{padding:0 var(--pad-x);margin-bottom:24px}
.tent-card{padding:clamp(24px,4vw,40px);background:var(--cream-lt);position:relative;border:1px solid var(--line)}
.tent-card::before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--gold)}
.t-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.tent-card h3{font-size:clamp(22px,3vw,30px);color:var(--gold);margin-bottom:6px}
.tent-card .meta{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}

.btn-i{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15px;cursor:pointer;flex-shrink:0;transition:all .2s;touch-action:manipulation}
.btn-i:hover,.btn-i:active{color:var(--gold);border-color:var(--gold)}
.btn-i.on{color:#fff;background:var(--gold);border-color:var(--gold)}

.t-info{margin-top:20px;padding:18px 24px;background:rgba(184,137,64,.06);border-left:3px solid var(--gold);font-size:14px;line-height:1.85;color:var(--soft)}
.t-info .title{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--gold);margin-bottom:6px;font-weight:500}
.t-info ul{list-style:none}
.t-info li{padding:2px 0;display:flex;gap:10px}
.t-info li::before{content:'✓';color:var(--gold);font-weight:500;flex-shrink:0}

.t-sizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:28px}
.t-size{padding:24px 18px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:center}
.t-size.on{border:1.5px solid var(--gold);background:rgba(184,137,64,.03)}
.t-info-block{text-align:center}
.t-size .sz{font-family:'Cormorant Garamond',serif;font-size:24px;margin-bottom:6px}
.t-size .pr{color:var(--gold);font-size:14px;margin-bottom:4px}
.t-size .nt{font-size:10px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px}

.qty{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--cream-lt);overflow:hidden;-webkit-user-select:none;user-select:none}
.qty button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:22px;color:var(--soft);cursor:pointer;border:0;background:transparent;font-family:Arial,sans-serif;font-weight:400;line-height:1;touch-action:manipulation;-webkit-appearance:none;appearance:none;transition:background .12s,color .12s}
.qty button:hover{background:rgba(184,137,64,.1);color:var(--gold)}
.qty button:active{background:var(--gold);color:#fff}
.qty .qval{min-width:50px;height:48px;text-align:center;font-size:17px;font-family:'Cormorant Garamond',serif;color:var(--ink);display:flex;align-items:center;justify-content:center;padding:0 4px}

.photos{display:flex;gap:8px;margin-top:16px;overflow-x:auto;width:100%;justify-content:center;padding-bottom:4px;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
.photo{width:72px;height:72px;object-fit:cover;border-radius:4px;border:1px solid var(--line);cursor:zoom-in;flex-shrink:0;background:var(--cream-lt)}

.grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}
.card{position:relative;padding:clamp(24px,4vw,38px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;min-height:240px}
.card:nth-child(2n){border-right:none}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-lt) 50%,var(--cream-lt))}
.card.t-pk::before{background:linear-gradient(90deg,#D4A1B0,#E8C5CC 50%,var(--cream-lt))}
.card.t-bl::before{background:linear-gradient(90deg,#A8C8DC,#D0E0E8 50%,var(--cream-lt))}
.card.t-pu::before{background:linear-gradient(90deg,#B0A4C8,#D4CCE0 50%,var(--cream-lt))}
.card.t-co::before{background:linear-gradient(90deg,#D89878,#E8C0A8 50%,var(--cream-lt))}
.card.soon{opacity:.6}
.card.soon::after{content:'BIENTÔT';position:absolute;top:22px;right:24px;font-size:10px;letter-spacing:2px;padding:5px 11px;border:1px solid var(--line);color:var(--muted)}
.card h3{font-size:clamp(20px,2.4vw,26px);margin-bottom:6px}
.price{color:var(--gold);font-size:15px;margin-bottom:16px}
.price strong{font-weight:500}
.meta{font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin-bottom:24px}
.qty-row{display:flex;align-items:center;gap:22px;margin-top:auto;flex-wrap:wrap}
.qty-lbl{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}

.c-photos{display:flex;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);overflow-x:auto;padding-bottom:4px;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
.c-photo{width:80px;height:80px;object-fit:cover;border-radius:4px;border:1px solid var(--line);cursor:zoom-in;flex-shrink:0;background:var(--cream-lt)}

.opt{margin-top:22px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;font-size:14px}
.opt-l{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.opt input{appearance:none;-webkit-appearance:none;width:22px;height:22px;border:1px solid var(--line);cursor:pointer;position:relative;flex-shrink:0;background:#fff;border-radius:2px;transition:all .15s}
.opt input:checked{background:var(--gold);border-color:var(--gold)}
.opt input:checked::after{content:'✓';position:absolute;color:#fff;font-size:14px;top:1px;left:5px;line-height:1.3;font-weight:bold}
.opt-pr{color:var(--gold);white-space:nowrap}

.summary{background:var(--dark);color:#E8DCC4;padding:clamp(40px,5vw,56px) var(--pad-x);margin-top:clamp(40px,5vw,56px)}
.s-eb{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold-lt);margin-bottom:22px}
.s-lines{border-bottom:1px solid rgba(212,169,104,.2);padding-bottom:28px}
.s-line{display:grid;grid-template-columns:1fr auto auto;padding:13px 0;font-size:15px;gap:14px;align-items:baseline}
.s-line .qx{color:#8A7E62;font-size:13px}
.s-line .lp{text-align:right;color:#E8DCC4;min-width:80px}
.s-empty{padding:13px 0;color:#6E6450;font-style:italic;font-family:'Cormorant Garamond',serif}
.s-tot{display:flex;justify-content:space-between;align-items:baseline;padding-top:24px;gap:16px;flex-wrap:wrap}
.s-tot .lbl{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#8A7E62}
.s-tot .amt{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,5vw,40px);color:var(--gold-lt);font-weight:500;white-space:nowrap}
.s-note{font-size:12px;color:#A89A7E;margin-top:10px;font-style:italic}

.form{padding:clamp(48px,7vw,80px) var(--pad-x);max-width:1080px;margin:0 auto}
.form .eyebrow{margin-bottom:14px}
.form h2{font-size:clamp(28px,5vw,44px);margin-bottom:12px}
.form .sub{font-size:14px;color:var(--soft);margin-bottom:40px;line-height:1.7}
.f-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px clamp(28px,4vw,44px)}
.f{display:flex;flex-direction:column}
.f.full{grid-column:1/-1}
.f label{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.f input,.f textarea{border:none;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;color:var(--ink);font-family:'Inter',sans-serif;font-weight:300;font-size:16px;line-height:1.6;outline:none;border-radius:0;-webkit-appearance:none;appearance:none;width:100%}
.f input:focus,.f textarea:focus{border-color:var(--gold)}
.f input.err,.f textarea.err{border-color:#C44}
.f textarea{min-height:80px;resize:vertical;font-size:16px}
.s-row{margin-top:44px;display:flex;justify-content:flex-end;gap:14px;grid-column:1/-1;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:18px 28px;font:500 12px/1 'Inter',sans-serif;letter-spacing:2.5px;text-transform:uppercase;color:#fff;min-height:52px;border:none;cursor:pointer;touch-action:manipulation;-webkit-appearance:none;appearance:none;transition:background .2s}
.btn.wa{background:var(--wa)}
.btn.wa:active{background:#1ea954}
.btn.em{background:var(--ink)}
.btn.em:active{background:var(--gold)}

.contact{background:var(--cream-lt);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(32px,5vw,44px) var(--pad-x);text-align:center}
.contact .eyebrow{margin-bottom:10px}
.contact h3{font-size:clamp(24px,4vw,30px);margin-bottom:26px}
.c-grid{display:flex;justify-content:center;gap:clamp(16px,3vw,40px);flex-wrap:wrap;font-size:15px}
.c-grid a{display:flex;align-items:center;gap:9px;padding:10px 0;transition:color .2s;min-height:44px}
.c-grid a:active{color:var(--gold)}
.c-grid a:hover{color:var(--gold)}
.c-grid .ic{font-size:18px;color:var(--gold)}

footer{background:var(--dark);color:#8A7E62;padding:clamp(24px,4vw,36px) var(--pad-x) calc(clamp(24px,4vw,36px) + env(safe-area-inset-bottom,0px));text-align:center;font-size:13px;letter-spacing:1px}
footer .logo{margin-bottom:6px;color:#E8DCC4;font-size:19px}
.f-btns{margin-top:18px;display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.f-btn{background:transparent;border:1px solid #4A4030;color:#A89A7E;padding:11px 20px;font:300 10px/1 'Inter',sans-serif;letter-spacing:2px;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;touch-action:manipulation;min-height:42px;-webkit-appearance:none;appearance:none}
.f-btn.primary{background:var(--gold);border-color:var(--gold);color:#fff;font-weight:500}
.f-btn.on{background:var(--gold);color:#fff;border-color:var(--gold)}

.fab{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));right:20px;width:58px;height:58px;background:var(--gold);color:#fff;border:none;border-radius:50%;font-size:26px;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.22);z-index:90;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-appearance:none;appearance:none}

.admin-banner{display:none;position:sticky;top:0;background:var(--gold);color:#fff;padding:14px 20px;text-align:center;font-size:14px;z-index:50}
body.admin .admin-banner{display:block}
body.admin .photo,body.admin .c-photo{outline:2px dashed var(--gold);outline-offset:2px;cursor:pointer}

.lbox{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;cursor:zoom-out}
.lbox img{max-width:95%;max-height:95%;border-radius:8px}
.lbox-close{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:16px;width:44px;height:44px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);color:#fff;border-radius:50%;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer}

.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--dark);color:#E8DCC4;padding:18px var(--pad-x) calc(18px + env(safe-area-inset-bottom,0px));z-index:1000;box-shadow:0 -4px 20px rgba(0,0,0,.15);display:none;align-items:center;gap:20px;flex-wrap:wrap;justify-content:space-between}
.cookie-banner.show{display:flex}
.cookie-text{font-size:13px;line-height:1.5;flex:1;min-width:240px}
.cookie-text a{color:var(--gold-lt);text-decoration:underline}
.cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
.cookie-btn{padding:10px 20px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-weight:500;min-height:40px;touch-action:manipulation;-webkit-appearance:none;appearance:none}
.cookie-btn.refuse{background:transparent;color:#A89A7E;border:1px solid #4A4030}
.cookie-btn.accept{background:var(--gold);color:#fff}
@media(max-width:600px){
  .cookie-banner{padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px))}
  .cookie-text{font-size:12px}
  .cookie-btns{width:100%}
  .cookie-btn{flex:1}
}

@media(max-width:760px){
  header{flex-direction:column;gap:14px;padding-top:18px;padding-bottom:18px}
  nav{gap:18px;font-size:11px}
  .grid{grid-template-columns:1fr}
  .card{border-right:none!important}
  .t-size{padding:18px 14px;flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:left;gap:12px}
  .t-info-block{flex:1;text-align:left}
  .t-size .sz{font-size:20px;margin:0}
  .t-size .pr,.t-size .nt{margin:0}
  .photos{flex-basis:100%;margin-top:10px;justify-content:flex-start}
  .photo{width:64px;height:64px}
  .c-photo{width:70px;height:70px}
  .s-line{font-size:14px;grid-template-columns:1fr auto}
  .s-line .qx{display:none}
  .s-line .lp{min-width:auto}
  .s-tot{flex-direction:column;align-items:flex-start}
  .s-row{justify-content:stretch}
  .btn{flex:1 1 140px;padding:16px 16px;font-size:11px;letter-spacing:2px}
  .c-grid{flex-direction:column;gap:12px;font-size:14px;align-items:center}
}
.seo-text {
  padding: clamp(48px, 7vw, 80px) var(--pad-x);
  max-width: 900px;
  margin: 0 auto;
  color: var(--soft);
  border-top: 1px solid var(--line);
}
.seo-text h2 {
  font-size: clamp(26px, 4vw, 36px);
  text-align: center;
  margin-bottom: 32px;
  color: var(--ink);
}
.seo-text h3 {
  font-size: clamp(20px, 3vw, 24px);
  color: var(--gold);
  margin: 40px 0 16px;
}
.seo-text p {
  margin-bottom: 20px;
}
.seo-text ul {
  padding-left: 24px;
  margin-bottom: 24px;
  list-style-type: disc;
  color: var(--gold);
}
.seo-text ul li {
  margin-bottom: 10px;
}
.seo-text ul li strong {
  color: var(--soft);
}
.seo-text a {
  color: var(--gold);
  border-bottom: 1px solid var(--gold);
  transition: opacity 0.2s;
}
.seo-text a:hover {
  opacity: 0.7;
}

.seo-accordion summary {
  cursor: pointer;
  font-weight: 500;
  color: var(--gold);
  padding: 16px 0;
  font-size: 15px;
  text-align: center;
  list-style: none; /* Masque la flèche par défaut sur certains navigateurs */
  border-bottom: 1px dashed var(--line);
  transition: color 0.2s;
}
.seo-accordion summary::-webkit-details-marker {
  display: none; /* Masque la flèche sur Safari/Chrome */
}
.seo-accordion summary:hover {
  color: var(--ink);
}
.seo-accordion summary::after {
  content: ' ↓';
}
.seo-accordion[open] summary::after {
  content: ' ↑';
}
.seo-content {
  padding-top: 24px;
  animation: fadeIn 0.4s ease-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}