/* GM Tático: adaptações do protótipo aos blocos nativos da Nuvemshop.
   Complementa gmt-proto.css (gerado). Tudo sob .gmt-proto (classe do <body> com a chave do tema novo). */

/* ---------- Header ---------- */
.gmt-proto .g-hd { position: relative; z-index: 1040; transition: top .2s ease; }
.gmt-proto .g-hd.g-hd--fix { position: sticky; top: 0; }
.gmt-proto .g-hd__searchwrap { position: relative; }
.gmt-proto .g-hd__search .g-hd__search-input { min-width: 0; height: 100%; padding: 0; box-shadow: none; }
.gmt-proto .g-hd__search .g-hd__search-input::-webkit-search-cancel-button { display: none; }
.gmt-proto .g-hd__suggest { position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 70; text-align: left; }
.gmt-proto .g-hd__suggest:not(:empty) { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow-lg); overflow: hidden; }
.gmt-proto .g-hd__cartwrap { position: relative; }
.gmt-proto .g-hd__notif { position: relative; }
.gmt-proto .g-gmt-logo { color: var(--ink); }
.gmt-proto .g-gmt-logo:hover { color: var(--ink); }

/* Lista do menu principal (a marcação vem do menu do painel) */
.gmt-proto .g-hd__navlist { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; min-width: 0; flex-wrap: wrap; }
.gmt-proto .g-hd__navitem { position: static; }
.gmt-proto .g-hd__navitem:hover > .g-hd__navlink,
.gmt-proto .g-hd__navitem:focus-within > .g-hd__navlink { color: var(--ink); }
.gmt-proto .g-hd__navitem:hover > .g-hd__navlink::after,
.gmt-proto .g-hd__navitem:focus-within > .g-hd__navlink::after { transform: scaleX(1); }
.gmt-proto .g-hd__navitem:hover > .g-hd__navlink svg { transform: rotate(180deg); }
.gmt-proto .g-hd__navlink.is-current { color: var(--ink); }

/* Megamenu: abre por hover/foco (sem JS), mesmo desenho do protótipo */
.gmt-proto .g-hd__navitem--has:hover > .g-mega,
.gmt-proto .g-hd__navitem--has:focus-within > .g-mega { max-height: min(620px, calc(100vh - 160px)); opacity: 1; pointer-events: auto; overflow-y: auto; }
.gmt-proto .g-mega__cols { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.gmt-proto .g-mega__coltitle { display: block; }
.gmt-proto .g-mega__coltitle:hover { color: var(--ink); }
.gmt-proto .g-mega__col { min-width: 0; }

/* ---------- Card de produto (item.tpl nativo + classes g-pcard) ---------- */
.gmt-proto .item.g-pcard { background: var(--surface); border: 1px solid var(--line); border-radius: var(--r); box-shadow: none; overflow: hidden; display: flex; flex-direction: column; height: 100%; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.gmt-proto .item.g-pcard:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: var(--line-strong); }
.gmt-proto .g-pcard > .js-product-container { flex: 1; display: block; }
.gmt-proto .g-pcard .item-image { border-radius: 0; max-height: none; background: #fff; }
.gmt-proto .g-pcard .item-image > div[style*="padding-bottom"] { padding-bottom: 100% !important; }
.gmt-proto .g-pcard .item-image img { max-height: none; object-fit: contain; }
.gmt-proto .g-pcard .product-item-slider-container { left: 0; right: auto; }
.gmt-proto .g-pcard .item-slider-controls-container { opacity: 0; transition: opacity .15s; }
.gmt-proto .g-pcard:hover .item-slider-controls-container { opacity: 1; }
.gmt-proto .g-pcard .item-description { padding: 16px !important; text-align: left; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 7px; }
.gmt-proto .g-pcard .item-link { display: flex; flex-direction: column; gap: 7px; color: var(--ink); }
.gmt-proto .g-pcard .g-pcard__name { margin: 0 !important; font-family: var(--body); font-weight: 600; font-size: 15px; line-height: 1.25; min-height: 38px; color: var(--ink); text-transform: none; letter-spacing: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gmt-proto .g-pcard .g-pcard__brand { margin-bottom: -2px; }
.gmt-proto .g-pcard .item-price-container { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin: 0 !important; text-align: left; }
.gmt-proto .g-pcard .price-compare { order: -1; font-family: var(--mono); font-size: 12px; color: var(--muted-2); text-decoration: line-through; margin: 0 0 -2px; }
.gmt-proto .g-pcard .price-compare::before { content: 'de '; }
.gmt-proto .g-pcard .item-price { font-family: var(--body); font-weight: 700; font-size: 17px; color: var(--ink); line-height: 1.2; }
.gmt-proto .g-pcard .text-accent { color: var(--green) !important; font-size: 12px; font-weight: 600; margin: 0 !important; }
.gmt-proto .g-pcard .item-installments { font-family: var(--mono); font-size: 11px; color: var(--muted); margin: 0; }
.gmt-proto .g-pcard .item-installments * { color: inherit; font-weight: 400; }
.gmt-proto .g-pcard .label { font-family: var(--mono); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; border-radius: 3px; padding: 5px 9px; line-height: 1.2; }
.gmt-proto .g-pcard .label.label-circle { width: auto; height: auto; min-width: 0; background: #D62828; color: #fff; }
.gmt-proto .g-pcard .label.label-circle * { display: inline; font-size: inherit; }
.gmt-proto .g-pcard .item-actions { margin: 0 !important; padding: 0 16px 16px; gap: 8px; flex-wrap: nowrap; }
.gmt-proto .g-pcard .item-actions > [class*="col-"] { padding: 0; flex: 1 1 auto; max-width: none; }
.gmt-proto .g-pcard .item-actions > [class*="col-"]:last-child { flex: 0 0 auto; }
.gmt-proto .g-pcard .item-actions .btn { height: 38px; padding: 0 14px; margin: 0 !important; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: 13px; border-radius: var(--r-sm); line-height: 1; }
.gmt-proto .g-pcard .item-actions .btn-primary { background: var(--blue); border-color: var(--blue); color: #fff; }
.gmt-proto .g-pcard .item-actions .btn-primary:hover { background: var(--blue-700); }
.gmt-proto .g-pcard .item-actions .btn-secondary { background: transparent; color: var(--ink); border: 0; box-shadow: inset 0 0 0 1.5px var(--line-strong); }
.gmt-proto .g-pcard .item-actions .btn-secondary:hover { box-shadow: inset 0 0 0 1.5px var(--ink); }
.gmt-proto .g-pcard .item-actions .btn-secondary svg { fill: currentColor; }
@media (max-width: 680px) {
  .gmt-proto .g-pcard .item-description { padding: 12px !important; gap: 5px; }
  .gmt-proto .g-pcard .g-pcard__name { font-size: 14px; min-height: 34px; }
  .gmt-proto .g-pcard .item-actions { padding: 0 12px 12px; }
}

/* ---------- Rodapé ---------- */
.gmt-proto .g-ft { margin-top: 80px; }
.gmt-proto .g-ft__assure-item > div { min-width: 0; }
.gmt-proto .g-ft__col h4 { font-size: 15px; letter-spacing: .08em; }
.gmt-proto .g-ft__newsform button { height: 38px; }
.gmt-proto .g-ft__newsmsg { font-size: 12px; color: #fff; margin: 0 0 10px; }
.gmt-proto .g-ft__bottom { flex-wrap: wrap; }
.gmt-proto .g-ft__bottom .g-mono,
.gmt-proto .g-ft__claim { font-size: 10.5px; letter-spacing: .06em; color: #6f7884; }
.gmt-proto .g-ft__claim a { color: #8b94a0; }
.gmt-proto .g-ft__pay { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.gmt-proto .g-ft__pay img { height: 22px; width: auto; background: #fff; border-radius: 3px; padding: 2px 4px; }
.gmt-proto .g-ft__powered,
.gmt-proto .g-ft__powered a { font-size: 10.5px; color: #6f7884; }
.gmt-proto .g-ft__powered svg { fill: currentColor; height: 14px; width: auto; }
.gmt-proto .g-ft__store div { white-space: normal; }

/* ---------- Página: fundo e largura padrão ---------- */
.gmt-proto .g-wrap { width: 100%; }

/* Reforços: o tema estiliza button/a/span de forma global */
.gmt-proto .g-hd__search .g-hd__search-btn { background: var(--ink); color: #fff; border: 0; height: 38px; padding: 0 20px; border-radius: 4px; font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: 14px; line-height: 1; }
.gmt-proto .g-hd__search .g-hd__search-btn:hover { background: var(--blue); }
.gmt-proto .g-hd__newbie, .gmt-proto .g-hd__newbie span { color: #fff; }
.gmt-proto .g-hd__loadcta { color: var(--blue-700); }
.gmt-proto .g-hd__cartnum[hidden] { display: none; }
.gmt-proto .g-syschip { color: var(--ink); }
.gmt-proto .g-syschip:hover { color: var(--ink); }

/* Ajustes da prévia 1 */
@media (max-width: 680px) {
  /* o protótipo zera a margem lateral do rodapé no celular (bug do mockup); mantém o respiro de 18px */
  .gmt-proto .g-ft__top { padding-left: var(--gutter); padding-right: var(--gutter); }
}
/* placeholder cinza do tema aparece sob fotos que não são quadradas */
.gmt-proto .g-pcard .placeholder-fade,
.gmt-proto .g-pcard .item-image .placeholder-fade { display: none; }
.gmt-proto .g-pcard .item-image,
.gmt-proto .g-pcard .product-item-image-container { background: #fff; }
/* botões do card: COMPRAR ocupa o espaço, "ver" vira ícone quadrado */
.gmt-proto .g-pcard .item-actions { display: grid; grid-template-columns: 1fr 38px; gap: 8px; }
.gmt-proto .g-pcard .item-actions > [class*="col-"]:only-child { grid-column: 1 / -1; }
.gmt-proto .g-pcard .item-actions .btn-secondary { width: 100%; padding: 0; }
.gmt-proto .g-pcard .item-actions .btn-secondary span { display: none !important; }
.gmt-proto .g-pcard .item-actions .btn { width: 100%; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Drawer mobile do protótipo dentro do modal nativo ---------- */
.gmt-proto .g-mnav-modal { background: var(--surface); width: 330px; max-width: 86vw; padding: 0; box-shadow: var(--shadow-lg); }
.gmt-proto .g-mnav-modal .modal-body { padding: 0; height: 100%; overflow-y: auto; }
.gmt-proto .g-mnav-modal .g-mnav__nativeclose { display: none; }
.gmt-proto .g-mnav__panel-in { display: flex; flex-direction: column; min-height: 100%; font-family: var(--body); color: var(--ink); }
.gmt-proto .g-mnav__head .g-gmt-logo,
.gmt-proto .g-mnav__close { color: var(--ink); }
.gmt-proto .g-mnav__close { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: var(--r-sm); }
.gmt-proto .g-mnav__cta { color: #fff; }
.gmt-proto .g-mnav__newbie { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; height: 46px; margin-bottom: 18px; border-radius: var(--r-sm); background: var(--ink); color: #fff; font-family: var(--display); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 13px; }
.gmt-proto .g-mnav__newbie svg { color: #ff5252; }
.gmt-proto details.g-mnav__group > summary { list-style: none; cursor: pointer; }
.gmt-proto details.g-mnav__group > summary::-webkit-details-marker { display: none; }
.gmt-proto details.g-mnav__group[open] > summary svg { transform: rotate(180deg); color: var(--blue); }
.gmt-proto a.g-mnav__item { color: var(--ink); }
.gmt-proto .g-mnav__suball, .gmt-proto .g-mnav__coltitle, .gmt-proto .g-mnav__sublink, .gmt-proto .g-mnav__syschip { display: block; }
.gmt-proto .g-mnav__syschip { display: inline-block; }
.gmt-proto .g-mnav__account { color: var(--ink); }
.gmt-proto .g-mnav__whats { color: #fff; }

/* cores do drawer (o tema pinta links e svg dentro dos modais) */
.gmt-proto #nav-hamburger .g-ic { fill: none; stroke: currentColor; }
.gmt-proto #nav-hamburger a { text-decoration: none; }
.gmt-proto #nav-hamburger .g-mnav__close,
.gmt-proto #nav-hamburger .g-mnav__item,
.gmt-proto #nav-hamburger .g-mnav__account,
.gmt-proto #nav-hamburger .g-gmt-logo { color: var(--ink); }
.gmt-proto #nav-hamburger .g-mnav__newbie,
.gmt-proto #nav-hamburger .g-mnav__cta,
.gmt-proto #nav-hamburger .g-mnav__whats { color: #fff; }
.gmt-proto #nav-hamburger .g-mnav__newbie .g-ic { color: #ff5252; }
.gmt-proto #nav-hamburger .g-mnav__item .g-ic { color: var(--muted-2); }
.gmt-proto #nav-hamburger .g-mnav__suball { color: var(--blue-700); }
.gmt-proto #nav-hamburger .g-mnav__coltitle { color: var(--ink); }
.gmt-proto #nav-hamburger .g-mnav__sublink { color: var(--muted); }
.gmt-proto #nav-hamburger .g-mnav__syschip { color: var(--blue-700); }
/* svg de linha em todo lugar novo (o tema aplica fill em svg) */
.gmt-proto .g-ic { fill: none; }

/* ---------- Home ---------- */
.gmt-proto .js-home-sections-container > section { margin-top: 0; }
.gmt-proto [data-store="home-slider"] .js-live-preview-home-slider-container,
.gmt-proto [data-store="home-slider"] .section-slider { margin-bottom: 0 !important; }
.gmt-proto .g-trustbar a.g-trustbar__item { color: #fff; text-decoration: none; }
.gmt-proto .g-sec--products .g-sec__head { margin-bottom: 26px; }
.gmt-proto .g-sec--products .g-sec__title { font-size: 38px; line-height: .95; margin: 8px 0 0; color: var(--ink); }
.gmt-proto .g-sec--products .g-sec__link { color: var(--ink); text-decoration: none; white-space: nowrap; }
.gmt-proto .g-sec__grid { margin-left: -10px; margin-right: -10px; row-gap: 20px; }
.gmt-proto .g-sec__grid > .js-item-product { padding-left: 10px; padding-right: 10px; }
.gmt-proto .g-sec--products { padding: 64px 0 24px; }
@media (max-width: 680px) {
  .gmt-proto .g-sec--products { padding: 40px 0 8px; }
  .gmt-proto .g-sec--products .g-sec__title { font-size: 28px; }
  .gmt-proto .g-sec__grid { margin-left: -6px; margin-right: -6px; row-gap: 12px; }
  .gmt-proto .g-sec__grid > .js-item-product { padding-left: 6px; padding-right: 6px; }
}

/* ---------- Categoria e busca ---------- */
.gmt-proto .g-cat__hero { background: #0c0f14; }
.gmt-proto .g-cat__hero--plain { background: repeating-linear-gradient(135deg, #14181E 0 14px, #191E26 14px 28px); }
.gmt-proto .g-cat__heroimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gmt-proto .g-cat__crumb a { color: #aab2bc; text-decoration: none; }
.gmt-proto .g-cat__crumb a:hover { color: #fff; }
.gmt-proto .g-cat__count { margin: 0; max-width: 760px; line-height: 1.6; }
.gmt-proto .g-cat__chips { position: static; }
.gmt-proto .g-cat__chiprow { display: flex; flex-wrap: wrap; gap: 8px; }
.gmt-proto a.g-chip { text-decoration: none; display: inline-block; }
.gmt-proto .g-chip.g-is-on { background: var(--ink); color: #fff; border-color: var(--ink); }
.gmt-proto .g-syschip { text-decoration: none; }
@media (max-width: 680px) {
  .gmt-proto .g-cat__chiprow { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
}
/* filtros, ordenação e grade nativos no desenho do protótipo */
.gmt-proto .category-body { padding: 34px 0 40px; }
.gmt-proto .category-body > .container { max-width: var(--maxw); padding-left: var(--gutter); padding-right: var(--gutter); }
.gmt-proto .category-body [data-store="filters-group"] > :is(.h5,.h6,h5,h6),
.gmt-proto .category-body .filters-title,
.gmt-proto .category-body h3.title-section { font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; font-size: 14px; }
.gmt-proto .category-body .checkbox-container,
.gmt-proto .category-body .checkbox-text { font-size: 14px; color: var(--ink-soft); }
.gmt-proto .category-body input[type="checkbox"] { accent-color: var(--blue); }
.gmt-proto .category-controls { background: var(--surface); border-bottom: 1px solid var(--line); }
.gmt-proto .category-controls .form-select,
.gmt-proto .category-controls select { font-family: var(--body); font-size: 14px; font-weight: 600; border: 1px solid var(--line-strong); border-radius: var(--r-sm); background-color: #fff; color: var(--ink); }
.gmt-proto .category-controls .breadcrumbs { font-family: var(--mono); font-size: 11.5px; }
.gmt-proto .js-product-table { row-gap: 20px; }
.gmt-proto .js-load-more { font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; border-radius: var(--r-sm); }

/* Ajustes da prévia: categoria */
body.gmt-proto > .mt-4 { margin-top: 0 !important; }
.gmt-proto .g-cat__heroinner { padding-left: var(--gutter); padding-right: var(--gutter); }
.gmt-proto .category-controls .breadcrumbs { display: none; }
.gmt-proto .g-pcard .item-slider-controls-container { display: none !important; }
.gmt-proto .g-cat__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.gmt-proto .g-cat__desc * { margin: 0; color: inherit; font: inherit; }

/* ---------- Produto (blocos nativos no layout do protótipo) ---------- */
.gmt-proto .g-pd { background: var(--bg); }
.gmt-proto .g-pd__crumb a { color: var(--muted); text-decoration: none; }
.gmt-proto .g-pd__crumb a:hover { color: var(--blue); }
.gmt-proto .g-pd__crumb span { margin: 0 6px; }
.gmt-proto .g-pd__crumb span:last-child { margin: 0; color: var(--ink-soft); }
.gmt-proto .g-pd__media { min-width: 0; }
.gmt-proto .g-pd__media > .row { display: grid; grid-template-columns: 84px 1fr; gap: 14px; margin: 0; }
.gmt-proto .g-pd__media > .row > [class*="col-"] { max-width: none; width: auto; padding: 0; flex: none; }
.gmt-proto .g-pd__media .product-image-container { border-radius: var(--r); overflow: hidden; background: #fff; border: 1px solid var(--line); }
.gmt-proto .g-pd__media .product-image-container .box-rounded,
.gmt-proto .g-pd__media img { border-radius: 0; }
.gmt-proto .g-pd__media .col-2 a,
.gmt-proto .g-pd__media .js-product-thumb { display: block; border: 1px solid var(--line); border-radius: var(--r-sm); overflow: hidden; background: #fff; margin-bottom: 12px; }
.gmt-proto .g-pd__media .js-product-thumb.selected,
.gmt-proto .g-pd__media .js-product-thumb.active { border: 2px solid var(--blue); }
.gmt-proto .g-pd__info { min-width: 0; }
.gmt-proto .g-pd__brand { font-size: 12px; letter-spacing: .16em; color: var(--muted-2); text-transform: uppercase; }
.gmt-proto .g-pd__info .breadcrumbs { display: none; }
.gmt-proto .g-pd__info .page-header { padding: 0; margin: 0; text-align: left; }
.gmt-proto .g-pd__info .page-header h1 { font-family: var(--display); font-weight: 700; text-transform: uppercase; font-size: 36px; line-height: 1; margin: 8px 0 18px; color: var(--ink); letter-spacing: .005em; text-align: left; }
.gmt-proto .g-pd__info .js-price-container { background: var(--bg); border: 1px solid var(--line); border-radius: var(--r); padding: 20px; margin-bottom: 24px !important; }
.gmt-proto .g-pd__info { background: transparent; }
.gmt-proto .g-pd__info .js-price-container { background: #fff; }
.gmt-proto .g-pd__info #compare_price_display { font-family: var(--body); font-size: 14px; color: var(--muted-2); text-decoration: line-through; margin-bottom: 6px; font-weight: 400; }
.gmt-proto .g-pd__info #price_display { font-family: var(--body); font-weight: 700; font-size: 40px; line-height: 1; color: var(--ink) !important; letter-spacing: -.01em; }
.gmt-proto .g-pd__info .text-accent { color: var(--green) !important; }
.gmt-proto .g-pd__info .js-product-installments-container,
.gmt-proto .g-pd__info .product-installments,
.gmt-proto .g-pd__info [class*="installments"] { font-family: var(--mono); font-size: 12px; color: var(--muted); }
.gmt-proto .g-pd__info [class*="installments"] * { color: inherit; }
.gmt-proto .g-pd__info .js-product-variants .form-label, .gmt-proto .g-pd__info .js-product-variants-group .form-label { font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.gmt-proto .g-pd__info .form-select,
.gmt-proto .g-pd__info select { min-height: 46px; border: 1.5px solid var(--line-strong); border-radius: var(--r-sm); font-family: var(--body); font-weight: 600; color: var(--ink); background-color: #fff; }
.gmt-proto .g-pd__info .btn-variant { min-width: 48px; height: 44px; padding: 0 10px; border-radius: var(--r-sm); border: 1.5px solid var(--line-strong); background: #fff; font-family: var(--display); font-weight: 600; font-size: 15px; color: var(--ink); }
.gmt-proto .g-pd__info .btn-variant.selected { background: var(--ink); color: #fff; border-color: var(--ink); }
.gmt-proto .g-pd__info .btn-variant-color { width: 46px; height: 46px; min-width: 0; padding: 3px; border: 2px solid var(--line); }
.gmt-proto .g-pd__info .btn-variant-color.selected { background: #fff; border-color: var(--ink); }
.gmt-proto .g-pd__info .form-quantity { height: 56px; border: 1.5px solid var(--line-strong); border-radius: var(--r-sm); background: #fff; }
.gmt-proto .g-pd__info .js-addtocart { height: 56px; border-radius: var(--r-sm); background: var(--blue); border-color: var(--blue); color: #fff; font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: 17px; }
.gmt-proto .g-pd__info .js-addtocart:hover { background: var(--blue-700); }
.gmt-proto .g-pd__info #product-shipping-container,
.gmt-proto .g-pd__info .js-shipping-calculator-form { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 18px; margin-top: 22px; }
.gmt-proto .g-pd__info .js-shipping-input { height: 44px; border: 1.5px solid var(--line-strong); border-radius: var(--r-sm); font-family: var(--mono); font-size: 14px; letter-spacing: .04em; }
.gmt-proto .g-pd__info .js-calculate-shipping { height: 44px; border-radius: var(--r-sm); font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; background: var(--ink); border-color: var(--ink); color: #fff; }
.gmt-proto .g-pd__info .product-informative-banner,
.gmt-proto .g-pd__info [data-store*="product-informative"] { font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); }
.gmt-proto .g-pd__info [data-store*="product-informative"] svg { fill: var(--green); }
.gmt-proto .g-pd__whats { display: flex; align-items: center; justify-content: center; gap: 9px; width: 100%; height: 52px; margin-top: 18px; border-radius: var(--r-sm); background: #25D366; color: #fff !important; font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; font-size: 15px; text-decoration: none; }
.gmt-proto .g-pd__whats:hover { background: #1eb858; }
.gmt-proto .g-pd__details { padding: 40px 0 20px; border-top: 1px solid var(--line); }
.gmt-proto .g-pd__desc h3 { font-size: 24px; margin: 0 0 14px; }
.gmt-proto .g-pd__desc .product-description { font-size: 15px; line-height: 1.7; color: var(--ink-soft); max-width: 920px; }
@media (max-width: 900px) {
  .gmt-proto .g-pd__grid { grid-template-columns: 1fr; gap: 18px; }
  .gmt-proto .g-pd__media > .row { grid-template-columns: 1fr; }
  .gmt-proto .g-pd__info .page-header h1 { font-size: 21px; margin: 4px 0 12px; line-height: 1.05; }
  .gmt-proto .g-pd__info #price_display { font-size: 30px; }
  .gmt-proto .g-pd__info .js-price-container { padding: 13px 14px; }
  .gmt-proto .g-pd__info .js-addtocart, .gmt-proto .g-pd__info .form-quantity { height: 48px; font-size: 14px; }
}
/* produto: grade não pode crescer com o carrossel; frete com uma borda só */
.gmt-proto .g-pd__grid { grid-template-columns: minmax(0, 1fr) 440px; }
.gmt-proto .g-pd__media > .row { grid-template-columns: 84px minmax(0, 1fr); }
.gmt-proto .g-pd__media .product-image-container { min-width: 0; }
.gmt-proto .g-pd__info #product-shipping-container .js-shipping-calculator-form { border: 0; padding: 0; margin: 0; background: transparent; }
@media (max-width: 900px) {
  .gmt-proto .g-pd__grid { grid-template-columns: minmax(0, 1fr); }
  .gmt-proto .g-pd__media > .row { grid-template-columns: minmax(0, 1fr); }
}
/* descrição cadastrada no painel pode ter imagem/tabela/vídeo com largura fixa */
.gmt-proto .g-pd__details { max-width: 100%; overflow-x: hidden; }
.gmt-proto .g-pd__desc .product-description img,
.gmt-proto .g-pd__desc .product-description iframe,
.gmt-proto .g-pd__desc .product-description video,
.gmt-proto .g-pd__desc .product-description table { max-width: 100% !important; height: auto; }
.gmt-proto .g-pd__desc .product-description table { display: block; overflow-x: auto; }
.gmt-proto .g-pd__desc .product-description * { max-width: 100%; box-sizing: border-box; }

/* garantias do produto (product-informative-banner usa .form-label) no estilo pd__trust */
.gmt-proto .g-pd__info .form-row > .form-label { font-family: var(--body); font-size: 13.5px; line-height: 1.5; letter-spacing: 0; text-transform: none; color: var(--ink-soft); margin: 0; }
.gmt-proto .g-pd__info .form-row > .form-label .font-weight-bold { color: var(--ink); }
.gmt-proto .g-pd__info .form-row > .form-label svg { fill: var(--green); }
/* descrição: o HTML do painel traz fonte embutida */
.gmt-proto .g-pd__desc .product-description,
.gmt-proto .g-pd__desc .product-description * { font-family: var(--body) !important; }

/* ---------- Telas nativas restantes: carrinho, drawer, conta, páginas, blog (só pele) ---------- */
.gmt-proto .btn-primary { background-color: var(--blue); border-color: var(--blue); color: #fff; }
.gmt-proto .btn-primary:hover, .gmt-proto .btn-primary:focus { background-color: var(--blue-700); border-color: var(--blue-700); color: #fff; }
.gmt-proto .btn-primary, .gmt-proto .btn-secondary { font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .06em; border-radius: var(--r-sm); }
.gmt-proto .btn-secondary { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.gmt-proto .form-control, .gmt-proto .form-select { border-radius: var(--r-sm); border-color: var(--line-strong); font-family: var(--body); }
.gmt-proto .form-control:focus, .gmt-proto .form-select:focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--blue-050); }
.gmt-proto.gmt-proto-cart .page-header h1,
.gmt-proto[class*="gmt-proto-account"] .page-header h1,
.gmt-proto.gmt-proto-page .page-header h1,
.gmt-proto.gmt-proto-contact .page-header h1,
.gmt-proto.gmt-proto-blog .page-header h1,
.gmt-proto.gmt-proto-blog-post .page-header h1 { font-family: var(--display); font-weight: 700; text-transform: uppercase; font-size: clamp(30px, 4vw, 48px); line-height: 1; color: var(--ink); letter-spacing: .005em; }
.gmt-proto .page-header .breadcrumbs { font-family: var(--mono); font-size: 11.5px; letter-spacing: .06em; color: var(--muted); }
.gmt-proto #shoppingCartPage .cart-item-name, .gmt-proto .js-ajax-cart-panel .cart-item-name { font-family: var(--body); font-weight: 600; color: var(--ink); }
.gmt-proto #shoppingCartPage .js-cart-item-subtotal, .gmt-proto .js-ajax-cart-panel .js-cart-item-subtotal,
.gmt-proto .cart-total-price, .gmt-proto .js-cart-total { font-family: var(--body); font-weight: 700; color: var(--ink); }
.gmt-proto #cart-sticky-summary .box-border, .gmt-proto .account-page .box, .gmt-proto .account-page .card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: none; }
.gmt-proto #modal-cart { font-family: var(--body); }
.gmt-proto #modal-cart .modal-header { font-family: var(--display); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.gmt-proto section.user-content, .gmt-proto .blog-post-page { font-family: var(--body); font-size: 16px; line-height: 1.75; color: var(--ink-soft); }
.gmt-proto section.user-content :is(h2,h3,h4), .gmt-proto .blog-post-page :is(h2,h3,h4) { font-family: var(--display); font-weight: 700; text-transform: uppercase; color: var(--ink); line-height: 1.1; }
.gmt-proto .blog-page .item { background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.gmt-proto .blog-page .item-name { font-family: var(--display); font-weight: 700; text-transform: uppercase; color: var(--ink); }
.gmt-proto .btn-link { color: var(--blue-700); }
.gmt-proto:not(.gmt-proto-home):not(.gmt-proto-product):not(.gmt-proto-category):not(.gmt-proto-search) .page-header { padding-top: 28px; }

/* revisão R1 */
.gmt-proto .g-pd__media > .row > .product-image-container:only-child { grid-column: 1 / -1; }

/* ---------- Revisão R1 (Fable) ---------- */
/* A1: o item ocupa toda a altura da barra (sem faixa morta até o megamenu) + ponte invisível */
.gmt-proto .g-hd__navlist { align-self: stretch; }
.gmt-proto .g-hd__navitem { display: flex; align-items: center; align-self: stretch; }
.gmt-proto .g-hd__navitem--has:hover::after { content: ''; position: absolute; left: 0; right: 0; top: 100%; height: 12px; }
/* A2: megamenu cabe na tela; "Ver tudo" sempre visível */
.gmt-proto .g-hd__navitem--has:hover > .g-mega,
.gmt-proto .g-hd__navitem--has:focus-within > .g-mega { max-height: calc(100vh - 170px); }
.gmt-proto .g-mega__inner { display: flex; flex-direction: column; }
.gmt-proto .g-mega__seeall { order: -1; align-self: flex-end; margin: 0 0 14px; }
/* A3: entre 901 e 1180px o menu não quebra de linha */
.gmt-proto .g-hd__navlist { flex-wrap: nowrap; }
@media (min-width: 901px) and (max-width: 1180px) {
  .gmt-proto .g-hd__navlink { padding: 8px 9px; font-size: 13.5px; }
  .gmt-proto .g-hd__newbie { display: none; }
}
/* A4: bolinhas nativas de cor sobre a foto somem (o card novo mostra as cores sob o nome) */
.gmt-proto .g-pcard .js-item-colors, .gmt-proto .g-pcard .item-colors { display: none !important; }
/* B1: descrição do produto em largura total */
.gmt-proto .g-pd__details { display: block; }
/* B2: links de conteúdo visíveis */
.gmt-proto :is(.user-content, .product-description, .blog-post-page) a { color: var(--blue-700); text-decoration: underline; text-underline-offset: 3px; }
/* B4: aviso legal +18 também no celular */
.gmt-proto .g-ft__age { display: block; }
/* B6: respiro no fim da rolagem dos chips */
@media (max-width: 680px) { .gmt-proto .g-cat__chiprow::after { content: ''; flex: 0 0 8px; } }
/* C2: botão do WhatsApp à direita, como no protótipo */
/* o painel tem CSS personalizado pondo o botão à esquerda; no tema novo vai à direita como no protótipo */
body.gmt-proto .btn-whatsapp.js-btn-fixed-bottom { left: auto !important; right: 16px !important; }
/* C4: barra de ordenação sem cartão flutuante */
.gmt-proto .category-controls { box-shadow: none; }
/* C5: textos longos da barra de garantias */
.gmt-proto .g-trustbar__item strong { font-size: 13.5px; }
/* widgets de apps (ex.: caixa do SmartHint com 1450px) não podem criar rolagem lateral; clip não quebra o header fixo */
body.gmt-proto > .mt-4, body.gmt-proto .js-home-sections-container { overflow-x: clip; }

/* C3: a foto principal não estica até a altura das miniaturas/coluna de compra */
.gmt-proto .g-pd__grid { align-items: start; }
.gmt-proto .g-pd__media > .row { align-items: start; }
.gmt-proto .g-pd__media .product-image-container { align-self: start; }
.gmt-proto .g-pd__media > .row > .col-2 { max-height: 640px; overflow-y: auto; }
/* galeria: quadro quadrado como no protótipo (a altura não segue a foto mais alta); a imagem aparece inteira */
.gmt-proto .g-pd__media .js-product-slide-link { padding-bottom: 100% !important; }
.gmt-proto .g-pd__media .js-product-slide-img { object-fit: contain; width: 100%; height: 100%; }
.gmt-proto .g-pd__media .js-swiper-product .swiper-wrapper { align-items: flex-start; }
/* notificação "adicionado ao carrinho" no desktop: mesma área do header nativo (coluna de ~360px à direita) */
.gmt-proto .g-hd__actions { position: relative; }
.gmt-proto .g-hd__notif { position: absolute; top: 100%; right: 0; width: 360px; height: 0; }

/* ---------- Refino de fidelidade (rodada 3) ---------- */
/* sugestões de busca vazias não desenham borda (o contêiner tem espaços em branco, então :empty não pega) */
.gmt-proto .g-hd__suggest:not(:empty) { border: 0; box-shadow: none; }
.gmt-proto .g-hd__suggest:has(*) { border: 1px solid var(--line); box-shadow: var(--shadow-lg); }
/* barra de ordenação discreta, alinhada à grade (protótipo: "Ordenar: Relevância" à direita) */
@media (min-width: 768px) {
  .gmt-proto .js-category-controls.category-controls { background: transparent; border: 0; box-shadow: none; padding: 0; max-width: var(--maxw); padding-left: var(--gutter); padding-right: var(--gutter); }
  .gmt-proto .js-category-controls.category-controls > .row { margin-bottom: 0 !important; justify-content: flex-end; }
  .gmt-proto .js-category-controls .form-select,
  .gmt-proto .js-category-controls select { min-height: 38px; padding: 6px 12px; }
  .gmt-proto.gmt-proto-category .category-body,
  .gmt-proto.gmt-proto-search .category-body { padding-top: 20px; }
}
/* título dos filtros como o "FILTROS" do protótipo */
.gmt-proto .category-body h3.title-section { font-family: var(--mono); font-size: 11px; font-weight: 700; letter-spacing: .16em; color: var(--muted); }
/* grade de 3 colunas ao lado dos filtros (como no protótipo); 2 no celular */
@media (min-width: 992px) {
  .gmt-proto .category-body .js-product-table > .js-item-product { flex: 0 0 33.3333%; max-width: 33.3333%; }
}
@media (max-width: 767px) {
  .gmt-proto .category-body .js-product-table > .js-item-product { flex: 0 0 50%; max-width: 50%; }
}
/* produto: preço + parcelas/PIX num quadro só, como o pd__pricebox do protótipo */
.gmt-proto .g-pd__info .js-price-container { margin-bottom: 0 !important; border-bottom: 0; border-radius: var(--r) var(--r) 0 0; padding-bottom: 6px; }
.gmt-proto .g-pd__info .js-product-payments-container { margin: 0 0 24px !important; background: #fff; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 var(--r) var(--r); padding: 0 20px 16px; cursor: pointer; }
.gmt-proto .g-pd__info .js-product-payments-container > [class*="col"] { padding-left: 0; padding-right: 0; }
.gmt-proto .g-pd__info .js-product-payments-container[style*="display: none"] + * { margin-top: 24px; }
@media (max-width: 900px) { .gmt-proto .g-pd__info .js-product-payments-container { padding: 0 14px 12px; } }

/* ---------- Refino R4 (Astra): acabamento, acessibilidade e responsividade ---------- */
/* 3: galeria entre 768 e 900px mantém as miniaturas à esquerda */
@media (min-width: 768px) and (max-width: 900px) {
  .gmt-proto .g-pd__media > .row { grid-template-columns: 72px minmax(0, 1fr); gap: 12px; }
}
/* 4: ações do card também aparecem com foco de teclado (o tema só mostra no hover) */
.gmt-proto .g-pcard:focus-within .item-actions { visibility: visible; opacity: 1; height: auto; }
/* 6: foco visível consistente (o tema remove outline com !important) */
.gmt-proto :is(a[href], button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--blue-700) !important; outline-offset: 3px; box-shadow: 0 0 0 2px var(--surface); }
.gmt-proto .g-pcard a:focus-visible { outline-offset: -3px; }
/* 7 (parcial, mantendo as cores da marca): textos pequenos com contraste suficiente */
.gmt-proto { --gmt-text-muted: #5C6673; --gmt-text-secondary: #65707D; --gmt-success-text: #157347; }
.gmt-proto .g-pcard .g-pcard__brand, .gmt-proto .g-pcard .price-compare, .gmt-proto .g-pd__brand,
.gmt-proto .g-pd__info #compare_price_display, .gmt-proto #nav-hamburger .g-mnav__sec, .gmt-proto #nav-hamburger .g-mnav__systitle { color: var(--gmt-text-secondary); }
.gmt-proto .g-pcard .item-installments, .gmt-proto .g-pd__crumb, .gmt-proto .g-pd__crumb a, .gmt-proto .g-pd__info [class*="installments"] { color: var(--gmt-text-muted); }
.gmt-proto .g-pcard .text-accent, .gmt-proto .g-pd__info .text-accent { color: var(--gmt-success-text) !important; }
.gmt-proto .g-ft__age, .gmt-proto .g-ft__bottom .g-mono, .gmt-proto .g-ft__claim, .gmt-proto .g-ft__claim a, .gmt-proto .g-ft__powered, .gmt-proto .g-ft__powered a { color: #aeb6c0; }
/* 8: grades nas larguras intermediárias (home: 2 colunas até 1080px, como no protótipo) */
.gmt-proto .g-sec__grid > .js-item-product { flex: 0 0 50%; max-width: 50%; min-width: 0; }
@media (min-width: 1081px) { .gmt-proto .g-sec__grid > .js-item-product { flex-basis: 25%; max-width: 25%; } }
.gmt-proto .category-body > .container > .row > .col { min-width: 0; }
@media (min-width: 768px) { .gmt-proto .category-body > .container > .row > .col-md-2 { flex: 0 0 200px; max-width: 200px; } }
@media (min-width: 768px) and (max-width: 991px) { .gmt-proto .category-body .js-product-table > .js-item-product { flex: 0 0 50%; max-width: 50%; min-width: 0; } }
.gmt-proto .category-body .checkbox-text { overflow-wrap: anywhere; }
/* 9: gutters unificados e títulos longos */
@media (min-width: 681px) and (max-width: 900px) { .gmt-proto { --gutter: 16px; } }
.gmt-proto .g-sec__head { flex-wrap: wrap; gap: 12px 20px; }
.gmt-proto .g-sec__head > div { flex: 1 1 12rem; min-width: 0; }
.gmt-proto .g-sec__title { overflow-wrap: anywhere; }
.gmt-proto .g-sec__link { flex: 0 0 auto; }
/* 10: alvos de toque de 44px só em telas de toque (no desktop mantém as medidas do protótipo) */
.gmt-proto .g-ft__newsform input[type="email"] { flex: 1 1 0%; min-width: 0; }
@media (pointer: coarse) {
  .gmt-proto .g-hd__search .g-hd__search-input { font-size: 16px; }
  .gmt-proto .g-hd__search .g-hd__search-btn, .gmt-proto .g-ft__newsform button, .gmt-proto .g-ft__newsform input[type="email"] { min-height: 44px; }
  .gmt-proto .g-ft__newsform input[type="email"] { font-size: 16px; }
  .gmt-proto .g-mnav__close, .gmt-proto .g-ft__social a { width: 44px; height: 44px; min-width: 44px; }
  .gmt-proto :is(.g-mnav__suball, .g-mnav__coltitle, .g-mnav__sublink, .g-ft__col a, .g-ft__contact a) { min-height: 44px; display: flex; align-items: center; }
  .gmt-proto :is(a.g-chip, .g-mnav__syschip) { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; }
  .gmt-proto .category-controls :is(select, .form-select) { min-height: 44px; font-size: 16px; }
  .gmt-proto .g-pcard .item-actions .btn { min-height: 44px; height: 44px; }
  .gmt-proto .g-pcard .item-actions { grid-template-columns: minmax(0, 1fr) 44px; }
}
/* 12: caixa de preço fecha sozinha quando não há bloco de parcelas visível */
.gmt-proto .g-pd__info:not(:has(.js-product-payments-container:not([hidden]):not([style*="display:none"]):not([style*="display: none"]))) .js-price-container { border-bottom: 1px solid var(--line); border-radius: var(--r); padding-bottom: 20px; margin-bottom: 24px !important; }
/* 13: vídeos da descrição em 16:9; textos e URLs longas quebram */
.gmt-proto .g-pd__desc .product-description { overflow-wrap: anywhere; }
.gmt-proto .g-pd__desc .product-description :is(iframe[src*="youtube.com"], iframe[src*="youtube-nocookie.com"], iframe[src*="player.vimeo.com"]) { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; }
/* 15: movimento reduzido */
@media (prefers-reduced-motion: reduce) {
  .gmt-proto :is(.g-pcard, .g-mega, .g-hd, .g-hd__navlink::after, .g-hd__navlink svg, .g-ft__social a) { animation: none; transition: none; }
  .gmt-proto :is(.g-pcard:hover, .g-ft__social a:hover) { transform: none; }
}

/* ---------- Refino de fidelidade R4 (Fable) — colar no fim de static/css/gmt-proto-theme.css ---------- */

/* R4-01 Card: foto quadrada (1:1). Vence o "CSS personalizado" do painel (settings.css_code), que força
   .product-item-image-container {height:250px !important; display:flex !important} e a imagem com height:250px !important. */
.gmt-proto .g-pcard .item-image.product-item-image-container { height: auto !important; max-height: none !important; display: block !important; overflow: hidden !important; }
.gmt-proto .g-pcard .item-image > div[style*="padding-bottom"] { width: 100%; padding-bottom: 100% !important; }
.gmt-proto .g-pcard .item-image img { position: absolute; top: 0; left: 0; width: 100% !important; height: 100% !important; max-height: none !important; object-fit: contain !important; transform: none !important; }

/* R4-02 Card: sem espaço morto no rodapé (margin-bottom:40px nativo do .item-rounded entrava na altura do card) e sem linha entre foto e corpo */
.gmt-proto .item.g-pcard { margin-bottom: 0 !important; }
.gmt-proto .g-pcard .item-description { border-top: 0; }

/* R4-03 Card (desktop): Comprar/Ver viram overlay no rodapé da foto, só no hover (o protótipo não tem botões) */
@media (min-width: 768px) {
  .gmt-proto .g-pcard .item-actions { position: absolute; left: 0; right: 0; top: 0; bottom: auto; aspect-ratio: 1 / 1; height: auto !important; margin: 0 !important; padding: 0 16px 16px; align-content: end; border-radius: 0; background: linear-gradient(180deg, rgba(255,255,255,0) 55%, rgba(255,255,255,.94) 80%); visibility: hidden; opacity: 0; transition: opacity .16s ease, visibility 0s linear .16s; z-index: 3; }
  .gmt-proto .g-pcard:hover .item-actions,
  .gmt-proto .g-pcard:focus-within .item-actions { visibility: visible; opacity: 1; transition-delay: 0s; }
}

/* R4-04 Seções nativas de produtos (relacionados/complementares) com o título do protótipo */
.gmt-proto .products-section { padding: 20px 0 40px; margin-bottom: 0 !important; }
.gmt-proto .products-section > .container { max-width: var(--maxw); padding: 0 16px !important; } /* !important: vence o utilitário .px-0 */
.gmt-proto .products-section .products-section-title-container { text-align: left !important; padding: 0 16px; margin-bottom: 30px; } /* !important: vence .text-center */
.gmt-proto .products-section .products-section-title { font-family: var(--display); font-weight: 700; text-transform: uppercase; letter-spacing: .005em; line-height: .95; font-size: 38px; color: var(--ink); margin: 0; text-align: left; }
@media (max-width: 680px) {
  .gmt-proto .products-section .products-section-title { font-size: 26px; }
  .gmt-proto .products-section .products-section-title-container { margin-bottom: 18px; }
}
/* idem para os títulos dos widgets do SmartHint (suposição: h2 dentro de .smarthint) */
.gmt-proto .smarthint h2, .gmt-proto [id^="smarthint"] h2 { font-family: var(--display); font-weight: 700; text-transform: uppercase; letter-spacing: .005em; font-size: 38px; color: var(--ink); text-align: left; }

/* R4-05 Produto: miniaturas quadradas 84px, selecionada com borda azul 2px (sem o sublinhado azul nativo) */
.gmt-proto .g-pd__media .js-product-thumb { box-sizing: border-box; padding-bottom: 100% !important; margin-bottom: 12px !important; box-shadow: none; }
.gmt-proto .g-pd__media .js-product-thumb.selected { border: 2px solid var(--blue); }
.gmt-proto .g-pd__media .js-product-thumb img { width: 100%; height: 100%; object-fit: contain; }
@media (max-width: 900px) {
  .gmt-proto .g-pd__media .js-swiper-product { margin-bottom: 8px !important; }
  .gmt-proto .g-pd__media .swiper-pagination { padding-bottom: 4px; }
}

/* R4-06 Rodapé: sem a faixa extra de 50px acima das garantias; títulos das colunas como o eyebrow do protótipo */
.gmt-proto .g-ft { padding-top: 0; }
.gmt-proto .g-ft__col h4 { font-size: 13px; font-weight: 600; letter-spacing: .12em; margin: 0 0 16px; }
@media (max-width: 900px) {
  .gmt-proto .g-ft { margin-top: 44px; }
  .gmt-proto .g-ft__col h4 { font-size: 11px; margin-bottom: 10px; }
  .gmt-proto .g-ft__bottom .g-mono { font-size: 9.5px; }
}

/* R4-07 Categoria/busca (desktop): "Ordenar:" + select curto à direita, em vez do select de 25% da largura */
@media (min-width: 768px) {
  .gmt-proto .js-category-controls .col-md-3 { flex: 0 0 auto; width: auto; max-width: none; margin-left: auto; padding: 0; display: flex; align-items: center; gap: 8px; }
  .gmt-proto .js-category-controls .col-md-3::before { content: 'Ordenar:'; font-family: var(--mono); font-size: 12px; color: var(--muted); }
  .gmt-proto .js-category-controls .col-md-3 .form-group { width: auto; }
  .gmt-proto .js-category-controls select { width: auto; min-width: 150px; padding-right: 36px; }
}

/* R4-08 Categoria (desktop): coluna de filtros com 248px + 34px de vão; grupos separados por linha, título como .filt__title.
   A partir de 992px; entre 768 e 991px fica valendo a coluna de 200px do bloco "Refino R4 (Astra)". */
@media (min-width: 992px) {
  .gmt-proto .category-body > .container > .row > .col-md-2 { flex: 0 0 282px; max-width: 282px; padding-right: 19px; }
}
.gmt-proto .category-body h3.title-section { margin: 13px 0 14px; }
.gmt-proto .category-body [data-store="filters-group"] { margin: 0 !important; padding: 14px 0; border-bottom: 1px solid var(--line); }
.gmt-proto .category-body [data-store="filters-group"] > .h6 { margin: 0 0 12px !important; font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .05em; font-size: 14px; color: var(--ink); }
.gmt-proto .category-body .checkbox { margin-bottom: 9px; }

/* R4-09 Botão flutuante do WhatsApp como o .wa-fab do protótipo (60px, #25D366, brilho; 52px no celular) */
body.gmt-proto .btn-whatsapp.js-btn-fixed-bottom { width: 60px; height: 60px; right: 24px !important; bottom: 24px; background-color: #25D366; box-shadow: 0 8px 24px rgba(37,211,102,.45), 0 2px 8px rgba(0,0,0,.2); display: flex; align-items: center; justify-content: center; transition: transform .15s ease, box-shadow .15s ease; }
body.gmt-proto .btn-whatsapp.js-btn-fixed-bottom:hover { transform: translateY(-2px) scale(1.05); box-shadow: 0 12px 30px rgba(37,211,102,.55); }
body.gmt-proto .btn-whatsapp.js-btn-fixed-bottom svg { width: 30px; height: 30px; padding: 0; }
@media (max-width: 680px) {
  body.gmt-proto .btn-whatsapp.js-btn-fixed-bottom { width: 52px; height: 52px; right: 16px !important; bottom: 16px; }
  body.gmt-proto .btn-whatsapp.js-btn-fixed-bottom svg { width: 26px; height: 26px; }
}

/* R4-10 Produto: calculadora de frete como o .pd__frete (fundo --bg, título eyebrow, botão ghost, CEP em mono) */
.gmt-proto .g-pd__info #product-shipping-container { background: var(--bg); }
.gmt-proto .g-pd__info #product-shipping-container .js-shipping-calculator-form .form-label { font-family: var(--display); font-weight: 600; text-transform: uppercase; letter-spacing: .12em; font-size: 13px; color: var(--muted); margin-bottom: 11px; }
.gmt-proto .g-pd__info #product-shipping-container .js-shipping-calculator-form .form-label svg { fill: var(--blue); width: 16px; height: 16px; }
.gmt-proto .g-pd__info .js-calculate-shipping { background: transparent; border: 0; box-shadow: inset 0 0 0 1.5px var(--line-strong); color: var(--ink); font-size: 13px; }
.gmt-proto .g-pd__info .js-calculate-shipping:hover { background: #fff; box-shadow: inset 0 0 0 1.5px var(--ink); }
.gmt-proto .g-pd__info .js-shipping-input { padding: 0 14px; color: var(--ink); background: #fff; }

/* R4-11 Produto: caixa de preço com o fundo do protótipo, parcelas 14px, rótulo da variação em eyebrow, WhatsApp 48px */
.gmt-proto .g-pd__info .js-price-container,
.gmt-proto .g-pd__info .js-product-payments-container { background: var(--bg); }
.gmt-proto .g-pd__info .js-product-installments-container { font-size: 14px; margin-top: 6px; }
.gmt-proto .g-pd__info .js-product-variants .form-label,
.gmt-proto .g-pd__info .js-product-variants-group .form-label { font-family: var(--display); font-weight: 600; font-size: 13px; letter-spacing: .12em; color: var(--muted); }
.gmt-proto .g-pd__whats { height: 48px; margin-top: 12px; letter-spacing: .06em; }

/* R4-12 Home: ritmo vertical das seções de produtos (o h2 do protótipo mantém a margem padrão de .83em) */
.gmt-proto .g-sec--products .g-sec__head { margin-bottom: 30px; }
.gmt-proto .g-sec--products .g-sec__title { margin-bottom: .83em; }
@media (max-width: 680px) {
  .gmt-proto .g-sec--products { padding: 36px 0 8px; }
  .gmt-proto .g-sec--products .g-sec__head { margin-bottom: 18px; }
  .gmt-proto .g-sec--products .g-sec__title { font-size: 26px; }
}

/* R4-13 Páginas de conteúdo, contato e blog: cabeçalho como faixa escura à esquerda (support__hero / about__hero do protótipo) */
.gmt-proto.gmt-proto-page .page-header,
.gmt-proto.gmt-proto-contact .page-header,
.gmt-proto.gmt-proto-blog .page-header,
.gmt-proto.gmt-proto-blog-post .page-header { background: #0c0f14 repeating-linear-gradient(135deg, #14181E 0 14px, #191E26 14px 28px); padding: 34px 0 !important; margin: 0 0 28px; min-height: 170px; display: flex; align-items: flex-end; }
.gmt-proto.gmt-proto-page .page-header > .container,
.gmt-proto.gmt-proto-contact .page-header > .container,
.gmt-proto.gmt-proto-blog .page-header > .container,
.gmt-proto.gmt-proto-blog-post .page-header > .container { max-width: var(--maxw); padding: 0 var(--gutter); }
.gmt-proto.gmt-proto-page .page-header .text-center,
.gmt-proto.gmt-proto-contact .page-header .text-center,
.gmt-proto.gmt-proto-blog .page-header .text-center,
.gmt-proto.gmt-proto-blog-post .page-header .text-center { text-align: left !important; }
.gmt-proto.gmt-proto-page .page-header h1,
.gmt-proto.gmt-proto-contact .page-header h1,
.gmt-proto.gmt-proto-blog .page-header h1,
.gmt-proto.gmt-proto-blog-post .page-header h1 { color: #fff; font-size: clamp(36px, 5vw, 58px); margin: 0; }
.gmt-proto.gmt-proto-page .page-header .breadcrumbs,
.gmt-proto.gmt-proto-blog-post .page-header .breadcrumbs { color: #aab2bc; }
.gmt-proto.gmt-proto-page .page-header .breadcrumbs a,
.gmt-proto.gmt-proto-blog-post .page-header .breadcrumbs a { color: #aab2bc; }
@media (max-width: 900px) {
  .gmt-proto.gmt-proto-page .page-header,
  .gmt-proto.gmt-proto-contact .page-header,
  .gmt-proto.gmt-proto-blog .page-header,
  .gmt-proto.gmt-proto-blog-post .page-header { min-height: 120px; padding: 26px 0 !important; }
}

/* R4-14 Categoria/busca (celular): barra "Filtrar | Ordenar" compacta, como o toolbar do protótipo.
   Atenção: em aparelhos de toque a regra 10 do bloco Astra (@media (pointer: coarse)) impõe min-height:44px e 16px ao select; ela prevalece sobre os 38px daqui. */
@media (max-width: 767px) {
  .gmt-proto .js-category-controls.category-controls { background: var(--bg); border: 0; box-shadow: none; padding: 12px var(--gutter) 0; }
  .gmt-proto .js-category-controls > .row { margin-bottom: 0 !important; align-items: center; }
  .gmt-proto .js-category-controls .btn-default { display: flex; align-items: center; height: 38px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); background: #fff; font-family: var(--body); font-size: 14px; font-weight: 600; color: var(--ink); }
  .gmt-proto .js-category-controls .btn-default > .row { width: 100%; }
  .gmt-proto .js-category-controls select { height: 38px; min-height: 38px; padding: 6px 32px 6px 12px; font-size: 14px; }
  .gmt-proto .js-category-controls .form-select-icon { bottom: 9px; }
}

/* R4-15 Categoria: "Mostrar mais produtos" como o botão ghost do protótipo */
.gmt-proto .js-load-more { height: 48px; padding: 0 26px; line-height: 48px; font-size: 15px; letter-spacing: .06em; background: transparent !important; border: 0; box-shadow: inset 0 0 0 1.5px var(--line-strong); color: var(--ink) !important; }
.gmt-proto .js-load-more:hover { background: #fff !important; box-shadow: inset 0 0 0 1.5px var(--ink); }

/* R4-16 Header (celular): botão BUSCAR com as medidas do protótipo (a regra geral de .g-hd__search-btn vencia a regra mobile).
   Atenção: em aparelhos de toque a regra 10 do bloco Astra (min-height:44px) prevalece; decidir fidelidade (36px) x alvo de toque (44px). */
@media (max-width: 900px) {
  .gmt-proto .g-hd__msearch .g-hd__search .g-hd__search-btn { height: 36px; padding: 0 16px; font-size: 13px; }
}

/* R4-17 Drawer (celular): seta azul no grupo aberto (a regra com #nav-hamburger vencia a de details[open]) */
.gmt-proto #nav-hamburger details.g-mnav__group[open] > .g-mnav__item .g-ic { color: var(--blue); }

/* R4-18 Produto (celular): trilha em uma linha, nome do produto com reticências */
@media (max-width: 900px) {
  .gmt-proto .g-pd__crumb { display: flex; align-items: center; white-space: nowrap; overflow: hidden; }
  .gmt-proto .g-pd__crumb > a, .gmt-proto .g-pd__crumb > span { flex: 0 0 auto; }
  .gmt-proto .g-pd__crumb > span:last-child { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
}

/* R4-19 Home: fundo escuro atrás do banner enquanto a imagem carrega (hero--banner do protótipo) */
.gmt-proto [data-store="home-slider"] { background: #0c0f14; }
