
/* V200: Progetto letterario uses the same section scheme as existing pages */
body.section-progetto-letterario,
body.section-literary-project,
body.section-progetto-letterario main,
body.section-literary-project main{
  background:#FAF8EB!important;
  background-color:#FAF8EB!important;
}

body.section-progetto-letterario .site-header,
body.section-literary-project .site-header{
  border-bottom:2px solid #000!important;
}

.lit-page{
  background:#FAF8EB!important;
  padding:0!important;
  text-align:left!important;
}

.lit-hero{
  background:#FAF8EB!important;
  border-bottom:2px solid #000!important;
  padding:clamp(88px,8.5vw,132px) var(--pad) clamp(54px,5.2vw,78px)!important;
  text-align:left!important;
}

.lit-hero .eyebrow{
  display:block!important;
  margin:0 0 clamp(48px,5.4vw,72px) 0!important;
  text-align:left!important;
}

.lit-hero h1{
  display:block!important;
  max-width:none!important;
  margin:0 0 clamp(34px,3.6vw,48px) 0!important;
  padding:0 0 .16em 0!important;
  text-align:left!important;
  white-space:nowrap!important;
  font-size:clamp(64px,7.35vw,136px)!important;
  line-height:1.03!important;
  letter-spacing:-.08em!important;
  overflow:visible!important;
}

.lit-subtitle{
  max-width:760px!important;
  margin:0!important;
  font-size:clamp(24px,2.05vw,35px)!important;
  line-height:1.08!important;
  letter-spacing:-.055em!important;
  text-align:left!important;
}

.lit-section{
  background:#FAF8EB!important;
  border-top:2px solid #000!important;
  padding:clamp(56px,6vw,86px) var(--pad)!important;
  margin:0!important;
  text-align:left!important;
}

.lit-hero + .lit-section{
  border-top:0!important;
}

.lit-section-head{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:clamp(40px,5vw,86px)!important;
  align-items:start!important;
  margin:0 0 clamp(42px,4.6vw,70px) 0!important;
  max-width:none!important;
  text-align:left!important;
}

.lit-section-head h2{
  margin:0!important;
  padding:0 0 .14em 0!important;
  text-align:left!important;
  font-size:clamp(54px,5.2vw,96px)!important;
  line-height:.94!important;
  letter-spacing:-.08em!important;
  overflow:visible!important;
}

.lit-section-head p{
  max-width:760px!important;
  margin:0!important;
  text-align:left!important;
  font-size:clamp(22px,1.85vw,31px)!important;
  line-height:1.12!important;
  letter-spacing:-.055em!important;
}

.lit-opening-copy{
  max-width:860px!important;
  margin-left:50%!important;
}

.lit-opening-copy p,
.editorial-copy p{
  font-size:clamp(18px,1.35vw,22px)!important;
  line-height:1.24!important;
  letter-spacing:-.035em!important;
  margin:0 0 18px 0!important;
}

.editorial-copy{
  max-width:980px!important;
  margin-left:50%!important;
}

.book-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border:2px solid #000!important;
  border-bottom:0!important;
}

.book-card{
  background:#FAF8EB!important;
  border-right:2px solid #000!important;
  border-bottom:2px solid #000!important;
  padding:clamp(14px,2vw,22px)!important;
  min-height:560px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}

.book-card:nth-child(3n){border-right:0!important}

.book-card img{
  width:100%!important;
  display:block!important;
  border:2px solid #000!important;
  background:#FAF8EB!important;
}

.book-card h3{
  font-size:clamp(30px,3.1vw,50px)!important;
  line-height:1.05!important;
  letter-spacing:-.06em!important;
  margin:0 0 8px!important;
  padding:0 0 .14em!important;
  overflow:visible!important;
}

.volume-label{
  display:block!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-bottom:18px!important;
}

.book-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:auto!important;
}

.lit-btn{
  appearance:none!important;
  border:2px solid #000!important;
  border-radius:999px!important;
  padding:10px 14px!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  cursor:pointer!important;
  background:#FAF8EB!important;
  color:#000!important;
  font:inherit!important;
}

.lit-btn:hover{background:#000!important;color:#FAF8EB!important}

.characters-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  border:2px solid #000!important;
  border-bottom:0!important;
}

.character-card{
  background:#FAF8EB!important;
  border-right:2px solid #000!important;
  border-bottom:2px solid #000!important;
  padding:clamp(12px,1.6vw,18px)!important;
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
}

.character-card:nth-child(4n){border-right:0!important}

.character-image,
.character-placeholder{
  aspect-ratio:1/1!important;
  width:100%!important;
  border:2px solid #000!important;
  background:#FAF8EB!important;
  overflow:hidden!important;
}

.character-image img{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
}

.character-placeholder{
  background:
    linear-gradient(to right, rgba(0,0,0,.12) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,.12) 1px, transparent 1px),
    #FAF8EB!important;
  background-size:24px 24px!important;
}

.character-card h3{
  font-size:clamp(22px,2.2vw,34px)!important;
  line-height:1.04!important;
  letter-spacing:-.055em!important;
  margin:0 0 8px!important;
  padding:0 0 .10em!important;
  overflow:visible!important;
}

.character-card p{
  font-size:12px!important;
  line-height:1.24!important;
  margin:0!important;
  text-transform:uppercase!important;
  letter-spacing:.055em!important;
}

.price-small{
  max-width:760px!important;
  margin-left:50%!important;
}

.price-small p{
  font-size:16px!important;
  line-height:1.35!important;
}

.author-note{
  font-size:14px!important;
  line-height:1.42!important;
  max-width:680px!important;
  margin:18px 0!important;
  font-style:italic!important;
}

.price-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  border:2px solid #000!important;
  margin:18px 0!important;
  max-width:520px!important;
}

.price-list div{
  padding:18px!important;
  border-right:2px solid #000!important;
  background:#FAF8EB!important;
}

.price-list div:last-child{border-right:0!important}

.price-list b{
  display:block!important;
  font-size:clamp(30px,4vw,48px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}

.price-list span{
  display:block!important;
  margin-top:8px!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.lit-modal{
  position:fixed!important;
  inset:0!important;
  z-index:10000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
}

.lit-modal.is-open{display:flex!important}

.lit-modal-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(0,0,0,.45)!important;
}

.lit-modal-panel{
  position:relative!important;
  width:min(920px,92vw)!important;
  max-height:86vh!important;
  overflow:auto!important;
  background:#FAF8EB!important;
  border:2px solid #000!important;
  padding:clamp(22px,4vw,46px)!important;
  box-shadow:0 18px 60px rgba(0,0,0,.22)!important;
}

.lit-modal-close{
  position:sticky!important;
  top:0!important;
  margin-left:auto!important;
  display:flex!important;
  border:2px solid #000!important;
  background:#FAF8EB!important;
  color:#000!important;
  width:42px!important;
  height:42px!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  font-size:22px!important;
  line-height:1!important;
}

.lit-modal-close:hover{background:#000!important;color:#FAF8EB!important}

.lit-modal-title{
  font-size:clamp(38px,5.2vw,76px)!important;
  line-height:1.12!important;
  letter-spacing:-.055em!important;
  margin:10px 0 24px!important;
  padding:0 0 .12em!important;
  overflow:visible!important;
}

.lit-modal-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-bottom:24px!important;
}

.lit-modal-meta span{
  border:2px solid #000!important;
  padding:9px 12px!important;
  font-size:12px!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
}

.lit-modal-text p{
  font-family:Georgia,serif!important;
  font-size:clamp(18px,2vw,24px)!important;
  line-height:1.42!important;
  margin:0 0 18px!important;
}

.lit-modal-text .incipit-heading{
  font-family:inherit!important;
  font-size:clamp(18px,2vw,24px)!important;
  line-height:1.25!important;
  margin-bottom:8px!important;
}

.lit-modal-text .incipit-heading:nth-child(2){
  margin-bottom:30px!important;
}

body.modal-open{overflow:hidden!important}

@media(max-width:1180px){
  .lit-hero h1{
    white-space:normal!important;
    font-size:clamp(54px,10vw,104px)!important;
  }
}

@media(max-width:980px){
  .lit-section-head{
    grid-template-columns:1fr!important;
    gap:24px!important;
  }
  .lit-opening-copy,
  .editorial-copy,
  .price-small{
    margin-left:0!important;
  }
  .book-grid{
    grid-template-columns:1fr!important;
  }
  .book-card,.book-card:nth-child(3n){
    border-right:0!important;
  }
  .characters-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .character-card:nth-child(4n){border-right:2px solid #000!important}
  .character-card:nth-child(2n){border-right:0!important}
}

@media(max-width:560px){
  .lit-hero{
    padding-top:70px!important;
    padding-bottom:42px!important;
  }
  .lit-hero .eyebrow{
    margin-bottom:36px!important;
  }
  .lit-hero h1{
    font-size:clamp(50px,16vw,78px)!important;
    line-height:1.05!important;
    white-space:normal!important;
    margin-bottom:28px!important;
  }
  .lit-subtitle{
    font-size:clamp(22px,7vw,32px)!important;
  }
  .lit-section-head h2{
    font-size:clamp(44px,13vw,68px)!important;
  }
  .characters-grid,
  .price-list{
    grid-template-columns:1fr!important;
  }
  .character-card,.character-card:nth-child(4n),.character-card:nth-child(2n),
  .price-list div{
    border-right:0!important;
  }
  .price-list div{
    border-bottom:2px solid #000!important;
  }
  .price-list div:last-child{
    border-bottom:0!important;
  }
}
