/* Histoires d'encre et visionneuse — module dédié, CSS général inchangé. */
.gt-stories-page,.gt-story-page { background:var(--gt-bg,#e7e1d7); color:var(--gt-ink,#111); font-family:Arial,Helvetica,sans-serif; }
.gt-stories-page *, .gt-story-page *, .gt-photo-viewer * { box-sizing:border-box; }
.gt-stories-page { padding:24px clamp(28px,6vw,110px) 64px !important; }
.gt-stories-heading { padding-inline:0; margin-bottom:28px; }
.gt-stories-heading .gt-page-title__first,.gt-stories-heading .gt-page-title__second { margin-left:0; }
.gt-stories-heading .gt-page-title__first { font-size:clamp(38px,5.4vw,78px); }
.gt-stories-heading .gt-page-title__second { font-size:clamp(62px,9vw,140px); }
.gt-stories-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px clamp(24px,3vw,50px); padding-top:18px; }
.gt-story-card { min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.gt-story-cover { position:relative; display:block; width:100%; aspect-ratio:4/5; background:#faf8f3; padding:7px; transform:rotate(-2deg); box-shadow:3px 6px 16px #11083925; }
.gt-story-card:nth-child(even) .gt-story-cover { transform:rotate(2deg); }
.gt-story-card:nth-child(3n) .gt-story-cover { transform:rotate(-1deg); }
.gt-story-cover img { display:block; width:100%; height:100%; object-fit:cover; }
.gt-story-no-image { display:grid; height:100%; place-content:center; background:var(--gt-red); color:#fff; font:900 clamp(24px,4vw,52px)/1 Impact,sans-serif; }
.gt-story-card h2 { margin:25px 0 12px; font:900 clamp(21px,2.2vw,32px)/1.12 Impact,'Arial Narrow',sans-serif; text-transform:uppercase; overflow-wrap:break-word; }
.gt-story-card h2 a { color:inherit; text-decoration:none; }
.gt-story-card p { margin:0 0 18px; font:400 16px/1.6 Arial,sans-serif; }
.gt-story-more { margin-top:auto; color:var(--gt-red); font-weight:800; text-underline-offset:4px; }
.gt-stories-pagination { margin-top:50px; }
.gt-stories-pagination ul { display:flex; flex-wrap:wrap; gap:16px; padding:0; list-style:none; }
.gt-stories-pagination a { color:var(--gt-red); }
.gt-story-page { padding:24px clamp(28px,6vw,110px) 64px !important; }
.gt-story-heading { display:grid; grid-template-columns:minmax(0,1fr) clamp(100px,12vw,200px); align-items:center; gap:clamp(22px,5vw,70px); max-width:1320px; margin:0 auto 35px; }
.gt-story-heading > img { width:100%; height:auto; }
.gt-story-kicker { margin:12px 0 18px; font-size:12px; font-weight:900; letter-spacing:.08em; }
.gt-story-kicker a { color:inherit; text-decoration:none; }
.gt-story-title { margin:0; color:#a52e2c; font:400 clamp(40px,5.5vw,82px)/1.12 'GastonPunk',Impact,sans-serif; transform:rotate(-2deg); overflow-wrap:break-word; }
.gt-story-body { max-width:1200px !important; margin:0 auto !important; padding:0 !important; display:flow-root; }
.gt-story-body p,.gt-story-body li { font-size:clamp(17px,1.3vw,19px); line-height:1.7; }
.gt-story-body > p { margin:0 0 20px; }
.gt-story-body h2:not(.gt-page-title__heading),.gt-story-body h3 { font-family:Impact,'Arial Narrow',sans-serif; line-height:1.15; text-transform:uppercase; }
.gt-story-body h2:not(.gt-page-title__heading) { font-size:clamp(28px,3vw,44px); margin:30px 0 20px; }
.gt-story-body .gt-about-section { display:contents; }
.gt-story-body .gt-about-copy { display:contents; }
.gt-story-body .gt-gallery-page .gt-drive-card { aspect-ratio:auto; overflow:visible; }
.gt-story-body .gt-gallery-page .gt-drive-card img { height:auto; object-fit:contain; }
.gt-story-body .gt-about-end { width:100%; clear:both; }
.gt-story-photo,.gt-story-body .wp-block-image { position:relative; width:35%; max-width:400px; padding:7px; background:#faf8f3; box-shadow:0 10px 25px #11083925; shape-outside:margin-box; }
.gt-story-photo::before,.gt-story-body .wp-block-image::before,.gt-story-cover::before { content:''; position:absolute; z-index:1; top:-10px; left:calc(50% - 35px); width:70px; height:23px; background:#decdaebf; transform:rotate(-7deg); pointer-events:none; }
.gt-story-photo img,.gt-story-body .wp-block-image img { width:100%; height:auto; display:block; }
.gt-story-photo--left,.gt-story-body .wp-block-image.alignleft { float:left; margin:14px 30px 22px 0; transform:rotate(-3deg); }
.gt-story-photo--right,.gt-story-body .wp-block-image:not(.alignleft) { float:right; margin:14px 0 22px 30px; transform:rotate(3deg); }
.gt-story-body figure > br { display:none; }
.gt-photo-trigger { cursor:zoom-in; }
.gt-photo-trigger:focus-visible,.gt-story-more:focus-visible,.gt-story-cover:focus-visible { outline:3px solid #1784d8; outline-offset:5px; }

/* Visionneuse : le dialogue natif passe au-dessus de l'en-tête et isole le clavier. */
.gt-photo-viewer { box-sizing:border-box; position:fixed; inset:0; width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:clamp(12px,2vw,28px); border:0; background:rgba(12,9,20,.96); color:#fff; overflow:auto; }
.gt-photo-viewer:not([open]) { display:none; }
.gt-photo-viewer[open] { display:flex; align-items:center; justify-content:center; }
.gt-photo-viewer::backdrop { background:#100c18e8; backdrop-filter:blur(12px); }
.gt-photo-panel { position:relative; width:min(100%,1500px); height:100%; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(0,1fr) auto; gap:16px; padding-top:48px; }
.gt-photo-has-views .gt-photo-panel { grid-template-columns:minmax(0,1fr) 110px; }
.gt-photo-stage { min-width:0; min-height:0; position:relative; display:flex; align-items:center; justify-content:center; }
.gt-photo-main { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.gt-photo-thumbs { display:flex; flex-direction:column; gap:12px; overflow:auto; min-height:0; padding:3px; }
.gt-photo-thumbs[hidden] { display:none; }
.gt-photo-thumbs button { flex:none; width:100%; padding:3px; border:1px solid #ffffff60; border-radius:10px; background:#ffffff18; cursor:pointer; }
.gt-photo-thumbs img { width:100%; height:100px; object-fit:cover; display:block; border-radius:6px; }
.gt-photo-bottom { grid-column:1/-1; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:12px 24px; padding-bottom:env(safe-area-inset-bottom); }
.gt-photo-status { margin:0; font:400 13px/1.4 Arial,sans-serif; }
.gt-photo-request { padding:13px 20px; border-radius:9px; background:var(--gt-red,#8a312c); color:white; text-decoration:none; text-align:center; font:800 14px/1.3 Arial,sans-serif; }
.gt-photo-prev,.gt-photo-next,.gt-photo-close { display:grid; place-items:center; position:absolute; z-index:2; width:48px; height:48px; padding:10px; border:1px solid #ffffff70; border-radius:50%; background:linear-gradient(135deg,#ffffff45,#ffffff15); color:#fff; box-shadow:0 6px 22px #0005,inset 0 1px 0 #fff5; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); cursor:pointer; }
.gt-photo-prev[hidden],.gt-photo-next[hidden] { display:none; }
.gt-photo-prev,.gt-photo-next { top:50%; transform:translateY(-50%); }
.gt-photo-prev { left:8px; }.gt-photo-next { right:8px; }
.gt-photo-close { right:0; top:0; width:40px; height:40px; font:400 28px/1 Arial,sans-serif; }
.gt-photo-viewer svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.gt-photo-viewer button:hover { background-color:#ffffff35; }
.gt-photo-viewer :focus-visible { outline:3px solid #fff; outline-offset:3px; }

@media(max-width:1100px) { .gt-stories-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .gt-stories-page,.gt-story-page { padding:20px 20px 40px !important; }
  .gt-stories-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 18px; }
  .gt-stories-heading { margin-bottom:12px; gap:12px; }
  .gt-stories-heading .gt-page-title__first { font-size:clamp(24px,6.5vw,40px); transform:translateY(-12px) rotate(-3deg); }
  .gt-stories-heading .gt-page-title__second { font-size:clamp(36px,9vw,65px); }
  .gt-story-cover { padding:4px; }
  .gt-story-card h2 { font-size:clamp(17px,4.5vw,25px); margin:20px 0 10px; }
  .gt-story-card p { font-size:14px; line-height:1.5; }
  .gt-story-more { font-size:14px; }
  .gt-story-heading { grid-template-columns:minmax(0,1fr) 64px; gap:14px; margin-bottom:24px; }
  .gt-story-title { font-size:clamp(29px,7.2vw,46px); }
  .gt-story-kicker { font-size:10px; }
  .gt-story-body p,.gt-story-body li { font-size:16px; line-height:1.65; }
  .gt-story-photo,.gt-story-body .wp-block-image,.gt-story-body .gt-about-photo { width:48%; max-width:320px; padding:5px; }
  .gt-story-body .gt-about-copy .gt-about-lead { font-size:18px; line-height:1.5; }
  .gt-story-photo--left,.gt-story-body .wp-block-image.alignleft { margin:12px 15px 18px 0; }
  .gt-story-photo--right,.gt-story-body .wp-block-image:not(.alignleft) { margin:12px 0 18px 15px; }
  .gt-story-body .gt-about-photo--left { margin-left:0; }
  .gt-story-body .gt-about-photo--right { margin-right:0; }
  .gt-photo-viewer { padding:10px; }
  .gt-photo-panel,.gt-photo-has-views .gt-photo-panel { grid-template-columns:minmax(0,1fr); gap:10px; }
  .gt-photo-has-views .gt-photo-panel { grid-template-rows:minmax(0,1fr) 76px auto; }
  .gt-photo-thumbs { flex-direction:row; overflow-x:auto; overflow-y:hidden; }
  .gt-photo-thumbs button { width:70px; }
  .gt-photo-thumbs img { height:62px; }
  .gt-photo-bottom { gap:8px; flex-direction:column; }
  .gt-photo-request { font-size:12px; padding:12px 16px; }
  .gt-photo-prev,.gt-photo-next { width:42px; height:42px; }
}

/* Menu mobile : hauteur réellement visible, liens compacts, secours défilant. */
@media(max-width:1050px) {
  .gt-v2-navigation .gt-menu-fit,.gt-v2-navigation .gt-menu-fit * { box-sizing:border-box; }
  .gt-v2-navigation .wp-block-navigation__responsive-container.is-menu-open.gt-menu-fit {
    box-sizing:border-box; top:var(--gt-menu-top,0px) !important; bottom:auto !important;
    height:var(--gt-menu-height,100dvh); max-height:var(--gt-menu-height,100dvh);
    padding:64px 22px max(12px,env(safe-area-inset-bottom)) !important; overflow:auto !important;
  }
  .gt-v2-navigation .gt-menu-fit.is-menu-open .wp-block-navigation__responsive-close,
  .gt-v2-navigation .gt-menu-fit.is-menu-open .wp-block-navigation__responsive-dialog { position:relative; height:auto; min-height:0; margin:0; }
  .gt-v2-navigation .gt-menu-fit.is-menu-open .wp-block-navigation__responsive-container-content { flex-direction:column !important; height:auto !important; min-height:0; gap:0 !important; }
  .gt-v2-navigation .gt-menu-fit.is-menu-open .wp-block-navigation__container { padding:0; margin:0; list-style:none; min-width:0; }
  .gt-v2-navigation .gt-menu-fit.is-menu-open .wp-block-navigation-item__content { padding:9px 0 !important; font-size:clamp(26px,4.5dvh,38px) !important; line-height:1.05 !important; }
  .gt-v2-navigation .gt-menu-fit.is-menu-open .gt-v2-contact-link { margin-block:12px !important; }
  .gt-v2-navigation .gt-menu-fit.is-menu-open .gt-v2-contact-link .wp-block-navigation-item__content { padding:12px !important; font-size:23px !important; }
  .gt-v2-navigation .gt-menu-fit.is-menu-open .gt-v2-mobile-secondary .wp-block-navigation-item__content { padding:8px 0 !important; font-size:17px !important; line-height:1.15 !important; }
  .gt-v2-navigation .gt-menu-fit.is-menu-open .wp-block-navigation__responsive-container-close { top:-52px !important; }
  body:has(.gt-menu-fit.is-menu-open) .gt-gallery-contact { display:none !important; }
}
