/*
Theme Name: Jest Moda Na Makalu
Description: Partnerski blog MAKALU z natywnymi archiwami i wzorem poradnika makalu-v2 dla obu edytorów.
Version: 1.0.1
Requires at least: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jest-moda-na-makalu
*/
:root { --text:#2d2928; --muted:#6d6764; --line:#e4e0dd; }
* { box-sizing:border-box; }
html { scroll-padding-top:24px; }
body { margin:0; background:#fff; color:var(--text); font-family:Arial,Helvetica,sans-serif; line-height:1.65; overflow-wrap:anywhere; }
a { color:inherit; text-underline-offset:4px; }
a:hover { text-decoration-thickness:2px; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--text); outline-offset:4px; }
button,input,textarea,select { font:inherit; color:inherit; max-width:100%; }
button,input[type=submit] { cursor:pointer; }
button,input[type=submit],.search-fields button { border:1px solid var(--text); border-radius:0; background:var(--text); color:white; padding:10px 18px; }
input:not([type=checkbox]):not([type=radio]):not([type=submit]),textarea,select { border:1px solid var(--line); border-radius:0; padding:10px 12px; background:#fff; }
img { max-width:100%; height:auto; }
figure { margin:0; }
h1,h2,h3,h4 { line-height:1.25; }
h1 { font-size:clamp(28px,3vw,42px); font-weight:700; }
p { margin:0 0 18px; }
[hidden] { display:none!important; }
.wrap { width:calc(100% - 64px); max-width:1240px; margin-inline:auto; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.skip-link:focus { position:fixed; z-index:1000; top:12px; left:12px; width:auto; height:auto; clip-path:none; padding:12px 20px; background:#fff; border:2px solid var(--text); }
.site-header { padding-top:44px; }
.site-brand { max-width:1000px; margin:0 auto 8px; padding:0 20px; text-align:center; font-size:clamp(27px,4.5vw,52px); line-height:1.15; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.site-brand a { text-decoration:none; }
.site-subtitle { text-align:center; margin:12px 0 32px; font-size:12px; letter-spacing:.13em; text-transform:uppercase; }
.navigation-bar { border-top:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:16px; }
.site-navigation { min-width:0; }
.site-navigation ul { display:flex; flex-wrap:wrap; gap:12px 24px; padding:0; margin:0; list-style:none; }
.site-navigation li { position:relative; }
.site-navigation a,.shop-link { text-decoration:none; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.site-navigation a:hover,.site-navigation .current-menu-item>a { text-decoration:underline; }
.site-navigation ul ul { padding:8px 0 0 12px; gap:8px 16px; border-left:1px solid var(--line); }
.shop-link { flex-shrink:0; }
.menu-toggle { display:none; }
.listing { padding-block:36px 72px; }
.listing-header { text-align:center; margin-bottom:32px; }
.listing-header h1 { margin:0 0 16px; text-transform:uppercase; letter-spacing:.04em; }
.archive-description { max-width:680px; margin:auto; }
.blog-tools { display:flex; align-items:flex-start; justify-content:space-between; gap:32px; padding:0 0 32px; margin-bottom:32px; border-bottom:1px solid var(--line); }
.taxonomies { min-width:0; flex:1; }
.category-links,.tag-links { display:flex; flex-wrap:wrap; gap:8px 20px; }
.category-links a { font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; text-decoration:none; }
.category-links a[aria-current],.tag-links a[aria-current] { text-decoration:underline; }
.tag-links { margin-top:14px; font-size:13px; color:var(--muted); }
.search-form { width:300px; max-width:100%; }
.search-form label { display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px; }
.search-fields { display:flex; }
.search-fields input { flex:1; width:0; min-width:0; border-color:var(--text)!important; }
.search-fields button { flex-shrink:0; font-size:13px; padding-inline:16px; }
.posts-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:52px 32px; }
.post-card { min-width:0; }
.card-image { display:block; margin-bottom:22px; }
.card-image img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center top; display:block; }
.card-copy h2 { margin:14px 0; font-size:24px; font-weight:400; }
.card-copy h2 a { text-decoration:none; }
.card-copy h2 a:hover { text-decoration:underline; }
.post-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 18px; font-size:12px; color:var(--muted); }
.post-categories { display:flex; flex-wrap:wrap; gap:6px 14px; }
.post-categories a { color:var(--text); font-weight:700; text-transform:uppercase; text-decoration:none; letter-spacing:.06em; }
.card-excerpt { font-size:15px; }
.read-more { display:inline-block; margin-top:6px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.featured-post { grid-column:1 / -1; display:grid; grid-template-columns:1.1fr 1fr; gap:56px; align-items:center; padding-bottom:48px; border-bottom:1px solid var(--line); }
.featured-post .card-image { margin:0; }
.featured-post .card-image img { aspect-ratio:6/5; }
.featured-post .card-copy { padding:24px 0; max-width:480px; }
.featured-post h2 { font-size:clamp(28px,3vw,40px); text-transform:uppercase; font-weight:700; }
.featured-post.card-no-image { display:block; }
.featured-post.card-no-image .card-copy { max-width:800px; margin:auto; text-align:center; }
.featured-post.card-no-image .post-meta { justify-content:center; }
.post-card.card-no-image:not(.featured-post) { border-top:1px solid var(--text); padding-top:20px; }
.navigation.pagination { margin-top:52px; }
.nav-links { display:flex; flex-wrap:wrap; gap:12px 20px; justify-content:center; }
.page-numbers { padding:6px 12px; border:1px solid var(--line); text-decoration:none; }
.page-numbers.current { background:var(--text); color:#fff; }
.empty-state { padding-block:64px; text-align:center; }
.empty-state .search-form { margin:32px auto; text-align:left; }
.singular { padding-block:48px 72px; }
.entry-header { text-align:center; margin-bottom:48px; }
.entry-header .post-meta { justify-content:center; margin-bottom:20px; }
.entry-header h1 { margin:0; text-transform:uppercase; letter-spacing:.025em; }
.entry-header.has-image { display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:center; }
.entry-heading { min-width:0; }
.entry-image img { width:100%; height:auto; aspect-ratio:6/5; object-fit:cover; object-position:center top; display:block; }
.entry-content { width:100%; max-width:800px; margin-inline:auto; line-height:1.75; }
.entry-content>* { max-width:100%; }
.entry-content h2 { margin:44px 0 20px; font-size:30px; }
.entry-content h3 { margin:32px 0 12px; font-size:22px; }
.entry-content blockquote { margin:28px 0; border-left:1px solid var(--text); padding-left:24px; }
.entry-content iframe,.entry-content video { max-width:100%; }
.entry-content pre { overflow-x:auto; padding:16px; background:#f7f6f5; }
.entry-content table { display:block; max-width:100%; overflow-x:auto; border-collapse:collapse; }
.entry-content td,.entry-content th { border:1px solid var(--line); padding:10px; }
.entry-content .alignleft { float:left; margin:0 24px 20px 0; }
.entry-content .alignright { float:right; margin:0 0 20px 24px; }
.entry-content .aligncenter { display:block; margin-inline:auto; }
.entry-content::after { content:''; display:block; clear:both; }
.wp-caption { max-width:100%; }
.wp-caption-text,.gallery-caption { font-size:13px; color:var(--muted); }
.entry-tags { max-width:800px; margin:40px auto 0; padding-top:24px; border-top:1px solid var(--line); font-size:13px; }
.post-navigation { max-width:800px; margin:48px auto 0; padding-block:24px; border-block:1px solid var(--line); }
.post-navigation .nav-links { justify-content:space-between; }
.post-navigation .nav-links>div { flex:1; min-width:0; }
.post-navigation .nav-next { text-align:right; }
.post-navigation a { text-decoration:none; }
.post-navigation span { display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
.page-image { max-width:800px; margin:0 auto 40px; }
.comments-area { max-width:800px; margin:56px auto 0; }
.comment-list { padding:0; list-style:none; }
.comment-list .children { padding-left:24px; list-style:none; }
.comment-body { margin-bottom:28px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.comment-author .avatar { float:left; margin:0 12px 8px 0; }
.comment-metadata { font-size:12px; color:var(--muted); }
.comment-content { clear:both; padding-top:12px; }
.comment-form label { display:block; }
.comment-form textarea { width:100%; }
.comment-form-cookies-consent { display:flex; align-items:flex-start; gap:10px; }
.comment-form-cookies-consent input { margin-top:6px; flex-shrink:0; }
.bypostauthor .comment-author { font-weight:700; }
.site-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; border-top:1px solid var(--line); padding-block:28px 40px; font-size:12px; }
.site-footer p { margin:0; }
@media (max-width:1000px) {
    .posts-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px 24px; }
    .featured-post { gap:32px; }
    .entry-header.has-image { gap:28px; }
}
@media (max-width:700px) {
    .wrap { width:calc(100% - 40px); }
    .site-header { padding-top:28px; }
    .site-subtitle { margin-bottom:24px; }
    .navigation-bar { flex-wrap:wrap; gap:16px; }
    .menu-ready .menu-toggle { display:block; padding:8px 14px; font-size:12px; }
    .site-navigation { width:100%; order:3; }
    .site-navigation ul { flex-direction:column; gap:12px; }
    .shop-link { font-size:11px; flex-shrink:1; max-width:70%; }
    .blog-tools { flex-direction:column; gap:24px; }
    .blog-tools .search-form { width:100%; }
    .posts-grid { grid-template-columns:1fr; gap:40px; }
    .featured-post { display:block; padding-bottom:32px; }
    .featured-post .card-copy { max-width:none; padding-bottom:0; }
    .card-copy h2 { font-size:26px; }
    .listing { padding-top:28px; }
    .singular { padding-top:32px; }
    .entry-header.has-image { grid-template-columns:1fr; }
    .entry-image { margin-top:8px; }
    .entry-content .alignleft,.entry-content .alignright { float:none; margin-inline:0; }
}
@media (max-width:390px) {
    .wrap { width:calc(100% - 32px); }
    .site-brand { letter-spacing:.025em; }
    .site-subtitle { font-size:11px; letter-spacing:.06em; }
}
