/* meta-tag-analyzer */

/* ---- Character counters ---- */
.evvy-meta-char-counter {
  display: flex;
  justify-content: flex-end;
  gap: 0.25rem;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--evvy-text-secondary, #666);
  transition: color 0.2s;
}
.evvy-meta-char-counter.char-warn {
  color: #f59e0b;
}
.evvy-meta-char-counter.char-over {
  color: #ef4444;
}

/* ---- Optional fields toggle ---- */
.evvy-meta-optional-toggle {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--evvy-text-secondary, #666);
  margin-bottom: 0.5rem;
  user-select: none;
}
.evvy-meta-optional-toggle i {
  transition: transform 0.25s ease;
}
.evvy-meta-optional-toggle.is-open i {
  transform: rotate(90deg);
}
.evvy-meta-optional-fields {
  display: none;
}
.evvy-meta-optional-fields.is-open {
  display: block;
}

/* ---- Preview tabs ---- */
.evvy-meta-preview-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid var(--evvy-border-color, #DEE2E6);
  margin-bottom: 1rem;
}
.evvy-meta-tab {
  padding: 0.5rem 1rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--evvy-text-secondary, #666);
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
  white-space: nowrap;
}
.evvy-meta-tab:hover {
  color: var(--evvy-text-primary, #333);
}
.evvy-meta-tab.evvy-meta-tab-active {
  color: var(--cluster-dark, #2D1B4E);
  border-bottom-color: var(--cluster-dark, #2D1B4E);
}
.evvy-meta-preview-pane {
  display: none;
}
.evvy-meta-preview-pane.is-active {
  display: block;
}

/* ---- Google SERP preview ---- */
.evvy-serp-preview {
  max-width: 600px;
  font-family: Arial, sans-serif;
}
.evvy-serp-title {
  font-size: 1.125rem;
  line-height: 1.3;
  color: #1a0dab;
  text-decoration: none;
  cursor: pointer;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
.evvy-serp-title:hover {
  text-decoration: underline;
}
.evvy-serp-url {
  font-size: 0.8125rem;
  color: #006621;
  margin: 0.125rem 0 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.evvy-serp-desc {
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #545454;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ---- Facebook preview ---- */
.evvy-fb-preview {
  max-width: 500px;
  border: 1px solid #dadde1;
  border-radius: 3px;
  overflow: hidden;
  background: #f2f3f5;
}
.evvy-fb-img {
  width: 100%;
  aspect-ratio: 1.91 / 1;
  background: #e4e6eb;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8a8d91;
  font-size: 0.8125rem;
  overflow: hidden;
}
.evvy-fb-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.evvy-fb-body {
  padding: 0.625rem 0.75rem;
}
.evvy-fb-domain {
  font-size: 0.6875rem;
  color: #606770;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.evvy-fb-title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: #1d2129;
  line-height: 1.35;
  margin: 0.2rem 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.evvy-fb-desc {
  font-size: 0.8125rem;
  color: #606770;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ---- Twitter preview ---- */
.evvy-tw-preview {
  max-width: 500px;
  border: 1px solid #e1e8ed;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.evvy-tw-img {
  width: 100%;
  aspect-ratio: 2 / 1;
  background: #e1e8ed;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8899a6;
  font-size: 0.8125rem;
  overflow: hidden;
}
.evvy-tw-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.evvy-tw-body {
  padding: 0.625rem 0.75rem;
}
.evvy-tw-title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #0f1419;
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.evvy-tw-desc {
  font-size: 0.8125rem;
  color: #536471;
  line-height: 1.4;
  margin: 0.15rem 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.evvy-tw-domain {
  font-size: 0.75rem;
  color: #536471;
}

/* ---- LinkedIn preview ---- */
.evvy-li-preview {
  max-width: 500px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.evvy-li-img {
  width: 100%;
  aspect-ratio: 1.91 / 1;
  background: #f3f2ef;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8a8d91;
  font-size: 0.8125rem;
  overflow: hidden;
}
.evvy-li-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.evvy-li-body {
  padding: 0.5rem 0.75rem 0.625rem;
}
.evvy-li-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: rgba(0,0,0,.9);
  line-height: 1.3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.evvy-li-domain {
  font-size: 0.75rem;
  color: rgba(0,0,0,.6);
  margin-top: 0.15rem;
}

/* ---- Code output ---- */
.evvy-meta-code-wrap {
  position: relative;
  margin-top: 1rem;
}
.evvy-meta-code-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  background: var(--evvy-bg-secondary, #f0f0f0);
  border: 1px solid var(--evvy-border-color, #DEE2E6);
  border-bottom: none;
  border-radius: var(--evvy-radius-lg, 12px) var(--evvy-radius-lg, 12px) 0 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--evvy-text-secondary, #666);
}
.evvy-meta-code-copy {
  padding: 0.25rem 0.625rem;
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid var(--evvy-border-color, #DEE2E6);
  border-radius: 6px;
  background: var(--evvy-bg-primary, #fff);
  color: var(--evvy-text-secondary, #666);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.evvy-meta-code-copy:hover {
  background: var(--cluster-dark, #2D1B4E);
  color: #fff;
}
.evvy-meta-code-block {
  background: #1e1e2e;
  color: #cdd6f4;
  padding: 1rem;
  border-radius: 0 0 var(--evvy-radius-lg, 12px) var(--evvy-radius-lg, 12px);
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.7625rem;
  line-height: 1.65;
  overflow-x: auto;
  white-space: pre;
  tab-size: 2;
}
.evvy-meta-code-block .hl-tag { color: #f38ba8; }
.evvy-meta-code-block .hl-attr { color: #a6e3a1; }
.evvy-meta-code-block .hl-val { color: #f9e2af; }
.evvy-meta-code-block .hl-comment { color: #6c7086; font-style: italic; }

/* ---- Validation checklist ---- */
.evvy-meta-checklist {
  list-style: none;
  padding: 0;
  margin: 1rem 0 0;
  display: grid;
  gap: 0.35rem;
}
.evvy-meta-check-item {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.8125rem;
  color: var(--evvy-text-secondary, #666);
}
.evvy-meta-check-item i {
  font-size: 0.875rem;
  flex-shrink: 0;
}
.evvy-meta-check-item.check-pass i { color: #22c55e; }
.evvy-meta-check-item.check-warn i { color: #f59e0b; }
.evvy-meta-check-item.check-fail i { color: #ef4444; }

/* ---- Callout (same style as BMI) ---- */
.evvy-meta-callout {
  background: color-mix(in srgb, var(--cluster-dark) 6%, transparent);
  border: 1px solid var(--evvy-border-color, #DEE2E6);
  border-radius: var(--evvy-radius-lg, 12px);
  padding: 0.875rem 1rem;
  margin-top: 1rem;
  font-size: 0.8125rem;
  color: var(--evvy-text-secondary, #666);
  line-height: 1.55;
}
.evvy-meta-callout strong {
  color: var(--evvy-text-primary, #333);
}

/* ---- Dark mode ---- */
[data-bs-theme="dark"] .evvy-serp-title { color: #8ab4f8; }
[data-bs-theme="dark"] .evvy-serp-url   { color: #bdc1c6; }
[data-bs-theme="dark"] .evvy-serp-desc  { color: #bdc1c6; }
[data-bs-theme="dark"] .evvy-fb-preview { background: #242526; border-color: #3e4042; }
[data-bs-theme="dark"] .evvy-fb-img     { background: #3a3b3c; color: #b0b3b8; }
[data-bs-theme="dark"] .evvy-fb-domain  { color: #b0b3b8; }
[data-bs-theme="dark"] .evvy-fb-title   { color: #e4e6eb; }
[data-bs-theme="dark"] .evvy-fb-desc    { color: #b0b3b8; }
[data-bs-theme="dark"] .evvy-tw-preview { background: #15202b; border-color: #38444d; }
[data-bs-theme="dark"] .evvy-tw-img     { background: #253341; color: #8899a6; }
[data-bs-theme="dark"] .evvy-tw-title   { color: #d9d9d9; }
[data-bs-theme="dark"] .evvy-tw-desc    { color: #8899a6; }
[data-bs-theme="dark"] .evvy-tw-domain  { color: #8899a6; }
[data-bs-theme="dark"] .evvy-li-preview { background: #1d2226; border-color: #38434f; }
[data-bs-theme="dark"] .evvy-li-img     { background: #38434f; color: #8a8d91; }
[data-bs-theme="dark"] .evvy-li-title   { color: rgba(255,255,255,.9); }
[data-bs-theme="dark"] .evvy-li-domain  { color: rgba(255,255,255,.6); }
[data-bs-theme="dark"] .evvy-meta-callout {
  background: color-mix(in srgb, var(--cluster-dark) 12%, transparent);
}
[data-bs-theme="dark"] .evvy-meta-code-block {
  background: #11111b;
}

/* ---- Responsive ---- */
@media (max-width: 575.98px) {
  .evvy-meta-preview-tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .evvy-meta-tab {
    padding: 0.4rem 0.625rem;
    font-size: 0.75rem;
  }
  .evvy-meta-code-block {
    font-size: 0.6875rem;
  }
}
