/*
Theme Name: Palmografos Classic
Description: Η κλασική διάταξη του Παλμογράφου με κεντρικό θέμα, δεξιά στήλη και ενότητες του αρχείου.
Version: 1.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: palmografos-classic
*/

:root {
    --palm-page: #104c70;
    --palm-shell: #073653;
    --palm-panel: #124665;
    --palm-rule: #3e6680;
    --palm-cream: #fcf6ba;
    --palm-paper: #fbf0d6;
    --palm-light: #f7edcf;
    --palm-muted: #c0d4de;
    --palm-ink: #1e292e;
    --palm-wine: #700709;
}

*, *::before, *::after { box-sizing: border-box; }
body.palm-site {
    margin: 0;
    background-color: var(--palm-page);
    background-image: linear-gradient(#fff5b5 0 38px, var(--palm-wine) 38px 250px, #195674 250px, var(--palm-page) 520px);
    color: var(--palm-light);
    font: 16px/1.5 Georgia, "Times New Roman", serif;
}
img { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .17em; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px solid #c86721;
    outline-offset: 3px;
}
button, input, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin: 0; }
.palm-container { width: min(1140px, calc(100% - 36px)); margin-inline: auto; }
.screen-reader-text, .palm-skip:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.palm-skip:focus {
    position: fixed;
    z-index: 99999;
    top: 44px;
    left: 16px;
    padding: 8px 12px;
    color: var(--palm-ink);
    background: var(--palm-cream);
}

.palm-header { padding-top: 12px; }
.palm-masthead {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    min-height: 112px;
    padding: 12px 18px 16px;
    background: linear-gradient(110deg, #597786, #365b73);
    border: 1px solid #8e9b9c;
    border-bottom: 3px double #c0bc9e;
}
.palm-wordmark {
    display: inline-block;
    color: var(--palm-cream);
    font-size: clamp(40px, 5vw, 62px);
    font-weight: bold;
    line-height: 1;
    letter-spacing: -.055em;
    text-decoration: none;
}
.palm-wordmark span { color: #fff0ad; font-variant: small-caps; }
.palm-wordmark small { margin-left: .11em; font-size: .43em; letter-spacing: -.03em; }
.palm-tagline { margin-top: 5px; color: #fff7d8; font-size: 14px; }
.palm-edition { padding-top: 8px; color: #fff7d8; font-size: 13px; text-align: right; }
.palm-edition span { display: block; color: #fff0aa; font-weight: bold; }
.palm-masthead .custom-logo { display: block; width: auto; max-width: min(440px, 76vw); max-height: 68px; }
.palm-navigation {
    background: var(--palm-cream);
    color: #3b2920;
    border-bottom: 3px solid #a38250;
}
.palm-menu {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    list-style: none;
    padding: 0 8px;
    margin: 0;
}
.palm-menu li { position: relative; }
.palm-menu > li + li { border-left: 1px solid #d6c68d; }
.palm-menu a {
    display: block;
    padding: 8px 7px;
    font-size: 13px;
    line-height: 1.2;
    font-weight: bold;
    text-decoration: none;
}
.palm-menu a:hover, .palm-menu a:focus-visible, .palm-menu .current-menu-item > a,
.palm-menu a[aria-current="page"] { background: #ebd99a; color: #670d0c; }
.palm-menu .sub-menu {
    display: none;
    position: absolute;
    z-index: 6;
    left: 0;
    top: 100%;
    min-width: 190px;
    padding: 4px 0;
    margin: 0;
    border: 1px solid #a38250;
    background: var(--palm-cream);
    list-style: none;
}
.palm-menu .sub-menu .sub-menu { left: 100%; top: 0; }
.palm-menu li:hover > .sub-menu, .palm-menu li:focus-within > .sub-menu { display: block; }
.palm-menu .sub-menu a { padding: 8px 12px; }

.palm-shell {
    min-height: 56vh;
    margin-top: 14px;
    padding: 6px 9px 28px;
    background: var(--palm-shell);
    border-inline: 1px solid #295570;
}
.palm-utility {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    min-height: 34px;
    padding: 4px 8px;
    background: #133f59;
    border-block: 1px solid #49718a;
}
.palm-utility-brand {
    color: var(--palm-cream);
    font-size: 13px;
    font-weight: bold;
    text-decoration: none;
}
.palm-search { display: flex; gap: 4px; margin: 0; min-width: 0; }
.palm-search label { min-width: 0; }
.palm-search input, .palm-search button {
    min-height: 30px;
    border: 1px solid #b0aa93;
    border-radius: 0;
    font: 13px/1.2 Arial, sans-serif;
}
.palm-search input { width: 230px; max-width: 100%; padding: 4px 6px; background: #fffdf1; color: #273638; }
.palm-search button { flex-shrink: 0; padding: 4px 8px; background: var(--palm-cream); color: #473727; font-weight: bold; }
.palm-search button:hover { background: #ecdda3; }
.palm-preview-note { margin: 8px 0; padding: 5px 8px; background: #28556e; color: #fff3cd; font-size: 13px; }
.palm-ticker {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 4px 8px;
    border-bottom: 1px solid #697d8b;
    color: #fdf3c6;
    background: #082b48;
    font-size: 13px;
}
.palm-ticker span { flex-shrink: 0; font-weight: bold; }
.palm-ticker a { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.palm-layout {
    display: grid;
    grid-template-columns: minmax(0, 2.38fr) minmax(250px, 1fr);
    align-items: start;
    gap: 12px;
    margin-top: 10px;
}
.palm-primary, .palm-sidebar { min-width: 0; }
.palm-primary:focus { outline: 0; }

.palm-lead {
    display: grid;
    grid-template-columns: minmax(0, 1.54fr) minmax(0, 1fr);
    min-height: 270px;
    border: 6px solid #a8a89b;
    background: var(--palm-cream);
    color: #2e2a1b;
}
.palm-lead-visual { position: relative; display: block; min-height: 220px; background: #24475b; }
.palm-lead-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.palm-image-fallback {
    position: absolute;
    inset: 0;
    display: grid;
    place-content: center;
    background: linear-gradient(130deg, #18394e, #45687b);
    color: var(--palm-cream);
    font-size: clamp(24px, 4vw, 48px);
    font-weight: bold;
    letter-spacing: -.04em;
}
.palm-lead-copy { padding: 12px 13px; }
.palm-lead-label {
    margin-bottom: 5px;
    color: #6f180e;
    font: bold 11px/1.3 Arial, sans-serif;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.palm-lead h2 { font-size: clamp(23px, 2.35vw, 32px); line-height: 1.04; letter-spacing: -.027em; overflow-wrap: anywhere; }
.palm-lead h2 a, .palm-story-title a, .palm-category h2 a, .palm-recommends h3 a { text-decoration: none; }
.palm-lead h2 a:hover, .palm-story-title a:hover, .palm-category h2 a:hover, .palm-recommends h3 a:hover { text-decoration: underline; }
.palm-lead .palm-meta { margin-top: 7px; color: #674d37; font-size: 12px; }
.palm-lead-excerpt { margin-top: 8px; font-size: 14px; line-height: 1.36; overflow-wrap: anywhere; }

.palm-news-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 9px;
    margin: 10px 0 20px;
}
.palm-story {
    display: flow-root;
    padding: 9px 10px;
    color: var(--palm-light);
    background: var(--palm-panel);
    overflow-wrap: anywhere;
}
.palm-story + .palm-story { border-top: 1px solid var(--palm-rule); }
.palm-story-title { margin-bottom: 5px; color: var(--palm-cream); font-size: 19px; line-height: 1.12; }
.palm-story-image { display: block; float: left; width: 35%; max-width: 119px; margin: 2px 8px 3px 0; border: 2px solid #658295; }
.palm-story-image img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.palm-story-date { color: var(--palm-muted); font-size: 11px; line-height: 1.25; margin-bottom: 3px; }
.palm-story-excerpt { font-size: 14px; line-height: 1.34; }
.palm-category-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px 7px; align-items: stretch; }
.palm-category { min-width: 0; background: #10425f; border: 1px solid #2b5772; }
.palm-category h2 { padding: 3px 6px; color: #2a2a1d; background: var(--palm-cream); font-size: 17px; line-height: 1.2; overflow-wrap: anywhere; }
.palm-category .palm-story { padding: 6px 6px 7px; background: transparent; }
.palm-category .palm-story-title { font-size: 15px; }
.palm-category .palm-story-image { width: 44px; margin-right: 5px; border-width: 1px; }
.palm-category .palm-story-excerpt { font-size: 12.5px; line-height: 1.33; }
.palm-category .palm-story-date { font-size: 10.5px; }

.palm-sidebar { display: grid; gap: 8px; align-content: start; }
.palm-widget { min-width: 0; padding: 10px; background: var(--palm-paper); border: 3px solid #aaa69a; color: #2d2821; overflow-wrap: anywhere; }
.palm-widget-title { margin-bottom: 8px; padding-bottom: 4px; border-bottom: 1px solid #cfc3a9; color: #1a4764; font-size: 18px; line-height: 1.1; }
.palm-editor .palm-widget-title { color: #6b2529; font-size: 20px; font-style: italic; }
.palm-editor .palm-story { padding: 0; background: transparent; color: inherit; }
.palm-editor .palm-story-title { color: #362d21; font-size: 16px; }
.palm-editor .palm-story-date { color: #6a5545; }
.palm-editor .palm-story-image { width: 38%; border-color: #a7a090; }
.palm-editor .palm-story-excerpt { font-size: 13.5px; }
.palm-recommends { background: #6d0b0b; color: #fff0d4; border-color: #937060; }
.palm-recommends .palm-widget-title { color: #fff0bd; border-color: #ab5d50; font-size: 20px; }
.palm-recommends h3 { font-size: 16px; line-height: 1.18; }
.palm-book-cover { display: block; margin: 8px auto 10px; width: fit-content; max-width: 80%; }
.palm-book-cover img { display: block; width: auto; max-height: 218px; border: 2px solid #dabf9e; }
.palm-feed ul { list-style: none; margin: 0; padding: 0; }
.palm-feed li { padding: 6px 0; font-size: 14px; line-height: 1.3; }
.palm-feed li + li { border-top: 1px dashed #baaa90; }
.palm-feed time { display: block; margin-bottom: 2px; color: #625246; font-size: 11px; }
.palm-feed a { color: #252d32; }
.palm-tag-cloud { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 9px; color: #234e63; }

.palm-archive-header { padding: 11px 12px; background: var(--palm-cream); color: var(--palm-ink); border-bottom: 3px solid #a38250; }
.palm-archive-header h1 { font-size: clamp(24px, 3vw, 36px); line-height: 1.12; overflow-wrap: anywhere; }
.palm-archive-header p { margin-top: 7px; }
.palm-archive-list { margin-top: 8px; }
.palm-archive-list .palm-story { padding: 13px; }
.palm-archive-list .palm-story-title { font-size: 22px; }
.palm-archive-list .palm-story-image { max-width: 152px; }
.palm-empty { padding: 16px; background: var(--palm-panel); }
.palm-reading {
    color: var(--palm-ink);
    background: var(--palm-paper);
    border: 4px solid #a4a697;
}
.palm-reading-header { padding: clamp(15px, 3vw, 27px); background: var(--palm-cream); border-bottom: 1px solid #cdbf94; }
.palm-reading-category { display: inline-block; margin-bottom: 6px; font-size: 14px; font-weight: bold; color: #77201b; }
.palm-reading h1 { font-size: clamp(27px, 4vw, 43px); line-height: 1.08; letter-spacing: -.025em; overflow-wrap: anywhere; }
.palm-reading .palm-meta { margin-top: 8px; color: #615746; font-size: 13px; }
.palm-reading-image { margin: 0; background: #e5dbc5; }
.palm-reading-image img { display: block; width: 100%; max-height: 560px; object-fit: contain; }
.palm-entry { padding: clamp(15px, 3vw, 27px); line-height: 1.66; overflow-wrap: anywhere; }
.palm-entry p, .palm-entry ul, .palm-entry ol, .palm-entry blockquote { margin-block: 0 1em; }
.palm-entry h2, .palm-entry h3 { margin-block: 1.1em .45em; line-height: 1.2; }
.palm-entry a, .palm-entry-tags a { color: #185071; }
.palm-entry iframe, .palm-entry video, .palm-entry audio, .palm-entry .wp-caption { max-width: 100%; }
.palm-entry table { display: block; max-width: 100%; overflow-x: auto; }
.palm-entry pre { max-width: 100%; overflow: auto; }
.palm-entry .alignleft { float: left; margin: 0 14px 10px 0; }
.palm-entry .alignright { float: right; margin: 0 0 10px 14px; }
.palm-entry .aligncenter { display: block; margin-inline: auto; }
.palm-entry::after { content: ""; display: block; clear: both; }
.palm-entry-tags { padding: 10px 18px; border-top: 1px solid #d4c5a3; font-size: 14px; }
.palm-empty-page, .palm-comments { padding: 20px; }
.palm-empty-page p { margin: 10px 0; }
.palm-comments { margin-top: 12px; }
.palm-comments textarea { max-width: 100%; }
.palm-comments .comment-list { padding-left: 24px; }
.palm-primary .pagination, .palm-comments .pagination { margin-top: 12px; }
.palm-primary .page-numbers { display: inline-block; margin: 0 2px 3px 0; padding: 4px 7px; background: var(--palm-panel); color: var(--palm-cream); }
.palm-primary .page-numbers.current { background: var(--palm-cream); color: var(--palm-ink); }

.palm-footer {
    padding: 12px 0 14px;
    color: #423625;
    background: var(--palm-cream);
    border-top: 4px solid var(--palm-wine);
    text-align: center;
}
.palm-footer .palm-menu { justify-content: center; }
.palm-footer .palm-menu a { padding-block: 4px; }
.palm-footer .sub-menu { display: none !important; }
.palm-footer p { margin-top: 6px; font-size: 12px; }

@media (max-width: 900px) {
    .palm-layout { grid-template-columns: 1fr; }
    .palm-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
    .palm-lead h2 { font-size: clamp(23px, 3.3vw, 32px); }
}
@media (max-width: 620px) {
    .palm-container { width: calc(100% - 16px); }
    .palm-masthead { padding: 10px 10px 12px; min-height: 0; }
    .palm-tagline { font-size: 12px; line-height: 1.3; }
    .palm-edition { flex-shrink: 0; font-size: 11px; padding-top: 4px; }
    .palm-menu a { padding: 7px 6px; font-size: 12px; }
    .palm-shell { padding-inline: 6px; }
    .palm-lead { grid-template-columns: 1fr; border-width: 4px; }
    .palm-lead-visual { aspect-ratio: 16 / 9; min-height: 0; }
    .palm-news-columns, .palm-sidebar { grid-template-columns: 1fr; }
    .palm-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .palm-ticker { gap: 6px; font-size: 12px; }
    .palm-search input { max-width: 100%; }
}
@media (max-width: 410px) {
    .palm-edition { display: none; }
    .palm-category-grid { grid-template-columns: 1fr; }
    .palm-utility-brand { display: none; }
    .palm-utility .palm-search, .palm-utility .palm-search label, .palm-utility .palm-search input { width: 100%; }
}
