@import url("chat-cards.css?v=20260828-mobile-slider");

/* ==========================================================================
   AJUSTES EXCLUSIVOS DA VERSÃO ESTÁTICA
   Esta folha complementa o visual original sem depender de React ou Next.js.
   ========================================================================== */

/* Nome exibido depois que o visitante entra ou cria uma conta local. */
.account-name {
  color: var(--ink);
  font-size: .78rem;
  font-weight: 800;
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Modal de conta: fundo mais transparente, melhor contraste e fechar destacado. */
.auth-backdrop{background:rgba(3,32,33,.48);backdrop-filter:blur(3px)}
.auth-modal{background:rgba(255,255,255,.97);color:#103738;border:1px solid rgba(7,84,86,.22);box-shadow:0 24px 70px rgba(0,28,29,.3)}
.auth-modal h3{color:#103738}.auth-modal .kicker{color:#087e7b}.auth-modal label{color:#315d5d}
.auth-modal input{background:#f7fbfa;color:#123d3e;border-color:#9fbdbc}.auth-modal input::placeholder{color:#698786;opacity:1}
.auth-modal .modal-close{width:38px;height:38px;right:14px;top:12px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;background:#fff;color:#075456;font-size:27px;line-height:1;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.16)}
.auth-modal .modal-close:hover,.auth-modal .modal-close:focus-visible{background:#21d0ce;color:#063c3c;outline:3px solid rgba(32,217,210,.3);outline-offset:2px}
.site.dark .auth-backdrop{background:rgba(0,12,13,.58)}
.site.dark .auth-modal{background:rgba(8,45,46,.97);color:#effffc;border-color:rgba(83,232,224,.42);box-shadow:0 24px 75px rgba(0,0,0,.55)}
.site.dark .auth-modal h3{color:#effffc}.site.dark .auth-modal .kicker{color:#62eee7}.site.dark .auth-modal label{color:#c8e5e2}
.auth-address-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid #b8d9d4;background:#edf9f7}.auth-address-fields>b{grid-column:1/-1;color:#075456}.auth-address-fields label:nth-of-type(2),.auth-address-fields label:nth-of-type(4),.auth-address-fields label:nth-of-type(5){grid-column:1/-1}.auth-modal:has(.auth-address-fields),.delivery-address-modal{width:min(620px,100vw - 24px);max-height:92vh;overflow:auto}.delivery-address-options{display:grid;gap:9px}.delivery-address-options button{display:grid;gap:5px;text-align:left;padding:13px;border:1px solid #9fc9c4;background:#effaf8;color:#123d3e;cursor:pointer}.delivery-address-options span{font-size:12px}.site.dark .auth-address-fields,.site.dark .delivery-address-options button{background:#0d3c3d;color:#effffc;border-color:#4f7d7a}@media(max-width:600px){.auth-address-fields{grid-template-columns:1fr}.auth-address-fields label{grid-column:1!important}}
.delivery-choice{gap:12px!important;margin:14px 0 6px}.delivery-choice button{position:relative;min-height:78px;padding:15px 14px 14px 52px!important;border:2px solid #8fb8b4!important;border-radius:7px;box-shadow:0 5px 14px #003c3b12;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}.delivery-choice button:before{position:absolute;left:15px;top:50%;width:25px;height:25px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;transform:translateY(-50%);font-size:14px;font-weight:900}.delivery-choice [data-modo="retirada"]:before{content:"⌂"}.delivery-choice [data-modo="entrega"]:before{content:"➜"}.delivery-choice button b{font-size:13px!important}.delivery-choice button span{font-size:10px!important}.delivery-choice button:hover{transform:translateY(-2px);box-shadow:0 9px 20px #003c3b20}.delivery-choice button.active{color:#fff!important;background:linear-gradient(135deg,#075456,#087f7b)!important;border-color:#20cecf!important;box-shadow:0 8px 22px #087f7b4a}.delivery-choice button.active span{color:#cffffb!important}.delivery-choice button.loading:after{content:"";position:absolute;right:13px;top:13px;width:13px;height:13px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:delivery-spin .7s linear infinite}@keyframes delivery-spin{to{transform:rotate(360deg)}}.delivery-choice button:disabled{cursor:wait;opacity:.82}.site.dark .delivery-choice button:not(.active){color:#eafffd;background:#103f40;border-color:#4a8581!important}@media(max-width:420px){.delivery-choice{grid-template-columns:1fr!important}.delivery-choice button{min-height:68px}}
.site.dark .auth-modal input{background:#0d3c3d;color:#f2fffd;border-color:#4f7d7a}.site.dark .auth-modal input::placeholder{color:#a6c8c5}
.site.dark .auth-divider,.site.dark .prototype-note{color:#afd0cd}.site.dark .auth-divider::before,.site.dark .auth-divider::after{background:#4b716f}.site.dark .switch-auth{color:#67eee7}.site.dark .auth-alert{color:#dffffb;background:#115253;border-color:#62eee7}.site.dark .auth-modal .modal-close{background:#0d3c3d;color:#effffc;border-color:#7bf3ed}

/* Janela simples de atendimento criada pelo arquivo js/app.js. */
.static-chat {
  bottom: 92px;
  box-shadow: 0 24px 70px rgba(3, 48, 48, .24);
  max-height: min(570px, calc(100vh - 120px));
  position: fixed;
  right: 24px;
  width: min(360px, calc(100vw - 24px));
  z-index: 120;
}

.static-chat .chat-head img {
  border-radius: 50%;
  height: 34px;
  margin-right: 10px;
  object-fit: cover;
  vertical-align: middle;
  width: 34px;
}

.static-chat .chat-messages {
  min-height: 260px;
  overflow-y: auto;
}

.static-chat .chat-whatsapp{display:grid;gap:7px;padding:10px 12px;border-top:1px solid #d9e2df;background:#f5fbf9;text-align:center}
.static-chat .chat-whatsapp[hidden]{display:none}
.static-chat .chat-whatsapp>span{color:#526e6c;font-size:9px}
.static-chat .chat-whatsapp>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 14px;border-radius:10px;background:#25d366;color:#073d27;text-decoration:none;font-size:11px;font-weight:800;box-shadow:0 4px 12px rgba(18,140,74,.2)}
.static-chat .chat-whatsapp>a:hover,.static-chat .chat-whatsapp>a:focus-visible{background:#20bd5a;outline:2px solid #075b58;outline-offset:2px}
.static-chat .chat-whatsapp>a>b{display:grid;place-items:center;width:24px;height:24px;border:2px solid currentColor;border-radius:50%;font-size:8px}
.site.dark .static-chat .chat-whatsapp{border-color:#315958;background:#103b3c}
.site.dark .static-chat .chat-whatsapp>span{color:#bad2d0}

/* Atalho do WhatsApp integrado ao cabeçalho do atendimento. */
.static-chat .chat-head{display:flex;align-items:center;gap:8px;padding:10px 12px}
.static-chat .chat-head .chat-identity{display:flex;align-items:center;min-width:0;margin-right:auto}
.static-chat .chat-head .chat-whatsapp{display:block;padding:0;border:0;background:transparent;text-align:left}
.static-chat .chat-head .chat-whatsapp[hidden]{display:none}
.static-chat .chat-head .chat-whatsapp>a{display:flex;align-items:center;gap:5px;min-height:32px;padding:5px 8px;border-radius:999px;background:#25d366;color:#073d27;text-decoration:none;font-size:9px;font-weight:800;box-shadow:none}
.static-chat .chat-head .chat-whatsapp>a>b{display:grid;place-items:center;width:20px;height:20px;border:2px solid currentColor;border-radius:50%;font-size:7px}
.static-chat .chat-head .chat-whatsapp>a:hover,.static-chat .chat-head .chat-whatsapp>a:focus-visible{background:#20bd5a;outline:2px solid #bdf3d1;outline-offset:1px}
.static-chat .chat-head .chat-close{flex:0 0 auto}
.site.dark .static-chat .chat-head .chat-whatsapp{border:0;background:transparent}
@media(max-width:420px){.static-chat .chat-head .chat-whatsapp>a span{display:none}.static-chat .chat-head .chat-whatsapp>a{padding:5px}}

.static-chat .user {
  background: var(--cyan);
  border-radius: 16px 16px 4px 16px;
  color: #033737;
  margin: 12px 0 12px auto;
  max-width: 82%;
  padding: 12px 14px;
}

.static-chat .chat-form{align-items:center;border-top:1px solid #d9e2df;display:flex;gap:6px;padding:8px;background:#fff}
.static-chat .chat-form>input:not([type="file"]){border:0;flex:1;min-width:0;outline:0;padding:8px;font-size:11px}
.static-chat .chat-form>button{border:0;border-radius:50%;cursor:pointer;flex:0 0 34px;height:34px;width:34px;background:#0d5a58;color:#fff;font-weight:800}
.static-chat .chat-form>.chat-audio-button{background:#e3f5f3;color:#0b5552;font-size:16px}
.static-chat .chat-form>.chat-attachment-button{background:#e3f5f3;color:#0b5552;font-size:18px}
.static-chat .chat-form>.chat-audio-button.recording{animation:artegip-audio-pulse 1s infinite;background:#b42318;color:#fff}
.static-chat .audio-message{white-space:pre-wrap}
.static-chat .attachment-uploading{opacity:.72}
.static-chat .chat-attachment{display:grid;gap:6px;color:inherit;text-decoration:none;overflow:hidden}
.static-chat .chat-attachment.image img,.static-chat .chat-attachment.video video{display:block;width:100%;max-height:210px;border-radius:9px;object-fit:contain;background:#062f30}
.static-chat .chat-attachment.image span,.static-chat .chat-attachment.video a{color:inherit;font-size:10px;overflow-wrap:anywhere}
.static-chat .chat-attachment.file{grid-template-columns:30px 1fr;align-items:center;min-width:190px;padding:9px;border:1px solid rgba(4,70,70,.2);border-radius:9px;background:rgba(255,255,255,.35)}
.static-chat .chat-attachment.file>span{grid-row:1/3;display:grid;place-items:center;width:28px;height:34px;border-radius:5px;background:#075456;color:#fff}.static-chat .chat-attachment.file b{font-size:10px;overflow-wrap:anywhere}.static-chat .chat-attachment.file small{font-size:9px;opacity:.75}
.site.dark .static-chat .chat-form>.chat-attachment-button{background:#164f50;color:#7bf3ed}
@keyframes artegip-audio-pulse{50%{box-shadow:0 0 0 7px rgba(180,35,24,.18)}}

.chat-product-options{align-self:stretch!important;display:grid;gap:9px;max-width:100%!important;padding:0!important}
.chat-product-card{display:grid;grid-template-columns:82px 1fr;gap:10px;padding:8px;border:1px solid #bdd8d4;background:#fff;box-shadow:0 4px 14px rgba(4,61,61,.08)}
.chat-product-card>img{width:82px;height:96px;object-fit:contain;background:#e7efed}
.chat-product-card>div{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.chat-product-card b{font-size:10px;line-height:1.3}.chat-product-card span{color:#587573;font-size:9px;text-transform:capitalize}.chat-product-card strong{color:#075b58;font-size:10px}
.chat-product-card button{width:100%;margin-top:auto;padding:7px 8px;border:0;background:#0d5a58;color:#fff;font-size:9px;font-weight:800;cursor:pointer}
.chat-product-card button:hover,.chat-product-card button:focus-visible{background:#18aaa5;outline:2px solid #0d5a58;outline-offset:1px}.chat-product-card button:disabled{cursor:wait;opacity:.55}

/* Ações solicitadas pela atendente dentro da conversa. */
.static-chat .artegip-chat-account-action{align-self:stretch;display:flex;margin:2px 0 8px;max-width:100%;padding:0 4px}
.static-chat .artegip-chat-account-action>button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;padding:11px 16px;border:1px solid #075b58;border-radius:10px;background:#075b58;color:#fff;font:800 11px/1.25 inherit;letter-spacing:.01em;box-shadow:0 5px 14px rgba(5,77,75,.2);cursor:pointer;transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease}
.static-chat .artegip-chat-account-action>button::after{content:"›";font-size:19px;font-weight:700;line-height:.7}
.static-chat .artegip-chat-account-action>button:hover{background:#0b7773;box-shadow:0 7px 18px rgba(5,77,75,.28);transform:translateY(-1px)}
.static-chat .artegip-chat-account-action>button:focus-visible{outline:3px solid #25d7d0;outline-offset:2px}
.static-chat .artegip-chat-account-action>button:active{box-shadow:0 2px 7px rgba(5,77,75,.2);transform:translateY(0)}
.static-chat .artegip-chat-account-action>button:disabled{cursor:wait;opacity:.6;transform:none}
.site.dark .static-chat .artegip-chat-account-action>button{border-color:#2bd4cd;background:#128d88;color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.3)}
.site.dark .static-chat .artegip-chat-account-action>button:hover{background:#18aaa5}

/* Conteúdo local rastreável sem interferir no catálogo interativo. */
.local-seo-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;align-items:center;padding:34px clamp(24px,7vw,96px);background:#f4f8f7;color:#063f3f;border-bottom:1px solid #d7e4e1}
.local-seo-intro h1{max-width:820px;margin:5px 0 12px;font-family:var(--font-display);font-size:clamp(30px,4vw,54px);line-height:1.02}
.local-seo-intro .local-seo-kicker{color:#079a95;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.local-seo-intro p{max-width:800px;margin:0;color:#405f5d;font-size:15px;line-height:1.65}
.local-seo-areas{display:flex;flex-wrap:wrap;gap:8px;align-content:center}
.local-seo-areas span{padding:8px 11px;border:1px solid #a9cfcb;border-radius:999px;background:#fff;color:#075b58;font-size:11px;font-weight:800}
.site.dark .local-seo-intro{background:#092f30;color:#fff;border-color:#175052}.site.dark .local-seo-intro p{color:#c3d9d7}.site.dark .local-seo-areas span{border-color:#27716e;background:#0d4444;color:#d9fffc}
@media (max-width:760px){.local-seo-intro{grid-template-columns:1fr;gap:20px;padding:28px 20px}.local-seo-intro p{font-size:14px}}

/* Avaliações reais exibidas depois da última categoria. */
.customer-reviews{padding:54px clamp(20px,7vw,96px);overflow:hidden;background:#073f40;color:#fff}
.customer-reviews-header{display:flex;align-items:end;justify-content:space-between;gap:24px;max-width:1180px;margin:0 auto 24px}
.customer-reviews-header span{color:#31d8d1;font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.customer-reviews-header h2{max-width:650px;margin:6px 0 0;font-family:var(--font-display);font-size:clamp(29px,4vw,48px);line-height:1.05}
.customer-reviews-header a{flex:none;color:#bff5f1;font-size:11px;font-weight:800;text-underline-offset:4px}
.reviews-carousel{position:relative;max-width:1180px;margin:auto;padding:0 62px}
.reviews-viewport{overflow:hidden}
.reviews-track{display:flex;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.review-slide{flex:0 0 100%;min-width:0;padding:2px}
.review-card{display:grid;place-items:center;min-height:235px;padding:clamp(18px,3vw,34px);border:1px solid rgba(117,232,226,.38);border-radius:18px;background:#fff;color:#073f40;box-shadow:0 18px 42px rgba(0,0,0,.2)}
.review-card img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;border-radius:10px}
.review-stars{margin-bottom:16px;color:#e7a51b;font-size:18px;letter-spacing:4px}
.review-card blockquote{max-width:900px;margin:0;font-family:var(--font-display);font-size:clamp(20px,3vw,34px);line-height:1.3}
.review-card footer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:24px;color:#55716f;font-size:11px}
.review-card footer strong{color:#075b58;font-size:13px}.review-card footer span::before{content:"•";margin-right:14px;color:#17aaa5}
.reviews-arrow{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:44px;height:58px;border:1px solid #70c9c5;border-radius:9px;background:#0b5958;color:#fff;font-size:30px;line-height:1;transform:translateY(-50%);cursor:pointer}
.reviews-arrow:hover,.reviews-arrow:focus-visible{background:#19aaa5;outline:2px solid #7ff5ef;outline-offset:2px}.reviews-arrow.prev{left:0}.reviews-arrow.next{right:0}
.reviews-dots{display:flex;justify-content:center;gap:7px;margin-top:18px}
.reviews-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#739391;cursor:pointer;transition:width .2s,background .2s}.reviews-dots button.active{width:25px;border-radius:10px;background:#26d1ca}.reviews-dots button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.site.dark .review-card{border-color:#27716e;background:#0d3334;color:#fff}.site.dark .review-card footer{color:#b4cfcd}.site.dark .review-card footer strong{color:#45e0d9}
@media (max-width:650px){.customer-reviews{padding:40px 14px}.customer-reviews-header{display:block;padding:0 6px}.customer-reviews-header a{display:inline-block;margin-top:14px}.reviews-carousel{padding:0 0 52px}.review-card{min-height:190px;padding:10px}.review-card img{border-radius:7px}.reviews-arrow{top:auto;bottom:0;width:42px;height:38px;transform:none}.reviews-arrow.prev{left:calc(50% - 52px)}.reviews-arrow.next{right:calc(50% - 52px)}.reviews-dots{display:none}}

/* Impede que avisos de produto indisponível estourem as colunas do catálogo. */
.product-config>*{min-width:0}
.config-price{overflow:hidden}
.config-price b,.selection-summary b{max-width:100%;overflow-wrap:anywhere;line-height:1.25}
.product-config button:disabled{cursor:not-allowed;opacity:.52}

/* Avisos temporários disparados pela lógica do carrinho. */
.static-toast {
  background: #063f3f;
  border-left: 5px solid var(--cyan);
  bottom: 24px;
  color: #fff;
  font-weight: 700;
  left: 50%;
  max-width: calc(100vw - 32px);
  padding: 14px 20px;
  position: fixed;
  transform: translateX(-50%);
  z-index: 200;
}

/* Evita que janelas abertas deixem o conteúdo ao fundo rolando. */
body.modal-open { overflow: hidden; }

@media (max-width: 560px) {
  .static-chat {
    bottom: 82px;
    left: 12px;
    right: 12px;
    width: auto;
  }

  .header-actions { gap: 5px; }
  .admin-link { display: none; }
  .account-name { max-width: 72px; }
}

/* =========================================================
   CARROSSEL DE BANNERS PROMOCIONAIS
   ========================================================= */
.promo-carousel{position:relative;width:min(1180px,100%);margin:0 auto;overflow:hidden;background:#042d2d;aspect-ratio:3/2;max-height:680px}
.promo-slides,.promo-slides img{position:absolute;inset:0;width:100%;height:100%}
.promo-slides img{display:block;object-fit:contain;opacity:0;transition:opacity .8s ease;pointer-events:none}
.promo-slides img.active{opacity:1;pointer-events:auto}
.promo-arrow{position:absolute;top:50%;z-index:2;width:50px;height:50px;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(2,43,44,.78);color:#fff;transform:translateY(-50%);cursor:pointer;transition:background .25s ease,transform .25s ease}
.promo-arrow:hover{background:#16cbd0;transform:translateY(-50%) scale(1.06)}
.promo-arrow span{font-size:38px;line-height:1}.promo-prev{left:24px}.promo-next{right:24px}
.promo-dots{position:absolute;z-index:2;left:50%;bottom:18px;display:flex;gap:8px;transform:translateX(-50%)}
.promo-dots button{width:9px;height:9px;padding:0;border:1px solid #fff;border-radius:50%;background:rgba(255,255,255,.35);cursor:pointer;transition:width .25s ease,background .25s ease}
.promo-dots button.active{width:28px;border-radius:10px;background:#1fd2d4}
.site.dark .promo-arrow{background:rgba(1,27,28,.86);border-color:#55ecec}.site.dark .promo-dots button.active{background:#62f4ef}
@media(max-width:1024px){.promo-carousel{width:calc(100% - 40px);margin:20px auto}.moldura-catalog{box-sizing:border-box;width:calc(100% - 40px);margin-inline:auto;padding-inline:0}}
@media(max-width:640px){.promo-carousel{width:calc(100% - 20px);margin:10px auto;min-height:0}.moldura-catalog{box-sizing:border-box;width:100%;padding-inline:20px}.promo-arrow{width:40px;height:40px}.promo-arrow span{font-size:31px}.promo-prev{left:10px}.promo-next{right:10px}.promo-dots{bottom:10px}}

/* =========================================================
   IMAGENS RESPONSIVAS E AÇÕES FLUTUANTES
   As imagens são exibidas inteiras, sem recorte ou efeito de zoom.
   ========================================================= */
/* Limita a largura das coleções como no carrossel de banners. */
.catalog-list{box-sizing:border-box;width:100%;max-width:1180px;min-width:0;margin-inline:auto}
.category-carousel{box-sizing:border-box;width:100%;max-width:1180px;min-width:0;margin-inline:auto}

/*
 * A altura acompanha a largura da tela até o limite de 610 px.
 * Assim o carrossel volta a encolher em celulares e tablets sem ampliar,
 * recortar ou aplicar zoom na fotografia do modelo.
 */
.moldura-stage{width:100%!important;height:clamp(280px,62vw,610px)!important;min-height:0!important;max-height:610px;aspect-ratio:auto!important;background:#062f30}
.moldura-main-image{width:100%!important;height:100%!important;min-height:0!important;object-fit:contain!important;object-position:center;transform:none!important}
.moldura-stage:hover .moldura-main-image{transform:none!important}
.cart-fab{position:relative!important;inset:auto!important;z-index:112!important;flex:0 0 auto;min-width:116px;height:46px;overflow:visible;padding:0 14px!important;border:1px solid rgba(34,215,216,.48)!important;box-shadow:0 8px 22px rgba(1,49,50,.18)!important}
/* Ícone vetorial simples: cesta, alça e duas rodas, sem caracteres decorativos. */
/* Ícone vetorial simples do carrinho, sem caracteres de fonte. */
.cart-icon{display:inline-block;width:25px;height:25px;flex:0 0 25px;background:currentColor;transform:none!important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M3 3h2l2.2 10.1a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.6L20.3 7H6M10 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm7 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.8' d='M3 3h2l2.2 10.1a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.6L20.3 7H6M10 20a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm7 0a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z'/%3E%3C/svg%3E") center/contain no-repeat}
.cart-icon::before,.cart-icon::after{content:none!important}
.cart-fab b{flex:0 0 auto;min-width:22px;height:22px;display:grid;place-items:center;box-sizing:border-box;padding:0 5px;border-radius:999px;line-height:1}
.site.dark .cart-fab{border-color:rgba(91,241,236,.62)!important;box-shadow:0 8px 24px rgba(0,0,0,.32)!important}

/* Aviso de desconto ao lado da configuração, atualizado pelo JavaScript. */
.config-discount{grid-column:1/-1;display:grid;gap:4px;padding:13px 16px;border:1px solid rgba(0,153,157,.3);background:rgba(33,208,210,.10);color:var(--deep);text-align:center}
.config-discount b{font-size:13px;text-transform:uppercase;letter-spacing:.08em}.config-discount span{font-size:12px;line-height:1.45}
.config-discount.earned{border-color:#12c9a5;background:linear-gradient(135deg,rgba(18,201,165,.2),rgba(33,208,210,.12));box-shadow:inset 4px 0 #12c9a5}
.site.dark .config-discount{color:#eaffff;border-color:rgba(91,241,236,.38);background:rgba(45,213,210,.1)}
@media(max-width:1024px){.category-carousel{margin-inline:auto}}
/* Organização do cabeçalho: tema junto à marca e carrinho com as ações da conta. */
.topbar>.theme-selector{flex:0 0 auto;margin-left:8px}
.header-actions{margin-left:auto;overflow:visible}

/* Impede rolagem horizontal da página. */
html,body,.site{max-width:100%;overflow-x:hidden;overflow-x:clip}
.moldura-catalog{max-width:100%;min-width:0;overflow-x:hidden;overflow-x:clip}
.category-carousel>.carousel-model-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:10px 0 14px;padding:12px 20px;border:2px solid var(--cyan,#20cdd0);background:var(--deep,#073e40);color:#fff;font-weight:900;letter-spacing:.02em;cursor:pointer;box-shadow:0 7px 18px rgba(4,56,58,.16)}
.category-carousel>.carousel-model-action::after{content:"✓";margin-left:10px;color:#39e6c5;font-size:16px}
.category-carousel>.carousel-model-action:hover{background:#0b5556;transform:translateY(-1px)}
.category-carousel>.carousel-model-action:disabled{cursor:not-allowed;opacity:.58;transform:none}
.site.dark .category-carousel>.carousel-model-action{border-color:#5bf1ec;background:#062f31}

/* Painel do produto: controles primeiro, depois preço, resumo e desconto. */
.category-carousel .product-config{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:14px;padding:20px;background:linear-gradient(180deg,var(--surface),rgba(224,247,244,.38))}
.category-carousel .product-config>.config-block{grid-row:1}
.category-carousel .product-config>.config-price{grid-column:1;grid-row:2;min-height:96px}
.category-carousel .product-config>.selection-summary{grid-column:2/4;grid-row:2;min-height:110px;margin:0;padding:9px 18px 24px;border:1px solid rgba(0,153,157,.28);background:rgba(33,208,210,.10)}
.category-carousel .product-config>.selection-summary>small{display:block;padding-bottom:10px;border-bottom:1px solid rgba(8,122,121,.25);color:#056766;text-align:center;font-size:12px;font-weight:950;letter-spacing:.13em;line-height:1.3}
.category-carousel .product-config>.selection-summary dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;height:100%;margin:8px 0 0;align-items:start}
.category-carousel .product-config>.selection-summary dl>div{display:grid;gap:4px;min-width:0}
.category-carousel .product-config>.selection-summary dt{color:var(--sub);font-size:8px;text-transform:uppercase}.category-carousel .product-config>.selection-summary dd{margin:0;font-size:13px;font-weight:900}.category-carousel .product-config>.selection-summary .selection-total dd{color:#057879;font-size:20px}
.category-carousel .product-config>.config-discount{grid-column:1/-1;grid-row:3;margin:0}
.site.dark .category-carousel .product-config{background:linear-gradient(180deg,var(--surface),rgba(16,91,90,.18))}
.site.dark .category-carousel .product-config>.selection-summary>small{color:#72f4ee;border-bottom-color:rgba(114,244,238,.3)}
.site.dark .category-carousel .product-config>.selection-summary .selection-total dd{color:#52e8e1}
@media(max-width:760px){
  .category-carousel .product-config{grid-template-columns:1fr;gap:12px;padding:16px}
  .category-carousel .product-config>.config-block,.category-carousel .product-config>.config-price,.category-carousel .product-config>.selection-summary,.category-carousel .product-config>.config-discount{grid-column:1;grid-row:auto}
  .category-carousel .product-config>.config-price,.category-carousel .product-config>.selection-summary{min-height:auto}
  .category-carousel .product-config>.selection-summary dl{grid-template-columns:1fr 1fr}
}

/* Ritmo vertical do catálogo e faixas de identificação das categorias. */
.promo-carousel{margin-top:58px}
.moldura-catalog{padding-top:30px}
.moldura-catalog .visitor-alert{margin-bottom:24px;padding-top:15px;padding-bottom:15px}
.catalog-list{gap:52px}
.category-carousel .carousel-title{box-sizing:border-box;margin-bottom:14px;padding:16px 18px;border-left:5px solid #20cdcf;background:#dff5f2;box-shadow:0 0 0 100vmax #dff5f2;clip-path:inset(0 -100vmax)}
.category-carousel .carousel-title h3{margin-top:0;color:#073e40}.category-carousel .carousel-title p{color:#557876}
.site.dark .category-carousel .carousel-title{border-left-color:#55e8e2;background:#0d4c4d;box-shadow:0 0 0 100vmax #0d4c4d}
.site.dark .category-carousel .carousel-title h3{color:#f4ffff}.site.dark .category-carousel .carousel-title p{color:#b7dcda}
@media(max-width:800px){
  .promo-carousel{margin-top:62px}
  .moldura-catalog{padding-top:22px}
  .moldura-catalog .visitor-alert{gap:10px;margin:0 0 18px;padding:14px 16px}
  .catalog-list{gap:38px}
  .category-carousel .carousel-title{margin-bottom:12px;padding:14px 16px}
}

@media(max-width:760px){.topbar{gap:7px!important}.topbar>.theme-selector{margin-left:0}.cart-fab{min-width:46px;width:46px;height:42px;padding:0!important}.cart-fab .cart-label{display:none}.cart-fab b{position:absolute;right:-6px;top:-7px;min-width:20px;height:20px;padding:0 4px;display:grid;place-items:center;box-sizing:border-box;border:2px solid var(--paper,#fff)}}
/* Conta do cliente e ícone vetorial de perfil. */
.account-profile{display:flex;align-items:center;gap:7px;color:inherit;text-decoration:none;font:700 12px/1.1 var(--font-sans)}
.profile-icon{width:24px;height:24px;flex:0 0 24px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5 0-9 2.5-9 5.5V22h18v-2.5C21 16.5 17 14 12 14Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-5 0-9 2.5-9 5.5V22h18v-2.5C21 16.5 17 14 12 14Z'/%3E%3C/svg%3E") center/contain no-repeat}
.brand span small{white-space:nowrap}

@media(max-width:760px){
  .auth-links{gap:3px}.auth-links button:first-child{display:inline-flex!important;padding:7px 4px;font-size:9px}
  .auth-links .register-link{padding:8px 8px!important;font-size:9px!important}
  .account-profile span:last-child{display:none}.profile-icon{width:22px;height:22px;flex-basis:22px}
}
@media(max-width:430px){
  .header-actions{order:initial;gap:3px}.nav{display:none!important}.brand{margin-right:0;gap:5px!important}.topbar{padding-inline:7px!important;gap:4px!important}.topbar>.theme-selector{margin:0}
  .brand img{width:32px!important;height:32px!important}.brand span b{font-size:13px!important;letter-spacing:1.4px!important}.brand span small{font-size:5.5px!important;letter-spacing:1px!important}
  .theme-selector button{width:25px!important;height:25px!important}.cart-fab{width:38px!important;min-width:38px!important;height:38px!important}.cart-icon{width:21px;height:21px;flex-basis:21px}.cart-fab b{right:-4px;top:-5px}
  .auth-links .register-link{padding:7px 7px!important;font-size:8.5px!important}
}
.empty-category-message{display:grid;place-items:center;gap:8px;min-height:220px;padding:35px;border:1px dashed #9fc4c1;background:#f7fbfa;color:#123738;text-align:center}.empty-category-message b{font-family:Georgia,serif;font-size:1.5rem}.empty-category-message span{max-width:480px;color:#6b8280;line-height:1.5}
.forgot-password{display:block;margin:10px auto 0;padding:8px;border:0;background:transparent;color:#087577;font-weight:800;text-decoration:underline;cursor:pointer}

/* =========================================================
   ONDE ESTAMOS
   ========================================================= */
.location-section{box-sizing:border-box;width:100%;padding:72px 24px;background:#edf3f1;color:#073c3d}
.location-content{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(420px,1.42fr);width:min(1180px,100%);margin:0 auto;border:1px solid rgba(7,92,94,.2);background:#fff;box-shadow:0 18px 45px rgba(5,53,54,.1)}
.location-copy{display:flex;flex-direction:column;justify-content:center;padding:48px}
.location-copy>span{color:#00aeb3;font-size:11px;font-weight:900;letter-spacing:.2em}
.location-copy h2{margin:8px 0 25px;font:700 clamp(34px,4vw,54px)/1.05 Georgia,serif;color:#073c3d}
.location-copy address{display:grid;gap:8px;margin:0 0 28px;font-style:normal;line-height:1.45}
.location-copy address strong{font-size:20px}.location-copy address span{color:#567170;font-size:15px}
.location-route{align-self:flex-start;padding:14px 18px;background:#075c5e;color:#fff;text-decoration:none;font-weight:900;transition:background .2s ease,transform .2s ease}
.location-route:hover{background:#10bec2;transform:translateY(-2px)}
.location-map{min-height:430px;background:#d9e5e2}
.location-map iframe{display:block;width:100%;height:100%;min-height:430px;border:0}
.site.dark .location-section{background:#052d2e;color:#efffff}
.site.dark .location-content{border-color:rgba(83,228,226,.32);background:#0b4546;box-shadow:0 18px 45px rgba(0,0,0,.3)}
.site.dark .location-copy h2{color:#fff}.site.dark .location-copy address span{color:#c0dcda}.site.dark .location-route{background:#1cc7ca;color:#052d2e}
@media(max-width:760px){.location-section{padding:44px 16px}.location-content{grid-template-columns:1fr}.location-copy{padding:32px 25px}.location-map,.location-map iframe{min-height:340px}.location-route{align-self:stretch;text-align:center}}

/* Navegação dinâmica pelas categorias reais do catálogo. */
.topbar .nav{flex:1;min-width:0;max-width:min(58vw,820px);gap:8px;padding:5px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#19c7c8 transparent}
.topbar .nav .category-nav-button{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;padding:8px 13px;border:1px solid rgba(5,92,94,.3);border-radius:999px;background:rgba(255,255,255,.72);color:#07494a;font-size:11px;font-weight:900;line-height:1.15;white-space:nowrap;box-shadow:0 4px 14px rgba(5,72,73,.08);transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
.topbar .nav .category-nav-button:hover,.topbar .nav .category-nav-button:focus-visible{border-color:#16c7c9;background:#20d9d2;color:#043839;transform:translateY(-1px);outline:none}
.site.dark .topbar .nav .category-nav-button{border-color:rgba(92,232,228,.35);background:#104849;color:#e8ffff;box-shadow:none}
.site.dark .topbar .nav .category-nav-button:hover,.site.dark .topbar .nav .category-nav-button:focus-visible{background:#42e4dd;color:#043536}
.category-carousel{scroll-margin-top:155px}
@media(max-width:760px){.topbar{height:auto!important;min-height:64px;flex-wrap:wrap!important}.topbar .nav{display:flex!important;order:5;flex-basis:100%;width:100%;max-width:none;padding:6px 0 2px}.topbar .nav .category-nav-button{min-height:32px;padding:7px 11px;font-size:9px}.category-carousel{scroll-margin-top:132px}}
@media(max-width:430px){.topbar .nav{display:flex!important}}

/* A faixa fica fora do cabeçalho, entre ele e o slide promocional. */
.category-nav-strip{box-sizing:border-box;display:flex!important;position:relative;z-index:20;align-items:center;justify-content:flex-start;gap:9px;width:100%;max-width:none;min-width:0;margin:0;padding:12px clamp(18px,5vw,78px);overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#19c7c8 transparent;background:rgba(245,246,242,.98);border-bottom:1px solid rgba(5,92,94,.18)}
.category-nav-strip .category-nav-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 15px;border:1px solid rgba(5,92,94,.3);border-radius:999px;background:#fff;color:#07494a;font-size:11px;font-weight:900;line-height:1.15;white-space:nowrap;text-decoration:none;box-shadow:0 4px 14px rgba(5,72,73,.08);transition:color .2s ease,background .2s ease,border-color .2s ease,transform .2s ease}
.category-nav-strip .category-nav-button:hover,.category-nav-strip .category-nav-button:focus-visible{border-color:#16c7c9;background:#20d9d2;color:#043839;transform:translateY(-1px);outline:none}
.site.dark .category-nav-strip{background:#082c2d;border-color:rgba(92,232,228,.24)}
.site.dark .category-nav-strip .category-nav-button{border-color:rgba(92,232,228,.35);background:#104849;color:#e8ffff;box-shadow:none}
.site.dark .category-nav-strip .category-nav-button:hover,.site.dark .category-nav-strip .category-nav-button:focus-visible{background:#42e4dd;color:#043536}
@media(min-width:1000px){.category-nav-strip{justify-content:center}}
@media(max-width:760px){.topbar{flex-wrap:nowrap!important}.category-nav-strip{display:flex!important;order:initial;width:100%;max-width:none;padding:9px 10px}.category-nav-strip .category-nav-button{min-height:34px;padding:8px 12px;font-size:9px}}
@media(max-width:430px){.category-nav-strip{display:flex!important}}

/* Menu recolhível de categorias, fixado abaixo da marca ArteGip. */
.category-menu-toggle{position:fixed;z-index:55;top:84px;left:18px;display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 13px;border:1px solid rgba(5,92,94,.32);border-radius:7px;background:#fff;color:#07494a;cursor:pointer;box-shadow:0 8px 24px rgba(3,48,49,.18);font-size:11px;font-weight:900}
.category-menu-toggle>span{display:grid;gap:4px;width:20px}.category-menu-toggle i{display:block;width:20px;height:2px;border-radius:4px;background:currentColor;transition:transform .2s,opacity .2s}.category-menu-toggle.open i:nth-child(1){transform:translateY(6px) rotate(45deg)}.category-menu-toggle.open i:nth-child(2){opacity:0}.category-menu-toggle.open i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.category-nav-strip{position:fixed!important;z-index:54;top:134px;left:18px;display:flex!important;flex-direction:column;align-items:stretch;gap:7px;width:min(330px,calc(100vw - 36px));max-height:calc(100dvh - 152px);margin:0;padding:12px;overflow-x:hidden;overflow-y:auto;border:1px solid rgba(5,92,94,.24);border-radius:8px;background:rgba(245,246,242,.99);box-shadow:0 18px 45px rgba(3,48,49,.24);opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}
.category-nav-strip.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}.category-nav-strip .category-nav-button{flex:none;width:100%;justify-content:flex-start;white-space:normal;text-align:left;border-radius:5px;box-shadow:none}.site.dark .category-menu-toggle{border-color:rgba(92,232,228,.35);background:#104849;color:#efffff}
.category-carousel{scroll-margin-top:90px}
@media(max-width:760px){.category-menu-toggle{top:72px;left:10px;min-height:40px;padding:8px 11px}.category-nav-strip{top:120px;left:10px;width:calc(100vw - 20px);max-height:calc(100dvh - 132px);padding:10px}.category-nav-strip .category-nav-button{min-height:40px;padding:10px 12px;font-size:10px}}

.product-config .config-price{align-self:stretch;justify-content:center;min-height:72px;padding:12px 15px;border:2px solid #10bfc0;background:linear-gradient(135deg,#d7fbf7,#bceeed);color:#063f40;box-shadow:0 7px 18px rgba(5,111,111,.13)}.product-config .config-price small{color:#087a79;font-size:10px;font-weight:950;letter-spacing:.12em}.product-config .config-price b{color:#063f40;font-size:21px;font-weight:950}.site.dark .product-config .config-price{border-color:#35d9d3;background:linear-gradient(135deg,#0c4b4c,#126261);color:#fff}.site.dark .product-config .config-price small,.site.dark .product-config .config-price b{color:#efffff}
.category-carousel{scroll-margin-top:145px}

/* Menu institucional recolhível, fixado no lado direito. */
.about-menu-toggle{position:fixed;z-index:55;top:84px;right:18px;display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 13px;border:1px solid rgba(5,92,94,.32);border-radius:7px;background:#fff;color:#07494a;cursor:pointer;box-shadow:0 8px 24px rgba(3,48,49,.18);font-size:11px;font-weight:900}
.about-menu-toggle>span{display:grid;gap:4px;width:20px}.about-menu-toggle i{display:block;width:20px;height:2px;border-radius:4px;background:currentColor;transition:transform .2s,opacity .2s}.about-menu-toggle.open i:nth-child(1){transform:translateY(6px) rotate(45deg)}.about-menu-toggle.open i:nth-child(2){opacity:0}.about-menu-toggle.open i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.site-links-menu{position:fixed;z-index:54;top:134px;right:18px;width:min(300px,calc(100vw - 36px));padding:12px;border:1px solid rgba(5,92,94,.24);border-radius:8px;background:var(--surface);color:var(--text);box-shadow:0 18px 45px rgba(3,48,49,.24);opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}
.site-links-menu.open{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.site-links-menu>div{display:grid;grid-template-columns:1fr;width:100%;padding:0}
.site-links-menu a{display:flex;align-items:center;gap:9px;min-height:42px;padding:8px 10px;border-bottom:1px solid var(--line);border-radius:5px;color:inherit;text-decoration:none;white-space:normal;transition:color .18s,background-color .18s}
.site-links-menu a:last-child{border-bottom:0}
.site-links-menu a:hover,.site-links-menu a:focus-visible{background:rgba(33,208,206,.12);color:#078c89;outline:none}
.site-links-menu a>span{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border-radius:50%;background:rgba(33,208,206,.16);color:#078c89}
.site-links-menu svg{width:14px;height:14px;fill:currentColor}
.site-links-menu b{font-size:10px;letter-spacing:.015em}
.site-links-menu small{padding:2px 5px;border-radius:999px;background:var(--line);color:var(--sub);font-size:7px;text-transform:uppercase;letter-spacing:.06em}
.site-links-menu .social-pending{cursor:default;opacity:.58}
.site.dark .about-menu-toggle{border-color:rgba(92,232,228,.35);background:#104849;color:#efffff}
.site.dark .site-links-menu a:hover,.site.dark .site-links-menu a:focus-visible{color:#55e8e1}
.site.dark .site-links-menu a>span{color:#55e8e1;background:rgba(33,208,206,.13)}
@media(max-width:760px){.about-menu-toggle{top:72px;right:10px;min-height:40px;padding:8px 11px}.site-links-menu{top:120px;right:10px;width:calc(100vw - 20px);padding:10px}.site-links-menu a{min-height:40px}}

/* Perguntas frequentes ligadas ao novo menu. */
.faq-section{scroll-margin-top:145px;padding:76px clamp(24px,7vw,110px);border-top:1px solid var(--line);background:var(--bg);color:var(--text)}
.faq-section>header,.faq-list{width:min(1040px,100%);margin-inline:auto}
.faq-section>header{margin-bottom:30px}
.faq-section>header span{color:#078c89;font-size:9px;font-weight:900;letter-spacing:.19em}
.faq-section h2{margin:8px 0 0;font-family:var(--serif);font-size:clamp(38px,5vw,64px);font-weight:400;letter-spacing:-.035em}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);background:var(--surface)}
.faq-list summary{position:relative;padding:20px 54px 20px 20px;cursor:pointer;list-style:none;font-size:14px;font-weight:800}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:20px;top:50%;translate:0 -50%;color:#078c89;font-size:24px;font-weight:400}
.faq-list details[open] summary:after{content:'−'}
.faq-list p{margin:0;padding:0 54px 20px 20px;color:var(--sub);font-size:13px;line-height:1.7}
#avaliacoes,#onde-estamos,#catalogo{scroll-margin-top:145px}
@media(max-width:760px){.site-links-menu>div{justify-content:flex-start}.site-links-menu a{padding-inline:10px}.site-links-menu b{font-size:9px}.faq-section{padding:56px 18px;scroll-margin-top:132px}#avaliacoes,#onde-estamos,#catalogo{scroll-margin-top:132px}}
