/* Anuncios: public pages. Everything is scoped under .anc (and the layout's body) so the site theme is untouched. */
.anc-body, .anc {
  /* Main colors; accent, accent-dark and dorado can be overridden from the package options */
  --anc-accent: #0f766e;
  --anc-accent-dark: #134e4a;
  --anc-accent-text: #ffffff;
  --anc-dorado: #b7791f;
  /* Derived tints (fallback first, then mixed from the main colors) */
  --anc-accent-tint: #e6f4f1;
  --anc-accent-tint: color-mix(in srgb, var(--anc-accent) 10%, #ffffff);
  --anc-dorado-bg: #fdf3dc;
  --anc-dorado-bg: color-mix(in srgb, var(--anc-dorado) 16%, #ffffff);
  --anc-dorado-text: #7a4f0e;
  --anc-dorado-text: color-mix(in srgb, var(--anc-dorado) 55%, #000000);
  /* Warm neutrals that sit well next to the gold */
  --anc-bg: #faf8f5;
  --anc-surface: #ffffff;
  --anc-text: #1f2328;
  --anc-muted: #5f6368;
  --anc-border: #e7e2da;
  --anc-placeholder: #efebe5;
  --anc-chip: #f1eee9;
  --anc-comercio-bg: #eef2f0;
  --anc-comercio-text: #2f4f4a;
  --anc-radius: 12px;
  background: var(--anc-bg);
  color: var(--anc-text);
  font-size: 16px;
  line-height: 1.5;
  padding-bottom: 48px;
}
.anc-body *, .anc-body *::before, .anc-body *::after, .anc *, .anc *::before, .anc *::after { box-sizing: border-box; }
.anc a { text-decoration: none; }
.anc [hidden] { display: none !important; } /* layout rules (grid/flex) must not override it */
.anc a:hover { text-decoration: underline; }
.anc-wrap { max-width: 1320px; margin: 0 auto; padding: 0 16px; }
.anc h1, .anc h2, .anc h3 { color: var(--anc-text); margin: 0 0 12px; line-height: 1.25; }
.anc h1 { font-size: 1.75rem; }
.anc h2 { font-size: 1.3rem; margin-top: 36px; }
.anc-muted { color: var(--anc-muted); }
.anc-section-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 36px; }
.anc-section-head h2 { margin-top: 0; }

/* Buttons and inputs */
.anc-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  min-height: 44px; padding: 10px 18px; border-radius: 10px; border: 1px solid transparent;
  background: var(--anc-accent); color: var(--anc-accent-text) !important; font-weight: 600;
  cursor: pointer; text-decoration: none !important; font-size: 1rem;
}
.anc-btn:hover { background: var(--anc-accent-dark); }
.anc-btn--ghost:hover { background: var(--anc-accent-tint); }
.anc-btn--ghost { background: var(--anc-surface); color: var(--anc-text) !important; border-color: var(--anc-border); }
.anc-btn--block { width: 100%; }
.anc input[type=text], .anc input[type=search], .anc input[type=url], .anc input[type=number], .anc select {
  width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--anc-border);
  border-radius: 10px; background: var(--anc-surface); color: var(--anc-text); font-size: 1rem;
}
.anc label { font-weight: 600; font-size: .9rem; }

/* Hero + search */
.anc-hero { background: linear-gradient(135deg, var(--anc-accent-dark) 0%, var(--anc-accent) 100%); color: #fff; padding: 48px 0 40px; }
.anc-hero h1 { color: #fff; font-size: 2rem; }
.anc-hero p { opacity: .9; margin: 0 0 20px; }
.anc-search { display: grid; grid-template-columns: 2fr 1fr 1fr auto; gap: 8px; background: var(--anc-surface); padding: 8px; border-radius: 14px; }
.anc-search .anc-btn { min-width: 120px; }

/* Categories */
.anc-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.anc-cat {
  display: flex; align-items: center; gap: 12px; padding: 16px; background: var(--anc-surface);
  border: 1px solid var(--anc-border); border-radius: var(--anc-radius); color: var(--anc-text) !important;
}
.anc-cat:hover { border-color: var(--anc-accent); text-decoration: none !important; }
.anc-cat svg { color: var(--anc-accent); flex-shrink: 0; }
.anc-cat strong { display: block; font-size: .95rem; }
.anc-cat span { font-size: .85rem; color: var(--anc-muted); }

/* Cards grid */
.anc-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
@media (max-width: 1180px) {
  .anc-grid { grid-template-columns: repeat(4, 1fr); }
}
.anc-card {
  display: flex; flex-direction: column; background: var(--anc-surface); border: 1px solid var(--anc-border);
  border-radius: var(--anc-radius); overflow: hidden; color: var(--anc-text) !important;
}
.anc-card:hover { box-shadow: 0 4px 18px rgba(31, 35, 40, .1); text-decoration: none !important; }
.anc-card__img { height: 260px; width: 100%; background: var(--anc-placeholder); position: relative; overflow: hidden; }
.anc-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.anc-card__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 4px; }
.anc-card__price { font-weight: 700; font-size: 1.1rem; }
.anc-card__title { font-size: .95rem; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.anc-card__meta { font-size: .82rem; color: var(--anc-muted); }
.anc-card--dorado { border: 2px solid var(--anc-dorado); }
.anc-badge {
  display: inline-block; font-size: .75rem; font-weight: 700; padding: 2px 8px; border-radius: 999px;
  background: var(--anc-chip); color: var(--anc-text);
}
.anc-badge--dorado { background: var(--anc-dorado-bg); color: var(--anc-dorado-text); }
.anc-badge--comercio { background: var(--anc-comercio-bg); color: var(--anc-comercio-text); }
.anc-card__img .anc-badge { position: absolute; top: 8px; left: 8px; }

/* States */
.anc-states { columns: 4; column-gap: 24px; padding: 0; margin: 0; list-style: none; }
.anc-states li { break-inside: avoid; padding: 4px 0; }
.anc-states span { color: var(--anc-muted); font-size: .85rem; }

/* Plans */
.anc-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.anc-plan { background: var(--anc-surface); border: 1px solid var(--anc-border); border-radius: var(--anc-radius); padding: 20px; display: flex; flex-direction: column; gap: 8px; }
.anc-plan--dorado { border: 2px solid var(--anc-dorado); }
.anc-plan h3 { margin: 0; }
.anc-plan__price { font-size: 1.4rem; font-weight: 700; }
.anc-plan ul { padding-left: 18px; margin: 0 0 8px; flex: 1; }

/* List page */
.anc-list { display: grid; grid-template-columns: 260px 1fr; gap: 24px; margin-top: 24px; }
.anc-filters { background: var(--anc-surface); border: 1px solid var(--anc-border); border-radius: var(--anc-radius); padding: 16px; align-self: start; display: flex; flex-direction: column; gap: 14px; }
.anc-filters fieldset { border: 0; padding: 0; margin: 0; }
.anc-filters legend { font-weight: 600; font-size: .9rem; margin-bottom: 4px; }
.anc-check { display: flex; align-items: center; gap: 8px; font-weight: 400 !important; min-height: 32px; }
.anc-range { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.anc-list__bar { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; flex-wrap: wrap; }
.anc-list__bar select { width: auto; }
.anc-breadcrumb { font-size: .88rem; padding-top: 20px; color: var(--anc-muted); }
.anc-empty { background: var(--anc-surface); border: 1px dashed var(--anc-border); border-radius: var(--anc-radius); padding: 32px; text-align: center; }
.anc-pages { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 24px; justify-content: center; }
.anc-pages a, .anc-pages span { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; border: 1px solid var(--anc-border); background: var(--anc-surface); padding: 0 10px; }
.anc-pages .is-current { background: var(--anc-accent); color: var(--anc-accent-text); border-color: var(--anc-accent); }
.anc-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.anc-chips a { background: var(--anc-surface); border: 1px solid var(--anc-border); border-radius: 999px; padding: 4px 12px; font-size: .88rem; }

/* Detail */
.anc-detail { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px; margin-top: 16px; }
.anc-gallery__main { aspect-ratio: 3 / 4; max-height: min(78vh, 760px); width: 100%; background: var(--anc-placeholder); border-radius: var(--anc-radius); overflow: hidden; } /* phone photos are vertical; landscape ones fit inside */
.anc-gallery__main img { width: 100%; height: 100%; object-fit: contain; display: block; }
.anc-gallery__thumbs { display: flex; gap: 8px; margin-top: 8px; overflow-x: auto; }
.anc-gallery__thumbs button { border: 2px solid transparent; padding: 0; border-radius: 8px; overflow: hidden; width: 72px; height: 72px; flex-shrink: 0; cursor: pointer; background: none; }
.anc-gallery__thumbs button.is-current { border-color: var(--anc-accent); }
.anc-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.anc-box { background: var(--anc-surface); border: 1px solid var(--anc-border); border-radius: var(--anc-radius); padding: 20px; margin-bottom: 16px; }
.anc-box--dorado { border: 2px solid var(--anc-dorado); }
.anc-price { font-size: 1.8rem; font-weight: 700; margin: 4px 0; }
.anc-facts { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; }
.anc-facts dt { color: var(--anc-muted); }
.anc-facts dd { margin: 0; }
.anc-text { white-space: pre-line; }
.anc-notice { background: #fff8e6; border: 1px solid #f3dfa5; border-radius: 10px; padding: 12px 14px; font-size: .9rem; }
.anc-status { background: var(--anc-chip); border-radius: 10px; padding: 10px 14px; margin-bottom: 12px; }

@media (max-width: 960px) {
  .anc-grid { grid-template-columns: repeat(3, 1fr); }
  .anc-cats { grid-template-columns: repeat(2, 1fr); }
  .anc-states { columns: 3; }
  .anc-list { grid-template-columns: 1fr; }
  .anc-detail { grid-template-columns: 1fr; }
  .anc-plans { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .anc-hero { padding: 32px 0 28px; }
  .anc-hero h1 { font-size: 1.5rem; }
  .anc-search { grid-template-columns: 1fr; }
  .anc-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .anc-card__img { height: 200px; }
  .anc-states { columns: 2; }
  .anc-cat { padding: 12px; }
}

/* Top bar */
.anc-nav { background: var(--anc-surface); border-bottom: 1px solid var(--anc-border); }
.anc-nav__inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; }
.anc-nav__logo { height: 46px; width: auto; object-fit: contain; }
@media (max-width: 600px) { .anc-nav__logo { max-width: 160px; } }
.anc-nav__icon { display: none; width: 36px; height: 36px; object-fit: contain; border-radius: 8px; }
@media (max-width: 640px) {
  .anc-nav__brand--icon .anc-nav__logo { display: none; }
  .anc-nav__brand--icon .anc-nav__icon { display: block; }
  .anc-nav__long { display: none; }
}
.anc-nav__brand { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 1.1rem; color: var(--anc-text) !important; }
.anc-nav__links { display: flex; align-items: center; gap: 16px; }

/* Forms */
.anc-narrow { max-width: 760px; }
.anc-form h2 { margin-top: 0; }
.anc-form h3 { font-size: 1rem; margin-top: 16px; }
.anc-field { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px; border: 0; padding: 0; }
.anc-field legend { font-weight: 600; font-size: .9rem; margin-bottom: 4px; }
.anc-field--check { justify-content: flex-end; }
.anc-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
/* fields share one line in equal parts; hidden ones (data-anc-only) leave no gap (.anc [hidden]) */
.anc-row--fill { display: flex; }
.anc-row--fill > .anc-field { flex: 1 1 0; min-width: 0; }
/* photo slots (publicar), like the admin gallery */
.anc-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; margin-bottom: 8px; border-radius: 10px; }
.anc-slot { position: relative; aspect-ratio: 1; border: 2px dashed var(--anc-border); border-radius: 10px; background: var(--anc-surface); overflow: hidden; cursor: pointer; display: flex; align-items: center; justify-content: center; font-weight: 400 !important; margin: 0; }
.anc-slot:hover, .anc-slot:focus-within { border-color: var(--anc-accent); }
.anc-slot--full { border-style: solid; cursor: default; }
.anc .anc-slot input[type=file] { position: absolute; width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; }
.anc-slot__empty { display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--anc-muted); font-size: .85rem; text-align: center; }
.anc-slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.anc-slot:first-child::after { content: 'Portada'; position: absolute; left: 6px; bottom: 6px; background: rgba(0,0,0,.6); color: #fff; font-size: .75rem; padding: 2px 6px; border-radius: 6px; }
.anc-slot__remove { position: absolute; top: 4px; right: 4px; width: 28px; height: 28px; border: 0; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; font-size: 1.1rem; line-height: 1; cursor: pointer; z-index: 1; }
.anc-slots[aria-invalid=true] { outline: 2px solid #cf222e; outline-offset: 2px; }
.anc textarea, .anc input[type=email], .anc input[type=tel], .anc input[type=file] {
  width: 100%; padding: 8px 12px; border: 1px solid var(--anc-border); border-radius: 10px;
  background: var(--anc-surface); color: var(--anc-text); font-size: 1rem; font-family: inherit;
}
.anc input[type=email], .anc input[type=tel] { min-height: 44px; }
.anc [aria-invalid=true] { border-color: #cf222e !important; }
.anc-hint { font-size: .85rem; color: var(--anc-muted); margin: 0 0 8px; }
.anc-field-error { color: #b42318; font-size: .88rem; margin: 2px 0 0; }
.anc-option { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border: 1px solid var(--anc-border); border-radius: 10px; margin-bottom: 6px; font-weight: 400 !important; cursor: pointer; }
.anc-option:has(input:checked) { border-color: var(--anc-accent); background: var(--anc-accent-tint); }
.anc-option input { margin-top: 4px; }
.anc-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 8px; margin-bottom: 12px; }
.anc-thumb { display: flex; flex-direction: column; gap: 4px; font-weight: 400 !important; }
.anc-thumb img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.anc-alert { background: #fdecea; border: 1px solid #f5c2bd; color: #8a1c13; border-radius: 10px; padding: 12px 14px; margin: 0 0 16px; }
.anc-success { background: #e8f5ec; border: 1px solid #b7e1c3; color: #1a5e2f; border-radius: 10px; padding: 12px 14px; margin: 0 0 16px; }
.anc-btn--sm { min-height: 36px; padding: 6px 12px; font-size: .9rem; }
.anc-contact { margin-top: 12px; padding: 12px; border-radius: 10px; background: var(--anc-accent-tint); }
.anc-contact p { margin: 0 0 6px; }

/* Mis anuncios */
.anc-mis-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.anc-mis { display: flex; flex-direction: column; gap: 12px; }
.anc-mis__item { display: grid; grid-template-columns: 120px 1fr; gap: 14px; background: var(--anc-surface); border: 1px solid var(--anc-border); border-radius: var(--anc-radius); padding: 12px; }
.anc-mis__img { aspect-ratio: 4 / 3; background: var(--anc-placeholder); border-radius: 8px; overflow: hidden; }
.anc-mis__img img { width: 100%; height: 100%; object-fit: cover; }
.anc-mis__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.anc-mis__actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.anc-mis__actions form { margin: 0; }
.anc-status--active { background: #e8f5ec; color: #1a5e2f; }
.anc-status--pending { background: var(--anc-dorado-bg); color: var(--anc-dorado-text); }
.anc-status--removed { background: #fdecea; color: #8a1c13; }

@media (max-width: 640px) {
  .anc-row { grid-template-columns: 1fr; }
  .anc-row--fill { flex-direction: column; gap: 0; }
  .anc-mis__item { grid-template-columns: 88px 1fr; }
  .anc-nav__links { gap: 10px; }
  .anc-nav__links .anc-btn { padding: 8px 12px; }
}

/* Page layout (anuncios-layout.php): the package draws its own header and footer */
.anc-body { margin: 0; padding: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.anc-body .anc-nav { position: sticky; top: 0; z-index: 50; }
.anc-body .anc-nav a { text-decoration: none; }
.anc-footer { background: var(--anc-surface); border-top: 1px solid var(--anc-border); color: var(--anc-muted); font-size: .9rem; }
.anc-footer__inner { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; min-height: 64px; }
.anc-footer nav { display: flex; gap: 16px; flex-wrap: wrap; }
.anc-footer a { color: var(--anc-muted); text-decoration: none; }
.anc-footer a:hover { color: var(--anc-accent); }
/* credit link from the footer.credit event (subsites) */
.anc-footer__inner > span > a::before { content: "\00B7\00A0"; }
@media print { .anc-footer .d-print-none { display: none; } }

/* Login and sign-up */
.anc-auth { max-width: 360px; margin: 56px auto 0; background: var(--anc-surface); border: 1px solid var(--anc-border); border-radius: var(--anc-radius); padding: 36px 28px; box-shadow: 0 4px 18px rgba(31, 35, 40, .06); }
.anc-auth h1 { font-size: 1.5rem; margin-bottom: 8px; }
.anc-auth .anc-muted { margin: 0 0 28px; }
.anc-auth .anc-alert { margin-bottom: 24px; }
.anc-auth .anc-form { margin-top: 8px; }
.anc-auth .anc-field { margin-bottom: 22px; gap: 6px; }
.anc-auth .anc-check { margin-top: 4px; }
.anc-auth .anc-btn--block { margin-top: 12px; }
.anc input[type=password] { width: 100%; min-height: 44px; padding: 8px 12px; border: 1px solid var(--anc-border); border-radius: 10px; background: var(--anc-surface); color: var(--anc-text); font-size: 1rem; }
.anc-pass { position: relative; }
.anc-pass input { padding-right: 92px !important; }
.anc-pass__toggle { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); min-height: 32px; padding: 0 10px; border: 0; border-radius: 8px; background: var(--anc-accent-tint); color: var(--anc-accent-dark); font-weight: 600; cursor: pointer; font-size: .85rem; }
.anc-auth__row { text-align: right; font-size: .9rem; margin: -8px 0 20px; }
.anc-auth__switch { text-align: center; margin: 32px 0 0; font-size: .95rem; }
.anc-auth__or { display: flex; align-items: center; gap: 12px; margin: 32px 0 16px; color: var(--anc-muted); font-size: .85rem; }
.anc-auth__or::before, .anc-auth__or::after { content: ""; flex: 1; border-top: 1px solid var(--anc-border); }
.anc-auth__social { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.anc-nav__minor { color: var(--anc-muted) !important; font-size: .9rem; }
@media (max-width: 640px) {
  .anc-auth { margin-top: 28px; padding: 28px 20px; }
}

/* Dorado (phase 3) */
.anc-dorados { background: var(--anc-dorado-bg); border: 1px solid color-mix(in srgb, var(--anc-dorado) 35%, transparent); border-radius: var(--anc-radius); padding: 14px; margin-bottom: 20px; }
.anc-dorados__title { font-size: 1rem; margin: 0 0 10px; color: var(--anc-dorado-text); }
.anc-option--dorado:has(input:checked) { border-color: var(--anc-dorado); background: var(--anc-dorado-bg); }
.anc-option.is-disabled { opacity: .55; cursor: not-allowed; }
.anc-btn--dorado { background: var(--anc-dorado); color: #fff !important; }
.anc-btn--dorado:hover { background: var(--anc-dorado-text); }

/* Plan Negocio (phase 4) */
.anc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.anc-badge--verified { background: #e8f5ec; color: #1a5e2f; }
.anc-biz__head { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: flex-start; }
.anc-biz h2 { margin: 0 0 6px; }
.anc-biz__links { display: flex; flex-wrap: wrap; gap: 14px; font-weight: 600; }
.anc-biz__plan { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.anc-sub { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; margin-top: 8px; }
.anc-sub h2 { margin: 0 0 8px; }
.anc-sub .anc-check { display: flex; gap: 8px; align-items: flex-start; }
@media (max-width: 760px) { .anc-sub { grid-template-columns: 1fr; } }
.anc-bulk { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; background: var(--anc-surface); border: 1px solid var(--anc-border); border-radius: var(--anc-radius); padding: 10px 14px; margin-bottom: 12px; }
.anc-bulk select { width: auto; }
.anc-mis__item--bulk { grid-template-columns: 24px 120px 1fr; align-items: start; }
.anc-mis__item--bulk > input { margin-top: 6px; width: 18px; height: 18px; }
.anc-seller { margin: 6px 0; }
.anc-store-head { background: linear-gradient(135deg, var(--anc-accent-dark), var(--anc-accent)); background-size: cover; background-position: center; color: #fff; position: relative; }
.anc-store-head::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .35); }
.anc-store-head__inner { position: relative; display: flex; align-items: center; gap: 20px; padding-top: 40px; padding-bottom: 32px; }
.anc-store-head h1 { color: #fff; margin: 0 0 6px; }
.anc-store-head__logo { width: 96px; height: 96px; border-radius: 16px; object-fit: contain; background: #fff; padding: 6px; flex-shrink: 0; }
.anc-store-head__meta { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; }
.anc-store-info { margin-top: 20px; }
.anc-store-thumb { width: 96px; height: 96px; object-fit: contain; border: 1px solid var(--anc-border); border-radius: 8px; }
.anc-store-thumb--wide { width: 100%; height: 96px; object-fit: cover; }
.anc-chips a.is-current { background: var(--anc-accent); border-color: var(--anc-accent); color: var(--anc-accent-text); }
.anc-table { width: 100%; border-collapse: collapse; margin-bottom: 14px; font-size: .92rem; }
.anc-table th, .anc-table td { text-align: left; padding: 8px 6px; border-bottom: 1px solid var(--anc-border); vertical-align: middle; }
.anc-table select { min-height: 38px; }
.anc-table tr.is-missing td { background: var(--anc-dorado-bg); }
.anc-report { padding-left: 18px; margin: 8px 0 12px; }
.anc-feed-sync { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--anc-border); }
@media (max-width: 640px) {
  .anc-mis__item--bulk { grid-template-columns: 24px 88px 1fr; }
  .anc-store-head__inner { flex-direction: column; align-items: flex-start; }
  .anc-table { font-size: .85rem; }
}

/* Plan Negocio contact form: honeypot field, hidden from people and screen readers */
.anc-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Favorites */
.anc-card { position: relative; }
.anc-card__link { display: flex; flex-direction: column; flex: 1; color: var(--anc-text) !important; text-decoration: none !important; }
.anc-fav { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .92); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 1px 4px rgba(0, 0, 0, .18); }
.anc-fav svg, .anc-fav-detail svg, .anc-nav__fav svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.anc-fav { color: var(--anc-text); }
.anc-fav[aria-pressed=true], .anc-fav-detail[aria-pressed=true] { color: #d1242f; }
.anc-fav[aria-pressed=true] svg, .anc-fav-detail[aria-pressed=true] svg { fill: currentColor; }
.anc-fav:focus-visible, .anc-fav-detail:focus-visible { outline: 3px solid var(--anc-accent); outline-offset: 2px; }
.anc-fav-detail { gap: 6px; margin-bottom: 8px; }
.anc-nav__fav { display: inline-flex; align-items: center; gap: 4px; color: var(--anc-text) !important; position: relative; }
.anc-count { min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; background: var(--anc-accent); color: var(--anc-accent-text); font-size: .72rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.anc-count[hidden] { display: none; }
@media (max-width: 640px) {
  .anc-nav__fav-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .anc-fav { width: 36px; height: 36px; top: 6px; right: 6px; }
}

/* Search alerts */
.anc-alert-box { background: var(--anc-surface); border: 1px solid var(--anc-border); border-radius: var(--anc-radius); padding: 10px 14px; margin: 0 0 16px; }
.anc-alert-box summary { cursor: pointer; font-weight: 600; color: var(--anc-accent-dark); min-height: 32px; display: flex; align-items: center; }
.anc-alert-form { margin-top: 8px; }
.anc-alert-form__row { display: flex; gap: 8px; flex-wrap: wrap; }
.anc-alert-form__row input { flex: 1 1 220px; min-height: 40px; padding: 6px 12px; border: 1px solid var(--anc-border); border-radius: 10px; }
.anc-alert-form__row select { width: auto; min-height: 40px; }
.anc-empty .anc-alert-box { text-align: left; max-width: 560px; margin: 12px auto; }
.anc-alert-item { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 0; }
.anc-alert-item select { width: auto; min-height: 36px; }

/* Legal pages */
.anc-legal-nav { margin-top: 20px; }
.anc-legal { line-height: 1.65; }
.anc-legal h1 { margin-bottom: 4px; }
.anc-legal h2 { font-size: 1.15rem; margin-top: 28px; }
.anc-legal h3 { font-size: 1rem; margin: 18px 0 6px; }
.anc-legal ul, .anc-legal ol { padding-left: 22px; }
.anc-legal li { margin-bottom: 6px; }
.anc-pending { background: #fff4d6; color: #7a4f0e; padding: 0 4px; border-radius: 4px; font-weight: 600; }
.anc-footer__inner { flex-wrap: wrap; }
.anc-footer nav + nav { width: 100%; justify-content: flex-start; padding-bottom: 12px; font-size: .85rem; }

/* Page titles that come right after the menu (Favoritos, Mis anuncios, forms) */
.anc-wrap > h1:first-child { margin-top: 32px; }
/* Visually hidden, read by screen readers (also defined with the Plan Negocio styles) */
.anc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Card location with pin */
.anc-card__place { display: flex; align-items: center; gap: 4px; }
.anc-card__place svg { flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; }
/* Detail: favorite as an icon at the top right of the info box */
.anc-box--info { position: relative; }
.anc-box--info h1 { padding-right: 52px; }
.anc-fav--detail { top: 14px; right: 14px; border: 1px solid var(--anc-border); box-shadow: none; }
.anc-fav--detail svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.anc-fav--detail[aria-pressed=true] { color: #d1242f; }
.anc-fav--detail[aria-pressed=true] svg { fill: currentColor; }

/* Reports, moderation and appeals */
.anc-report-box { margin-top: 12px; }
.anc-report-box summary, .anc-appeal summary { cursor: pointer; color: var(--anc-muted); font-size: .9rem; min-height: 32px; display: flex; align-items: center; }
.anc-report-box form { margin-top: 10px; }
.anc-appeal { margin-top: 6px; }
.anc-appeal form { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; max-width: 520px; }
.anc-appeal textarea { width: 100%; }
.anc-mod { display: grid; grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr); gap: 20px; align-items: start; }
.anc-mod__anuncio { display: flex; gap: 14px; }
.anc-mod__anuncio img { width: 120px; height: 120px; object-fit: cover; border-radius: 8px; flex-shrink: 0; }
.anc-mod__anuncio p { margin: 4px 0; }
.anc-mod h2 { font-size: 1.05rem; margin-top: 0; }
@media (max-width: 960px) { .anc-mod { grid-template-columns: 1fr; } }

/* Share box (detail page) */
.anc-share__title { font-size: 1rem; margin: 0 0 6px; }
.anc-share p { margin: 0 0 10px; font-size: .9rem; }
.anc-share__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.anc-share__btn { width: 44px; height: 44px; border-radius: 50%; border: 0; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--anc-muted); cursor: pointer; text-decoration: none; }
.anc-share__btn svg { fill: currentColor; }
.anc-share__btn:hover { filter: brightness(.92); }
.anc-share__btn:focus-visible { outline: 3px solid var(--anc-accent); outline-offset: 2px; }
.anc-share__btn--whatsapp { background: #1fa855; }
.anc-share__btn--facebook { background: #1877f2; }
.anc-share__btn--x { background: #111; }
.anc-share__btn--telegram { background: #1c8ec7; }
.anc-share__btn--email, .anc-share__btn--copy, .anc-share__btn--native { background: var(--anc-surface); color: var(--anc-text); border: 1px solid var(--anc-border); }
.anc-share__btn[hidden] { display: none; }
.anc-share__copied { min-height: 1.2em; margin: 6px 0 0; }
