
:root{
 --night:#050b12;--night2:#0b141f;--gold:#d4a247;--gold2:#f0c56d;
 --paper:#eee5d2;--paper2:#f7f0e2;--ink:#15181b;--muted:#b7b8b7;
 --line:#4f4023;--white:#faf8f2;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--white);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}.wrap{width:min(1180px,90%);margin:auto}
.header{position:fixed;z-index:50;left:0;right:0;top:0;padding:15px 4%;display:flex;align-items:center;gap:22px;background:rgba(4,9,14,.90);border-bottom:1px solid #ffffff12;backdrop-filter:blur(10px)}
.logo{display:flex;align-items:center;gap:10px;min-width:165px}.owl{width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:25px}.brand{font:25px Georgia,serif;color:var(--gold);line-height:.8}.brand small{display:block;font:8px Arial;letter-spacing:2px;margin-top:8px;color:#eee}
.nav{display:flex;justify-content:center;gap:18px;flex:1;font-size:10px;letter-spacing:.6px;text-transform:uppercase}.nav a:hover,.nav .active{color:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:#111820;padding:14px 22px;font-weight:800;font-size:12px;border-radius:2px;border:1px solid var(--gold);cursor:pointer}.btn:hover{background:var(--gold2)}.btn.outline{background:transparent;color:var(--gold)}.btn.white{background:#fff;color:#111}
.hero{min-height:820px;position:relative;display:flex;align-items:center;overflow:hidden;background:#050a10 url('images/entete-grand-duc.jpg') center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,10,.94),rgba(2,6,10,.65) 45%,rgba(2,6,10,.10) 100%)}
.hero-content{position:relative;z-index:2;width:min(650px,90%);margin-left:7%;padding-top:80px}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:2.4px;font-weight:800}.hero h1{font:clamp(58px,7vw,102px)/.82 Georgia,serif;margin:20px 0 12px}.hero h1 span{color:var(--gold)}.hero h2{font:22px Georgia,serif;letter-spacing:4px}.hero p{font-size:18px;line-height:1.55;max-width:560px}.date{font:50px Georgia,serif;margin:28px 0}.date small,.date b{font:12px Arial;letter-spacing:1px;vertical-align:middle;margin-left:9px}.date b{color:var(--gold)}.actions{display:flex;gap:10px;flex-wrap:wrap}
.quick{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quick div{padding:24px;background:#080f17;border-right:1px solid #ffffff12}.quick div:last-child{border:0}.quick strong,.quick span{display:block}.quick strong{color:var(--gold);font-size:11px}.quick span{color:#bbb;font-size:12px;margin-top:7px}
.paper{background:var(--paper);color:var(--ink)}.two{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.section{padding:85px 8%}.paper h2{font:43px/1.05 Georgia,serif;margin:12px 0 22px}.paper p{font-size:16px;line-height:1.75}.dark{background:var(--night2)}.dark h2{color:var(--gold)}.section-title{text-align:center;color:var(--gold);font:34px Georgia,serif}.video{height:330px;background:url('assets/spectacle.jpg') center/cover;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;box-shadow:0 20px 50px #0005}.play{width:72px;height:72px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;font-size:25px}.video small{letter-spacing:2px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid #5c4825;padding:24px;background:#080f17}.thumb{height:145px;background-size:cover;background-position:center;display:flex;align-items:end;padding:14px;background-blend-mode:multiply;background-color:#18212c}.thumb strong{color:#fff;text-shadow:0 2px 10px #000}.card h3{font:25px Georgia,serif}.card p{color:#b8b8b8}.goldlink{color:var(--gold);font-size:11px;font-weight:800;letter-spacing:.5px}
.partner-strip{padding:55px 7%;text-align:center}.partner-strip h2{font:28px Georgia,serif}.partner-list{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.partner-list span{background:#fff;padding:14px 18px;color:#222;font-weight:800}
.pagehero{min-height:470px;display:flex;align-items:end;padding:120px 8% 65px;background-position:center;background-size:cover;position:relative}.pagehero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#03080ee8,#03080e78,#03080e22)}.pagehero>div{position:relative;z-index:1}.pagehero h1{font:clamp(48px,6vw,78px) Georgia,serif;margin:10px 0}.pagehero p:not(.eyebrow){font:21px Georgia,serif;color:#ddd}
.content{padding:75px 8%;min-height:520px}.content h2{font:38px Georgia,serif}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#a48752;margin:40px 0}.timeline div{background:var(--paper2);padding:25px}.timeline b{color:#936d2b}.tickets{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.ticket{padding:30px;background:var(--paper2);border:1px solid #c8b68d}.ticket h3{font:27px Georgia,serif;margin-top:0}.price{font-size:31px;color:#956b27;font-weight:800}.ticket ul{line-height:1.8}.notice{background:#e2d6bd;padding:18px;margin:25px 0;font-size:14px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery div{height:235px;background-size:cover;background-position:center;display:flex;align-items:end;padding:14px;background-color:#18212c;background-blend-mode:multiply}.gallery strong{background:#0009;padding:6px 9px;font-size:12px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step{background:var(--paper2);padding:30px}.step b{font:35px Georgia,serif;color:#9b722d}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.info{background:var(--paper2);padding:28px}.info h3{font:26px Georgia,serif;margin-top:0}.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.logo-box{height:125px;background:var(--paper2);display:grid;place-items:center;text-align:center;color:#777;font-weight:800;padding:15px}
form{display:grid;gap:15px}label{font-weight:700}input,textarea,select{width:100%;margin-top:7px;padding:13px;border:1px solid #c7b58d;background:#fbf6ec;font:inherit}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.legal h2{font-size:30px}
.footer{background:#050a10;padding:55px 7%;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:30px;color:#aaa}.footer h3,.footer b{color:var(--gold);font-size:12px}.footer p{font-size:13px;line-height:1.7}.copy{grid-column:1/-1;border-top:1px solid #ffffff12;padding-top:18px;font-size:10px;color:#777}
@media(max-width:950px){.nav{display:none}.header{justify-content:space-between}.quick,.cards,.two,.tickets,.steps,.info-grid,.logo-grid,.contact-grid,.footer{grid-template-columns:1fr}.hero{min-height:760px}.hero-content{margin-left:6%}.timeline{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.header .btn{padding:11px 13px}.hero h1{font-size:55px}.date{font-size:38px}.actions .btn{width:100%;text-align:center}.gallery,.timeline{grid-template-columns:1fr}.section,.content{padding:60px 7%}}

/* Logo officiel Grand Duc */

.logo-img {
    height: 35px;
    width: auto;
    max-width: 100px;
    display: block;
    object-fit: contain;
}

/* Adaptation du logo sur mobile */
@media (max-width: 600px) {
    .logo-img {
        height: 28px;
        width: auto;
        max-width: 85px;
    }

}



/* ===== Gestion du consentement cookies / YouTube ===== */
.youtube-consent{
  width:100%; min-height:500px; background:#09111a;
  border:1px solid #5c4825; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:35px; color:#fff;
}
.youtube-consent-inner{max-width:520px}
.youtube-consent-icon{
  width:72px;height:72px;margin:0 auto 18px;border:2px solid var(--gold);
  border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:27px
}
.youtube-consent p{color:#c7c7c7;line-height:1.55;margin:12px 0 22px}

.cookie-banner{
  display:none;position:fixed;left:18px;right:18px;bottom:18px;z-index:1000;
  background:#071019;color:#fff;border:1px solid #6c542c;
  box-shadow:0 18px 60px #0009;padding:20px;
}
.cookie-banner.show{display:block}
.cookie-banner-content{
  max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px
}
.cookie-copy{max-width:700px}
.cookie-copy strong{font:22px Georgia,serif;color:var(--gold)}
.cookie-copy p{margin:8px 0;color:#ddd;font-size:13px;line-height:1.55}
.cookie-copy a{color:var(--gold);text-decoration:underline;font-size:12px}
.cookie-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.cookie-btn{
  border:1px solid var(--gold);padding:12px 16px;font-size:11px;font-weight:800;
  cursor:pointer;letter-spacing:.3px
}
.cookie-btn.primary{background:var(--gold);color:#111820}
.cookie-btn.secondary{background:transparent;color:var(--gold)}
.cookie-modal{
  display:none;position:fixed;inset:0;z-index:1100;background:#000b;
  align-items:center;justify-content:center;padding:20px
}
.cookie-modal.show{display:flex}
.cookie-modal-card{
  position:relative;width:min(650px,100%);background:#f7f0e2;color:#15181b;
  padding:32px;box-shadow:0 25px 80px #000b
}
.cookie-modal-card h2{font:31px Georgia,serif;margin:0 0 25px}
.cookie-close{
  position:absolute;right:14px;top:10px;background:none;border:0;font-size:32px;cursor:pointer
}
.cookie-setting{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:20px 0;border-top:1px solid #d2c3a4
}
.cookie-setting p{margin:6px 0 0;font-size:13px;line-height:1.45;color:#555}
.always-on{font-size:11px;font-weight:800;color:#6d562d;white-space:nowrap}
.cookie-btn.save{margin-top:15px;width:100%}
.switch{position:relative;display:inline-block;width:50px;height:28px;flex:0 0 50px}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;cursor:pointer;inset:0;background:#aaa;border-radius:30px;transition:.2s}
.slider:before{
  content:"";position:absolute;height:20px;width:20px;left:4px;bottom:4px;
  background:white;border-radius:50%;transition:.2s
}
.switch input:checked + .slider{background:var(--gold)}
.switch input:checked + .slider:before{transform:translateX(22px)}
.cookie-settings-button{
  position:fixed;z-index:900;left:15px;bottom:15px;background:#071019;color:var(--gold);
  border:1px solid #6c542c;padding:8px 11px;font-size:10px;cursor:pointer
}
@media(max-width:760px){
  .cookie-banner{left:8px;right:8px;bottom:8px}
  .cookie-banner-content{display:block}
  .cookie-actions{margin-top:16px;justify-content:stretch}
  .cookie-actions .cookie-btn{flex:1 1 100%}
  .youtube-consent{min-height:330px;padding:25px 18px}
  .youtube-consent iframe{height:330px}
  .cookie-modal-card{padding:26px 20px}
  .cookie-setting{align-items:flex-start}
}

/* Administration dynamique Grand Duc */
.gd-site-alert{padding:14px 7%;display:flex;gap:12px;align-items:center;justify-content:center;text-align:center;flex-wrap:wrap;background:#efe3c5;color:#34260f;border-bottom:1px solid #c39a4a;position:relative;z-index:20}.gd-site-alert strong{letter-spacing:1px}.gd-alert-warning{background:#fff0bf;color:#5f4300}.gd-alert-danger{background:#8b2727;color:#fff;border-color:#6d1919}.gd-alert-success{background:#e4f1e5;color:#234a29;border-color:#8ab38e}.gd-ticket-status{padding:28px 18px;margin-top:18px;border:1px solid #c5a15c;background:#f8f1e3;text-align:center;border-radius:8px}.gd-ticket-status strong{display:block;font:700 28px Georgia,serif;color:#8a621f;margin-bottom:8px}.gd-ticket-status.closed{background:#eee;border-color:#bbb}.gd-ticket-status.closed strong{color:#555}.gd-practical-admin{margin-bottom:30px;padding:22px;border:1px solid #d7c8a7;background:#fffaf0}.gd-practical-admin h2{margin-top:0}.gd-practical-item{padding:8px 0;border-top:1px solid #eadfc8}.gd-practical-item:first-of-type{border-top:0}

/* Grand Duc administration V4 - alerte publique */
.gd-site-alert{box-sizing:border-box;width:100%;padding:14px 20px;display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;text-align:center;background:#f3e7bd;color:#201b12;border-bottom:1px solid rgba(0,0,0,.12);position:relative;z-index:50}
.gd-site-alert strong{font-weight:800;letter-spacing:.05em}.gd-site-alert span{font-weight:500}.gd-alert-warning{background:#fff0c2}.gd-alert-danger{background:#f6d2d2}.gd-alert-success{background:#d8efdc}
