/* CholloHub — estilos propios sobre Bootstrap 5.3 (mobile-first, modo claro/oscuro) */
:root {
  --chb-primary: #0f766e;
  --chb-primary-dark: #115e59;
  --bs-primary: #0f766e;
  --bs-primary-rgb: 15, 118, 110;
  --bs-link-color: #0f766e;
  --bs-link-color-rgb: 15, 118, 110;
  --bs-link-hover-color: #115e59;
}
[data-bs-theme="dark"] {
  --bs-link-color: #5eead4;
  --bs-link-color-rgb: 94, 234, 212;
  --bs-link-hover-color: #99f6e4;
}
.btn-primary { --bs-btn-bg: var(--chb-primary); --bs-btn-border-color: var(--chb-primary); --bs-btn-hover-bg: var(--chb-primary-dark); --bs-btn-hover-border-color: var(--chb-primary-dark); --bs-btn-active-bg: var(--chb-primary-dark); }
.btn-outline-primary { --bs-btn-color: var(--chb-primary); --bs-btn-border-color: var(--chb-primary); --bs-btn-hover-bg: var(--chb-primary); --bs-btn-hover-border-color: var(--chb-primary); }
[data-bs-theme="dark"] .btn-outline-primary { --bs-btn-color: #5eead4; --bs-btn-border-color: #5eead4; }
.nav-pills { --bs-nav-pills-link-active-bg: var(--chb-primary); }
.page-link { --bs-pagination-active-bg: var(--chb-primary); --bs-pagination-active-border-color: var(--chb-primary); }

.skip-link { position: absolute; top: .5rem; left: .5rem; z-index: 2000; padding: .5rem 1rem; background: #fff; color: #000; border-radius: .25rem; }
:focus-visible { outline: 3px solid #f59e0b; outline-offset: 2px; }
.min-w-0 { min-width: 0; }

.hero { background: linear-gradient(135deg, #0f766e, #134e4a); color: #fff; }

.deal-card { transition: box-shadow .15s ease; }
.deal-card:hover, .deal-card:focus-within { box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .12); }
.deal-card__image { aspect-ratio: 4 / 3; object-fit: contain; background: var(--bs-tertiary-bg); }
.deal-card--inactive .deal-card__image { filter: grayscale(.8); opacity: .75; }
.deal-detail__image { aspect-ratio: 4 / 3; object-fit: contain; background: var(--bs-tertiary-bg); }
.deal-detail__body, .legal-content { max-width: 75ch; }
.deal-detail__body img { max-width: 100%; height: auto; }

.search-suggestions { position: absolute; top: 100%; left: 0; right: 0; z-index: 1050; max-height: 22rem; overflow-y: auto; }

.comment-list > .comment + .comment { border-top: 1px solid var(--bs-border-color); padding-top: 1rem; margin-top: 1rem; }
.comment__children { border-left: 2px solid var(--bs-border-color); padding-left: 1rem; }
.comment__avatar, .profile-avatar { flex: 0 0 auto; width: 2.25rem; height: 2.25rem; border-radius: 50%; display: grid; place-items: center; background: var(--chb-primary); color: #fff; font-weight: 700; }
.profile-avatar { width: 4rem; height: 4rem; font-size: 1.5rem; }
.comment__body p:last-child { margin-bottom: 0; }

.cookie-banner { position: sticky; bottom: 0; z-index: 1040; }

.admin-sidebar { width: 16rem; min-height: 100vh; position: sticky; top: 0; align-self: flex-start; overflow-y: auto; max-height: 100vh; }
.admin-sidebar .nav-link { padding: .35rem .5rem; border-radius: .375rem; color: var(--bs-body-color); }
.admin-sidebar .nav-link.active { background: var(--chb-primary); color: #fff; }

.maintenance-page { font-family: system-ui, sans-serif; display: grid; place-items: center; min-height: 100vh; margin: 0; text-align: center; background: #f1f5f9; color: #1e293b; padding: 1rem; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
