@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,600;0,700;0,800;0,900;1,700&family=Manrope:wght@400;500;600;700;800&display=swap");

:root { --ink:#070707; --panel:#141415; --soft:#202022; --text:#fffdf9; --muted:#b9b6b0; --orange:#ff671b; --line:rgba(255,255,255,.14); --max:1240px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:radial-gradient(circle at 85% -10%,rgba(255,103,27,.2),transparent 28rem),var(--ink); color:var(--text); font-family:Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.catalog-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px clamp(20px,4vw,56px); border-bottom:1px solid var(--line); background:rgba(7,7,7,.9); backdrop-filter:blur(16px); }
.catalog-logo { display:block; width:clamp(250px,22vw,360px); height:92px; object-fit:contain; object-position:left center; }
.catalog-back,.catalog-cta { font-size:.75rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.catalog-cta { padding:12px 16px; background:var(--orange); color:#1c0801; }
.catalog-main { width:min(var(--max),calc(100% - 40px)); margin:0 auto; padding:74px 0 100px; }
.catalog-kicker { margin:0 0 14px; color:var(--orange); font-size:.7rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3 { margin:0; font-family:"Barlow Condensed",Impact,sans-serif; text-transform:uppercase; }
.catalog-title { max-width:860px; font-size:clamp(4.2rem,10vw,9rem); line-height:.77; letter-spacing:.008em; }
.catalog-intro { max-width:590px; margin:28px 0 54px; color:var(--muted); font-size:1rem; line-height:1.75; }
.catalog-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.catalog-filter { border:1px solid var(--line); background:transparent; color:var(--muted); padding:10px 13px; cursor:pointer; font:700 .73rem Manrope,sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.catalog-filter.is-active,.catalog-filter:hover { border-color:var(--orange); color:var(--text); background:rgba(255,103,27,.12); }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.product-tile { display:flex; flex-direction:column; min-height:100%; overflow:hidden; border:1px solid var(--line); background:linear-gradient(145deg,#1b1b1d,#0e0e10); transition:transform .25s ease,border-color .25s ease; }
.product-tile:hover { border-color:rgba(255,103,27,.75); transform:translateY(-5px); }
.product-image { position:relative; display:grid; height:320px; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 60%,rgba(255,103,27,.18),transparent 46%),#111; }
.product-image img { width:100%; height:100%; object-fit:contain; transition:transform .45s cubic-bezier(.16,1,.3,1); }
.product-tile:hover .product-image img { transform:scale(1.045); }
.product-body { display:flex; flex:1; flex-direction:column; padding:22px; }
.product-category { color:var(--orange); font-size:.67rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.product-body h2 { margin:9px 0 10px; font-size:2rem; line-height:.9; letter-spacing:.01em; }
.product-body p { margin:0 0 22px; color:var(--muted); font-size:.86rem; line-height:1.6; }
.product-price { display:block; margin-top:auto; margin-bottom:14px; color:var(--orange); font-size:1.18rem; font-weight:1000; letter-spacing:.006em; }
.tile-action { color:var(--text); font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(310px,.8fr); gap:clamp(32px,7vw,100px); align-items:start; }
.detail-visual { position:sticky; top:100px; display:grid; min-height:580px; place-items:center; overflow:hidden; border:1px solid var(--line); background:radial-gradient(circle at 50% 55%,rgba(255,103,27,.26),transparent 42%),#101011; }
.product-gallery { width:100%; padding:22px; }
.product-zoom-trigger { position:relative; display:block; width:100%; padding:0; border:0; background:transparent; color:#fff; cursor:zoom-in; }
.detail-main-image { display:block; width:100%; height:470px; object-fit:contain; }
.product-zoom-icon { position:absolute; top:12px; right:12px; display:grid; width:46px; height:46px; place-items:center; border:1px solid rgba(255,255,255,.32); background:rgba(7,7,7,.78); backdrop-filter:blur(8px); transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.product-zoom-icon svg { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
.product-zoom-trigger:hover .product-zoom-icon,.product-zoom-trigger:focus-visible .product-zoom-icon { border-color:var(--orange); background:rgba(255,103,27,.9); transform:scale(1.04); }
.product-zoom-trigger:focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
.gallery-thumbs { display:flex; gap:8px; margin-top:14px; overflow:auto; padding-bottom:2px; }
.gallery-thumb { flex:0 0 62px; width:62px; height:62px; padding:3px; border:1px solid var(--line); background:#0d0d0e; cursor:pointer; }
.gallery-thumb.is-active { border-color:var(--orange); }
.gallery-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.product-lightbox { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:clamp(18px,4vw,48px); background:rgba(0,0,0,.94); cursor:zoom-out; }
.product-lightbox[hidden] { display:none; }
.product-lightbox img { display:block; max-width:min(94vw,1400px); max-height:90vh; object-fit:contain; cursor:default; }
.product-lightbox-close { position:fixed; top:18px; right:20px; z-index:1; display:grid; width:48px; height:48px; place-items:center; border:1px solid rgba(255,255,255,.35); background:#111; color:#fff; cursor:pointer; font:400 2rem/1 Arial,sans-serif; }
.product-lightbox-close:hover,.product-lightbox-close:focus-visible { border-color:var(--orange); color:var(--orange); outline:none; }
body.product-lightbox-open { overflow:hidden; }
.detail-copy h1 { margin:9px 0 24px; font-size:clamp(3.7rem,6vw,6.8rem); line-height:.78; letter-spacing:.008em; }
.product-detail-price { display:inline-flex; margin:0 0 22px; padding:10px 14px; border:1px solid rgba(255,103,27,.45); background:rgba(255,103,27,.1); color:var(--orange); font-size:1.45rem; font-weight:1000; letter-spacing:.006em; }
.detail-lead { color:#e8e4dd; font-size:1.1rem; line-height:1.7; }
.detail-section { padding:28px 0; border-top:1px solid var(--line); }
.detail-section h2 { margin-bottom:14px; font-size:1.85rem; letter-spacing:.01em; }
.detail-section ul { display:grid; gap:10px; padding:0; margin:0; list-style:none; }
.detail-section li { color:var(--muted); font-size:.9rem; }
.detail-section li::before { content:"\2014"; color:var(--orange); margin-right:9px; }
.spec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); }
.spec-grid div { padding:16px; background:#151517; }
.spec-grid strong,.spec-grid span { display:block; }
.spec-grid strong { color:var(--orange); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; }
.spec-grid span { margin-top:5px; color:#ddd8d0; font-size:.84rem; line-height:1.45; }
.video-slot { display:grid; min-height:190px; place-content:center; padding:24px; border:1px dashed rgba(255,103,27,.5); background:rgba(255,103,27,.06); color:var(--muted); text-align:center; font-size:.86rem; line-height:1.6; }
.product-video-wrap { overflow:hidden; border:1px solid var(--line); background:#090909; }
.product-video-wrap video { display:block; width:100%; max-height:390px; background:#050505; }
.video-note { margin:0; padding:10px 13px; color:var(--muted); font-size:.73rem; line-height:1.5; }
.model-viewer-wrap { overflow:hidden; height:min(68vh,560px); min-height:360px; border:1px solid var(--line); background:radial-gradient(circle at 50% 55%,rgba(255,103,27,.2),transparent 46%),#0b0b0c; }
.model-viewer-wrap model-viewer { display:block; width:100%; height:100%; --poster-color:#0b0b0c; }
.model-viewer-fallback { display:grid; height:100%; place-items:center; color:var(--muted); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; }
.product-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-top:8px; }
.product-request { display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:15px 20px; background:var(--orange); color:#1c0801; font-size:.78rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s ease,filter .2s ease,border-color .2s ease; }
.product-request:hover { transform:translateY(-2px); filter:brightness(1.06); }
.product-request-secondary { border:1px solid rgba(255,103,27,.6); background:rgba(255,103,27,.08); color:var(--text); }
.shipping-calculator { position:relative; }
.shipping-label { display:inline-flex; margin:0 0 10px; padding:6px 9px; border:1px solid rgba(255,103,27,.45); color:var(--orange); font-size:.62rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.shipping-copy { margin:0 0 18px; color:var(--muted); font-size:.86rem; line-height:1.65; }
.shipping-form { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; }
.shipping-form label { display:grid; gap:8px; }
.shipping-form span { color:#d9d4cc; font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.shipping-form input { width:100%; min-height:48px; border:1px solid var(--line); background:#0e0e10; color:var(--text); padding:0 14px; font:700 .95rem Manrope,sans-serif; outline:none; }
.shipping-form input:focus { border-color:rgba(255,103,27,.85); box-shadow:0 0 0 3px rgba(255,103,27,.12); }
.shipping-form button { min-height:48px; border:0; background:var(--orange); color:#1c0801; padding:0 18px; cursor:pointer; font:900 .75rem Manrope,sans-serif; letter-spacing:.08em; text-transform:uppercase; transition:transform .2s ease,filter .2s ease,opacity .2s ease; }
.shipping-form button:hover { transform:translateY(-2px); filter:brightness(1.05); }
.shipping-form button:disabled { cursor:wait; opacity:.7; transform:none; }
.shipping-result { margin-top:14px; border:1px solid var(--line); background:rgba(255,255,255,.035); color:var(--muted); padding:14px; font-size:.84rem; line-height:1.55; }
.shipping-result:empty { display:none; }
.shipping-result.is-error { border-color:rgba(255,103,27,.65); color:#ffd2bd; background:rgba(255,103,27,.08); }
.shipping-result.is-success { display:grid; gap:8px; border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.04); }
.shipping-option { display:flex; justify-content:space-between; gap:16px; padding:12px; background:#111113; border:1px solid rgba(255,255,255,.08); }
.shipping-option strong { color:var(--text); }
.shipping-option span { color:#f1b28f; font-weight:800; text-align:right; }
.shipping-option-selectable { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; cursor:pointer; transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.shipping-option-selectable:hover { border-color:rgba(255,103,27,.42); background:#151516; transform:translateY(-1px); }
.shipping-option-selectable input { width:16px; height:16px; accent-color:var(--orange); }
.checkout-page { padding-top:58px; }
.checkout-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,390px); gap:clamp(24px,5vw,70px); align-items:end; margin-bottom:36px; }
.checkout-hero .catalog-title { max-width:760px; }
.checkout-note { border:1px solid rgba(255,103,27,.35); background:linear-gradient(145deg,rgba(255,103,27,.13),rgba(255,255,255,.035)); padding:24px; box-shadow:0 26px 70px rgba(0,0,0,.36); }
.checkout-note span { display:block; margin-bottom:10px; color:var(--orange); font-size:.68rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.checkout-note strong { display:block; font-family:"Barlow Condensed",Impact,sans-serif; font-size:2.4rem; line-height:.85; text-transform:uppercase; }
.checkout-note p { margin:14px 0 0; color:var(--muted); font-size:.88rem; line-height:1.6; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,.82fr) minmax(320px,1fr); gap:16px; align-items:start; }
.checkout-card { border:1px solid var(--line); background:linear-gradient(150deg,#18181a,#0e0e10); padding:clamp(22px,3vw,34px); }
.checkout-card h2 { margin-bottom:18px; font-size:2.2rem; line-height:.9; }
.checkout-field { display:grid; gap:9px; margin-bottom:18px; }
.checkout-field span { color:#d9d4cc; font-size:.68rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.checkout-field select,
.checkout-field input { width:100%; min-height:52px; border:1px solid var(--line); border-radius:0; background:#0e0e10; color:var(--text); padding:0 14px; font:800 .95rem Manrope,sans-serif; outline:none; }
.checkout-field input::placeholder { color:rgba(217,212,204,.42); }
.checkout-field select:focus,
.checkout-field input:focus { border-color:rgba(255,103,27,.85); box-shadow:0 0 0 3px rgba(255,103,27,.12); }
.checkout-product { display:grid; grid-template-columns:160px minmax(0,1fr); gap:18px; align-items:center; padding:16px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); }
.checkout-product img { display:block; width:160px; height:150px; object-fit:contain; background:radial-gradient(circle at 50% 50%,rgba(255,103,27,.16),transparent 60%),#0b0b0c; }
.checkout-product span { display:block; margin-bottom:7px; color:var(--orange); font-size:.65rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.checkout-product strong { display:block; font-family:"Barlow Condensed",Impact,sans-serif; font-size:2.15rem; line-height:.86; text-transform:uppercase; }
.checkout-price { display:inline-flex; margin-top:10px; color:var(--orange); font-style:normal; font-size:1.1rem; font-weight:1000; }
.checkout-product p { margin:10px 0 13px; color:var(--muted); font-size:.86rem; line-height:1.6; }
.checkout-product a { color:#ffb187; font-size:.73rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.checkout-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.checkout-shipping-form { margin-top:12px; }
.checkout-payment-card { grid-column:1 / -1; }
.checkout-payment-summary { display:grid; gap:1px; margin:18px 0; overflow:hidden; border:1px solid var(--line); background:var(--line); }
.checkout-payment-summary div { display:flex; justify-content:space-between; gap:16px; padding:14px 16px; background:#111113; }
.checkout-payment-summary span { color:var(--muted); font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.checkout-payment-summary strong { color:var(--text); text-align:right; }
.checkout-payment-summary .is-total strong { color:var(--orange); font-size:1.15rem; }
.rede-card-form { display:grid; gap:2px; }
.rede-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.checkout-pay-button { width:100%; border:0; cursor:pointer; }
.checkout-pay-button:disabled { opacity:.68; cursor:wait; transform:none; filter:none; }
.payment-result { margin-top:14px; border:1px solid var(--line); background:rgba(255,255,255,.035); color:var(--muted); padding:14px; font-size:.84rem; line-height:1.55; }
.payment-result:empty { display:none; }
.payment-result.is-error { border-color:rgba(255,103,27,.65); color:#ffd2bd; background:rgba(255,103,27,.08); }
.payment-result.is-success { border-color:rgba(255,255,255,.18); background:rgba(255,255,255,.04); }
.payment-result.is-success strong { display:block; margin-bottom:5px; color:var(--text); }
.payment-result.is-success span { display:block; color:#ffb187; font-weight:800; }
.payment-result a { color:#ffb187; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.empty { padding:60px 0; color:var(--muted); }
@media(max-width:900px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.detail{grid-template-columns:1fr;}.detail-visual{position:relative;top:auto;min-height:420px;}.checkout-hero,.checkout-layout{grid-template-columns:1fr;}}
@media(max-width:600px){.catalog-main{width:min(var(--max),calc(100% - 28px));padding-top:52px}.catalog-header{padding:12px 14px}.catalog-logo{width:210px;height:68px}.catalog-cta{display:none}.catalog-grid{grid-template-columns:1fr}.product-image{height:290px}.detail-visual{min-height:340px}.model-viewer-wrap{height:390px;min-height:320px}.spec-grid{grid-template-columns:1fr}.catalog-title{font-size:clamp(3.9rem,19vw,5.5rem)}.shipping-form{grid-template-columns:1fr}.shipping-option{display:grid}.shipping-option span{text-align:left}.shipping-option-selectable{grid-template-columns:auto 1fr}.shipping-option-selectable span{grid-column:2}.checkout-product{grid-template-columns:1fr}.checkout-product img{width:100%;height:220px}.product-request{width:100%;}.checkout-actions{display:grid}.checkout-payment-summary div{display:grid;gap:6px}.checkout-payment-summary strong{text-align:left}.rede-card-grid{grid-template-columns:1fr 1fr}}

/* Ajustes finais catalogo Space Effects 20260721 */
.catalog-logo,
.account-logo {
  width: clamp(285px, 24vw, 430px) !important;
  height: 112px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

.catalog-title,
.detail-copy h1,
.checkout-card h2,
.product-body h2,
.detail-section h2 {
  letter-spacing: 0.015em;
}

.shipping-label,
.catalog-kicker,
.catalog-back,
.catalog-cta,
.product-request,
.checkout-pay-button {
  letter-spacing: 0.09em;
}

.payment-methods {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.payment-method {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 72px;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.035);
  color: var(--text);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.payment-method:hover,
.payment-method.is-selected {
  transform: translateY(-1px);
  border-color: rgba(255,103,27,.8);
  background: rgba(255,103,27,.12);
}

.payment-method input { accent-color: var(--orange); }
.payment-method strong { display:block; font-size:.82rem; text-transform:uppercase; letter-spacing:.08em; }
.payment-method span { display:block; margin-top:3px; color:var(--muted); font-size:.78rem; line-height:1.35; }

.rede-card-form.is-hidden,
.pix-payment-box { display:none; }
.pix-payment-box.is-visible { display:block; }
.pix-payment-box {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(255,103,27,.38);
  background: linear-gradient(135deg, rgba(255,103,27,.12), rgba(255,255,255,.035));
}
.pix-payment-box p { margin: 0 0 14px; color: var(--muted); line-height: 1.55; }
.payment-continue-button { margin-top:14px; }
.payment-continue-button[hidden],
.payment-methods[hidden] { display:none; }
.payment-method-confirmed {
  margin-top:14px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.035);
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.payment-method-confirmed[hidden] { display:none; }
.payment-method-confirmed small,
.payment-method-confirmed strong { display:block; }
.payment-method-confirmed small { color:var(--muted); margin-bottom:3px; }
.payment-method-confirmed button {
  border:1px solid var(--orange);
  background:transparent;
  color:var(--text);
  padding:10px 12px;
  cursor:pointer;
  font:800 .72rem/1 var(--font-body);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.payment-lock-message {
  margin-top:10px;
  border-left:3px solid var(--orange);
  background:rgba(255,103,27,.08);
  color:#ffd2bd;
  padding:11px 13px;
  font-size:.82rem;
}
.payment-lock-message[hidden] { display:none; }
.pix-pay-button { width: 100%; justify-content: center; }
.rede-pix-result { display:grid; gap:12px; justify-items:center; }
.rede-pix-result strong { justify-self:start; width:100%; }
.rede-pix-qr { display:block; width:min(250px,100%); height:auto; padding:10px; background:#fff; }
.rede-pix-copy-code {
  display:block;
  width:100%;
  min-height:92px;
  resize:vertical;
  border:1px solid rgba(255,255,255,.14);
  background:#0b0b0c;
  color:var(--text);
  padding:12px;
  font:600 .74rem/1.45 monospace;
  overflow-wrap:anywhere;
}
.rede-pix-status { width:100%; }

@media (max-width: 760px) {
  .catalog-logo,
  .account-logo {
    width: 210px !important;
    height: 82px !important;
  }
  .payment-methods { grid-template-columns: 1fr; }
}
