/* CTS · Anteprima tecniche — flipbook */

/* ---- Pulsante prominente sulla scheda prodotto ---- */
.cts-ap-cta{ margin:16px 0; }
.cts-ap-open{
  display:inline-flex; align-items:center; gap:12px;
  padding:13px 22px; border:2px solid #c9a227; border-radius:12px;
  background:linear-gradient(180deg,#fffdf6,#f7efd8); color:#4a3a08; cursor:pointer;
  font:inherit; box-shadow:0 4px 14px rgba(201,162,39,.22); transition:transform .12s, box-shadow .2s, background .2s;
}
.cts-ap-open:hover{ transform:translateY(-1px); box-shadow:0 8px 22px rgba(201,162,39,.32); background:linear-gradient(180deg,#fff,#f2e6c4); }
.cts-ap-open .cts-ap-ic{ font-size:1.5em; line-height:1; }
.cts-ap-open .cts-ap-lbl{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.15; }
.cts-ap-open .cts-ap-lbl strong{ font-size:1.02em; }
.cts-ap-open .cts-ap-lbl small{ color:#8a7220; font-size:.8em; }

/* ---- Overlay + flipbook ---- */
#cts-ap-modal{
  position:fixed; inset:0; z-index:100000; display:none;
  background:rgba(18,16,11,.86); backdrop-filter:blur(3px);
  align-items:center; justify-content:center; flex-direction:column; gap:14px;
  padding:24px; box-sizing:border-box;
}
#cts-ap-modal.is-open{ display:flex; }
body.cts-ap-lock{ overflow:hidden; }

.cts-ap-close{
  position:absolute; top:16px; right:20px; width:42px; height:42px;
  border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.12); color:#fff; font-size:26px; line-height:1; transition:background .2s;
}
.cts-ap-close:hover{ background:rgba(255,255,255,.24); }

.cts-ap-viewport{ perspective:2600px; display:flex; align-items:center; justify-content:center; max-width:100%; }
.cts-ap-loading{ color:#f4ecd8; font:500 15px/1.4 system-ui,sans-serif; opacity:.85; }

.cts-ap-sheet{
  position:relative; transform-style:preserve-3d;
  transition:transform .9s cubic-bezier(.2,.75,.2,1); cursor:pointer; will-change:transform;
}
.cts-ap-sheet.flipped{ transform:rotateY(-180deg); }
.cts-ap-face{
  position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden;
  background:#fff; border-radius:6px; overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.5), 0 2px 0 rgba(0,0,0,.15);
}
.cts-ap-face.back{ transform:rotateY(180deg); }
.cts-ap-face img{ display:block; width:100%; height:100%; object-fit:cover; }
.cts-ap-face.front::after{
  content:""; position:absolute; top:0; bottom:0; left:0; width:26px;
  background:linear-gradient(90deg, rgba(0,0,0,.10), rgba(0,0,0,0)); pointer-events:none;
}

.cts-ap-bar{ display:flex; align-items:center; gap:18px; color:#f4ecd8; font:600 14px/1 system-ui,sans-serif; }
.cts-ap-bar button{
  width:44px; height:44px; border:0; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.14); color:#fff; font-size:22px; line-height:1; transition:background .2s, opacity .2s;
}
.cts-ap-bar button:hover{ background:rgba(201,162,39,.9); }
.cts-ap-bar button[disabled]{ opacity:.3; cursor:default; background:rgba(255,255,255,.14); }
.cts-ap-count{ min-width:52px; text-align:center; letter-spacing:.04em; }

.cts-ap-hint{
  color:#c9a227; font:600 12px/1 system-ui,sans-serif; letter-spacing:.08em; text-transform:uppercase; opacity:.9;
  animation:cts-ap-pulse 1.8s ease-in-out infinite;
}
.cts-ap-hint.hide{ display:none; }
@keyframes cts-ap-pulse{ 0%,100%{opacity:.45} 50%{opacity:1} }

@media (prefers-reduced-motion:reduce){
  .cts-ap-sheet{ transition:none; }
  .cts-ap-hint{ animation:none; }
  .cts-ap-open{ transition:none; }
}
