/*
Theme Name: Anielska
Theme URI: https://anielska.net/
Author: Obsługa Firm Anna Anielska
Description: Lekki motyw blokowy dla biura rachunkowego Obsługa Firm Anna Anielska. Język wizualny księgi rachunkowej: papier z liniaturą, linia marginesu, wiersze zapisów. Bez page buildera, bez jQuery, z lokalnymi fontami. Współpracuje z wtyczką „Anielska Biuro”.
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.1
Version: 1.1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: anielska
*/

/* =========================================================
   Podstawy
   ========================================================= */
:root {
	--aa-rule: 1px solid var(--wp--preset--color--line);
	--aa-rule-strong: 1px solid color-mix(in srgb, var(--wp--preset--color--forest-dark) 55%, transparent);
	--aa-focus: 0 0 0 3px var(--wp--preset--color--paper), 0 0 0 5px var(--wp--preset--color--amber-dark);
	--aa-ruling: 2rem;   /* odstęp linii „papieru” */
	--aa-margin-x: max(1rem, calc((100vw - 76rem) / 2 - 1.75rem)); /* pozycja linii marginesu */
}
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-wrap: break-word; font-variant-numeric: lining-nums; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: none; box-shadow: var(--aa-focus); border-radius: 4px; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
img, svg { max-width: 100%; height: auto; }
::selection { background: var(--wp--preset--color--mist); }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* Rytm: WordPress dodaje odstępy między blokami najwyższego poziomu; sekcje stykają się bez przerw. */
.wp-site-blocks > * + * { margin-block-start: 0; }
.aa-main > *, .aa-main .wp-block-post-content > .alignfull { margin-block: 0; }
:where(.aa-band, .aa-hero, .aa-page-head, .aa-note) { margin-block: 0 !important; }

/* =========================================================
   Nagłówek strony
   ========================================================= */
.aa-site-header {
	position: sticky; top: 0; z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--paper) 92%, transparent);
	backdrop-filter: saturate(1.4) blur(10px);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: var(--aa-rule);
}
.admin-bar .aa-site-header { top: var(--wp-admin--admin-bar--height, 0); }
.aa-header__inner { padding-block: 0.75rem; gap: 1rem; }
.aa-logo { display: inline-flex; align-items: center; gap: 0.7rem; text-decoration: none; color: var(--wp--preset--color--forest-dark); line-height: 1.1; }
.aa-logo:hover { color: var(--wp--preset--color--forest-dark); }
.aa-logo svg { width: 42px; height: 42px; flex: none; }
.aa-logo__name { display: block; font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.2rem; letter-spacing: -0.01em; white-space: nowrap; }
.aa-logo__tag { display: block; font-size: 0.78rem; color: var(--wp--preset--color--muted); margin-top: 3px; white-space: nowrap; }
.aa-site-header .wp-block-navigation__container { flex-wrap: nowrap; gap: clamp(.9rem, 2vw, 1.75rem); }
.aa-site-header .wp-block-navigation a { text-decoration: none; }
.aa-site-header .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--amber-dark); }
.aa-site-header [aria-current="page"], .aa-site-header .current-menu-ancestor > a { text-decoration: underline; text-decoration-color: var(--wp--preset--color--amber); text-decoration-thickness: 2px; text-underline-offset: 0.45em; }
.aa-nav-cta > a.wp-block-navigation-item__content { border: 1.5px solid var(--wp--preset--color--forest); color: var(--wp--preset--color--forest) !important; padding: 0.45rem 1rem !important; border-radius: 6px; font-weight: 600; }
.aa-nav-cta > a.wp-block-navigation-item__content:hover { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white) !important; }
.wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--paper) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 2rem; font-size: 1.25rem; }
@media (max-width: 960px) { .aa-logo__tag { display: none; } }
@media (max-width: 600px) { .aa-logo svg { width: 36px; height: 36px; } .aa-logo__name { font-size: 1.05rem; } }

/* =========================================================
   Papier księgowy: liniatura + linia marginesu
   ========================================================= */
.aa-paper {
	position: relative;
	background-color: var(--wp--preset--color--paper);
	background-image: repeating-linear-gradient(to bottom, transparent 0 calc(var(--aa-ruling) - 1px), color-mix(in srgb, var(--wp--preset--color--forest) 7%, transparent) calc(var(--aa-ruling) - 1px) var(--aa-ruling));
}
.aa-paper::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: var(--aa-margin-x); width: 2px;
	background: color-mix(in srgb, var(--wp--preset--color--amber) 70%, transparent);
	pointer-events: none;
}
@media (max-width: 700px) { .aa-paper::before { left: .5rem; width: 1.5px; } }

/* =========================================================
   Hero
   ========================================================= */
.aa-hero { padding-block: clamp(2.5rem, 7vw, 5.5rem) clamp(2.5rem, 7vw, 5rem); }
.aa-hero__grid { display: grid !important; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: end; }
.aa-hero__grid > * { margin-block: 0 !important; }
.aa-hero h1 { margin-top: 0; max-width: 16ch; }
.aa-hero__lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--ink); max-width: 34rem; }
.aa-hero__lead strong { font-weight: 600; color: var(--wp--preset--color--forest-dark); }
@media (max-width: 860px) { .aa-hero__grid { grid-template-columns: 1fr; align-items: start; } }

/* Terminarz w hero: kartka z wpisami */
.aa-dates { background: var(--wp--preset--color--white); border: var(--aa-rule); border-top: 3px solid var(--wp--preset--color--forest); padding: 1.25rem 1.5rem 1rem !important; box-shadow: 0 1px 0 var(--wp--preset--color--line), 6px 8px 0 -2px color-mix(in srgb, var(--wp--preset--color--sand) 90%, transparent); }
.aa-caption { font-size: var(--wp--preset--font-size--large) !important; margin: 0 0 .75rem !important; }
.aa-dates .aa-ledger { border-top: 0; }
.aa-dates .aa-ledger li { grid-template-columns: 7rem 1fr; gap: .2rem 1.25rem; padding-block: .7rem; }
.aa-dates .aa-ledger strong { white-space: nowrap; }
@media (max-width: 420px) { .aa-dates .aa-ledger li { grid-template-columns: 1fr; } }
.aa-dates .aa-ledger li:last-child { border-bottom: 0; }
.aa-dates .aa-ledger strong { font-size: 1.15rem; color: var(--wp--preset--color--amber-dark); font-variant-numeric: tabular-nums; }
.aa-dates .aa-ledger span { color: var(--wp--preset--color--ink); font-size: .97rem; }
.aa-dates-note { font-size: .82rem; color: var(--wp--preset--color--muted); margin: .5rem 0 0 !important; }

/* =========================================================
   Pasma treści i układ redakcyjny (tytuł po lewej, treść po prawej)
   ========================================================= */
.aa-band { padding-block: var(--wp--preset--spacing--70); }
.aa-band + .aa-band { border-top: var(--aa-rule); }
.aa-band--sand { background: var(--wp--preset--color--sand); }
.aa-band--sand + .aa-band, .aa-band + .aa-band--sand { border-top: 0; }
.aa-split { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--wp--preset--spacing--40) clamp(2rem, 6vw, 6rem); align-items: start; }
.aa-split > * { margin-block: 0 !important; }
.aa-split__head { position: sticky; top: 6.5rem; }
.aa-split__head h2 { margin: 0; font-size: var(--wp--preset--font-size--xx-large); }
.aa-split__head p { color: var(--wp--preset--color--muted); margin-top: 1rem; }
.aa-split__body > :first-child { margin-top: 0; }
.aa-split__body > p:first-child { font-size: var(--wp--preset--font-size--large); }
@media (max-width: 860px) { .aa-split { grid-template-columns: 1fr; } .aa-split__head { position: static; } }

/* Zdanie wyróżnione (zamiast kafelków z ikonami) */
.aa-statement { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--x-large) !important; line-height: 1.35; color: var(--wp--preset--color--forest-dark); }

/* =========================================================
   Wiersze księgi: lista zapisów (nazwa | opis | →)
   ========================================================= */
.aa-ledger { list-style: none; padding: 0 !important; margin-inline: 0; border-top: var(--aa-rule-strong); }
.aa-ledger li { margin: 0 !important; border-bottom: var(--aa-rule); display: grid; grid-template-columns: minmax(9rem, 15rem) minmax(0, 1fr); gap: .3rem 2rem; padding: 1.1rem 0; align-items: baseline; }
.aa-ledger li strong { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.1rem; color: var(--wp--preset--color--forest-dark); line-height: 1.3; }
.aa-ledger li span { color: var(--wp--preset--color--muted); }
.aa-ledger li:has(> a) { display: block; padding: 0; }
.aa-ledger li > a { display: grid; grid-template-columns: minmax(9rem, 15rem) minmax(0, 1fr) 1.5rem; gap: .3rem 2rem; padding: 1.15rem .25rem; align-items: baseline; color: inherit; text-decoration: none; transition: background-color .15s ease; }
.aa-ledger li > a::after { content: "→"; color: var(--wp--preset--color--amber-dark); transition: transform .15s ease; justify-self: end; }
.aa-ledger li > a:hover { background: color-mix(in srgb, var(--wp--preset--color--mist) 70%, transparent); }
.aa-ledger li > a:hover::after { transform: translateX(3px); }
.aa-ledger li > a:hover strong { text-decoration: underline; text-decoration-color: var(--wp--preset--color--amber); text-underline-offset: .2em; }
.aa-ledger--lead li:first-child strong { font-size: var(--wp--preset--font-size--x-large); }
@media (max-width: 640px) {
	.aa-ledger li, .aa-ledger li > a { grid-template-columns: 1fr; }
	.aa-ledger li > a { grid-template-columns: 1fr 1.5rem; }
	.aa-ledger li > a span { grid-column: 1; }
	.aa-ledger li > a::after { grid-row: 1; grid-column: 2; }
}

/* =========================================================
   Style bloków
   ========================================================= */
.is-style-lead { font-size: var(--wp--preset--font-size--large) !important; line-height: 1.6; color: var(--wp--preset--color--ink); }
.is-style-summary { border-top: var(--aa-rule-strong); border-bottom: var(--aa-rule); padding-block: 1rem 1.25rem !important; }
.is-style-summary > h2, .is-style-summary > h3 { font-size: var(--wp--preset--font-size--large); margin-top: 0; }
.is-style-summary ul { margin-bottom: 0; }
.is-style-legal-note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); border-top: var(--aa-rule); padding-top: 1rem; margin-top: var(--wp--preset--spacing--50) !important; }
.wp-block-group.is-style-card { background: var(--wp--preset--color--white); border: var(--aa-rule); padding: 1.5rem !important; }
.is-style-checklist { list-style: none; padding-left: 0 !important; }
.is-style-checklist li { position: relative; padding-left: 1.4rem; margin-bottom: .5rem; }
.is-style-checklist li::before { content: ""; position: absolute; left: 0; top: .72em; width: .55rem; height: 2px; background: var(--wp--preset--color--amber-dark); }
.wp-element-button { border-radius: 6px !important; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid var(--wp--preset--color--forest); color: var(--wp--preset--color--forest); background: transparent; padding: calc(0.8rem - 1.5px) calc(1.5rem - 1.5px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); }
.aa-textlink a { font-weight: 600; text-decoration-color: var(--wp--preset--color--amber); text-decoration-thickness: 2px; }

/* FAQ (blok Szczegóły). Uwaga: tylko margin-block, żeby nie psuć centrowania WordPressa. */
.wp-block-details { border-bottom: var(--aa-rule); padding: 0 !important; margin-block: 0 !important; }
.wp-block-details:first-of-type, h2 + .wp-block-details { border-top: var(--aa-rule-strong); }
.wp-block-details summary { cursor: pointer; list-style: none; padding: 1.05rem 2.5rem 1.05rem 0; position: relative; font-weight: 600; font-size: 1.08rem; color: var(--wp--preset--color--forest-dark); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font-family: var(--wp--preset--font-family--heading); font-size: 1.5rem; font-weight: 400; color: var(--wp--preset--color--amber-dark); }
.wp-block-details[open] summary::after { content: "−"; }
.wp-block-details > :not(summary) { margin-top: 0; padding-bottom: .6rem; color: var(--wp--preset--color--muted); }
.wp-block-details + :not(.wp-block-details) { margin-top: var(--wp--preset--spacing--50); }

/* =========================================================
   Podstrony
   ========================================================= */
.aa-page-head { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); border-bottom: var(--aa-rule); }
.aa-page-head h1 { margin-block: .5rem 0; text-wrap: balance; }
/* Zasada: dzieci układu „constrained” nie dostają własnego max-width (WordPress centruje je wtedy osobno). */
h1, h2, h3 { text-wrap: balance; }
.aa-meta { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); gap: .4rem 1.25rem !important; margin-top: 1rem !important; }
.aa-meta > * { margin-block: 0 !important; }
.aa-meta a { color: inherit; }
.aa-entry { padding-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60); }
.aa-entry > * + h2 { margin-top: var(--wp--preset--spacing--60); }
.aa-entry > * + h3 { margin-top: var(--wp--preset--spacing--50); }
.aa-entry > .alignfull:last-child { margin-bottom: calc(-1 * var(--wp--preset--spacing--60)) !important; }

/* Okruszki */
.aa-breadcrumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--muted); }
.aa-breadcrumbs li + li::before { content: "/"; margin-right: .3rem; color: var(--wp--preset--color--line); }
.aa-breadcrumbs a { color: inherit; text-decoration: none; }
.aa-breadcrumbs a:hover { color: var(--wp--preset--color--forest); text-decoration: underline; }

/* Autorka */
.aa-author { border-top: var(--aa-rule-strong); padding-top: 1.25rem; margin-top: var(--wp--preset--spacing--60); }
.aa-author p { margin: 0 0 .4rem; font-size: .95rem; color: var(--wp--preset--color--muted); }
.aa-author strong { color: var(--wp--preset--color--forest-dark); font-family: var(--wp--preset--font-family--heading); font-size: 1.05rem; }
.aa-author__mark { display: none; }

/* Listy wpisów: wiersze (tytuł | zajawka) */
.aa-posts .wp-block-post-template { list-style: none; padding: 0; margin: 0; border-top: var(--aa-rule-strong); display: block !important; }
.aa-posts .wp-block-post { margin: 0 !important; border-bottom: var(--aa-rule); padding: 1.25rem 0; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: .35rem 2.5rem; position: relative; align-items: start; }
.aa-posts .wp-block-post-excerpt p { margin-top: 0; }
.aa-posts .wp-block-post > * { margin: 0 !important; }
.aa-posts .wp-block-post-title { font-size: var(--wp--preset--font-size--large); grid-column: 1; }
.aa-posts .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--forest-dark); }
.aa-posts .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.aa-posts .wp-block-post:hover .wp-block-post-title a { text-decoration: underline; text-decoration-color: var(--wp--preset--color--amber); }
.aa-posts .wp-block-post-excerpt { font-size: .95rem; color: var(--wp--preset--color--muted); grid-column: 2; grid-row: 1 / span 2; }
.aa-posts .wp-block-post-excerpt__excerpt { margin: 0; }
.aa-posts .wp-block-post-excerpt__more-text { display: none; }
.aa-posts .wp-block-post-terms { font-size: .85rem; color: var(--wp--preset--color--amber-dark); grid-column: 1; }
.aa-posts .wp-block-post-terms a { color: inherit; text-decoration: none; position: relative; z-index: 1; }
@media (max-width: 700px) { .aa-posts .wp-block-post { grid-template-columns: 1fr; } .aa-posts .wp-block-post-excerpt { grid-column: 1; grid-row: auto; } }
.wp-block-anielska-powiazane .aa-grid { display: block; border-top: var(--aa-rule-strong); }
.aa-topics { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; list-style: none; padding: 0 !important; }
.aa-topics li a { text-decoration-color: var(--wp--preset--color--amber); font-size: .95rem; }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); gap: .5rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .current { padding: .35rem .75rem; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); }

/* =========================================================
   Zamknięcie strony: notatka na papierze
   ========================================================= */
.aa-note { padding-block: var(--wp--preset--spacing--70); border-top: var(--aa-rule-strong); }
.aa-note__inner { padding-left: clamp(0rem, 4vw, 3rem); }
.aa-note__inner > * { margin-left: 0 !important; margin-right: 0 !important; }
.aa-note h2 { font-size: var(--wp--preset--font-size--xx-large); max-width: 22ch; margin-top: 0; }
.aa-note p { max-width: 38rem; }
.aa-note__mail { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--large); }

/* =========================================================
   Kontakt: dane, mapa, formularz
   ========================================================= */
.aa-nap { font-style: normal; line-height: 1.7; }
.aa-nap a { text-decoration: none; }
.aa-nap a:hover { text-decoration: underline; }
.aa-map { overflow: hidden; border: var(--aa-rule); background: var(--wp--preset--color--mist); }
.aa-map iframe { display: block; width: 100%; height: 360px; border: 0; }
.aa-map__links { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; padding: .75rem 1rem; background: var(--wp--preset--color--white); font-size: var(--wp--preset--font-size--small); border-top: var(--aa-rule); }

.aa-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem 1.25rem; background: var(--wp--preset--color--white); border: var(--aa-rule); border-top: 3px solid var(--wp--preset--color--forest); padding: clamp(1.25rem, 4vw, 2rem); scroll-margin-top: 6rem; }
.aa-form__field { display: flex; flex-direction: column; gap: .35rem; }
.aa-form__field--full { grid-column: 1 / -1; }
.aa-form label { font-weight: 600; font-size: .95rem; }
.aa-form .aa-req { color: var(--wp--preset--color--amber-dark); }
.aa-form input[type="text"], .aa-form input[type="email"], .aa-form input[type="tel"], .aa-form select, .aa-form textarea {
	font: inherit; font-size: 1rem; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--paper);
	border: 1px solid #C9C2B3; border-radius: 4px; padding: .75rem .9rem; width: 100%; box-sizing: border-box; }
.aa-form textarea { min-height: 9rem; resize: vertical; }
.aa-form :where(input, select, textarea):focus { border-color: var(--wp--preset--color--forest); background: var(--wp--preset--color--white); }
.aa-form [aria-invalid="true"] { border-color: #B3261E; }
.aa-form__consent { display: grid; grid-template-columns: 1.25rem 1fr; gap: .6rem; align-items: start; font-size: .88rem; color: var(--wp--preset--color--muted); }
.aa-form__consent input { width: 1.1rem; height: 1.1rem; margin-top: .2rem; accent-color: var(--wp--preset--color--forest); }
.aa-form__hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.aa-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.aa-form button[type="submit"] { font: inherit; font-weight: 600; cursor: pointer; border: 0; border-radius: 6px; padding: .85rem 1.75rem; background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); }
.aa-form button[type="submit"]:hover { background: var(--wp--preset--color--forest-dark); }
.aa-form button[disabled] { opacity: .6; cursor: progress; }
.aa-form__status { font-size: .95rem; margin: 0; }
.aa-form__status.is-error { color: #B3261E; }
.aa-form__status.is-ok { color: var(--wp--preset--color--forest); font-weight: 600; }
.aa-form__note { font-size: .8rem; color: var(--wp--preset--color--muted); margin: 0; }
@media (max-width: 640px) { .aa-form { grid-template-columns: 1fr; } }

/* =========================================================
   Stopka
   ========================================================= */
.aa-site-footer { background: var(--wp--preset--color--forest-dark); color: color-mix(in srgb, var(--wp--preset--color--paper) 82%, transparent); font-size: var(--wp--preset--font-size--small); padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); }
.aa-site-footer a { color: var(--wp--preset--color--white); text-decoration: none; }
.aa-site-footer a:hover { color: var(--wp--preset--color--amber); text-decoration: underline; }
.aa-site-footer :where(h2, h3) { color: var(--wp--preset--color--white); font-size: 1.05rem; margin-bottom: .75rem; }
.aa-site-footer ul { list-style: none; padding: 0 !important; margin-block: 0; display: grid; gap: .4rem; }
.aa-site-footer .aa-logo { color: var(--wp--preset--color--white); }
.aa-site-footer .aa-logo__tag { color: color-mix(in srgb, var(--wp--preset--color--paper) 70%, transparent); }
.aa-footer__bottom { border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--white) 15%, transparent); margin-top: var(--wp--preset--spacing--50) !important; padding-top: var(--wp--preset--spacing--40); gap: .5rem 1.5rem; }
.aa-footer__bottom p { margin: 0; }

/* =========================================================
   Zgoda na cookies i pasek kontaktu na telefonie
   ========================================================= */
.aa-consent { position: fixed; z-index: 100; left: 1rem; right: 1rem; bottom: 1rem; max-width: 34rem; margin-inline: auto; background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); border: var(--aa-rule); border-top: 3px solid var(--wp--preset--color--forest); box-shadow: 0 12px 40px rgba(19,58,50,.16); padding: 1.25rem; font-size: .92rem; }
.aa-consent[hidden] { display: none; }
.aa-consent p { margin: 0 0 1rem; }
.aa-consent__actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.aa-consent button { font: inherit; font-weight: 600; cursor: pointer; border-radius: 6px; padding: .6rem 1.2rem; border: 1.5px solid var(--wp--preset--color--forest); background: transparent; color: var(--wp--preset--color--forest); }
.aa-consent button.is-primary { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); }
.aa-mobile-cta { display: none; }
@media (max-width: 700px) {
	.aa-mobile-cta { display: flex; gap: .5rem; position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; padding: .6rem .75rem calc(.6rem + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--wp--preset--color--paper) 94%, transparent); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-top: var(--aa-rule); }
	.aa-mobile-cta a { flex: 1; text-align: center; padding: .7rem .5rem; border-radius: 6px; font-weight: 600; text-decoration: none; border: 1.5px solid var(--wp--preset--color--forest); color: var(--wp--preset--color--forest); }
	.aa-mobile-cta a.aa-mobile-cta__primary { background: var(--wp--preset--color--forest); color: var(--wp--preset--color--white); }
	body:has(.aa-mobile-cta) .aa-site-footer { padding-bottom: 5.5rem; }
	body:has(.aa-mobile-cta) .aa-consent { bottom: 5rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print {
	.aa-site-header, .aa-site-footer, .aa-consent, .aa-form, .aa-mobile-cta { display: none !important; }
	.aa-paper { background: none; }
}

/* Karta „Twój miesiąc z biurem” w hero */
.aa-hero__grid:has(.aa-month) { align-items: center; }
.aa-month { background: var(--wp--preset--color--white); border: var(--aa-rule); border-radius: 16px; box-shadow: var(--wp--preset--shadow--soft); padding: 1.5rem; max-width: 26rem; margin-inline: auto; position: relative; }
.aa-hero__visual { position: relative; isolation: isolate; }
.aa-month::before { content: ""; position: absolute; inset: auto -14px -14px auto; width: 70%; height: 70%; border-radius: 16px; background: var(--wp--preset--color--amber); opacity: .18; z-index: -1; }
.aa-month__head { display: flex; justify-content: space-between; align-items: baseline; border-bottom: var(--aa-rule); padding-bottom: .75rem; margin-bottom: .75rem; }
.aa-month__title { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.1rem; color: var(--wp--preset--color--forest-dark); }
.aa-month__date { font-size: .8rem; color: var(--wp--preset--color--muted); }
.aa-month ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.aa-month li { display: grid; grid-template-columns: 1.5rem 1fr auto; gap: .6rem; align-items: center; font-size: .95rem; }
.aa-month li span:last-child { font-size: .78rem; color: var(--wp--preset--color--muted); }
.aa-month .aa-tick { width: 1.5rem; height: 1.5rem; border-radius: 50%; background: var(--wp--preset--color--mist); display: grid; place-items: center; color: var(--wp--preset--color--forest); font-weight: 700; font-size: .8rem; }
.aa-month__foot { margin-top: 1rem; padding: .75rem 1rem; background: var(--wp--preset--color--sand); border-radius: 12px; font-size: .88rem; color: var(--wp--preset--color--ink); }
@media (max-width: 860px) { .aa-hero__visual { order: 2; } }
