/* Shared layout and touch-first controls. Loaded after page styles. */
.storyReadiness{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px}.storyReadiness li{padding:12px;border:1px solid #dfd9cc;border-radius:12px;overflow-wrap:anywhere}.storyReadiness strong,.storyReadiness span{display:block}.storyReadiness span{margin-top:6px;font-size:14px}
.card h3{font-size:18px;line-height:1.3;margin:8px 0 14px}.story h1{font-family:Fredoka,Nunito,sans-serif;font-size:clamp(26px,4vw,36px);margin-bottom:18px;text-align:center}.gabaritPreview [data-gabarit-zone]{touch-action:none;cursor:move}
[hidden]{display:none!important}
.personalizationCanvas [data-zone-index]{touch-action:none;cursor:move}.personalizationView__settings{min-width:0}
.storefront .frame{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;overflow:visible}
.siteHeader,.siteFooter{flex-shrink:0}.siteFooter{margin-top:auto}
.skipLink{position:absolute;left:16px;top:-100px;z-index:100;background:#fff;padding:12px}.skipLink:focus{top:8px}
.site-nav{flex-wrap:wrap}.site-nav .links{flex-wrap:wrap;min-width:0}.site-nav a,.site-nav button,.siteFooter a,.siteFooter button{min-height:44px;display:inline-flex;align-items:center}
.site-nav .logo{white-space:nowrap}.menuToggle{display:none;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:700;padding:8px 12px}
.siteFooter{gap:8px 20px}.siteFooter>span{flex-basis:100%}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #266b96;outline-offset:3px}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px}
.wrap,.accountContent,.authPanel__content,.product>*{min-width:0}
.authPanel__content{width:100%;max-width:none}.authPanel__eyebrow{color:#416d5b}
.authForm__split{grid-template-columns:repeat(2,minmax(0,1fr))}
.authForm__split>label{min-width:0}.authAccount strong,.profileCard p{overflow-wrap:anywhere}
.cookie-banner{width:min(430px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;bottom:12px;right:12px}.cookie-banner h2{font-size:20px}.cookieActions{display:flex;flex-wrap:wrap;gap:8px}.cookieActions .btn{flex:1;margin:0}
.views{flex-wrap:wrap}.swatches button{width:44px;height:44px}.motifs button{min-height:44px}.motifs img{width:44px;height:44px;object-fit:contain}
.hint{min-height:24px}.field input{min-height:48px}.field label{line-height:1.4}
.static-page{width:100%;margin:auto;line-height:1.75;flex:1}.static-page h1{margin-bottom:20px}.contact-form textarea{min-height:160px;resize:vertical}.contactConsent{display:flex!important;align-items:flex-start;gap:10px!important}.contactConsent input{width:20px;min-height:20px;flex-shrink:0;margin-top:5px}
.accountPage .accountWrap{flex:1}.accountHero{flex-wrap:wrap}.orderCard__body{flex-wrap:wrap}.orderCard__body>div{min-width:0}.orderCard__actions{flex-wrap:wrap}.orderTimeline span.done{background:transparent}.orderTimeline{color:#5a6478}.orderTimeline .active{color:#665114}
.profileForm{display:grid;gap:16px}.profileForm label{display:grid;gap:6px}.profileForm input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit}.profileForm .btn{justify-self:start}.accountMenu button[aria-selected=true]{background:#eef7f2;color:var(--ink)}
.passwordField{position:relative}.passwordField input{padding-right:90px}.passwordField button{position:absolute;right:4px;top:3px;min-height:42px;border:0;background:transparent;color:#416d5b;font:inherit;font-size:14px}
.story h2{margin-bottom:18px}.story .sub{margin-top:0}.story-pages{max-height:none;overflow:visible}.story-page img{aspect-ratio:1;object-fit:contain}.story .nav-buttons{gap:10px}.story .nav-buttons .btn{flex:1}.story-empty,.story-incomplete{color:#5a6478}
.adminBody input,.adminBody select,.adminBody button,.adminBody .catalogueButton{min-height:44px}.adminBody input[type=checkbox]{min-height:20px;width:20px}.adminWorkspace__content,.productEditor,.categoryEditor>*{min-width:0}
@media(max-width:1000px){.site-nav{gap:8px 12px;padding:12px 16px}.site-nav .cart-button{margin-left:0}.menuToggle{display:inline-flex;margin-left:auto}.site-nav .links{order:4;width:100%;white-space:normal;overflow:visible;padding:8px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.menuReady .menuToggle[aria-expanded=false]~.links{display:none}.site-nav .links a{padding:6px 10px;border-radius:8px}.site-nav .links a:hover{background:#edf5ef}.profileCard{flex-wrap:wrap}.orderCard__actions{width:100%;margin-left:0}}
@media(max-width:760px){input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}.authPanel__visual{min-height:145px}.authPanel__book{top:50%}.authPanel__content{padding:26px 20px}.authLayout{width:calc(100% - 24px)}.authPanel h1{font-size:30px}.namebox .row{flex-wrap:wrap}.namebox .row button{width:100%}.hero{padding:24px 16px}.hero h1{font-size:32px}.hero .stage{height:240px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card .row{flex-wrap:wrap}.card .body{padding:12px}.card .row .btn{width:100%;padding:8px}.preview-box{padding:12px}.preview-box #preview>.product-media{height:330px;height:min(52dvh,380px)}.book-preview{grid-template-columns:1fr}.book-preview>svg{max-width:180px;margin:auto}.accountSectionHead,.orderCard__top{flex-wrap:wrap}.accountMenu{gap:4px}.accountMenu button,.accountMenu a{min-height:44px}.accountHero h1{overflow-wrap:anywhere}.accountContent .profileCard__avatar{flex-shrink:0}.accountDanger button{min-height:44px}.accountWrap{padding-top:20px}.profileForm .btn{width:100%}.siteFooter{padding:18px 16px}.static-page{padding:24px 16px}.adminSidebar__navigation{flex-wrap:wrap!important;overflow:visible!important}.adminSidebar__navigation>a{min-height:44px}.categoryEditor{grid-template-columns:1fr!important}.categoryEditor__description{grid-column:auto!important}.productRedirects__row{flex-wrap:wrap}.productRedirects__row code{overflow-wrap:anywhere}.productForm__section{padding:16px}.storyOptionForm__actions{flex-wrap:wrap}.adminBody input,.adminBody select,.adminBody textarea{max-width:100%}.productEditor__header h1{font-size:28px}.personalizationCanvas,.gabaritPreview{max-width:100%;touch-action:pan-y}}
@media(max-width:760px){.accountMenu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.accountMenu button,.accountMenu a{white-space:normal;min-width:0;text-align:center;justify-content:center}.product{gap:18px;align-items:start}.preview-box{align-self:start;gap:8px}.preview-box #preview>.product-media{height:min(32dvh,260px)}.preview-box #preview>.product-media--empty{min-height:180px}.views button{width:44px;height:44px}.profileForm input[readonly]{background:#f7f5ef}}
@media(max-width:760px) and (min-height:600px){.product>.preview-box{position:sticky;top:8px;z-index:2;box-shadow:0 4px 16px #1f2a4410}}
@media(max-width:390px){.authForm__split{grid-template-columns:1fr}.site-nav .logo{font-size:23px}.site-nav .cart-button{font-size:12px;padding:8px}.accountWrap{width:calc(100% - 24px)}.orderCard{padding:16px}.orderTimeline{flex-wrap:wrap}.cat-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.trust{grid-template-columns:1fr}}
/* Une fenêtre PC étroite conserve la navigation de bureau. */
@media (hover:hover) and (pointer:fine){.menuToggle{display:none!important}.menuReady .menuToggle[aria-expanded=false]~.links{display:flex}}
@media (min-width:761px) and (hover:hover) and (pointer:fine){.menuToggle{display:none!important}.site-nav .links,.menuReady .menuToggle[aria-expanded=false]~.links{display:flex;order:initial;width:auto;padding:0;grid-template-columns:none;white-space:normal}.site-nav .cart-button{margin-left:auto}}
/* Téléphones en paysage : le prix précède le bouton sans débordement. */
@media (max-width:1000px) and (orientation:landscape) and (hover:none) and (pointer:coarse){.card .body>.row{align-items:stretch;flex-direction:column}.card .row .price{display:block;width:100%}.card .row .btn{width:100%;padding:8px;white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
