/*
Theme Name:   Moje Knihy
Description:  Child téma pre moje-knihy.sk (parent: Twenty Twenty-Three)
Template:     twentytwentythree
Version:      1.0.0
Text Domain:  mojeknihy-theme
*/

/* ══════════════════════════════════════════════════
   BASE
══════════════════════════════════════════════════ */

body {
    background-color: #FAF7F2;
    /* jemná textúra papiera */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.022'/%3E%3C/svg%3E");
}

/* ══════════════════════════════════════════════════
   HEADER & LOGO
══════════════════════════════════════════════════ */

.mk-header {
    background: #FAF7F2 !important;
    text-align: center;
}

/* Zobraz SVG logo namiesto textu – vycentrované */
.wp-block-site-title {
    font-size: 0 !important;
    display: flex;
    justify-content: center;
}

.wp-block-site-title a,
.wp-block-site-title a:visited {
    display: inline-block;
    width: 185px;
    height: 44px;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden;
    background: url('images/logo.svg') no-repeat center center;
    background-size: contain;
    text-decoration: none !important;
    color: transparent !important;
}

/* ══════════════════════════════════════════════════
   TYPOGRAFIA
══════════════════════════════════════════════════ */

h1, h2, h3, h4 {
    font-family: Georgia, 'Times New Roman', serif;
    color: #1C2B3A;
}

p, li, td {
    font-family: Georgia, 'Times New Roman', serif;
    line-height: 1.75;
    color: #2E3D4E;
}

/* ══════════════════════════════════════════════════
   ZOZNAM ČLÁNKOV (query loop)
══════════════════════════════════════════════════ */

.wp-block-post {
    position: relative;
    background: #fff;
    border-radius: 8px;
    border: 1px solid #E8E4DA;
    overflow: hidden;
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.wp-block-post:hover {
    box-shadow: 0 6px 24px rgba(28, 43, 58, 0.10);
    transform: translateY(-2px);
}

/* Padding obsahu v karte – featured image ide "na kraj", text má odsadenie */
.wp-block-post .wp-block-post-excerpt,
.wp-block-post .wp-block-post-date,
.wp-block-post .mk-card-foot {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.wp-block-post .wp-block-post-excerpt {
    padding-top: 1.1rem;
}

.wp-block-post .wp-block-post-date {
    padding-bottom: 1.25rem;
}

/* Spodný riadok karty: vľavo "Čítaj ďalej →", vpravo štítok kategórie */
.wp-block-post .mk-card-foot {
    width: 100%;
    gap: 0.75rem;
}

/* Titulok v zoznamoch je skrytý len vizuálne (text je už v obrázku) –
   v DOM ostáva pre SEO, screen readery a anchor text. */
.wp-block-post-template .wp-block-post-title {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.wp-block-post-title {
    font-family: Georgia, 'Times New Roman', serif;
    line-height: 1.3;
}

.wp-block-post-title a,
.wp-block-post-title a:visited {
    color: #1C2B3A;
    text-decoration: none;
}

.wp-block-post-title a:hover {
    color: #C8901A;
}

/* Kategorový štítok – klikateľný odkaz na archív kategórie.
   Dostatočná dotyková plocha a tieň kvôli čitateľnosti na obrázku. */
.wp-block-post-terms a {
    display: inline-block;
    color: #FAF7F2;
    background: #C8901A;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    text-decoration: none;
    padding: 5px 12px;
    border-radius: 999px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.30);
    transition: background 0.15s ease;
}

.wp-block-post-terms a:hover {
    background: #1C2B3A;
    color: #FAF7F2;
}

/* Dátum a meta */
.wp-block-post-date,
.wp-block-post-author-name {
    color: #8B9AAA;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 0.82rem;
}

/* Excerpt */
.wp-block-post-excerpt__excerpt {
    color: #4A5A6A;
    line-height: 1.65;
    font-size: 0.97rem;
}

/* Čítaj viac link */
.wp-block-post-excerpt__more-link,
.wp-block-read-more {
    color: #C8901A;
    text-decoration: none;
    font-family: system-ui, sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.wp-block-post-excerpt__more-link:hover,
.wp-block-read-more:hover {
    color: #1C2B3A;
}

/* Featured image */
.wp-block-post-featured-image img {
    border-radius: 0;
    width: 100%;
    object-fit: cover;
}

/* Mriežka článkov – rovnako vysoké karty, dátum pri spodnom okraji */
.wp-block-post-template.is-layout-grid .wp-block-post {
    display: flex;
    flex-direction: column;
}

.wp-block-post-template.is-layout-grid .wp-block-post-featured-image {
    flex-shrink: 0;
}

.wp-block-post-template.is-layout-grid .wp-block-post-date {
    margin-top: auto;
}

/* Tablet: 2 stĺpce (pod 600px rieši core na 1 stĺpec) */
@media (min-width: 601px) and (max-width: 991px) {
    .wp-block-post-template.is-layout-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ══════════════════════════════════════════════════
   DETAIL ČLÁNKU
══════════════════════════════════════════════════ */

/* Žiadny separator nad post-meta, žiadny "Posted" garbage */
.wp-block-template-part .wp-block-separator {
    display: none !important;
}

/* Single header – featured image ako hero (obsahuje text titulku).
   H1 sa skryje LEN vizuálne a LEN keď obrázok existuje – v DOM ostáva
   vždy (SEO, prístupnosť). Bez obrázka sa H1 normálne zobrazí. */
.mk-single-header {
    padding-bottom: 1.25rem;
    border-bottom: 2px solid #E8E4DA;
    margin-bottom: 2rem;
}

.mk-single-header:has(.wp-block-post-featured-image) .wp-block-post-title {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

.mk-single-header .wp-block-post-featured-image img {
    width: 100%;
    border-radius: 8px;
}

.mk-single-meta {
    width: 100%;
}

/* Rovnaká šírka pre content aj header v single */
.wp-block-post-content,
.mk-single-header {
    max-width: 100% !important;
}

.wp-block-post-content {
    font-size: 1.07rem;
    line-height: 1.8;
}

.wp-block-post-content h2 {
    border-left: 3px solid #C8901A;
    padding-left: 0.8rem;
    margin-top: 2.5rem;
}

.wp-block-post-content blockquote {
    border-left: 3px solid #C8901A;
    background: #F0EBE1;
    padding: 1rem 1.5rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: #3A4E60;
    border-radius: 0 4px 4px 0;
}

/* ══════════════════════════════════════════════════
   PAGINATION
══════════════════════════════════════════════════ */

.wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-previous {
    color: #1C2B3A;
    font-family: system-ui, sans-serif;
    font-size: 0.9rem;
}

.wp-block-query-pagination-numbers .page-numbers.current,
.wp-block-query-pagination-numbers .page-numbers:hover {
    color: #C8901A;
}

/* ══════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════ */

.mk-footer {
    background: #1C2B3A !important;
}

.mk-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    font-family: system-ui, -apple-system, sans-serif;
    font-size: 0.83rem;
}

.mk-footer-copy {
    color: #8B9AAA;
}

.mk-footer-links {
    display: flex;
    gap: 1.5rem;
}

.mk-footer-links a {
    color: #C8901A;
    text-decoration: none;
}

.mk-footer-links a:hover {
    color: #FAF7F2;
}

/* ══════════════════════════════════════════════════
   SEPARÁTORY
══════════════════════════════════════════════════ */

hr, .wp-block-separator {
    border-color: #E8E4DA !important;
    opacity: 1 !important;
}

/* ══════════════════════════════════════════════════
   LANGUAGE SWITCHER (z functions.php)
══════════════════════════════════════════════════ */

.mk-lang-switcher {
    position: fixed;
    top: 14px;
    right: 14px;
    z-index: 99999;
}

.mk-lang-switcher ul {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 5px 8px;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 24px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.10);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border: 1px solid rgba(0, 0, 0, 0.06);
}

.mk-lang-switcher .lang-item a,
.mk-lang-switcher .lang-item span.no-translation {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    text-decoration: none !important;
}

.mk-lang-switcher .lang-item img {
    width: 22px;
    height: auto;
    border-radius: 3px;
    display: block;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.mk-lang-switcher .lang-item:not(.current-lang) a {
    opacity: 0.38;
    transition: opacity 0.2s ease, transform 0.15s ease;
}

.mk-lang-switcher .lang-item:not(.current-lang) a:hover {
    opacity: 1;
    transform: scale(1.12);
}

.mk-lang-switcher .lang-item.current-lang a {
    background: rgba(0, 0, 0, 0.05);
    cursor: default;
}

.mk-lang-switcher .lang-item span.no-translation {
    opacity: 0.38;
    cursor: default;
}

@media (prefers-color-scheme: dark) {
    .mk-lang-switcher ul {
        background: rgba(28, 28, 28, 0.92);
        border-color: rgba(255, 255, 255, 0.08);
    }
}

@media (max-width: 480px) {
    .mk-lang-switcher { top: 8px; right: 8px; }
}

/* ══════════════════════════════════════════════════
   COOKIE SETTINGS BUTTON (shortcode mk_cookie_settings)
══════════════════════════════════════════════════ */

.mk-cb-reset-wrap {
    margin-top: 1.25rem;
}

.mk-cb-reset-btn {
    background: #C8901A;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: .5rem 1.2rem;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
    line-height: 1.4;
}

.mk-cb-reset-btn:hover {
    background: #1C2B3A;
}

/* ══════════════════════════════════════════════════
   BIBLIOGRAFIA AUTORA (bibliography-articles.sh)
══════════════════════════════════════════════════ */

.mk-bibliografia {
    margin: 3rem 0 1.5rem;
    padding: 1.75rem 1.5rem;
    background: #FFFDF9;
    border: 1px solid #E6DCC9;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(28, 43, 58, .05);
}

.mk-bibliografia > h2 {
    margin: 0 0 .35rem;
    font-size: 1.5rem;
    color: #1C2B3A;
    border-bottom: 3px solid #C8901A;
    padding-bottom: .5rem;
}

.mk-bibliografia > p {
    color: #4A4A45;
    margin: .5rem 0 1.5rem;
}

.mk-bib-zoznam {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: mk-bib;
}

.mk-bib-polozka {
    position: relative;
    margin: 0 0 1.25rem;
    padding: 1rem 1rem 1rem 3.2rem;
    background: #FAF7F2;
    border-radius: 6px;
    border-left: 3px solid #C8901A;
    counter-increment: mk-bib;
}

.mk-bib-polozka::before {
    content: counter(mk-bib);
    position: absolute;
    left: 1rem;
    top: 1rem;
    width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
    text-align: center;
    font-weight: 700;
    font-size: .8rem;
    color: #fff;
    background: #1C2B3A;
    border-radius: 50%;
}

.mk-bib-nazov {
    margin: 0 0 .15rem;
    font-size: 1.1rem;
    color: #1C2B3A;
}

.mk-bib-orig {
    margin: 0 0 .5rem;
    font-size: .9rem;
    font-style: italic;
    color: #7A6F5D;
}

.mk-bib-autor {
    margin: 0 0 .4rem;
    font-size: .9rem;
    font-weight: 600;
    color: #4A4A45;
}

.mk-bib-popis {
    margin: 0 0 .65rem;
    color: #3A3A36;
}

.mk-bib-vydania {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
}

.mk-bib-vydania li {
    font-size: .8rem;
    color: #4A4A45;
    background: #fff;
    border: 1px solid #E6DCC9;
    border-radius: 4px;
    padding: .2rem .55rem;
}

/* ── Affiliate porovnávač cien v bibliografii (per vydanie/ISBN) ──────── */
/* vydanie s porovnávačom zaberie celý riadok zoznamu */
.mk-bib-vydania li.mk-bib-vydanie--buy {
    flex: 0 0 100%;
    width: 100%;
    background: #FBFCFB;
    border-color: #CFE4D7;
    padding: .55rem .6rem;
}
.mk-vyd-label {
    display: block;
    font-weight: 700;
    font-size: .9rem;
    color: #1C2B3A;
    padding-left: .15rem;
}
.mk-price-table {
    width: 100%;
    margin-top: .5rem;
    border: 1px solid #DCE6DF;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
}
.mk-price-row {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: .75rem;
    padding: .5rem .7rem;
    border-top: 1px solid #EDF2EE;
}
.mk-price-row:first-child { border-top: 0; }
.mk-price-row.is-best { background: #F3FAF6; }

.mk-price-shop {
    font-weight: 600;
    color: #1C2B3A;
    font-size: .9rem;
    display: flex;
    align-items: center;
    gap: .45rem;
}
.mk-price-badge {
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
    color: #fff;
    background: #1F8F5F;
    padding: .12rem .42rem;
    border-radius: 20px;
}
.mk-price-amt {
    font-weight: 800;
    font-size: 1rem;
    color: #176B47;
    white-space: nowrap;
}
.mk-price-btn {
    text-decoration: none;
    font-weight: 700;
    font-size: .82rem;
    white-space: nowrap;
    color: #fff;
    background: #1F8F5F;
    padding: .42rem .8rem;
    border-radius: 7px;
    transition: background .15s;
}
.mk-price-btn:hover { background: #176B47; }

@media (max-width: 480px) {
    .mk-price-row {
        grid-template-columns: 1fr auto;
        row-gap: .4rem;
    }
    .mk-price-btn { grid-column: 1 / -1; text-align: center; }
}

@media (max-width: 600px) {
    .mk-bibliografia { padding: 1.25rem 1rem; }
    .mk-bib-polozka  { padding-left: 2.8rem; }
}
