/*
Theme Name: Szybki Motyw
Theme URI: https://example.com/szybki-motyw
Author: (Twoje imię)
Author URI: https://example.com
Description: Minimalny, szybki motyw WordPress (classic) z podstawowymi ustawieniami: logo, menu, miniatury, HTML5, responsywność i prosta typografia.
Version: 1.2.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: szybki-motyw
Tags: blog, one-column, custom-logo, custom-menu, featured-images, accessibility-ready
*/

/* ===== Reset / base ===== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; line-height: 1.6; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji"; color: #111; background: #fff; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .15em; }
a:hover { text-decoration-thickness: .12em; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

/* ===== Layout ===== */
:root {
  --container: 72rem;
  --gutter: 1rem;
  --radius: .75rem;
  --muted: #666;
  --border: #e7e7e7;
}
.container { max-width: var(--container); padding: 0 var(--gutter); margin: 0 auto; }
.site-header { border-bottom: var(--szybki-header-border-width, 1px) var(--szybki-header-border-style, solid) var(--szybki-header-border-color, var(--border)); background: var(--szybki-header-bg, transparent); }
.header-inner { position: relative; display: grid; gap: 1rem; align-items: center; padding: var(--szybki-header-pad-y, 1rem) 0; grid-template-columns: var(--szybki-header-grid, auto 1fr); }
.szybki-is-mobile .header-inner { grid-template-columns: var(--szybki-header-grid-mobile, 1fr); }
.header-col { min-width: 0; display: flex; flex-direction: column; gap: .5rem; }
.header-col.align-left { align-items: flex-start; text-align: left; }
.header-col.align-center { align-items: center; text-align: center; }
.header-col.align-right { align-items: flex-end; text-align: right; }
.header-html { font-size: .9375rem; }
.nav-primary-wrap { display: flex; align-items: center; gap: .75rem; }

.site-branding { display: flex; gap: .75rem; align-items: center; min-width: 0; }
.site-title { font-size: 1.125rem; margin: 0; line-height: 1.2; }
.site-description { margin: 0; color: var(--muted); font-size: .9375rem; }
.custom-logo { max-height: 48px; width: auto; border-radius: .25rem; }

.main { padding: var(--szybki-main-pad-y, 2rem) 0; }
.entry { padding: var(--szybki-entry-pad, 1.25rem); border-style: solid; border-width: var(--szybki-entry-border-width, 1px); border-color: var(--szybki-entry-border-color, var(--border)); border-radius: var(--szybki-entry-radius, var(--radius)); background: var(--szybki-entry-bg, transparent); box-shadow: var(--szybki-entry-shadow, none); }
.entry + .entry { margin-top: 1rem; }
.entry-title { margin: 0 0 .5rem; line-height: 1.25; font-size: 1.375rem; }
.entry-meta { margin: 0 0 1rem; color: var(--muted); font-size: .9375rem; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content > *:last-child { margin-bottom: 0; }

.nav-primary ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: var(--szybki-nav-gap-y, .75rem) var(--szybki-nav-gap-x, 1rem); justify-content: var(--szybki-nav-justify, flex-start); }

.nav-primary a { display: inline-block; padding: var(--szybki-nav-link-pad-y, .25rem) var(--szybki-nav-link-pad-x, 0); color: var(--szybki-nav-color, inherit); font-size: var(--szybki-nav-font-size, inherit); }
.nav-primary a:hover { color: var(--szybki-nav-hover-color, var(--accent)); }

.nav-primary .current-menu-item > a,
.nav-primary .current_page_item > a { text-decoration: underline; }


/* Mobile navigation (JS adds .szybki-is-mobile to <body>) */
.szybki-is-mobile .menu-toggle { display: inline-flex; }
.szybki-is-mobile .nav-primary { 
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 999;
	margin-top: .5rem;
	padding: .5rem;
	background: var(--szybki-mobile-menu-bg, var(--bg));
	border: 1px solid var(--border);
	border-radius: .75rem;
}
.szybki-is-mobile .nav-primary.is-open { display: block; }
.szybki-is-mobile .nav-primary ul { flex-direction: column; flex-wrap: nowrap; gap: 0; justify-content: flex-start; }
.szybki-is-mobile .nav-primary a { 
	display: block;
	padding: var(--szybki-mobile-link-pad-y, 12px) var(--szybki-mobile-link-pad-x, 0);
	text-align: var(--szybki-mobile-link-align, left);
}

.pagination { display: flex; gap: .75rem; margin-top: 1.5rem; }
.pagination a, .pagination span { padding: .5rem .75rem; border: 1px solid var(--border); border-radius: .5rem; text-decoration: none; }
.pagination .current { font-weight: 600; }

.site-footer { text-align: var(--szybki-footer-text-align, left); border-top: var(--szybki-footer-border-width, 1px) var(--szybki-footer-border-style, solid) var(--szybki-footer-border-color, var(--border)); padding: var(--szybki-footer-pad-y, 1.5rem) 0; color: var(--szybki-footer-color, var(--muted)); background: var(--szybki-footer-bg, transparent); }
.footer-inner { display: grid; gap: 1rem; align-items: center; grid-template-columns: var(--szybki-footer-grid, 1fr auto); }
.szybki-is-mobile .footer-inner { grid-template-columns: var(--szybki-footer-grid-mobile, 1fr); }
.footer-col { min-width: 0; display: flex; flex-direction: column; gap: .5rem; }
.footer-col.align-left { align-items: flex-start; text-align: left; }
.footer-col.align-center { align-items: center; text-align: center; }
.footer-col.align-right { align-items: flex-end; text-align: right; }
.footer-col.align-center .nav-footer ul { justify-content: center; }
.footer-col.align-right .nav-footer ul { justify-content: flex-end; }
.footer-html { font-size: .9375rem; }

.nav-footer ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .75rem 1rem; justify-content: var(--szybki-footer-nav-justify, flex-start); }


.screen-reader-text {
	position: absolute !important;
	height: 1px; width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--border);
	border-radius: .5rem;
	background: transparent;
	cursor: pointer;
}

.menu-toggle__icon,
.menu-toggle__icon::before,
.menu-toggle__icon::after {
	display: block;
	width: 18px;
	height: 2px;
	background: currentColor;
	content: "";
	position: relative;
}

.menu-toggle__icon::before { position: absolute; top: -6px; left: 0; right: 0; }
.menu-toggle__icon::after  { position: absolute; top:  6px; left: 0; right: 0; }

.skip-link { position: absolute; left: -9999px; top: 1rem; background: #fff; padding: .5rem .75rem; border: 1px solid var(--border); border-radius: .5rem; }
.skip-link:focus { left: 1rem; z-index: 9999; }

/* Gutenberg blocks - basic spacing */
.wp-block { max-width: 100%; }
.wp-block-image { margin: 0; }
.wp-block-gallery { margin: 0; }

/* Comments */
.comments-area { margin-top: 1.5rem; }
.comment-list { list-style: none; padding: 0; margin: 1rem 0 0; }
.comment { padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius); }
.comment + .comment { margin-top: .75rem; }
.comment-meta { color: var(--muted); font-size: .9375rem; }
.comment-respond input, .comment-respond textarea { width: 100%; max-width: 42rem; padding: .6rem .7rem; border: 1px solid var(--border); border-radius: .5rem; font: inherit; }
.comment-respond textarea { min-height: 9rem; }
.comment-respond input[type="submit"] { width: auto; cursor: pointer; }


/* ===== CTA + Social ===== */
/* CTA button */
.cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  text-decoration: none;
  border-style: solid;
  border-width: var(--szybki-cta-border-width, 1px);
  border-color: var(--szybki-cta-border-color, currentColor);
  border-radius: var(--szybki-cta-radius, .5rem);
  padding: var(--szybki-cta-pad-y, .5rem) var(--szybki-cta-pad-x, .75rem);
  background: var(--szybki-cta-bg, transparent);
  color: var(--szybki-cta-color, inherit);
  font-weight: 600;
  line-height: 1.2;
}
.cta-btn:hover,
.cta-btn:focus-visible { text-decoration: none; filter: brightness(.95); }

.site-header .cta-btn {
  --szybki-cta-bg: var(--szybki-header-cta-bg, transparent);
  --szybki-cta-color: var(--szybki-header-cta-color, inherit);
  --szybki-cta-border-color: var(--szybki-header-cta-border-color, currentColor);
  --szybki-cta-border-width: var(--szybki-header-cta-border-width, 1px);
  --szybki-cta-radius: var(--szybki-header-cta-radius, .5rem);
  --szybki-cta-pad-x: var(--szybki-header-cta-pad-x, .75rem);
  --szybki-cta-pad-y: var(--szybki-header-cta-pad-y, .5rem);
}
.site-footer .cta-btn {
  --szybki-cta-bg: var(--szybki-footer-cta-bg, transparent);
  --szybki-cta-color: var(--szybki-footer-cta-color, inherit);
  --szybki-cta-border-color: var(--szybki-footer-cta-border-color, currentColor);
  --szybki-cta-border-width: var(--szybki-footer-cta-border-width, 1px);
  --szybki-cta-radius: var(--szybki-footer-cta-radius, .5rem);
  --szybki-cta-pad-x: var(--szybki-footer-cta-pad-x, .75rem);
  --szybki-cta-pad-y: var(--szybki-footer-cta-pad-y, .5rem);
}

/* Social icons */
.social-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--szybki-social-gap, 10px);
}
.align-center .social-links { justify-content: center; }
.align-right .social-links { justify-content: flex-end; }

.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--szybki-social-color, inherit);
  text-decoration: none;
}
.social-links a:hover,
.social-links a:focus-visible { color: var(--szybki-social-hover-color, var(--accent)); }
.social-links svg {
  width: var(--szybki-social-size, 18px);
  height: var(--szybki-social-size, 18px);
  fill: currentColor;
}
