/* ALMS Cyberbezpieczeństwo - na stronie. Kolory z motywu (tokeny), więc tryb ciemny działa sam. */

.alms-cyber-h { scroll-margin-top: 6.5rem; }
.alms-basehero + .alms-cyber-h { margin-top: 2.25rem !important; }

/* --- przyciski rodzajów --- */
.alms-alerts-filter { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 0 !important; margin-bottom: 1.25rem !important; }
.alms-alerts-filter[hidden] { display: none; }
.alms-alerts-filter button { min-height: 40px; padding: .35rem 1rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--heading); font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.alms-alerts-filter button:hover { border-color: var(--wp--preset--color--accent); }
.alms-alerts-filter button:focus-visible { outline: 3px solid #DDB671; outline-offset: 2px; }
.alms-alerts-filter button[aria-pressed="true"] { background: #001A38; border-color: #001A38; color: #FFFFFF; }
:root[data-theme="dark"] .alms-alerts-filter button[aria-pressed="true"] { background: #DDB671; border-color: #DDB671; color: #001A38; }

/* --- karty alertów --- */
.alms-alerts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(20rem, 100%), 1fr)); gap: 1.25rem; margin-top: 0 !important; }
.alms-alert { display: flex; flex-direction: column; min-width: 0; border-radius: 20px; overflow: hidden; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); scroll-margin-top: 7rem; }
.alms-alert[hidden] { display: none; }
.alms-alert.is-urgent { border-color: rgb(180 35 24 / .55); box-shadow: inset 0 4px 0 #B42318; }
.alms-alert__img { position: relative; display: block; margin: 0; background: var(--wp--preset--color--soft); }
.alms-alert__img img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; }
.alms-alert__img .alms-alert__badge { position: absolute; top: .75rem; left: .75rem; }
.alms-alert__img .alms-alert__badge + .alms-alert__badge { left: auto; right: .75rem; }
.alms-alert__badge { display: inline-block; padding: .25rem .7rem; border-radius: 999px; background: #DDB671; color: #001A38; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; box-shadow: 0 2px 8px rgb(0 26 56 / .25); }
.alms-alert__badge--urgent { background: #B42318; color: #FFFFFF; }
.alms-alert__body { flex: 1; display: flex; flex-direction: column; gap: .6rem; padding: 1.1rem 1.3rem 1.25rem; }
.alms-alert__body > .alms-alert__tips { margin-top: auto !important; }
.alms-alert__body > * { margin: 0 !important; }
.alms-alert__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .75rem; font-size: .8125rem; }
.alms-alert__type { font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--gold-text); }
.alms-alert__meta time { color: var(--wp--preset--color--muted); font-weight: 600; }
.alms-alert__title { font-size: 1.15rem !important; line-height: 1.3; color: var(--wp--preset--color--heading); }
.alms-alert__title a, .alms-cmini__title a { color: inherit; text-decoration: none; }
.alms-alert__title a:hover, .alms-cmini__title a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; }
:root[data-theme="dark"] :is(.alms-alert__title, .alms-cmini__title) a:hover { color: #DEB873; }
.alms-alert__opis p { margin: 0 0 .5rem; font-size: .9375rem; line-height: 1.55; color: var(--wp--preset--color--contrast); }
.alms-alert__opis p:last-child { margin-bottom: 0; }
.alms-alert__tips { border-radius: 14px; background: rgb(30 47 86 / .045); }
:root[data-theme="dark"] .alms-alert__tips { background: rgb(255 255 255 / .05); }
.alms-alert__tips summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 44px; padding: .55rem .95rem; border-radius: 14px; font-weight: 800; color: var(--wp--preset--color--heading); cursor: pointer; list-style: none; }
.alms-alert__tips summary::-webkit-details-marker { display: none; }
.alms-alert__tips summary::after { content: ""; width: .55rem; height: .55rem; margin-right: .2rem; border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .15s; }
.alms-alert__tips[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.alms-alert__tips summary:focus-visible { outline: 3px solid #DDB671; outline-offset: 2px; }
.alms-alert__tips ul { margin: 0; padding: 0 .95rem .9rem; }

/* listy porad (w alercie i w sekcji „Jak się chronić”) */
.alms-alert__tips ul, .alms-cybertip ul { display: grid; gap: .5rem; list-style: none; }
.alms-alert__tips li, .alms-cybertip li { position: relative; padding-left: 1.6rem; font-size: .9375rem; line-height: 1.5; color: var(--wp--preset--color--contrast); }
.alms-alert__tips li::before, .alms-cybertip li::before { content: ""; position: absolute; left: 0; top: .2rem; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: #1666A6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.5L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
:root[data-theme="dark"] :is(.alms-alert__tips, .alms-cybertip) li::before { background-color: #4D9BD6; }

.alms-alert__src { font-size: .8125rem; color: var(--wp--preset--color--muted); }
.alms-alert__src a { font-weight: 700; }
.alms-alerts-more { margin-top: 1.5rem !important; text-align: center; }
.alms-alerts-all { margin-top: 1rem !important; text-align: right; font-weight: 700; }
.alms-alerts-more[hidden], .alms-alerts-none[hidden] { display: none; }
.alms-alerts-empty, .alms-alerts-none { padding: 1.25rem 1.4rem; border-radius: 20px; border: 1px dashed var(--wp--preset--color--border); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--muted); }

/* --- jak się chronić --- */
.alms-cybertips { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(30rem, 100%), 1fr)); gap: 1.25rem; margin-top: 0 !important; }
.alms-cybertip { display: grid; grid-template-columns: 10.5rem minmax(0, 1fr); gap: 1.25rem; align-items: start; padding: 1.1rem; border-radius: 20px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); scroll-margin-top: 7rem; }
.alms-cybertip__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 14px; }
.alms-cybertip__body > * { margin: 0; }
.alms-cybertip__title { margin: .15rem 0 .75rem !important; font-size: 1.1rem !important; line-height: 1.3; }
.alms-cybertip ul { margin: 0; padding: 0; }
@media (max-width: 560px) {
	.alms-cybertip { grid-template-columns: minmax(0, 1fr); }
}

/* --- gdzie zgłosić (karty z motywu: .alms-tz__*) --- */
.alms-cyber-reports { margin-top: 0 !important; }
.alms-cyber-report .alms-tz__num { font-size: 1.5rem; white-space: normal; overflow-wrap: anywhere; }
.alms-cyber-school { margin-top: 1.25rem !important; padding: 1rem 1.25rem; border-radius: 16px; border-left: 5px solid #DDB671; background: var(--wp--preset--color--surface); border-top: 1px solid var(--wp--preset--color--border); border-right: 1px solid var(--wp--preset--color--border); border-bottom: 1px solid var(--wp--preset--color--border); font-weight: 600; color: var(--wp--preset--color--heading); }

/* długie słowo „Cyberbezpieczeństwo” w tytule strony nie mieści się na telefonie */
@media (max-width: 480px) { body:has(.alms-cyber-h) .wp-block-post-title { font-size: min(1.9rem, 6.8vw) !important; } }

@media (prefers-reduced-motion: reduce) { .alms-alert__tips summary::after { transition: none; } }

/* --- pasek nad stopką (lista Aktualności) --- */
.alms-cyber-strip { padding: 0 var(--wp--style--root--padding-right, 1.25rem) 0 var(--wp--style--root--padding-left, 1.25rem); margin-top: var(--wp--preset--spacing--60, 4rem); margin-bottom: var(--wp--preset--spacing--50, 3rem); }
.alms-cyber-strip__in { box-sizing: border-box; max-width: var(--wp--style--global--wide-size, 1280px); margin: 0 auto; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 28px; background: linear-gradient(150deg, #002A5B 0%, #001A38 100%); color: #FFFFFF; }
.alms-cyber-strip__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: 1.5rem; }
.alms-cyber-strip__head > div > * { margin: 0; }
.alms-cyber-strip .alms-kicker { color: #DDB671; margin-bottom: .35rem; }
.alms-cyber-strip__title { margin: 0 0 .35rem !important; color: #FFFFFF !important; font-size: clamp(1.5rem, 3vw, 2rem) !important; line-height: 1.15; }
.alms-cyber-strip__lead { color: #C9D6E5; }
.alms-cyber-strip__links { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; margin: 0; }
.alms-cyber-strip__links .wp-element-button { background: #DDB671; color: #001A38; border-color: #DDB671; }
.alms-cyber-strip__links .wp-element-button:hover, .alms-cyber-strip__links .wp-element-button:focus-visible { background: #FFFFFF; color: #001A38; }
.alms-cyber-strip__more { color: #FFFFFF; font-weight: 700; text-decoration: underline; text-decoration-color: rgb(221 182 113 / .7); text-underline-offset: 4px; }
.alms-cyber-strip__more:hover { color: #DDB671; }
.alms-cyber-strip a:focus-visible { outline: 3px solid #DDB671; outline-offset: 3px; }
.alms-cyber-strip__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr)); gap: 1rem; }
.alms-cmini { position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 18px; background: var(--wp--preset--color--surface); border: 1px solid rgb(255 255 255 / .12); transition: transform .15s, box-shadow .15s; }
.alms-cmini:hover, .alms-cmini:focus-within { transform: translateY(-2px); box-shadow: 0 14px 32px rgb(0 0 0 / .3); }
.alms-cmini.is-urgent { box-shadow: inset 0 4px 0 #B42318; }
.alms-cmini img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; }
.alms-cmini__body { display: grid; gap: .4rem; padding: .9rem 1rem 1.1rem; }
.alms-cmini__body > * { margin: 0 !important; }
.alms-cmini__meta { display: flex; flex-wrap: wrap; gap: .15rem .6rem; font-size: .75rem; }
.alms-cmini__meta span { font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--gold-text); }
.alms-cmini__meta time { color: var(--wp--preset--color--muted); font-weight: 600; }
.alms-cmini__title { font-size: 1rem !important; line-height: 1.35; color: var(--wp--preset--color--heading); }
.alms-cmini__title a::after { content: ""; position: absolute; inset: 0; }
.alms-cmini__urgent { display: inline-block; padding: .05rem .5rem; border-radius: 99px; background: #B42318; color: #FFFFFF; font-size: .6875rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; vertical-align: .1em; }
@media (prefers-reduced-motion: reduce) { .alms-cmini { transition: none; } .alms-cmini:hover { transform: none; } }
@media (max-width: 600px) {
	.alms-cmini { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); }
	.alms-cmini img { height: 100%; aspect-ratio: auto; min-height: 6.5rem; }
	.alms-cmini__body { padding: .75rem .85rem .85rem; }
	.alms-cmini__meta span { letter-spacing: .03em; }
}

/* --- strona alertu (dopisek pod treścią) --- */
.alms-alert-post__urgent { padding: .9rem 1.15rem; border-radius: 14px; border: 1px solid rgb(180 35 24 / .45); border-left: 5px solid #B42318; background: rgb(180 35 24 / .07); color: var(--wp--preset--color--heading); }
.alms-alert-post__box { margin-top: var(--wp--preset--spacing--50, 2.5rem) !important; padding: clamp(1.1rem, 3vw, 1.6rem); border-radius: 20px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-top: 5px solid #DDB671; }
.alms-alert-post__box > * { margin: 0; }
.alms-alert-post__box .alms-kicker { color: var(--wp--preset--color--gold-text); margin-bottom: .3rem; }
.alms-alert-post__h { margin: 0 0 1rem !important; font-size: 1.4rem !important; }
.alms-alert-post__box ul { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.alms-alert-post__box li { position: relative; padding-left: 1.75rem; line-height: 1.55; }
.alms-alert-post__box li::before { content: ""; position: absolute; left: 0; top: .25rem; width: 1.15rem; height: 1.15rem; border-radius: 50%; background: #1666A6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.3l2.6 2.5L12 5.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat; }
:root[data-theme="dark"] .alms-alert-post__box li::before { background-color: #4D9BD6; }
.alms-alert-post__src { margin-top: 1.25rem !important; font-size: .9375rem; color: var(--wp--preset--color--muted); }
.alms-alert-post__src a { font-weight: 700; }
.alms-alert-post__more { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; font-weight: 700; }
