
/* KAMStoryTime: standardized visual footprint, same aspect as Vol02; physical book specs unchanged. */
:root{--kam-ink:#18324c;--kam-purple:#4a2a7d;--kam-gold:#b07b20}
.kam-uniform{position:relative!important;display:block!important;width:100%!important;height:auto!important;aspect-ratio:0.77!important;overflow:hidden!important;flex:none!important}
.kam-uniform>img{position:absolute!important;max-width:none!important;max-height:none!important;object-fit:fill!important;object-position:initial!important;display:block!important}
.book-cover.has-image:has(.kam-uniform){background:transparent!important;box-shadow:none!important;transform:none!important;overflow:visible!important}
.book-cover.has-image>picture{display:block;width:100%}
.b18-book-3d{width:140px!important;height:auto!important;aspect-ratio:.77!important}
.b18-visual-slot{height:200px!important}
.book-cover.has-image .kam-uniform{max-width:330px;margin-inline:auto}
.mini-tl-thumb:has(.kam-uniform),.footer-18-cover-box:has(.kam-uniform){aspect-ratio:.77!important}
.hero-art{width:100%;max-width:530px;margin-inline:auto}
.book-detail-cover:has(.kam-duo){display:block!important;width:100%!important;aspect-ratio:auto!important;height:auto!important;max-width:none!important;padding:0!important;transform:none!important}
.book-detail-cover:has(.kam-duo)::before,.book-detail-cover:has(.kam-duo)::after{display:none!important}
.hero-book-clickable:has(.kam-duo){display:block!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;transform:none!important}
.kam-duo{position:relative;width:100%;aspect-ratio:.86;isolation:isolate;transform:translateY(0);transition:transform .35s ease}
.kam-duo:hover{transform:translateY(-5px)}
.kam-stand{position:absolute;width:66%;left:19%;bottom:15%;z-index:2;filter:drop-shadow(8px 12px 7px #17284225)}
.kam-lie{position:absolute;width:92%;height:62%;left:4%;bottom:9%;transform:perspective(1000px) rotateX(65deg) rotateZ(-12deg);transform-origin:50% 100%;transform-style:preserve-3d;z-index:1}
.kam-lie>img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:fill!important;border:3px solid var(--kam-spine);border-radius:4px}
.kam-lie-spine{position:absolute;left:0;top:100%;width:100%;height:34px;transform-origin:50% 0;transform:rotateX(-90deg);background:var(--kam-spine);border-bottom:4px solid #b99a46;display:flex;align-items:center;gap:12px;justify-content:center;color:#fff;text-shadow:0 1px 2px #000;font:bold 13px Georgia,serif;overflow:hidden;padding:0 9px}
.kam-lie-spine b{color:#fff;font-size:17px}
.kam-lie-pages{position:absolute;left:100%;top:0;width:28px;height:100%;background:repeating-linear-gradient(90deg,#fff 0 2px,#d2d2c9 2px 3px);transform-origin:0 50%;transform:rotateY(90deg)}
.kam-medal{width:140px!important;height:140px!important;bottom:20px!important;right:0!important;z-index:4}
.kam-cap{position:relative!important;color:#18324c!important;background:#fff!important;font-size:17px!important;margin-top:12px!important;display:inline-block;padding:8px 14px;border:2px solid #8a73b5;border-radius:18px}
/* Strong ink on white replaces white-on-white / yellow-on-yellow facts. */
body{font-size:18px}
main p,main li{font-size:max(1rem,18px);line-height:1.6}
.spec-badge{background:#fff!important;border:2px solid #c5d8e6!important;box-shadow:0 3px 0 #adc1d2!important;padding:14px!important}
.spec-label{color:#33475b!important;font-size:16px!important;font-weight:700!important;opacity:1!important;line-height:1.4!important;text-transform:none!important}
.spec-value{color:#172f4b!important;font-size:24px!important;line-height:1.3!important;text-shadow:none!important;-webkit-text-fill-color:#172f4b!important}
.book-specs-highlight{gap:12px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.book-detail-copy .lead{color:#18324c!important;font-size:21px!important}
.b18-desc,.b18-pages-tag,.book-meta p,.eyebrow,.flip-lead,.flip-quote{color:#18324c!important}
.b18-desc{font-size:16px!important;line-height:1.45!important}
.b18-pages-tag{font-size:15px!important;background:#fff1ba!important}
.b18-title{font-size:20px!important;line-height:1.3!important}
.b18-btn,.button,button,input,select{font-size:17px;min-height:44px}
.flip-link,.text-link{font-size:18px!important;color:#4b287b!important;font-weight:700}

h2{font-size:clamp(1.8rem,3.1vw,3rem)!important;line-height:1.2!important}
h3{line-height:1.3}
main{position:relative;isolation:isolate}
main::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.07;background-image:url('/media/brand/logo-kam-arbre-vert-or.png'),url('/media/brand/kam-ankh-symbol.png');background-size:190px auto,85px auto;background-position:calc(100% - 10px) 170px,30px 680px;background-repeat:repeat-y;mask-image:linear-gradient(#000,#000)}
/* Carefully selected illustrated pages only; no textual sample from Vol18. */
.kam-preview-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:16px 6px 28px}
.kam-preview-track>.flip-page{flex:0 0 min(350px,82vw);margin:0;scroll-snap-align:start;background:#fff;border:2px solid #ead7a2;border-radius:20px;overflow:hidden;box-shadow:0 5px 0 #e6dabd}
.kam-preview-track .flip-img-box{aspect-ratio:4/5;position:relative;background:#fff9e9}
.kam-preview-track .flip-img-box img{width:100%;height:100%;object-fit:contain}
.kam-preview-track .flip-caption{padding:14px 18px}
.kam-preview-track .flip-quote{font-size:20px!important;font-weight:600;margin:0 0 8px}
.kam-preview-track .flip-vol-tag{position:absolute;left:10px;top:10px;background:#fff;color:#233e58;border:1px solid #b8c9d4;padding:5px 9px;border-radius:10px;font-size:16px}
.kam-gallery-controls{display:flex;align-items:center;gap:14px;color:#18324c;font-size:16px}
.kam-gallery-controls button{background:#4a2a7d;color:#fff;border:0;border-radius:50%;width:46px;height:46px;font-size:30px;cursor:pointer}
.faq-home details,.parents-tip{font-size:18px;color:#18324c}
.section{padding-block:clamp(32px,5vw,64px)!important}
@media(max-width:700px){
 body{font-size:18px}
 .book-detail-hero{gap:24px!important;padding-top:30px!important}
 .hero-art{max-width:370px}
 .kam-medal{width:102px!important;height:102px!important;bottom:20px!important}
 .kam-cap{font-size:15px!important;max-width:100%}
 .spec-value{font-size:23px!important}
 .spec-label{font-size:16px!important}
 .book-detail-copy h1{font-size:clamp(2.1rem,9vw,3rem)!important}
 .book-detail-copy .lead{font-size:19px!important}
 .book-specs-highlight{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .b18-title{font-size:20px!important}
 .kam-lie-spine{font-size:11px;height:28px}
 main::before{background-size:120px auto,60px auto;opacity:.045}
}
@media(prefers-reduced-motion:reduce){.kam-duo,.kam-uniform,.tilt{animation:none!important;transition:none!important;transform:none!important}.kam-preview-track{scroll-behavior:auto}}

/* Explicitly override earlier hero max-width clamp and white title effects. */
.hero-book-clickable .kam-uniform>img{max-width:none!important;max-height:none!important;object-fit:fill!important;}




@keyframes kam-duo-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.kam-duo{animation:kam-duo-breathe 7s ease-in-out infinite;}
.kam-duo:hover{animation-play-state:paused;}
@media(prefers-reduced-motion:reduce){.kam-duo{animation:none!important;}}



main::before{position:fixed;inset:0;background-repeat:no-repeat;background-position:calc(100% - 20px) 160px,25px calc(100% - 60px);opacity:.08;}
.kam-collapsed .b18-card:nth-child(n+7){display:none!important;}
.kam-collection-more{text-align:center;margin-top:24px}
.kam-collection-more button{color:#fff;background:#4a2a7d;box-shadow:0 5px 0 #291644;border:0;border-radius:18px;padding:13px 26px;font-weight:700;cursor:pointer}
@media(max-width:900px){.kam-collapsed .b18-card:nth-child(n+5){display:none!important;}}
@media(max-width:600px){.kam-collapsed .b18-card:nth-child(n+3){display:none!important;}main::before{background-position:calc(100% - 8px) 100px,12px calc(100% - 40px);}}
