/* ANSEIO ÍNTIMO — Design System de Produção
   Camada segura: adiciona padrões sem remover estilos existentes. */
:root{
  --anseio-color-primary:#780007;
  --anseio-color-primary-700:#5e0006;
  --anseio-color-primary-900:#360004;
  --anseio-color-accent:#f2c9d1;
  --anseio-color-bg:#fffafB;
  --anseio-color-surface:#ffffff;
  --anseio-color-soft:#f8eef1;
  --anseio-color-text:#241217;
  --anseio-color-muted:#765f63;
  --anseio-color-line:rgba(120,0,7,.16);
  --anseio-color-success:#1f8f5f;
  --anseio-color-warning:#b66a00;
  --anseio-color-danger:#b00020;
  --anseio-radius-xs:8px;
  --anseio-radius-sm:12px;
  --anseio-radius-md:18px;
  --anseio-radius-lg:26px;
  --anseio-radius-xl:34px;
  --anseio-shadow-soft:0 18px 50px rgba(65,0,10,.09);
  --anseio-shadow-strong:0 30px 90px rgba(65,0,10,.18);
  --anseio-space-1:4px;
  --anseio-space-2:8px;
  --anseio-space-3:12px;
  --anseio-space-4:16px;
  --anseio-space-5:24px;
  --anseio-space-6:32px;
  --anseio-space-7:48px;
  --anseio-space-8:64px;
  --anseio-container:min(1180px,92vw);
  --anseio-transition:.22s ease;
}
html{scroll-behavior:smooth}
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
:focus-visible{
  outline:3px solid rgba(120,0,7,.35)!important;
  outline-offset:3px!important;
  border-radius:8px;
}
.anseio-skip-link{
  position:fixed;
  left:16px;
  top:12px;
  z-index:99999;
  transform:translateY(-160%);
  background:#fff;
  color:var(--anseio-color-primary);
  border:2px solid var(--anseio-color-primary);
  border-radius:999px;
  padding:10px 16px;
  font-weight:900;
  text-decoration:none;
  box-shadow:var(--anseio-shadow-soft);
}
.anseio-skip-link:focus{transform:translateY(0)}
:where(button,a,input,select,textarea){transition:box-shadow var(--anseio-transition),transform var(--anseio-transition),border-color var(--anseio-transition),background var(--anseio-transition),opacity var(--anseio-transition)}
:where(button:not(:disabled),a[href]):active{transform:translateY(1px)}
:where(button:disabled,.is-disabled,[aria-disabled="true"]){opacity:.48!important;cursor:not-allowed!important}
:where(.btn,.admin-btn,.anseio-add-cart,.btn-primary,.btn-secondary,.anseio-size-btn,.anseio-search-submit){
  min-height:42px;
}
:where(.card,.admin-card,.product-card,.anseio-search-card,.anseio-page-card){
  border-color:var(--anseio-color-line);
}
:where(.product-card,.anseio-search-card){
  will-change:transform;
}
:where(.product-card,.anseio-search-card):hover{
  transform:translateY(-2px);
  box-shadow:var(--anseio-shadow-soft);
}
:where(img){
  content-visibility:auto;
}
.anseio-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:6px 10px;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
}
.anseio-badge.is-success{background:rgba(31,143,95,.12);color:var(--anseio-color-success)}
.anseio-badge.is-warning{background:rgba(182,106,0,.14);color:var(--anseio-color-warning)}
.anseio-badge.is-danger{background:rgba(176,0,32,.12);color:var(--anseio-color-danger)}
.anseio-empty-state{
  border:1px dashed var(--anseio-color-line);
  border-radius:var(--anseio-radius-lg);
  background:linear-gradient(135deg,#fff,var(--anseio-color-soft));
  padding:36px 24px;
  text-align:center;
  color:var(--anseio-color-muted);
}
.anseio-skeleton{
  position:relative;
  overflow:hidden;
  background:#f3e7ea;
  border-radius:var(--anseio-radius-md);
}
.anseio-skeleton::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);
  animation:anseio-shimmer 1.4s infinite;
}
@keyframes anseio-shimmer{100%{transform:translateX(100%)}}
.anseio-toast-stack{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99999;
  display:grid;
  gap:10px;
  pointer-events:none;
}
.anseio-toast{
  background:#fff;
  color:var(--anseio-color-text);
  border:1px solid var(--anseio-color-line);
  border-left:5px solid var(--anseio-color-primary);
  border-radius:16px;
  box-shadow:var(--anseio-shadow-strong);
  padding:13px 16px;
  max-width:min(360px,88vw);
  font-weight:700;
  pointer-events:auto;
}
.anseio-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  color:var(--anseio-color-muted);
  font-size:.9rem;
  margin:18px auto;
  width:var(--anseio-container);
}
.anseio-breadcrumb a{text-decoration:none;color:var(--anseio-color-primary);font-weight:800}
.anseio-breadcrumb span+span::before{content:"/";margin-right:8px;color:#b99ca2}
[data-loading="true"]{cursor:progress}
[data-loading="true"] :where(button,input,select,textarea){pointer-events:none}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}
@media(max-width:760px){
  .anseio-toast-stack{left:12px;right:12px;bottom:12px}
  .anseio-toast{max-width:100%}
  .anseio-breadcrumb{font-size:.82rem}
}
/* Admin refinements */
body:has(#app) select,
body:has(#app) input,
body:has(#app) textarea{
  font-size:16px;
}
body:has(#app) .table{overflow:auto}
body:has(#app) table{border-collapse:separate;border-spacing:0}
body:has(#app) th{position:sticky;top:0;z-index:1}
body:has(#app) .btn:focus-visible{outline-color:rgba(242,201,209,.72)!important}
