/* Adaptation tactile du Temple et de ses pages de lecture. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media(max-width:760px){
  /* Une carte à 100% avec des marges débordait de 36px sur téléphone. */
  .carte-hero{width:calc(100% - 36px);max-width:530px;margin:20px auto 0;overflow:hidden;isolation:isolate;aspect-ratio:4/5}
  .screen{min-width:0}
  .topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));background:#10201cf5}
  .topbar>*{min-width:0}
  .backbtn,.book-link,.crumb-link{min-height:48px}
  .backbtn{padding:10px 4px;touch-action:manipulation}
  .crumb{font-size:11px;line-height:1.4;text-align:center;letter-spacing:.02em;overflow-wrap:anywhere;padding:8px 2px}
  .book-link{padding:10px 12px;font-size:13px;justify-content:center}
  .portal-nav{align-items:center;padding:12px 18px;gap:14px}
  .portal-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.4}
  .welcome{min-height:0}
  .welcome-copy{width:100%;padding:38px 22px 30px}
  .welcome h1{font-size:clamp(48px,12vw,65px);margin:14px 0 18px}
  .welcome-lead{font-size:27px;line-height:1.25}
  .welcome-copy>p:not(.eyebrow):not(.welcome-lead):not(.welcome-note){font-size:17px;line-height:1.7}
  .welcome .btn-gold{width:100%;min-height:52px;margin-top:20px;white-space:normal}
  .welcome-note{font-size:12px;line-height:1.7;letter-spacing:0}
  .welcome-art img{object-position:65% center}
  .book-spot{margin:20px 18px 36px;padding:26px;gap:25px;grid-template-columns:140px minmax(0,1fr)}
  .book-spot h2{font-size:29px;line-height:1.2}
  .book-spot p{font-size:17px}
  .book-spot .btn-gold{min-height:50px;white-space:normal;padding:13px 18px;text-align:center}
  .book-more{display:inline-flex;align-items:center;justify-content:center;min-height:44px;line-height:1.4}
  .map-header{padding:30px 20px 12px}
  .map-header h2{font-size:36px;line-height:1.15}
  .map-header p{font-size:16px;line-height:1.6}
  .first-steps{margin-top:0}
  .temple-grid{gap:18px 14px;padding:18px 18px 28px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .temple-card{aspect-ratio:4/5.8;touch-action:manipulation}
  .temple-card .tc-overlay{background:linear-gradient(180deg,transparent 22%,#10201cba 60%,#10201cf5 100%)}
  .temple-card .tc-text{left:13px;right:13px;bottom:20px}
  .temple-card .tc-guardian-main{font-size:clamp(21px,5.5vw,29px);line-height:1.15;overflow-wrap:normal}
  .temple-card .tc-title-sub{font-size:14px;line-height:1.3;margin-top:7px}
  .temple-card .tc-num{top:17px;left:17px}
  .temple-card .tc-visited{top:13px;right:13px}
  .temple-banner{width:100%;aspect-ratio:4/4.5;max-height:560px}
  .temple-banner .tb-badge{z-index:1}
  .temple-banner .tb-title{font-size:32px;line-height:1.15}
  .temple-intro,.pilier-header,.pilier-body,.carte-body,.door-detail{padding-left:22px;padding-right:22px}
  .temple-intro p,.pilier-body p,.door-detail p,.carte-message,.epilogue-box p{font-size:18px;line-height:1.75}
  .pilier-header h2,.door-detail h3{font-size:29px;line-height:1.2;overflow-wrap:break-word}
  .pilier-card,.door-card{padding:20px}
  .pilier-card .pc-title{font-size:23px;line-height:1.25}
  .pilier-card .pc-preview,.door-card .dc-preview{font-size:16px;line-height:1.55;-webkit-line-clamp:3}
  .pc-doors-count,.hidden-gods-hint{font-size:14px!important;line-height:1.55}
  .pilier-guardian-mini{align-items:flex-start;padding:14px;gap:12px}
  .pilier-guardian-mini img{flex-shrink:0}
  .pilier-guardian-mini>div{min-width:0}
  .pilier-guardian-mini .pgm-desc{font-size:14px;line-height:1.5}
  .tirer-carte{min-height:52px;font-size:18px;line-height:1.4;padding:14px 18px}
  .carte-name{font-size:39px}.carte-epithete{font-size:16px;line-height:1.45}
  .carte-section-title{font-size:14px;letter-spacing:.1em;line-height:1.5}
  .cs-name{font-size:19px}.cs-text,.carte-action{font-size:16px;line-height:1.65}
  .carte-tag{font-size:14px;line-height:1.4;white-space:normal}
  .carte-row{flex-direction:column;gap:22px}
  .formule-box{font-size:22px;line-height:1.5}
  .cta-compact{gap:18px;padding:20px;margin:24px 18px}
  .cta-compact img{width:88px;flex-shrink:0}
  .cta-compact-title{font-size:23px;line-height:1.25}
  .cta-compact-sub{font-size:14px;line-height:1.5}
  .cta-full{padding:28px 22px}
  .cta-full .btn-gold{width:100%;white-space:normal}
  .eleventh-door.locked{padding:14px;gap:8px}
  .eleventh-door .ed-text{min-width:0;padding:14px 10px}
  .eleventh-door.locked .ed-title{font-size:17px;line-height:1.45}
  .eleventh-door .ed-count{font-size:14px;margin-top:10px}
  .footer-credit{padding-bottom:calc(30px + env(safe-area-inset-bottom));font-size:11px;line-height:1.7}
  .text-version{padding:16px 22px calc(24px + env(safe-area-inset-bottom))}
  .text-version a{display:inline-flex;align-items:center;min-height:48px;font-size:15px;line-height:1.5}
  .lesson-body{font-size:18px;overflow-wrap:break-word}
  .lesson-body nav li{margin:10px 0}
  .lesson-body nav a,.lesson-nav a{display:inline-block;padding:8px 0;line-height:1.5}
  .lesson-head{padding:36px 0}
  .lesson-body h2{font-size:30px;line-height:1.2}
  .lesson-body .editorial{padding:28px 22px}
  .lesson-body .editorial h2{font-size:29px}
}
@media(max-width:600px){
  .book-spot{grid-template-columns:minmax(0,1fr);text-align:center;gap:20px}
  .book-spot>img{width:185px;max-width:100%;margin:auto}
  .book-spot h2{font-size:30px}
  .book-spot .btn-gold{width:100%}
}
@media(max-width:359px){
  .temple-grid{grid-template-columns:minmax(0,1fr);max-width:300px;margin:auto}
  .temple-card{aspect-ratio:4/5.4}
  .temple-card .tc-guardian-main{font-size:29px}
  .temple-card .tc-title-sub{font-size:16px}
  .cta-compact{display:grid;grid-template-columns:1fr;text-align:center;gap:12px}
  .cta-compact img{width:110px;margin:auto}
  .topbar{padding-left:10px;padding-right:10px;gap:5px}
  .book-link{font-size:12px;padding:10px}.backbtn{font-size:14px}.crumb{font-size:10px}
}
@media(hover:none){.temple-card:hover{transform:none}}
@media(max-height:500px) and (orientation:landscape){.topbar{position:relative}.welcome-copy{padding-top:25px}.temple-banner,.carte-hero{max-width:380px;margin-left:auto;margin-right:auto}}
