/*
Theme Name: HK Siscia (Hello Elementor child)
Theme URI: https://hksiscia.hr
Description: Dječja tema za HK Siscia. Fontovi (samostalno hostirani), fokus prsten, reduced-motion i radijus 0. Sav sadržaj ide u Elementor containere.
Author: HK Siscia
Template: hello-elementor
Version: 1.0.0
Text Domain: hks
*/

/* ------------------------------------------------------------------
   FONTOVI (sve lokalno, bez Google zahtjeva)
   ------------------------------------------------------------------ */

/* HUSTLE nema Č Ć Š Ž Đ (158 znakova). Druga @font-face s istim imenom i
   unicode-range preuzima samo ta slova iz Barlow Condensed 800, tako da
   kvačice izgledaju kao u prototipu. KAD STIGNE DORAĐENI HUSTLE: obrisati
   drugi blok i zamijeniti Hustle.woff2. */
@font-face {
	font-family: "Hustle";
	src: url("fonts/Hustle.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Hustle";
	src: url("fonts/barlow-condensed-800-latin-ext.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0106-0107, U+010C-010D, U+0110-0111, U+0160-0161, U+017D-017E;
}

/* Inter 400 / 500 / 600 */
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/inter-400-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/inter-400-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/inter-500-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/inter-500-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/inter-600-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/inter-600-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* Barlow Condensed 600 / 700 / 800 */
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/barlow-condensed-600-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/barlow-condensed-600-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/barlow-condensed-700-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/barlow-condensed-700-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/barlow-condensed-800-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Barlow Condensed"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/barlow-condensed-800-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ------------------------------------------------------------------
   TOKENI (iz HANDOFF.md §2)
   ------------------------------------------------------------------ */
:root {
	--hks-dark-blue: #002333;
	--hks-deep-dark: #0b1921;
	--hks-dark-blue-2: #0b3247;
	--hks-dot-blue: #15465f;
	--hks-dark-blue-3: #0d3b52;
	--hks-red: #ed1b34;
	--hks-dark-red: #be1e32;
	--hks-dark-red-hover: #9e1628;
	--hks-ice-white: #eff9fe;
	--hks-ice-blue: #d4e3f5;
	--hks-steel-gray: #a8b2b7;
	--hks-text-gray: #5e6e7a;
	--hks-line-gray: #d6d9db;
	--hks-row-gray: #e2e7ec;
	--hks-font-display: "Hustle", "Barlow Condensed", sans-serif;
	--hks-font-label: "Barlow Condensed", sans-serif;
	--hks-font-body: "Inter", system-ui, sans-serif;
}

/* Oštar brend: radijus 0, bez sjena (osim točke UŽIVO koja je krug). */
button,
input,
select,
textarea,
.elementor-button,
.elementor-field,
.elementor-widget-image img {
	border-radius: 0;
}

/* ------------------------------------------------------------------
   PRISTUPAČNOST
   ------------------------------------------------------------------ */
:focus-visible {
	outline: 2px solid var(--hks-dark-blue);
	outline-offset: 2px;
}
.hks-dark :focus-visible,
.hks-dark:focus-visible {
	outline-color: var(--hks-ice-blue);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Pomoćna klasa: samo za čitače ekrana */
.hks-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;
}

/* ------------------------------------------------------------------
   OKVIRI ZA FOTOGRAFIJE (dok nema stvarnih fotografija): točkasti uzorak.
   Urednik ih zamjenjuje pozadinskom slikom spremnika; klase tada obrisati.
   ------------------------------------------------------------------ */
.hks-ph {
	background: radial-gradient(#15465f 1.5px, transparent 1.6px) 0 0 / 14px 14px #0b3247;
}
.hks-ph-red {
	background: radial-gradient(#be1e32 1.5px, transparent 1.6px) 0 0 / 14px 14px #ED1B34;
}
.hks-ph-light {
	background: radial-gradient(#d6d9db 1.5px, transparent 1.6px) 0 0 / 14px 14px #eef1f4;
}

/* ------------------------------------------------------------------
   NOVOSTI: kartice objava (widget Objave, skin Kartice) u brend stilu
   ------------------------------------------------------------------ */
.hks-posts .elementor-post__card {
	background: #fff;
	border: 1px solid var(--hks-line-gray);
	border-radius: 0;
	box-shadow: none;
}
.hks-posts .elementor-post__title,
.hks-posts .elementor-post__title a {
	font-family: var(--hks-font-label);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--hks-dark-blue);
}
.hks-posts .elementor-post__title a:hover {
	color: var(--hks-red);
}
.hks-posts .elementor-post__meta-data {
	font-family: var(--hks-font-label);
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hks-text-gray);
}
.hks-posts .elementor-post__excerpt p {
	font-family: var(--hks-font-body);
	font-size: 15px;
	color: var(--hks-text-gray);
}
.hks-posts .elementor-post__read-more {
	font-family: var(--hks-font-label);
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hks-dark-red);
}
.hks-posts .elementor-pagination .page-numbers {
	font-family: var(--hks-font-label);
	font-weight: 700;
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--hks-dark-blue);
	color: var(--hks-dark-blue);
}
.hks-posts .elementor-pagination .page-numbers.current {
	background: var(--hks-dark-blue);
	color: #fff;
}

/* ------------------------------------------------------------------
   NATRAG NA VRH (gumb 48x48, bez sjene; cookie "reopen" je iznad njega)
   ------------------------------------------------------------------ */
.hks-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 90;
	width: 48px;
	height: 48px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--hks-dark-red);
	color: #fff;
	border: 2px solid #fff;
	border-radius: 0;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, background-color .2s ease;
}
.hks-top.is-visible {
	opacity: 1;
	visibility: visible;
}
.hks-top:hover {
	background: var(--hks-dark-red-hover);
}
@media (max-width: 767px) {
	.hks-top { right: 16px; bottom: 16px; }
}

/* ------------------------------------------------------------------
   PODACI (shortcodeovi iz mu-plugina hks-podaci): ljestvica, raspored, igračice
   ------------------------------------------------------------------ */
.hks-chip {
	display: inline-block;
	padding: 4px 10px;
	background: var(--hks-dark-red);
	color: #fff;
	font-family: var(--hks-font-label);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .2em;
	text-transform: uppercase;
	line-height: 1.2;
}
.hks-chip--dark { background: var(--hks-dark-blue); }
.hks-match__meta .hks-chip {
	background: transparent;
	color: currentColor;
	border: 1.5px solid currentColor;
}

/* Tablica */
.hks-tbl-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--hks-line-gray); }
.hks-tbl { width: 100%; border-collapse: collapse; font-family: var(--hks-font-body); font-size: 15px; color: var(--hks-dark-blue); }
.hks-tbl th, .hks-tbl td { padding: 14px 12px; text-align: center; border-bottom: 1px solid var(--hks-row-gray); font-weight: 500; }
.hks-tbl thead th { font-family: var(--hks-font-label); font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--hks-text-gray); background: var(--hks-ice-white); font-weight: 700; }
.hks-tbl tbody th { text-align: left; font-family: var(--hks-font-label); font-weight: 700; font-size: 20px; text-transform: uppercase; }
.hks-tbl td:first-child { font-family: var(--hks-font-label); font-weight: 800; font-size: 20px; width: 44px; }
.hks-tbl-pts { font-family: var(--hks-font-label); font-weight: 800; font-size: 22px !important; }
.hks-tbl-me { background: var(--hks-dark-blue); color: #fff; }
.hks-tbl-me th, .hks-tbl-me td { color: #fff; border-bottom-color: rgba(255,255,255,.15); }
.hks-tbl-empty { color: var(--hks-text-gray); font-family: var(--hks-font-body); }

/* Raspored i rezultati */
.hks-raspored .hks-raspored__mjesec { margin: 40px 0 16px; font-family: var(--hks-font-display); font-size: 40px !important; line-height: .95 !important; }
.hks-raspored__mjesec:first-child { margin-top: 0; }
.hks-raspored__lista { border: 1px solid var(--hks-line-gray); background: #fff; }
.hks-match {
	display: grid;
	grid-template-columns: 90px minmax(0,1fr) 120px minmax(0,1fr) 150px 150px;
	gap: 12px;
	align-items: center;
	padding: 16px 20px;
	border-bottom: 1px solid var(--hks-row-gray);
	color: var(--hks-dark-blue);
	font-family: var(--hks-font-label);
}
.hks-match:last-child { border-bottom: 0; }
.hks-match:hover { background: var(--hks-ice-white); }
.hks-match--next { background: var(--hks-dark-blue); color: #fff; }
.hks-match--next:hover { background: var(--hks-dark-blue); }
.hks-match--off { opacity: .75; }
.hks-match__date strong { display: block; font-size: 22px; font-weight: 700; }
.hks-match__date span { font-size: 13px; letter-spacing: .2em; text-transform: uppercase; opacity: .7; }
.hks-match__team { font-size: 22px; font-weight: 700; text-transform: uppercase; line-height: 1.05; }
.hks-match__score { font-family: var(--hks-font-display); font-size: 34px; text-align: center; line-height: 1; }
.hks-match__score small { display: block; font-family: var(--hks-font-label); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; margin-top: 4px; }
.hks-match__meta { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; font-family: var(--hks-font-body); font-size: 14px; }
.hks-match__watch { font-size: 14px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; }
.hks-match__watch a { color: inherit; border-bottom: 2px solid var(--hks-red); text-decoration: none; }
.hks-match__watch a:hover { color: var(--hks-red); }
@media (max-width: 1024px) {
	.hks-match { grid-template-columns: 70px minmax(0,1fr) 90px minmax(0,1fr); }
	.hks-match__meta, .hks-match__watch { grid-column: 2 / -1; }
}
@media (max-width: 767px) {
	.hks-match { grid-template-columns: 56px minmax(0,1fr) 76px minmax(0,1fr); gap: 8px; padding: 14px 12px; }
	.hks-match__team { font-size: 17px; }
	.hks-match__score { font-size: 26px; }
	.hks-hide-m { display: none; }
	.hks-raspored .hks-raspored__mjesec { font-size: 28px !important; }
}

/* Najava sljedeće utakmice (na tamnoj podlozi) */
.hks-next { display: grid; grid-template-columns: 1fr auto 1fr; gap: 32px; align-items: center; color: #fff; }
.hks-next__team { font-family: var(--hks-font-display); font-size: 44px; text-transform: uppercase; line-height: .95; }
.hks-next__team:last-of-type { text-align: right; }
.hks-next__when { display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; }
.hks-next__when strong { font-family: var(--hks-font-display); font-size: 36px; font-weight: 400; }
.hks-next__watch { grid-column: 1 / -1; justify-self: center; color: #fff; border-bottom: 2px solid var(--hks-red); font-family: var(--hks-font-label); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; }
@media (max-width: 767px) {
	.hks-next { grid-template-columns: 1fr; gap: 16px; }
	.hks-next__team, .hks-next__team:last-of-type { text-align: left; font-size: 32px; }
	.hks-next__when { align-items: flex-start; text-align: left; }
}

/* Igračice */
.hks-roster { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; }
.hks-player a { display: block; background: #fff; border: 1px solid var(--hks-line-gray); color: var(--hks-dark-blue); text-decoration: none; height: 100%; }
.hks-player__photo { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; }
.hks-player__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.hks-player a:hover .hks-player__photo img { transform: scale(1.03); }
.hks-player__no { position: absolute; left: 14px; top: 8px; font-family: var(--hks-font-display); font-size: 72px; line-height: 1; color: var(--hks-red); }
.hks-player__body { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px; }
.hks-player__pos { font-family: var(--hks-font-label); font-weight: 700; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--hks-text-gray); }
.hks-player__name { font-family: var(--hks-font-label); font-weight: 700; font-size: 24px; text-transform: uppercase; line-height: 1.05; }
.hks-player a:hover .hks-player__name { color: var(--hks-red); }
@media (max-width: 1024px) { .hks-roster { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 767px) { .hks-roster { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; } .hks-player__no { font-size: 48px; } .hks-player__name { font-size: 19px; } }
@media (prefers-reduced-motion: reduce) { .hks-player a:hover .hks-player__photo img { transform: none; } }

/* Stranica igračice */
.hks-pinfo { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; color: #fff; }
.hks-pinfo__no { font-family: var(--hks-font-display); font-size: 120px; line-height: .85; color: var(--hks-red); }
.hks-pinfo__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 32px; font-family: var(--hks-font-label); font-weight: 700; font-size: 22px; text-transform: uppercase; }
.hks-pinfo__list span { display: block; font-size: 13px; letter-spacing: .2em; color: var(--hks-ice-blue); }
@media (max-width: 767px) { .hks-pinfo__no { font-size: 80px; } }
.hks-next a.hks-next__watch,
.elementor-kit-6 .hks-next a.hks-next__watch { color: #fff !important; }
.hks-next a.hks-next__watch:hover { color: var(--hks-red) !important; }
