/* =========================================================================
   Módulo 16 — a loja e o guia de marca.
   Carrega depois de modulo16.css, que define os tokens em
   .m16-app, body.m16-skin e .m16-marca.
   Testado contra hello-elementor + WooCommerce.
   ========================================================================= */

/* ───────── o casco da loja ───────── */
body.m16-skin{
  background:var(--m16-void);
  color:var(--m16-tinta);
  font-family:var(--m16-texto);
  -webkit-font-smoothing:antialiased;
}
body.m16-skin #site-header,
body.m16-skin #site-footer,
body.m16-skin .site-header,
body.m16-skin .site-footer{
  background:var(--m16-void);
  color:var(--m16-tinta-2);
}
body.m16-skin #site-header{border-bottom:1px solid var(--m16-linha)}
body.m16-skin #site-footer{border-top:1px solid var(--m16-linha);color:var(--m16-tinta-3);font-size:12.5px}
body.m16-skin #site-header a,
body.m16-skin #site-footer a{color:var(--m16-tinta-2);text-decoration:none}
body.m16-skin #site-header a:hover,
body.m16-skin #site-footer a:hover{color:var(--m16-ciano)}
body.m16-skin .site-header .site-title,
body.m16-skin .site-header .site-title a{
  font-family:var(--m16-display);font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--m16-tinta);
}
body.m16-skin #primary,
body.m16-skin #main,
body.m16-skin .content-area,
body.m16-skin .site-main{background:transparent}
body.m16-skin a{color:var(--m16-ciano)}
body.m16-skin h1,body.m16-skin h2,body.m16-skin h3{color:var(--m16-tinta)}

/* avisos do Woo */
body.m16-skin .woocommerce-message,
body.m16-skin .woocommerce-info,
body.m16-skin .woocommerce-error{
  background:var(--m16-painel);border:1px solid var(--m16-linha);
  border-left:2px solid var(--m16-ciano);color:var(--m16-tinta-2);
  border-radius:0;font-size:13.5px;
}
body.m16-skin .woocommerce-error{border-left-color:var(--m16-critico)}
body.m16-skin .woocommerce-message::before,
body.m16-skin .woocommerce-info::before{color:var(--m16-ciano)}

/* ───────── a página da relíquia ───────── */
body.m16-skin div.product{
  display:grid;gap:clamp(24px,4vw,48px);align-items:start;
  grid-template-columns:1fr;max-width:1180px;margin-inline:auto;
  padding-block:clamp(20px,4vw,40px);
}
@media(min-width:1000px){
  body.m16-skin div.product{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
}
body.m16-skin div.product > .woocommerce-product-gallery,
body.m16-skin div.product > .summary{float:none !important;width:auto !important;margin:0 !important}
body.m16-skin div.product > .woocommerce-tabs,
body.m16-skin div.product > .related,
body.m16-skin div.product > .upsells{grid-column:1/-1}

/* galeria — moldura de scan */
body.m16-skin .woocommerce-product-gallery{
  position:relative;border:1px solid var(--m16-linha);background:var(--m16-painel);padding:10px;
}
@media(min-width:1000px){body.m16-skin .woocommerce-product-gallery{position:sticky;top:24px}}
body.m16-skin .woocommerce-product-gallery::before,
body.m16-skin .woocommerce-product-gallery::after,
body.m16-skin .woocommerce-product-gallery__wrapper::before,
body.m16-skin .woocommerce-product-gallery__wrapper::after{
  content:"";position:absolute;width:14px;height:14px;
  border:1px solid var(--m16-acc,var(--m16-ciano));opacity:.55;pointer-events:none;z-index:2;
}
body.m16-skin .woocommerce-product-gallery::before{top:8px;left:8px;border-right:0;border-bottom:0}
body.m16-skin .woocommerce-product-gallery::after{top:8px;right:8px;border-left:0;border-bottom:0}
body.m16-skin .woocommerce-product-gallery__wrapper::before{bottom:8px;left:8px;border-right:0;border-top:0}
body.m16-skin .woocommerce-product-gallery__wrapper::after{bottom:8px;right:8px;border-left:0;border-top:0}
body.m16-skin .woocommerce-product-gallery__wrapper{position:static}
body.m16-skin .woocommerce-product-gallery img{border-radius:0}
body.m16-skin .flex-control-thumbs{margin:10px 0 0;padding:0;display:flex;gap:8px;list-style:none}
body.m16-skin .flex-control-thumbs li{width:auto !important;margin:0 !important;flex:0 0 72px}
body.m16-skin .flex-control-thumbs img{
  border:1px solid var(--m16-linha-suave);opacity:.6;transition:opacity .18s,border-color .18s;
}
body.m16-skin .flex-control-thumbs img:hover,
body.m16-skin .flex-control-thumbs img.flex-active{opacity:1;border-color:var(--m16-acc,var(--m16-ciano))}
body.m16-skin .woocommerce-product-gallery__trigger{
  background:rgba(8,13,22,.8);border:1px solid var(--m16-linha);border-radius:0;color:var(--m16-tinta)
}

/* a ficha */
body.m16-skin .summary.entry-summary{display:flex;flex-direction:column;gap:0}
.m16-volta{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  font-family:var(--m16-display);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--m16-tinta-3) !important;margin-bottom:18px;
}
.m16-volta:hover{color:var(--m16-acc) !important}
.m16-pg-titulo{
  margin:0 0 4px;font-family:var(--m16-display);font-weight:700;
  font-size:clamp(24px,4.6vw,34px);letter-spacing:.05em;text-transform:uppercase;
  line-height:1.12;text-wrap:balance;color:var(--m16-tinta);
}
.m16-pg-lore{margin-top:18px}
.m16-pg-lore p{margin:0 0 12px;font-size:15px;line-height:1.66;color:var(--m16-tinta-2);max-width:60ch}
.m16-pg-lore p:last-child{margin-bottom:0}

.m16-pg-status{
  display:flex;flex-direction:column;gap:18px;
  margin-top:28px;padding-top:24px;border-top:1px solid var(--m16-linha);
}
.m16-sem-ficha{margin:0;font-size:13px;color:var(--m16-atencao);font-style:italic}
.m16-pg-status .m16-price{margin-top:0}
.m16-pg-status .m16-val .woocommerce-Price-amount{color:inherit;font-weight:inherit}
.m16-pg-status del{opacity:.5;font-size:.6em;margin-right:8px}
.m16-resgatada{margin:8px 0 0;font-family:var(--m16-texto);font-size:13px;color:var(--m16-tinta-3);letter-spacing:normal;text-transform:none}
.m16-fora{margin:10px 0 0;font-family:var(--m16-texto);font-size:12.5px;color:var(--m16-tinta-3);letter-spacing:normal;text-transform:none}
.m16-voltar-nave{margin-top:4px;justify-content:center}

/* formulário de carrinho */
body.m16-skin form.cart{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap;margin:4px 0 0 !important}
body.m16-skin form.cart .quantity input{
  background:var(--m16-painel-2);border:1px solid var(--m16-linha);color:var(--m16-tinta);
  border-radius:0;padding:10px;width:76px;font-family:var(--m16-display);text-align:center;
}
body.m16-skin .button,
body.m16-skin button.button,
body.m16-skin a.button,
body.m16-skin input.button,
body.m16-skin button[type="submit"]{
  font-family:var(--m16-display);font-size:11px;letter-spacing:.17em;text-transform:uppercase;
  font-weight:600;background:var(--m16-tinta);color:#07101c;border:1px solid var(--m16-tinta);
  border-radius:0;padding:12px 20px;cursor:pointer;transition:background .18s,border-color .18s,color .18s;
}
body.m16-skin .button:hover,
body.m16-skin button.button:hover,
body.m16-skin a.button:hover,
body.m16-skin input.button:hover,
body.m16-skin button[type="submit"]:hover{
  background:var(--m16-ciano);border-color:var(--m16-ciano);color:#05121a;
}
body.m16-skin .button.alt{background:var(--m16-ciano);border-color:var(--m16-ciano);color:#05121a}
body.m16-skin p.stock{font-family:var(--m16-display);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase}
body.m16-skin p.stock.in-stock{color:var(--m16-ok)}
body.m16-skin p.stock.out-of-stock{color:var(--m16-tinta-3)}

/* abas */
body.m16-skin .woocommerce-tabs{margin-top:clamp(32px,5vw,56px)}
body.m16-skin .woocommerce-tabs ul.tabs{padding:0 !important;margin:0 0 24px !important;display:flex;gap:0;flex-wrap:wrap}
body.m16-skin .woocommerce-tabs ul.tabs::before{display:none}
body.m16-skin .woocommerce-tabs ul.tabs li{
  background:transparent !important;border:0 !important;border-bottom:1px solid var(--m16-linha) !important;
  border-radius:0 !important;margin:0 !important;padding:0 !important;box-shadow:none !important;
}
body.m16-skin .woocommerce-tabs ul.tabs li::before,
body.m16-skin .woocommerce-tabs ul.tabs li::after{display:none !important}
body.m16-skin .woocommerce-tabs ul.tabs li a{
  display:block;padding:12px 20px;font-family:var(--m16-display);font-size:11px;
  letter-spacing:.17em;text-transform:uppercase;color:var(--m16-tinta-3) !important;
  border-bottom:2px solid transparent;margin-bottom:-1px;
}
body.m16-skin .woocommerce-tabs ul.tabs li.active a{color:var(--m16-tinta) !important;border-bottom-color:var(--m16-acc,var(--m16-ciano))}
body.m16-skin .woocommerce-tabs .panel{background:transparent;padding:0}
body.m16-skin .woocommerce-tabs .panel h2{
  font-family:var(--m16-display);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--m16-tinta-3);font-weight:400;margin:0 0 12px;
}
body.m16-skin .woocommerce-tabs .panel p{font-size:14.5px;line-height:1.66;color:var(--m16-tinta-2);max-width:66ch}

/* grades de produto (loja, categoria, relacionados) */
body.m16-skin ul.products{display:grid !important;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none}
body.m16-skin ul.products::before,body.m16-skin ul.products::after{display:none !important}
body.m16-skin ul.products li.product{
  width:auto !important;margin:0 !important;float:none !important;
  background:var(--m16-painel);border:1px solid var(--m16-linha-suave);padding:14px;
  transition:border-color .18s,transform .18s;
}
body.m16-skin ul.products li.product:hover{border-color:var(--m16-ciano);transform:translateY(-2px)}
body.m16-skin ul.products li.product img{margin-bottom:12px}
body.m16-skin ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--m16-display) !important;font-size:13.5px !important;letter-spacing:.05em;
  text-transform:uppercase;font-weight:600;color:var(--m16-tinta);padding:0 !important;line-height:1.3;
}
body.m16-skin ul.products li.product .price{
  font-family:var(--m16-display);font-size:13px;color:var(--m16-tinta-2);letter-spacing:.05em;
}
body.m16-skin .woocommerce-loop-product__link{text-decoration:none}
body.m16-skin .related > h2,body.m16-skin .upsells > h2,body.m16-skin .woocommerce-products-header__title{
  font-family:var(--m16-display);font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--m16-tinta-3);font-weight:400;
}
body.m16-skin .woocommerce-result-count,body.m16-skin .woocommerce-ordering select{color:var(--m16-tinta-3);font-size:12.5px}
body.m16-skin .onsale{background:var(--m16-ciano);color:#05121a;border-radius:0;font-family:var(--m16-display);font-size:10px;letter-spacing:.14em}

/* tabelas de carrinho e checkout */
body.m16-skin table.shop_table,
body.m16-skin table.woocommerce-table{border:1px solid var(--m16-linha);border-radius:0;color:var(--m16-tinta-2)}
body.m16-skin table.shop_table th{font-family:var(--m16-display);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--m16-tinta-3)}
body.m16-skin table.shop_table td,body.m16-skin table.shop_table th{border-top:1px solid var(--m16-linha-suave)}
body.m16-skin .cart_totals h2,body.m16-skin #order_review_heading,body.m16-skin .woocommerce-billing-fields h3{
  font-family:var(--m16-display);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--m16-tinta-3);font-weight:400;
}
body.m16-skin input[type=text],body.m16-skin input[type=email],body.m16-skin input[type=tel],
body.m16-skin input[type=password],body.m16-skin textarea,body.m16-skin select{
  background:var(--m16-painel-2);border:1px solid var(--m16-linha);color:var(--m16-tinta);border-radius:0;
}
body.m16-skin label{color:var(--m16-tinta-3);font-size:12.5px}

/* =========================================================================
   GUIA DE MARCA
   ========================================================================= */
.m16-marca{
  background:var(--m16-void);color:var(--m16-tinta);font-family:var(--m16-texto);
  padding:clamp(20px,4vw,44px) var(--m16-gut);max-width:1120px;margin-inline:auto;
}
.m16-marca *,.m16-marca *::before,.m16-marca *::after{box-sizing:border-box}
.m16-marca code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;
  color:var(--m16-ciano);background:none;padding:0;
}

.m16-mc-capa{
  display:grid;grid-template-columns:1fr;gap:24px;align-items:end;
  border:1px solid var(--m16-linha);padding:clamp(20px,3vw,32px);margin-bottom:clamp(32px,5vw,56px);
}
@media(min-width:820px){.m16-mc-capa{grid-template-columns:minmax(0,1fr) 420px}}
.m16-mc-capa-txt b{
  display:block;font-family:var(--m16-display);font-weight:700;
  font-size:clamp(30px,6vw,56px);letter-spacing:.05em;line-height:.95;text-transform:uppercase;
}
.m16-mc-capa-txt span{display:block;margin-top:12px;font-size:14px;color:var(--m16-tinta-2)}
.m16-mc-blocos{
  display:grid;gap:8px;height:168px;
  grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);
  grid-template-areas:"a b d d" "a c e f";
}
.m16-mc-blocos i{display:block;width:100%;height:100%}

.m16-mc-sec{margin-bottom:clamp(40px,6vw,72px)}
.m16-mc-h{
  margin:0 0 18px;font-family:var(--m16-display);font-size:12px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--m16-tinta-3);font-weight:400;
  border-bottom:1px solid var(--m16-linha);padding-bottom:12px;
}
.m16-mc-h3{
  margin:28px 0 8px;font-family:var(--m16-display);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--m16-tinta);font-weight:600;
}
.m16-mc-nota{margin:0 0 16px;font-size:14px;line-height:1.66;color:var(--m16-tinta-2);max-width:68ch}
.m16-mc-nota b{color:var(--m16-tinta);font-weight:600}

.m16-mc-principios{list-style:none;margin:0;padding:0;display:grid;gap:1px;background:var(--m16-linha-suave)}
.m16-mc-principios li{background:var(--m16-void);padding:18px 0 18px 0;display:grid;grid-template-columns:48px 1fr;gap:4px 16px}
.m16-mc-num{grid-row:1/3;font-family:var(--m16-display);font-size:11px;letter-spacing:.14em;color:var(--m16-ciano);padding-top:3px}
.m16-mc-principios b{font-family:var(--m16-display);font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--m16-tinta)}
.m16-mc-principios p{margin:0;font-size:14px;line-height:1.6;color:var(--m16-tinta-2);max-width:68ch}

.m16-mc-cores{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));margin-top:14px}
.m16-mc-cor{border:1px solid var(--m16-linha-suave);padding:0 0 12px}
.m16-mc-amostra{display:block;height:68px;width:100%;border-bottom:1px solid var(--m16-linha-suave)}
.m16-mc-cor code{display:block;padding:10px 12px 0}
.m16-mc-cor em{display:block;padding:2px 12px 0;font-style:normal;font-family:var(--m16-display);font-size:10.5px;letter-spacing:.12em;color:var(--m16-tinta-3);text-transform:uppercase}
.m16-mc-cor p{margin:8px 12px 0;font-size:12.5px;line-height:1.5;color:var(--m16-tinta-2)}

.m16-mc-tipos{display:grid;gap:1px;background:var(--m16-linha-suave);margin-top:12px}
.m16-mc-tipo{background:var(--m16-void);padding:18px 0}
.m16-mc-amostra-txt{color:var(--m16-tinta);overflow:hidden;text-overflow:ellipsis}
.m16-mc-tipo-meta{display:flex;gap:14px;align-items:baseline;margin-top:10px;flex-wrap:wrap}
.m16-mc-tipo-meta em{font-style:normal;font-family:var(--m16-display);font-size:10px;letter-spacing:.14em;color:var(--m16-tinta-3);text-transform:uppercase}
.m16-mc-tipo p{margin:6px 0 0;font-size:12.5px;line-height:1.5;color:var(--m16-tinta-2);max-width:66ch}

.m16-mc-duas{display:grid;gap:28px;grid-template-columns:1fr}
@media(min-width:820px){.m16-mc-duas{grid-template-columns:minmax(0,1fr) 300px}}
.m16-mc-degraus{display:grid;gap:1px;background:var(--m16-linha);border:1px solid var(--m16-linha);align-content:start}
.m16-mc-degraus div{padding:16px 14px}
.m16-mc-degraus span{font-family:var(--m16-display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--m16-tinta-3)}

.m16-mc-comps{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:18px}
.m16-mc-demo{margin:0;border:1px solid var(--m16-linha-suave);padding:16px}
.m16-mc-demo figcaption{font-family:var(--m16-display);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--m16-tinta-3);margin-bottom:16px}
.m16-mc-palco{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start;padding:16px;background:var(--m16-painel);border:1px solid var(--m16-linha-suave)}
.m16-mc-palco-col{flex-direction:column;gap:14px}
.m16-mc-palco-col > *{width:100%}
.m16-mc-demo > p{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--m16-tinta-2)}
.m16-mc-lore{position:relative;max-width:520px;margin-top:16px;cursor:default}

.m16-mc-tabela{width:100%;border-collapse:collapse;margin-top:12px;font-size:13.5px}
.m16-mc-tabela th{
  text-align:left;font-family:var(--m16-display);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--m16-tinta-3);font-weight:400;
  padding:0 16px 10px 0;border-bottom:1px solid var(--m16-linha);
}
.m16-mc-tabela td{padding:11px 16px 11px 0;border-bottom:1px solid var(--m16-linha-suave);color:var(--m16-tinta-2)}
.m16-mc-tabela td:first-child{color:var(--m16-tinta)}
.m16-mc-tabela td:last-child{color:var(--m16-tinta-3);text-decoration:line-through;text-decoration-color:var(--m16-linha)}
