.cgm-hb__head{border-bottom:1px solid var(--gm-ink);padding-bottom:16px;margin-bottom:24px}
.cgm-hb__head h2{font:700 36px/1.05 var(--gm-serif);margin:0 0 12px}
.cgm-hb__intro{margin:0;max-width:820px;font-size:16.5px;color:var(--gm-ink-2)}
.cgm-hb__intro a,.cgm-hb__more a{color:var(--gm-cognac);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.cgm-hb__more{margin:22px 0 0;font-weight:500;font-size:15.5px}
.cgm-hb__more a::after{content:"\2192";margin-left:8px;text-decoration:none;display:inline-block}
.cgm-hb__credit{margin:12px 0 0;font-size:12px;line-height:1.5;color:var(--gm-muted)}
.cgm-hb__credit a{color:inherit}
.cgm-hb strong{display:block;margin:0}
.cgm-hb a{text-decoration:none;color:inherit}
.cgm-hb ul,.cgm-hb ol{list-style:none;margin:0;padding:0}
.cgm-hb img{width:100%;height:100%;object-fit:cover}

.cgm-salle{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cgm-salle a{display:flex;flex-direction:column;height:100%;background:var(--gm-paper);border:1px solid var(--gm-rule);border-radius:6px;overflow:hidden;transition:border-color .2s,transform .2s}
.cgm-salle a:hover{border-color:var(--gm-cognac);transform:translateY(-2px)}
.cgm-salle img{aspect-ratio:4/3;height:auto}
.cgm-salle strong{font:700 23px/1.1 var(--gm-serif);padding:14px 16px 6px}
.cgm-salle p{margin:0;padding:0 16px 16px;font-size:14.5px;line-height:1.5;color:var(--gm-muted)}

.cgm-mosa{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:190px;gap:12px}
.cgm-mosa li.is-big{grid-column:span 2;grid-row:span 2}
.cgm-mosa li:nth-child(n+6){grid-column:span 2}
.cgm-mosa a{position:relative;display:block;height:100%;border-radius:6px;overflow:hidden;background:var(--gm-ink)}
.cgm-mosa img{position:absolute;inset:0;transition:transform .4s}
.cgm-mosa a:hover img{transform:scale(1.04)}
.cgm-mosa span{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(transparent,rgba(16,17,20,.88));color:#fff}
.cgm-mosa strong{font:700 22px/1.1 var(--gm-serif);color:#fff}
.cgm-mosa .is-big strong{font-size:32px}
.cgm-mosa small{display:block;margin-top:4px;font-size:13.5px;line-height:1.4;color:#e6dccb}
.cgm-mosa .is-big small{font-size:15px}

.cgm-caisse{background:var(--gm-paper);border:1px solid var(--gm-rule);border-radius:6px;overflow:hidden}
.cgm-caisse table{width:100%;border-collapse:collapse}
.cgm-caisse thead th{font:500 12px/1 var(--gm-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gm-muted);text-align:left;padding:14px 16px;border-bottom:1px solid var(--gm-ink);background:var(--gm-sand)}
.cgm-caisse td,.cgm-caisse tbody th{padding:12px 16px;border-bottom:1px solid var(--gm-rule);vertical-align:middle;text-align:left;font-weight:400}
.cgm-caisse tr:last-child td,.cgm-caisse tr:last-child th{border-bottom:0}
.cgm-caisse__lg{width:120px;white-space:nowrap}
.cgm-caisse__lg img{width:100px;height:50px;border:1px solid var(--gm-rule);border-radius:6px}
.cgm-caisse__lg img{display:inline-block;vertical-align:middle}
.cgm-caisse__lg.is-duo img{width:49px;height:25px;border-radius:4px}
.cgm-caisse__lg.is-duo img+img{margin-left:2px}
.cgm-caisse strong{font:500 17.5px/1.3 var(--gm-sans)}
.cgm-caisse strong a{color:var(--gm-ink)}
.cgm-caisse strong a:hover{color:var(--gm-cognac)}
.cgm-caisse tbody p{margin:3px 0 0;font-size:14.5px;line-height:1.45;color:var(--gm-muted)}
.cgm-caisse__type{display:inline-block;padding:4px 10px;border-radius:20px;background:var(--gm-linen);border:1px solid var(--gm-rule);font-size:13px;white-space:nowrap;color:var(--gm-moss)}
.cgm-caisse__go{text-align:right!important;width:110px}
.cgm-caisse__go a{display:inline-block;padding:7px 14px;border:1px solid var(--gm-cognac);border-radius:4px;font-size:14px;font-weight:500;color:var(--gm-cognac)}
.cgm-caisse__go a:hover{background:var(--gm-cognac);color:#fff}

.cgm-cachet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.cgm-cachet a{display:flex;flex-direction:column;height:100%;padding:20px 18px 18px;background:var(--gm-paper);border:1px solid var(--gm-rule);border-top:3px solid var(--gm-brass);border-radius:4px;transition:box-shadow .2s}
.cgm-cachet a:hover{box-shadow:0 6px 20px rgba(23,24,28,.10)}
.cgm-cachet .t1 a{border-top-color:var(--gm-cognac)}
.cgm-cachet .t2 a{border-top-color:var(--gm-moss)}
.cgm-cachet .t3 a{border-top-color:var(--gm-ink)}
.cgm-cachet i{display:flex;align-items:center;gap:10px;font:500 12px/1.2 var(--gm-sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--gm-cognac);margin-bottom:14px}
.cgm-cachet i .cgm-ic{width:40px;height:40px;padding:9px;border-radius:50%;background:var(--gm-linen);border:1px solid var(--gm-brass);color:var(--gm-cognac);box-sizing:border-box}
.cgm-cachet b{font-weight:500}
.cgm-cachet strong{font:700 21px/1.15 var(--gm-serif);margin-bottom:8px}
.cgm-cachet p{margin:0;font-size:14.5px;line-height:1.5;color:var(--gm-muted)}

.cgm-registre{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--gm-ink);color:#e9e2d4;border-radius:6px;overflow:hidden}
.cgm-registre figure{margin:0;position:relative;min-height:100%}
.cgm-registre figure img{position:absolute;inset:0}
.cgm-registre figcaption{position:absolute;left:14px;bottom:12px;font-size:12.5px;color:#fff;background:rgba(16,17,20,.7);padding:3px 8px;border-radius:3px}
.cgm-registre__body{padding:28px 30px 24px}
.cgm-registre .cgm-hb__head{border-bottom-color:var(--gm-brass)}
.cgm-registre .cgm-kicker{color:#e6c38b}
.cgm-registre .cgm-hb__head h2{color:#fff}
.cgm-registre .cgm-hb__intro{color:#d4ccbd}
.cgm-registre .cgm-hb__intro a{color:#e6c38b}
.cgm-registre ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 26px}
.cgm-registre li a{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid #3a3c43}
.cgm-registre li a:hover strong{color:#e6c38b}
.cgm-registre li b{font:500 15px/1.6 var(--gm-sans);color:var(--gm-brass);min-width:24px}
.cgm-registre strong{font:500 16.5px/1.35 var(--gm-sans);color:#fff}
.cgm-registre small{display:block;margin-top:4px;font-size:13.5px;line-height:1.45;color:#b9b1a2}
.cgm-registre .cgm-hb__credit{color:#9c9485}

.cgm-revue{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-color:var(--gm-brass) var(--gm-sand)}
.cgm-revue li{scroll-snap-align:start}
.cgm-revue a{display:block;height:100%;border-top:2px solid var(--gm-ink);padding-top:12px}
.cgm-revue img{aspect-ratio:3/2;height:auto;border-radius:4px}
.cgm-revue__k{display:block;margin:12px 0 6px;font:500 12px/1.2 var(--gm-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gm-moss)}
.cgm-revue strong{font:700 21px/1.15 var(--gm-serif)}
.cgm-revue a:hover strong{color:var(--gm-cognac)}
.cgm-revue p{margin:8px 0 0;font-size:14.5px;line-height:1.5;color:var(--gm-muted)}

.cgm-onglet>input{position:absolute;opacity:0;pointer-events:none}
.cgm-onglet__tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--gm-rule);margin-bottom:20px}
.cgm-onglet__tabs label{cursor:pointer;padding:10px 16px;font-weight:500;font-size:15.5px;color:var(--gm-muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.cgm-onglet__tabs label:hover{color:var(--gm-ink)}
.cgm-onglet__p{display:none;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:26px;align-items:start}
.cgm-onglet__p img{aspect-ratio:4/3;height:auto;border-radius:6px}
.cgm-onglet__p ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;counter-reset:ong}
.cgm-onglet__p li a{display:block;height:100%;padding:14px 16px;background:var(--gm-paper);border:1px solid var(--gm-rule);border-radius:4px}
.cgm-onglet__p li a:hover{border-color:var(--gm-cognac)}
.cgm-onglet__p strong{font:500 16.5px/1.35 var(--gm-sans)}
.cgm-onglet__p p{margin:6px 0 0;font-size:14px;line-height:1.5;color:var(--gm-muted)}
#cgm-ong-0:checked~.p0,#cgm-ong-1:checked~.p1,#cgm-ong-2:checked~.p2,#cgm-ong-3:checked~.p3,#cgm-ong-4:checked~.p4{display:grid}
#cgm-ong-0:checked~.cgm-onglet__tabs label[for=cgm-ong-0],#cgm-ong-1:checked~.cgm-onglet__tabs label[for=cgm-ong-1],#cgm-ong-2:checked~.cgm-onglet__tabs label[for=cgm-ong-2],#cgm-ong-3:checked~.cgm-onglet__tabs label[for=cgm-ong-3],#cgm-ong-4:checked~.cgm-onglet__tabs label[for=cgm-ong-4]{color:var(--gm-ink);border-bottom-color:var(--gm-cognac)}
.cgm-onglet>input:focus-visible+input,.cgm-onglet>input:focus-visible~.cgm-onglet__tabs{outline:2px solid var(--gm-brass);outline-offset:4px}

@media (max-width:1100px){
  .cgm-salle,.cgm-cachet{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cgm-mosa{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cgm-mosa li:nth-child(n+6){grid-column:auto}
  .cgm-revue{grid-auto-columns:calc((100% - 18px)/2.3)}
  .cgm-registre{grid-template-columns:minmax(0,1fr)}
  .cgm-registre figure{min-height:0;aspect-ratio:16/7}
}
@media (max-width:900px){
  .cgm-hb__head h2{font-size:30px}
  .cgm-registre ol,.cgm-onglet__p,.cgm-onglet__p ol{grid-template-columns:minmax(0,1fr)}
  .cgm-onglet__p img{aspect-ratio:16/9}
  .cgm-caisse thead{display:none}
  .cgm-caisse table,.cgm-caisse tbody{display:block}
  .cgm-caisse tr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 14px;padding:14px 16px;border-bottom:1px solid var(--gm-rule)}
  .cgm-caisse tr:last-child{border-bottom:0}
  .cgm-caisse td,.cgm-caisse tbody th{padding:0;border:0;display:block}
  .cgm-caisse__lg{grid-row:span 2;width:auto}
  .cgm-caisse__lg img{width:88px;height:44px}
  .cgm-caisse__lg.is-duo img{display:block;width:88px;height:44px}
  .cgm-caisse__lg.is-duo img+img{margin:4px 0 0}
  .cgm-caisse__go{text-align:left!important;width:auto;grid-column:2}
}
@media (max-width:560px){
  .cgm-salle{gap:12px}
  .cgm-salle strong{font-size:20px;padding:10px 12px 4px}
  .cgm-salle p{padding:0 12px 12px;font-size:13.5px}
  .cgm-mosa{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:150px}
  .cgm-mosa strong{font-size:18px}
  .cgm-mosa .is-big strong{font-size:26px}
  .cgm-mosa small{display:none}
  .cgm-mosa .is-big small{display:block}
  .cgm-cachet{grid-template-columns:minmax(0,1fr)}
  .cgm-revue{grid-auto-columns:78%}
  .cgm-registre__body{padding:22px 18px 18px}
  .cgm-onglet__tabs{flex-wrap:nowrap;overflow-x:auto}
  .cgm-onglet__tabs label{white-space:nowrap;padding:10px 12px}
}
.cgm-caisse__also{margin:14px 0 0;font-size:15px;color:var(--gm-muted)}
.cgm-caisse__also a{color:var(--gm-cognac);text-decoration:underline;text-underline-offset:3px}
