/* ===== Loja Axé in Box (checkout Mercado Pago) ===== */
.lj-price-line{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; flex-wrap:wrap; }
.lj-from{ font-size:13px; color:var(--ink-faint); }
.lj-from b{ font-family:var(--f-title); font-weight:800; font-size:17px; color:var(--gold); }
.lj-add{ font-family:var(--f-title); font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:12px; padding:10px 14px 8px; border-radius:99px; border:1px solid rgba(242,193,105,.45); background:transparent; color:var(--ink); cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; gap:6px; }
.lj-add:hover{ border-color:var(--gold); color:var(--gold); }
.lj-plan-extra{ font-size:12.5px; color:var(--ink-faint); margin:-14px 0 18px; }

/* sacola flutuante */
.lj-fab{ position:fixed; right:16px; bottom:16px; z-index:60; display:none; align-items:center; gap:10px; background:var(--gold); color:var(--bg); border:none; border-radius:99px; padding:13px 18px 11px; font-family:var(--f-title); font-weight:800; letter-spacing:.05em; text-transform:uppercase; font-size:13px; box-shadow:0 10px 30px rgba(0,0,0,.45); cursor:pointer; }
.lj-fab.show{ display:inline-flex; }
.lj-fab .n{ background:var(--bg); color:var(--gold); border-radius:99px; min-width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; font-size:12px; padding:2px 6px 0; }

/* gaveta */
.lj-overlay{ position:fixed; inset:0; z-index:80; background:rgba(20,0,5,.62); backdrop-filter:blur(2px); display:none; }
.lj-overlay.open{ display:block; }
.lj-drawer{ position:absolute; top:0; right:0; height:100%; width:min(520px,100%); background:var(--bg); background-image:radial-gradient(120% 40% at 50% 0%, rgba(214,57,23,.22), transparent 60%); border-left:1px solid var(--border); display:flex; flex-direction:column; box-shadow:-20px 0 60px rgba(0,0,0,.5); }
.lj-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px 14px; border-bottom:1px solid var(--hairline); }
.lj-head h2{ font-size:20px; margin:0; }
.lj-head .lj-back{ background:none; border:none; color:var(--ink-dim); font-size:13px; cursor:pointer; padding:4px 0; font-family:var(--f-body); }
.lj-close{ background:none; border:1px solid var(--border); color:var(--ink); width:36px; height:36px; border-radius:50%; font-size:18px; cursor:pointer; flex:none; }
.lj-body{ flex:1; overflow-y:auto; padding:18px 20px 24px; }
.lj-foot{ border-top:1px solid var(--hairline); padding:14px 20px 18px; background:rgba(42,0,8,.9); }
.lj-foot .btn{ width:100%; justify-content:center; border:none; cursor:pointer; }
.lj-foot .btn[disabled]{ opacity:.45; cursor:not-allowed; }
.lj-total{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px; font-size:14px; color:var(--ink-dim); }
.lj-total b{ font-family:var(--f-title); font-weight:800; font-size:22px; color:var(--ink); }
.lj-note{ font-size:12.5px; color:var(--ink-faint); margin:10px 0 0; text-align:center; }
.lj-sub{ font-size:14px; color:var(--ink-dim); margin:0 0 14px; }
.lj-sec{ font-family:var(--f-title); font-weight:700; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin:20px 0 10px; }
.lj-counter{ position:sticky; top:-18px; z-index:2; background:var(--bg); padding:10px 0; margin:-6px 0 6px; display:flex; justify-content:space-between; align-items:center; font-size:14px; color:var(--ink-dim); border-bottom:1px solid var(--hairline); }
.lj-counter b{ color:var(--gold); font-family:var(--f-title); font-size:18px; }
.lj-counter.ok b{ color:var(--chama); }

/* cores */
.lj-colors{ display:grid; grid-template-columns:repeat(2,1fr); gap:10px; }
.lj-color{ min-width:0; display:flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--hairline); border-radius:12px; padding:8px; }
.lj-color.sel{ border-color:var(--gold); }
.lj-color img{ width:40px; height:50px; object-fit:cover; border-radius:7px; flex:none; background:var(--surface-2); }
.lj-color .nm{ flex:1; min-width:0; overflow-wrap:anywhere; font-size:13px; line-height:1.25; color:var(--ink); }
.lj-color .nm small{ display:block; color:var(--ink-faint); font-size:11px; }
.lj-step{ display:flex; align-items:center; gap:6px; }
.lj-step button{ width:28px; height:28px; border-radius:50%; border:1px solid var(--border); background:var(--bg); color:var(--ink); font-size:16px; line-height:1; cursor:pointer; }
.lj-step button:disabled{ opacity:.35; cursor:not-allowed; }
.lj-step span{ min-width:18px; text-align:center; font-weight:700; }
.lj-pick{ cursor:pointer; text-align:left; font-family:var(--f-body); color:inherit; }
@media (max-width:560px){ .lj-colors{ grid-template-columns:1fr; } }

/* sacola */
.lj-item{ display:flex; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--hairline); }
.lj-item .nm{ flex:1; font-size:14px; }
.lj-item .nm small{ display:block; color:var(--ink-faint); font-size:12px; }
.lj-item .pr{ font-weight:700; white-space:nowrap; }
.lj-rm{ background:none; border:none; color:var(--ink-faint); font-size:12px; text-decoration:underline; cursor:pointer; padding:0; }
.lj-empty{ text-align:center; color:var(--ink-dim); padding:40px 0; }

/* formulário */
.lj-form{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.lj-form .full{ grid-column:1 / -1; }
.lj-form label{ display:block; font-size:12.5px; color:var(--ink-dim); margin-bottom:5px; }
.lj-form input,.lj-form select,.lj-form textarea{ width:100%; background:var(--surface); border:1px solid var(--border); border-radius:9px; padding:11px 12px; color:var(--ink); font-family:var(--f-body); font-size:15px; }
.lj-form textarea{ min-height:64px; resize:vertical; }
.lj-form select option{ background:var(--bg); }
.lj-form input:focus,.lj-form select:focus,.lj-form textarea:focus{ outline:none; border-color:var(--gold); }
.lj-hp{ position:absolute; left:-9999px; }
.lj-pay{ display:flex; flex-direction:column; gap:10px; }
.lj-pay label{ display:flex; gap:10px; align-items:flex-start; background:var(--surface); border:1px solid var(--hairline); border-radius:12px; padding:12px; cursor:pointer; font-size:14px; }
.lj-pay label:has(input:checked){ border-color:var(--gold); }
.lj-pay input{ margin-top:4px; accent-color:var(--gold); }
.lj-pay small{ display:block; color:var(--ink-faint); font-size:12.5px; margin-top:3px; }
.lj-sum{ background:var(--surface); border:1px solid var(--hairline); border-radius:12px; padding:14px; font-size:14px; }
.lj-sum div{ display:flex; justify-content:space-between; gap:10px; padding:3px 0; color:var(--ink-dim); }
.lj-sum div.t{ color:var(--ink); font-weight:700; border-top:1px solid var(--hairline); margin-top:6px; padding-top:9px; }
.lj-err{ color:#FFB4A0; font-size:13.5px; margin:10px 0 0; text-align:center; min-height:1em; }
.lj-msg{ text-align:center; padding:20px 0; }
.lj-msg h3{ font-size:24px; text-transform:uppercase; margin:6px 0 12px; }
.lj-msg .sau{ font-family:var(--f-hand); color:var(--gold); font-size:30px; }
.lj-msg p{ color:var(--ink-dim); font-size:15px; }
.lj-safe{ font-size:12px; color:var(--ink-faint); text-align:center; margin-top:18px; font-style:italic; }
body.lj-lock{ overflow:hidden; }

.lj-legal a{ color:var(--ink-faint); text-decoration:underline; text-underline-offset:2px; }
.lj-legal a:hover{ color:var(--gold); }

.lj-spin{ width:38px; height:38px; margin:8px auto 14px; border-radius:50%; border:3px solid rgba(242,193,105,.25); border-top-color:var(--gold); animation:ljspin 1s linear infinite; }
@keyframes ljspin{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .lj-spin{ animation-duration:3s; } }
/* Card "Materiais para giras" (sem foto: só texto e as entidades) */
.lj-giras-top{ min-height:180px; display:flex; flex-direction:column; justify-content:center; gap:12px; padding:22px 18px; background:radial-gradient(120% 90% at 50% 0%, rgba(242,193,105,.16), transparent 70%), var(--surface,#4A0410); border-bottom:1px solid var(--hairline,rgba(242,193,105,.16)); text-align:center; }
.lj-giras-eyebrow{ font-family:"League Spartan",sans-serif; font-weight:800; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold,#F2C169); }
.lj-giras-chips{ display:flex; flex-wrap:wrap; justify-content:center; gap:7px; }
.lj-giras-chips span{ border:1px solid rgba(242,193,105,.45); color:var(--ink,#FFF3E4); border-radius:99px; padding:4px 11px; font-size:13px; line-height:1.3; white-space:nowrap; }

/* ===== Combo Axé Presente (promoção, compra única) ===== */
#combo{ background:radial-gradient(90% 70% at 30% 0%, rgba(214,57,23,.28), transparent 65%); }
.combo{ display:grid; grid-template-columns:1.05fr 1fr; gap:40px; align-items:center; max-width:1000px; margin:0 auto; border:1px solid var(--gold); border-radius:20px; padding:28px; background:var(--surface); }
.combo-fotos{ position:relative; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.combo-fotos img{ width:100%; aspect-ratio:3/4; object-fit:cover; border-radius:14px; display:block; border:1px solid var(--hairline); }
.combo-selo{ position:absolute; right:-8px; bottom:-10px; background:var(--gold); color:var(--bg); font-family:var(--f-title); font-weight:800; letter-spacing:.12em; text-transform:uppercase; font-size:12px; padding:8px 14px 6px; border-radius:99px; box-shadow:0 8px 20px rgba(0,0,0,.35); }
.combo-text h2{ font-family:var(--f-title); font-weight:800; text-transform:uppercase; font-size:clamp(26px,3.4vw,36px); margin:10px 0 10px; }
.combo-text h2 em{ font-family:var(--f-hand); font-style:normal; font-weight:400; text-transform:none; color:var(--gold); font-size:1.15em; }
.combo-sub{ color:var(--ink-dim); font-size:15.5px; margin:0 0 14px; }
.combo-price{ font-family:var(--f-title); font-weight:800; font-size:44px; color:var(--ink); line-height:1; }
.combo-price sup{ font-family:var(--f-body); font-size:18px; color:var(--ink-dim); position:relative; top:-16px; }
.combo-text ul{ list-style:none; margin:18px 0 24px; padding:0; display:flex; flex-direction:column; gap:10px; }
.combo-text li{ font-size:14.5px; color:var(--ink-dim); display:flex; gap:9px; align-items:flex-start; }
.combo-text li svg{ flex:none; margin-top:3px; width:14px; height:14px; color:var(--gold); }
.combo-text .btn{ justify-content:center; }
.combo-note{ font-size:12.5px; color:var(--ink-faint); margin:14px 0 0; }
@media (max-width:860px){ .combo{ grid-template-columns:1fr; gap:28px; padding:20px; } }
