/* PatrioticWear — blog templates (home.php, single.php, index.php, template-parts/content-card.php).
   Base desktop styles converted from the "Blog" and "Wpis" mockups.
   Media queries from the mockups live in responsive.css (other agent). */

/* ==== Shared ============================================================ */

/* Dark page header (blog listing + single post hero) */
.pw-t-blog-header,
.pw-t-post-header{background:var(--pw-atrament);color:var(--pw-papier);padding:clamp(40px,5vw,64px) 0 clamp(48px,6vw,72px)}

/* Placeholder media: hatched background + crosshair + mono note (as in the mockups) */
.pw-t-blog-crosshair{position:absolute;top:12px;left:12px;width:12px;height:12px}
.pw-t-blog-crosshair span:first-child{position:absolute;top:5.5px;left:0;width:12px;height:1px;background:var(--pw-stal-jasna)}
.pw-t-blog-crosshair span:last-child{position:absolute;left:5.5px;top:0;height:12px;width:1px;background:var(--pw-stal-jasna)}
.pw-t-blog-crosshair.pw-t-bottom-right{top:auto;left:auto;bottom:12px;right:12px}
.pw-t-blog-placeholder-note{font-family:"IBM Plex Mono",monospace;font-size:.6875rem;line-height:1.5;color:var(--pw-stal-jasna)}

/* Pagination (the_posts_pagination / the_post_navigation output): theme.css styles
   .pw-t-pagination .page-numbers; these rules cover the nav-links wrapper + sr heading. */
.pw-t-pagination .nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.pw-t-pagination .screen-reader-text,
.pw-t-post-nav .screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Empty state + generic fallback archive title (index.php) */
.pw-t-blog-index-title{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:800;font-size:clamp(2.5rem,6vw,4rem);line-height:.95;letter-spacing:-.02em;text-transform:uppercase;margin:0 0 24px}
.pw-t-blog-empty{font-family:"IBM Plex Serif",Georgia,serif;font-size:1.0625rem;line-height:1.7;color:var(--pw-stal);margin:32px 0}

/* page.php: plain pages read better in a narrow column (Woo pages keep the wide one) */
.pw-t-page-narrow{max-width:800px}

/* ==== Blog listing (home.php) ========================================== */

.pw-t-blog-header-row{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.pw-t-blog-count{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-stal-jasna);margin:0}

/* Featured card (mockup: [data-r=glowny]) */
.pw-t-blog-featured{display:grid;grid-template-columns:6fr 6fr;gap:48px;align-items:center;border-top:1px solid rgba(110,122,128,0.4);padding-top:40px}
.pw-t-blog-featured-media{position:relative;display:flex;align-items:flex-end;aspect-ratio:3/2;background:repeating-linear-gradient(45deg,rgba(110,122,128,.3) 0 8px,transparent 8px 16px);border:1px solid rgba(110,122,128,0.45);padding:16px;overflow:hidden}
.pw-t-blog-featured-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pw-t-blog-featured-kicker{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-czerwien);margin:0 0 16px}
.pw-t-blog-featured-title{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:700;font-size:clamp(1.75rem,3.2vw,2.75rem);line-height:.98;text-transform:uppercase;margin:0 0 20px}
.pw-t-blog-featured-title a{color:var(--pw-papier)}
.pw-t-blog-featured-title a:hover{color:var(--pw-czerwien)}
.pw-t-blog-featured-excerpt{font-family:"IBM Plex Serif",Georgia,serif;font-size:1.0625rem;line-height:1.7;margin:0 0 24px;max-width:56ch;color:rgba(246,244,238,0.88)}
.pw-t-blog-featured-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.08em;color:var(--pw-stal-jasna)}

/* Two-column layout: list + sidebar (mockup: [data-r=uklad]) */
.pw-t-blog-layout{max-width:1280px;margin:0 auto;padding:clamp(48px,6vw,72px) clamp(24px,5vw,64px) 0;display:grid;grid-template-columns:1fr 300px;gap:64px;align-items:start}

/* Category filters — links to category archives (mockup: JS filter buttons) */
.pw-t-blog-filters{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid rgba(90,102,107,0.4);margin-bottom:8px}
.pw-t-blog-filter{display:inline-block;border-radius:2px;padding:9px 16px;font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(90,102,107,0.4);background:transparent;color:var(--pw-atrament);transition:background 120ms,color 120ms,border-color 120ms}
.pw-t-blog-filter:hover{border-color:var(--pw-atrament);color:var(--pw-atrament)}
.pw-t-blog-filter.pw-t-active{background:var(--pw-atrament);border-color:var(--pw-atrament);color:var(--pw-papier)}
.pw-t-blog-filter.pw-t-active:hover{color:var(--pw-papier)}

/* Post card (mockup: [data-r=wpis]) — shared by home.php and index.php */
.pw-t-blog-card{display:grid;grid-template-columns:200px 1fr;gap:32px;padding:32px 0;border-bottom:1px solid rgba(90,102,107,0.4);align-items:start}
.pw-t-blog-card-media{position:relative;display:flex;align-items:flex-end;aspect-ratio:3/2;background:repeating-linear-gradient(45deg,rgba(90,102,107,.16) 0 7px,transparent 7px 14px);border:1px solid rgba(90,102,107,0.25);padding:8px;overflow:hidden;transition:filter 120ms}
.pw-t-blog-card-media:hover{filter:contrast(1.15) brightness(0.96)}
.pw-t-blog-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pw-t-blog-card-media .pw-t-blog-placeholder-note{font-size:.6rem;line-height:1.3;color:var(--pw-stal)}
.pw-t-blog-card-kicker{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-czerwien);margin:0 0 10px}
.pw-t-blog-card-kicker a{color:inherit}
.pw-t-blog-card-title{font-size:1.375rem;font-weight:600;line-height:1.25;margin:0 0 10px}
.pw-t-blog-card-excerpt{font-family:"IBM Plex Serif",Georgia,serif;font-size:1rem;line-height:1.7;margin:0 0 14px;max-width:64ch;color:var(--pw-atrament)}
.pw-t-blog-card-meta{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.08em;color:var(--pw-stal)}

/* List footer: shown counter + pagination (mockup: counter + "Pokaż starsze" button) */
.pw-t-blog-foot{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:40px}
.pw-t-blog-foot-count{font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pw-stal);margin:0}
.pw-t-blog-foot .pw-t-pagination{margin:0}
.pw-t-blog-foot .nav-links{justify-content:flex-end}

/* Sidebar (mockup: [data-r=boczna]) */
.pw-t-blog-aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:40px}
.pw-t-blog-aside-title{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:700;font-size:1.5rem;text-transform:uppercase;margin:0 0 16px;line-height:1}
.pw-t-blog-aside-title.pw-t-has-sub{margin-bottom:4px}
.pw-t-blog-aside-sub{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-stal);margin:0 0 16px}
.pw-t-blog-aside-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pw-t-blog-aside-item{border-top:1px solid rgba(90,102,107,0.4);padding:12px 0;display:flex;gap:12px;align-items:baseline}
.pw-t-blog-aside-date{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.75rem;letter-spacing:.06em;color:var(--pw-stal);white-space:nowrap;min-width:64px;font-variant-numeric:tabular-nums}
.pw-t-blog-aside-date.pw-t-near{color:var(--pw-czerwien)}
.pw-t-blog-aside-name{flex:1;font-size:.875rem;line-height:1.4}
.pw-t-blog-aside-num{font-family:"IBM Plex Mono",monospace;font-size:.75rem;color:var(--pw-stal);font-variant-numeric:tabular-nums}
.pw-t-blog-aside-link{flex:1;font-size:.9375rem;line-height:1.4}
.pw-t-blog-aside-note{border:1px solid rgba(90,102,107,0.4);border-radius:2px;padding:20px}
.pw-t-blog-aside-note-kicker{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-stal);margin:0 0 10px}
.pw-t-blog-aside-note-text{font-family:"IBM Plex Serif",Georgia,serif;font-size:.9375rem;line-height:1.65;margin:0}

/* Newsletter band (mockup: [data-r=kalendarium-blok]) */
.pw-t-blog-newsletter{background:var(--pw-atrament);color:var(--pw-papier);margin-top:clamp(64px,8vw,96px);padding:clamp(56px,7vw,88px) 0}
.pw-t-blog-newsletter-inner{max-width:640px;margin:0 auto;padding:0 24px;text-align:center}
.pw-t-blog-newsletter-title{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:700;font-size:clamp(2rem,4vw,3.5rem);line-height:.95;text-transform:uppercase;margin:0 0 16px;display:inline-block;text-shadow:-3px -2px 0 rgba(163,30,40,0.85)}
.pw-t-blog-newsletter-lead{margin:0 0 40px;font-size:1rem;line-height:1.6;color:rgba(246,244,238,0.8)}
.pw-t-blog-newsletter-form{display:flex;gap:16px;align-items:flex-end;justify-content:center;flex-wrap:wrap}
.pw-t-blog-newsletter-label{flex:1;min-width:240px;text-align:left}
.pw-t-blog-newsletter-label-text{display:block;font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-stal-jasna);margin-bottom:8px}
.pw-t-blog-newsletter-input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--pw-papier);border-radius:0;padding:10px 0;color:var(--pw-papier);font:inherit;font-size:1rem}
.pw-t-blog-newsletter-submit{cursor:pointer;border:0;border-radius:2px;background:var(--pw-papier);color:var(--pw-atrament);padding:16px 32px;font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.8125rem;letter-spacing:.1em;text-transform:uppercase;transition:background 120ms,color 120ms}
.pw-t-blog-newsletter-submit:hover{background:var(--pw-czerwien);color:var(--pw-papier)}
.pw-t-blog-newsletter-fineprint{margin:24px 0 0;font-family:"IBM Plex Mono",monospace;font-size:.7rem;line-height:1.6;color:var(--pw-stal-jasna)}
.pw-t-blog-newsletter-fineprint a{color:var(--pw-stal-jasna);border-bottom:1px solid rgba(110,122,128,0.6)}

/* ==== Single post (single.php) ========================================= */

.pw-t-post-kicker{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-czerwien);margin:0 0 24px}
.pw-t-post-kicker a{color:inherit}
.pw-t-post-title{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:800;font-size:clamp(2.75rem,6.5vw,5.5rem);line-height:.88;letter-spacing:-.02em;text-transform:uppercase;margin:0 0 28px;max-width:16ch;text-shadow:-3px -2px 0 rgba(163,30,40,0.85)}
.pw-t-post-lead{font-family:"IBM Plex Serif",Georgia,serif;font-size:clamp(1.0625rem,1.6vw,1.3125rem);line-height:1.6;margin:0 0 32px;max-width:60ch;color:rgba(246,244,238,0.9)}
.pw-t-post-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.08em;color:var(--pw-stal-jasna);border-top:1px solid rgba(110,122,128,0.4);padding-top:24px}
.pw-t-post-meta-author{color:var(--pw-papier)}

/* Hero figure */
.pw-t-post-figure{max-width:1280px;margin:0 auto;padding:clamp(32px,4vw,48px) clamp(24px,5vw,64px) 0}
.pw-t-post-figure-media{position:relative;aspect-ratio:16/7;background:repeating-linear-gradient(45deg,rgba(90,102,107,.18) 0 8px,transparent 8px 16px);border:1px solid rgba(90,102,107,0.35);display:flex;align-items:flex-end;padding:16px;overflow:hidden}
.pw-t-post-figure-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pw-t-post-figure-media .pw-t-blog-crosshair span{background:var(--pw-stal)}
.pw-t-post-figcaption{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.06em;color:var(--pw-stal);margin-top:10px}

/* Article layout: body + table of contents (mockup: [data-r=uklad]) */
.pw-t-post-layout{max-width:1280px;margin:0 auto;padding:clamp(40px,5vw,64px) clamp(24px,5vw,64px) 0;display:grid;grid-template-columns:1fr 240px;gap:64px;align-items:start}
.pw-t-post-body{max-width:68ch}

/* Article typography (the_content) — per the mockup: serif paragraphs, glitched headings */
.pw-t-post-content p{font-family:"IBM Plex Serif",Georgia,serif;font-size:1.0625rem;line-height:1.75;margin:0 0 24px}
.pw-t-post-content h2{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:700;font-size:clamp(1.75rem,3vw,2.5rem);line-height:1;text-transform:uppercase;margin:48px 0 20px;text-shadow:-3px -2px 0 rgba(163,30,40,0.85)}
.pw-t-post-content h3{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:700;font-size:clamp(1.375rem,2.2vw,1.75rem);line-height:1.05;text-transform:uppercase;margin:40px 0 16px}
.pw-t-post-content blockquote{margin:40px 0;padding:24px 0 24px 24px;border-left:2px solid var(--pw-czerwien)}
.pw-t-post-content blockquote p{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:700;font-size:clamp(1.5rem,2.6vw,2.125rem);line-height:1.05;text-transform:uppercase;margin:0 0 12px}
.pw-t-post-content blockquote p+p,
.pw-t-post-content blockquote cite{font-family:"IBM Plex Serif",Georgia,serif;font-weight:400;font-size:1rem;line-height:1.6;margin:0;color:var(--pw-stal);text-transform:none;font-style:normal}
.pw-t-post-content ul,
.pw-t-post-content ol{margin:0 0 24px;padding-left:20px;font-family:"IBM Plex Serif",Georgia,serif;font-size:1.0625rem;line-height:1.75}
.pw-t-post-content li{margin-bottom:10px}
.pw-t-post-content img{max-width:100%;height:auto;border:1px solid rgba(90,102,107,0.35)}
.pw-t-post-content figure{margin:40px 0;max-width:100%}
.pw-t-post-content figcaption{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.06em;color:var(--pw-stal);margin-top:10px}
.pw-t-post-content a{border-bottom:1px solid rgba(163,30,40,0.4)}
.pw-t-post-content hr{border:0;border-top:1px solid rgba(90,102,107,0.4);margin:48px 0}

/* Author box */
.pw-t-post-author{display:flex;gap:24px;align-items:flex-start;border:1px solid rgba(90,102,107,0.4);border-radius:2px;padding:24px;margin-top:40px}
.pw-t-post-author-avatar{width:72px;height:72px;flex:none;background:repeating-linear-gradient(45deg,rgba(90,102,107,.18) 0 6px,transparent 6px 12px);border:1px solid rgba(90,102,107,0.3);overflow:hidden}
.pw-t-post-author-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.pw-t-post-author-kicker{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-stal);margin:0 0 8px}
.pw-t-post-author-name{font-weight:600;font-size:1rem;margin:0 0 6px}
.pw-t-post-author-bio{font-family:"IBM Plex Serif",Georgia,serif;font-size:.9375rem;line-height:1.6;margin:0;color:var(--pw-stal);max-width:52ch}

/* Table of contents + share (mockup: [data-r=spis]) */
.pw-t-post-aside{position:sticky;top:100px}
.pw-t-post-aside-kicker{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-stal);margin:0 0 14px}
.pw-t-post-toc{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-direction:column}
.pw-t-post-toc li{border-top:1px solid rgba(90,102,107,0.4)}
.pw-t-post-toc li:last-child{border-bottom:1px solid rgba(90,102,107,0.4)}
.pw-t-post-toc a{display:flex;min-height:40px;align-items:center;font-size:.9375rem;line-height:1.35}
.pw-t-post-share{display:flex;gap:8px;flex-wrap:wrap}
.pw-t-post-share a{border:1px solid rgba(90,102,107,0.4);border-radius:2px;padding:8px 12px;font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;transition:background 120ms,color 120ms}
.pw-t-post-share a:hover{background:var(--pw-atrament);color:var(--pw-papier)}

/* Previous / next post (not in the mockup — styled with the mockup vocabulary) */
.pw-t-post-nav{max-width:1280px;margin:0 auto;padding:clamp(40px,5vw,64px) clamp(24px,5vw,64px) 0}
.pw-t-post-nav .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid rgba(90,102,107,0.4);padding-top:24px}
.pw-t-post-nav .nav-next{text-align:right}
.pw-t-post-nav-label{display:block;font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-stal);margin-bottom:8px}
.pw-t-post-nav-title{display:block;font-size:1.0625rem;font-weight:600;line-height:1.3}

/* "Ten znak w kolekcji" — products from the matching collection (mockup: [data-r=produkty]) */
.pw-t-post-products{background:var(--pw-atrament);color:var(--pw-papier);margin-top:clamp(64px,8vw,96px);padding:clamp(56px,7vw,88px) 0}
.pw-t-post-products-head{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.pw-t-post-products-title{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:.95;text-transform:uppercase;margin:0;text-shadow:-3px -2px 0 rgba(163,30,40,0.85)}
.pw-t-post-products-count{font-family:"IBM Plex Mono",monospace;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-stal-jasna);margin:0}
.pw-t-post-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.pw-t-post-product a{display:block;color:var(--pw-papier)}
.pw-t-post-product-media{position:relative;aspect-ratio:4/5;background:repeating-linear-gradient(45deg,rgba(110,122,128,.28) 0 7px,transparent 7px 14px);border:1px solid rgba(110,122,128,0.4);display:flex;align-items:flex-end;padding:10px;overflow:hidden;transition:filter 120ms}
.pw-t-post-product a:hover .pw-t-post-product-media{filter:contrast(1.15) brightness(1.05)}
.pw-t-post-product-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pw-t-post-product-kicker{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-stal-jasna);margin:14px 0 6px}
.pw-t-post-product-name{font-size:1.125rem;font-weight:600;line-height:1.3;margin:0 0 8px}
.pw-t-post-product-price{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:1rem;margin:0;font-variant-numeric:tabular-nums}

/* "Czytaj dalej" — related posts (mockup: [data-r=dalej]) */
.pw-t-post-related{max-width:1280px;margin:0 auto;padding:clamp(64px,8vw,96px) clamp(24px,5vw,64px)}
.pw-t-post-related-title{font-family:"Big Shoulders Display","Big Shoulders",Impact,sans-serif;font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:.95;text-transform:uppercase;margin:0 0 32px;display:inline-block;text-shadow:-3px -2px 0 rgba(163,30,40,0.85)}
.pw-t-post-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pw-t-post-related-card{border-top:1px solid rgba(90,102,107,0.4);padding-top:20px}
.pw-t-post-related-kicker{font-family:"IBM Plex Mono",monospace;font-weight:500;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pw-czerwien);margin:0 0 10px}
.pw-t-post-related-card h3{font-size:1.25rem;font-weight:600;line-height:1.25;margin:0 0 10px}
.pw-t-post-related-excerpt{font-family:"IBM Plex Serif",Georgia,serif;font-size:.9375rem;line-height:1.65;margin:0 0 12px;color:var(--pw-stal)}
.pw-t-post-related-meta{font-family:"IBM Plex Mono",monospace;font-size:.7rem;letter-spacing:.08em;color:var(--pw-stal);margin:0}
