@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&family=Montserrat:wght@600;700;800&display=swap');

:root {
  --tn-bg: #6f7268;
  --tn-surface-header: #143D2B;
  --tn-surface: #f2f0db;
  --tn-text-header: #f2f0db;
  --tn-surface-2: #ebe7c7;
  --tn-accent: #c2a15a;
  --tn-text: #1e1e1e;
  --tn-border-dark: #4f534f;
  --tn-panel-dark: #143D2B;
  --tn-header-h: 88px;
  --tn-box-border: #6f7268;
  --tn-box-border-strong: #50544f;
  /* Caja menú / login / migas (referencia v1.5) */
  --tn-module-header-bg: #143D2B;
  --tn-module-title: #BFAF6A;
  --tn-module-body: #e6e2c3;
  --tn-module-border: #143D2B;
  --tn-module-link: #5d5b33;
  --tn-breadcrumb-link: #f5e6a8;
  /* Botón principal (login, búsqueda, contacto, formularios) — negro */
  --tn-btn-primary: #2F5E3E;
  --tn-btn-primary-hover: #1c3825;
  --tn-btn-primary-active: #1c3825;
  --tn-btn-primary-border: #1c3825;
  --tn-btn-primary-text: #f2f0db;
}

body.site {
  background: radial-gradient(circle at top, #787974 0%, var(--tn-bg) 55%);
  font-family: Inter, Arial, sans-serif;
  color: var(--tn-text);
}

/* Volver arriba (Cassiopeia): por encima del distintivo reCAPTCHA v3 (esquina inferior derecha) */
body.site .back-to-top-link {
  bottom: 5.75rem !important;
  inset-inline-end: 1rem !important;
}

/* ---------- Botones principales (mismo criterio que «Enviar correo») ---------- */
body.site .btn-primary,
body.site a.btn-primary {
  --bs-btn-bg: var(--tn-btn-primary);
  --bs-btn-border-color: var(--tn-btn-primary-border);
  --bs-btn-hover-bg: var(--tn-btn-primary-hover);
  --bs-btn-hover-border-color: var(--tn-btn-primary-hover);
  --bs-btn-active-bg: var(--tn-btn-primary-active);
  --bs-btn-active-border-color: var(--tn-btn-primary-active);
  --bs-btn-disabled-bg: var(--tn-btn-primary);
  --bs-btn-disabled-border-color: var(--tn-btn-primary-border);
  --bs-btn-color: var(--tn-btn-primary-text);
  --bs-btn-hover-color: var(--tn-btn-primary-text);
  --bs-btn-active-color: var(--tn-btn-primary-text);
  background-color: var(--tn-btn-primary) !important;
  border-color: var(--tn-btn-primary-border) !important;
  color: var(--tn-btn-primary-text) !important;
  border-radius: 6px;
  font-weight: 600;
  padding: 0.42rem 1rem;
  box-shadow: none;
  font-family: Inter, Montserrat, Arial, sans-serif;
}

body.site .btn-primary:hover,
body.site .btn-primary:focus-visible,
body.site a.btn-primary:hover {
  background-color: var(--tn-btn-primary-hover) !important;
  border-color: var(--tn-btn-primary-hover) !important;
  color: var(--tn-btn-primary-text) !important;
}

body.site .btn-primary:active,
body.site a.btn-primary:active {
  background-color: var(--tn-btn-primary-active) !important;
  border-color: var(--tn-btn-primary-active) !important;
}

/* Envíos sin clase .btn (algunos formularios legacy) */
body.site .container-component input[type="submit"]:not(.btn-secondary):not(.input-password-toggle),
body.site .com-contact.contact input[type="submit"],
body.site .com-weblinks-category input[type="submit"] {
  background-color: var(--tn-btn-primary) !important;
  border: 1px solid var(--tn-btn-primary-border) !important;
  color: var(--tn-btn-primary-text) !important;
  border-radius: 6px;
  font-weight: 600;
  padding: 0.42rem 1rem;
  font-family: Inter, Montserrat, Arial, sans-serif;
}

body.site .container-component input[type="submit"]:not(.btn-secondary):not(.input-password-toggle):hover,
body.site .com-contact.contact input[type="submit"]:hover {
  background-color: var(--tn-btn-primary-hover) !important;
  border-color: var(--tn-btn-primary-hover) !important;
  color: var(--tn-btn-primary-text) !important;
}

.container-header {
  background: var(--tn-surface-header);
  border: 0px;
  border-radius: 0px;
  padding: 0.35rem 0.55rem;
}

.container-header .navbar-brand {
  width: min(100%, 760px);
  min-height: var(--tn-header-h);
  background: url('/images/logo_tn_alt.png') center center/contain no-repeat;
  margin-left: auto;
  margin-right: auto;
  text-indent: -9999px;
  overflow: hidden;
}

.container-header .site-description {
  color: var(--tn-text-header);
  font-weight: 600;
  white-space: normal;
  font-size: 1rem;
  text-indent: 0;
  text-align: right;
  letter-spacing: 0.15px;
  text-decoration: none;
}

.container-header .navbar-brand a {
  color: var(--tn-text-header);
  text-decoration: none;
}

/* Icono X/Twitter en la descripción (Font Awesome Brands; HTML con <span class="fa-brands fa-x-twitter">) */
.container-header .site-description .fa-brands {
  margin-right: 0.35em;
  vertical-align: -0.06em;
  font-size: 1.1em;
}

.container-header .mod-menu {
  border-top: 1px solid #d8d4b7;
  padding-top: 6px;
  margin-top: 4px;
}

.container-header .mod-menu a {
  font-family: Montserrat, Inter, Arial, sans-serif;
  color: var(--tn-module-link);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.container-header .mod-menu a:hover {
  color: #3a381f;
}

/* Mantener ancho tipo Cassiopeia y mover sidebar-right a la izquierda */
body.has-sidebar-right .site-grid {
  grid-template-columns: 280px minmax(0, 1fr);
  grid-template-areas: "sidebar-r comp";
  column-gap: 12px;
}

body.has-sidebar-right .container-sidebar-right {
  grid-area: sidebar-r;
}

body.has-sidebar-right .container-component {
  grid-area: comp;
}

.sidebar-left .card,
.sidebar-right .card,
main .card,
.sidebar-left.card,
.sidebar-right.card {
  border-radius: 4px;
  border: 0px !important;
  box-shadow: none;
  overflow: hidden;
}

.container-sidebar-left .card,
.sidebar-left.card {
  background-color: var(--tn-surface);
}

.container-sidebar-right .sidebar-right.card {
  margin-bottom: 12px;
}

/* Cabeceras módulo: forzar estilo v1.5 (la regla global h3 y Cassiopeia suelen pisar esto) */
.container-sidebar-left .sidebar-left.card > h3.card-header,
.container-sidebar-right .sidebar-right.card > h3.card-header,
.sidebar-left .card .card-header,
.sidebar-right .card .card-header {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  font-family: Montserrat, Inter, Arial, sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  line-height: 1.2 !important;
  border-bottom: none !important;
  padding: 0.42rem 0.55rem !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.45rem !important;
}

.sidebar-left .card .card-header::after,
.sidebar-right .card .card-header::after {
  content: "";
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  box-sizing: border-box;
  border: 1px solid #4a3f14;
  background: linear-gradient(145deg, #e8c84a 0%, #7a6318 100%);
  clip-path: polygon(32% 22%, 32% 78%, 74% 50%);
}

/* Cuerpo módulos: izquierda = superficie principal; derecha = tono módulo v1.5 */
.container-sidebar-left .card .card-body,
.sidebar-left.card .card-body,
.sidebar-left .card .card-body {
  background-color: var(--tn-surface) !important;
  background-image: none;
  color: #2a2d2a;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding: 0.55rem 0.65rem;
}

.container-sidebar-right .card .card-body,
.sidebar-right.card .card-body,
.sidebar-right .card .card-body {
  background-color: var(--tn-module-body);
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0.14) 0%, transparent 42%),
    repeating-linear-gradient(
      -8deg,
      transparent,
      transparent 1px,
      rgba(0, 0, 0, 0.018) 1px,
      rgba(0, 0, 0, 0.018) 2px
    );
  color: #2a2d2a;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding: 0.55rem 0.65rem;
}

.sidebar-left .mod-menu,
.sidebar-right .mod-menu {
  padding-left: 0.25rem;
}

.sidebar-left .mod-menu li,
.sidebar-right .mod-menu li {
  margin: 0.16rem 0;
  list-style: none;
  position: relative;
  padding-left: 0.95rem;
  line-height: 1.18;
}

.sidebar-left .mod-menu li::before,
.sidebar-right .mod-menu li::before {
  content: "▸";
  color: #8a7c44;
  position: absolute;
  left: 0;
  top: 0;
  font-size: 0.9rem;
}

.sidebar-left .card-title,
.sidebar-right .card-title {
  text-transform: none;
  letter-spacing: 0.15px;
  margin: 0;
}

.sidebar-left .card a,
.sidebar-right .card a {
  color: var(--tn-module-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.sidebar-left .card a:hover,
.sidebar-right .card a:hover {
  color: #3a381f;
}

.sidebar-left .card .btn,
.sidebar-left .card button,
.sidebar-right .card .btn,
.sidebar-right .card button {
  text-decoration: none;
}

.sidebar-left .card label,
.sidebar-right .card label,
.sidebar-left .mod-login,
.sidebar-right .mod-login {
  color: var(--tn-module-link);
}

main .card {
  background: var(--tn-surface);
  border: 1px solid #7a7c6f;
}

/* Blog: una sola caja por entrada (Cassiopeia anida .item-content dentro de .blog-item → doble borde) */
main .blog-item {
  background: var(--tn-surface);
  border: 1px solid #7a7c6f;
  margin-bottom: 0.8rem;
}

main .blog-item .item-content {
  background: transparent;
  border: none;
  box-shadow: none;
}

/* Refuerzo para vistas de contenido (blog/articulo) con plantillas legacy */
.com-content-article .item-page,
.container-component .item-page {
  background: var(--tn-surface) !important;
  color: #1f2320 !important;
  border: 1px solid #7a7c6f !important;
  border-radius: 8px;
  padding: 0.7rem 0.9rem;
}

/*
 * Listado categoría / destacados: mismo calle que la ficha (0.9rem en .item-content).
 * Núcleo Joomla: .blog-item > .item-content.
 * Plantilla theme--200287-j4: article.ttr_post > .ttr_post_content_inner (sin .blog-item en categoría).
 */
.com-content-category-blog .blog-item,
.com-content-category-blog article.ttr_post .ttr_post_content_inner,
.blog-featured .blog-item {
  background: var(--tn-surface) !important;
  color: #1f2320 !important;
  border: 1px solid #7a7c6f !important;
  border-radius: 8px;
  padding: 0.7rem 0 !important;
  box-sizing: border-box;
}

.com-content-category-blog article.ttr_post {
  margin-bottom: 0.8rem;
}

.com-content-category-blog .item-content,
.blog-featured .item-content,
/* Plantilla J4: sin main.container-component; sube especificidad frente a template.css */
#ttr_content .com-content-category-blog .item-content,
#ttr_content_margin .com-content-category-blog .item-content,
.blog-wp .com-content-category-blog .item-content,
#ttr_content .blog-featured .item-content,
#ttr_content_margin .blog-featured .item-content,
.blog-wp .blog-featured .item-content {
  background: transparent !important;
  color: #1f2320 !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0.65rem 0.9rem 0.75rem !important;
  box-sizing: border-box;
}

/* Imagen intro u otros bloques fuera de .item-content (blog_item) */
.com-content-category-blog .blog-item > :not(.item-content),
.com-content-category-blog .ttr_post_content_inner > :not(.item-content),
.blog-featured .blog-item > :not(.item-content) {
  padding-left: 0.9rem;
  padding-right: 0.9rem;
  box-sizing: border-box;
}

.com-content-category-blog .blog-item a,
.com-content-category-blog article.ttr_post a,
.com-content-article .item-page a {
  color: #505327 !important;
}

.com-content-category-blog .blog-item a:hover,
.com-content-category-blog article.ttr_post a:hover,
.com-content-article .item-page a:hover {
  color: #2e3113 !important;
}

.item-page .article-info,
.blog-item .article-info,
.com-content-category-blog article.ttr_post .article-info {
  color: #3c4034 !important;
  font-size: 0.92rem;
}

.item-page .article-info .icon-user,
.item-page .article-info .icon-folder-open,
.item-page .article-info .icon-calendar,
.blog-item .article-info .icon-user,
.blog-item .article-info .icon-folder-open,
.blog-item .article-info .icon-calendar,
.com-content-category-blog article.ttr_post .article-info .icon-user,
.com-content-category-blog article.ttr_post .article-info .icon-folder-open,
.com-content-category-blog article.ttr_post .article-info .icon-calendar {
  color: #8a7c44 !important;
}

.item-page img,
.blog-item img,
.com-content-category-blog article.ttr_post img {
  max-width: 100%;
  height: auto;
}

/* Títulos de cada artículo en listado blog: misma barra negra + dorado que la vista detalle */

/* Breadcrumb: misma línea cromática que cabeceras de módulo (evita azul Bootstrap) */
.container-component .mod-breadcrumbs__wrapper {
  margin-bottom: 0.75rem;
  border: 2px solid var(--tn-module-border);
  border-radius: 4px;
  overflow: hidden;
  background: var(--tn-module-header-bg);
}

.container-component .mod-breadcrumbs.breadcrumb {
  --bs-breadcrumb-divider-color: var(--tn-module-title);
  --bs-breadcrumb-item-padding-x: 0.35rem;
  margin: 0;
  padding: 0.45rem 0.65rem;
  background: transparent;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0;
  list-style: none;
}

.container-component .mod-breadcrumbs__here {
  float: none !important;
  color: var(--tn-module-title);
  font-weight: 700;
  font-size: 0.88rem;
}

.container-component .mod-breadcrumbs .breadcrumb-item,
.container-component .mod-breadcrumbs .breadcrumb-item a {
  color: var(--tn-breadcrumb-link);
  font-size: 0.88rem;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.container-component .mod-breadcrumbs .breadcrumb-item a:hover {
  color: #fff8dc;
}

.container-component .mod-breadcrumbs .breadcrumb-item.active span {
  color: var(--tn-module-title);
  font-weight: 600;
  text-decoration: none;
}

.container-component .mod-breadcrumbs .breadcrumb-item + .breadcrumb-item {
  padding-left: 0;
}

.container-component .mod-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
  color: var(--tn-module-title);
  padding-right: 0.35rem;
}

/* Título de vista (categoría, destacados, artículo): barra negra + título dorado como menús laterales */
.container-component .page-header
{
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border);
  border-radius: 4px;
  padding: 0.48rem 0.75rem;
  margin-bottom: 0.85rem;
  box-shadow: none;
}

.container-component .page-header h1,
main .page-header h1 {
  color: var(--tn-module-title) !important;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  font-family: Montserrat, Inter, Arial, sans-serif;
}

.com-content-category-blog > .page-header {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border);
  border-radius: 4px;
  padding: 0.48rem 0.75rem;
  margin-bottom: 0.85rem;
  box-shadow: none;
}

.com-content-category-blog > .page-header h1 {
  color: var(--tn-module-title) !important;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

/* Vista artículo: barra negra + título dorado (igual que cabecera de categoría); alinea al borde interno de la tarjeta */
.com-content-article .item-page > .page-header {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border) !important;
  border-radius: 8px;
  padding: 0.48rem 0.75rem !important;
  margin-left: -0.9rem !important;
  margin-right: -0.9rem !important;
  margin-bottom: 0.75rem !important;
  box-shadow: none !important;
}

.com-content-article .item-page > .page-header:first-of-type {
  margin-top: -0.7rem !important;
}

.com-content-article .item-page > .page-header ~ .page-header {
  margin-top: 0.65rem !important;
}

.com-content-article .item-page > .page-header h1,
.com-content-article .item-page > .page-header h2 {
  color: var(--tn-module-title) !important;
  margin: 0 !important;
  font-size: clamp(0.95rem, 2.2vw, 1.15rem);
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-family: Montserrat, Inter, Arial, sans-serif;
  line-height: 1.25;
}

/* Listado categoría / blog: barra título al ancho de la tarjeta (anula padding horizontal de .item-content) */
.com-content-category-blog .blog-item .item-content > .page-header,
.blog-featured .blog-item .item-content > .page-header,
.com-content-category-blog .item-content > .page-header,
.blog-featured .item-content > .page-header,
/* Núcleo Joomla: .page-header > h2 (sin clase .item-title) — refuerzo #ttr_content / blog-wp */
#ttr_content .com-content-category-blog .item-content > .page-header,
#ttr_content_margin .com-content-category-blog .item-content > .page-header,
.blog-wp .com-content-category-blog .item-content > .page-header,
#ttr_content .blog-featured .item-content > .page-header,
#ttr_content_margin .blog-featured .item-content > .page-header,
.blog-wp .blog-featured .item-content > .page-header {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border) !important;
  border-radius: 4px;
  padding: 0.48rem 0.75rem !important;
  margin: -0.65rem 0 0.65rem 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

/* theme--200287-j4: título en .ttr_post_inner_box + h2.ttr_post_title (no .page-header) */
.com-content-category-blog .item-content > .ttr_post_inner_box,
.blog-featured .item-content > .ttr_post_inner_box {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border) !important;
  border-radius: 4px;
  padding: 0.48rem 0.75rem !important;
  margin: -0.65rem 0 0.65rem 0 !important;
  box-shadow: none !important;
}

/* Destacados / inicio: h2.item-title suelto (sin .page-header), misma barra que el resto */
.blog-featured .item-content > h2.item-title,
.com-content-category-blog .item-content > h2.item-title {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border) !important;
  border-radius: 4px;
  padding: 0.48rem 0.75rem !important;
  margin: -0.65rem 0 0.65rem 0 !important;
  box-shadow: none !important;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem);
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-family: Montserrat, Inter, Arial, sans-serif;
  line-height: 1.25;
}

.blog-featured .item-content > h2.item-title a,
.com-content-category-blog .item-content > h2.item-title a {
  color: var(--tn-module-title) !important;
  text-decoration: none !important;
}

.blog-featured .item-content > h2.item-title a:hover,
.com-content-category-blog .item-content > h2.item-title a:hover {
  color: #fff8c4 !important;
  text-decoration: underline !important;
}

.com-content-category-blog .blog-item .item-content > .page-header h2,
.blog-featured .blog-item .item-content > .page-header h2,
.com-content-category-blog .item-content > .page-header h2,
.blog-featured .item-content > .page-header h2,
#ttr_content .com-content-category-blog .item-content > .page-header h2,
#ttr_content_margin .com-content-category-blog .item-content > .page-header h2,
.blog-wp .com-content-category-blog .item-content > .page-header h2,
#ttr_content .blog-featured .item-content > .page-header h2,
#ttr_content_margin .blog-featured .item-content > .page-header h2,
.blog-wp .blog-featured .item-content > .page-header h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem);
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-family: Montserrat, Inter, Arial, sans-serif;
  line-height: 1.25;
  color: var(--tn-module-title) !important;
}

.com-content-category-blog .blog-item .item-content > .page-header h2 a,
.blog-featured .blog-item .item-content > .page-header h2 a,
.com-content-category-blog .item-content > .page-header h2 a,
.blog-featured .item-content > .page-header h2 a,
#ttr_content .com-content-category-blog .item-content > .page-header h2 a,
#ttr_content_margin .com-content-category-blog .item-content > .page-header h2 a,
.blog-wp .com-content-category-blog .item-content > .page-header h2 a,
#ttr_content .blog-featured .item-content > .page-header h2 a,
#ttr_content_margin .blog-featured .item-content > .page-header h2 a,
.blog-wp .blog-featured .item-content > .page-header h2 a {
  color: var(--tn-module-title) !important;
  text-decoration: none !important;
}

.com-content-category-blog .blog-item .item-content > .page-header h2 a:hover,
.blog-featured .blog-item .item-content > .page-header h2 a:hover,
.com-content-category-blog .item-content > .page-header h2 a:hover,
.blog-featured .item-content > .page-header h2 a:hover,
#ttr_content .com-content-category-blog .item-content > .page-header h2 a:hover,
#ttr_content_margin .com-content-category-blog .item-content > .page-header h2 a:hover,
.blog-wp .com-content-category-blog .item-content > .page-header h2 a:hover,
#ttr_content .blog-featured .item-content > .page-header h2 a:hover,
#ttr_content_margin .blog-featured .item-content > .page-header h2 a:hover,
.blog-wp .blog-featured .item-content > .page-header h2 a:hover {
  color: #fff8c4 !important;
  text-decoration: underline !important;
}

.com-content-category-blog .item-content > .ttr_post_inner_box .ttr_post_title,
.blog-featured .item-content > .ttr_post_inner_box .ttr_post_title {
  margin: 0 !important;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem);
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-family: Montserrat, Inter, Arial, sans-serif;
  line-height: 1.25;
  color: var(--tn-module-title) !important;
}

.com-content-category-blog .item-content > .ttr_post_inner_box .ttr_post_title a,
.blog-featured .item-content > .ttr_post_inner_box .ttr_post_title a {
  color: var(--tn-module-title) !important;
  text-decoration: none !important;
}

.com-content-category-blog .item-content > .ttr_post_inner_box .ttr_post_title a:hover,
.blog-featured .item-content > .ttr_post_inner_box .ttr_post_title a:hover {
  color: #fff8c4 !important;
  text-decoration: underline !important;
}

/* Si la plantilla añade .item-title al h2/a (font-size del enlace hereda del h2; no poner inherit en el h2 o pisa h2.item-title suelto) */
.com-content-category-blog .blog-item .item-title,
.com-content-category-blog .blog-item .item-title a,
.blog-featured .blog-item .item-title,
.blog-featured .blog-item .item-title a,
.com-content-category-blog .item-content .item-title,
.blog-featured .item-content .item-title {
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  line-height: 1.25;
}

.com-content-category-blog .item-content .item-title a,
.blog-featured .item-content .item-title a,
.com-content-category-blog .blog-item .item-title a,
.blog-featured .blog-item .item-title a {
  font-size: inherit;
  color: var(--tn-module-title) !important;
  text-decoration: none !important;
}

h1, h2, h3, .page-header {
  font-family: Montserrat, Inter, Arial, sans-serif;
  color: #1f2320;
}

/* Evitar que h3 herede color oscuro en cabeceras de módulo lateral */
.container-sidebar-right .sidebar-right h3.card-header,
.container-sidebar-left .sidebar-left h3.card-header {
  color: var(--tn-module-title) !important;
}

a {
  color: #5a5e2e;
  text-decoration: none;
}

a:hover {
  color: #3e421d;
  text-decoration: underline;
}

.pagination,
.mod-articleslatest,
.mod-articlespopular {
  background: var(--tn-surface);
  border: 1px solid #7a7c6f;
  border-radius: 8px;
  padding: 0.5rem 0.75rem;
}

/* Paginación com_content: misma anchura que el contador, sin float; botones oscuros como TN */
.com-content-category-blog__navigation,
.com-content-category__navigation,
.com-content-archive__navigation {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  clear: both;
  width: 100%;
}

.com-content-category-blog__navigation .com-content-category-blog__counter,
.com-content-category__navigation .com-content-category__counter,
.com-content-archive__navigation .com-content-archive__counter {
  float: none !important;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0.5rem 0.75rem !important;
  text-align: left !important;
  border: 0px;
  border-radius: 0px;
  box-sizing: border-box;
  color: var(--tn-btn-primary-text);
}

.blog-featured > .w-100 {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
  clear: both;
  width: 100%;
}

.blog-featured > .w-100 > .counter {
  float: none !important;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 0.5rem 0.75rem !important;
  text-align: left !important;
  border: 0px;
  border-radius: 0px;
  box-sizing: border-box;
  color: var(--tn-btn-primary-text);
}

.com-content-category-blog__pagination,
.com-content-category__pagination,
.com-content-archive__pagination {
  width: 100%;
  margin: 0;
  padding: 0;
}

.com-content-category-blog__pagination nav.pagination__wrapper,
.com-content-category__pagination nav.pagination__wrapper,
.com-content-archive__pagination nav.pagination__wrapper,
.blog-featured > .w-100 nav.pagination__wrapper {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 0px;
  border-radius: 0px;
  padding: 0.5rem 0.75rem;
  color: var(--tn-btn-primary-text);
}

.com-content-category-blog__pagination .pagination__wrapper .text-end,
.com-content-category__pagination .pagination__wrapper .text-end,
.com-content-archive__pagination .pagination__wrapper .text-end,
.blog-featured > .w-100 .pagination__wrapper .text-end {
  text-align: left !important;
  margin: 0 0 0.35rem 0 !important;
  width: 100%;
  padding: 0 !important;
}

.com-content-category-blog__pagination .pagination.pagination-toolbar,
.com-content-category__pagination .pagination.pagination-toolbar,
.com-content-archive__pagination .pagination.pagination-toolbar,
.blog-featured > .w-100 .pagination.pagination-toolbar {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.com-content-category-blog__pagination ul.pagination,
.com-content-category__pagination ul.pagination,
.com-content-archive__pagination ul.pagination,
.blog-featured > .w-100 ul.pagination {
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.com-content-category-blog__pagination .page-link,
.com-content-category__pagination .page-link,
.com-content-archive__pagination .page-link,
.blog-featured > .w-100 .page-link {
  color: var(--tn-btn-primary-text) !important;
  background-color: var(--tn-btn-primary) !important;
  border-color: var(--tn-btn-primary-border) !important;
  font-weight: 600;
}

.com-content-category-blog__pagination .page-item .page-link:hover,
.com-content-category__pagination .page-item .page-link:hover,
.com-content-archive__pagination .page-item .page-link:hover,
.blog-featured > .w-100 .page-item .page-link:hover {
  color: var(--tn-btn-primary-text) !important;
  background-color: var(--tn-btn-primary-hover) !important;
  border-color: var(--tn-btn-primary-hover) !important;
}

.com-content-category-blog__pagination .page-item.active .page-link,
.com-content-category__pagination .page-item.active .page-link,
.com-content-archive__pagination .page-item.active .page-link,
.blog-featured > .w-100 .page-item.active .page-link {
  color: var(--tn-btn-primary-text) !important;
  background-color: var(--tn-btn-primary-active) !important;
  border-color: #1a1a1a !important;
}

.com-content-category-blog__pagination .page-item.disabled .page-link,
.com-content-category__pagination .page-item.disabled .page-link,
.com-content-archive__pagination .page-item.disabled .page-link,
.blog-featured > .w-100 .page-item.disabled .page-link {
  color: var(--tn-btn-primary-text) !important;
  background-color: #3a3a3a !important;
  border-color: #4a4a4a !important;
  opacity: 0.85;
}

.com-content-category-blog__pagination .page-link [class^="icon-"],
.com-content-category__pagination .page-link [class^="icon-"],
.com-content-archive__pagination .page-link [class^="icon-"],
.blog-featured > .w-100 .page-link [class^="icon-"] {
  color: inherit;
}

/* Inputs sueltos en lateral; NO width:100% dentro de .input-group (rompe fila usuario/icono) */
.sidebar-left .card-body > *:not(.mod-login) input[type="text"],
.sidebar-left .card-body > *:not(.mod-login) input[type="password"],
.sidebar-right .card-body > *:not(.mod-login) input[type="text"],
.sidebar-right .card-body > *:not(.mod-login) input[type="password"] {
  width: 100%;
  border: 1px solid #8d907f;
  border-radius: 3px;
  padding: 0.3rem 0.45rem;
  background: #f8f7ea;
  color: #1f2320;
}

/* Login Cassiopeia: input-group en una sola fila (Bootstrap usa flex + width 1% en el control) */
.sidebar-left .mod-login .input-group,
.sidebar-right .mod-login .input-group {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100%;
  max-width: 100%;
}

.sidebar-left .mod-login .input-group > .form-control,
.sidebar-right .mod-login .input-group > .form-control {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 1% !important;
  border: 1px solid #8d907f;
  border-radius: 3px 0 0 3px;
  padding: 0.3rem 0.45rem;
  background: #f8f7ea;
  color: #1f2320;
}

.sidebar-left .mod-login .input-group > .form-control + .input-group-text,
.sidebar-left .mod-login .input-group > .form-control + .btn,
.sidebar-right .mod-login .input-group > .form-control + .input-group-text,
.sidebar-right .mod-login .input-group > .form-control + .btn {
  margin-left: -1px;
}

.sidebar-left .mod-login .input-group > .input-group-text,
.sidebar-right .mod-login .input-group > .input-group-text {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  background: #e8e4d4;
  border: 1px solid #8d907f;
  border-radius: 0 3px 3px 0;
  color: #4a4a3a;
}

.sidebar-left .mod-login .input-group > .btn.input-password-toggle,
.sidebar-right .mod-login .input-group > .btn.input-password-toggle {
  flex: 0 0 auto !important;
  border-radius: 0 3px 3px 0;
  padding: 0.25rem 0.5rem;
  align-self: stretch;
}

.sidebar-left .mod-login .mod-login__username.form-group,
.sidebar-left .mod-login .mod-login__password.form-group,
.sidebar-right .mod-login .mod-login__username.form-group,
.sidebar-right .mod-login .mod-login__password.form-group {
  margin-bottom: 0.45rem;
}

.sidebar-left .mod-login .mod-login__remember .form-check-input,
.sidebar-right .mod-login .mod-login__remember .form-check-input {
  border-color: #6b6a52;
}

.sidebar-left .mod-login .mod-login__submit .btn-primary,
.sidebar-right .mod-login .mod-login__submit .btn-primary {
  margin-top: 0.15rem;
}

/* Lateral: mismo .btn-primary global; solo secundarios / ojo contraseña en gris neutro */
.sidebar-left .mod-login .btn-secondary,
.sidebar-right .mod-login .btn-secondary,
.sidebar-left .mod-login .input-password-toggle,
.sidebar-right .mod-login .input-password-toggle {
  background: #5c636a !important;
  border: 1px solid #4b5258 !important;
  color: #fff !important;
  border-radius: 6px;
  font-weight: 600;
}

.sidebar-left .mod-login .btn-secondary:hover,
.sidebar-right .mod-login .btn-secondary:hover,
.sidebar-left .mod-login .input-password-toggle:hover,
.sidebar-right .mod-login .input-password-toggle:hover {
  background: #6a7279 !important;
  border-color: #5a6268 !important;
  color: #fff !important;
}

.sidebar-left .card-body,
.sidebar-right .card-body {
  font-size: 0.91rem;
  line-height: 1.28;
}

.sidebar-left .mod-list,
.sidebar-right .mod-list {
  margin: 0;
  padding: 0;
}

.turf-counter {
  font-size: 0.95rem;
}

.turf-counter-digits {
  display: flex;
  gap: 2px;
  justify-content: center;
  margin: 2px 0 8px;
}

.turf-counter-digits .digit {
  display: inline-block;
  min-width: 18px;
  text-align: center;
  padding: 2px 4px;
  color: #f2f2f2;
  background: linear-gradient(180deg, #101010 0%, #1d1d1d 100%);
  border: 1px solid #555;
  border-radius: 2px;
  font-family: "Courier New", monospace;
  font-weight: 700;
}

.turf-counter .mod-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 2px 0;
}

.turf-counter .mod-list li span {
  font-weight: 600;
  min-width: 42px;
  text-align: right;
}

.turf-counter-meta {
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px solid #9a9a85;
  text-align: center;
  font-size: 0.9rem;
  line-height: 1.2;
}

.footer,
footer.container-footer.footer {
  border-radius: 0px;
  background: var(--tn-surface-header);
  color: var(--tn-text-header);
  border: 0px;
  text-align: center;
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.3;
  padding: 0.4rem 0.65rem !important;
}

/* Cassiopeia: pie envuelto en .grid-child; centrar bloque y texto */
footer.container-footer.footer .grid-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
  gap: 0.2rem;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

footer.container-footer.footer .grid-child > * {
  width: 100%;
  max-width: 100%;
  text-align: center;
}

.footer .mod-custom,
.footer .mod-custom p,
.footer .mod-custom div,
.footer a,
footer.container-footer.footer p,
footer.container-footer.footer a,
footer.container-footer.footer li,
footer.container-footer.footer .mod-custom,
footer.container-footer.footer .mod-custom p,
footer.container-footer.footer .mod-custom div,
footer.container-footer.footer [class*="mod-"] {
  text-align: center;
}

footer.container-footer.footer ul {
  list-style-position: inside;
  padding-left: 0;
  margin-left: 0;
}

footer.container-footer.footer p {
  margin-top: 0;
  margin-bottom: 0.25rem;
}

footer.container-footer.footer p:last-child {
  margin-bottom: 0;
}

/* Contacto y enlaces (com_contact / com_weblinks): panel crema como artículos */
.container-component main .com-contact.contact,
.container-component main .com-weblinks-categories,
.container-component main .com-weblinks-category {
  background: var(--tn-surface);
  color: #1f2320;
  border: 1px solid #7a7c6f;
  border-radius: 8px;
  padding: 0.75rem 0.9rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.container-component main .com-contact.contact a,
.container-component main .com-weblinks-categories a,
.container-component main .com-weblinks-category a {
  color: #505327;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.container-component main .com-contact.contact a:hover,
.container-component main .com-weblinks-categories a:hover,
.container-component main .com-weblinks-category a:hover {
  color: #2e3113;
}

.container-component main .com-weblinks-categories .table,
.container-component main .com-weblinks-category .table {
  --bs-table-bg: transparent;
  color: inherit;
}

.container-component main .com-contact.contact .page-header,
.container-component main .com-weblinks-category .page-header {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border) !important;
  border-radius: 4px;
  padding: 0.48rem 0.75rem;
  margin-bottom: 0.75rem;
}

.container-component main .com-contact.contact .page-header h2,
.container-component main .com-contact.contact .page-header h3,
.container-component main .com-weblinks-category .page-header h2 {
  color: var(--tn-module-title) !important;
  margin: 0;
  font-size: 1.05rem;
  font-weight: 800;
}

/* Primer título de página en contacto (h1 fuera de .page-header) */
.container-component main .com-contact.contact > h1 {
  color: #1f2320;
  font-size: 1.15rem;
  font-weight: 800;
  margin-bottom: 0.65rem;
}

/* Registro / login / reset / remind (com_users): mismo panel crema y contraste que el resto del sitio */
main .com-users-registration.registration,
main .com-users-login.login,
main .com-users-reset.reset,
main .com-users-remind.remind,
main .com-users-reset-confirm.reset-confirm,
main .com-users-reset-complete.reset-complete,
.container-component main .com-users-registration.registration,
.container-component main .com-users-login.login,
.container-component main .com-users-reset.reset,
.container-component main .com-users-remind.remind,
.container-component main .com-users-reset-confirm.reset-confirm,
.container-component main .com-users-reset-complete.reset-complete,
#ttr_content .com-users-registration.registration,
#ttr_content .com-users-login.login,
#ttr_content .com-users-reset.reset,
#ttr_content .com-users-remind.remind,
#ttr_content .com-users-reset-confirm.reset-confirm,
#ttr_content .com-users-reset-complete.reset-complete,
#ttr_content_margin .com-users-registration.registration,
#ttr_content_margin .com-users-login.login,
#ttr_content_margin .com-users-reset.reset,
#ttr_content_margin .com-users-remind.remind,
#ttr_content_margin .com-users-reset-confirm.reset-confirm,
#ttr_content_margin .com-users-reset-complete.reset-complete {
  background: var(--tn-surface) !important;
  color: #1f2320 !important;
  border: 1px solid #7a7c6f;
  border-radius: 8px;
  padding: 0.75rem 0.9rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
  box-sizing: border-box;
}

main .com-users-registration .page-header,
main .com-users-login .page-header,
main .com-users-reset .page-header,
main .com-users-remind .page-header,
main .com-users-reset-confirm .page-header,
main .com-users-reset-complete .page-header,
.container-component main .com-users-registration .page-header,
.container-component main .com-users-login .page-header,
.container-component main .com-users-reset .page-header,
.container-component main .com-users-remind .page-header,
.container-component main .com-users-reset-confirm .page-header,
.container-component main .com-users-reset-complete .page-header,
#ttr_content .com-users-registration .page-header,
#ttr_content .com-users-login .page-header,
#ttr_content .com-users-reset .page-header,
#ttr_content .com-users-remind .page-header,
#ttr_content .com-users-reset-confirm .page-header,
#ttr_content .com-users-reset-complete .page-header {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border) !important;
  border-radius: 8px;
  padding: 0.48rem 0.75rem !important;
  margin: -0.75rem -0.9rem 0.85rem -0.9rem !important;
  box-shadow: none !important;
}

main .com-users-registration .page-header h1,
main .com-users-login .page-header h1,
main .com-users-reset .page-header h1,
main .com-users-remind .page-header h1,
main .com-users-reset-confirm .page-header h1,
main .com-users-reset-complete .page-header h1,
.container-component main .com-users-registration .page-header h1,
.container-component main .com-users-login .page-header h1,
.container-component main .com-users-reset .page-header h1,
.container-component main .com-users-remind .page-header h1,
.container-component main .com-users-reset-confirm .page-header h1,
.container-component main .com-users-reset-complete .page-header h1,
#ttr_content .com-users-registration .page-header h1,
#ttr_content .com-users-login .page-header h1,
#ttr_content .com-users-reset .page-header h1,
#ttr_content .com-users-remind .page-header h1,
#ttr_content .com-users-reset-confirm .page-header h1,
#ttr_content .com-users-reset-complete .page-header h1 {
  color: var(--tn-module-title) !important;
  margin: 0 !important;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  font-family: Montserrat, Inter, Arial, sans-serif;
}

main .com-users-registration label,
main .com-users-registration .form-label,
main .com-users-registration legend,
main .com-users-login label,
main .com-users-login .form-label,
main .com-users-login legend,
main .com-users-reset label,
main .com-users-reset .form-label,
main .com-users-reset legend,
main .com-users-remind label,
main .com-users-remind .form-label,
main .com-users-remind legend,
main .com-users-reset-confirm label,
main .com-users-reset-confirm .form-label,
main .com-users-reset-confirm legend,
main .com-users-reset-complete label,
main .com-users-reset-complete .form-label,
main .com-users-reset-complete legend,
.container-component main .com-users-registration label,
.container-component main .com-users-registration .form-label,
.container-component main .com-users-registration legend,
.container-component main .com-users-login label,
.container-component main .com-users-login .form-label,
.container-component main .com-users-login legend,
.container-component main .com-users-reset label,
.container-component main .com-users-reset .form-label,
.container-component main .com-users-reset legend,
.container-component main .com-users-remind label,
.container-component main .com-users-remind .form-label,
.container-component main .com-users-remind legend,
.container-component main .com-users-reset-confirm label,
.container-component main .com-users-reset-confirm .form-label,
.container-component main .com-users-reset-confirm legend,
.container-component main .com-users-reset-complete label,
.container-component main .com-users-reset-complete .form-label,
.container-component main .com-users-reset-complete legend,
#ttr_content .com-users-registration label,
#ttr_content .com-users-registration .form-label,
#ttr_content .com-users-registration legend,
#ttr_content .com-users-login label,
#ttr_content .com-users-login .form-label,
#ttr_content .com-users-login legend,
#ttr_content .com-users-reset label,
#ttr_content .com-users-reset .form-label,
#ttr_content .com-users-reset legend,
#ttr_content .com-users-remind label,
#ttr_content .com-users-remind .form-label,
#ttr_content .com-users-remind legend,
#ttr_content .com-users-reset-confirm label,
#ttr_content .com-users-reset-confirm .form-label,
#ttr_content .com-users-reset-confirm legend,
#ttr_content .com-users-reset-complete label,
#ttr_content .com-users-reset-complete .form-label,
#ttr_content .com-users-reset-complete legend {
  color: #1f2320 !important;
}

main .com-users-registration fieldset,
main .com-users-login fieldset,
main .com-users-reset fieldset,
main .com-users-remind fieldset,
main .com-users-reset-confirm fieldset,
main .com-users-reset-complete fieldset {
  border: none;
  padding: 0;
  margin: 0 0 1rem 0;
}

main .com-users-registration legend,
main .com-users-login legend,
main .com-users-reset legend,
main .com-users-remind legend,
main .com-users-reset-confirm legend,
main .com-users-reset-complete legend {
  float: none;
  width: 100%;
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  padding: 0;
}

main .com-users-registration .form-control,
main .com-users-registration input[type="text"],
main .com-users-registration input[type="password"],
main .com-users-registration input[type="email"],
main .com-users-registration select,
main .com-users-registration textarea,
main .com-users-login .form-control,
main .com-users-login input[type="text"],
main .com-users-login input[type="password"],
main .com-users-login input[type="email"],
main .com-users-reset .form-control,
main .com-users-reset input[type="text"],
main .com-users-reset input[type="password"],
main .com-users-reset input[type="email"],
main .com-users-reset select,
main .com-users-reset textarea,
main .com-users-remind .form-control,
main .com-users-remind input[type="text"],
main .com-users-remind input[type="password"],
main .com-users-remind input[type="email"],
main .com-users-remind select,
main .com-users-remind textarea,
main .com-users-reset-confirm .form-control,
main .com-users-reset-confirm input[type="text"],
main .com-users-reset-confirm input[type="password"],
main .com-users-reset-confirm input[type="email"],
main .com-users-reset-confirm select,
main .com-users-reset-confirm textarea,
main .com-users-reset-complete .form-control,
main .com-users-reset-complete input[type="text"],
main .com-users-reset-complete input[type="password"],
main .com-users-reset-complete input[type="email"],
main .com-users-reset-complete select,
main .com-users-reset-complete textarea,
.container-component main .com-users-registration .form-control,
.container-component main .com-users-login .form-control,
.container-component main .com-users-reset .form-control,
.container-component main .com-users-remind .form-control,
.container-component main .com-users-reset-confirm .form-control,
.container-component main .com-users-reset-complete .form-control,
#ttr_content .com-users-registration .form-control,
#ttr_content .com-users-login .form-control,
#ttr_content .com-users-reset .form-control,
#ttr_content .com-users-remind .form-control,
#ttr_content .com-users-reset-confirm .form-control,
#ttr_content .com-users-reset-complete .form-control {
  background: #f8f7ea !important;
  border: 1px solid #8d907f !important;
  color: #1f2320 !important;
  border-radius: 6px;
}

main .com-users-registration .form-control:focus,
main .com-users-login .form-control:focus,
main .com-users-reset .form-control:focus,
main .com-users-remind .form-control:focus,
main .com-users-reset-confirm .form-control:focus,
main .com-users-reset-complete .form-control:focus {
  border-color: #6b6d5e !important;
  box-shadow: 0 0 0 0.15rem rgba(80, 83, 39, 0.2);
  color: #1f2320 !important;
}

main .com-users-registration .form-text,
main .com-users-registration .form-desc,
main .com-users-registration small,
main .com-users-login .form-text,
main .com-users-login .form-desc,
main .com-users-login small,
main .com-users-reset .form-text,
main .com-users-reset .form-desc,
main .com-users-reset small,
main .com-users-remind .form-text,
main .com-users-remind .form-desc,
main .com-users-remind small,
main .com-users-reset-confirm .form-text,
main .com-users-reset-confirm .form-desc,
main .com-users-reset-confirm small,
main .com-users-reset-complete .form-text,
main .com-users-reset-complete .form-desc,
main .com-users-reset-complete small {
  color: #3c4034 !important;
}

main .com-users-registration a,
main .com-users-login a,
main .com-users-reset a,
main .com-users-remind a,
main .com-users-reset-confirm a,
main .com-users-reset-complete a {
  color: #505327 !important;
}

main .com-users-registration a:hover,
main .com-users-login a:hover,
main .com-users-reset a:hover,
main .com-users-remind a:hover,
main .com-users-reset-confirm a:hover,
main .com-users-reset-complete a:hover {
  color: #2e3113 !important;
}

main .com-users-registration .input-password-toggle,
main .com-users-login .input-password-toggle,
main .com-users-reset .input-password-toggle,
main .com-users-remind .input-password-toggle,
main .com-users-reset-confirm .input-password-toggle,
main .com-users-reset-complete .input-password-toggle {
  background: #5c636a !important;
  border: 1px solid #4b5258 !important;
  color: #fff !important;
  border-radius: 0 6px 6px 0;
}

main .com-users-registration .input-password-toggle:hover,
main .com-users-login .input-password-toggle:hover,
main .com-users-reset .input-password-toggle:hover,
main .com-users-remind .input-password-toggle:hover,
main .com-users-reset-confirm .input-password-toggle:hover,
main .com-users-reset-complete .input-password-toggle:hover {
  background: #6a7279 !important;
  border-color: #5a6268 !important;
  color: #fff !important;
}

main .com-users-registration__description,
main .com-users-login__description,
main .com-users-reset__description,
main .com-users-remind__description,
main .com-users-reset-confirm__description,
main .com-users-reset-complete__description {
  color: #2a2d2a !important;
  margin-bottom: 0.75rem;
}

/* Búsqueda inteligente (com_finder): panel y formulario alineados con contacto / com_users */
main .com-finder.finder,
.container-component main .com-finder.finder,
#ttr_content .com-finder.finder,
#ttr_content_margin .com-finder.finder {
  background: var(--tn-surface) !important;
  color: #1f2320 !important;
  border: 1px solid #7a7c6f;
  border-radius: 8px;
  padding: 0.75rem 0.9rem;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
  box-sizing: border-box;
}

main .com-finder.finder > h1,
.container-component main .com-finder.finder > h1,
#ttr_content .com-finder.finder > h1,
#ttr_content_margin .com-finder.finder > h1 {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border) !important;
  border-radius: 8px;
  padding: 0.48rem 0.75rem !important;
  margin: -0.75rem -0.9rem 0.85rem -0.9rem !important;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem);
  font-weight: 800;
  letter-spacing: 0.02em;
  font-family: Montserrat, Inter, Arial, sans-serif;
}

main .com-finder.finder .page-header,
.container-component main .com-finder.finder .page-header,
#ttr_content .com-finder.finder .page-header {
  background: var(--tn-module-header-bg) !important;
  color: var(--tn-module-title) !important;
  border: 2px solid var(--tn-module-border) !important;
  border-radius: 8px;
  padding: 0.48rem 0.75rem !important;
  margin: -0.75rem -0.9rem 0.85rem -0.9rem !important;
  box-shadow: none !important;
}

main .com-finder.finder .page-header h1,
.container-component main .com-finder.finder .page-header h1,
#ttr_content .com-finder.finder .page-header h1 {
  color: var(--tn-module-title) !important;
  margin: 0 !important;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem);
  font-weight: 800;
  font-family: Montserrat, Inter, Arial, sans-serif;
}

main .com-finder label,
main .com-finder .form-label,
main .com-finder legend,
.container-component main .com-finder label,
.container-component main .com-finder .form-label,
.container-component main .com-finder legend,
#ttr_content .com-finder label,
#ttr_content .com-finder .form-label,
#ttr_content .com-finder legend {
  color: #1f2320 !important;
}

main .com-finder fieldset,
.container-component main .com-finder fieldset,
#ttr_content .com-finder fieldset {
  border: none;
  padding: 0;
  margin: 0 0 1rem 0;
}

main .com-finder .form-control,
main .com-finder input[type="text"],
main .com-finder input[type="search"],
main .com-finder select,
.container-component main .com-finder .form-control,
#ttr_content .com-finder .form-control {
  background: #f8f7ea !important;
  border: 1px solid #8d907f !important;
  color: #1f2320 !important;
  border-radius: 6px;
}

main .com-finder .form-control:focus,
.container-component main .com-finder .form-control:focus,
#ttr_content .com-finder .form-control:focus {
  border-color: #6b6d5e !important;
  box-shadow: 0 0 0 0.15rem rgba(80, 83, 39, 0.2);
  color: #1f2320 !important;
}

main .com-finder .com-finder__tips,
.container-component main .com-finder .com-finder__tips,
#ttr_content .com-finder .com-finder__tips {
  background: #f8f7ea !important;
  border: 1px solid #8d907f !important;
  color: #1f2320 !important;
  border-radius: 8px;
}

main .com-finder .com-finder__tips .card-body,
.container-component main .com-finder .com-finder__tips .card-body,
#ttr_content .com-finder .com-finder__tips .card-body {
  color: #3c4034 !important;
}

main .com-finder a,
.container-component main .com-finder a,
#ttr_content .com-finder a {
  color: #505327 !important;
}

main .com-finder a:hover,
.container-component main .com-finder a:hover,
#ttr_content .com-finder a:hover {
  color: #2e3113 !important;
}

main .com-finder .btn-secondary,
.container-component main .com-finder .btn-secondary,
#ttr_content .com-finder .btn-secondary {
  --bs-btn-bg: #e8e4cf;
  --bs-btn-border-color: #8d907f;
  --bs-btn-color: #1f2320;
  --bs-btn-hover-bg: #ddd9c0;
  --bs-btn-hover-border-color: #6b6d5e;
  --bs-btn-hover-color: #1f2320;
  border-radius: 6px;
  font-weight: 600;
}

main .com-finder .com-finder__explained,
main .com-finder .com-finder__empty,
main .com-finder .com-finder__counter,
.container-component main .com-finder .com-finder__explained,
.container-component main .com-finder .com-finder__empty,
#ttr_content .com-finder .com-finder__explained,
#ttr_content .com-finder .com-finder__empty {
  color: #3c4034 !important;
}

main .com-finder .com-finder__empty h2,
.container-component main .com-finder .com-finder__empty h2,
#ttr_content .com-finder .com-finder__empty h2 {
  color: #1f2320 !important;
  font-size: 1.05rem;
  font-weight: 800;
}

main .com-finder .com-finder__results-list,
.container-component main .com-finder .com-finder__results-list,
#ttr_content .com-finder .com-finder__results-list {
  list-style: none;
  padding-left: 0;
  margin: 0.75rem 0 0;
}

main .com-finder .com-finder__results-list .result__item,
.container-component main .com-finder .com-finder__results-list .result__item,
#ttr_content .com-finder .com-finder__results-list .result__item {
  border-bottom: 1px solid #c4c2a8;
  padding: 0.65rem 0;
  margin: 0;
}

main .com-finder .com-finder__results-list .result__item:last-child,
.container-component main .com-finder .com-finder__results-list .result__item:last-child,
#ttr_content .com-finder .com-finder__results-list .result__item:last-child {
  border-bottom: none;
}

main .com-finder .result__title-link,
.container-component main .com-finder .result__title-link,
#ttr_content .com-finder .result__title-link {
  color: #505327 !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

main .com-finder .result__title-link:hover,
.container-component main .com-finder .result__title-link:hover,
#ttr_content .com-finder .result__title-link:hover {
  color: #2e3113 !important;
}

main .com-finder .result__description,
main .com-finder .result__title-url,
main .com-finder .result__taxonomy,
.container-component main .com-finder .result__description,
#ttr_content .com-finder .result__description {
  color: #3c4034 !important;
  font-size: 0.92rem;
}

main .com-finder .com-finder__navigation,
main .com-finder .com-finder__pagination,
.container-component main .com-finder .com-finder__navigation,
#ttr_content .com-finder .com-finder__navigation {
  margin-top: 0.75rem;
  padding-top: 0.5rem;
  border-top: 1px solid #c4c2a8;
}

main .com-finder .com-finder__navigation a,
.container-component main .com-finder .com-finder__navigation a,
#ttr_content .com-finder .com-finder__navigation a {
  color: #505327 !important;
}
