/* Content-only styles. Elementor Theme Builder still controls the page shell. */
.ttl-glossary-content { --ttl-blue:#0076AB; --ttl-sky:#009CDE; --ttl-navy:#084470; --ttl-yellow:#FFF644; --ttl-soft:#F3FAFD; }
.ttl-glossary-content > * + * { margin-top:2rem; }
.ttl-glossary-definition { padding:1.4rem 1.6rem; border-left:6px solid var(--ttl-yellow); background:var(--ttl-soft); border-radius:0 16px 16px 0; }
.ttl-glossary-definition p { margin:0; font-size:1.15em; line-height:1.65; }
.ttl-glossary-section h2, .ttl-glossary-service h2 { color:var(--ttl-navy); margin-bottom:.65rem; }
.ttl-glossary-callout { padding:1.35rem 1.5rem; border:2px solid var(--ttl-sky); border-radius:16px; }
.ttl-glossary-sign-list, .ttl-library-card-signs { display:flex; flex-wrap:wrap; gap:.55rem; }
.ttl-glossary-sign-list { list-style:none; margin:0; padding:0; }
.ttl-glossary-sign, .ttl-library-card-signs span { display:inline-flex; padding:.35rem .7rem; border-radius:999px; background:#E8F6FC; color:var(--ttl-navy); font-size:.88em; font-weight:700; }
.ttl-glossary-related ul { columns:2; column-gap:2rem; padding-left:1.1rem; }
.ttl-glossary-service { padding:1.6rem; background:var(--ttl-navy); color:#fff; border-radius:18px; }
.ttl-glossary-service h2 { color:#fff; }
.ttl-glossary-eyebrow { color:var(--ttl-yellow); text-transform:uppercase; letter-spacing:.08em; font-weight:800; }
.ttl-glossary-button, .ttl-library-actions button { display:inline-flex; align-items:center; justify-content:center; padding:.8rem 1.15rem; border-radius:999px; background:var(--ttl-yellow); color:var(--ttl-navy); font-weight:800; text-decoration:none; border:0; cursor:pointer; }
.ttl-glossary-note { font-size:.9em; opacity:.78; border-top:1px solid #d9e6ec; padding-top:1rem; }

.ttl-library-directory { --ttl-blue:#0076AB; --ttl-sky:#009CDE; --ttl-navy:#084470; --ttl-yellow:#FFF644; --ttl-soft:#F3FAFD; }
.ttl-library-intro { max-width:850px; font-size:1.08em; }
.ttl-library-filters { display:grid; grid-template-columns:2fr 1fr 1fr; gap:1rem; align-items:end; margin:2rem 0 1.25rem; padding:1.25rem; background:var(--ttl-soft); border-radius:18px; }
.ttl-library-field label { display:block; margin-bottom:.4rem; color:var(--ttl-navy); font-weight:800; }
.ttl-library-field input, .ttl-library-field select { width:100%; min-height:48px; padding:.65rem .8rem; border:1px solid #b8d4e1; border-radius:12px; background:#fff; }
.ttl-library-actions { grid-column:1 / -1; display:flex; gap:1rem; align-items:center; }
.ttl-library-actions a { font-weight:700; color:var(--ttl-blue); }
.ttl-library-alphabet { display:flex; flex-wrap:wrap; gap:.35rem; margin:1rem 0; }
.ttl-library-alphabet a { min-width:34px; padding:.35rem .5rem; text-align:center; border:1px solid #c8dce5; border-radius:8px; text-decoration:none; color:var(--ttl-navy); }
.ttl-library-alphabet a:hover, .ttl-library-alphabet a.is-active { background:var(--ttl-navy); color:#fff; border-color:var(--ttl-navy); }
.ttl-library-count { color:#526773; font-weight:700; }
.ttl-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.2rem; }
.ttl-library-card { display:flex; flex-direction:column; padding:1.35rem; border:1px solid #d6e4ea; border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(8,68,112,.07); }
.ttl-library-card-category { color:var(--ttl-blue); text-transform:uppercase; letter-spacing:.06em; font-size:.8em; font-weight:800; }
.ttl-library-card h2 { margin:.25rem 0 .65rem; font-size:1.45em; }
.ttl-library-card h2 a { color:var(--ttl-navy); text-decoration:none; }
.ttl-library-card-signs { margin-top:auto; padding-top:.75rem; }
.ttl-library-card-link { margin-top:1rem; font-weight:800; }
.ttl-library-card-link a { color:var(--ttl-blue); }
.ttl-library-pagination { display:flex; justify-content:center; gap:.4rem; margin:2rem 0; }
.ttl-library-pagination .page-numbers { padding:.55rem .8rem; border-radius:8px; background:#eef6fa; text-decoration:none; }
.ttl-library-pagination .current { background:var(--ttl-navy); color:#fff; }
.ttl-library-empty { padding:2rem; text-align:center; background:var(--ttl-soft); border-radius:18px; }

@media (max-width:1024px) {
  .ttl-library-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ttl-library-filters { grid-template-columns:1fr 1fr; }
  .ttl-library-search { grid-column:1 / -1; }
}
@media (max-width:767px) {
  .ttl-library-grid, .ttl-library-filters { grid-template-columns:1fr; }
  .ttl-library-search, .ttl-library-actions { grid-column:auto; }
  .ttl-library-actions { align-items:flex-start; flex-direction:column; }
  .ttl-glossary-related ul { columns:1; }
}


/* Connected Dog Psychology and Dog Training libraries */
.ttl-related-wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:36px}
.ttl-related-box{border:1px solid #c8e7f5;border-radius:14px;padding:22px;background:#fff}
.ttl-related-box h2{margin-top:0}
.ttl-related-card{display:block;padding:12px 14px;margin:10px 0;background:#f4f9fc;border-radius:8px;color:#07527b;text-decoration:none}
.ttl-related-card:hover{background:#e8f6fc;color:#084470}
.ttl-related-card strong,.ttl-related-card span{display:block}
.ttl-related-card span{color:#334b59;font-size:.92em;margin-top:4px;font-weight:400}
@media(max-width:767px){.ttl-related-wrap{grid-template-columns:1fr}}

/* Explanations inside the existing related-resource layout. */
.ttl-connection-list{list-style:none;margin:0;padding:0}.ttl-connection-list>li{margin:0}.ttl-connection-list-ordered{list-style:decimal;padding-left:1.4em}.ttl-connection-list-ordered>li::marker{font-weight:700;color:#084470}.ttl-connections-explained .ttl-related-card span{display:block;line-height:1.6;margin-top:.5em}.ttl-connections-explained .ttl-related-box>p{line-height:1.6}.ttl-connections-explained a:focus-visible{outline:3px solid #0076ab;outline-offset:3px}.ttl-term-link{color:#0076ab;text-decoration:underline;text-underline-offset:.15em}.ttl-library-entry,.ttl-glossary-content{overflow-wrap:anywhere}
