/*
Theme Name: Agnieszka Fiszer
Theme URI: https://agnieszkafiszer.com
Template: twentytwentyfive
Author: Ewa Pankau
Description: Motyw potomny Twenty Twenty-Five dla strony Agnieszki Fiszer: kolory i fonty marki oraz gotowe sekcje (wzorce) strony.
Version: 0.4.0
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: agnieszka-fiszer
*/

/* ------------------------------------------------------------
   Zmienne pomocnicze
   ------------------------------------------------------------ */
:root {
	--af-green: var(--wp--preset--color--accent-1, #1E3B32);
	--af-burgundy: var(--wp--preset--color--accent-2, #8C1D47);
	--af-card: var(--wp--preset--color--accent-3, #FDFAF6);
	--af-muted: var(--wp--preset--color--accent-4, #6E6560);
	--af-blush: var(--wp--preset--color--accent-5, #F4E8E2);
	--af-line: var(--wp--preset--color--accent-6, #E8DED4);
	--af-pink-line: #EBC9D3;
	--af-radius: 16px;
	--af-shadow: 0 12px 32px rgba(70, 45, 30, 0.08);
}

/* ------------------------------------------------------------
   Elementy wspólne
   ------------------------------------------------------------ */
.af-section {
	padding-top: clamp(56px, 8vw, 104px);
	padding-bottom: clamp(56px, 8vw, 104px);
	position: relative;
	overflow: hidden;
}

/* Mały nagłówek nad tytułem sekcji */
.af-eyebrow {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--af-burgundy);
	margin-bottom: 0.4rem;
}
.af-eyebrow--lines::before,
.af-eyebrow--lines::after {
	content: "";
	display: inline-block;
	width: 56px;
	height: 1px;
	background: var(--af-burgundy);
	vertical-align: middle;
	margin: 0 18px;
	opacity: 0.7;
}
.af-eyebrow--sprig::before,
.af-small--sprig::before {
	content: "";
	display: inline-block;
	width: 26px;
	height: 26px;
	margin-right: 10px;
	vertical-align: -7px;
	background: url("assets/icons/galazka.svg") center / contain no-repeat;
}

.af-section-title { margin-top: 0.2rem; }

.af-lead {
	max-width: 36em;
	margin-left: auto !important;
	margin-right: auto !important;
	font-size: 1.05rem;
}
.af-lead strong { color: var(--af-green); font-weight: 600; }

.af-subtitle {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: clamp(1.25rem, 2vw, 1.6rem);
	color: var(--af-green);
	margin-top: 0.3rem;
}
.af-accent { color: var(--af-burgundy); font-weight: 600; }
.af-small { font-size: 0.9rem; color: var(--af-muted); }

.af-script {
	font-family: var(--wp--preset--font-family--great-vibes);
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	color: var(--af-burgundy);
	line-height: 1.1;
	margin: 0;
}

/* Delikatne gałązki w tle sekcji */
.af-leaves::before {
	content: "";
	position: absolute;
	top: -20px;
	right: -40px;
	width: 320px;
	height: 320px;
	background: url("assets/decor/galaz.svg") center / contain no-repeat;
	opacity: 0.55;
	pointer-events: none;
	z-index: 0;
}
.af-leaves--right::before {
	top: auto;
	bottom: -30px;
	right: -50px;
	transform: rotate(10deg);
}
.af-leaves > * { position: relative; z-index: 1; }

/* Obrazy w sekcjach: bez marginesów figur, zaokrąglone */
.af-hero-img img,
.af-card-img img,
.af-about-img img,
.af-gal-big img,
.af-gal-small img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* ------------------------------------------------------------
   HERO
   ------------------------------------------------------------ */
.af-hero {
	padding-top: clamp(24px, 4vw, 48px);
	padding-bottom: clamp(24px, 4vw, 48px);
	overflow: hidden;
}
.af-hero-cols { gap: clamp(24px, 4vw, 56px); }
.af-ornament { margin-bottom: 0.4rem !important; }
.af-hero-title {
	font-size: clamp(2.5rem, 5vw, 4.2rem);
	line-height: 1.08;
	margin-top: 0.2rem;
}
.af-hero-lead {
	max-width: 30em;
	font-size: 1.05rem;
}
.af-hero-buttons { margin-top: 1.8rem; gap: 14px; }
.af-hero-img { margin: 0; }
.af-hero-img img {
	aspect-ratio: 4 / 3;
	border-radius: var(--af-radius);
}
@media (min-width: 782px) {
	.af-hero-img img {
		border-radius: 0;
		-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 22%);
		mask-image: linear-gradient(to right, transparent 0%, #000 22%);
	}
}

/* ------------------------------------------------------------
   KARTY „Wybierz swoją ścieżkę”
   ------------------------------------------------------------ */
.af-sprig { margin-bottom: 0.2rem !important; }
.af-cards {
	margin-top: clamp(32px, 4vw, 56px) !important;
	gap: clamp(20px, 2.5vw, 36px);
}
.af-cards > .wp-block-column { display: flex; }
.af-card {
	background: var(--af-card);
	border-radius: var(--af-radius);
	box-shadow: var(--af-shadow);
	overflow: hidden;
	padding-bottom: 26px;
	display: flex;
	flex-direction: column;
	width: 100%;
	border: 1.5px solid transparent;
}
.af-card--wyroznione { border-color: var(--af-pink-line); }
.af-card > * {
	padding-left: 28px;
	padding-right: 28px;
	max-width: none !important;
	width: 100%;
	box-sizing: border-box;
}
.af-card > .af-card-img {
	padding: 0;
	margin: 0 !important;
}
.af-card-img img { aspect-ratio: 16 / 10; }
.af-card > .af-card-icon {
	display: flex;
	justify-content: center;
	margin-top: -46px !important;
	margin-bottom: 0 !important;
	position: relative;
	z-index: 2;
}
.af-card-icon img {
	width: 92px !important;
	height: 92px !important;
	padding: 20px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 6px 18px rgba(70, 45, 30, 0.10);
	box-sizing: border-box;
}
.af-card-title {
	font-size: clamp(1.35rem, 2vw, 1.65rem) !important;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin-top: 1rem !important;
}
.af-card-sub {
	color: var(--af-burgundy);
	font-weight: 600;
	margin-top: 0.3rem !important;
}
.af-card-text {
	font-size: 0.95rem;
	color: var(--af-muted);
	margin-bottom: 1.2rem;
}
.af-card > .af-card-link {
	margin-top: auto !important;
	padding-top: 18px;
	border-top: 1px solid var(--af-line);
	width: calc(100% - 56px);
	margin-left: 28px !important;
	margin-right: 28px !important;
	padding-left: 0;
	padding-right: 0;
}
.af-card-link a {
	color: var(--af-green);
	font-weight: 600;
	text-decoration: none;
}
.af-card--wyroznione .af-card-link a { color: var(--af-burgundy); }
.af-card-link a:hover { text-decoration: underline; }

/* Pasek pod kartami */
.af-tagline {
	margin-top: clamp(32px, 4vw, 52px) !important;
	gap: 14px 28px;
	align-items: center;
}
.af-tagline-text {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 1.1rem;
	margin: 0;
}
.af-tagline-text::before {
	content: "";
	display: inline-block;
	width: 28px;
	height: 28px;
	margin-right: 12px;
	vertical-align: -8px;
	background: url("assets/icons/serce.svg") center / contain no-repeat;
}

/* ------------------------------------------------------------
   POZNAJ AGNIESZKĘ
   ------------------------------------------------------------ */
.af-about { background: var(--af-blush); }
.af-about-cols { gap: clamp(28px, 5vw, 72px); }
.af-about-img { margin: 0; }
.af-about-img img {
	border-radius: var(--af-radius);
	aspect-ratio: 5 / 6;
	box-shadow: var(--af-shadow);
}
.af-about-title { font-size: clamp(1.6rem, 2.6vw, 2.2rem) !important; }
.af-features {
	gap: 18px 30px;
	margin-top: 1.4rem !important;
	margin-bottom: 1.2rem !important;
}
.af-feature,
.af-list-item {
	gap: 12px;
	align-items: center;
}
.af-feature p,
.af-list-item p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.35;
	color: var(--af-green);
	font-weight: 500;
}
.af-feature-icon { margin: 0 !important; flex-shrink: 0; }
.af-feature-icon img {
	width: 52px !important;
	height: 52px !important;
	padding: 11px;
	border-radius: 50%;
	background: #fff;
	box-sizing: border-box;
}

/* ------------------------------------------------------------
   KASZUBY
   ------------------------------------------------------------ */
.af-kaszuby-cols { gap: clamp(28px, 5vw, 64px); }
.af-gallery > * + * { margin-top: 14px !important; }
.af-gal-big { margin: 0; }
.af-gal-big img { aspect-ratio: 16 / 10; border-radius: var(--af-radius); }
.af-gal-row { gap: 14px; margin-bottom: 0; }
.af-gal-small { margin: 0; }
.af-gal-small img { aspect-ratio: 5 / 4; border-radius: var(--af-radius); }
.af-kaszuby-title { font-size: clamp(2rem, 4vw, 3.2rem) !important; margin-top: 0.3rem !important; }
.af-list { margin-top: 1.4rem !important; }
.af-list > .af-list-item {
	padding: 10px 0;
	border-bottom: 1px solid var(--af-line);
	margin: 0 !important;
	max-width: none !important;
}
.af-list .af-feature-icon img { background: var(--af-blush); }
.af-list-item p { color: var(--wp--preset--color--contrast); font-weight: 400; font-size: 1rem; }
.af-kaszuby-buttons { margin-top: 1.6rem !important; gap: 12px; }

/* ------------------------------------------------------------
   Telefon
   ------------------------------------------------------------ */
@media (max-width: 781px) {
	.af-hero-media { order: -1; }
	.af-eyebrow--lines::before,
	.af-eyebrow--lines::after { width: 28px; margin: 0 10px; }
	.af-leaves::before { width: 200px; height: 200px; opacity: 0.35; }
	.af-card { max-width: 480px; margin: 0 auto; }
}

/* ------------------------------------------------------------
   NAGŁÓWEK
   ------------------------------------------------------------ */
.af-topbar {
	background: var(--af-green);
	color: #F4EEE6;
	font-size: 0.8rem;
	padding-top: 7px;
	padding-bottom: 7px;
}
.af-topbar p { margin: 0; }
.af-topbar a { color: #F4EEE6; text-decoration: none; }
.af-topbar a:hover { text-decoration: underline; }
.af-topbar-contact a + a { margin-left: 26px; }
.af-tel::before,
.af-mail::before {
	display: inline-block;
	margin-right: 7px;
	font-size: 0.95em;
}
.af-tel::before { content: "✆"; }
.af-mail::before { content: "✉"; }
.af-topbar-motto { letter-spacing: 0.04em; opacity: 0.9; }

.af-header {
	background: rgba(253, 250, 246, 0.92);
	border-bottom: 1px solid var(--af-line);
	padding-top: 14px;
	padding-bottom: 14px;
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: blur(6px);
}
.admin-bar .af-header { top: 32px; }
.af-header-inner { align-items: center; gap: 24px; }
.af-brand { gap: 12px; align-items: center; }
.af-brand-text { gap: 0 !important; }
.af-site-title {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 1.35rem;
	line-height: 1.05;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin: 0;
}
.af-site-title a { color: var(--af-green); text-decoration: none; }
.af-site-tagline {
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	color: var(--af-burgundy);
	margin: 2px 0 0 !important;
}
.af-header-right { gap: 22px; align-items: center; }
.af-nav {
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	gap: 26px;
}
.af-nav a { color: var(--af-green); text-decoration: none; }
.af-nav .wp-block-navigation-item__content:hover,
.af-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--af-burgundy); }
.af-nav .wp-block-navigation__submenu-container {
	background: var(--af-card) !important;
	border: 1px solid var(--af-line) !important;
	border-radius: 10px;
	padding: 8px 0;
	box-shadow: var(--af-shadow);
	text-transform: none;
	letter-spacing: 0;
	font-weight: 500;
	min-width: 230px !important;
}
.af-nav .wp-block-navigation__submenu-container a { padding: 8px 18px !important; }
.af-social { gap: 12px; }
.af-social .wp-social-link { color: var(--af-green) !important; }
.af-social .wp-social-link svg { width: 20px; height: 20px; }

@media (max-width: 781px) {
	.af-topbar-motto { display: none; }
	.af-topbar-contact a + a { margin-left: 14px; }
	.af-header-right .af-social { display: none; }
	.admin-bar .af-header { top: 0; }
}

/* ------------------------------------------------------------
   OPINIE
   ------------------------------------------------------------ */
.af-opinions { background: var(--af-blush); }
.af-quotes { margin-top: clamp(28px, 4vw, 48px) !important; gap: clamp(18px, 2.5vw, 32px); }
.af-quotes > .wp-block-column { display: flex; }
.af-quote {
	background: var(--af-card);
	border-radius: var(--af-radius);
	box-shadow: var(--af-shadow);
	padding: 30px 30px 26px;
	width: 100%;
	position: relative;
}
.af-quote > * { max-width: none !important; }
.af-quote::before {
	content: "“";
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 4rem;
	line-height: 1;
	color: var(--af-burgundy);
	display: block;
	height: 2.2rem;
}
.af-quote-title { font-size: 1.3rem !important; margin-top: 0.4rem !important; }
.af-quote-text { font-size: 0.95rem; font-style: italic; color: var(--af-muted); }
.af-quote-author { font-size: 0.85rem; font-weight: 600; color: var(--af-burgundy); }

/* ------------------------------------------------------------
   WIEDZA / ARTYKUŁY
   ------------------------------------------------------------ */
.af-posts { margin-top: clamp(28px, 4vw, 48px) !important; }
.af-posts .wp-block-post-template { gap: clamp(18px, 2.5vw, 32px); }
.af-post-card {
	background: var(--af-card);
	border-radius: var(--af-radius);
	box-shadow: var(--af-shadow);
	overflow: hidden;
	padding-bottom: 22px;
	height: 100%;
}
.af-post-card > * { padding-left: 24px; padding-right: 24px; max-width: none !important; }
.af-post-card > .wp-block-post-featured-image { padding: 0; margin: 0 !important; }
.af-post-title { font-size: 1.2rem !important; }
.af-post-title a { color: var(--af-green); text-decoration: none; }
.af-post-excerpt { font-size: 0.92rem; color: var(--af-muted); }
.af-read-more,
.af-post-card .wp-block-read-more {
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--af-burgundy);
	text-decoration: none;
	display: inline-block;
	margin-left: 24px;
}

/* ------------------------------------------------------------
   KONTAKT
   ------------------------------------------------------------ */
.af-contact-cols { gap: clamp(24px, 4vw, 48px); }
.af-contact-title { margin-top: 0.2rem !important; }
.af-contact-list { line-height: 2; }
.af-contact-list a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.af-pin::before { content: "⌖"; margin-right: 7px; color: var(--af-burgundy); }
.af-contact-list .af-tel::before,
.af-contact-list .af-mail::before { color: var(--af-burgundy); }
.af-map iframe {
	width: 100%;
	height: 100%;
	min-height: 340px;
	border: 0;
	border-radius: var(--af-radius);
	box-shadow: var(--af-shadow);
	display: block;
}

/* ------------------------------------------------------------
   STOPKA
   ------------------------------------------------------------ */
.af-footer {
	background: var(--af-green);
	color: #F4EEE6;
	padding-top: 26px;
	padding-bottom: 26px;
	margin-top: 0 !important;
}
.af-footer-inner { align-items: center; gap: 18px 32px; }
.af-footer-left,
.af-footer-right { gap: 10px 28px; align-items: center; }
.af-footer p { margin: 0; }
.af-footer-brand {
	font-family: var(--wp--preset--font-family--playfair);
	font-size: 1.15rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.af-footer-copy { font-size: 0.8rem; opacity: 0.85; }
.af-footer a { color: #F4EEE6; text-decoration: none; }
.af-footer a:hover { text-decoration: underline; }
.af-footer-nav {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	gap: 22px;
}
.af-social--light .wp-social-link { color: #F4EEE6 !important; }

/* Bez odstępu między treścią a stopką/nagłówkiem */
.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-template-part:last-child { margin-top: 0; }
main.wp-block-group { margin-top: 0; }
