/* =====================================================================
   GALPI : les 33 themes de la galerie du client, extraits de la maquette
   validee par Matt (maquette/index.html), le 07/11/2026. Tout vient des
   variables --t-* posees par galpi-themes.js (varsTheme).
   Ne pas modifier a la main sans reporter dans la maquette.
   ===================================================================== */
.gc{z-index:2}
.gal{--t-gap:4px;background:var(--t-fond);color:var(--t-encre);font-family:var(--t-fx);min-height:100%;position:relative;font-size:15px;line-height:1.5;flex:1}
.gal .gt{font-family:var(--t-ft);font-weight:var(--t-tw);font-style:var(--t-ts);text-transform:var(--t-tt);letter-spacing:var(--t-tl);font-size:var(--t-tz);line-height:1.06;margin:10px 0 8px}
.gal .gn{display:block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t-accent)}
.gal .gs{color:var(--t-encre2);font-size:14px;margin:0 auto;max-width:300px}
.glogo{width:46px;height:46px;border-radius:50%;background:var(--t-accent);color:var(--t-suracc);display:grid;place-items:center;font-family:var(--t-ft);font-weight:600;font-size:16px;margin:0 auto 10px;letter-spacing:.02em}
.ge-centre{text-align:center;padding:28px 18px 4px}
.gcouv{margin:14px 16px;border-radius:var(--t-rayon);overflow:hidden;aspect-ratio:4/5}
.gcouv img{width:100%;height:100%;object-fit:cover}
.gal[data-entete=arche] .gcouv{border-radius:999px 999px var(--t-rph) var(--t-rph);margin:16px 34px;aspect-ratio:3/4}
.ge-plein{position:relative;height:540px;overflow:hidden;display:flex;align-items:flex-end;text-align:center;color:#fff}
.ge-plein > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ge-plein::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,0) 35%,rgba(0,0,0,.72))}
.ge-plein .gpl{position:relative;z-index:1;padding:0 20px 30px;width:100%}
.ge-plein .gs{color:rgba(255,255,255,.86)}
.ge-plein .gn{color:#fff}
.ge-plein .glogo{box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.gal[data-glow] .ge-plein .gt{text-shadow:0 0 30px var(--t-accent)}
.ge-gauche{padding:16px 16px 4px}
.gbar{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--t-ligne);margin-bottom:14px}
.gbar .glogo{margin:0;width:34px;height:34px;border-radius:min(var(--t-rayon),10px);font-size:12.5px}
.gbar b{flex:1;font-size:13.5px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gbar span{font-size:12px;color:var(--t-encre2)}
.ge-gauche .gs{margin:0;max-width:none}
.ge-mono{text-align:center;padding:34px 22px 4px}
.mono{width:64px;height:64px;border:1px solid var(--t-accent);border-radius:50%;margin:0 auto 14px;display:grid;place-items:center;font-family:var(--t-ft);font-size:22px;color:var(--t-accent);letter-spacing:.08em}
.filet{width:56px;height:1px;background:var(--t-accent);margin:14px auto}
.ge-mag{padding:18px 16px 0}
.mag-top{display:flex;justify-content:space-between;gap:10px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border-bottom:2px solid var(--t-encre);padding-bottom:8px}
.ge-mag .gt{margin:14px 0 4px}
.gal[data-entete=mag] .gcouv{margin:10px 16px 12px}
.gs-mag{margin:0 16px 14px !important;max-width:none !important;font-size:13.5px;border-left:3px solid var(--t-accent);padding-left:10px}
.gpre{color:var(--t-accent)}
.ge-plein .gpre{color:inherit}
.gform{margin:4px 16px 12px;background:var(--t-surface);border:1px solid var(--t-ligne);border-radius:var(--t-rayon);padding:14px 16px;font-size:14px}
.gform .gf-t{display:block;font-family:var(--t-ft);font-weight:var(--t-tw);font-style:var(--t-ts);text-transform:var(--t-tt);letter-spacing:var(--t-tl);font-size:17px;margin-bottom:4px}
.gform p{margin:0;color:var(--t-encre2)}
.gform p b{color:var(--t-encre)}
.jauge{height:8px;border-radius:99px;background:var(--t-ligne);overflow:hidden;margin:12px 0 6px}
.jauge i{display:block;height:100%;width:0;background:var(--t-accent);border-radius:99px;transition:width .35s cubic-bezier(.3,1.4,.5,1)}
.gcompte{font-size:13px;color:var(--t-encre2);font-weight:600}
.gcompte .plus{color:var(--t-accent)}
.gdl{display:block;margin:0 16px 14px;width:calc(100% - 32px);text-align:center;background:var(--t-surface);border:1.5px solid var(--t-accent);color:var(--t-encre);border-radius:var(--t-rayon);padding:13px;font-weight:700;cursor:pointer;font-size:14.5px;font-family:inherit}
.gdl span{display:block;font-weight:500;font-size:12.5px;color:var(--t-encre2)}
.gdl.pris{background:var(--t-accent);color:var(--t-suracc)}
.gdl.pris span{color:inherit;opacity:.8}
.gg{display:grid;grid-template-columns:1fr 1fr;gap:var(--t-gap);padding:0 var(--t-gap)}
.gp{margin:0;position:relative}
.gi{position:relative;overflow:hidden;border-radius:var(--t-rph);background:var(--t-ligne)}
.gi img{width:100%;height:100%;object-fit:cover}
.gp figcaption{font-size:11px;color:var(--t-encre2);margin-top:5px;letter-spacing:.06em}
.gg-deux .gi{aspect-ratio:2/3}
.gg-deux .gp:nth-child(3n){grid-column:span 2}
.gg-deux .gp:nth-child(3n) .gi{aspect-ratio:3/2}
.gg-carre3{grid-template-columns:repeat(3,1fr)}
.gg-carre3 .gi{aspect-ratio:1}
.gg-masonry{display:block;columns:2;column-gap:var(--t-gap);padding:0 var(--t-gap)}
.gg-masonry .gp{break-inside:avoid;margin-bottom:var(--t-gap)}
.gg-masonry .gi img{height:auto}
.gg-editorial{gap:18px 10px;padding:0 16px}
.gg-editorial .gi{aspect-ratio:3/4}
.gg-editorial .gp:nth-child(5n+1){grid-column:span 2}
.gg-editorial .gp:nth-child(5n+1) .gi{aspect-ratio:4/5}
.gg-editorial figcaption{font-family:var(--t-ft);font-size:12px;font-style:italic}
.gg-polaroid{gap:18px 12px;padding:6px 18px}
.gg-polaroid .gp{background:#fff;padding:8px 8px 30px;box-shadow:0 12px 26px -14px rgba(0,0,0,.45);transform:rotate(-1.6deg)}
.gg-polaroid .gp:nth-child(even){transform:rotate(1.4deg) translateY(8px)}
.gg-polaroid .gi{aspect-ratio:1;border-radius:0}
.gg-polaroid figcaption{position:absolute;left:0;right:0;bottom:6px;text-align:center;font-family:'Caveat',cursive;font-size:17px;color:#555;letter-spacing:0;margin:0}
.gg-film{grid-template-columns:1fr;gap:0;padding:0 14px}
.gg-film .gp{background:#0A0908;padding:22px 26px 18px;position:relative}
.gg-film .gp::before,.gg-film .gp::after{content:"";position:absolute;top:0;bottom:0;width:10px;background:repeating-linear-gradient(to bottom,transparent 0 7px,#E8E0D0 7px 14px);opacity:.75}
.gg-film .gp::before{left:8px}
.gg-film .gp::after{right:8px}
.gg-film .gi{aspect-ratio:4/5;border-radius:0}
.gg-film figcaption{position:absolute;top:4px;left:28px;font-family:'Space Mono',monospace;font-size:10.5px;color:var(--t-accent);margin:0}
.gg-une{grid-template-columns:1fr;gap:10px;padding:0 16px}
.gg-une .gi{aspect-ratio:4/5}
.gc{position:absolute;right:8px;bottom:8px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.92);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.18);transition:transform .15s;padding:0}
.gc:active{transform:scale(.88)}
.gc svg{width:21px;height:21px;fill:none;stroke:#4A4A4A;stroke-width:2}
.gc.on svg{fill:var(--t-accent);stroke:var(--t-accent)}
.gc.on{animation:pouls .35s ease}
.gg-carre3 .gc{width:32px;height:32px;right:5px;bottom:5px}
.gg-carre3 .gc svg{width:17px;height:17px}
.gal[data-grain]::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:7;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.gbarre{position:sticky;bottom:0;margin-top:8px;background:var(--t-surface);border-top:1px solid var(--t-ligne);padding:12px 16px 16px;display:flex;gap:12px;align-items:center;z-index:9}
.gb-t{flex:1;min-width:0;font-size:12.5px;color:var(--t-encre2)}
.gb-t b{display:block;font-size:16px;color:var(--t-encre)}
.gbtn{background:var(--t-accent);color:var(--t-suracc);border:0;font-weight:700;padding:14px 22px;font-family:var(--t-fx);font-size:14.5px;cursor:pointer;border-radius:999px}
.gbtn:disabled{opacity:.45;cursor:not-allowed}
.gbtn2{background:transparent;color:var(--t-encre);border:1.5px solid var(--t-encre);font-weight:700;padding:13px 22px;font-family:var(--t-fx);font-size:14.5px;cursor:pointer;border-radius:999px}
.gal[data-bouton=carre] .gbtn,.gal[data-bouton=carre] .gbtn2{border-radius:2px;text-transform:uppercase;letter-spacing:.1em;font-size:12.5px}
.gal[data-bouton=ligne] .gbtn{background:var(--t-encre);color:var(--t-fond);border-radius:0;letter-spacing:.16em;text-transform:uppercase;font-size:12px}
.gal[data-bouton=ligne] .gbtn2{border-radius:0;letter-spacing:.16em;text-transform:uppercase;font-size:12px}
.gbtn.large,.gbtn2.large{width:100%;display:block;margin:0 0 10px;padding:16px}
.gbulle{position:absolute;left:12px;right:12px;bottom:calc(100% + 12px);background:var(--t-surface);color:var(--t-encre);border:1px solid var(--t-ligne);border-radius:18px;padding:16px 18px 14px;box-shadow:0 24px 60px -18px rgba(0,0,0,.6);animation:bulleIn .3s ease}
.gbulle[hidden]{display:none}
.gbulle::after{content:"";position:absolute;left:34px;bottom:-8px;width:14px;height:14px;background:var(--t-surface);border-right:1px solid var(--t-ligne);border-bottom:1px solid var(--t-ligne);transform:rotate(45deg)}
.gbulle .t{display:block;font-family:var(--t-ft);font-weight:var(--t-tw);font-style:var(--t-ts);font-size:18px;margin:0 26px 6px 0;line-height:1.2}
.gbulle p{margin:0 0 8px;font-size:14px;line-height:1.5;color:var(--t-encre2)}
.gbulle p b{color:var(--t-encre)}
.gbulle .gbtn{padding:11px 18px;margin-top:2px}
.gbulle .gx{position:absolute;right:8px;top:6px;width:34px;height:34px;border:0;background:none;font-size:22px;color:var(--t-encre2);cursor:pointer}
.gmerci .gt{font-size:calc(var(--t-tz) * 1.05)}
.gaide{margin:0 16px 14px;background:var(--t-surface);border:1px solid var(--t-ligne);border-radius:var(--t-rayon);padding:0 16px;font-size:14px}
.gaide summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;padding:13px 0;font-weight:700;color:var(--t-encre)}
.gaide summary::-webkit-details-marker{display:none}
.gaide summary span{flex:1;min-width:0}
.gaide summary small{display:block;font-weight:500;font-size:12.5px;color:var(--t-encre2)}
.gaide summary::after{content:"+";font-size:22px;color:var(--t-accent);line-height:1}
.gaide[open] summary::after{content:"\2212"}
.gaide ol{margin:0;padding:0;list-style:none;counter-reset:g;display:grid;gap:12px}
.gaide li{display:flex;gap:10px;color:var(--t-encre2);line-height:1.45}
.gaide li::before{counter-increment:g;content:counter(g);flex:none;width:24px;height:24px;border-radius:50%;background:var(--t-accent);color:var(--t-suracc);display:grid;place-items:center;font-size:12px;font-weight:700;margin-top:1px}
.gaide li b{color:var(--t-encre)}
.gaide .ga-plus{color:var(--t-encre2);font-size:13px;border-top:1px solid var(--t-ligne);margin-top:14px;padding:10px 0 14px;display:grid;gap:6px}
.gaide .ga-plus p{margin:0}
.gal.vivante .gi img{cursor:zoom-in}
.gnote-b{position:absolute;left:8px;bottom:8px;z-index:2;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.92);color:#333;display:grid;place-items:center;font-size:14px;box-shadow:0 2px 8px rgba(0,0,0,.18);pointer-events:none}
.gnotes .gn-t{font-weight:700;font-size:13px;color:var(--t-encre);margin-bottom:2px}
.gpf-carte .gbtn2{margin-top:6px;justify-self:center}
.gal .gvoici{font-family:var(--t-ft2);font-style:var(--t-ts);font-weight:var(--t-tw);text-transform:var(--t-tt);letter-spacing:var(--t-tl);font-size:max(17px,calc(var(--t-tz) * .5));line-height:1.22;color:var(--t-encre);margin:-2px auto 12px;max-width:320px;text-wrap:balance}
.ge-gauche .gvoici,.ge-mag .gvoici,.ge-split .gvoici,.ge-affiche .gvoici{margin-left:0;margin-right:0}
.ge-plein .gvoici{color:#fff}
.gform .gf-t{font-family:var(--t-ft2)}
.gi .gc{z-index:2}
.gal[data-entete=cadre] .glogo,.gal[data-entete=musee] .glogo{background:none;color:var(--t-accent);border:1px solid var(--t-accent)}
.gal[data-entete=cadre] .gcouv{margin:24px 32px 20px;border-radius:0;outline:1px solid var(--t-accent);outline-offset:7px}
.gal[data-entete=cadre] .gcouv::after,.gal[data-entete=deco] .gcouv::after{content:"";position:absolute;inset:9px;border:1px solid rgba(255,255,255,.75);pointer-events:none;z-index:1}
.gal[data-entete=deco] .gcouv::after{border-color:var(--t-accent)}
.gal[data-entete=split]{background-image:repeating-linear-gradient(180deg,var(--t-accent) 0 5px,transparent 5px 12px);background-size:100% 36px;background-repeat:no-repeat}
.ge-split{display:grid;grid-template-columns:1fr 1.1fr;gap:14px;align-items:end;padding:52px 16px 8px}
.ge-split > div{min-width:0}
.ge-split .glogo{margin:0 0 12px;width:38px;height:38px;font-size:13px}
.ge-split .gt{font-size:calc(var(--t-tz) * .95);margin:6px 0 8px}
.gsp-img{position:relative;aspect-ratio:3/4.3;border-radius:var(--t-rayon);overflow:hidden;container-type:inline-size}
.gsp-img img{width:100%;height:100%;object-fit:cover}
.gs-split{margin:8px 16px 14px !important;max-width:none !important}
.ge-affiche{padding:18px 16px 2px}
.aff-bloc{background:var(--t-accent);color:var(--t-suracc);border:2.5px solid var(--t-encre);box-shadow:6px 6px 0 var(--t-encre);padding:16px 16px 6px}
.ge-affiche .gn,.ge-affiche .gpre,.ge-affiche .gvoici{color:inherit}
.ge-affiche .gs{margin:16px 0 0;max-width:none}
.gal[data-entete=affiche] .gcouv{border:2.5px solid var(--t-encre);box-shadow:6px 6px 0 var(--t-encre);border-radius:0;margin:16px 22px 18px 16px}
.ge-journal{padding:16px 16px 0;text-align:center}
.jn-top{display:flex;justify-content:space-between;gap:10px;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-bottom:6px;border-bottom:1px solid var(--t-encre)}
.jn-top span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jn-titre{font-family:'UnifrakturMaguntia',var(--t-ft);font-size:36px;line-height:1.1;margin:10px 0 8px;color:var(--t-encre)}
.jn-sous{border-top:3px double var(--t-encre);border-bottom:1px solid var(--t-encre);padding:5px 0;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.ge-journal .gt{margin:4px 0 6px}
.gal[data-entete=journal] .gcouv{border-radius:0;margin:12px 16px 10px;aspect-ratio:3/2}
.gs-journal{margin:0 16px 16px !important;max-width:none !important;text-align:justify;hyphens:auto;font-size:14px}
.gs-journal::first-letter{float:left;font-family:var(--t-ft);font-weight:700;font-size:46px;line-height:.8;padding:5px 6px 0 0;color:var(--t-accent)}
.gal[data-entete=deco] .ge-centre::before{content:"";display:block;width:132px;height:66px;margin:4px auto 14px;background:repeating-conic-gradient(from -90deg at 50% 100%,var(--t-accent) 0 1.6deg,transparent 1.6deg 10deg);-webkit-mask:radial-gradient(circle at 50% 100%,#000 64px,transparent 65px);mask:radial-gradient(circle at 50% 100%,#000 64px,transparent 65px)}
.gal[data-entete=deco] .gcouv{border-radius:0;margin:16px 22px}
.gal[data-entete=bulle] .ge-centre{position:relative;isolation:isolate}
.gal[data-entete=bulle] .ge-centre::before{content:"";position:absolute;z-index:-1;left:50%;top:12px;width:310px;height:calc(100% - 4px);transform:translateX(-50%) rotate(-4deg);background:color-mix(in srgb,var(--t-k2) 38%,transparent);border-radius:58% 42% 55% 45%/52% 60% 40% 48%}
.gal[data-entete=bulle] .gcouv{transform:rotate(1.5deg);box-shadow:0 0 0 8px color-mix(in srgb,var(--t-k3) 55%,#fff)}
.gal[data-entete=soleil] .gcouv{border-radius:50%;aspect-ratio:1;margin:46px 62px 44px;box-shadow:0 0 0 9px var(--t-fond),0 0 0 17px var(--t-k3),0 0 0 25px var(--t-k1),0 0 0 33px var(--t-k2)}
.gal[data-entete=musee] .ge-centre{padding-top:40px}
.gal[data-entete=musee] .glogo{border-radius:0;color:var(--t-encre);border-color:var(--t-encre)}
.gal[data-entete=musee] .gcouv{width:66%;margin:26px auto 30px;border-radius:0;box-shadow:0 22px 34px -20px rgba(0,0,0,.5)}
.gal[data-motif=quadrille]{background-image:linear-gradient(var(--t-ligne) 1px,transparent 1px),linear-gradient(90deg,var(--t-ligne) 1px,transparent 1px);background-size:22px 22px}
.gal[data-motif=table]{background-image:radial-gradient(120% 50% at 50% 0%,rgba(255,255,255,.8),transparent 70%)}
.gal[data-motif=plan]{background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:80px 80px,80px 80px,16px 16px,16px 16px}
.gal[data-motif=aquarelle]{background-image:radial-gradient(70% 380px at 8% 60px,color-mix(in srgb,var(--t-k1) 30%,transparent),transparent 70%),radial-gradient(60% 320px at 96% 260px,color-mix(in srgb,var(--t-k2) 30%,transparent),transparent 70%),radial-gradient(65% 360px at 14% 1000px,color-mix(in srgb,var(--t-k3) 24%,transparent),transparent 70%),radial-gradient(60% 360px at 92% 1500px,color-mix(in srgb,var(--t-k4) 26%,transparent),transparent 70%);background-repeat:no-repeat}
.gal[data-motif=aquarelle] .gcouv{border-radius:50%;margin:16px 42px}
.gg-cadre{gap:16px 12px;padding:4px 16px}
.gg-cadre .gp{background:var(--t-surface);padding:9px;border:1px solid var(--t-ligne);box-shadow:0 8px 18px -14px rgba(0,0,0,.35)}
.gg-cadre .gi{aspect-ratio:4/5;border-radius:0;outline:1px solid var(--t-accent);outline-offset:3px}
.gg-decale{gap:14px 12px;padding:0 16px 46px}
.gg-decale .gi{aspect-ratio:3/4}
.gg-decale .gp:nth-child(even){transform:translateY(40px)}
.gg-arches{gap:16px 12px;padding:4px 16px}
.gg-arches .gi{aspect-ratio:3/4.3;border-radius:999px 999px var(--t-rph) var(--t-rph)}
.gg-bento{grid-template-columns:repeat(3,1fr);grid-auto-flow:dense}
.gg-bento .gi{aspect-ratio:1}
.gg-bento .gp:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.gg-bento .gp:nth-child(7n+1) .gi{position:absolute;inset:0;aspect-ratio:auto}
.gg-bento .gp:nth-child(7n+5){grid-column:span 2}
.gg-bento .gp:nth-child(7n+5) .gi{aspect-ratio:auto;height:100%}
.gg-brut{gap:18px 16px;padding:4px 20px 12px 14px}
.gg-brut .gi{aspect-ratio:4/5;border-radius:0;border:2.5px solid var(--t-encre);box-shadow:5px 5px 0 var(--t-encre)}
.gg-brut .gp:nth-child(3n+2) .gi{box-shadow:5px 5px 0 var(--t-k3)}
.gg-brut .gc{border:2px solid #111;box-shadow:2px 2px 0 #111;background:#fff}
.gal[data-bouton=ombre] .gbtn,.gal[data-bouton=ombre] .gbtn2{border-radius:0;border:2.5px solid var(--t-encre);box-shadow:4px 4px 0 var(--t-encre);text-transform:uppercase;letter-spacing:.04em;font-size:13px}
.gal[data-bouton=ombre] .gform,.gal[data-bouton=ombre] .gdl,.gal[data-bouton=ombre] .gaide{border:2px solid var(--t-encre);box-shadow:4px 4px 0 var(--t-encre);border-radius:0}
.gg-planche{grid-template-columns:repeat(3,1fr);gap:0;padding:6px 6px 8px;margin:0 12px;background:#161514}
.gg-planche .gp{padding:13px 4px 17px}
.gg-planche .gp::before{content:"";position:absolute;left:4px;right:4px;top:4px;height:5px;background:repeating-linear-gradient(90deg,#3B3936 0 6px,transparent 6px 11px)}
.gg-planche .gi{aspect-ratio:2/3;border-radius:0}
.gg-planche figcaption{position:absolute;left:5px;bottom:3px;margin:0;font-family:'Courier Prime',monospace;font-size:9px;color:#E9B44C;letter-spacing:.06em}
.gg-planche .gp:has(.gc.on)::after{content:"";position:absolute;inset:7px 0 10px;border:3px solid var(--t-accent);border-radius:48% 52% 46% 54%/50% 46% 54% 50%;transform:rotate(-4deg);pointer-events:none;z-index:3}
.gg-carre3 .gc,.gg-bento .gc,.gg-planche .gc{width:30px;height:30px;right:4px;bottom:4px}
.gg-bento .gc svg,.gg-planche .gc svg{width:16px;height:16px}
.gg-carnet{gap:30px 14px;padding:18px 18px 8px}
.gg-carnet .gp{background:#fff;padding:7px;box-shadow:0 7px 16px -10px rgba(0,0,0,.4);transform:rotate(1.4deg)}
.gg-carnet .gp:nth-child(3n+2){transform:rotate(-2deg)}
.gg-carnet .gp:nth-child(3n){transform:rotate(.6deg)}
.gg-carnet .gp::before{content:"";position:absolute;z-index:3;top:-10px;left:50%;width:62px;height:20px;margin-left:-31px;transform:rotate(-5deg);background:color-mix(in srgb,var(--t-accent) 62%,transparent);clip-path:polygon(0 0,100% 0,95% 25%,100% 50%,95% 75%,100% 100%,0 100%,5% 75%,0 50%,5% 25%)}
.gg-carnet .gp:nth-child(even)::before{background:color-mix(in srgb,var(--t-k3) 62%,transparent);transform:rotate(6deg);left:35%}
.gg-carnet .gi{aspect-ratio:4/5;border-radius:0}
.gg-une{gap:max(10px,var(--t-gap))}
.gg-une .gi::after{content:"";position:absolute;inset:9px;border:1px solid var(--t-accent);opacity:.8;pointer-events:none;z-index:1}
.gg-sorbet{gap:12px;padding:0 14px}
.gg-sorbet .gp{padding:9px;border-radius:var(--t-rayon);background:color-mix(in srgb,var(--t-k1) 30%,var(--t-fond))}
.gg-sorbet .gp:nth-child(4n+2){background:color-mix(in srgb,var(--t-k2) 34%,var(--t-fond))}
.gg-sorbet .gp:nth-child(4n+3){background:color-mix(in srgb,var(--t-k3) 40%,var(--t-fond))}
.gg-sorbet .gp:nth-child(4n){background:color-mix(in srgb,var(--t-k4) 30%,var(--t-fond))}
.gg-sorbet .gi{aspect-ratio:1;border-radius:calc(var(--t-rayon) - 9px)}
.gg-colonnes{gap:16px 0;padding:0 16px}
.gg-colonnes .gp{padding:0 0 0 9px}
.gg-colonnes .gp:nth-child(5n+2),.gg-colonnes .gp:nth-child(5n+4){padding:0 9px 0 0;border-right:1px solid var(--t-encre)}
.gg-colonnes .gp:nth-child(5n+1){grid-column:span 2;padding:0 0 14px;border-bottom:1px solid var(--t-encre)}
.gg-colonnes .gi{aspect-ratio:4/5;border-radius:0}
.gg-colonnes .gp:nth-child(5n+1) .gi{aspect-ratio:3/2}
.gg-colonnes figcaption{font-family:var(--t-ft);font-style:italic;font-size:11.5px;letter-spacing:0;margin-top:6px;border-top:1px solid var(--t-ligne);padding-top:4px}
.gg-musee{grid-template-columns:1fr;gap:48px;padding:18px 0 12px}
.gg-musee .gp{width:72%;margin:0 auto}
.gg-musee .gi{aspect-ratio:4/5;border-radius:0;box-shadow:0 20px 32px -20px rgba(0,0,0,.5)}
.gg-musee figcaption{margin-top:14px;font-size:10.5px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;padding-left:8px;border-left:1px solid var(--t-encre2)}
.gg-diapo{gap:16px 14px;padding:4px 16px}
.gg-diapo .gp{background:#F4EFE3;border-radius:10px;padding:15px 13px 26px;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 18px -12px rgba(0,0,0,.45)}
.gg-diapo .gp::before{content:"";position:absolute;top:6px;left:8px;width:5px;height:5px;border-radius:50%;background:var(--t-accent)}
.gg-diapo .gi{aspect-ratio:1;border-radius:5px}
.gg-diapo figcaption{position:absolute;left:0;right:0;bottom:6px;margin:0;text-align:center;font-family:'Righteous',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8C8370}
.gg-pilule{gap:16px 14px;padding:8px 20px}
.gg-pilule .gi{aspect-ratio:5/8;border-radius:999px;box-shadow:0 0 0 4px var(--t-fond),0 0 0 7px var(--t-k1)}
.gg-pilule .gp:nth-child(4n+2) .gi,.gg-pilule .gp:nth-child(4n+3) .gi{box-shadow:0 0 0 4px var(--t-fond),0 0 0 7px var(--t-k3)}
.gg-ovales{gap:16px 12px;padding:4px 16px}
.gg-ovales .gi{aspect-ratio:3/4;border-radius:50%}
.gg-pilule .gc,.gg-ovales .gc{right:auto;left:calc(50% - 20px);bottom:12px}
.gg-plan{gap:30px 20px;padding:14px 24px}
.gg-plan .gp{display:flex;flex-direction:column-reverse}
.gg-plan .gi{aspect-ratio:4/5;border-radius:0;outline:1px solid rgba(255,255,255,.55);outline-offset:4px}
.gg-plan .gp::before,.gg-plan .gp::after{content:"";position:absolute;width:12px;height:12px;border:0 solid var(--t-accent);pointer-events:none}
.gg-plan .gp::before{left:-10px;bottom:-10px;border-width:0 0 1.5px 1.5px}
.gg-plan .gp::after{right:-10px;bottom:-10px;border-width:0 1.5px 1.5px 0}
.gg-plan figcaption{margin:0 0 9px;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:.04em;color:var(--t-accent)}

/* ---------- le logo du photographe (07/11/2026, propre a l'appli, pas
   dans la maquette) : son image a la place des initiales, sans pastille.
   Il garde ses proportions, plafonne en hauteur et en largeur. ---------- */
.gal .glogo.glogo-img,.gal .mono.mono-img{width:auto;height:auto;background:none;border:0;border-radius:0;box-shadow:none;display:flex;justify-content:center;align-items:center;padding:0}
.gal .glogo.glogo-img img{display:block;width:auto;height:auto;max-height:58px;max-width:180px;object-fit:contain}
.gal .mono.mono-img img{display:block;width:auto;height:auto;max-height:72px;max-width:200px;object-fit:contain}
.gal .gbar .glogo.glogo-img img{max-height:34px;max-width:110px}
.gal .ge-split .glogo.glogo-img{justify-content:flex-start}
.gal .ge-split .glogo.glogo-img img{max-height:42px;max-width:140px}
.gal .ge-plein .glogo.glogo-img img{filter:drop-shadow(0 1px 6px rgba(0,0,0,.35))}
