/* Public header: player account next to merchant participation. */
.site-header .header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.site-header .header-account{background:#f18a36;color:#172c3b;border:1px solid #e87b27;border-radius:6px;font-size:13px;font-weight:700;min-height:44px;padding:12px 16px;white-space:nowrap}.site-header .header-account:hover{background:#ff9d4c;color:#172c3b}.site-header .header-account:focus-visible{outline:3px solid #075c68;outline-offset:4px}.site-header .header-account[hidden]{display:none!important}.site-header .header-account-mobile{display:none}.site-header .header-actions .header-cta{margin:0}
@media(min-width:901px){.site-header{gap:18px}.site-header nav{gap:18px}.site-header .header-promise{display:none}}
@media(min-width:901px) and (max-width:1379px){.site-header{flex-wrap:wrap;justify-content:space-between;row-gap:4px}.site-header .header-actions{margin-left:auto}.site-header nav{order:3;flex:1 0 100%;justify-content:center;padding-top:4px}.site-header .brand{width:220px}}
@media(max-width:900px){.site-header .header-actions{display:none}.site-header nav .header-account-mobile:not([hidden]){display:inline-flex;justify-content:center;flex-basis:100%;margin-bottom:8px;padding:12px 16px}}

/* Tablet navigation stays visible in portrait; phones retain the compact menu. */
@media (min-width:600px) and (max-width:900px) {
 .site-header .menu-toggle{display:none}
 .site-header .header-actions{display:flex;margin-left:auto}
 .site-header #navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));order:3;flex:1 0 100%;gap:10px 16px;padding-top:8px}
 .site-header #navigation .header-account-mobile:not([hidden]){display:none}
 .site-header #navigation>a{justify-content:center;min-height:44px;padding:10px 4px;font-size:13px}
 .site-header #navigation>.discover{position:static;border:0;margin:0;min-width:0}
 .site-header #navigation>.discover>summary{justify-content:center;gap:6px;padding:10px 4px;min-height:44px;font-size:13px}
 .site-header #navigation>.discover>summary span{margin-left:0}
 .site-header #navigation .discover-menu{position:absolute;left:0;right:0;top:100%;width:100%;max-width:none;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 24px;border:1px solid #dce7ec;border-radius:0 0 10px 10px;box-shadow:0 10px 20px #062a4225}
}

/* Portrait tablets: each presentation chapter has its own viewport.
   Minimum heights allow longer content and enlarged text to keep scrolling. */
@media (min-width:600px) and (max-width:1100px) and (orientation:portrait) {
 main.content-page .portrait-intro{min-height:calc(100dvh - var(--portrait-intro-offset,200px));height:auto}
 main.content-page>.portrait-opening{min-height:calc(100dvh - var(--portrait-header-height,200px));height:auto;display:grid;grid-template-rows:auto 1fr auto}
 main.content-page>.portrait-screen{min-height:100dvh;height:auto;scroll-margin-top:0;padding-top:36px;padding-bottom:36px}
 main.content-page>.portrait-screen>*{min-width:0}
 main.content-page>.portrait-screen h2{overflow-wrap:break-word}
 .enseignes-page .enseignes-opening .enseignes-hero{grid-template-columns:1.2fr .8fr;gap:24px;padding-top:24px;padding-bottom:24px}
 .enseignes-page .enseignes-opening #enseignes-title{font-size:clamp(28px,4vw,42px)}
 .enseignes-page #enseignes-title>span,.enseignes-page #enseignes-title>em{white-space:normal}
 .enseignes-opening .enseignes-lead{font-size:17px;line-height:1.6;margin-top:20px}
 .enseignes-opening .ticket-xp-poster img{max-height:48dvh;width:auto;max-width:100%;object-fit:contain}
 .enseignes-opening .page-jumps{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:14px;padding-bottom:18px}
 .enseignes-page>#fonctionnement,.enseignes-page>#parcours,.enseignes-page>#premier-essai{display:flex;flex-direction:column;justify-content:center}
 .enseignes-page .ticket-flow{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0}
 .enseignes-page .flow-art,.enseignes-page .flow-art.flow-card{height:200px;margin-bottom:20px}
 .enseignes-page .flow-card img{height:auto;max-height:200px;width:auto;max-width:100%}
 .enseignes-page .flow-xp{width:150px;max-width:100%;height:150px}
 .enseignes-page .flow-receipt{max-width:100%}
 .enseignes-page .flow-stage+.flow-stage:before,.enseignes-page .flow-stage+.flow-stage:after{display:none}
 .enseignes-page .ticket-flow h3{font-size:23px}
 .enseignes-page .ticket-flow p{font-size:15px}
 .enseignes-page .enseignes-comparison,.enseignes-page .pilot-grid{grid-template-columns:1fr;gap:20px}
 .enseignes-page .enseignes-comparison article,.enseignes-page .pilot-grid article{padding:22px 28px}
 .enseignes-page .enseignes-comparison h3,.enseignes-page .pilot-grid h3{font-size:25px;margin-bottom:12px}
 .enseignes-page .enseignes-comparison p{margin-bottom:0}
 .enseignes-page #essayer{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:24px;align-items:center}
 .enseignes-page #essayer .experience-card-fan{--fan-height:clamp(140px,20vw,220px)}
 .enseignes-page #essayer .experience-card img{width:100%;max-width:220px;height:auto}
 .enseignes-page>.enseignes-reel{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:28px}
 .enseignes-page .enseignes-reel>div{grid-row:auto}
 .content-page .merchant-opening .merchant-intro{grid-template-columns:1fr;padding-top:24px;padding-bottom:24px;gap:24px}
 .merchant-opening .merchant-photo{width:340px;max-width:100%;justify-self:center}
 .merchant-opening .merchant-photo>p{padding:12px;font-size:14px}
 .merchant-opening .lead{font-size:17px;line-height:1.6;margin-top:20px}
 .merchant-opening .page-jumps{margin-top:0}
 .content-page .merchant-paths-heading h2{white-space:normal}
 .content-page #en-caisse .section-heading h2{white-space:normal}
}
@media (min-width:600px) and (max-width:1100px) and (orientation:portrait) {
 main.portrait-home>.hero{min-height:calc(100dvh - var(--portrait-header-height,200px));height:auto}
}
@media (min-width:600px) and (max-width:700px) and (orientation:portrait) {
 .enseignes-opening .breadcrumb{padding-top:10px;padding-bottom:10px}
 .enseignes-page .enseignes-opening .enseignes-hero{padding-top:18px;padding-bottom:18px}
 .enseignes-opening .enseignes-lead{margin-top:14px}
}
