.lojalivros-carousel { --ll-gap:22px; position:relative; width:100%; max-width:1180px; margin:24px auto; padding:28px 58px 18px; box-sizing:border-box; overflow:hidden; background:linear-gradient(135deg,#fbf7eb 0%,#fff 48%,#f5ead0 100%); border:1px solid rgba(121,88,27,.16); border-radius:20px; box-shadow:0 14px 40px rgba(74,49,8,.12); }
.lojalivros-stage { display:flex; align-items:center; gap:var(--ll-gap); min-height:500px; }
.lojalivros-item { flex:0 0 18%; opacity:.72; transform:scale(.88); transition:transform .55s ease, opacity .55s ease, filter .55s ease; filter:saturate(.84); z-index:1; min-width:0; }
.lojalivros-item[data-position="-1"], .lojalivros-item[data-position="1"] { flex-basis:19%; opacity:.92; transform:scale(.95); }
.lojalivros-item.is-active { flex-basis:34%; opacity:1; transform:scale(1); filter:none; z-index:4; }
.lojalivros-item[aria-hidden="true"] { display:none; }
.lojalivros-item a { display:block; color:inherit; text-decoration:none !important; text-align:center; outline:none; }
.lojalivros-cover { position:relative; width:min(100%,220px); aspect-ratio:2 / 3; margin:0 auto; overflow:hidden; border-radius:6px; background:#e9dfc7; box-shadow:0 11px 24px rgba(0,0,0,.22); transition:transform .35s ease, box-shadow .35s ease; }
.lojalivros-cover img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; border:0; border-radius:0; box-shadow:none; }
.lojalivros-item.is-active .lojalivros-cover { width:min(100%,285px); box-shadow:0 18px 34px rgba(0,0,0,.28); }
.lojalivros-item a:hover .lojalivros-cover, .lojalivros-item a:focus .lojalivros-cover { transform:translateY(-5px); box-shadow:0 20px 38px rgba(0,0,0,.3); }
.lojalivros-item h3 { margin:14px auto 4px; max-width:300px; min-height:2.3em; font-size:clamp(15px,1.45vw,22px); line-height:1.15; color:#3d2b0b; }
.lojalivros-item:not(.is-active) h3 { font-size:15px; }
.lojalivros-cta { display:inline-block; margin-top:6px; padding:8px 14px; border-radius:999px; background:#8a641c; color:#fff; font-size:13px; font-weight:700; opacity:0; transform:translateY(5px); transition:.35s ease; }
.lojalivros-item.is-active .lojalivros-cta { opacity:1; transform:none; }
.lojalivros-arrow { position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border:0; border-radius:50%; z-index:10; cursor:pointer; color:#77520f; background:rgba(255,255,255,.92); box-shadow:0 4px 14px rgba(0,0,0,.16); font-size:22px; line-height:1; }
.lojalivros-arrow:hover, .lojalivros-arrow:focus { background:#8a641c; color:#fff; outline:none; }
.lojalivros-prev { left:12px; }
.lojalivros-next { right:12px; }
.lojalivros-dots { display:flex; justify-content:center; gap:8px; margin-top:14px; }
.lojalivros-dots button { width:9px; height:9px; padding:0; border:0; border-radius:50%; cursor:pointer; background:#c9b485; transition:.3s ease; }
.lojalivros-dots button.is-active { width:28px; border-radius:10px; background:#8a641c; }
.lojalivros-no-books { padding:12px; border-left:4px solid #dba617; background:#fff8e5; }
.lojalivros-modal[hidden] { display:none !important; }
.lojalivros-modal { position:fixed; inset:0; z-index:999999; display:flex; align-items:center; justify-content:center; padding:20px; box-sizing:border-box; }
.lojalivros-modal-backdrop { position:absolute; inset:0; background:rgba(20,14,5,.68); backdrop-filter:blur(3px); }
.lojalivros-modal-dialog { position:relative; z-index:1; width:min(100%,520px); padding:30px; box-sizing:border-box; text-align:center; color:#3d2b0b; background:#fffdf8; border:1px solid #dfca9c; border-radius:18px; box-shadow:0 24px 70px rgba(0,0,0,.35); }
.lojalivros-modal-x { position:absolute; top:10px; right:13px; width:34px; height:34px; padding:0; border:0; background:transparent; color:#6f6047; cursor:pointer; font-size:28px; line-height:1; }
.lojalivros-modal-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; margin:0 auto 12px; border-radius:50%; background:#fff0c8; color:#8a641c; font-size:30px; font-weight:800; }
.lojalivros-modal-dialog h2 { margin:0 0 8px; color:#3d2b0b; font-size:27px; }
.lojalivros-modal-book { margin:0 0 14px; color:#765515; font-weight:700; }
.lojalivros-modal-message { white-space:pre-line; font-size:16px; line-height:1.55; color:#4b4337; }
.lojalivros-modal-actions { display:flex; justify-content:center; gap:12px; margin-top:24px; }
.lojalivros-modal-actions button { min-height:42px; padding:9px 17px; border-radius:999px; cursor:pointer; font-weight:700; }
.lojalivros-modal-cancel { border:1px solid #b8aa8f; background:#fff; color:#514631; }
.lojalivros-modal-confirm { border:1px solid #8a641c; background:#8a641c; color:#fff; }
.lojalivros-modal-actions button:hover, .lojalivros-modal-actions button:focus { filter:brightness(.94); outline:2px solid rgba(138,100,28,.25); outline-offset:2px; }
body.lojalivros-modal-lock { overflow:hidden; }
@media (max-width:900px) { .lojalivros-carousel { padding-left:48px; padding-right:48px; } .lojalivros-stage { min-height:440px; gap:14px; } .lojalivros-item { flex-basis:22%; } .lojalivros-item[data-position="-1"], .lojalivros-item[data-position="1"] { flex-basis:23%; } .lojalivros-item.is-active { flex-basis:42%; } .lojalivros-cover { width:min(100%,180px); } .lojalivros-item.is-active .lojalivros-cover { width:min(100%,235px); } }
@media (max-width:680px) { .lojalivros-carousel { padding:22px 42px 16px; border-radius:14px; } .lojalivros-stage { min-height:500px; justify-content:center; } .lojalivros-item { display:none; flex:0 0 100%; opacity:1; transform:none; filter:none; } .lojalivros-item.is-active { display:block; flex-basis:100%; } .lojalivros-item.is-active .lojalivros-cover { width:min(100%,285px); } .lojalivros-item h3, .lojalivros-item:not(.is-active) h3 { font-size:21px; } .lojalivros-arrow { width:36px; height:36px; } .lojalivros-prev { left:5px; } .lojalivros-next { right:5px; } .lojalivros-modal-dialog { padding:27px 20px 22px; } .lojalivros-modal-actions { flex-direction:column-reverse; } .lojalivros-modal-actions button { width:100%; } }
@media (max-width:420px) { .lojalivros-stage { min-height:440px; } .lojalivros-item.is-active .lojalivros-cover { width:min(100%,245px); } }
@media (prefers-reduced-motion:reduce) { .lojalivros-item, .lojalivros-cover, .lojalivros-cta, .lojalivros-dots button { transition:none !important; } }
