/* La Kabane — finition de la direction artistique, prépublication 2026-11-12.
 * Palette et contraste cohérents pour surfaces claires/sombres, sans écraser
 * les contenus privés, les images choisies dans le Studio ni les interactions.
 * Ordre de l'accueil conforme au cahier des charges 11 novembre (chap. 07).
 */
:root{
 --da-night:#20172f;--da-indigo:#30213f;--da-rose:#ffb4d8;
 --da-tangerine:#ffca89;--da-cyan:#8cdce2;
 --da-cream:#f6f1e8;--da-forest:#253c32;
 --da-slate:#566456;--da-card:#30273d;
}
body{background:var(--da-cream);color:var(--da-forest)}
main{color:var(--da-forest)}
main .page-heading :is(h1,h2,h3){color:#24392f!important}
main .page-heading :is(p,small){color:#405548!important}
main .page-heading .eyebrow{color:#74507f!important}
main .footer,main .footer a{color:#4d5c50!important}
main .notice[role=status]{color:#f6eaf7}
main .card:not(.gallery-memory-card):not(.gallery-empty):not(.gallery-admin-object):not(.gallery-admin-memory){
 color:#f7ebfa;
}
main .card:not(.gallery-memory-card):not(.gallery-empty) :is(h1,h2,h3){
 color:#fff0fb;
}
main .card:not(.gallery-memory-card):not(.gallery-empty) .eyebrow{color:var(--da-tangerine)}
main .card:not(.gallery-memory-card):not(.gallery-empty) :is(p,small){
 color:#e2d1e8;
}
main .card:not(.gallery-memory-card):not(.gallery-empty) .button.secondary{
 color:#f7edff;background:#4e3a60;border-color:#a68bb8;
}
main .card:not(.gallery-memory-card):not(.gallery-empty) .button.secondary:hover{
 background:#5f4873;
}
main .card :is(a,button,select,input,textarea){max-width:100%}
main .card .text-button{color:#f2c7ff}
main .card .text-button:hover{color:#fff}
main .gallery-solved,main .gallery-solved :is(h2,h3,strong,p){
 color:#f9effb!important
}
main .gallery-gift,main .gallery-gift-result{
 color:#fff0fc;
}
main .gallery-gift :is(h2,h3,strong,p,small),
main .gallery-gift .gallery-gift-result :is(h2,h3,strong,p,small){
 color:#fff0fc!important
}
main .gallery-gift .eyebrow{color:#ffd69f!important}
main .gallery-gift .text-button{color:#f4cafa!important;text-decoration:underline;text-underline-offset:3px}
main .gallery-gift .button{background:linear-gradient(105deg,#d4a2ed,#f3b8d7);color:#2f2040;border:0}
main .gallery-gift .button.secondary{background:#fff2f7!important;color:#302040!important;border:1px solid #ead1e5!important}
main .gallery-gift-actions{display:flex;flex-wrap:wrap;gap:12px}
main .gallery-gift-actions button{min-height:48px}
main .gallery-media-unavailable{
 background:#f2ecdf;border:1px solid #a79a83;border-radius:16px;padding:20px;
 color:#283e31!important;font-weight:650
}
/* Grimoire : texte foncé sur les vraies cartes ivoire. */
main .souvenir-gallery .gallery-empty,main .souvenir-gallery .gallery-memory-card,
main .souvenir-studio .gallery-admin-object,main .souvenir-studio .gallery-admin-memory{
 background:#f9f6ed;color:#253a2e;
}
main .souvenir-gallery .gallery-empty :is(h3,p,span),
main .souvenir-gallery .gallery-memory-card :is(h3,p,span),
main .souvenir-studio .gallery-admin-object summary span,
main .souvenir-studio .gallery-admin-memory summary span{
 color:#243b30!important
}
main .souvenir-gallery .gallery-test-toggle{
 display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.6;
 color:#274638!important
}
main .souvenir-gallery .gallery-test-toggle input{margin-top:5px;flex:none;accent-color:#426f52}
main .souvenir-gallery>.page-heading :is(h1,p){text-shadow:none}
/* Accueil — route côtière au crépuscule, violet et néon doux.
   Les images de fond existantes demeurent visibles derrière le voile. */
main .hero:not(.gta-hero){
 background:linear-gradient(128deg,#261b45,#654176 60%,#bc6c80 90%);
 border-color:#9c6b97;box-shadow:0 20px 54px #27152e36
}
main .hero:not(.gta-hero)::after{
 background:linear-gradient(90deg,#21192deD 0%,#3e264acc 58%,#422c484d 100%)!important
}
main .hero:not(.gta-hero) .hero-content{z-index:2}
main .hero:not(.gta-hero) :is(h1,h1 span){
 color:#fff2fb!important;text-shadow:0 3px 18px #180e2e66!important;
}
main .hero:not(.gta-hero) h1 span{color:#ffca89!important}
main .hero:not(.gta-hero) :is(p,.hero-kicker,.hero-caption){
 color:#f7e2ed!important;text-shadow:0 1px 10px #120d2266
}
main .hero:not(.gta-hero) .hero-kicker{
 color:#ffd09b!important;font-weight:800;letter-spacing:.13em
}
main .hero:not(.gta-hero) .button{
 background:linear-gradient(120deg,#efaecc,#ffc891);
 color:#322037;border:1px solid #ffe3d3;min-height:51px;
 font-weight:800;box-shadow:0 9px 28px #180e2e50
}
main .hero:not(.gta-hero) .button:hover{background:#ffe4cb;color:#2d1f35}
/* Accueil : rangées du PDF 2 / 3 / 2 / 2, chaque univers identifiable */
main .home-destinations{display:grid;gap:14px;margin:22px 0 28px}
main .destination-row{display:grid;gap:14px}
main .destination-row-1,main .destination-row-3,main .destination-row-4{
 grid-template-columns:repeat(2,minmax(0,1fr))
}
main .destination-row-2{grid-template-columns:repeat(3,minmax(0,1fr))}
main .home-destinations .destination-card{
 position:relative;display:flex;align-items:center;gap:15px;overflow:hidden;
 padding:clamp(17px,2.2vw,27px);min-width:0;min-height:110px;
 background:#fffaf2;border:1px solid #9d8aa9;border-radius:19px;
 color:#283a32;box-shadow:0 11px 28px #29203b18;
 transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease
}
main .home-destinations .destination-card :is(b,small){color:#263c33}
main .home-destinations .destination-card b{font-size:clamp(17px,1.8vw,23px);font-weight:800;line-height:1.28}
main .home-destinations .destination-card small{font-size:13px;line-height:1.45}
main .home-destinations .destination-card>span{flex:none;color:#76518f;font-size:31px}
main .home-destinations .destination-card>i{margin-left:auto;color:#6d5386}
main .home-destinations .destination-card:hover{
 transform:translateY(-2px);border-color:#a96ebf;box-shadow:0 15px 30px #2f20402b
}
main .destination-row-1 .destination-card{min-height:158px;background:linear-gradient(115deg,#292144,#744271);border-color:#a76a97}
main .destination-row-1 .destination-card :is(b,small),main .destination-row-1 .destination-card>span,main .destination-row-1 .destination-card>i{color:#fff1f8}
main .destination-row-1 .destination-card:first-child{
 background:linear-gradient(115deg,#302545,#af597c 77%,#df8c73)
}
main .destination-row-1 .destination-card:last-child{
 background:linear-gradient(115deg,#273c37,#6b6344 78%,#ad8651)
}
main .destination-row-2 .destination-card{background:linear-gradient(135deg,#f1ebe4,#e5e8ec)}
main .destination-row-3 .destination-card:first-child{border-left:5px solid #715da5}
main .destination-row-3 .destination-card:last-child{border-left:5px solid #c18d66}
main .destination-row-4 .destination-card:last-child{
 background:linear-gradient(130deg,#3d3149,#453549);border-color:#967aa1
}
main .destination-row-4 .destination-card:last-child :is(b,small),
main .destination-row-4 .destination-card:last-child :is(span,i){color:#fff0f6}
/* Rubriques : nuances éditoriales et cartes cohérentes sans imagerie protégée */
main .film-recommendation-panel{border:1px solid #ad8a76;border-radius:20px;background:#f5e8d7;color:#44372f}
main .film-recommendation-panel :is(h2,h3,p){color:#44372f}
main .explorer-feature{background:linear-gradient(135deg,#594639,#8e614a,#bd906a);color:#fff4e9;border-radius:22px}
main .explorer-feature :is(h2,p){color:#fff4e9}
main .wow-banner{border-radius:23px}
main .gta-hero{border-radius:23px}
main .studio-tabs{scroll-padding-inline:10px}
/* Le détail essentiel de l'accessibilité : contrastes et zones tactiles. */
main input[type=checkbox],main input[type=radio]{accent-color:#875ca3}
main :is(button,select,a.button){min-height:44px}
main :is(button,a,input,textarea,select):focus-visible{
 outline:3px solid #e2ac58;outline-offset:3px
}
@media(max-width:760px){
 main .destination-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
 main .destination-row-2 .destination-card:last-child{grid-column:1/-1}
}
@media(max-width:560px){
 main .home-destinations{gap:11px}
 main .destination-row{gap:11px}
 main .destination-row-1 .destination-card{min-height:140px}
 main .destination-row-1 .destination-card b{font-size:18px}
 main .destination-row-1 .destination-card small{font-size:11px}
 main .destination-row-2{grid-template-columns:repeat(2,minmax(0,1fr))}
 main .destination-row-2 .destination-card:last-child{grid-column:1/-1}
 main .destination-row-3,main .destination-row-4{grid-template-columns:repeat(2,minmax(0,1fr))}
 main .home-destinations .destination-card{padding:15px 12px;gap:8px;min-height:105px}
 main .home-destinations .destination-card>span{font-size:25px}
 main .home-destinations .destination-card b{font-size:16px}
 main .home-destinations .destination-card small{font-size:11px}
 main .home-destinations .destination-card>i{display:none}
 main .hero:not(.gta-hero) .hero-content{min-height:326px}
 main .gallery-gift-actions{flex-direction:column;align-items:stretch}
 main .gallery-gift-actions .button{width:100%}
}
@media(prefers-reduced-motion:reduce){
 main .home-destinations .destination-card{transition:none;transform:none}
}

/* En-tête privé, signalements et accès — contrastes testés sur Android. */
.topbar .profile,.topbar .breadcrumb,.topbar .account-link,.topbar .level{
 color:#f4e8f6!important
}
.topbar .demo-badge{color:#f2dcf1!important;border-color:#ac94bb!important}
.topbar .account-link{
 display:inline-flex;align-items:center;justify-content:center;
 min-height:44px;font-weight:750;padding:8px 10px;
 border-radius:12px
}
.topbar .account-link:hover{background:#ffffff18;color:#fff!important}
.topbar .avatar{color:#30203b!important;background:#e0b7e8}
.kabane-character-strip{background:#f5efe4;border-color:#a69c9e;color:#293e33}
.kabane-character-strip b{color:#293e33}
main .welcome-line{color:#33463a}
main .footer a{font-size:12px}
main .gallery-active-card :is(h2,h3,p,span){color:#f5e6f6}
main .gallery-active-card .eyebrow{color:#ffd69f!important}
main .gallery-active-card .button.secondary{color:#274236!important;background:#f8fff7!important;border-color:#7d9c85!important}
main .gallery-start-card .eyebrow{color:#ffd093!important}
main .gallery-start-card .button{background:#d8a9e8;color:#291b35}
main .gallery-start-card .button:hover{background:#f1c9f2}
main .gallery-gift :is(a.text-link,button.text-button){color:#f1c8fa!important}
main .gallery-gift .gallery-gift-result strong{color:#fff3fd!important}
main .gallery-solved .button{color:#2b2039}
@media(max-width:650px){
 .topbar .account-link{font-size:13px;padding:8px}
 .topbar .demo-badge{font-size:10px}
 main .gallery-active-card .button{width:100%;justify-content:center}
 main .gallery-gift :is(button,a.button){min-height:48px}
}

/* Recette Motorola : contrastes réels selon la surface, sans pastel illisible. */
main .hero:not(.gta-hero){
 background:#eee6d8!important;
 color:#20372c!important
}
main .hero:not(.gta-hero) .landscape{opacity:.42!important}
main .hero:not(.gta-hero)::after{
 background:linear-gradient(90deg,rgba(249,244,234,.94) 0%,rgba(249,244,234,.86) 56%,rgba(249,244,234,.42) 100%)!important
}
main .hero:not(.gta-hero) :is(h1,h1 span){
 color:#20382c!important;text-shadow:none!important
}
main .hero:not(.gta-hero) h1 span{color:#60466e!important}
main .hero:not(.gta-hero) :is(p,.hero-kicker,.hero-caption){
 color:#2e4436!important;text-shadow:none!important
}
main .hero:not(.gta-hero) .hero-kicker{color:#5e446e!important}
main .hero:not(.gta-hero) .button{background:#49345a!important;color:#fff9ff!important;border:1px solid #675070!important}
main .hero:not(.gta-hero) .button:hover{background:#5b426d!important}
main .hero:not(.gta-hero) h1{font-size:clamp(34px,5vw,55px);line-height:1.16}
main .card.note{background:#ead3a9!important;border-color:#a48766!important}
main .card.note :is(.eyebrow,p,small,.signature,.note-mark){
 color:#3c342b!important;text-shadow:none!important
}
main .card.note p{font-size:clamp(17px,2vw,22px);line-height:1.55}
main .card.note .signature{font-weight:700}
main .sport-teaser{background:linear-gradient(125deg,#2b4355,#373047)!important;border:1px solid #6b7590!important}
main .sport-teaser :is(.eyebrow,h3,p){color:#f6f0ff!important;text-shadow:none!important}
main .sport-teaser>span{color:#d6e7c4!important}
main .sport-teaser h3{font-size:clamp(25px,3vw,35px);line-height:1.2}
main .shelf-heading .text-link,main .feature-film .text-link{
 color:#543361!important;text-decoration:underline;text-underline-offset:4px;font-weight:800
}
main .shelf-heading .text-link:hover,main .feature-film .text-link:hover{color:#32203d!important}
main .feature-film{background:#f7f1e6!important;color:#283b31!important;border-color:#81788a}
main .feature-film :is(h3,p,small){color:#283b31!important}
main .feature-film .pill{background:#e9ddec;color:#533663!important;border:1px solid #937c9b}
main .souvenir-gallery .page-heading :is(h1,p),main .souvenir-grimoire .page-heading :is(h1,p){color:#293e33!important}
main .gallery-sync-pending{
 background:#f9f1df!important;border:1px solid #a38854!important;
 color:#3a3326!important;border-radius:16px;padding:18px
}
main .gallery-sync-pending :is(b,strong,p){color:#3a3326!important}
main .gallery-sync-pending .button{background:#3d5141;color:white;min-height:48px}
main .gallery-memory-unlocked{
 text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;
 padding:clamp(24px,4vw,42px);
 background:linear-gradient(140deg,#34263f,#463451)!important;
 border:1px solid #d6b092!important
}
main .gallery-memory-unlocked :is(h2,p,.eyebrow){color:#fff2f9!important}
main .gallery-memory-unlocked h2{max-width:22ch;font-size:clamp(27px,5vw,44px);line-height:1.18}
main .gallery-memory-unlocked .gallery-memory-star{color:#ffd9a1;font-size:58px}
main .gallery-memory-unlocked .gallery-memory-xp{
 color:#ffe0a1!important;font-size:19px;font-weight:800
}
main .gallery-memory-unlocked .gallery-gift-actions{
 width:100%;justify-content:center;gap:12px
}
main .gallery-memory-unlocked .gallery-gift-actions .button{
 background:#efc5e9;color:#2b2037;border:0;padding:14px 20px;min-height:52px
}
main .gallery-memory-unlocked .gallery-gift-actions .button.secondary{
 background:#fff4df!important;color:#283e32!important;border:1px solid #e9cca9!important
}
@media(max-width:650px){
 main .hero:not(.gta-hero) h1{font-size:clamp(36px,8.4vw,48px);max-width:16ch}
 main .hero:not(.gta-hero) p{font-size:15px}
 main .card.note p{font-size:18px}
 main .gallery-memory-unlocked .gallery-gift-actions{flex-direction:column}
 main .gallery-memory-unlocked .gallery-gift-actions .button{width:100%}
}
