:root{--burg:#760f27;--burg2:#8f1836;--cream:#fbf5eb;--ink:#2d1b16;--gold:#b88a42;--line:#dfcdb6;--paper:#fffaf1;--rose:#f4e7df}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,"Times New Roman",serif}a{text-decoration:none;color:inherit}.wrap{max-width:1200px;margin:auto;padding:0 26px}
.topbar{height:36px;background:linear-gradient(90deg,#6b0b20,#8e1731,#6b0b20);color:#fff;padding:0 28px;display:flex;align-items:center;justify-content:space-between;font:italic 12px Arial,sans-serif}.social{font-style:normal;letter-spacing:.2em}.mast{background:#fffaf2;border-bottom:1px solid #e6d5c1}.mast .brandrow{height:105px;display:grid;grid-template-columns:110px 1fr 150px;align-items:center}.feather{font-size:66px;color:var(--burg);transform:rotate(-16deg);text-align:center}.name{text-align:center;font-size:44px;letter-spacing:.04em}.author{display:block;color:#a46e3a;font-size:34px;font-style:italic;margin-top:-5px}.cart{text-align:right;color:var(--burg);font:14px Arial,sans-serif}.nav{display:flex;justify-content:center;gap:52px;padding:0 0 16px;font:13px Arial,sans-serif}.nav a{padding-bottom:9px}.nav a.active{color:var(--burg);border-bottom:3px solid var(--burg)}
.hero{height:355px;background:url('hero_ref.png') center/cover no-repeat;border-bottom:1px solid #b79268}.features{background:#fff9ef;border-bottom:1px solid var(--line)}.features .grid{display:grid;grid-template-columns:repeat(5,1fr)}.feature{text-align:center;padding:24px 18px;border-right:1px solid var(--line);min-height:132px}.feature:last-child{border-right:0}.icon{font-size:33px;color:var(--burg);margin-bottom:8px}.feature b{display:block;color:#6b1328;font-size:14px;margin-bottom:8px}.feature span{font:12px/1.5 Arial,sans-serif}
.section{padding:34px 0}.section h1,.section h2{text-align:center;font-weight:500;margin:0 0 28px}.section h1{font-size:34px}.section h2{font-size:25px}.section h1:after,.section h2:after{content:"❧";display:block;font-size:18px;color:var(--gold);margin-top:4px}.books-head{display:flex;justify-content:flex-end;margin-bottom:-20px}.all{font:12px Arial,sans-serif;color:var(--burg)}.books{display:grid;grid-template-columns:repeat(4,1fr);gap:38px;align-items:start;padding:0 30px}.book{text-align:center}.cover{width:150px;height:242px;margin:auto;background:linear-gradient(145deg,#1c2230,#4b2b25);box-shadow:0 10px 18px #0003;border-radius:2px;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#f6ead9;padding:16px;text-align:center}.cover img{width:100%;height:100%;object-fit:cover;display:block}.book h3{font-size:14px;margin:12px 0 4px;min-height:34px}.genre{font:10px Arial,sans-serif;text-transform:uppercase;color:#5f514b;margin-bottom:9px}.btn,button.btn{display:inline-block;background:var(--burg);color:#fff;padding:8px 18px;border-radius:2px;font:11px Arial,sans-serif;border:0;cursor:pointer}.btn.secondary{background:transparent;color:var(--burg);border:1px solid var(--burg)}
.content-grid{display:grid;grid-template-columns:3fr 1.15fr;gap:20px;align-items:start}.universe-area h2{text-align:center;font-size:25px;font-weight:500;margin:0 0 14px}.universe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.u{height:175px;position:relative;overflow:hidden;color:white;background:#221}.u img{width:100%;height:100%;object-fit:cover;filter:brightness(.72)}.u .label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10px;text-shadow:0 2px 7px #000}.u b{font-size:15px}.u span{font:11px/1.35 Arial,sans-serif;margin:7px 0 10px}.u .mini{font:10px Arial,sans-serif;background:var(--burg);padding:6px 12px;border-radius:2px}.card{background:#fbf2e7;border:1px solid #eadac8;padding:14px}.chopin h3{font-size:21px;color:#6a1b2b;margin:0 0 10px;text-align:center}.chopin img{width:100%;height:150px;object-fit:cover}.chopin p{font-style:italic;font-size:14px;line-height:1.5;text-align:center}.chopin .btn{display:block;width:max-content;margin:10px auto 0}
.bottom{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:16px;margin-top:18px}.about-card,.news,.contact{background:#fbf4ea;border:1px solid #e5d2bd;padding:18px}.about-card h3,.news h3,.contact h3{margin:0 0 12px;font-size:20px;font-weight:500}.about-flex{display:grid;grid-template-columns:160px 1fr;gap:18px}.about-flex img{width:160px;height:205px;object-fit:cover;border-radius:2px}.about-flex p,.prose{font:13px/1.65 Arial,sans-serif}.news-item{display:grid;grid-template-columns:82px 1fr;gap:10px;margin-bottom:12px}.news-item img{width:82px;height:58px;object-fit:cover}.news-item small{font:10px Arial,sans-serif;color:#927b6d}.news-item b{display:block;font-size:13px;margin:3px 0}.news-item a{font:11px Arial,sans-serif;color:var(--burg)}.contact p{font:12px/1.45 Arial,sans-serif}.contact input,.contact textarea,.contact select,.checkout input,.checkout textarea,.checkout select{width:100%;padding:10px;border:1px solid #d7c8b7;background:white;margin:7px 0 12px;font:13px Arial,sans-serif}.contact textarea,.checkout textarea{min-height:110px;resize:vertical}.contact .btn{width:100%;text-align:center}.script{text-align:center;font-style:italic;color:#88452f;font-size:18px;margin-top:22px}
.page-hero{background:linear-gradient(rgba(44,20,15,.38),rgba(44,20,15,.38)),url('hero_ref.png') center top/cover;height:210px;color:white;display:flex;align-items:flex-end;justify-content:center;text-align:center;padding-bottom:16px}.page-hero h1{font-size:38px;font-weight:500;margin:0;text-shadow:0 2px 12px #0008}.catalogue{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.catalogue .bookcard{background:var(--paper);border:1px solid var(--line);padding:18px;display:grid;grid-template-columns:105px 1fr;gap:16px;box-shadow:0 8px 20px #6246200d}.bookcard .mini-cover{width:105px;height:168px;background:linear-gradient(145deg,#16212b,#593325);overflow:hidden;display:flex;align-items:center;justify-content:center;color:white;text-align:center;padding:10px}.bookcard .mini-cover img{width:100%;height:100%;object-fit:cover}.bookcard h3{font-size:18px;margin:0 0 5px}.bookcard p{font:12px/1.5 Arial,sans-serif;margin:7px 0}.price{font-size:18px;color:var(--burg);margin:10px 0}.actions{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-block;font:10px Arial,sans-serif;text-transform:uppercase;background:var(--rose);padding:4px 7px;margin-bottom:7px;color:#6a1b2b}
.shop-layout{display:grid;grid-template-columns:1fr 340px;gap:28px}.shop-products{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.product{background:var(--paper);border:1px solid var(--line);padding:18px}.product h3{margin:0 0 5px;font-size:19px}.product p{font:12px/1.5 Arial,sans-serif}.product .price{font-size:20px}.cartbox{position:sticky;top:18px;background:#fff9ef;border:1px solid var(--line);padding:18px}.cartbox h2{text-align:left;margin:0 0 12px;font-size:22px}.cart-item{border-bottom:1px solid #e7d5c2;padding:10px 0;font:12px Arial,sans-serif}.cart-item b{font-family:Georgia,serif;font-size:14px}.cart-row{display:flex;justify-content:space-between;gap:10px}.cart-total{display:flex;justify-content:space-between;font-size:20px;margin:14px 0}.qty{display:inline-flex;gap:7px;align-items:center}.qty button{border:1px solid #cdb59d;background:#fff6ec;cursor:pointer}.empty{font:13px/1.5 Arial,sans-serif;color:#7c6a60}.notice{background:#fff2dc;border-left:4px solid var(--gold);padding:12px 14px;font:12px/1.5 Arial,sans-serif;margin-bottom:18px}.checkout{background:#fbf4ea;border:1px solid var(--line);padding:20px;margin-top:24px}.checkout h2{text-align:left;margin-bottom:12px}.checkout-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}.success{display:none;background:#edf5ec;border:1px solid #b7ceb4;padding:14px;font:13px Arial,sans-serif;margin-top:12px}
.about-page{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}.about-page img{width:100%;border:1px solid var(--line);box-shadow:0 10px 24px #0002}.quote{font-size:24px;font-style:italic;color:#6a1b2b;border-left:3px solid var(--gold);padding-left:18px;margin:20px 0}.legal-page h2{font-size:22px;margin-top:28px}.legal-page p,.legal-page li{font:13px/1.65 Arial,sans-serif}.footer{margin-top:20px;background:linear-gradient(90deg,#711029,#8b1632,#711029);color:#fff}.footer .fgrid{display:grid;grid-template-columns:repeat(3,1fr) 1.4fr;gap:18px;padding:18px 26px;align-items:center}.fitem{font:11px/1.4 Arial,sans-serif}.fitem b{font-family:Georgia,serif;font-size:13px}.legal{text-align:right;font:10px Arial,sans-serif;opacity:.9}.legal a{margin-left:8px}
@media(max-width:950px){.catalogue{grid-template-columns:1fr 1fr}.shop-layout{grid-template-columns:1fr}.cartbox{position:static}.shop-products{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.mast .brandrow{grid-template-columns:55px 1fr 80px}.name{font-size:29px}.author{font-size:25px}.nav{gap:18px;flex-wrap:wrap}.hero{height:260px}.features .grid{grid-template-columns:1fr 1fr}.feature{border-bottom:1px solid var(--line)}.books{grid-template-columns:1fr 1fr;gap:26px}.content-grid{grid-template-columns:1fr}.universe-grid{grid-template-columns:1fr 1fr}.bottom{grid-template-columns:1fr}.footer .fgrid{grid-template-columns:1fr 1fr}.legal{text-align:left}.about-flex{grid-template-columns:120px 1fr}.about-flex img{width:120px;height:170px}.catalogue{grid-template-columns:1fr}.about-page{grid-template-columns:1fr}.about-page img{max-width:320px;margin:auto}.shop-products{grid-template-columns:1fr}.checkout-grid{grid-template-columns:1fr}}
@media(max-width:560px){.topbar{height:auto;padding:8px 14px;gap:10px}.topbar span:first-child{display:none}.mast .brandrow{height:88px;grid-template-columns:40px 1fr 64px}.feather{font-size:40px}.name{font-size:22px}.author{font-size:20px}.cart{font-size:11px}.wrap{padding:0 14px}.books{grid-template-columns:1fr}.universe-grid{grid-template-columns:1fr}.features .grid{grid-template-columns:1fr}.footer .fgrid{grid-template-columns:1fr}.catalogue .bookcard{grid-template-columns:85px 1fr}.bookcard .mini-cover{width:85px;height:136px}}

.book-detail{display:grid;grid-template-columns:280px 1fr;gap:46px;align-items:start;max-width:980px;margin:0 auto}
.book-detail-cover{width:260px;min-height:405px;background:linear-gradient(145deg,#342229,#7a2034);box-shadow:0 14px 30px #5b2c1f33;border:1px solid #c7aa85;display:flex;align-items:center;justify-content:center;padding:26px;text-align:center;color:#fff9ed;font-size:25px;line-height:1.25}
.book-detail-cover img{width:100%;height:auto;display:block}
.book-kicker{font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--burg);margin-bottom:10px}
.book-detail h1{text-align:left;font-size:38px;line-height:1.08;margin:0 0 14px;font-weight:500}
.book-detail h1:after{display:none}
.book-lead{font:16px/1.75 Georgia,serif;color:#4f3730}
.book-meta{display:flex;flex-wrap:wrap;gap:8px 18px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0;font:12px/1.5 Arial,sans-serif}
.book-purchase{background:#fff7ea;border:1px solid var(--line);padding:18px;margin-top:22px}
.book-purchase .price{margin:0 0 12px;font-size:24px}
.book-note{margin-top:12px;font:11px/1.5 Arial,sans-serif;color:#766158}
.back-books{display:inline-block;margin-bottom:20px;color:var(--burg);font:12px Arial,sans-serif}
@media(max-width:760px){.book-detail{grid-template-columns:1fr}.book-detail-cover{width:220px;min-height:340px;margin:auto}.book-detail h1{text-align:center;font-size:31px}.book-kicker{text-align:center}}

/* Accueil — bio verticale validée */
.about-stack{display:flex;flex-direction:column;align-items:center;text-align:center}
.about-stack img{width:180px;height:230px;object-fit:cover;border-radius:2px;border:1px solid var(--line);box-shadow:0 9px 20px #5d35201f;margin-bottom:12px}
.about-name{font-size:18px;color:#5f182b;margin:2px 0 10px}
.about-name span{font-size:15px;font-style:italic;color:#9b6b3d}
.about-copy{width:100%;max-width:430px}
.about-copy p{font:13px/1.7 Arial,sans-serif;text-align:left}
.about-copy .btn{margin-top:4px}
@media(max-width:850px){.about-stack img{width:170px;height:220px}}

.category-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 30px}
.category-nav a{border:1px solid var(--line);background:#fff8ed;padding:9px 14px;color:var(--burg);font:11px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}
.catalogue-anchor{height:1px;grid-column:1/-1;scroll-margin-top:120px}
.coming-paper{margin:12px 0;padding:12px 14px;background:#f7ead8;border-left:3px solid #a47b3a;font:13px/1.55 Georgia,serif;color:#5a4037}
.product-coming{background:linear-gradient(145deg,#fff8eb,#f3e5d2)}
.product-links{margin:-4px 0 12px;font:11px Arial,sans-serif}
.product-links a{color:var(--burg);text-decoration:underline;text-underline-offset:3px}
.shipping-pending{margin:8px 0 14px;font:11px/1.45 Arial,sans-serif;color:#766158}
.info-page{max-width:980px;margin:auto}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:28px}
.info-card{background:#fff8ed;border:1px solid var(--line);padding:24px;box-shadow:0 8px 22px #5b2c1f12}
.info-card h3{margin:6px 0 9px;color:var(--burg)}
.info-card p{margin:0;line-height:1.7}
.info-icon{font-size:28px}
.center-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}
@media(max-width:760px){.info-grid{grid-template-columns:1fr}}

.shop-intro{grid-column:1/-1;max-width:760px;margin:0 auto 28px;text-align:center}
.shop-intro h2{color:var(--burg);margin-bottom:8px}
.shop-intro p{line-height:1.7}
.shop-products{align-items:stretch}
.product{display:flex;flex-direction:column}
.shop-cover{display:block;width:150px;height:220px;margin:0 auto 18px;box-shadow:0 10px 24px #2d17152b;transition:transform .2s ease,box-shadow .2s ease;background:#eee;overflow:hidden}
.shop-cover:hover{transform:translateY(-4px);box-shadow:0 14px 28px #2d171540}
.shop-cover img{width:100%;height:100%;object-fit:cover;display:block}
.product .actions{margin-top:auto}
.book-back{margin:24px 0 0;font:12px Arial,sans-serif}
.book-back a{color:var(--burg);text-decoration:none}
.book-back a:hover{text-decoration:underline}
.mini-cover{display:block}
.mini-cover img{transition:transform .2s ease}
.mini-cover:hover img{transform:scale(1.025)}

.book-move-hint{grid-column:1/-1;text-align:center;margin:-14px 0 24px;font:italic 12px/1.5 Georgia,serif;color:#765d53}
.shop-cover.book3d{width:170px;height:245px;overflow:visible;background:transparent;box-shadow:none;perspective:1100px;margin:0 auto 22px}
.book3d-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(-18deg) rotateX(1deg);transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .45s ease;filter:drop-shadow(12px 14px 14px rgba(43,25,20,.25))}
.book3d-front{position:absolute;inset:0;display:block;overflow:hidden;border-radius:1px 4px 4px 1px;backface-visibility:hidden;background:#eee;box-shadow:inset 2px 0 rgba(255,255,255,.18)}
.book3d-front img{width:100%;height:100%;display:block;object-fit:cover}
.book3d-pages{position:absolute;top:5px;right:-13px;width:15px;height:calc(100% - 10px);background:repeating-linear-gradient(to right,#efe7d7 0,#efe7d7 2px,#d8cdbc 3px,#f7f0e3 4px);transform:rotateY(90deg);transform-origin:left center;border-radius:0 2px 2px 0}
.book3d-inner:after{content:"";position:absolute;left:5px;right:0;bottom:-9px;height:12px;background:linear-gradient(to bottom,#f4eadb,#cbbca9);transform:rotateX(90deg);transform-origin:top center;border-radius:0 0 3px 3px}
@media (hover:hover) and (pointer:fine){
  .shop-cover.book3d:hover .book3d-inner{transform:rotateY(-5deg) rotateX(0deg) translateY(-6px) scale(1.025);filter:drop-shadow(16px 18px 16px rgba(43,25,20,.30))}
}
.shop-cover.book3d.is-tilted .book3d-inner{transform:rotateY(5deg) rotateX(0deg) translateY(-4px) scale(1.02)}
@media (prefers-reduced-motion:reduce){
  .book3d-inner{transition:none;transform:rotateY(-12deg)}
}

/* V25 — mockups papier sans cadre */
.book-mockup{
  display:block;width:176px;height:250px;margin:2px auto 24px;
  perspective:1200px;text-decoration:none;background:none!important;
  border:0!important;box-shadow:none!important;overflow:visible!important;
}
.paperback{
  position:relative;display:block;width:158px;height:232px;margin-left:5px;
  transform-style:preserve-3d;
  transform:rotateY(-22deg) rotateX(2deg);
  transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .45s ease;
  filter:drop-shadow(18px 18px 12px rgba(42,25,20,.28));
}
.paperback-cover{
  position:absolute;inset:0;z-index:4;display:block;overflow:hidden;
  border-radius:2px 5px 5px 2px;background:transparent;
  transform:translateZ(8px);
}
.paperback-cover img{width:100%;height:100%;object-fit:cover;display:block;border:0!important;box-shadow:none!important}
.paperback-spine{
  position:absolute;left:-8px;top:2px;width:10px;height:228px;z-index:3;
  background:linear-gradient(to right,rgba(45,30,27,.8),rgba(115,88,74,.72),rgba(30,20,18,.7));
  transform:rotateY(-90deg) translateZ(4px);transform-origin:right center;
}
.paperback-pages{
  position:absolute;right:-10px;top:5px;width:13px;height:222px;z-index:2;
  background:repeating-linear-gradient(to right,#f8f2e7 0,#f8f2e7 2px,#d9cdbb 3px,#eee5d7 4px);
  transform:rotateY(90deg);transform-origin:left center;border-radius:0 3px 3px 0;
}
.paperback-bottom{
  position:absolute;left:4px;bottom:-8px;width:150px;height:10px;z-index:1;
  background:repeating-linear-gradient(to bottom,#f8f2e7 0,#e3d7c6 2px,#f5ede1 3px);
  transform:rotateX(90deg);transform-origin:top center;
}
@media (hover:hover) and (pointer:fine){
 .book-mockup:hover .paperback{
   transform:rotateY(-8deg) rotateX(0deg) translateY(-6px) scale(1.035);
   filter:drop-shadow(20px 22px 14px rgba(42,25,20,.34));
 }
}
@media (prefers-reduced-motion:reduce){
 .paperback{transition:none;transform:rotateY(-15deg)}
}

/* V26 — mockups papier également dans Mes romans */
.catalogue-mockup{width:162px;height:238px;margin:4px auto 20px}
.catalogue-mockup .paperback{width:146px;height:218px}
.catalogue-mockup .paperback-spine{height:214px}
.catalogue-mockup .paperback-pages{height:208px}
.catalogue-mockup .paperback-bottom{width:138px}
.bookcard .catalogue-mockup{align-self:center}


/* V27 — correction du chevauchement dans Mes romans */
#policiers .bookcard,
#historiques .bookcard,
#fantastiques .bookcard,
#autres .bookcard,
.bookcard{
  overflow:visible;
}
.bookcard .catalogue-mockup{
  flex:0 0 185px;
  width:170px;
  min-width:170px;
  margin:8px 24px 22px 8px;
}
.bookcard > div:not(.catalogue-mockup),
.bookcard .book-info,
.bookcard .book-copy,
.bookcard .book-text{
  min-width:0;
}
@media (min-width:760px){
  .bookcard{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    column-gap:28px;
    align-items:start;
  }
  .bookcard .catalogue-mockup{
    grid-column:1;
    grid-row:1 / span 20;
    margin:8px auto 22px;
  }
  .bookcard > *:not(.catalogue-mockup){
    grid-column:2;
  }
}
@media (max-width:759px){
  .bookcard{
    display:block;
  }
  .bookcard .catalogue-mockup{
    width:162px;
    min-width:0;
    margin:8px auto 26px;
  }
}


/* V28 — lisibilité Mes romans + suppression des cadres parasites */

/* Actualités : aucune bordure sombre autour des images */
.actualites-catalogue .mini-cover{
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:hidden;
}
.actualites-catalogue .mini-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Mes romans : deux cartes par ligne pour laisser une vraie place au texte */
.romans-catalogue{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:26px!important;
}
.romans-catalogue .bookcard{
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:22px!important;
  align-items:start!important;
  overflow:hidden!important;
  min-width:0;
}
.romans-catalogue .bookcard .catalogue-mockup{
  grid-column:1!important;
  grid-row:1!important;
  width:160px!important;
  min-width:160px!important;
  height:238px!important;
  margin:8px auto 18px!important;
}
.romans-catalogue .bookcard > div{
  grid-column:2!important;
  min-width:0!important;
  width:auto!important;
}
.romans-catalogue .bookcard p{
  overflow-wrap:anywhere;
}

/* La perspective reste jolie, mais ne peut plus empiéter sur le texte */
.romans-catalogue .catalogue-mockup{
  overflow:visible!important;
  justify-self:center;
}
.romans-catalogue .catalogue-mockup .paperback{
  transform:rotateY(-17deg) rotateX(1deg);
}
@media (hover:hover) and (pointer:fine){
  .romans-catalogue .catalogue-mockup:hover .paperback{
    transform:rotateY(-6deg) rotateX(0deg) translateY(-4px) scale(1.015);
  }
}

/* Fiches ouvertes avec DÉCOUVRIR : la couverture épouse exactement l'image */
.book-detail-cover{
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.book-detail-cover img{
  width:100%!important;
  height:auto!important;
  display:block!important;
  box-shadow:0 14px 30px rgba(91,44,31,.20);
}

/* Responsive */
@media (max-width:1050px){
  .romans-catalogue{
    grid-template-columns:1fr!important;
  }
  .romans-catalogue .bookcard{
    grid-template-columns:180px minmax(0,1fr)!important;
  }
}
@media (max-width:620px){
  .romans-catalogue .bookcard{
    display:block!important;
  }
  .romans-catalogue .bookcard .catalogue-mockup{
    width:160px!important;
    min-width:0!important;
    margin:8px auto 24px!important;
  }
  .romans-catalogue .bookcard > div{
    width:100%!important;
  }
}


/* V29 — accueil : derniers romans sans cadre + Chopin entier */
.home-books .mini-cover,
.latest-books .mini-cover,
.featured-books .mini-cover,
.home-books .book-cover,
.latest-books .book-cover,
.featured-books .book-cover{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.home-books .mini-cover img,
.latest-books .mini-cover img,
.featured-books .mini-cover img,
.home-books .book-cover img,
.latest-books .book-cover img,
.featured-books .book-cover img{
  display:block!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Chopin : ne plus rogner sa tête */
.chopin img,
.chopin-card img,
.cat-card img,
.coin-chopin img,
.chopin-photo img{
  object-fit:contain!important;
  object-position:center top!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  border-radius:0!important;
}
.chopin,
.chopin-card,
.cat-card,
.coin-chopin,
.chopin-photo{
  overflow:visible!important;
}


/* V30 — Chopin Actualités : tête entière, deux yeux visibles */
.actualites-catalogue img[src$="chopin_actualites.png"],
img[src$="chopin_actualites.png"]{
  object-fit:contain!important;
  object-position:center top!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  border:0!important;
  box-shadow:none!important;
}


/* V31 — Accueil / Mes derniers romans : vrais mockups papier, zéro cadre */
.home-book-mockup{
  display:block;
  width:150px;
  height:220px;
  margin:4px auto 18px;
  perspective:1000px;
  text-decoration:none;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.home-paperback{
  position:relative;
  display:block;
  width:138px;
  height:205px;
  transform-style:preserve-3d;
  transform:rotateY(-16deg) rotateX(1deg);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),filter .4s ease;
  filter:drop-shadow(12px 14px 10px rgba(42,25,20,.24));
}
.home-paperback-cover{
  position:absolute;
  inset:0;
  z-index:3;
  display:block;
  overflow:hidden;
  border-radius:1px 3px 3px 1px;
  transform:translateZ(6px);
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.home-paperback-cover img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
.home-paperback-pages{
  position:absolute;
  right:-8px;
  top:4px;
  width:10px;
  height:197px;
  z-index:2;
  background:repeating-linear-gradient(to right,#f8f2e7 0,#f8f2e7 2px,#d9cdbb 3px,#eee5d7 4px);
  transform:rotateY(90deg);
  transform-origin:left center;
}
.home-paperback-bottom{
  position:absolute;
  left:3px;
  bottom:-6px;
  width:132px;
  height:8px;
  background:repeating-linear-gradient(to bottom,#f8f2e7 0,#e3d7c6 2px,#f5ede1 3px);
  transform:rotateX(90deg);
  transform-origin:top center;
}
.home-cover-clean{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.home-cover-clean img{
  display:block!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}
@media (hover:hover) and (pointer:fine){
  .home-book-mockup:hover .home-paperback{
    transform:rotateY(-5deg) rotateX(0deg) translateY(-4px) scale(1.025);
    filter:drop-shadow(15px 17px 11px rgba(42,25,20,.30));
  }
}
@media (prefers-reduced-motion:reduce){
  .home-paperback{transition:none}
}

/* V32 — cartes Actualités cliquables, sans modification visuelle */
.actualites-catalogue .news-link{color:inherit;text-decoration:none;cursor:pointer}
.actualites-catalogue .news-link:focus-visible{outline:2px solid var(--burg);outline-offset:3px}

/* V32.1 — liens explicites sur les trois images Actualités */
.actualites-catalogue .actualite-image-link{display:block;color:inherit;text-decoration:none;cursor:pointer;position:relative;z-index:5}
.actualites-catalogue .actualite-title-link{color:inherit;text-decoration:none}
.actualites-catalogue .actualite-image-link .mini-cover{pointer-events:auto}
.actualites-catalogue .actualite-image-link img{pointer-events:auto}

/* V32.2 — correction des clics Actualités : la règle générique .bookcard ne doit pas superposer le texte aux images */
@media (min-width:760px){
  .actualites-catalogue .bookcard > .actualite-image-link{
    grid-column:1!important;
    grid-row:1!important;
    align-self:start;
    justify-self:start;
    width:105px;
    height:168px;
    position:relative;
    z-index:10;
  }
  .actualites-catalogue .bookcard > div:not(.mini-cover){
    grid-column:2!important;
    grid-row:1!important;
    position:relative;
    z-index:1;
  }
}
@media (max-width:759px){
  .actualites-catalogue .bookcard > .actualite-image-link{
    display:block!important;
    width:105px;
    height:168px;
    margin:0 0 14px;
    position:relative;
    z-index:10;
  }
}

/* V32.3 — liens directs et autonomes des trois images Actualités */
.actualites-catalogue .bookcard > .actualite-direct-link{grid-column:1!important;grid-row:1!important;width:105px;height:168px;display:block!important;position:relative!important;z-index:999!important;cursor:pointer!important;text-decoration:none!important;pointer-events:auto!important;align-self:start;justify-self:start;overflow:hidden}
.actualites-catalogue .actualite-direct-image{display:block!important;width:105px!important;height:168px!important;object-fit:cover!important;pointer-events:auto!important}
.actualites-catalogue .bookcard > div{grid-column:2!important;grid-row:1!important;position:relative;z-index:1}
@media(max-width:759px){.actualites-catalogue .bookcard{display:grid!important;grid-template-columns:105px minmax(0,1fr)!important;gap:16px!important}.actualites-catalogue .bookcard > .actualite-direct-link{grid-column:1!important;grid-row:1!important}.actualites-catalogue .bookcard > div{grid-column:2!important;grid-row:1!important}}

/* V33.3 — correction globale des bannières, sans modification du design */
/* Accueil : conserver l'intégralité de l'image de référence pour que le début du texte reste visible. */
.hero{
  height:auto;
  aspect-ratio:1024 / 355;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}

/* Pages intérieures : la bannière et le titre sont désormais deux zones distinctes.
   Le titre ne peut donc plus empiéter sur le texte intégré à l'image. */
.page-hero{
  height:auto;
  padding:0;
  display:block;
  background:none;
  color:var(--ink);
  text-align:center;
  border-bottom:0;
}
.page-hero::before{
  content:"";
  display:block;
  height:210px;
  background:
    linear-gradient(rgba(44,20,15,.30),rgba(44,20,15,.30)),
    url('hero_ref.png') center top / cover no-repeat;
  border-bottom:1px solid #b79268;
}
.page-hero h1{
  margin:0;
  padding:16px 14px 12px;
  background:var(--bg);
  color:var(--ink);
  font-size:34px;
  font-weight:500;
  line-height:1.15;
  text-shadow:none;
}

@media(max-width:850px){
  .hero{height:auto;aspect-ratio:1024 / 355}
  .page-hero::before{height:180px}
  .page-hero h1{font-size:30px;padding:14px 12px 10px}
}
@media(max-width:560px){
  .hero{height:auto;aspect-ratio:1024 / 355}
  .page-hero::before{height:145px}
  .page-hero h1{font-size:26px;padding:12px 10px 9px}
}
