/* ==========================================================
   MANUALI — catalogo + dettaglio + viewer + anteprima
   ========================================================== */

/* ============================================================
   1. GRIGLIA CATALOGO
   ============================================================ */
.manuali-grid{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
  gap: 1.4rem;
  margin-top: 1.4rem;
}
@media (max-width: 900px){
  .manuali-grid{ grid-template-columns: 1fr; }
}

/* ============================================================
   2. CARD MANUALE — layout orizzontale
   ============================================================ */
.manuale-card{
  display: grid;
  grid-template-columns: 200px 1fr;
  background: #fff;
  border: 1px solid var(--border, #E1E7F0);
  border-radius: 16px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  min-height: 260px;
}
.manuale-card:hover{
  transform: translateY(-3px);
  border-color: var(--man-color, var(--blue, #2E6FF2));
  box-shadow: 0 20px 40px -22px color-mix(in srgb, var(--man-color, #2E6FF2) 45%, transparent);
}
.manuale-card-cover-link{ text-decoration: none; color: inherit; display: block; }

.manuale-card-cover{
  position: relative;
  background: linear-gradient(135deg, #EEF2FA 0%, #F7F9FC 100%);
  padding: 1.2rem 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.manuale-card-cover img{
  width: 100%;
  max-width: 130px;
  aspect-ratio: 2/3;
  object-fit: cover;
  border-radius: 6px;
  box-shadow: 0 10px 24px -8px rgba(20,40,80,.35), 0 2px 4px rgba(20,40,80,.12);
  transition: transform .3s ease;
}
.manuale-card:hover .manuale-card-cover img{
  transform: scale(1.04) rotate(-1deg);
}
.manuale-card-cover-ph{
  width: 100%; max-width: 130px; aspect-ratio: 2/3;
  border-radius: 6px;
  background: linear-gradient(135deg, var(--man-color, #2E6FF2) 0%, #142850 100%);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  padding: .8rem; text-align: center;
  font-family: var(--font-heading, 'Sora'), sans-serif; font-weight: 800;
  font-size: .85rem; line-height: 1.25;
  box-shadow: 0 10px 24px -8px rgba(20,40,80,.35);
}
.manuale-card-badge{
  position: absolute;
  top: .65rem; left: .65rem;
  background: rgba(255,255,255,.94);
  color: var(--navy, #142850);
  font-size: .68rem; font-weight: 800;
  padding: .25rem .55rem; border-radius: 999px;
  box-shadow: 0 3px 8px rgba(20,40,80,.1);
}
.manuale-card-body{
  padding: 1.3rem 1.4rem 1.2rem;
  display: flex;
  flex-direction: column;
  gap: .35rem;
  min-width: 0;
}
.manuale-card-cat{
  font-size: .68rem; font-weight: 800;
  letter-spacing: .07em; text-transform: uppercase;
  color: var(--man-color, var(--blue, #2E6FF2));
}
.manuale-card-body h3{
  margin: 0;
  font-family: var(--font-heading, 'Sora'), sans-serif;
  font-size: 1.15rem; font-weight: 800;
  color: var(--navy, #142850); line-height: 1.25;
}
.manuale-card-sub{
  margin: 0; color: var(--ink-soft, #566072);
  font-size: .85rem; line-height: 1.4;
  font-style: italic;
}
.manuale-card-desc{
  margin: .3rem 0 .8rem;
  color: var(--ink-soft, #566072);
  font-size: .85rem;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.manuale-card-actions{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: .5rem;
  margin-top: auto;
  padding-top: .9rem;
  border-top: 1px solid var(--border, #E1E7F0);
}
.manuale-btn-free{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .75rem 1rem;
  background: var(--man-color, var(--blue, #2E6FF2));
  color: #fff;
  border-radius: 10px;
  font-weight: 700;
  font-size: .88rem;
  text-decoration: none;
  transition: filter .15s ease, transform .15s ease;
  white-space: nowrap;
}
.manuale-btn-free:hover{
  filter: brightness(1.08);
  transform: translateY(-1px);
  color: #fff;
  text-decoration: none;
}
.manuale-btn-buy{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  padding: .75rem 1rem;
  background: #fff;
  color: var(--amber, #F2A93B);
  border: 1.5px solid var(--amber, #F2A93B);
  border-radius: 10px;
  font-weight: 800;
  font-size: .88rem;
  text-decoration: none;
  transition: background .15s ease, color .15s ease, transform .15s ease;
  white-space: nowrap;
}
.manuale-btn-buy:hover{
  background: var(--amber, #F2A93B);
  color: #fff;
  transform: translateY(-1px);
  text-decoration: none;
}
@media (max-width: 720px){
  .manuale-card{ grid-template-columns: 140px 1fr; min-height: 220px; }
  .manuale-card-cover{ padding: .9rem .7rem; }
  .manuale-card-cover img,
  .manuale-card-cover-ph{ max-width: 100px; }
  .manuale-card-body{ padding: 1rem 1.1rem 1rem; }
  .manuale-card-body h3{ font-size: 1.02rem; }
  .manuale-card-desc{ -webkit-line-clamp: 2; margin: .2rem 0 .5rem; }
  .manuale-card-actions{ grid-template-columns: 1fr; gap: .4rem; padding-top: .7rem; }
  .manuale-btn-free, .manuale-btn-buy{ padding: .6rem .8rem; font-size: .82rem; }
}
@media (max-width: 480px){
  .manuale-card{ grid-template-columns: 110px 1fr; min-height: 190px; }
  .manuale-card-cover img,
  .manuale-card-cover-ph{ max-width: 82px; }
  .manuale-card-body h3{ font-size: .95rem; }
  .manuale-card-desc{ display: none; }
}

/* ============================================================
   3. BOTTONE "ACQUISTA PDF" (pagina dettaglio)
   ============================================================ */
.btn-outline-navy{
  background: #fff;
  color: var(--navy, #142850);
  border: 1.5px solid var(--border, #E1E7F0);
}
.btn-outline-navy:hover{
  border-color: var(--navy, #142850);
  background: #F7F9FC;
  color: var(--navy, #142850);
  text-decoration: none;
}
.btn-buy-pdf{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: 1.05rem 2.2rem;
  border-radius: 12px;
  background: linear-gradient(135deg, #F2A93B 0%, #E8792E 100%);
  color: #fff !important;
  font-weight: 800;
  font-size: 1rem;
  border: none;
  cursor: pointer;
  text-decoration: none;
  box-shadow: 0 8px 20px -8px rgba(242,169,59,.55);
  transition: transform .15s ease, box-shadow .15s ease;
}
.btn-buy-pdf:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 26px -8px rgba(242,169,59,.8);
  text-decoration: none;
  color: #fff;
}
.btn-buy-pdf .icon-inline{ width: 1.1em; height: 1.1em; margin: 0; }

/* ============================================================
   4. DETTAGLIO MANUALE
   ============================================================ */
.manuale-detail-hero{
  padding: 2rem 0 3rem;
  background: linear-gradient(160deg,
    color-mix(in srgb, var(--man-color, #2E6FF2) 10%, #fff) 0%,
    var(--bg, #F7F9FC) 70%);
  border-bottom: 1px solid var(--border, #E1E7F0);
}
.manuale-detail-grid{
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 3rem;
  margin-top: 1.6rem;
  align-items: start;
}
.manuale-detail-cover img,
.manuale-detail-cover-ph{
  width: 100%;
  aspect-ratio: 2/3;
  object-fit: cover;
  border-radius: 12px;
  box-shadow: 0 20px 44px -16px rgba(20,40,80,.4), 0 4px 12px rgba(20,40,80,.15);
}
.manuale-detail-cover-ph{
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--man-color, #2E6FF2) 0%, #142850 100%);
  color: #fff; padding: 1.5rem; text-align: center;
  font-family: var(--font-heading, 'Sora'), sans-serif; font-weight: 800;
  font-size: 1.1rem; line-height: 1.3;
}
.manuale-detail-eyebrow{
  display: inline-block;
  font-size: .75rem; font-weight: 800;
  letter-spacing: .07em; text-transform: uppercase;
  color: var(--man-color, var(--blue, #2E6FF2));
  margin-bottom: .8rem;
}
.manuale-detail-body h1{
  font-family: var(--font-heading, 'Sora'), sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 800;
  color: var(--navy, #142850);
  margin: 0 0 .5rem;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.manuale-detail-sub{
  color: var(--ink-soft, #566072); font-size: 1.05rem;
  margin: 0 0 1rem; font-style: italic;
}
.manuale-detail-desc{
  color: var(--ink, #1B2733); font-size: .98rem;
  line-height: 1.65; margin: 0 0 1.4rem;
}
.manuale-detail-meta{
  display: flex; flex-wrap: wrap; gap: 1.4rem;
  padding: 1rem 0;
  border-top: 1px solid var(--border, #E1E7F0);
  border-bottom: 1px solid var(--border, #E1E7F0);
  margin-bottom: 1.6rem;
  font-size: .88rem; color: var(--ink-soft, #566072);
}
.manuale-detail-meta strong{ color: var(--navy, #142850); font-weight: 700; }
.manuale-detail-hint{
  font-size: .88rem;
  color: var(--ink-soft, #566072);
  margin: .4rem 0 .9rem;
  line-height: 1.55;
  max-width: 580px;
}
.manuale-detail-hint strong{ color: var(--navy, #142850); }
.manuale-detail-actions{
  display: flex; flex-wrap: wrap; gap: .8rem;
  margin-bottom: 1.4rem;
}
.manuale-detail-actions .btn{ border-radius: 12px; }
.manuale-detail-tags{ display: flex; flex-wrap: wrap; gap: .4rem; }
.manuale-tag{
  display: inline-block;
  font-size: .76rem; font-weight: 600;
  padding: .3rem .7rem;
  border-radius: 999px;
  background: var(--bg-alt, #EEF2FA);
  color: var(--ink-soft, #566072);
}
.manuale-indice-section{ padding: 3rem 0 4rem; }
.manuale-section-title{
  font-family: var(--font-heading, 'Sora'), sans-serif;
  font-size: 1.4rem; font-weight: 800;
  color: var(--navy, #142850); margin: 0 0 1.4rem;
}
.manuale-indice-list{
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: .5rem;
}
.manuale-indice-list li a{
  display: flex; align-items: center; gap: 1rem;
  padding: 1rem 1.2rem;
  background: #fff;
  border: 1px solid var(--border, #E1E7F0);
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.manuale-indice-list li a:hover{
  border-color: var(--blue, #2E6FF2);
  transform: translateX(4px);
  box-shadow: 0 8px 20px -10px rgba(46,111,242,.3);
}
.manuale-indice-num{
  font-family: var(--font-heading, 'Sora'), sans-serif;
  font-size: .85rem; font-weight: 800;
  color: var(--blue, #2E6FF2);
  min-width: 2rem;
}
.manuale-indice-title{
  flex: 1;
  font-weight: 600; color: var(--navy, #142850);
  font-size: .98rem;
}
.manuale-indice-page{
  font-size: .82rem; color: var(--ink-soft, #566072);
  font-weight: 600;
}
@media (max-width: 780px){
  .manuale-detail-grid{ grid-template-columns: 1fr; gap: 1.6rem; }
  .manuale-detail-cover{ max-width: 200px; margin: 0 auto; }
}

/* ============================================================
   5. VIEWER SFOGLIABILE
   ============================================================ */
body.viewer-mode{
  overflow: hidden;
  background: #1a2036;
  height: 100vh;
  margin: 0;
  padding: 0;
}
body.viewer-mode .site-header,
body.viewer-mode .site-footer,
body.viewer-mode .footer-newsletter,
body.viewer-mode .lezia-popup,
body.viewer-mode .torna-su,
body.viewer-mode .lezia-cookie-banner{
  display: none !important;
}
.viewer{
  position: fixed;
  inset: 0;
  display: grid;
  grid-template-rows: 60px 1fr 56px;
  background:
    radial-gradient(1200px 500px at 50% -10%,
      color-mix(in srgb, var(--viewer-color, #2E6FF2) 25%, transparent) 0%,
      transparent 60%),
    linear-gradient(180deg, #0e1428 0%, #1a2036 100%);
  color: #fff;
  z-index: 100;
  overflow: hidden;
  font-family: 'Plus Jakarta Sans', -apple-system, sans-serif;
}
.viewer-toolbar{
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem;
  padding: 0 1rem;
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  z-index: 5;
  min-width: 0;
}
.viewer-toolbar-left,
.viewer-toolbar-right{
  display: flex; align-items: center; gap: .5rem;
  min-width: 0;
}
.viewer-toolbar-left{ flex: 1; }
.viewer-back,
.viewer-icon-btn{
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px;
  border: none;
  background: transparent;
  color: rgba(255,255,255,.85);
  border-radius: 10px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease;
  text-decoration: none;
  padding: 0;
  font-family: inherit;
  flex-shrink: 0;
}
.viewer-back:hover,
.viewer-icon-btn:hover{
  background: rgba(255,255,255,.1);
  color: #fff;
  text-decoration: none;
}
.viewer-icon-btn svg{ width: 18px; height: 18px; display: block; }
.viewer-title{
  font-family: 'Sora', sans-serif;
  font-size: .92rem; font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 40vw;
}
.viewer-zoom{
  display: flex; align-items: center; gap: .2rem;
  background: rgba(255,255,255,.06);
  border-radius: 999px;
  padding: .15rem;
}
.viewer-zoom-label{
  font-size: .8rem; font-weight: 700;
  min-width: 3rem; text-align: center;
  color: #fff;
}
.viewer-icon-btn[data-action="toggle-layout"] .icon-single{ display:none; }
.viewer-icon-btn[data-action="toggle-layout"].is-single .icon-spread{ display:none; }
.viewer-icon-btn[data-action="toggle-layout"].is-single .icon-single{ display:block; }
.viewer-icon-btn[data-action="toggle-layout"].is-single{
  background: color-mix(in srgb, var(--viewer-color, #2E6FF2) 40%, transparent);
  color: #fff;
}
.viewer-body{
  position: relative;
  display: flex;
  overflow: hidden;
  min-height: 0;
}
.viewer-toc{
  width: 280px;
  flex-shrink: 0;
  background: rgba(255,255,255,.03);
  border-right: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
  overflow-y: auto;
  transform: translateX(-100%);
  transition: transform .3s cubic-bezier(.16,1,.3,1);
  position: absolute;
  top: 0; bottom: 0; left: 0;
  z-index: 4;
  padding: 1rem;
}
.viewer-toc.is-open{ transform: translateX(0); }
.viewer-toc-head{
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1rem;
  font-size: .78rem; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
.viewer-toc-list{
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: .2rem;
}
.viewer-toc-list a{
  display: flex; align-items: center; gap: .7rem;
  padding: .65rem .8rem;
  border-radius: 10px;
  color: rgba(255,255,255,.85);
  text-decoration: none;
  font-size: .88rem;
  transition: background .15s ease, color .15s ease;
}
.viewer-toc-list a:hover{
  background: rgba(255,255,255,.08);
  color: #fff;
  text-decoration: none;
}
.viewer-toc-list a.is-active{
  background: color-mix(in srgb, var(--viewer-color, #2E6FF2) 30%, transparent);
  color: #fff;
  font-weight: 700;
}
.viewer-toc-num{
  font-family: 'Sora', sans-serif;
  font-size: .78rem; font-weight: 800;
  color: rgba(255,255,255,.5);
  min-width: 1.6rem;
}
.viewer-toc-list a.is-active .viewer-toc-num{ color: #fff; }
.viewer-toc-title{ flex: 1; min-width: 0; }
.viewer-toc-page{
  font-size: .75rem;
  color: rgba(255,255,255,.5);
  font-weight: 700;
}
.viewer-stage{
  flex: 1;
  min-width: 0;
  position: relative;
  display: flex; align-items: center; justify-content: center;
  padding: 1.5rem;
  overflow: hidden;
}
.flipbook{
  filter: drop-shadow(0 30px 60px rgba(0,0,0,.55));
  transition: transform .2s ease;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
}
.flipbook.is-dragging,
.flipbook.is-dragging .page-html{
  cursor: grabbing;
}
.flipbook .page-html{
  background: #fff;
  overflow: hidden;
  box-sizing: border-box;
}
.flipbook .page-html a,
.flipbook .page-html summary,
.flipbook .page-html button{
  cursor: pointer;
}
.viewer-arrow{
  position: absolute;
  top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px;
  border-radius: 50%;
  border: none;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(10px);
  color: #fff;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .15s ease, opacity .15s ease;
  z-index: 3;
}
.viewer-arrow:hover{ background: rgba(255,255,255,.22); }
.viewer-arrow svg{ width: 22px; height: 22px; }
.viewer-arrow-prev{ left: 1rem; }
.viewer-arrow-next{ right: 1rem; }
.viewer-arrow.is-disabled{ opacity: .25; pointer-events: none; }
.viewer-loading{
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 1rem;
  background: rgba(14,20,40,.9);
  z-index: 6;
  color: rgba(255,255,255,.85);
  font-size: .95rem;
  transition: opacity .3s ease, visibility .3s;
}
.viewer-loading.is-hidden{ opacity: 0; visibility: hidden; pointer-events: none; }
.viewer-spinner{
  width: 48px; height: 48px;
  border: 3px solid rgba(255,255,255,.15);
  border-top-color: var(--viewer-color, #2E6FF2);
  border-radius: 50%;
  animation: vspin .9s linear infinite;
}
@keyframes vspin{ to { transform: rotate(360deg); } }
.viewer-footer{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 0 1.2rem;
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255,255,255,.08);
  z-index: 5;
}
.viewer-footer .viewer-icon-btn{ width: 40px; height: 40px; }
.viewer-progress{
  display: flex; align-items: center; gap: 1rem;
  max-width: 640px; margin: 0 auto; width: 100%;
}
.viewer-progress-track{
  flex: 1;
  height: 6px;
  background: rgba(255,255,255,.1);
  border-radius: 999px;
  overflow: hidden;
}
.viewer-progress-fill{
  height: 100%; width: 0%;
  background: linear-gradient(90deg, var(--viewer-color, #2E6FF2), #7C5CFC);
  border-radius: 999px;
  transition: width .25s ease;
}
.viewer-progress-counter{
  font-size: .82rem;
  color: rgba(255,255,255,.7);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.viewer-progress-counter strong{
  color: #fff; font-weight: 800;
  font-family: 'Sora', sans-serif;
  font-size: .95rem;
}
@media (max-width: 900px){
  .viewer{ grid-template-rows: 54px 1fr 52px; }
  .viewer-title{ max-width: 50vw; font-size: .85rem; }
  .viewer-toc{ width: 260px; }
  .viewer-stage{ padding: .8rem; }
  .viewer-arrow{ width: 42px; height: 42px; }
  .viewer-arrow-prev{ left: .5rem; }
  .viewer-arrow-next{ right: .5rem; }
  .viewer-zoom{ display: none; }
}
@media (max-width: 560px){
  .viewer-toolbar{ padding: 0 .5rem; }
  .viewer-title{ max-width: 40vw; }
  .viewer-toc{ width: 88vw; max-width: 320px; }
  .viewer-progress-counter{ font-size: .78rem; }
}

/* ============================================================
   6. ANTEPRIMA PAGINE (manuali solo a pagamento)
   ============================================================ */
.manuale-preview-section{
  padding: 3rem 0 4rem;
  background: linear-gradient(180deg, #F7F9FC 0%, #fff 100%);
}
.manuale-preview-header{
  text-align: center;
  max-width: 640px;
  margin: 0 auto 2.4rem;
}
.manuale-preview-eyebrow{
  display: inline-block;
  background: #FFF4E5;
  color: #8A5300;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .35rem .9rem;
  border-radius: 999px;
  margin-bottom: .9rem;
}
.manuale-preview-header h2{
  font-family: var(--font-heading, 'Sora'), sans-serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 800;
  color: var(--navy, #142850);
  margin: 0 0 .6rem;
  line-height: 1.2;
}
.manuale-preview-header p{
  font-size: 1rem;
  color: var(--ink-soft, #566072);
  margin: 0;
  line-height: 1.6;
}
.manuale-preview-stack{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 2.4rem;
}

/* Riquadro pagina A4 */
.manuale-preview-page{
  width: 100%;
  max-width: 780px;
  aspect-ratio: 210 / 297;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow:
    0 18px 40px -16px rgba(20,40,80,.28),
    0 4px 12px rgba(20,40,80,.08);
  position: relative;
}

/* Contenuto a dimensioni native A4, scalato da JS */
.manuale-preview-inner{
  width: 1000px;
  height: 1414px;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: top left;
  /* Il transform: scale() è applicato da JS */
  /* niente overflow, niente flex interni che comprimono */
}
.manuale-preview-inner .mp-page,
.manuale-preview-inner .mp-cover{
  width: 1000px;
  height: 1414px;
  box-sizing: border-box;
}


/* Fissa le dimensioni tipografiche native nel preview
   (le media query del viewer sono pensate per 1000x1414) */
.manuale-preview-inner .mp-page{
  padding: 36px 44px 34px;
  font-size: 11px;
}
.manuale-preview-inner .mp-page > * + *{ margin-top: 11px; }
.manuale-preview-inner .mp-chapter-title{ font-size: 22px; }

/* CTA a fine anteprima */
.manuale-preview-cta{
  max-width: 780px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 1.4rem;
  flex-wrap: wrap;
  background: linear-gradient(135deg, #1c2f5c 0%, #142850 100%);
  color: #fff;
  border-radius: 16px;
  padding: 1.6rem 1.8rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 44px -18px rgba(20,40,80,.4);
}
.manuale-preview-cta::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(300px 180px at 100% 0%, rgba(242,169,59,.35), transparent 65%);
  pointer-events: none;
}
.manuale-preview-cta > *{ position: relative; z-index: 1; }
.manuale-preview-lock{
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  flex: 1;
  min-width: 240px;
}
.manuale-preview-lock-icon{
  font-size: 2rem;
  line-height: 1;
  flex-shrink: 0;
}
.manuale-preview-lock strong{
  display: block;
  font-family: var(--font-heading, 'Sora'), sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: #fff;
  margin-bottom: .3rem;
}
.manuale-preview-lock p{
  margin: 0;
  font-size: .88rem;
  color: rgba(255,255,255,.75);
  line-height: 1.5;
}
.manuale-preview-cta .btn-buy-pdf{
  flex-shrink: 0;
}
@media (max-width: 720px){
  .manuale-preview-cta{
    flex-direction: column;
    text-align: left;
    padding: 1.4rem 1.3rem;
  }
  .manuale-preview-cta .btn-buy-pdf{
    width: 100%;
    justify-content: center;
  }
}

/* ============================================================
   7. COPERTINA "PROMPT PER DOCENTI" — tema arancio
   ============================================================ */
.mp-cover-prompt{
  background: linear-gradient(150deg, #2a1a0c 0%, #142850 60%, #1c2f5c 100%);
}
.mp-cover-prompt .mp-cover-glow{
  background:
    radial-gradient(500px 340px at 15% 10%, rgba(242,169,59,.45), transparent 62%),
    radial-gradient(460px 320px at 88% 22%, rgba(232,121,46,.4), transparent 62%),
    radial-gradient(420px 300px at 50% 100%, rgba(124,92,252,.28), transparent 62%);
}
.mp-cover-prompt .mp-cover-title-lg{
  background: linear-gradient(90deg, #FFD8A8 0%, #F2A93B 40%, #E8792E 70%, #D6479B 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
.mp-cover-prompt .mp-cover-eyebrow{ color: #FFD8A8; }