/*
Theme Name: Aleksandra Wajnert
Theme URI: https://aleksandrawajnert.pl
Author: Piotr Lizak
Description: Motyw blokowy strony adwokat Aleksandry Wajnert (prawo dla biznesu online), z WooCommerce.
Version: 0.3.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.1
Text Domain: aw
*/

/* Tokeny, które nie mieszczą się w theme.json */
:root {
	--aw-header-h: 88px;
	--aw-gold-on-dark: #d8cd34; /* złoto tylko na granacie/zieleni, na bieli nie spełnia kontrastu */
}

/* Jak w prototypie: padding wlicza się w szerokość elementu */
.wp-site-blocks *, .wp-site-blocks *::before, .wp-site-blocks *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.screen-reader-text,
.sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}

.skip-link {
	position: absolute; left: 1rem; top: -4rem; z-index: 100;
	background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink);
	padding: .75rem 1rem; font-weight: 800;
}
.skip-link:focus { top: 1rem; }

/* Odstępy w treści zwykłych stron (globalny odstęp bloków w theme.json jest 0, bo strona główna ma własne marginesy) */
.aw-page-content > * + *,
.wp-block-post-content.aw-page-content > * + * { margin-block-start: 1.25em; }
.aw-page-content h2, .aw-page-content h3 { margin-block-start: 1.6em; }

.aw-section-id {
	margin: 0; color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--eyebrow); font-weight: 800;
	letter-spacing: .16em; text-transform: uppercase;
}

/* ---------- Nagłówek: marka | menu (środek) | ikony + CTA ---------- */
.aw-header {
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper);
	border-bottom: 1px solid rgba(255, 255, 255, .16);
	position: relative; z-index: 20;
}
.aw-header a { color: inherit; text-decoration: none; }
.aw-header, .home-main, .aw-footer-full { line-height: normal; } /* prototyp nie ustawia interlinii */
.aw-header__inner {
	min-height: calc(var(--aw-header-h) - 1px);
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem;
	padding: 0 3.1vw;
}
.aw-brand { display: flex; align-items: center; gap: 12px; width: max-content; }
.aw-brand__mark {
	display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%;
	background: var(--wp--preset--color--green); color: #fff; font-size: 12px; font-weight: 800;
}
.aw-brand__copy { display: flex; flex-direction: column; gap: 4px; line-height: 1; text-transform: uppercase; letter-spacing: .1em; white-space: nowrap; }
.aw-brand__copy strong { font-size: 11px; }
.aw-brand__copy small { font-size: 8px; color: #aebbb5; font-weight: 700; }

.aw-header .wp-block-navigation { color: #d4dbd8; justify-self: center; font-size: 11px; }
.aw-header .wp-block-navigation__container { gap: 22px; flex-wrap: nowrap; }
.aw-header .wp-block-navigation-item__content { padding: 0; white-space: nowrap; }
.aw-header .wp-block-navigation a:hover,
.aw-header .wp-block-navigation a:focus-visible { color: var(--aw-gold-on-dark); }
.aw-header .wp-block-navigation__submenu-container {
	background: #fff !important; color: var(--wp--preset--color--ink) !important;
	border: 1px solid rgba(21, 27, 37, .12) !important; box-shadow: 0 18px 46px rgba(12, 18, 27, .16);
	min-width: 286px; padding: 8px;
}
.aw-header .wp-block-navigation__submenu-container a { color: var(--wp--preset--color--ink); padding: 14px 16px; }
.aw-header .wp-block-navigation__submenu-container a:hover { background: var(--wp--preset--color--blue-soft); color: var(--wp--preset--color--green); }

.aw-header__right { display: flex; align-items: center; justify-content: flex-end; gap: 14px; }
.aw-header__right .wp-block-woocommerce-mini-cart,
.aw-header__right .wp-block-woocommerce-customer-account { color: #d4dbd8; font-size: 12px; }
.aw-header__right .wc-block-mini-cart__button,
.aw-header__right .wc-block-customer-account__account-icon { color: inherit; }
.aw-header__right svg { width: 18px; height: 18px; fill: currentColor; }

.aw-cta {
	display: inline-flex; align-items: center; gap: 12px; white-space: nowrap;
	border: 1px solid rgba(255, 255, 255, .48); padding: 14px 17px; line-height: 1.2;
	font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em;
}
.aw-cta span { color: var(--aw-gold-on-dark); }
.aw-cta:hover { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--ink) !important; }
.aw-cta:hover span { color: var(--wp--preset--color--ink); }
.aw-cta__short { display: none; }
.aw-nav-cta { display: none; } /* pozycja tylko w menu mobilnym */

/* Mobile (jak w prototypie): marka | koszyk | hamburger; przycisk CTA jest pozycją w rozwijanym menu */
@media (max-width: 1360px) {
	:root { --aw-header-h: 76px; }
	.aw-header .wp-block-navigation__responsive-container-open { display: flex !important; }
	.aw-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.aw-header__inner { display: flex; justify-content: space-between; gap: .5rem; padding: 0 24px; }
	.aw-header .wp-block-navigation { justify-self: auto; order: 3; }
	.aw-header__right { order: 2; margin-left: auto; }
	.aw-header__right .aw-cta { display: none; }
	.aw-nav-cta { display: list-item; }
	.aw-header .wp-block-navigation__responsive-container-open { border: 1px solid rgba(255, 255, 255, .35); padding: 12px; color: #fff; }
	.aw-header .wp-block-navigation__responsive-container.is-menu-open { padding: 22px 24px; background: var(--wp--preset--color--ink) !important; animation: none !important; }
	.aw-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; justify-content: flex-start; padding-top: 56px; }
	.aw-header .is-menu-open .wp-block-navigation-item { align-items: flex-start; width: 100%; text-align: left; }
	.aw-header .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; box-shadow: none; padding: 0 0 0 16px; min-width: 0; width: 100%; color: #d4dbd8 !important; }
	.aw-header .is-menu-open .wp-block-navigation__submenu-container a { color: #d4dbd8 !important; font-size: 14px; font-weight: 500; padding: 12px 0; background: transparent; }
	.aw-header .is-menu-open .aw-nav-cta .wp-block-navigation-item__content { color: var(--aw-gold-on-dark); }
	.aw-header .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; }
	.aw-header .is-menu-open .wp-block-navigation__container { align-items: stretch !important; width: 100%; }
	.aw-header .is-menu-open .wp-block-navigation-item { align-items: stretch !important; flex-direction: column; }
	.aw-header .is-menu-open .wp-block-navigation-item__content { width: 100%; text-align: left; }
	.aw-header .is-menu-open .wp-block-navigation__submenu-container a { border-bottom: 1px solid rgba(255, 255, 255, .08); }
	.aw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; align-items: stretch; width: 100%; }
	.aw-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; padding: 14px 0; font-size: 16px; font-weight: 600; letter-spacing: -.02em; border-bottom: 1px solid rgba(255, 255, 255, .15); color: #fff; }
}
@media (max-width: 781px) {
	.aw-header__inner { padding: 0 16px; }
	.aw-brand { gap: 8px; }
	.aw-brand__copy strong { font-size: 9px; }
	.aw-brand__copy small { font-size: 7px; white-space: nowrap; }
	.aw-header__right .wp-block-woocommerce-customer-account { display: none; }
}
/* Bez odstępów między nagłówkiem, treścią i stopką (sekcje same ustalają swoje marginesy) */
.wp-site-blocks > * + * { margin-block-start: 0; }
