/* ==========================================================================
   Calea Soimului JOURNAL
   /public_html/assets/css/journal.css
   ========================================================================== */

:root{
    --journal-ink:var(--ink,#172019);
    --journal-ink-soft:#313a33;
    --journal-muted:var(--muted,#687068);
    --journal-paper:#fbfaf6;
    --journal-paper-soft:#f6f3ec;
    --journal-cream:var(--cream,#eee8de);
    --journal-cream-dark:#e5ddd0;
    --journal-line:var(--line,#d7d0c4);
    --journal-line-dark:#c8beaf;
    --journal-forest:#1b291f;
    --journal-forest-2:#26372b;
    --journal-gold:#b8893d;
    --journal-gold-dark:#8b6428;
    --journal-white:#fff;
    --journal-shell:min(1180px,calc(100% - 48px));
    --journal-section:clamp(72px,8vw,128px);
}

html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
}

.journal-page,
.journal-page *,
.journal-page *::before,
.journal-page *::after,
.journal-shell,
.post-card,
.post-row,
.post-list{
    box-sizing:border-box;
    min-width:0;
}

.journal-page{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
    color:var(--journal-ink);
}

.journal-shell,
.journal-page .shell{
    width:var(--journal-shell);
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
}

.journal-page img,
.post-card img,
.post-row img{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
}

.journal-eyebrow,
.post-category,
.post-label{
    display:inline-block;
    color:var(--journal-gold-dark);
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.journal-title,
.post-card h2,
.post-card h3,
.post-row h2,
.post-row h3{
    margin:0;
    color:var(--journal-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-weight:400;
    letter-spacing:-.035em;
}

.post-card h2,
.post-row h2{
    font-size:clamp(1.65rem,2.4vw,2.35rem);
    line-height:1.05;
}

.post-card h3,
.post-row h3{
    font-size:clamp(1.35rem,2vw,1.9rem);
    line-height:1.08;
}

.post-card h2 a,
.post-card h3 a,
.post-row h2 a,
.post-row h3 a{
    color:inherit;
    text-decoration:none;
}

.post-card p,
.post-row p{
    margin:0;
    color:var(--journal-muted);
    font-size:.96rem;
    line-height:1.7;
}

/* Original classes */
.post-card{display:grid;gap:14px}
.post-card img{aspect-ratio:16/10;object-fit:cover;background:var(--cream)}
.post-meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}
.post-list{display:grid;gap:22px}
.post-row{display:grid;grid-template-columns:260px 1fr;gap:24px;border-bottom:1px solid var(--line);padding-bottom:22px}
.post-row img{aspect-ratio:16/10;object-fit:cover}

/* Post cards */
.post-card{
    position:relative;
    padding-bottom:24px;
    border-bottom:1px solid var(--journal-line);
}

.post-card>a:first-child{
    display:block;
    overflow:hidden;
}

.post-card img{
    transition:transform .45s cubic-bezier(.2,.75,.2,1),opacity .3s ease;
}

.post-card .post-meta{margin-top:2px}

.post-card .post-excerpt{color:var(--journal-muted)}

.post-card .post-link{
    display:inline-flex;
    align-items:center;
    gap:9px;
    width:fit-content;
    padding-bottom:4px;
    border-bottom:1px solid rgba(139,100,40,.42);
    color:var(--journal-gold-dark);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.08em;
    text-decoration:none;
    text-transform:uppercase;
}

/* Post rows */
.post-row{align-items:start}

.post-row>a:first-child{
    display:block;
    overflow:hidden;
}

.post-row img{
    transition:transform .45s cubic-bezier(.2,.75,.2,1),opacity .3s ease;
}

.post-row-copy,
.post-row-content{
    display:grid;
    align-content:start;
    gap:12px;
}

.post-row .post-meta{margin-bottom:1px}

.post-row:last-child{
    border-bottom:0;
    padding-bottom:0;
}

/* Meta */
.post-meta{align-items:center}

.post-meta>*{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.post-meta a{
    color:inherit;
    text-decoration:none;
}

.post-meta a:hover{color:var(--journal-gold-dark)}
.post-meta .post-category{color:var(--journal-gold-dark)}
.post-meta time{white-space:nowrap}

/* Grids */
.post-grid,
.journal-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(26px,3vw,44px);
}

.post-grid-2,
.journal-grid-2{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:clamp(26px,3vw,44px);
}

/* Featured */
.journal-featured,
.post-featured{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
    gap:clamp(34px,5vw,76px);
    align-items:center;
}

.journal-featured-media,
.post-featured-media{overflow:hidden}

.journal-featured-media img,
.post-featured-media img{
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    background:var(--journal-cream);
}

.journal-featured-copy,
.post-featured-copy{
    display:grid;
    gap:18px;
}

.journal-featured-copy h2,
.post-featured-copy h2{
    margin:0;
    color:var(--journal-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.4rem,5vw,4.75rem);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.05em;
}

.journal-featured-copy h2 a,
.post-featured-copy h2 a{
    color:inherit;
    text-decoration:none;
}

.journal-featured-copy p,
.post-featured-copy p{
    max-width:680px;
    margin:0;
    color:var(--journal-muted);
    font-size:1rem;
    line-height:1.75;
}

/* Hero */
.journal-hero{
    position:relative;
    padding:clamp(92px,11vw,160px) 0;
    overflow:hidden;
    background:linear-gradient(145deg,var(--journal-forest),#111a14);
    color:#fff;
}

.journal-hero::before,
.journal-hero::after{
    content:"";
    position:absolute;
    width:360px;
    height:360px;
    border:1px solid rgba(184,137,61,.12);
    border-radius:50%;
    pointer-events:none;
}

.journal-hero::before{
    top:-190px;
    left:-170px;
}

.journal-hero::after{
    right:-190px;
    bottom:-210px;
}

.journal-hero .journal-shell,
.journal-hero .shell{
    position:relative;
    z-index:2;
}

.journal-hero .journal-eyebrow{color:#c99b4b}

.journal-hero h1{
    max-width:950px;
    margin:16px 0 24px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(3.1rem,7vw,7.2rem);
    font-weight:400;
    line-height:.9;
    letter-spacing:-.06em;
}

.journal-hero p{
    max-width:680px;
    margin:0;
    color:rgba(255,255,255,.66);
    font-size:1rem;
    line-height:1.75;
}

/* Sections */
.journal-section{padding:var(--journal-section) 0}
.journal-section.is-paper{background:var(--journal-paper)}
.journal-section.is-cream{background:var(--journal-cream)}
.journal-section.is-dark{background:var(--journal-forest);color:#fff}

.journal-section-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.52fr);
    gap:45px;
    align-items:end;
    margin-bottom:clamp(34px,5vw,60px);
}

.journal-section-head h2{
    margin:12px 0 0;
    color:var(--journal-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(2.4rem,5vw,4.7rem);
    font-weight:400;
    line-height:.98;
    letter-spacing:-.045em;
}

.journal-section-head>p{
    margin:0;
    color:var(--journal-muted);
    font-size:.92rem;
    line-height:1.7;
}

.journal-section.is-dark .journal-section-head h2{color:#fff}
.journal-section.is-dark .journal-section-head>p{color:rgba(255,255,255,.62)}

/* Toolbar */
.journal-toolbar{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:34px;
    padding:16px 0;
    border-top:1px solid var(--journal-line);
    border-bottom:1px solid var(--journal-line);
}

.journal-filters{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.journal-filter,
.journal-chip{
    min-height:38px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--journal-line-dark);
    background:transparent;
    color:var(--journal-ink);
    font:inherit;
    font-size:.76rem;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
}

.journal-filter.is-active,
.journal-chip.is-active{
    border-color:var(--journal-ink);
    background:var(--journal-ink);
    color:#fff;
}

/* Search */
.journal-search{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    width:min(100%,620px);
}

.journal-search input,
.journal-search select{
    width:100%;
    min-height:48px;
    padding:0 15px;
    border:1px solid var(--journal-line-dark);
    border-radius:0;
    background:#fff;
    color:var(--journal-ink);
    font:inherit;
}

.journal-search button{
    min-height:48px;
    padding:0 20px;
    border:1px solid var(--journal-ink);
    border-radius:0;
    background:var(--journal-ink);
    color:#fff;
    font:inherit;
    font-weight:800;
    cursor:pointer;
}

/* Pagination */
.pagination,
.journal-pagination{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin-top:clamp(38px,6vw,72px);
}

.pagination a,
.pagination span,
.journal-pagination a,
.journal-pagination span{
    min-width:42px;
    min-height:42px;
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid var(--journal-line);
    color:var(--journal-ink);
    text-decoration:none;
    font-size:.82rem;
    font-weight:800;
}

.pagination .active,
.pagination .current,
.journal-pagination .active,
.journal-pagination .current{
    border-color:var(--journal-ink);
    background:var(--journal-ink);
    color:#fff;
}

/* Empty */
.journal-empty{
    padding:clamp(34px,5vw,58px) 0;
    border-top:2px solid var(--journal-ink);
    border-bottom:1px solid var(--journal-line);
}

.journal-empty strong{
    display:block;
    max-width:760px;
    margin-top:18px;
    color:var(--journal-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.8rem,3.6vw,3.25rem);
    font-weight:400;
    line-height:1.06;
}

.journal-empty p{
    max-width:650px;
    margin:18px 0 0;
    color:var(--journal-muted);
    line-height:1.72;
}

/* Article content */
.journal-prose,
.article-content,
.post-content{
    width:100%;
    max-width:820px;
    min-width:0;
    overflow-wrap:anywhere;
    color:var(--journal-ink);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(1.05rem,1.2vw,1.18rem);
    line-height:1.85;
}

.journal-prose>*,
.article-content>*,
.post-content>*{max-width:100%}

.journal-prose h2,
.article-content h2,
.post-content h2{
    margin:2.2em 0 .7em;
    font-size:clamp(2rem,4vw,3.6rem);
    font-weight:400;
    line-height:1.02;
    letter-spacing:-.04em;
}

.journal-prose h3,
.article-content h3,
.post-content h3{
    margin:1.8em 0 .6em;
    font-size:clamp(1.55rem,3vw,2.35rem);
    font-weight:400;
    line-height:1.08;
}

.journal-prose p,
.article-content p,
.post-content p{margin:0 0 1.4em}

.journal-prose img,
.article-content img,
.post-content img{
    width:100%;
    height:auto;
    margin:1.8em 0;
}

.journal-prose blockquote,
.article-content blockquote,
.post-content blockquote{
    margin:2em 0;
    padding:22px 0 0;
    border:0;
    border-top:2px solid var(--journal-gold);
    color:var(--journal-ink);
    font-size:clamp(1.35rem,2.2vw,1.9rem);
    line-height:1.5;
}

.journal-prose pre,
.article-content pre,
.post-content pre{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    padding:18px;
    background:#111913;
    color:#f6f3eb;
    font-size:.88rem;
    line-height:1.6;
    white-space:pre;
}

.journal-prose table,
.article-content table,
.post-content table{
    width:100%;
    border-collapse:collapse;
}

.journal-prose th,
.journal-prose td,
.article-content th,
.article-content td,
.post-content th,
.post-content td{
    padding:12px;
    border:1px solid var(--journal-line);
    text-align:left;
}

/* Accessibility */
.post-card a,
.post-row a,
.journal-page a{text-underline-offset:3px}

.post-card a:focus-visible,
.post-row a:focus-visible,
.journal-page a:focus-visible,
.journal-page button:focus-visible,
.journal-page input:focus-visible,
.journal-page select:focus-visible{
    outline:2px solid var(--journal-gold);
    outline-offset:3px;
}

@media(hover:hover) and (pointer:fine){
    .post-card:hover img,
    .post-row:hover img{transform:scale(1.025)}

    .post-card h2 a:hover,
    .post-card h3 a:hover,
    .post-row h2 a:hover,
    .post-row h3 a:hover{color:var(--journal-gold-dark)}

    .journal-filter:hover,
    .journal-chip:hover{border-color:var(--journal-ink)}
}

/* Tablet */
@media(max-width:980px){
    :root{--journal-shell:min(100% - 40px,1180px)}

    .post-grid,
    .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

    .journal-featured,
    .post-featured{
        grid-template-columns:1fr;
        gap:34px;
    }

    .journal-featured-copy,
    .post-featured-copy{max-width:800px}

    .journal-section-head{
        grid-template-columns:1fr;
        gap:18px;
    }
}

/* Mobile */
@media(max-width:720px){
    :root{--journal-shell:calc(100% - 32px)}

    .journal-shell,
    .journal-page .shell{
        width:calc(100% - 32px);
        max-width:100%;
        margin-left:auto;
        margin-right:auto;
        padding-left:0;
        padding-right:0;
    }

    .post-grid,
    .journal-grid,
    .post-grid-2,
    .journal-grid-2{grid-template-columns:1fr}

    .post-row{
        grid-template-columns:1fr;
        gap:16px;
    }

    .post-row img{
        width:100%;
        aspect-ratio:16/10;
    }

    .post-card{gap:12px}

    .post-meta{
        gap:8px 11px;
        font-size:.79rem;
    }

    .journal-toolbar{align-items:stretch}

    .journal-search{
        grid-template-columns:1fr;
        width:100%;
    }

    .journal-search button{width:100%}

    .journal-filters{width:100%}

    .journal-filter,
    .journal-chip{flex:1 1 auto}

    .journal-prose,
    .article-content,
    .post-content{
        font-size:1rem;
        line-height:1.78;
    }
}

/* Small phones */
@media(max-width:480px){
    :root{--journal-shell:calc(100% - 28px)}

    .journal-shell,
    .journal-page .shell{
        width:calc(100% - 28px)!important;
        max-width:100%!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .post-row,
    .post-card,
    .post-list,
    .post-grid,
    .journal-grid{
        width:100%;
        max-width:100%;
    }

    .post-card h2,
    .post-row h2{font-size:1.75rem}

    .post-card h3,
    .post-row h3{font-size:1.45rem}

    .post-card p,
    .post-row p{
        font-size:.9rem;
        line-height:1.65;
    }

    .post-meta{font-size:.75rem}

    .journal-hero{padding:80px 0}

    .journal-hero h1{font-size:clamp(2.7rem,13vw,4.3rem)}

    .journal-section{padding:72px 0}

    .journal-section-head h2{font-size:2.45rem}

    .pagination a,
    .pagination span,
    .journal-pagination a,
    .journal-pagination span{
        min-width:40px;
        min-height:40px;
    }

    .journal-prose table,
    .article-content table,
    .post-content table{
        display:block;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
    }
}

/* Extra small */
@media(max-width:359px){
    :root{--journal-shell:calc(100% - 22px)}

    .journal-shell,
    .journal-page .shell{width:calc(100% - 22px)!important}

    .post-card h2,
    .post-row h2{font-size:1.58rem}

    .journal-filter,
    .journal-chip{width:100%}
}

/* Landscape phones */
@media(max-width:950px) and (orientation:landscape) and (max-height:620px){
    .journal-shell,
    .journal-page .shell{width:calc(100% - 36px)}

    .journal-hero{padding:70px 0}

    .journal-hero h1{font-size:clamp(2.8rem,7vw,4.8rem)}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
    .post-card img,
    .post-row img,
    .post-card a,
    .post-row a{transition:none!important}
}
