/* AKK Edukacja Diabetologiczna – style uzupełniające theme.json */

:root {
	--akk-radius-s: 10px;
	--akk-radius-m: 18px;
	--akk-radius-l: 28px;
	--akk-ease: cubic-bezier(.22,.61,.36,1);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: #E8F0FC; color: #15305F; }

/* Linki w treści – delikatne podkreślenie */
.entry-content a:not(.wp-element-button),
.wp-block-post-content a:not(.wp-element-button) {
	text-underline-offset: .2em;
	text-decoration-thickness: 1px;
}

/* ---------- Nagłówek ---------- */
.akk-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(255,255,255,.88);
	backdrop-filter: saturate(160%) blur(10px);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid transparent;
	transition: border-color .3s var(--akk-ease), box-shadow .3s var(--akk-ease);
}
.admin-bar .akk-header { top: var(--wp-admin--admin-bar--height, 32px); }
.akk-header.is-scrolled { border-bottom-color: #DCE5F2; box-shadow: 0 6px 24px -18px rgba(15,35,80,.4); }
.akk-header .wp-block-site-logo img { transition: transform .4s var(--akk-ease); }
.akk-header .wp-block-site-logo:hover img { transform: rotate(-8deg) scale(1.04); }
.akk-header .wp-block-site-title { line-height: 1.15; }
.akk-tagline { font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: #4B5A73; margin: 0 !important; }

.akk-header .wp-block-navigation-item__content { position: relative; padding: .25rem 0; }
.akk-header .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px;
	background: #6A4BA8; border-radius: 2px; transform: scaleX(0); transform-origin: left;
	transition: transform .35s var(--akk-ease);
}
.akk-header .wp-block-navigation-item__content:hover::after,
.akk-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.akk-header .wp-block-navigation a { text-decoration: none; }

@media (max-width: 781px) {
	.akk-header-cta { display: none !important; }
	.akk-tagline { display: none; }
}
.wp-block-navigation__responsive-container.is-menu-open { padding: 2rem 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.25rem; }

/* ---------- Przyciski ---------- */
.wp-element-button, .wp-block-button__link {
	transition: background-color .25s var(--akk-ease), transform .25s var(--akk-ease), box-shadow .25s var(--akk-ease), color .25s;
	text-decoration: none !important;
}
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(11,87,201,.55); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 2px solid currentColor; background: transparent; color: #0B57C9;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #0B57C9; color: #fff; border-color: #0B57C9; }
.wp-block-button.is-style-akk-soft > .wp-block-button__link { background: #E8F0FC; color: #15305F; }
.wp-block-button.is-style-akk-soft > .wp-block-button__link:hover { background: #CFDFF7; color: #15305F; }

/* ---------- Karty ---------- */
.is-style-akk-card, .is-style-akk-card-hover {
	background: #fff; border: 1px solid #DCE5F2; border-radius: var(--akk-radius-m);
	padding: clamp(1.25rem, 2.5vw, 1.9rem);
}
.is-style-akk-card-hover {
	transition: transform .4s var(--akk-ease), box-shadow .4s var(--akk-ease), border-color .4s;
}
.is-style-akk-card-hover:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 45px -18px rgba(15,35,80,.28);
	border-color: #CFDFF7;
}
.wp-block-column > .is-style-akk-card:only-child,
.wp-block-column > .is-style-akk-card-hover:only-child { height: 100%; box-sizing: border-box; }

.akk-icon img, .akk-icon svg { width: 56px; height: 56px; border-radius: 0 !important; }
.akk-icon { margin-bottom: .25rem; }

/* ---------- Nadtytuł ---------- */
.is-style-akk-eyebrow {
	font-family: var(--wp--preset--font-family--body) !important;
	font-size: .82rem !important; font-weight: 800 !important;
	letter-spacing: .14em; text-transform: uppercase;
	color: #6A4BA8; margin-bottom: .4rem !important;
}

/* ---------- Listy ---------- */
.is-style-akk-check { list-style: none; padding-left: 0 !important; }
.is-style-akk-check li { position: relative; padding-left: 2rem; margin-bottom: .55rem; }
.is-style-akk-check li::before {
	content: ""; position: absolute; left: 0; top: .35em; width: 1.2rem; height: 1.2rem;
	border-radius: 50%; background: #E8F0FC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B57C9' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/70% no-repeat;
}

/* ---------- Obrazy ---------- */
.is-style-akk-blob img {
	border-radius: 58% 42% 50% 50% / 48% 55% 45% 52% !important;
	transition: border-radius 1.2s var(--akk-ease);
}
.is-style-akk-blob:hover img { border-radius: 45% 55% 42% 58% / 55% 45% 55% 45% !important; }

/* ---------- Hero ---------- */
.akk-hero { position: relative; overflow: hidden; }
.akk-hero::before, .akk-hero::after {
	content: ""; position: absolute; border-radius: 50%; pointer-events: none; z-index: 0;
}
.akk-hero::before { width: 420px; height: 420px; right: -120px; top: -140px; background: radial-gradient(circle, rgba(11,87,201,.12), transparent 70%); animation: akk-float 14s ease-in-out infinite; }
.akk-hero::after { width: 320px; height: 320px; left: -110px; bottom: -150px; background: radial-gradient(circle, rgba(106,75,168,.16), transparent 70%); animation: akk-float 18s ease-in-out infinite reverse; }
.akk-hero > * { position: relative; z-index: 1; }
@keyframes akk-float { 0%,100% { transform: translate(0,0); } 50% { transform: translate(-24px, 18px); } }

.akk-hero-art img { border-radius: 0 !important; filter: drop-shadow(0 30px 40px rgba(15,35,80,.16)); }

/* ---------- Kroki ---------- */
.akk-step-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 3rem; height: 3rem; border-radius: 50%;
	background: #0B57C9; color: #fff !important;
	font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.3rem !important;
	margin-bottom: .5rem !important;
}

/* ---------- Cennik ---------- */
.akk-price { font-family: var(--wp--preset--font-family--heading); color: #15305F; line-height: 1; }
.akk-price-featured { border: 2px solid #0B57C9 !important; position: relative; }
.akk-badge {
	display: inline-block; background: #F0EBFA; color: #4B2F86 !important;
	font-size: .75rem !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
	padding: .3rem .75rem; border-radius: 999px;
}

/* ---------- FAQ ---------- */
.wp-block-details { transition: box-shadow .3s var(--akk-ease), border-color .3s; }
.wp-block-details + .wp-block-details { margin-top: .75rem; }
.wp-block-details[open] { box-shadow: 0 10px 30px -12px rgba(15,35,80,.18); border-color: #CFDFF7 !important; }
.wp-block-details summary { font-weight: 700; cursor: pointer; list-style: none; position: relative; padding-right: 2rem; color: #15305F; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
	font-size: 1.5rem; font-weight: 400; color: #0B57C9; transition: transform .3s var(--akk-ease);
}
.wp-block-details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.wp-block-details > :not(summary) { margin-top: .75rem; }

/* ---------- Wpisy ---------- */
.akk-post-card { background: #fff; border: 1px solid #DCE5F2; border-radius: var(--akk-radius-m); overflow: hidden; height: 100%; transition: transform .4s var(--akk-ease), box-shadow .4s var(--akk-ease); }
.akk-post-card:hover { transform: translateY(-5px); box-shadow: 0 22px 45px -18px rgba(15,35,80,.28); }
.akk-post-card .wp-block-post-featured-image img { border-radius: 0 !important; aspect-ratio: 16/10; object-fit: cover; }
.akk-post-card .wp-block-post-featured-image { margin: 0; }
.wp-block-post-template.is-flex-container > li { display: flex; }
.wp-block-post-template.is-flex-container > li > * { width: 100%; }

/* ---------- Nota / zastrzeżenie ---------- */
.akk-note { border-left: 4px solid #6A4BA8; }

/* ---------- Formularz (wtyczka) ---------- */
.akk-form { display: grid; gap: 1rem; }
.akk-form .akk-row { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; }
@media (max-width: 640px) { .akk-form .akk-row { grid-template-columns: 1fr; } }
.akk-form label { display: block; font-weight: 700; font-size: .95rem; margin-bottom: .35rem; color: #15305F; }
.akk-form input[type=text], .akk-form input[type=email], .akk-form input[type=tel], .akk-form select, .akk-form textarea {
	width: 100%; box-sizing: border-box; font: inherit; color: #14223D;
	padding: .8rem 1rem; border: 1.5px solid #DCE5F2; border-radius: 12px; background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.akk-form textarea { min-height: 150px; resize: vertical; }
.akk-form input:focus, .akk-form select:focus, .akk-form textarea:focus { outline: none; border-color: #0B57C9; box-shadow: 0 0 0 4px rgba(11,87,201,.15); }
.akk-form .akk-consent { display: flex; gap: .7rem; align-items: flex-start; font-size: .9rem; color: #4B5A73; }
.akk-form .akk-consent input { margin-top: .3rem; width: 1.1rem; height: 1.1rem; accent-color: #0B57C9; flex: none; }
.akk-form .akk-consent label { font-weight: 400; color: inherit; font-size: inherit; margin: 0; }
.akk-form .akk-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; }
.akk-form button { border: 0; cursor: pointer; justify-self: start; }
.akk-alert { padding: 1rem 1.25rem; border-radius: 12px; margin-bottom: 1rem; }
.akk-alert--ok { background: #E8F0FC; color: #15305F; }
.akk-alert--err { background: #F0EBFA; color: #4B2F86; }
.akk-req { color: #6A4BA8; }
.akk-google-box { text-align: left; }

/* ---------- Stopka ---------- */
.akk-footer a { color: inherit; text-decoration: none; }
.akk-footer a:hover { text-decoration: underline; }
.akk-footer .wp-block-navigation { gap: .4rem; }

/* ---------- Animacje wejścia ---------- */
.akk-js .akk-reveal { opacity: 0; transform: translateY(24px); transition: opacity .8s var(--akk-ease), transform .8s var(--akk-ease); }
.akk-js .akk-reveal.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	.akk-js .akk-reveal { opacity: 1; transform: none; }
}

/* W edytorze pokazuj elementy bez animacji */
.editor-styles-wrapper .akk-reveal { opacity: 1 !important; transform: none !important; }

/* Lista „nie zajmuję się” – kółko z kreską */
.akk-cross { list-style: none; padding-left: 0 !important; }
.akk-cross li { position: relative; padding-left: 2rem; margin-bottom: .55rem; }
.akk-cross li::before {
	content: ""; position: absolute; left: 0; top: .35em; width: 1.2rem; height: 1.2rem; border-radius: 50%;
	background: #F0EBFA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236A4BA8' stroke-width='3.2' stroke-linecap='round'%3E%3Cpath d='M7 12h10'/%3E%3C/svg%3E") center/70% no-repeat;
}
.akk-footer-links { list-style: none; }
.akk-footer-links li { margin-bottom: .35rem; }
.akk-page-band .wp-block-post-title { margin-top: 0; }

@media (max-width: 781px) {
	.akk-hero-art img { width: 150px !important; }
	.akk-hero .wp-block-buttons { gap: .75rem; }
}

/* Strony prawne – spokojniejsze nagłówki */
.akk-legal h2 { font-size: var(--wp--preset--font-size--large) !important; margin-top: 2rem; }
.akk-legal p, .akk-legal li { font-size: 1rem; }
