

/* ============================================================
   FII-CONSTIENT.RO
   BIBLIOTECA DE TEXTE
   INDEX + CATEGORIE + READER + ADMIN
============================================================ */

/* ============================================================
   VARIABILE GENERALE
============================================================ */

.texts-page {

    --text-paper: #eee2bf;
    --text-ink: #211b14;
    --text-muted: #71644f;
    --text-sepia: #76502a;

    --text-line:
        rgba(33, 27, 20, .26);

    --text-line-strong:
        rgba(33, 27, 20, .70);

    --text-soft:
        rgba(33, 27, 20, .045);

    width: 100%;

    padding:
        26px 0 55px;

    color:
        var(--text-ink);

}

/* ============================================================
   HERO
============================================================ */

.texts-hero {

    padding:
        34px 10px 30px;

    border-top:
        1px solid var(--text-ink);

    border-bottom:
        4px double var(--text-ink);

    text-align:
        center;

}

.texts-eyebrow {

    margin-bottom:
        10px;

    color:
        var(--text-sepia);

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        2px;

    text-transform:
        uppercase;

}

.texts-hero h1 {

    margin:
        0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            40px,
            7vw,
            80px
        );

    line-height:
        .95;

    letter-spacing:
        -2px;

}

.texts-hero p {

    max-width:
        760px;

    margin:
        17px auto 0;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        16px;

    font-style:
        italic;

    line-height:
        1.6;

}

.texts-hero-lead {

    max-width:
        760px;

}

.texts-hero-description {

    max-width:
        800px !important;

    margin-top:
        12px !important;

    font-size:
        14px !important;

    font-style:
        normal !important;

    line-height:
        1.6 !important;

}

/* ============================================================
   HERO STATISTICI
============================================================ */

.texts-hero-stats {

    display:
        grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0, 1fr)
        );

    max-width:
        980px;

    margin:
        28px auto 0;

    border-top:
        1px solid var(--text-line);

    border-bottom:
        1px solid var(--text-line);

}

.texts-stat {

    min-width:
        0;

    padding:
        15px 12px;

    border-right:
        1px solid var(--text-line);

    text-align:
        center;

}

.texts-stat:last-child {

    border-right:
        0;

}

.texts-stat strong {

    display:
        block;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        22px;

    line-height:
        1;

}

.texts-stat span {

    display:
        block;

    margin-top:
        5px;

    color:
        var(--text-muted);

    font-size:
        7px;

    font-weight:
        900;

    letter-spacing:
        .7px;

    line-height:
        1.35;

    text-transform:
        uppercase;

}

/* ============================================================
   INTRODUCERE BIBLIOTECĂ
============================================================ */

.texts-intro {

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.6fr)
        minmax(240px, .4fr);

    gap:
        35px;

    margin-top:
        38px;

    padding:
        28px 5px;

    border-top:
        1px solid var(--text-line);

    border-bottom:
        1px solid var(--text-line);

}

.texts-intro-content {

    min-width:
        0;

}

.texts-intro-content small,
.texts-intro-note small {

    display:
        block;

    margin-bottom:
        7px;

    color:
        var(--text-sepia);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1.4px;

    text-transform:
        uppercase;

}

.texts-intro-content h2 {

    max-width:
        720px;

    margin:
        0 0 15px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        32px;

    line-height:
        1.08;

}

.texts-intro-content p {

    max-width:
        760px;

    margin:
        0 0 12px;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        15px;

    line-height:
        1.6;

}

.texts-intro-note {

    align-self:
        start;

    padding:
        18px;

    border:
        1px solid var(--text-line);

    background:
        var(--text-soft);

}

.texts-intro-note strong {

    display:
        block;

    margin-bottom:
        8px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        20px;

}

.texts-intro-note span {

    display:
        block;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        13px;

    line-height:
        1.5;

}

/* ============================================================
   SECȚIUNI
============================================================ */

.texts-categories,
.texts-library {

    margin-top:
        38px;

}

.texts-section-title {

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    gap:
        20px;

    padding-bottom:
        11px;

    border-bottom:
        4px double var(--text-ink);

}

.texts-section-title small {

    display:
        block;

    margin-bottom:
        5px;

    color:
        var(--text-muted);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1.5px;

    text-transform:
        uppercase;

}

.texts-section-title h2 {

    margin:
        0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        30px;

    line-height:
        1.08;

}

.texts-section-title > a {

    color:
        var(--text-ink);

    font-size:
        9px;

    font-weight:
        900;

    text-decoration:
        none;

    text-transform:
        uppercase;

}

.texts-section-count {

    flex:
        0 0 auto;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        14px;

    white-space:
        nowrap;

}

/* ============================================================
   CATEGORII
============================================================ */

.texts-category-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

}

.texts-category-card {

    min-width:
        0;

    min-height:
        160px;

    padding:
        22px;

    border-right:
        1px solid var(--text-line);

    border-bottom:
        1px solid var(--text-line);

    color:
        var(--text-ink);

    text-decoration:
        none;

}

.texts-category-card:nth-child(3n) {

    border-right:
        0;

}

.texts-category-card:hover {

    background:
        var(--text-soft);

}

.texts-category-top {

    display:
        flex;

    align-items:
        flex-start;

    justify-content:
        space-between;

    gap:
        15px;

}

.texts-category-card strong,
.texts-category-name {

    display:
        block;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        24px;

    line-height:
        1.1;

}

.texts-category-arrow {

    flex:
        0 0 auto;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        serif;

    font-size:
        20px;

}

.texts-category-card p {

    margin:
        11px 0;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        serif;

    font-size:
        13px;

    line-height:
        1.5;

}

.texts-category-card small {

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .7px;

    text-transform:
        uppercase;

}

.texts-category-meta {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        7px 15px;

    margin-top:
        15px;

    padding-top:
        10px;

    border-top:
        1px solid var(--text-line);

    color:
        var(--text-muted);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .5px;

    text-transform:
        uppercase;

}

/* ============================================================
   FEATURED
============================================================ */

.texts-featured {

    margin-top:
        42px;

}

.texts-featured-card {

    display:
        grid;

    grid-template-columns:
        190px
        minmax(0, 1fr);

    min-height:
        250px;

    border-bottom:
        1px solid var(--text-line-strong);

}

.texts-featured-cover {

    min-height:
        250px;

    overflow:
        hidden;

    border-right:
        1px solid var(--text-line-strong);

    color:
        var(--text-ink);

    text-decoration:
        none;

}

.texts-featured-cover img {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;

}

.texts-featured-content {

    min-width:
        0;

    padding:
        26px 28px;

}

.texts-featured-content h3 {

    max-width:
        900px;

    margin:
        8px 0 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        34px;

    line-height:
        1.06;

    overflow-wrap:
        normal;

    word-break:
        normal;

}

.texts-featured-content h3 a {

    color:
        var(--text-ink);

    text-decoration:
        none;

}

/* ============================================================
   FEATURED FĂRĂ IMAGINE
============================================================ */

.texts-featured-card.texts-featured-no-image {

    display:
        block;

    width:
        100%;

    min-height:
        0;

}

.texts-featured-card.texts-featured-no-image
.texts-featured-content {

    width:
        100%;

    padding:
        25px 5px 28px;

}

/* ============================================================
   LISTĂ LUCRĂRI
============================================================ */

.texts-list {

    width:
        100%;

}

.text-card {

    display:
        grid;

    grid-template-columns:
        180px
        minmax(0, 1fr);

    width:
        100%;

    min-width:
        0;

    min-height:
        240px;

    border-bottom:
        1px solid var(--text-line-strong);

}

.text-card-cover {

    min-height:
        240px;

    overflow:
        hidden;

    border-right:
        1px solid var(--text-line-strong);

}

.text-card-cover img {

    width:
        100%;

    height:
        100%;

    display:
        block;

    object-fit:
        cover;

}

.text-card-content {

    min-width:
        0;

    width:
        100%;

    padding:
        24px 26px;

    box-sizing:
        border-box;

}

/* ============================================================
   CARD FĂRĂ IMAGINE
============================================================ */

.text-card.text-card-no-image {

    display:
        block;

    width:
        100%;

    min-height:
        0;

}

.text-card.text-card-no-image
.text-card-content {

    width:
        100%;

    padding:
        24px 26px 27px;

}

/* ============================================================
   TOPLINE CARD
============================================================ */

.text-card-topline {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

    width:
        100%;

}

.text-card-topline .text-category {

    min-width:
        0;

    flex:
        1 1 auto;

}

.text-card-topline time {

    flex:
        0 0 auto;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        12px;

    white-space:
        nowrap;

}

/* ============================================================
   CATEGORIE TEXT
============================================================ */

.text-category {

    color:
        var(--text-sepia);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1.2px;

    line-height:
        1.3;

    text-decoration:
        none;

    text-transform:
        uppercase;

}

/* ============================================================
   TITLURI CARD
============================================================ */

.text-card h2 {

    width:
        100%;

    max-width:
        900px;

    margin:
        8px 0 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        30px;

    line-height:
        1.08;

    overflow-wrap:
        normal;

    word-break:
        normal;

    hyphens:
        none;

}

.text-card h2 a {

    display:
        inline;

    color:
        inherit;

    text-decoration:
        none;

    overflow-wrap:
        normal;

    word-break:
        normal;

    hyphens:
        none;

}

/* ============================================================
   SUBTITLU
============================================================ */

.text-subtitle {

    max-width:
        850px;

    margin-top:
        6px;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        serif;

    font-size:
        15px;

    font-style:
        italic;

    line-height:
        1.45;

}

/* ============================================================
   DESCRIERE CARD
============================================================ */

.text-card p,
.text-description {

    max-width:
        850px;

    margin:
        13px 0 0;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        serif;

    font-size:
        14px;

    line-height:
        1.55;

}

/* ============================================================
   META CARD
============================================================ */

.text-card-meta {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        8px 18px;

    width:
        100%;

    margin-top:
        17px;

    padding-top:
        12px;

    border-top:
        1px solid var(--text-line);

    color:
        var(--text-muted);

    font-size:
        8px;

    font-weight:
        900;

    line-height:
        1.4;

    text-transform:
        uppercase;

}

.text-card-meta span {

    display:
        inline-block;

}

/* ============================================================
   FOOTER CARD
============================================================ */

.text-card-footer {

    display:
        flex;

    align-items:
        flex-end;

    justify-content:
        space-between;

    flex-wrap:
        wrap;

    gap:
        15px 20px;

    width:
        100%;

}

.text-card-footer small {

    max-width:
        220px;

    color:
        var(--text-muted);

    font-size:
        8px;

    font-weight:
        700;

    line-height:
        1.4;

    text-align:
        right;

}

/* ============================================================
   LINK CITIRE
============================================================ */

.text-read {

    display:
        inline-block;

    margin-top:
        16px;

    color:
        var(--text-ink);

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        .2px;

    text-decoration:
        none;

    text-transform:
        uppercase;

}

.text-read:hover {

    color:
        var(--text-sepia);

}

/* ============================================================
   PAGE INFORMATION INDEX
============================================================ */

.texts-page-information {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    margin:
        12px 0 18px;

    padding:
        9px 4px;

    border-bottom:
        1px solid var(--text-line);

    color:
        var(--text-muted);

    font-family:
        Georgia,
        serif;

    font-size:
        12px;

}

/* ============================================================
   CATEGORY HERO
============================================================ */

.texts-category-hero {

    padding:
        30px 5px;

    border-top:
        1px solid var(--text-ink);

    border-bottom:
        4px double var(--text-ink);

}

.texts-back {

    color:
        var(--text-muted);

    font-size:
        9px;

    font-weight:
        900;

    text-decoration:
        none;

}

.texts-category-hero > small {

    display:
        block;

    margin-top:
        25px;

    color:
        var(--text-sepia);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1.5px;

}

.texts-category-hero h1 {

    margin:
        5px 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            6vw,
            68px
        );

}

.texts-category-hero p {

    max-width:
        750px;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        serif;

    line-height:
        1.6;

}

/* ============================================================
   READER
============================================================ */

.text-reader {

    width:
        100%;

}

.text-reader-header {

    max-width:
        980px;

    margin:
        0 auto;

    padding:
        38px 20px 30px;

    text-align:
        center;

}

.text-reader-kicker {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex-wrap:
        wrap;

    gap:
        8px 18px;

    margin-bottom:
        2px;

}

.text-reader-kicker .text-category {

    margin:
        0;

}

.text-reader-kicker > span {

    position:
        relative;

    color:
        var(--text-muted);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1px;

    text-transform:
        uppercase;

}

.text-reader-kicker > span::before {

    content:
        "•";

    margin-right:
        14px;

    color:
        var(--text-line-strong);

}

.text-reader-header h1 {

    margin:
        13px 0 0;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            40px,
            7vw,
            76px
        );

    line-height:
        .98;

    letter-spacing:
        -2px;

}

/* ============================================================
   READER SUBTITLE + DESCRIPTION
============================================================ */

.text-reader-subtitle {

    max-width:
        760px;

    margin:
        14px auto 0;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        serif;

    font-size:
        18px;

    font-style:
        italic;

    line-height:
        1.5;

}

.text-reader-description {

    max-width:
        760px;

    margin:
        16px auto 0;

    padding:
        15px 0 0;

    border-top:
        1px solid var(--text-line);

    color:
        var(--text-muted);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        15px;

    font-style:
        normal;

    line-height:
        1.6;

}

/* ============================================================
   READER META
============================================================ */

.text-reader-meta {

    max-width:
        820px;

    display:
        flex;

    flex-wrap:
        wrap;

    justify-content:
        center;

    gap:
        10px 20px;

    margin:
        21px auto 0;

    padding-top:
        15px;

    border-top:
        1px solid var(--text-line);

    color:
        var(--text-muted);

    font-size:
        8px;

    font-weight:
        900;

    text-transform:
        uppercase;

}

.text-reader-meta span {

    display:
        inline-flex;

    align-items:
        baseline;

    gap:
        5px;

}

.text-reader-meta strong {

    color:
        var(--text-ink);

}

/* ============================================================
   READER COVER
============================================================ */

.text-reader-cover {

    margin:
        0;

    border-top:
        1px solid var(--text-ink);

    border-bottom:
        1px solid var(--text-ink);

}

.text-reader-cover img {

    width:
        100%;

    max-height:
        700px;

    display:
        block;

    object-fit:
        cover;

}

/* ============================================================
   READER PROGRESS
============================================================ */

.text-reader-progress {

    max-width:
        820px;

    margin:
        22px auto 0;

    padding:
        0 5px;

}

.text-reader-progress-top {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    margin-bottom:
        7px;

    color:
        var(--text-muted);

    font-size:
        7px;

    font-weight:
        900;

    letter-spacing:
        1px;

    text-transform:
        uppercase;

}

.text-reader-progress-top strong {

    color:
        var(--text-ink);

}

.text-reader-progress-track {

    position:
        relative;

    width:
        100%;

    height:
        3px;

    overflow:
        hidden;

    background:
        var(--text-line);

}

.text-reader-progress-track span {

    position:
        absolute;

    inset:
        0 auto 0 0;

    height:
        100%;

    display:
        block;

    background:
        var(--text-ink);

}

/* ============================================================
   PAGE INFO READER
============================================================ */

.text-page-information {

    max-width:
        820px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        20px;

    margin:
        30px auto 0;

    padding:
        10px 5px;

    border-top:
        1px solid var(--text-ink);

    border-bottom:
        1px solid var(--text-line);

    color:
        var(--text-muted);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1px;

}

.text-page-information span {

    white-space:
        nowrap;

}

.text-page-information strong {

    color:
        var(--text-ink);

}

/* ============================================================
   READER BODY
============================================================ */

.text-reader-body {

    max-width:
        780px;

    margin:
        0 auto;

    padding:
        30px 20px 38px;

}

.text-reader-body h2 {

    margin:
        0 0 22px;

    padding-bottom:
        14px;

    border-bottom:
        1px solid var(--text-line);

    font-family:
        Georgia,
        serif;

    font-size:
        30px;

    line-height:
        1.15;

}

/* ============================================================
   READER CONTENT
============================================================ */

.text-content {

    color:
        var(--text-ink);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        19px;

    line-height:
        1.67;

    overflow-wrap:
        break-word;

}

.text-content p {

    margin:
        0 0 1em;

}

.text-content p:first-child {

    margin-top:
        0;

}

.text-content p:last-child {

    margin-bottom:
        0;

}

.text-content a {

    color:
        var(--text-sepia);

    text-decoration:
        underline;

    text-decoration-thickness:
        1px;

    text-underline-offset:
        3px;

}

.text-content strong,
.text-content b {

    font-weight:
        700;

}

.text-content em,
.text-content i {

    color:
        var(--text-muted);

}

.text-content blockquote {

    margin:
        24px 0;

    padding:
        5px 0 5px 20px;

    border-left:
        3px solid var(--text-sepia);

    color:
        var(--text-muted);

    font-style:
        italic;

}

/* ============================================================
   READER NAVIGATION
============================================================ */

.text-page-navigation {

    max-width:
        940px;

    display:
        grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items:
        center;

    gap:
        20px;

    margin:
        0 auto;

    padding:
        20px;

    border-top:
        4px double var(--text-ink);

    border-bottom:
        1px solid var(--text-ink);

}

.text-page-navigation-prev,
.text-page-navigation-next {

    min-width:
        0;

}

.text-page-navigation a {

    color:
        var(--text-ink);

    text-decoration:
        none;

    transition:
        opacity .18s ease;

}

.text-page-navigation a:hover {

    opacity:
        .65;

}

.text-page-navigation a small {

    display:
        block;

    margin-bottom:
        5px;

    color:
        var(--text-muted);

    font-size:
        7px;

    font-weight:
        900;

    letter-spacing:
        1px;

}

.text-page-navigation a strong {

    font-family:
        Georgia,
        serif;

    font-size:
        16px;

}

.text-page-navigation-next {

    text-align:
        right;

}

.text-page-number {

    padding:
        9px 14px;

    border:
        1px solid var(--text-ink);

    font-family:
        Georgia,
        serif;

    font-size:
        14px;

    font-weight:
        900;

}

/* ============================================================
   READER FINISHED
============================================================ */

.text-reader-finished {

    text-align:
        right;

}

.text-reader-finished small {

    display:
        block;

    margin-bottom:
        4px;

    color:
        var(--text-muted);

    font-size:
        7px;

    font-weight:
        900;

    letter-spacing:
        1px;

    text-transform:
        uppercase;

}

.text-reader-finished strong {

    display:
        block;

    font-family:
        Georgia,
        serif;

    font-size:
        15px;

}

/* ============================================================
   READER FOOTER
============================================================ */

.text-reader-footer {

    max-width:
        940px;

    margin:
        32px auto 0;

    padding:
        20px 20px 5px;

    border-top:
        4px double var(--text-ink);

}

.text-reader-footer > small {

    display:
        block;

    margin-bottom:
        14px;

    color:
        var(--text-sepia);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1.4px;

    text-transform:
        uppercase;

}

.text-reader-footer-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0, 1fr)
        );

    border-top:
        1px solid var(--text-line);

    border-left:
        1px solid var(--text-line);

}

.text-reader-footer-grid > div {

    min-width:
        0;

    padding:
        13px 14px;

    border-right:
        1px solid var(--text-line);

    border-bottom:
        1px solid var(--text-line);

}

.text-reader-footer-grid > div:hover {

    background:
        var(--text-soft);

}

.text-reader-footer-grid span {

    display:
        block;

    margin-bottom:
        5px;

    color:
        var(--text-muted);

    font-size:
        7px;

    font-weight:
        900;

    letter-spacing:
        .8px;

    text-transform:
        uppercase;

}

.text-reader-footer-grid strong {

    display:
        block;

    color:
        var(--text-ink);

    font-family:
        Georgia,
        serif;

    font-size:
        14px;

    font-weight:
        700;

    line-height:
        1.35;

    overflow-wrap:
        anywhere;

}

.text-reader-back {

    display:
        inline-block;

    margin-top:
        18px;

    padding-bottom:
        3px;

    border-bottom:
        1px solid transparent;

    color:
        var(--text-ink);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        .7px;

    text-decoration:
        none;

    text-transform:
        uppercase;

}

.text-reader-back:hover {

    border-bottom-color:
        var(--text-ink);

}

/* ============================================================
   LIST PAGINATION
============================================================ */

.texts-pagination {

    display:
        grid;

    grid-template-columns:
        1fr
        auto
        1fr;

    align-items:
        center;

    gap:
        20px;

    margin-top:
        28px;

    padding:
        16px 4px;

    border-top:
        1px solid var(--text-ink);

    border-bottom:
        1px solid var(--text-ink);

}

.texts-pagination a {

    color:
        var(--text-ink);

    font-size:
        9px;

    font-weight:
        900;

    text-decoration:
        none;

    text-transform:
        uppercase;

}

.texts-pagination-side {

    min-width:
        100px;

}

.texts-pagination-side-right {

    text-align:
        right;

}

.texts-pagination-pages {

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    gap:
        4px;

}

.texts-pagination-pages a,
.texts-pagination-pages .is-current {

    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        30px;

    height:
        30px;

    padding:
        0 8px;

    border:
        1px solid var(--text-line-strong);

    color:
        var(--text-ink);

    font-size:
        9px;

    font-weight:
        900;

    text-decoration:
        none;

}

.texts-pagination-pages .is-current {

    background:
        var(--text-ink);

    color:
        var(--text-paper);

}

.texts-pagination-pages a:hover {

    background:
        var(--text-soft);

}

.texts-pagination-dots {

    padding:
        0 4px;

    color:
        var(--text-muted);

}

/* ============================================================
   NOTĂ FINALĂ
============================================================ */

.texts-library-note {

    margin-top:
        42px;

    padding:
        18px 5px 0;

    border-top:
        1px solid var(--text-line-strong);

}

.texts-library-note small {

    display:
        block;

    margin-bottom:
        7px;

    color:
        var(--text-sepia);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1.4px;

    text-transform:
        uppercase;

}

.texts-library-note h2 {

    max-width:
        900px;

    margin:
        0;

    font-family:
        Georgia,
        serif;

    font-size:
        34px;

    line-height:
        1.08;

}

.texts-library-note p {

    max-width:
        850px;

    margin:
        12px 0 0;

    color:
        var(--text-muted);

    font-family:
        Georgia,
        serif;

    font-size:
        16px;

    line-height:
        1.55;

}

/* ============================================================
   ADMIN
============================================================ */

.texts-admin {

    max-width:
        800px;

    margin:
        0 auto;

}

.texts-admin-wide {

    max-width:
        980px;

}

.texts-admin-header {

    padding:
        30px 0 20px;

    border-bottom:
        4px double var(--text-ink);

}

.texts-admin-header small {

    color:
        var(--text-sepia);

    font-size:
        8px;

    font-weight:
        900;

    letter-spacing:
        1.5px;

}

.texts-admin-header h1 {

    margin:
        6px 0;

    font-family:
        Georgia,
        serif;

    font-size:
        44px;

}

.texts-admin-header p {

    color:
        var(--text-muted);

    font-family:
        Georgia,
        serif;

    line-height:
        1.5;

}

.texts-form {

    margin-top:
        25px;

}

.texts-form-grid {

    display:
        grid;

    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );

    gap:
        0 20px;

}

.texts-span-2 {

    grid-column:
        span 2;

}

.texts-field {

    margin-bottom:
        21px;

}

.texts-field label {

    display:
        block;

    margin-bottom:
        7px;

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        .7px;

    text-transform:
        uppercase;

}

.texts-field input,
.texts-field textarea,
.texts-field select {

    width:
        100%;

    padding:
        13px 14px;

    border:
        1px solid var(--text-ink);

    border-radius:
        0;

    outline:
        0;

    background:
        rgba(255, 255, 255, .05);

    color:
        var(--text-ink);

    font-family:
        Georgia,
        serif;

    font-size:
        16px;

    box-sizing:
        border-box;

}

.texts-field textarea {

    resize:
        vertical;

    line-height:
        1.6;

}

.texts-field small {

    display:
        block;

    margin-top:
        7px;

    color:
        var(--text-muted);

    font-size:
        11px;

}

.texts-label-row {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        15px;

}

.texts-word-counter {

    color:
        var(--text-muted);

    font-size:
        9px;

}

.texts-word-counter.limit {

    color:
        #8b261c;

}

.texts-page-divider {

    margin:
        10px 0 23px;

    padding:
        10px 0;

    border-top:
        4px double var(--text-ink);

    border-bottom:
        1px solid var(--text-ink);

    font-size:
        9px;

    font-weight:
        900;

    letter-spacing:
        1.5px;

}

.texts-submit {

    min-height:
        48px;

    padding:
        0 22px;

    border:
        1px solid var(--text-ink);

    border-radius:
        0;

    background:
        var(--text-ink);

    color:
        var(--text-paper);

    font-family:
        Georgia,
        serif;

    font-size:
        10px;

    font-weight:
        900;

    letter-spacing:
        .8px;

    text-transform:
        uppercase;

    cursor:
        pointer;

}

.texts-alert {

    margin-top:
        20px;

    padding:
        14px 16px;

    border:
        1px solid var(--text-ink);

    font-family:
        Georgia,
        serif;

}

.texts-alert.error {

    border-left:
        5px solid #832b21;

}

.texts-alert.success {

    border-left:
        5px solid #536b38;

}

.texts-empty {

    margin-top:
        30px;

    padding:
        35px 10px;

    border-top:
        1px solid var(--text-ink);

    border-bottom:
        1px solid var(--text-ink);

    text-align:
        center;

    font-family:
        Georgia,
        serif;

    font-style:
        italic;

}

/* ============================================================
   TABLET
============================================================ */

@media (max-width: 900px) {

    .texts-category-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

    }

    .texts-category-card {

        border-right:
            1px solid var(--text-line);

    }

    .texts-category-card:nth-child(3n) {

        border-right:
            1px solid var(--text-line);

    }

    .texts-category-card:nth-child(2n) {

        border-right:
            0;

    }

    .texts-hero-stats {

        grid-template-columns:
            repeat(
                3,
                minmax(0, 1fr)
            );

    }

    .texts-stat:nth-child(3) {

        border-right:
            0;

    }

    .texts-stat:nth-child(4),
    .texts-stat:nth-child(5) {

        border-top:
            1px solid var(--text-line);

    }

    .texts-intro {

        grid-template-columns:
            1fr;

        gap:
            20px;

    }

    .texts-featured-card {

        grid-template-columns:
            150px
            minmax(0, 1fr);

    }

    .texts-featured-content {

        padding:
            20px;

    }

    .texts-featured-content h3 {

        font-size:
            29px;

    }

    .text-reader-footer-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

    }

}

/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 650px) {

    /* --------------------------------------------------------
       PAGE
    --------------------------------------------------------- */

    .texts-page {

        padding-top:
            17px;

        padding-bottom:
            42px;

    }

    /* --------------------------------------------------------
       HERO
    --------------------------------------------------------- */

    .texts-hero {

        padding:
            25px 5px;

    }

    .texts-hero h1 {

        font-size:
            44px;

        letter-spacing:
            -1px;

    }

    .texts-hero-description {

        font-size:
            13px !important;

    }

    /* --------------------------------------------------------
       STATS
    --------------------------------------------------------- */

    .texts-hero-stats {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

        margin-top:
            20px;

    }

    .texts-stat {

        padding:
            12px 8px;

        border-right:
            1px solid var(--text-line);

        border-bottom:
            1px solid var(--text-line);

    }

    .texts-stat:nth-child(2n) {

        border-right:
            0;

    }

    .texts-stat:nth-child(3) {

        border-right:
            1px solid var(--text-line);

    }

    .texts-stat:last-child {

        grid-column:
            1 / -1;

        border-right:
            0;

        border-bottom:
            0;

    }

    .texts-stat strong {

        font-size:
            19px;

    }

    .texts-stat span {

        font-size:
            6px;

    }

    /* --------------------------------------------------------
       INTRO
    --------------------------------------------------------- */

    .texts-intro {

        margin-top:
            28px;

        padding:
            22px 4px;

    }

    .texts-intro-content h2 {

        font-size:
            27px;

    }

    .texts-intro-content p {

        font-size:
            14px;

    }

    /* --------------------------------------------------------
       SECTIONS
    --------------------------------------------------------- */

    .texts-section-title {

        align-items:
            flex-start;

        gap:
            10px;

    }

    .texts-section-title h2 {

        font-size:
            25px;

    }

    .texts-section-count {

        margin-top:
            5px;

        font-size:
            12px;

    }

    /* --------------------------------------------------------
       CATEGORIES
    --------------------------------------------------------- */

    .texts-category-grid {

        grid-template-columns:
            1fr;

    }

    .texts-category-card,
    .texts-category-card:nth-child(2n),
    .texts-category-card:nth-child(3n) {

        border-right:
            0;

    }

    /* --------------------------------------------------------
       FEATURED
    --------------------------------------------------------- */

    .texts-featured {

        margin-top:
            32px;

    }

    .texts-featured-card {

        display:
            block;

        min-height:
            0;

    }

    /*
       Pe mobil nu afișăm imaginea featured.
       Astfel secțiunea rămâne compactă.
    */

    .texts-featured-cover {

        display:
            none;

    }

    .texts-featured-content,
    .texts-featured-card.texts-featured-no-image
    .texts-featured-content {

        width:
            100%;

        padding:
            18px 4px 24px;

        box-sizing:
            border-box;

    }

    .texts-featured-content h3 {

        width:
            100%;

        max-width:
            none;

        font-size:
            28px;

        line-height:
            1.07;

        word-break:
            normal;

        overflow-wrap:
            normal;

        hyphens:
            none;

    }

    /* --------------------------------------------------------
       PAGE INFO INDEX
    --------------------------------------------------------- */

    .texts-page-information {

        display:
            block;

        margin-top:
            8px;

        font-size:
            11px;

    }

    .texts-page-information span {

        display:
            block;

        margin-bottom:
            3px;

    }

    /* --------------------------------------------------------
       CARD CU IMAGINE
    --------------------------------------------------------- */

    .text-card {

        grid-template-columns:
            105px
            minmax(0, 1fr);

        min-height:
            190px;

    }

    .text-card-cover {

        min-height:
            190px;

    }

    .text-card-content {

        padding:
            17px 14px;

    }

    /* --------------------------------------------------------
       CARD FĂRĂ IMAGINE
       IMPORTANT: FULL WIDTH
    --------------------------------------------------------- */

    .text-card.text-card-no-image {

        display:
            block;

        width:
            100%;

        min-height:
            0;

    }

    .text-card.text-card-no-image
    .text-card-content {

        display:
            block;

        width:
            100%;

        padding:
            19px 5px 22px;

        box-sizing:
            border-box;

    }

    /* --------------------------------------------------------
       TOPLINE
    --------------------------------------------------------- */

    .text-card-topline,
    .text-card.text-card-no-image
    .text-card-topline {

        display:
            flex;

        align-items:
            flex-start;

        justify-content:
            space-between;

        gap:
            10px;

        width:
            100%;

    }

    .text-card-topline .text-category {

        min-width:
            0;

        flex:
            1 1 auto;

    }

    .text-card-topline time {

        flex:
            0 0 auto;

        font-size:
            10px;

        white-space:
            nowrap;

    }

    /* --------------------------------------------------------
       TITLU CARD CU IMAGINE
    --------------------------------------------------------- */

    .text-card h2 {

        font-size:
            22px;

    }

    /* --------------------------------------------------------
       TITLU CARD FĂRĂ IMAGINE
       LĂȚIME COMPLETĂ
    --------------------------------------------------------- */

    .text-card.text-card-no-image h2 {

        width:
            100%;

        max-width:
            none;

        margin-top:
            11px;

        font-size:
            29px;

        line-height:
            1.05;

        letter-spacing:
            -.4px;

        word-break:
            normal;

        overflow-wrap:
            normal;

        hyphens:
            none;

    }

    .text-card.text-card-no-image h2 a {

        word-break:
            normal;

        overflow-wrap:
            normal;

        hyphens:
            none;

    }

    .text-card p {

        font-size:
            13px;

    }

    /* --------------------------------------------------------
       META CARD
    --------------------------------------------------------- */

    .text-card-meta,
    .text-card.text-card-no-image
    .text-card-meta {

        display:
            flex;

        flex-wrap:
            wrap;

        gap:
            7px 12px;

        width:
            100%;

        margin-top:
            15px;

    }

    /* --------------------------------------------------------
       FOOTER CARD
    --------------------------------------------------------- */

    .text-card-footer,
    .text-card.text-card-no-image
    .text-card-footer {

        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        flex-wrap:
            wrap;

        gap:
            8px 12px;

        width:
            100%;

    }

    .text-card-footer small {

        display:
            block;

        max-width:
            none;

        margin-top:
            9px;

        text-align:
            left;

    }

    /* --------------------------------------------------------
       READER HEADER
    --------------------------------------------------------- */

    .text-reader-header {

        padding:
            22px 4px 18px;

    }

    .text-reader-kicker {

        gap:
            5px 10px;

    }

    .text-reader-kicker > span::before {

        margin-right:
            8px;

    }

    .text-reader-header h1 {

        margin-top:
            10px;

        font-size:
            39px;

        line-height:
            1;

        letter-spacing:
            -1px;

    }

    .text-reader-subtitle {

        margin-top:
            11px;

        font-size:
            15px;

        line-height:
            1.45;

    }

    .text-reader-description {

        margin-top:
            13px;

        padding:
            12px 3px 0;

        font-size:
            13px;

        line-height:
            1.5;

    }

    /* --------------------------------------------------------
       READER META
    --------------------------------------------------------- */

    .text-reader-meta {

        justify-content:
            center;

        gap:
            6px 13px;

        margin-top:
            15px;

        padding-top:
            11px;

    }

    .text-reader-meta span {

        gap:
            4px;

    }

    /* --------------------------------------------------------
       PROGRESS
    --------------------------------------------------------- */

    .text-reader-progress {

        margin-top:
            16px;

        padding:
            0 4px;

    }

    /* --------------------------------------------------------
       PAGE INFO READER
    --------------------------------------------------------- */

    .text-page-information {

        display:
            flex;

        align-items:
            center;

        justify-content:
            space-between;

        flex-wrap:
            wrap;

        gap:
            5px 12px;

        margin-top:
            16px;

        padding:
            9px 4px;

    }

    .text-page-information span {

        font-size:
            7px;

    }

    /* --------------------------------------------------------
       READER BODY
    --------------------------------------------------------- */

    .text-reader-body {

        padding:
            23px 4px 28px;

    }

    .text-reader-body h2 {

        margin-bottom:
            17px;

        padding-bottom:
            12px;

        font-size:
            29px;

        line-height:
            1.08;

    }

    .text-content {

        font-size:
            18px;

        line-height:
            1.58;

    }

    .text-content p {

        margin:
            0 0 .82em;

    }

    .text-content blockquote {

        margin:
            18px 0;

        padding-left:
            14px;

    }

    /* --------------------------------------------------------
       READER NAVIGATION
    --------------------------------------------------------- */

    .text-page-navigation {

        grid-template-columns:
            1fr
            auto
            1fr;

        gap:
            8px;

        padding:
            14px 4px;

    }

    .text-page-navigation a small {

        font-size:
            6px;

    }

    .text-page-navigation a strong {

        font-size:
            12px;

    }

    .text-page-number {

        padding:
            7px 8px;

        font-size:
            12px;

    }

    .text-reader-finished strong {

        font-size:
            12px;

    }

    /* --------------------------------------------------------
       READER FOOTER
    --------------------------------------------------------- */

    .text-reader-footer {

        margin-top:
            26px;

        padding:
            17px 4px 0;

    }

    .text-reader-footer-grid {

        grid-template-columns:
            repeat(
                2,
                minmax(0, 1fr)
            );

    }

    .text-reader-footer-grid > div {

        padding:
            10px;

    }

    .text-reader-footer-grid strong {

        font-size:
            12px;

    }

    .text-reader-back {

        margin-top:
            15px;

    }

    /* --------------------------------------------------------
       PAGINATION
    --------------------------------------------------------- */

    .texts-pagination {

        grid-template-columns:
            1fr;

        gap:
            12px;

    }

    .texts-pagination-pages {

        order:
            -1;

        flex-wrap:
            wrap;

    }

    .texts-pagination-side {

        min-width:
            0;

        text-align:
            center;

    }

    .texts-pagination-side-right {

        text-align:
            center;

    }

    /* --------------------------------------------------------
       FINAL NOTE
    --------------------------------------------------------- */

    .texts-library-note {

        margin-top:
            34px;

    }

    .texts-library-note h2 {

        font-size:
            28px;

    }

    .texts-library-note p {

        font-size:
            15px;

    }

    /* --------------------------------------------------------
       ADMIN
    --------------------------------------------------------- */

    .texts-form-grid {

        grid-template-columns:
            1fr;

    }

    .texts-span-2 {

        grid-column:
            span 1;

    }

}

/* ============================================================
   TELEFOANE FOARTE MICI
============================================================ */

@media (max-width: 400px) {

    .text-card.text-card-no-image h2 {

        font-size:
            27px;

    }

    .text-reader-header h1 {

        font-size:
            35px;

    }

    .text-content {

        font-size:
            17px;

        line-height:
            1.56;

    }

    .text-content p {

        margin-bottom:
            .78em;

    }

    .text-reader-footer-grid {

        grid-template-columns:
            1fr;

    }

}