/* Sevroth widget styles — loaded by the widgets themselves and by shortcodes. */

/* Category grid */
.sev-catgrid {
  display: grid;
  grid-template-columns: repeat(var(--sev-catgrid-cols, 4), minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 900px) { .sev-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .sev-catgrid { grid-template-columns: 1fr; } }

.sev-catgrid__item {
  display: flex; flex-direction: column; gap: 4px;
  padding: 20px 18px; background: #fff;
  border: 1px solid var(--sev-border); border-radius: var(--sev-radius-lg);
  text-decoration: none; color: var(--sev-navy);
  transition: border-color var(--sev-fast), box-shadow var(--sev-fast), transform var(--sev-fast);
}
.sev-catgrid__item:hover {
  border-color: var(--sev-cyan); box-shadow: var(--sev-shadow);
  transform: translateY(-2px); text-decoration: none; color: var(--sev-navy);
}
.sev-catgrid__name { font-weight: 650; font-size: 15px; }
.sev-catgrid__count { font-size: 12.5px; color: var(--sev-muted); }

/* COA verifier */
.sev-coa-verify { display: flex; flex-direction: column; gap: 8px; }
.sev-coa-verify__label { font-size: 13.5px; font-weight: 650; color: var(--sev-navy); }
.sev-coa-verify__row { display: flex; gap: 10px; }
.sev-coa-verify__row .sev-input { flex: 1 1 auto; }
.sev-coa-verify__row .sev-btn { flex: 0 0 auto; }
@media (max-width: 520px) { .sev-coa-verify__row { flex-direction: column; } }

/* Teaser grid */
.sev-teaser-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; }
@media (max-width: 800px) { .sev-teaser-grid { grid-template-columns: 1fr; } }
.sev-teaser {
  background: #fff; border: 1px solid var(--sev-border);
  border-radius: var(--sev-radius-lg); padding: 22px;
}
.sev-teaser h3 { font-size: 15px; margin-bottom: .4em; }
.sev-teaser p { font-size: 14px; color: var(--sev-muted); margin: 0; }

/* Published COA cards */
.sev-coa-products {
  display: grid;
  grid-template-columns: repeat(var(--sev-coa-cols, 4), minmax(0, 1fr));
  gap: 14px;
}
@media (max-width: 900px) { .sev-coa-products { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 520px) { .sev-coa-products { grid-template-columns: 1fr; } }
.sev-coa-card {
  display: flex; flex-direction: column; gap: 5px;
  padding: 16px 18px; background: var(--sev-surface-2);
  border: 1px solid var(--sev-border); border-radius: var(--sev-radius);
  text-decoration: none; transition: border-color var(--sev-fast), background var(--sev-fast);
}
.sev-coa-card:hover { border-color: var(--sev-teal); background: #fff; text-decoration: none; }
.sev-coa-card__name { font-weight: 650; font-size: 14px; color: var(--sev-navy); }
.sev-coa-card__meta {
  font-family: var(--sev-font-mono); font-size: 11.5px;
  color: var(--sev-verified); text-transform: uppercase; letter-spacing: .04em;
}

/* COA table */
.sev-coa-table {
  width: 100%; border-collapse: collapse; font-size: 14.5px;
  border: 1px solid var(--sev-border); border-radius: var(--sev-radius-lg);
  overflow: hidden;
}
.sev-coa-table caption {
  text-align: left; font-weight: 700; color: var(--sev-navy);
  font-family: var(--sev-font-display); font-size: 1rem;
  padding-bottom: 12px;
}
.sev-coa-table th, .sev-coa-table td {
  padding: 12px 16px; border-bottom: 1px solid var(--sev-border); text-align: left;
}
.sev-coa-table thead th {
  background: var(--sev-navy); color: #fff;
  font-size: 12px; text-transform: uppercase; letter-spacing: .06em;
}
.sev-coa-table tbody th { font-weight: 600; color: var(--sev-navy); background: var(--sev-surface-2); }
.sev-coa-table tbody tr:last-child th, .sev-coa-table tbody tr:last-child td { border-bottom: 0; }

/* FAQ */
.sev-faq { border: 1px solid var(--sev-border); border-radius: var(--sev-radius-lg); overflow: hidden; background: #fff; }
.sev-faq__item { border-bottom: 1px solid var(--sev-border); }
.sev-faq__item:last-child { border-bottom: 0; }
.sev-faq__q {
  cursor: pointer; padding: 16px 20px; font-weight: 650; font-size: 15px;
  color: var(--sev-navy); list-style: none; position: relative; padding-right: 44px;
}
.sev-faq__q::-webkit-details-marker { display: none; }
.sev-faq__q::after {
  content: "+"; position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
  font-size: 20px; font-weight: 400; color: var(--sev-muted); line-height: 1;
}
.sev-faq__item[open] .sev-faq__q::after { content: "−"; }
.sev-faq__a { padding: 0 20px 16px; font-size: 14.5px; color: var(--sev-text); }
.sev-faq__a p:last-child { margin-bottom: 0; }

/* COA request button */
.sev-coa-btn { margin-top: 12px; }

/* Spec table */
.sev-spec-table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 14px; }
.sev-spec-table caption {
  text-align: left; font-weight: 700; color: var(--sev-navy);
  font-family: var(--sev-font-display); padding-bottom: 10px;
}
.sev-spec-table th, .sev-spec-table td { padding: 10px 14px; border-bottom: 1px solid var(--sev-border); text-align: left; }
.sev-spec-table tbody th { font-weight: 600; color: var(--sev-muted); width: 38%; }
.sev-spec-table tbody td { color: var(--sev-navy); font-weight: 550; }
