/* FILE: service-documents.css | PATH: /assets/css/service-documents.css | DESCRIZIONE: layout definitivo Carte dei Servizi, coerente con le card Eventi. */

.service-documents{
  margin-top:22px!important;
  padding:22px!important;
  border:1px solid #d4e4f4!important;
  border-radius:22px!important;
  background:linear-gradient(145deg,#edf5ff,#f9fcff)!important;
}
.service-documents .section-head p{
  margin:.35rem 0 0!important;
  color:var(--muted)!important;
  font-size:.84rem!important;
}
.service-doc-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.service-doc-card{
  display:flex!important;
  min-width:0!important;
  padding:0!important;
  gap:0!important;
  align-items:stretch!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--shadow2)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.service-doc-card.event-card{
  width:100%!important;
  max-width:none!important;
}
.service-doc-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:var(--shadow)!important;
}
.service-doc-cover,
.service-doc-card>img{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:210/297!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#edf3f9!important;
  overflow:hidden!important;
}
.service-doc-cover.event-poster{
  position:relative!important;
  min-height:0!important;
}
.service-doc-cover{cursor:zoom-in!important}
.service-doc-cover img,
.service-doc-card>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border:0!important;
  border-radius:0!important;
}
.service-doc-info,
.service-doc-card>div{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
  width:100%!important;
  padding:12px 13px 14px!important;
  border-top:3px solid var(--red)!important;
  background:#fff!important;
}
.service-doc-info.event-info{
  min-height:148px!important;
}
.service-doc-card .eyebrow{
  display:block!important;
  color:var(--blue)!important;
  font-size:.62rem!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
}
.service-doc-card h3{
  margin:.3rem 0 .9rem!important;
  color:var(--ink)!important;
  font-size:.95rem!important;
  line-height:1.2!important;
}
.service-doc-card .doc-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  width:100%!important;
  margin-top:auto!important;
}
.service-doc-card .doc-actions .btn{
  min-width:0!important;
  min-height:42px!important;
  padding:0 8px!important;
  border-radius:10px!important;
  font-size:.72rem!important;
  white-space:nowrap!important;
}

.flipbook-modal{
  position:fixed!important;
  inset:0!important;
  z-index:18000!important;
  display:none;
  align-items:center!important;
  justify-content:center!important;
  padding:clamp(10px,2vw,24px)!important;
  background:rgba(2,12,29,.88)!important;
  backdrop-filter:blur(8px)!important;
}
.flipbook-modal.open{display:flex!important}
.flipbook-modal-panel{
  position:relative!important;
  width:min(1500px,96vw)!important;
  height:min(920px,94dvh)!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.25)!important;
  border-radius:22px!important;
  background:#07111f!important;
  box-shadow:0 28px 90px rgba(0,0,0,.55)!important;
}
.flipbook-modal-stage,.flipbook-modal-stage iframe{display:block!important;width:100%!important;height:100%!important;border:0!important}
.flipbook-modal-close{
  position:absolute!important;
  z-index:3!important;
  right:max(12px,env(safe-area-inset-right))!important;
  top:max(12px,env(safe-area-inset-top))!important;
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  padding:0!important;
  border:2px solid rgba(255,255,255,.75)!important;
  border-radius:50%!important;
  background:var(--red)!important;
  color:#fff!important;
  font-size:1.85rem!important;
  line-height:1!important;
  cursor:pointer!important;
}

@media(max-width:1380px){.service-doc-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.service-doc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){
  .service-documents{padding:14px!important}
  .service-doc-grid{grid-template-columns:1fr!important}
  .service-doc-card h3{font-size:1rem!important}
  .flipbook-modal{padding:0!important}
  .flipbook-modal-panel{width:100%!important;height:100dvh!important;border:0!important;border-radius:0!important}
}
@media(prefers-reduced-motion:reduce){.service-doc-card{transition:none!important}}

/* Il popup delle Carte dei Servizi segue la regola globale CENTRO ETS. */
.flipbook-modal{padding:clamp(8px,2vw,24px)!important;background:rgba(2,12,29,.84)!important}
.flipbook-modal-panel{display:flex!important;width:min(1180px,94vw)!important;height:min(860px,92dvh)!important;max-width:94vw!important;max-height:92dvh!important;flex-direction:column!important;border:4px solid var(--blue)!important;border-top-color:var(--red)!important;border-radius:22px!important;background:#fff!important}
.ce-modal-bar{display:flex!important;min-height:68px!important;height:68px!important;flex:0 0 68px!important;align-items:center!important;gap:15px!important;padding:0 80px 0 23px!important;border-bottom:1px solid #d8e4ef!important;background:linear-gradient(90deg,#f4f8fc,#fff)!important;color:var(--navy)!important}
.ce-modal-bar span{color:var(--blue)!important;font-size:.62rem!important;font-weight:950!important;letter-spacing:.09em!important}.ce-modal-bar strong{font-size:1rem!important;font-weight:950!important}
.flipbook-modal-stage{display:flex!important;width:100%!important;height:auto!important;min-height:0!important;flex:1 1 auto!important;align-items:center!important;justify-content:center!important;padding:10px!important;background:#e7edf4!important;overflow:hidden!important}
.flipbook-modal-stage iframe{width:100%!important;height:100%!important;min-height:0!important;border-radius:9px!important;background:#fff!important}
.flipbook-modal-close{right:13px!important;top:11px!important;width:44px!important;height:44px!important;border:0!important;background:var(--red)!important;box-shadow:0 7px 18px rgba(139,17,28,.28)!important}
@media(max-width:620px){.flipbook-modal{padding:6px!important}.flipbook-modal-panel{width:calc(100vw - 12px)!important;height:calc(100dvh - 12px)!important;max-width:none!important;max-height:none!important;border:3px solid var(--blue)!important;border-top-color:var(--red)!important;border-radius:15px!important}.ce-modal-bar{min-height:58px!important;height:58px!important;flex-basis:58px!important;padding:0 61px 0 14px!important}.ce-modal-bar span{display:none!important}.flipbook-modal-stage{padding:6px!important}.flipbook-modal-close{top:7px!important;right:8px!important;width:40px!important;height:40px!important}}

/* Proporzioni verticali coerenti con il formato delle Carte dei Servizi. */
.flipbook-modal-panel{width:min(900px,calc(100vw - 32px),calc((100dvh - 32px) * .82))!important;height:min(900px,calc(100dvh - 32px))!important}
@media(orientation:landscape) and (max-height:720px){.flipbook-modal-panel{width:min(760px,calc(100vw - 20px),calc((100dvh - 20px) * 1.25))!important;height:calc(100dvh - 20px)!important}}
@media(max-width:620px) and (orientation:portrait){.flipbook-modal-panel{width:calc(100vw - 12px)!important;height:min(calc(100dvh - 12px),calc((100vw - 12px) * 1.28 + 150px))!important}}
