/*
 * Open Scholarly Publications Hub.
 *
 * Author: Bruno César Alves Marcelino <brunomarcelino@scientia.international>
 * Author: Scientia International <info@scientia.international>
 * Copyright (C) 2026 Bruno César Alves Marcelino and Scientia International
 * License: GPL-3.0-or-later
 */
.osph{--osph-primary:#3858A6;--osph-text:#211D2B;--osph-muted:#686173;--osph-border:#DDD8E6;--osph-surface:#fff;--osph-soft:#F7F5FA;--osph-focus:#1666D8;--osph-radius:16px;--osph-shadow:0 15px 40px rgba(48,39,76,.12);color:var(--osph-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;max-width:100%}.osph *{box-sizing:border-box}.osph a{color:var(--osph-primary);text-underline-offset:.18em}.osph a:focus-visible,.osph button:focus-visible,.osph input:focus-visible,.osph select:focus-visible{outline:3px solid var(--osph-focus);outline-offset:3px}.osph-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}.osph-heading-group{max-width:820px}.osph-title,.osph-catalog-title{color:var(--osph-primary);font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.12;letter-spacing:-.035em;margin:0}.osph-subtitle,.osph-catalog-intro{color:var(--osph-muted);font-size:clamp(1rem,1.3vw,1.16rem);margin:.65rem 0 0;max-width:790px}.osph-eyebrow{color:var(--osph-primary);font-size:.77rem;font-weight:800;letter-spacing:.13em;margin:0 0 .4rem;text-transform:uppercase}.osph-button{align-items:center;background:var(--osph-primary);border:1px solid var(--osph-primary);border-radius:999px;color:#fff!important;cursor:pointer;display:inline-flex;font-weight:750;gap:.45rem;justify-content:center;min-height:44px;padding:.7rem 1.05rem;text-decoration:none;transition:background .18s ease,transform .18s ease}.osph-button:hover{background:color-mix(in srgb,var(--osph-primary),#000 15%);transform:translateY(-1px)}.osph-button-secondary{background:#fff;color:var(--osph-primary)!important}.osph-button-secondary:hover{background:#F0EDF8}.osph-button-ghost{background:transparent;border-color:var(--osph-border);color:var(--osph-primary)!important}.osph-tabs{background:#fff;border:1px solid var(--osph-border);border-radius:999px;display:inline-flex;gap:.3rem;margin:0 0 22px;padding:.3rem}.osph-tab{background:transparent;border:0;border-radius:999px;color:var(--osph-muted);cursor:pointer;font-weight:750;min-height:40px;padding:.55rem .95rem}.osph-tab[aria-selected=true]{background:var(--osph-primary);color:#fff}.osph-live,.osph-catalog-status{height:0;overflow:hidden}.osph-grid{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}.osph-columns-1 .osph-grid{grid-template-columns:1fr}.osph-columns-2 .osph-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.osph-columns-4 .osph-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.osph-card{--osph-accent:#3858A6;--osph-on-accent:#fff;background:#fff;border:1px solid var(--osph-border);border-top:5px solid var(--osph-accent);border-radius:var(--osph-radius);box-shadow:0 1px 0 rgba(48,39,76,.03);display:flex;flex-direction:column;min-height:100%;min-width:0;overflow:hidden;position:relative;transition:box-shadow .2s ease,transform .2s ease}.osph-card:hover{box-shadow:var(--osph-shadow);transform:translateY(-4px)}.osph-card:focus-within{box-shadow:0 0 0 3px rgba(22,102,216,.22),var(--osph-shadow)}.osph-card[hidden]{display:none!important}.osph-card-visual{align-items:center;background:linear-gradient(145deg,color-mix(in srgb,var(--osph-accent),#fff 88%),#fff);border-bottom:1px solid var(--osph-border);display:flex;justify-content:center;min-height:160px;padding:20px}.osph-cover{aspect-ratio:2/3;border-radius:5px 10px 10px 5px;box-shadow:0 10px 24px rgba(29,22,47,.22);height:132px;object-fit:cover;width:auto}.osph-generated-cover{align-content:space-between;aspect-ratio:2/3;background:linear-gradient(145deg,var(--osph-accent),color-mix(in srgb,var(--osph-accent),#000 24%));border-radius:5px 10px 10px 5px;box-shadow:0 10px 24px rgba(29,22,47,.22);color:var(--osph-on-accent);display:grid;height:132px;padding:12px;width:88px}.osph-generated-cover span{font-size:.58rem;font-weight:800;line-height:1.15;text-transform:uppercase}.osph-generated-cover b{font-family:Georgia,serif;font-size:2.2rem;line-height:1}.osph-card-body{display:flex;flex:1;flex-direction:column;padding:20px}.osph-card-labels{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}.osph-source-badge{align-items:center;color:var(--osph-muted);display:inline-flex;font-size:.72rem;font-weight:800;gap:7px;letter-spacing:.035em;text-transform:uppercase}.osph-source-dot{background:var(--osph-accent);border-radius:50%;height:9px;width:9px}.osph-type-label{background:var(--osph-accent);border-radius:999px;color:var(--osph-on-accent);font-size:.7rem;font-weight:800;padding:.25rem .55rem;text-transform:uppercase}.osph-card-title{font-size:clamp(1.03rem,1.4vw,1.2rem);line-height:1.28;margin:0}.osph-card-title a{color:var(--osph-text);text-decoration:none}.osph-card-title a:hover{text-decoration:underline}.osph-authors{color:var(--osph-primary);font-size:.88rem;font-weight:650;margin:.6rem 0 0}.osph-abstract{color:var(--osph-muted);font-size:.91rem;margin:.85rem 0 0}.osph-card-meta{align-items:flex-start;border-top:1px solid var(--osph-border);display:flex;flex-wrap:wrap;font-size:.78rem;gap:8px 12px;justify-content:space-between;margin-top:auto;padding-top:14px}.osph-card-meta time{color:var(--osph-muted)}.osph-doi{overflow-wrap:anywhere}.osph-card-button{align-items:center;color:var(--osph-primary);display:inline-flex;font-size:.88rem;font-weight:800;gap:.4rem;margin-top:14px;text-decoration:none}.osph-empty{align-items:center;background:var(--osph-soft);border:1px dashed var(--osph-border);border-radius:var(--osph-radius);display:flex;flex-direction:column;justify-content:center;min-height:230px;padding:30px;text-align:center}.osph-empty h2{font-size:1.35rem;margin:.4rem 0}.osph-empty p{color:var(--osph-muted);margin:.2rem 0}.osph-empty-icon{color:var(--osph-primary);font-size:2rem}.osph-catalog{margin-inline:auto;max-width:1280px;padding-block:20px 48px}.osph-catalog-header{background:linear-gradient(135deg,#F6F3FB,#fff 70%);border:1px solid var(--osph-border);border-radius:24px;margin-bottom:26px;overflow:hidden;padding:clamp(28px,5vw,58px);position:relative}.osph-catalog-header:after{background:radial-gradient(circle,color-mix(in srgb,var(--osph-primary),transparent 78%),transparent 67%);content:"";height:270px;position:absolute;right:-70px;top:-115px;width:270px}.osph-filter-form{background:#fff;border:1px solid var(--osph-border);border-top:5px solid var(--osph-primary);border-radius:var(--osph-radius);box-shadow:0 8px 28px rgba(48,39,76,.07);margin-bottom:24px;padding:20px}.osph-search-field label,.osph-field label{display:block;font-size:.78rem;font-weight:800;margin-bottom:6px}.osph-search-control{display:grid;grid-template-columns:auto 1fr auto}.osph-search-control>span{align-items:center;background:var(--osph-soft);border:1px solid var(--osph-border);border-right:0;border-radius:10px 0 0 10px;color:var(--osph-muted);display:flex;padding:0 12px}.osph-search-control input{border:1px solid var(--osph-border);border-left:0;border-radius:0;min-height:46px;padding:8px 10px;width:100%}.osph-search-control button{background:var(--osph-primary);border:0;border-radius:0 10px 10px 0;color:#fff;cursor:pointer;font-weight:750;padding:0 18px}.osph-filter-fields{display:grid;gap:13px;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:17px}.osph-field select{background:#fff;border:1px solid var(--osph-border);border-radius:9px;color:var(--osph-text);min-height:42px;padding:6px 9px;width:100%}.osph-filter-actions{align-items:end;display:flex;gap:8px;grid-column:span 2}.osph-mobile-filter-toggle{background:#fff;border:1px solid var(--osph-border);border-radius:9px;cursor:pointer;display:none;font-weight:750;margin-top:14px;min-height:42px;padding:7px 12px;width:100%}.osph-results-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.osph-result-count{font-weight:750;margin:0}.osph-clear-link{font-size:.88rem;font-weight:700}.osph-grid-list{grid-template-columns:1fr}.osph-grid-list .osph-card{display:grid;grid-template-columns:180px minmax(0,1fr)}.osph-grid-list .osph-card-visual{border-bottom:0;border-right:1px solid var(--osph-border);min-height:100%}.osph-pagination{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:30px}.osph-page-link>a,.osph-page-link>span{align-items:center;border:1px solid var(--osph-border);border-radius:8px;display:inline-flex;justify-content:center;min-height:40px;min-width:40px;padding:6px 10px;text-decoration:none}.osph-page-link .current{background:var(--osph-primary);border-color:var(--osph-primary);color:#fff}.osph-pagination .dots{border-color:transparent}.osph.is-loading .osph-catalog-results{opacity:.45;pointer-events:none}.osph.is-loading .osph-catalog-status{height:auto;overflow:visible}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}@media(max-width:1100px){.osph-grid,.osph-columns-4 .osph-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.osph-filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.osph-section-head{align-items:flex-start;flex-direction:column}.osph-tabs{max-width:100%;overflow-x:auto}.osph-filter-fields{display:none;grid-template-columns:repeat(2,minmax(0,1fr))}.osph-filter-fields.is-open{display:grid}.osph-mobile-filter-toggle{display:block}.osph-grid-list .osph-card{display:flex}.osph-catalog{padding-inline:0}.osph-catalog-header{border-radius:18px}.osph-filter-actions{grid-column:1/-1}}@media(max-width:560px){.osph-grid,.osph-columns-2 .osph-grid,.osph-columns-3 .osph-grid,.osph-columns-4 .osph-grid{grid-template-columns:1fr}.osph-section-head .osph-button{width:100%}.osph-filter-fields{grid-template-columns:1fr}.osph-search-control{grid-template-columns:auto 1fr}.osph-search-control button{border-radius:9px;grid-column:1/-1;margin-top:8px;min-height:42px}.osph-search-control input{border-radius:0 9px 9px 0}.osph-tabs{border-radius:15px;display:grid;grid-template-columns:repeat(2,1fr);width:100%}.osph-card-meta{align-items:flex-start;flex-direction:column}.osph-filter-actions{display:grid;grid-template-columns:1fr}.osph-filter-actions .osph-button{width:100%}}@media(prefers-reduced-motion:reduce){.osph *{scroll-behavior:auto!important;transition-duration:.001ms!important}}
/* Catalog page integration and card hierarchy refinements. */
body.osph-catalog-page.osph-hide-native-title .site-main > .page-header,
body.osph-catalog-page.osph-hide-native-title main > .page-header,
body.osph-catalog-page.osph-hide-native-title .site-main > article.page > .entry-header,
body.osph-catalog-page.osph-hide-native-title main > article.page > .entry-header,
body.osph-catalog-page.osph-hide-native-title .entry-title,
body.osph-catalog-page.osph-hide-native-title .page-title,
body.osph-catalog-page.osph-hide-native-title .wp-block-post-title,
body.osph-catalog-page.osph-hide-native-title .elementor-page-title {
    display: none !important;
}
.osph-source-badge {
    line-height: 1.25;
    max-width: calc(100% - 82px);
}
.osph-card-showcase .osph-card-title {
    display: -webkit-box;
    min-height: 3.84em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.osph-card-showcase .osph-authors {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
.osph-card-showcase .osph-abstract {
    display: -webkit-box;
    min-height: 6.42em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
}
.osph-catalog .osph-card-title {
    font-size: clamp(1.08rem, 1.42vw, 1.26rem);
    line-height: 1.25;
}
.osph-catalog .osph-authors {
    color: var(--osph-primary);
    font-size: .91rem;
    font-weight: 750;
    line-height: 1.4;
}
@media (max-width: 560px) {
    .osph-card-showcase .osph-card-title,
    .osph-card-showcase .osph-abstract {
        min-height: 0;
    }
    .osph-source-badge {
        max-width: 100%;
    }
}
