/* Adapta Áurea — Pedido pelo site (Catálogo de Natal): opções, janela de pedido minimizável e ampliar imagem. */
.nt-cartui { display: none; }
.has-cart .nt-cartui { display: revert; }
.has-cart .nt-seg.nt-cartui { display: flex; }
.has-cart .nt-nocart { display: none; }
[hidden] { display: none !important; }

.nt-howto { margin: 4px 0 0; color: var(--muted); font-size: .92rem; line-height: 1.5; }

/* ---------- adereços (Vila) ---------- */
.nt-pick-help { margin: -2px 0 8px; font-size: .82rem; color: var(--muted); }
.nt-adere-count { margin-left: 6px; padding: 1px 8px; border: 1px solid var(--line); border-radius: 999px; color: var(--gold); font-weight: 700; }
.nt-adere-count.is-full { border-color: var(--gold); }
.nt-adere.is-pick li { position: relative; padding: 0; border: 0; }
.nt-adere-btn {
  width: 100%; display: grid; justify-items: center; gap: 6px; padding: 8px 6px 10px;
  border: 1px solid var(--nt-line, var(--line)); border-radius: 10px; background: transparent; color: inherit;
  font: inherit; font-size: .82rem; line-height: 1.25; text-align: center; cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease;
}
.nt-adere-btn:hover { border-color: rgba(207, 180, 125, .6); }
.nt-adere-btn[aria-pressed="true"] { border-color: var(--gold); background: rgba(207, 180, 125, .1); }
.nt-adere-btn:focus-visible, .nt-base-btn:focus-visible, .nt-tool:focus-visible, .cw-bar:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.nt-adere-n { position: absolute; top: 6px; right: 6px; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 999px; background: var(--gold); color: #151615; font-size: .74rem; display: grid; place-items: center; }
.nt-adere-n:empty { display: none; }
.nt-adere-minus { display: none; position: absolute; top: 6px; left: 6px; width: 22px; height: 22px; border-radius: 50%; border: 1px solid var(--line); background: #151615; color: var(--muted); font-size: .9rem; line-height: 1; cursor: pointer; }
.nt-adere.is-pick li.is-on .nt-adere-minus { display: grid; place-items: center; }

/* ---------- seletores (cor dos adereços / versão do copo) ---------- */
.nt-seg { flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0 0; }
.nt-seg > .nt-mini { margin: 0 4px 0 0; }
.nt-seg label { position: relative; cursor: pointer; }
.nt-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nt-seg label span { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: .85rem; }
.nt-seg input:checked + span { border-color: var(--gold); color: var(--gold); }
.nt-seg input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }

/* ---------- bases do copo ---------- */
.nt-vgrid.is-pick li { display: block; }
.nt-base-btn { width: 100%; display: grid; gap: 5px; padding: 0 0 6px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: inherit; font: inherit; font-size: .82rem; line-height: 1.25; text-align: center; cursor: pointer; overflow: hidden; }
.nt-base-btn[aria-pressed="true"] { border-color: var(--gold); color: var(--gold); }

/* ---------- comprar ---------- */
.nt-add-btn { min-height: 46px; }
.nt-add-btn:disabled { opacity: 1; cursor: default; }
@media (max-width: 420px) { .nt-add-btn { flex: 1; justify-content: center; } }

/* ---------- ícones sobre a foto ---------- */
.nt-gallery { position: relative; }
.has-cart .nt-slide img { cursor: zoom-in; }
.nt-tools { position: absolute; top: 10px; right: 10px; z-index: 2; display: flex; gap: 6px; }
.nt-tool { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(16, 17, 16, .62); color: var(--text); cursor: pointer; }
.nt-tool svg { width: 17px; height: 17px; }
.nt-tool:hover { color: var(--gold); }

/* ---------- ampliar ---------- */
.lb { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; margin: 0; padding: 0; border: 0; background: rgba(10, 11, 10, .985); color: var(--text); }
.lb[open] { display: grid; grid-template-columns: 56px 1fr 56px; align-items: center; }
.lb::backdrop { background: rgba(0, 0, 0, .7); }
.lb-fig { margin: 0; display: grid; justify-items: center; gap: 10px; min-width: 0; }
/* posições fixas: com 1 imagem só (setas escondidas) a foto continua no centro */
.lb-prev { grid-column: 1; grid-row: 1; }
.lb-fig { grid-column: 2; grid-row: 1; }
.lb-next { grid-column: 3; grid-row: 1; }
.lb-img { max-width: 100%; max-height: calc(100dvh - 120px); width: auto; height: auto; object-fit: contain; border-radius: 6px; }
.lb-cap { margin: 0; color: var(--muted); font-size: .88rem; text-align: center; }
.lb-nav, .lb-close { border: 1px solid rgba(241, 240, 233, .25); background: rgba(21, 22, 21, .8); color: var(--text); border-radius: 50%; width: 44px; height: 44px; font-size: 1.5rem; line-height: 1; cursor: pointer; justify-self: center; }
.lb-close { position: absolute; top: max(14px, env(safe-area-inset-top)); right: 14px; z-index: 2; }
@media (max-width: 700px) {
  .lb[open] { grid-template-columns: 1fr; }
  .lb-fig { grid-column: 1; }
  .lb-nav { position: absolute; bottom: max(18px, env(safe-area-inset-bottom)); }
  .lb-prev { left: calc(50% - 56px); }
  .lb-next { right: calc(50% - 56px); }
  .lb-img { max-height: calc(100dvh - 170px); }
}

/* ---------- aviso ---------- */
.cart-toast { position: fixed; z-index: 70; left: 50%; top: max(14px, env(safe-area-inset-top)); transform: translate(-50%, -150%); max-width: calc(100vw - 32px); padding: 10px 16px; border: 1px solid var(--line); border-radius: 10px; background: #101110; color: var(--text); font-size: .88rem; box-shadow: 0 8px 24px rgba(0, 0, 0, .5); transition: transform .25s ease; pointer-events: none; }
.cart-toast.is-on { transform: translate(-50%, 0); }

/* ---------- janela do pedido ---------- */
/* Com itens no pedido, ela substitui o botão flutuante do WhatsApp (um flutuante por vez). */
.cart-on .contact-dock { display: none !important; }
.cw {
  position: fixed; z-index: 62; right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom));
  width: min(360px, calc(100vw - 24px)); border: 1px solid rgba(207, 180, 125, .55); border-radius: 16px;
  background: #121312; color: var(--text); box-shadow: 0 12px 36px rgba(0, 0, 0, .5); overflow: hidden;
}
.cw.is-pulse { animation: cw-pulse .5s ease; }
@keyframes cw-pulse { 0% { transform: scale(1); } 40% { transform: scale(1.03); border-color: var(--gold); } 100% { transform: scale(1); } }
.cw-bar { width: 100%; display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 8px 14px; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.cw-ico { width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: #151615; }
.cw-ico svg { width: 19px; height: 19px; }
.cw-label { font-weight: 700; font-size: .95rem; }
.cw-meta { margin-left: auto; color: var(--gold); font-size: .88rem; white-space: nowrap; }
.cw-chev { width: 9px; height: 9px; flex: none; border-right: 2px solid var(--muted); border-top: 2px solid var(--muted); transform: rotate(-45deg) translate(-1px, 2px); transition: transform .2s ease; }
.cw.is-open .cw-chev { transform: rotate(135deg) translate(-1px, 2px); }
.cw-panel { display: none; max-height: min(64dvh, 560px); overflow-y: auto; overscroll-behavior: contain; padding: 4px 14px 14px; border-top: 1px solid var(--line); }
.cw.is-open .cw-panel { display: block; }
.cw-step { display: none; }
.cw[data-step="1"] .cw-s1, .cw[data-step="2"] .cw-s2, .cw[data-step="3"] .cw-s3 { display: grid; gap: 12px; }
.cw-list { list-style: none; margin: 0; padding: 0; display: grid; }
.cw-it { display: grid; grid-template-columns: 48px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.cw-thumb { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; }
.cw-info { display: grid; gap: 4px; min-width: 0; }
.cw-top { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.cw-name { margin: 0; font-size: .92rem; font-weight: 700; }
.cw-price { font-size: .9rem; white-space: nowrap; }
.cw-opt { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.4; overflow-wrap: anywhere; }
.cw-qty { display: inline-flex; align-items: center; justify-self: start; border: 1px solid var(--line); border-radius: 999px; }
.cw-qty button { width: 32px; height: 30px; border: 0; background: transparent; color: var(--gold); font-size: 1rem; cursor: pointer; }
.cw-qty output { min-width: 18px; text-align: center; font-size: .88rem; font-weight: 700; }
.cw-sum { display: flex; justify-content: space-between; align-items: baseline; padding-top: 2px; }
.cw-total { font-family: var(--serif); font-size: 1.4rem; font-weight: 400; color: var(--gold); }
.cw-consult { margin: -10px 0 0; text-align: right; color: var(--muted); font-size: .78rem; }
.cw-note, .cw-legal { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.45; }
.cw-go, .cw-send { width: 100%; justify-content: center; min-height: 48px; }
.cw-back, .cw-clear { justify-self: start; border: 0; background: none; color: var(--muted); font: inherit; font-size: .85rem; cursor: pointer; padding: 6px 0; }
.cw-back:hover, .cw-clear:hover { color: var(--gold); }
.cw-clear { text-decoration: underline; text-underline-offset: 3px; }
.cw-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.cw-seg label { position: relative; cursor: pointer; }
.cw-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cw-seg span { display: flex; align-items: center; justify-content: center; min-height: 42px; padding: 6px 10px; border: 1px solid var(--line); border-radius: 10px; font-size: .86rem; text-align: center; }
.cw-seg input:checked + span { border-color: var(--gold); color: var(--gold); }
.cw-seg input:focus-visible + span { outline: 2px solid var(--gold); outline-offset: 2px; }
.cw-f { display: grid; gap: 4px; font-size: .8rem; color: var(--muted); }
.cw-f input, .cw-f textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: #0d0e0d; color: var(--text); font: inherit; font-size: 16px; resize: vertical; }
.cw-f input:focus, .cw-f textarea:focus { outline: none; border-color: var(--gold); }
.cw-cep { display: none; }
.cw-cep.is-on { display: grid; }
.cw-more summary { cursor: pointer; color: var(--muted); font-size: .84rem; padding: 4px 0; }
.cw-more[open] { display: grid; gap: 10px; }
.cw-err { margin: 0; color: #f0a39a; font-size: .86rem; }
.cw-err:empty { display: none; }
.cw-done-t { margin: 6px 0 0; font-family: var(--serif); font-size: 1.25rem; }
.cw-s3 p { margin: 0; line-height: 1.55; font-size: .92rem; }
.cw-again { justify-content: center; }
@media (min-width: 760px) { .cw { right: 24px; bottom: 20px; } }

/* ---------- prazo e Instagram ---------- */
.nt-prazo { margin-top: 6px; margin-bottom: 6px; padding: 12px 16px; border: 1px solid var(--gold); border-radius: 10px; background: rgba(207, 180, 125, .1); font-size: .95rem; line-height: 1.5; }
.nt-prazo strong { color: var(--gold); }
.nt-ig { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding-block: 24px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.nt-ig p { margin: 0 0 4px; }
.nt-ig .button { gap: 10px; }
.nt-ig-ico { width: 20px; height: 20px; }

@media (prefers-reduced-motion: reduce) {
  .cw.is-pulse { animation: none; }
  .cart-toast, .cw-chev { transition: none; }
}

/* ---------- escolha simples (ex.: pingente do chaveiro) ---------- */
.nt-choice-box { margin-top: 6px; }
.nt-choice-box > .nt-mini { margin: 0; }
.nt-choice { margin-top: 6px; }
