@charset "UTF-8";
/*
 * Libri · livello grafico consolidato 037
 * Caricato dopo i fogli specifici. Corregge contrasto, responsive,
 * leggibilità, overflow e coerenza dei componenti pubblici e riservati.
 */
:root{
  --mb-books-bg:#f5f1e8;
  --mb-books-paper:#fffdf8;
  --mb-books-ink:#171714;
  --mb-books-muted:#625d56;
  --mb-books-line:#d5cec2;
  --mb-books-line-strong:#8f887e;
  --mb-books-red:#c40018;
  --mb-books-red-dark:#8f0011;
  --mb-books-green:#285b3b;
  --mb-books-focus:#005fcc;
  --mb-books-max:1320px;
  --mb-books-radius:0;
  --mb-books-shadow:0 14px 38px rgba(25,21,16,.10);
  --mb-books-sans:Arial,Helvetica,sans-serif;
  --mb-books-serif:Georgia,"Times New Roman",serif;
}
html{
  min-width:320px;
  overflow-x:clip;
  background:var(--mb-books-bg);
  color:var(--mb-books-ink);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:88px;
}
body{
  min-width:320px;
  overflow-x:clip;
  color:var(--mb-books-ink);
  background-color:var(--mb-books-bg);
  font-family:var(--mb-books-sans);
  line-height:1.55;
}
*,*::before,*::after{box-sizing:border-box}
img,svg,video,canvas{max-width:100%;height:auto}
img{display:block}
iframe{max-width:100%;border:0}
main,section,article,aside,header,footer,nav,form,fieldset,table{min-width:0}
p,li,dd,dt,th,td,label,small,strong,span,a,button{overflow-wrap:anywhere}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:.08em}
button,input,select,textarea{font:inherit}
input,select,textarea{max-width:100%;color:var(--mb-books-ink);background:#fff}
button{color:var(--mb-books-ink)}
:focus-visible{outline:3px solid var(--mb-books-focus)!important;outline-offset:3px!important}
[hidden]{display:none!important}

/* Contenitori e tipografia */
.library-site main,
.shop-public-main,
.checkout-shell,
.reviews-page main,
.reader-main,
body:not(.reader-body) main{
  min-width:0;
}
h1,h2,h3{
  text-wrap:balance;
  overflow-wrap:anywhere;
}
p{max-width:78ch}
.eyebrow,.product-kicker,.book-kicker{line-height:1.35}

/* Pulsanti: colori stabili anche prima del passaggio del mouse */
.button,
a.button,
button.button,
.primary,
.secondary,
.book-button,
input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  max-width:100%;
  padding:.78rem 1rem;
  border:1px solid var(--mb-books-line-strong);
  border-radius:var(--mb-books-radius);
  font-weight:800;
  line-height:1.18;
  text-align:center;
  text-decoration:none;
  text-shadow:none;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
}
.button *,button *,a.button *{color:inherit!important;-webkit-text-fill-color:currentColor!important}
.button.primary,.button-primary,.primary,button.primary,input[type="submit"].primary{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:var(--mb-books-red)!important;
  border-color:var(--mb-books-red)!important;
}
.button.primary:hover,.button-primary:hover,.primary:hover,button.primary:hover,
.button.primary:focus-visible,.button-primary:focus-visible,.primary:focus-visible,button.primary:focus-visible{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:var(--mb-books-red-dark)!important;
  border-color:var(--mb-books-red-dark)!important;
}
.button.light,.button.outline,.button.secondary,.secondary,.book-button,
.panel.dark .button.light,.panel.dark button.button.light,
.reader-hero .button.light,.product-aside .button.light{
  color:var(--mb-books-ink)!important;
  -webkit-text-fill-color:var(--mb-books-ink)!important;
  background:#fff!important;
  border-color:var(--mb-books-line-strong)!important;
}
.button.light:hover,.button.outline:hover,.button.secondary:hover,.secondary:hover,.book-button:hover,
.panel.dark .button.light:hover,.panel.dark button.button.light:hover{
  color:var(--mb-books-ink)!important;
  -webkit-text-fill-color:var(--mb-books-ink)!important;
  background:#ece7de!important;
  border-color:var(--mb-books-ink)!important;
}
.button[aria-disabled="true"],button:disabled,input[type="submit"]:disabled{
  opacity:1!important;
  color:#4e4942!important;
  -webkit-text-fill-color:#4e4942!important;
  background:#ddd8cf!important;
  border-color:#aaa398!important;
  cursor:not-allowed!important;
  filter:none!important;
}

/* Testate pubbliche e riservate */
.site-header,.reader-head,.lib-head,.shop-public-header{
  max-width:100%;
  min-height:72px;
  height:auto;
  gap:1rem;
}
.site-header nav,.reader-head nav,.lib-head nav,.shop-public-nav{
  min-width:0;
  max-width:100%;
  flex-wrap:wrap;
}
.site-header nav a,.reader-head nav a,.reader-head nav button,.lib-head nav a,.lib-head nav button,.shop-public-nav a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  white-space:normal;
}

/* Catalogo principale */
.hero,.catalogue,.author,.editorial-project,.books-services,.site-footer{min-width:0}
.hero{min-height:auto}
.hero-copy,.hero-library,.book-copy,.book-cover,.section-intro>*{min-width:0}
.hero h1{line-height:.96!important}
.book-card,.book-card-2{min-width:0}
.book-cover img{width:100%;height:auto;object-fit:contain}
.book-copy h3,.book-copy h2{line-height:.98}
.book-facts,.reading-grid,.project-steps{min-width:0}

/* Correzione definitiva del riquadro Area Lettori in home Libri */
.books-services.reader-access-callout{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:clamp(56px,8vw,110px) max(18px,calc((100vw - var(--mb-books-max))/2))!important;
  border-top:1px solid var(--mb-books-line)!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:7px solid var(--mb-books-red)!important;
  background:var(--mb-books-paper)!important;
}
.books-services.reader-access-callout .section-intro{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr)!important;
  gap:clamp(2rem,6vw,5rem)!important;
  align-items:end!important;
  margin:0 0 2rem!important;
  padding:0 0 2rem!important;
}
.books-services.reader-access-callout .reading-grid{
  display:grid!important;
  width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:1px!important;
  border:1px solid var(--mb-books-line)!important;
  background:var(--mb-books-line)!important;
}
.books-services.reader-access-callout .reading-grid article{
  min-width:0!important;
  padding:clamp(18px,2.2vw,28px)!important;
  background:#f8f4eb!important;
}
.books-services.reader-access-callout .reading-grid h3{font-size:clamp(1.15rem,1.8vw,1.5rem)!important;line-height:1.18!important}
.books-services.reader-access-callout .reading-grid p{font-size:.95rem!important;line-height:1.55!important}

/* Area Lettori */
.reader-head{padding-top:10px!important;padding-bottom:10px!important}
.reader-hero{
  min-height:0!important;
  padding:clamp(28px,5vw,54px)!important;
  grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr)!important;
}
.reader-hero h1{font-size:clamp(2.6rem,6vw,5.4rem)!important;line-height:.98!important}
.reader-hero p{font-size:clamp(1rem,1.6vw,1.15rem)!important;line-height:1.55!important}
.access-grid,.reader-catalogue>header,.reader-rules{min-width:0}
.panel,.member-summary,.reader-catalogue,.request-history,.reader-rules,.single-card{min-width:0}
.panel.dark{color:#fff!important;background:#1c1c1a!important}
.panel.dark h1,.panel.dark h2,.panel.dark h3,.panel.dark p,.panel.dark label,.panel.dark strong{color:#fff}
.panel.dark input,.panel.dark textarea,.panel.dark select{color:var(--mb-books-ink)!important;background:#fff!important}
.reader-form{gap:13px!important}
.reader-form label{gap:6px!important;line-height:1.3!important}
.reader-form input,.reader-form textarea,.reader-form select{min-height:46px;padding:12px 13px!important}
.reader-form .check{display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:10px!important}
.reader-form .check input{width:20px!important;height:20px!important;min-height:20px!important;margin:1px 0 0!important}
.reader-book{min-width:0}
.reader-book dl{min-width:0}

/* Biblioteca, recensioni e pagine legali */
.lib-head{padding-top:9px!important;padding-bottom:9px!important}
.lib-access-grid,.books-grid,.reader-layout,.protection>div{min-width:0}
.book-card{min-width:0}
.book-card img{object-fit:contain!important;background:#eee9df}
.reader-status{min-width:0;padding:clamp(22px,4vw,36px)!important}
.reader-status h2{font-size:clamp(2rem,4vw,3.3rem)!important;line-height:1.06!important}
.reader-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important}
.page-toolbar{flex-wrap:wrap}
.page-toolbar>*{min-width:0}
.page-frame{min-width:0;overflow:auto}
.reviews-flow{
  display:grid!important;
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)!important;
  gap:clamp(24px,4vw,44px)!important;
  align-items:start!important;
  padding:clamp(24px,4vw,40px)!important;
}
.reviews-flow h2{
  max-width:12ch!important;
  margin:.25rem 0 0!important;
  font-size:clamp(2.2rem,4vw,4.1rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
.reviews-flow ol{min-width:0!important}
.reviews-flow li{min-width:0!important}
.reviews-flow>.button{grid-column:2!important;justify-self:start!important}
.book-reviews{min-width:0}
.book-review-grid{min-width:0}
.book-review-grid article{min-width:0}
.legal-wrap{width:min(calc(100% - 32px),920px)!important;padding:clamp(42px,7vw,76px) 0 90px!important}
.legal-content{min-width:0;padding:clamp(22px,5vw,64px)!important}
.legal-content h1,.legal-content h2,.legal-content h3{line-height:1.08!important}

/* Schede prodotto, checkout e libri dedicati */
.product-hero,.product-body,.product-meta,.checkout-card,.book-shell,.book-main,.book-grid{min-width:0}
.product-copy h1{line-height:.94!important}
.product-meta{min-width:0}
.product-meta div{min-width:0}
.product-aside{min-width:0}
.checkout-card{overflow:hidden}
.checkout-form input,.checkout-form select,.checkout-form textarea{min-height:46px}
.book-actions,.product-actions,.summary-actions{max-width:100%}
.book-actions form,.product-actions form{max-width:100%}

/* Tabelle e contenuti larghi */
.table-wrap,.shop-table-wrap,.responsive-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
table{max-width:100%;border-collapse:collapse}

/* Mobile e tablet */
@media(max-width:1100px){
  .books-services.reader-access-callout .reading-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .reader-layout{grid-template-columns:1fr!important}
  .reader-tools{position:static!important}
}
@media(max-width:860px){
  html{scroll-padding-top:0}
  .site-header,.reader-head,.lib-head,.shop-public-header{
    position:static!important;
    align-items:flex-start!important;
    padding:12px 16px!important;
  }
  .site-header nav,.reader-head nav,.lib-head nav,.shop-public-nav{
    width:100%;
    justify-content:flex-start!important;
    gap:6px!important;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    scrollbar-width:thin;
    padding-bottom:4px;
  }
  .site-header nav a,.reader-head nav a,.reader-head nav button,.lib-head nav a,.lib-head nav button,.shop-public-nav a{
    flex:0 0 auto;
    white-space:nowrap;
    padding:.55rem .7rem!important;
  }
  .site-header nav a:not(.site-home),.lib-head nav a{display:inline-flex!important}
  .reader-hero{grid-template-columns:1fr!important}
  .reader-hero aside{border-top:1px solid rgba(255,255,255,.22);border-left:0!important;padding:20px 0 0!important}
  .access-grid,.reader-catalogue>header,.reader-rules,.lib-access-grid,.books-grid,.product-hero,.product-body{grid-template-columns:1fr!important}
  .reviews-flow,.book-reviews{grid-template-columns:1fr!important}
  .reviews-flow>.button{grid-column:1!important}
  .reviews-flow h2{max-width:16ch!important}
  .product-cover{width:min(78vw,360px);margin-inline:auto}
}
@media(max-width:620px){
  body{font-size:16px}
  main{width:min(100% - 20px,var(--mb-books-max))!important}
  .library-site main{width:auto!important}
  .site-header,.reader-head,.lib-head,.shop-public-header{gap:9px!important}
  .site-brand,.reader-brand,.lib-brand,.shop-public-brand{min-width:0}
  .site-brand strong,.reader-brand strong,.lib-brand strong,.shop-public-brand strong{font-size:.95rem!important}
  .hero{padding-top:54px!important;padding-bottom:54px!important}
  .hero h1{font-size:clamp(3rem,15vw,4.8rem)!important}
  .section-intro h2,.author h2,.project-title-block h2,.reading-info h2{font-size:clamp(2.5rem,12vw,4rem)!important;line-height:1!important}
  .books-services.reader-access-callout{padding:48px 14px!important}
  .books-services.reader-access-callout .section-intro{grid-template-columns:1fr!important;gap:1.5rem!important}
  .books-services.reader-access-callout .reading-grid{grid-template-columns:1fr!important}
  .reader-hero{padding:25px 20px!important}
  .reader-hero h1{font-size:clamp(2.4rem,13vw,3.8rem)!important}
  .panel,.member-summary,.reader-catalogue,.request-history,.reader-rules,.single-card,.book-card,.reviews-flow,.book-reviews,.reviews-empty{padding:20px!important}
  .reader-book{grid-template-columns:1fr!important}
  .reader-book img{width:min(66vw,220px)!important}
  .button,a.button,button.button,.primary,.secondary,.book-button{width:100%}
  .book-actions,.product-actions,.summary-actions{display:grid!important;width:100%!important}
  .product-meta{grid-template-columns:1fr!important}
  .product-meta div{border-right:0!important;border-bottom:1px solid var(--mb-books-line)!important}
  .product-meta div:last-child{border-bottom:0!important}
  .reviews-flow h2{font-size:clamp(2rem,12vw,3.15rem)!important;max-width:none!important}
  .lib-hero h1{font-size:clamp(2.8rem,14vw,4.6rem)!important;line-height:.98!important}
  .reader-intro h1{font-size:clamp(2.5rem,12vw,4rem)!important}
  footer{justify-content:flex-start!important;padding:24px 16px!important}
}
@media(max-width:380px){
  .site-header,.reader-head,.lib-head,.shop-public-header{padding-inline:10px!important}
  .hero h1{font-size:2.75rem!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media print{
  .site-header,.reader-head,.lib-head,.shop-public-header,.pwa-install-card,.reader-install,.page-toolbar{display:none!important}
  body{background:#fff!important;color:#000!important}
  main{width:100%!important;padding:0!important}
  a{text-decoration:underline}
}


/* ======================================================================
   038 · ripristino pagine pubbliche, recensioni e documenti dello Shop
   Correzioni mirate dopo il collaudo reale del 28 luglio 2026.
   ====================================================================== */
html,body{max-width:100%}
h1,h2,h3,h4{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none;
}
.lib-head{
  width:100%;
  max-width:none;
}
.lib-brand{
  min-width:0;
  display:inline-flex!important;
  align-items:center;
  gap:12px;
}
.lib-brand img{
  flex:0 0 auto;
  width:44px!important;
  height:44px!important;
  object-fit:contain;
}
.lib-brand strong{
  min-width:0;
  line-height:1.15;
}
.lib-head nav a{
  display:inline-flex!important;
  align-items:center;
  min-height:42px;
}

/* Messaggi operativi: mai più pagina bianca o errore non spiegato */
.message.error,.msg.error{
  width:min(100%,980px);
  padding:16px 18px!important;
  border:1px solid #c77882!important;
  border-left:6px solid var(--mb-books-red)!important;
  color:#4e0911!important;
  background:#fff1f2!important;
  line-height:1.5!important;
}

/* Pagina autonoma delle recensioni */
.reviews-page{
  background:var(--mb-books-bg)!important;
}
.reviews-page .reviews-main{
  width:min(calc(100% - 32px),1120px)!important;
  margin-inline:auto!important;
  padding:0 0 clamp(64px,8vw,110px)!important;
}
.reviews-page .reviews-hero{
  max-width:850px!important;
  padding:clamp(56px,8vw,96px) 0 clamp(32px,5vw,52px)!important;
}
.reviews-page .reviews-hero h1{
  max-width:12ch!important;
  margin:.18em 0 .28em!important;
  font-size:clamp(3rem,7vw,5.7rem)!important;
  line-height:.94!important;
  letter-spacing:-.045em!important;
}
.reviews-page .reviews-hero>p:last-child{
  max-width:760px!important;
  margin:0!important;
  font-size:clamp(1rem,1.5vw,1.16rem)!important;
  line-height:1.65!important;
}
.reviews-process{
  display:grid!important;
  grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr)!important;
  gap:clamp(28px,5vw,58px)!important;
  padding:clamp(26px,5vw,54px)!important;
  border:1px solid var(--mb-books-line)!important;
  border-top:6px solid var(--mb-books-red)!important;
  background:var(--mb-books-paper)!important;
}
.reviews-process-intro h2{
  max-width:11ch!important;
  margin:.2em 0 0!important;
  font-size:clamp(2.2rem,4.2vw,3.9rem)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.reviews-process-steps{
  display:grid!important;
  gap:0!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.reviews-process-steps li{
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr)!important;
  gap:16px!important;
  padding:20px 0!important;
  border-top:1px solid var(--mb-books-line)!important;
}
.reviews-process-steps li:first-child{border-top:0!important}
.reviews-process-steps li>span{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  color:#fff;
  background:var(--mb-books-red);
  font-weight:900;
  font-size:.78rem;
}
.reviews-process-steps strong{
  display:block;
  margin-bottom:6px;
  font-size:1.05rem;
}
.reviews-process-steps p{
  margin:0;
  color:var(--mb-books-muted);
  line-height:1.58;
}
.reviews-library-link{
  grid-column:2!important;
  justify-self:start!important;
  width:auto!important;
}
.reviews-list{
  display:grid!important;
  gap:34px!important;
  margin-top:clamp(42px,6vw,72px)!important;
}
.reviews-book-group{
  min-width:0;
}
.reviews-book-head{
  padding:28px 0 18px!important;
  border-top:1px solid var(--mb-books-line)!important;
}
.reviews-book-head h2{
  margin:.16em 0!important;
  font-size:clamp(2.4rem,5vw,4.4rem)!important;
  line-height:.98!important;
}
.reviews-page .book-reviews{
  width:100%!important;
  margin:0!important;
  padding:clamp(24px,4vw,40px)!important;
  grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr)!important;
  gap:clamp(24px,4vw,42px)!important;
  background:var(--mb-books-paper)!important;
  border:1px solid var(--mb-books-line)!important;
}
.reviews-page .book-reviews-head h2{
  max-width:13ch!important;
  font-size:clamp(2rem,3.7vw,3.25rem)!important;
  line-height:1.02!important;
}
.reviews-page .book-review-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.reviews-page .reviews-empty{
  margin-top:0!important;
  padding:clamp(28px,5vw,52px)!important;
}
.reviews-page .reviews-empty h2{
  max-width:15ch!important;
  font-size:clamp(2.25rem,4.5vw,4rem)!important;
  line-height:1!important;
}
.reviews-footer{
  justify-content:flex-end!important;
}

/* Recensioni inserite nelle schede dei singoli libri */
.book-site .book-reviews{
  position:relative!important;
  z-index:12!important;
  width:min(calc(100% - 32px),1120px)!important;
  max-width:1120px!important;
  margin:clamp(44px,7vw,82px) auto 0!important;
  padding:clamp(28px,5vw,54px)!important;
  display:grid!important;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)!important;
  gap:clamp(26px,4vw,48px)!important;
  color:var(--mb-books-ink)!important;
  background:var(--mb-books-paper)!important;
  border:1px solid var(--mb-books-line)!important;
  border-top:6px solid var(--mb-books-red)!important;
}
.book-site .book-reviews-head{
  max-width:none!important;
}
.book-site .book-reviews h2,
.book-site .book-reviews-head h2{
  max-width:12ch!important;
  margin:.18em 0 .32em!important;
  font-size:clamp(2.1rem,4vw,3.65rem)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
}
.book-site .book-reviews-head p{
  max-width:52ch!important;
  margin:.6rem 0 0!important;
  font-size:1rem!important;
  line-height:1.58!important;
}
.book-site .book-review-grid{
  min-width:0!important;
  margin:0!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.book-site .book-review-grid article{
  min-width:0!important;
  padding:22px!important;
}
.guida-site .book-terrain-rail{z-index:4!important}
.guida-site .book-main,.guida-site .book-footer{position:relative;z-index:8}

/* Pagine Privacy, Condizioni e Recesso */
.books-legal-page{
  background:var(--mb-books-bg)!important;
}
.books-legal-page .legal-wrap{
  width:min(calc(100% - 32px),980px)!important;
  max-width:980px!important;
  margin-inline:auto!important;
  padding:clamp(50px,8vw,94px) 0 clamp(70px,9vw,120px)!important;
}
.books-legal-page .legal-hero{
  max-width:850px;
  padding-bottom:clamp(28px,5vw,48px);
}
.books-legal-page .legal-hero h1{
  max-width:16ch!important;
  margin:.15em 0 .3em!important;
  font-size:clamp(2.8rem,6vw,5.2rem)!important;
  line-height:.94!important;
  letter-spacing:-.04em!important;
}
.books-legal-page .legal-hero>p:last-child{
  max-width:760px;
  margin:0;
  font-size:clamp(1rem,1.5vw,1.16rem);
  line-height:1.62;
  color:var(--mb-books-muted);
}
.books-legal-page .legal-content{
  min-width:0!important;
  padding:clamp(24px,5vw,58px)!important;
  background:var(--mb-books-paper)!important;
  border:1px solid var(--mb-books-line)!important;
}
.books-legal-page .legal-content h2{
  margin:1.8em 0 .45em!important;
  font-size:clamp(1.55rem,2.7vw,2rem)!important;
  line-height:1.1!important;
}
.books-legal-page .legal-content h2:first-of-type{margin-top:1.25em!important}
.books-legal-page .legal-content p,
.books-legal-page .legal-content li{
  max-width:74ch;
  line-height:1.68!important;
}
.books-legal-page .legal-content ul,
.books-legal-page .legal-content ol{
  padding-left:1.25rem;
}
.books-legal-page .legal-note{
  padding:18px 20px!important;
  border-left:5px solid var(--mb-books-red)!important;
  background:#f3eee4!important;
  line-height:1.55;
}
.books-legal-page .legal-nav{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:24px!important;
}
.books-legal-page .legal-nav a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:10px 13px;
  border:1px solid var(--mb-books-line-strong);
  background:var(--mb-books-paper);
  font-weight:800;
  text-decoration:none;
}
.books-legal-footer{
  justify-content:flex-end!important;
}

/* Responsive finale */
@media(max-width:900px){
  .reviews-process,
  .reviews-page .book-reviews,
  .book-site .book-reviews{
    grid-template-columns:1fr!important;
  }
  .reviews-library-link{grid-column:1!important}
  .reviews-page .book-review-grid,
  .book-site .book-review-grid{grid-template-columns:1fr!important}
}
@media(max-width:700px){
  .reviews-page .reviews-main,
  .books-legal-page .legal-wrap{
    width:min(calc(100% - 24px),1120px)!important;
  }
  .reviews-page .reviews-hero h1{
    font-size:clamp(2.75rem,14vw,4.2rem)!important;
  }
  .reviews-process{
    padding:22px!important;
  }
  .reviews-process-intro h2{
    max-width:none!important;
    font-size:clamp(2.05rem,10vw,3.1rem)!important;
  }
  .reviews-process-steps li{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:12px!important;
  }
  .book-site .book-reviews{
    width:calc(100% - 24px)!important;
    padding:22px!important;
  }
  .book-site .book-reviews h2,
  .book-site .book-reviews-head h2{
    max-width:none!important;
    font-size:clamp(2rem,10vw,3rem)!important;
  }
  .books-legal-page .legal-hero h1{
    font-size:clamp(2.55rem,12vw,3.9rem)!important;
  }
  .books-legal-page .legal-content{
    padding:22px!important;
  }
  .reviews-footer,.books-legal-footer{
    justify-content:flex-start!important;
  }
}
@media(max-width:520px){
  .lib-head{
    align-items:flex-start!important;
  }
  .lib-head nav{
    width:100%;
    overflow-x:auto;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
  }
  .lib-head nav a{
    flex:0 0 auto;
    white-space:nowrap;
  }
}

/* Patch 039 · menu pubblico Libri compatto, accessibile e responsive */
.site-menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  min-width:106px;
  min-height:48px;
  padding:.7rem .9rem;
  color:var(--mb-books-ink,#171612);
  -webkit-text-fill-color:var(--mb-books-ink,#171612);
  background:#fff;
  border:1px solid var(--mb-books-line-strong,rgba(23,22,18,.34));
  border-radius:0;
  font-weight:850;
  line-height:1;
  cursor:pointer;
}
.site-menu-toggle:hover,
.site-menu-toggle:focus-visible{
  color:#fff;
  -webkit-text-fill-color:#fff;
  background:var(--mb-books-ink,#171612);
  border-color:var(--mb-books-ink,#171612);
}
.site-menu-icon{
  display:grid;
  width:20px;
  gap:4px;
}
.site-menu-icon i{
  display:block;
  width:100%;
  height:2px;
  background:currentColor;
  transition:transform .18s ease,opacity .18s ease;
}
.site-menu-toggle[aria-expanded="true"] .site-menu-icon i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.site-menu-toggle[aria-expanded="true"] .site-menu-icon i:nth-child(2){opacity:0}
.site-menu-toggle[aria-expanded="true"] .site-menu-icon i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.site-brand strong,
.site-brand small{white-space:nowrap;overflow-wrap:normal}

@media(max-width:820px){
  .library-site .site-header{
    position:relative!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    width:100%!important;
    margin:0!important;
    padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left))!important;
    gap:10px 14px!important;
    background:rgba(244,241,233,.98)!important;
    border-bottom:1px solid var(--mb-books-line,rgba(23,22,18,.18))!important;
  }
  .library-site .site-brand{
    grid-column:1;
    min-width:0!important;
    gap:.7rem!important;
  }
  .library-site .site-brand img{
    flex:0 0 auto;
    width:46px!important;
    height:52px!important;
  }
  .library-site .site-brand span{
    min-width:0;
    line-height:1.05!important;
  }
  .library-site .site-brand strong{
    font-size:1.12rem!important;
  }
  .library-site .site-brand small{
    margin-top:.3rem!important;
    font-size:.62rem!important;
    letter-spacing:.12em!important;
  }
  .library-site .site-menu-toggle{
    display:inline-flex!important;
    grid-column:2;
    justify-self:end;
  }
  .library-site .site-header nav{
    grid-column:1 / -1;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:1px!important;
    overflow:visible!important;
    background:var(--mb-books-line,rgba(23,22,18,.18))!important;
    border:1px solid var(--mb-books-line,rgba(23,22,18,.18))!important;
    scrollbar-width:auto!important;
  }
  .site-menu-enhanced .library-site .site-header nav:not(.is-open){display:none!important}
  .site-menu-enhanced .library-site .site-header nav.is-open{display:grid!important}
  .library-site .site-header nav a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-width:0!important;
    min-height:52px!important;
    padding:.8rem .9rem!important;
    color:var(--mb-books-ink,#171612)!important;
    -webkit-text-fill-color:var(--mb-books-ink,#171612)!important;
    background:#fff!important;
    border:0!important;
    font-size:.92rem!important;
    line-height:1.2!important;
    white-space:normal!important;
    text-decoration:none!important;
  }
  .library-site .site-header nav a:hover,
  .library-site .site-header nav a:focus-visible{
    background:#ece7de!important;
  }
  .library-site .site-header nav .site-home{
    grid-column:1 / -1;
    justify-content:center!important;
    margin:0!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:var(--mb-books-red,#c40018)!important;
  }
  .library-site .site-header nav .site-home:hover,
  .library-site .site-header nav .site-home:focus-visible{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    background:var(--mb-books-red-dark,#9f0014)!important;
  }
}

@media(max-width:480px){
  .library-site .site-header{
    padding-inline:12px!important;
  }
  .library-site .site-brand img{
    width:42px!important;
    height:48px!important;
  }
  .library-site .site-brand strong{
    font-size:1.02rem!important;
  }
  .library-site .site-brand small{
    font-size:.56rem!important;
    letter-spacing:.1em!important;
  }
  .library-site .site-menu-toggle{
    min-width:96px;
    min-height:46px;
    padding:.65rem .75rem;
  }
  .library-site .site-header nav{
    grid-template-columns:1fr!important;
  }
  .library-site .site-header nav .site-home{
    grid-column:1;
  }
}

@media(prefers-reduced-motion:reduce){
  .site-menu-icon i{transition:none}
}

/* Patch 041 · pagamento PayPal visibile e utilizzabile nell'Area Lettori */
.reader-book .book-actions .reader-paypal-button{display:inline-flex;align-items:center;justify-content:center;background:#c40018!important;color:#fff!important;border-color:#c40018!important;text-decoration:none;font-weight:800}
.reader-book .book-actions .reader-paypal-button:hover,.reader-book .book-actions .reader-paypal-button:focus-visible{background:#980014!important;color:#fff!important;border-color:#980014!important}
.history-list article>div{min-width:0}
.history-payment{display:inline-flex;margin-top:.55rem;color:#8f0012!important;font-weight:800;text-decoration:underline;text-underline-offset:.18em}
.history-payment:hover,.history-payment:focus-visible{color:#5d000c!important}
@media(max-width:720px){.reader-book .book-actions{align-items:stretch}.reader-book .book-actions .button,.reader-book .book-actions form,.reader-book .book-actions form .button{width:100%}.history-list article{align-items:flex-start}.history-payment{max-width:100%}}

/* Patch 042 · acquisto unico e richiesta regalo */
.reader-book .book-status.owned{color:#173b27!important;border-color:#638e72!important;background:#edf6f0!important}
.reader-gift-box{margin-top:1rem;border:1px solid rgba(23,22,18,.24);background:#fffdf8}
.reader-gift-box summary{cursor:pointer;padding:1rem;font-weight:900;color:#171612;list-style-position:inside}
.reader-gift-box[open] summary{border-bottom:1px solid rgba(23,22,18,.18);background:#f2eee6}
.reader-gift-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem}
.reader-gift-form>p,.reader-gift-form>label:last-of-type,.reader-gift-form>.button{grid-column:1/-1}
.reader-gift-form>p{margin:0;color:#57524b;line-height:1.55}
.reader-gift-form label{display:grid;gap:.4rem;font-weight:800}
.reader-gift-form input,.reader-gift-form textarea{width:100%;min-height:48px;padding:.8rem;border:1px solid #aaa399;background:#fff;color:#171612;font:inherit}
.reader-gift-form textarea{min-height:96px;resize:vertical}
.reader-gift-form input:focus-visible,.reader-gift-form textarea:focus-visible{outline:3px solid rgba(196,0,24,.25);outline-offset:1px;border-color:#c40018}
@media(max-width:720px){.reader-gift-form{grid-template-columns:1fr}.reader-gift-form>p,.reader-gift-form>label:last-of-type,.reader-gift-form>.button{grid-column:auto}}
