/*
 * cam-connect.sk — theme mods CSS.
 * Plugin: CAM-Connect Theme Mods.
 */

:root {
	--cc-navy: #0A0E1A;
	--cc-navy-soft: #131A2E;
	--cc-cyan: #00D9FF;
	--cc-cyan-soft: #66EBFF;
	--cc-orange: #FF6B35;
	--cc-text: #E8ECF4;
	--cc-text-muted: #8B95A8;
	--cc-success: #10B981;
	--cc-card-bg: #FFFFFF;
}

/* Header — tmavý */
.site-header,
.ast-header-break-point .main-header-bar {
	background-color: var(--cc-navy) !important;
	border-bottom: 1px solid var(--cc-navy-soft);
}
.site-header .site-title a,
.site-header .site-description,
.main-header-menu > .menu-item > a {
	color: var(--cc-text) !important;
}
.main-header-menu > .menu-item > a:hover {
	color: var(--cc-cyan) !important;
}

/* Akcent tlačidlá */
.wp-block-button__link,
.button,
.ast-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .button.alt {
	background-color: var(--cc-cyan) !important;
	color: var(--cc-navy) !important;
	border-radius: 6px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.wp-block-button__link:hover,
.button:hover,
.ast-button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button.alt:hover {
	background-color: var(--cc-cyan-soft) !important;
	color: var(--cc-navy) !important;
}

/* Produktová karta */
.woocommerce ul.products li.product .price {
	color: var(--cc-navy);
	font-weight: 700;
}
.woocommerce ul.products li.product {
	background: var(--cc-card-bg);
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(10, 14, 26, 0.08);
	padding: 16px;
	transition: transform 0.2s, box-shadow 0.2s;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 6px 20px rgba(10, 14, 26, 0.15);
}

/* Hikvision záručný badge */
.cc-warranty-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	margin: 10px 0;
	background: linear-gradient(135deg, #DC2626 0%, #B91C1C 100%);
	color: white;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 2px 6px rgba(220, 38, 38, 0.3);
}
.cc-warranty-badge::before {
	content: "🛡️";
	font-size: 18px;
}

/* Montáž CTA box */
.cc-mount-cta {
	margin: 20px 0;
	padding: 18px 20px;
	background: var(--cc-navy);
	color: var(--cc-text);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.cc-mount-cta strong {
	color: var(--cc-cyan);
	font-size: 16px;
}
.cc-mount-cta .button {
	margin-left: auto;
}

/* Footer */
.site-footer {
	background: var(--cc-navy) !important;
	color: var(--cc-text-muted);
}
.site-footer a {
	color: var(--cc-cyan-soft);
}

/* Skry Astra default header (chceme len náš cc-nav) */
.site-header,
.ast-main-header-wrap,
.ast-mobile-header-wrap,
.main-header-bar,
.ast-desktop-header-content,
.ast-mobile-header-content,
header#masthead { display: none !important; }

/* Skry Astra default footer (footer plugin už má vlastný) */
.site-below-footer-wrap,
.ast-builder-grid-row-container.site-footer-focus-item,
footer.site-footer { display: none !important; }

/* Home page — odstráň prázdny entry-content placeholder (hero/cats/brands renderuje plugin pred main) */
body.home .ast-container,
body.home #content,
body.home #primary,
body.home .site-main,
body.home main#main,
body.home main#main > article,
body.home .ast-article-single,
body.home .entry-content,
body.home .entry-header { padding: 0 !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; min-height: 0 !important; }
body.home .entry-content:empty,
body.home .entry-content.clear { display: none !important; }
body.home .ast-no-sidebar .entry-content { padding: 0 !important; }

/* Fix bielej plochy — Astra dáva #content flex-grow:1 v #page flexboxe, vyplní zvyšok viewportu */
body.home #content.site-content,
body.home #page > #content { display: none !important; }
body.home #page { display: contents !important; }

/* cc-nav + trust banner — VŽDY full viewport width, bez ohľadu na parent container */
body .cc-trust-row,
body .cc-nav {
	position: relative;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-top: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Astra body padding-top reset (na archive/shop niekedy pridáva offset) */
body.woocommerce, body.woocommerce-page, body.archive, body.single-product {
	padding-top: 0 !important;
}

/* Reset Astra wrapper na archive/shop — chceme rovnaký look ako home */
body.woocommerce #content,
body.woocommerce-page #content,
body.archive #content,
body.single-product #content,
body.woocommerce .ast-container,
body.woocommerce-page .ast-container,
body.archive .ast-container,
body.single-product .ast-container {
	max-width: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding-top: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	background: transparent !important;
}
body.woocommerce .ast-woocommerce-container,
body.woocommerce-page .ast-woocommerce-container,
body.archive .ast-woocommerce-container,
body.single-product .ast-woocommerce-container {
	max-width: 1400px;
	margin: 0 auto !important;
	padding: 24px 20px !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	background: transparent !important;
}

/* CC Navigation bar */
.cc-nav {
	background: var(--cc-navy);
	border-bottom: 2px solid var(--cc-cyan);
	padding: 12px 0;
}
.cc-nav-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 20px;
	display: flex;
	align-items: center;
	gap: 28px;
}
.cc-nav-brand {
	color: var(--cc-text);
	text-decoration: none;
	font-size: 18px;
	font-weight: 700;
}
.cc-nav-brand strong { color: var(--cc-cyan); }
.cc-nav-links {
	display: flex;
	gap: 24px;
	flex: 1;
}
.cc-nav-links a {
	color: var(--cc-text);
	text-decoration: none;
	font-weight: 500;
	font-size: 15px;
	transition: color 0.2s;
}
.cc-nav-links a:hover { color: var(--cc-cyan); }
.cc-nav-actions {
	display: flex;
	gap: 14px;
	font-size: 22px;
}
.cc-nav-actions a {
	color: var(--cc-text);
	text-decoration: none;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255,255,255,0.08);
	transition: background 0.2s;
}
.cc-nav-actions a:hover { background: var(--cc-cyan); color: var(--cc-navy); }
.cc-nav-actions a svg { display: block; }
.cc-nav-brand svg { color: var(--cc-cyan); }
.cc-trust-row span { display: inline-flex; align-items: center; gap: 6px; }
.cc-trust-row span svg { color: var(--cc-cyan); }
.cc-hero-kicker { display: inline-flex !important; align-items: center; gap: 8px; }
.cc-hero-kicker svg { color: var(--cc-cyan); }
.cc-hero-card-icon { color: var(--cc-cyan); display: flex; justify-content: center; margin-bottom: 12px; }
.cc-cat-icon { color: var(--cc-cyan); display: inline-flex; }
.cc-feature-icon { color: var(--cc-cyan); }
.cc-fs-icon { color: var(--cc-cyan); display: inline-flex; align-items: center; }
.cc-fs-chevron { color: #94A3B8; display: inline-flex; transition: transform 0.2s; }
.cc-fs[open] .cc-fs-chevron { transform: rotate(180deg); }

/* Trust badges row pod header */
.cc-trust-row {
	background: var(--cc-navy-soft);
	color: var(--cc-text);
	padding: 10px 0;
	font-size: 13px;
	text-align: center;
}
.cc-trust-row span {
	margin: 0 18px;
	white-space: nowrap;
}
.cc-trust-row span::before {
	content: "✓ ";
	color: var(--cc-cyan);
	margin-right: 4px;
}

/* Skladom indikátor */
.woocommerce .stock.in-stock {
	color: var(--cc-success);
	font-weight: 600;
}

/* === SUBCATEGORY CHIPS — horizontal scrollable nav nad kategóriou === */
.cc-subcats {
	max-width: 1400px;
	margin: 16px auto 0;
	padding: 0 20px;
}
.cc-subcats-scroll {
	display: flex;
	gap: 8px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 4px 2px 14px;
	scroll-snap-type: x proximity;
	scrollbar-width: thin;
	scrollbar-color: #CBD5E1 transparent;
}
.cc-subcats-scroll::-webkit-scrollbar { height: 6px; }
.cc-subcats-scroll::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 3px; }
.cc-subcat-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px 9px 12px;
	background: #fff;
	border: 1.5px solid #E2E8F0;
	border-radius: 999px;
	color: var(--cc-navy);
	text-decoration: none;
	font-size: 13.5px;
	font-weight: 600;
	white-space: nowrap;
	scroll-snap-align: start;
	flex-shrink: 0;
	transition: all 0.18s;
}
.cc-subcat-chip svg { color: var(--cc-cyan); flex-shrink: 0; }

/* Brand chip — farebný monogram namiesto generickej icon */
.cc-subcat-chip.cc-brand-chip {
	padding-left: 4px;
}
.cc-subcat-chip.cc-brand-chip:hover {
	border-color: var(--brand, var(--cc-cyan));
	background: color-mix(in srgb, var(--brand, #00D9FF) 8%, white);
}
.cc-brand-mono {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 22px;
	padding: 0 7px;
	border-radius: 999px;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
	flex-shrink: 0;
}
.cc-subcat-chip em {
	font-style: normal;
	background: #F1F5F9;
	color: #64748B;
	font-size: 11px;
	padding: 2px 8px;
	border-radius: 99px;
	font-weight: 600;
}
.cc-subcat-chip:hover {
	border-color: var(--cc-cyan);
	color: var(--cc-navy);
	background: #F0FDFF;
	transform: translateY(-1px);
}
.cc-subcat-chip:hover em {
	background: var(--cc-cyan);
	color: var(--cc-navy);
}
.cc-subcat-chip.cc-subcat-all {
	background: var(--cc-navy);
	color: #fff;
	border-color: var(--cc-navy);
}
.cc-subcat-chip.cc-subcat-all em {
	background: rgba(0,217,255,0.2);
	color: var(--cc-cyan);
}
.cc-subcat-chip.cc-subcat-all:hover {
	background: var(--cc-cyan);
	color: var(--cc-navy);
	border-color: var(--cc-cyan);
}

/* === MODERN FILTRE 2026 — accordion sidebar === */
.cc-shop-layout {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 32px;
	align-items: start;
	max-width: 1400px;
	margin: 0 auto;
	padding: 24px 20px;
}
.cc-filters-modern {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 2px 16px rgba(15, 23, 42, 0.06);
	padding: 8px 14px 18px;
	position: sticky;
	top: 20px;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
}
.cc-filters-modern::-webkit-scrollbar { width: 6px; }
.cc-filters-modern::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 3px; }

.cc-filters-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 4px 12px;
	border-bottom: 1px solid #F1F5F9;
	margin-bottom: 8px;
}
.cc-filters-header h3 {
	margin: 0;
	font-size: 17px;
	font-weight: 700;
	color: var(--cc-navy);
	letter-spacing: -0.01em;
}
.cc-filters-close {
	display: none;
	background: #F1F5F9;
	border: none;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	font-size: 16px;
	cursor: pointer;
	color: var(--cc-navy);
}

/* Aktívne filtre = chips */
.cc-filter-active-wrap { padding: 4px 4px 12px; }
.cc-filter-active-wrap ul {
	list-style: none;
	padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; gap: 6px;
}
.cc-filter-active-wrap ul li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--cc-cyan);
	color: var(--cc-navy);
	padding: 5px 10px 5px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	transition: all 0.15s;
}
.cc-filter-active-wrap ul li a {
	color: var(--cc-navy);
	text-decoration: none;
	font-size: 16px;
	line-height: 1;
	opacity: 0.7;
}
.cc-filter-active-wrap ul li a:hover { opacity: 1; }

/* Accordion sekcie */
.cc-fs {
	border-bottom: 1px solid #F1F5F9;
	padding: 4px 0;
}
.cc-fs:last-of-type { border-bottom: none; }
.cc-fs-summary {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 4px;
	cursor: pointer;
	font-weight: 600;
	font-size: 14px;
	color: var(--cc-navy);
	user-select: none;
	list-style: none;
}
.cc-fs-summary::-webkit-details-marker { display: none; }
.cc-fs-icon { font-size: 18px; line-height: 1; }
.cc-fs-label { flex: 1; }
.cc-fs-chevron {
	font-size: 14px;
	color: #94A3B8;
	transition: transform 0.2s;
	font-weight: 700;
}
.cc-fs[open] .cc-fs-chevron { transform: rotate(180deg); }
.cc-fs-body { padding: 4px 4px 14px; }
.cc-fs-search {
	width: 100%;
	padding: 8px 12px;
	margin-bottom: 10px;
	border: 1px solid #E2E8F0;
	border-radius: 8px;
	font-size: 13px;
	background: #F8FAFC;
	transition: all 0.15s;
}
.cc-fs-search:focus {
	outline: none;
	border-color: var(--cc-cyan);
	background: #fff;
}

/* Layered nav list — moderný */
.cc-fs-body ul.woocommerce-widget-layered-nav-list,
.cc-fs-body .woocommerce-widget-layered-nav-list {
	list-style: none;
	padding: 0; margin: 0;
	max-height: 240px;
	overflow-y: auto;
	font-size: 13.5px;
}
.cc-fs-body ul li {
	padding: 0;
	line-height: 1;
}
.cc-fs-body ul li a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 7px 10px;
	color: #334155;
	text-decoration: none;
	border-radius: 6px;
	transition: all 0.12s;
}
.cc-fs-body ul li a::before {
	content: "";
	display: inline-block;
	width: 14px; height: 14px;
	border: 1.5px solid #CBD5E1;
	border-radius: 4px;
	margin-right: 8px;
	flex-shrink: 0;
	background: #fff;
	transition: all 0.15s;
}
.cc-fs-body ul li a:hover {
	background: #F1F5F9;
	color: var(--cc-navy);
}
.cc-fs-body ul li.chosen a::before,
.cc-fs-body ul li a.chosen::before {
	background: var(--cc-cyan);
	border-color: var(--cc-cyan);
	box-shadow: inset 0 0 0 2px #fff;
}
.cc-fs-body ul li .count {
	color: #94A3B8;
	font-size: 11px;
	font-weight: 500;
	margin-left: auto;
}

/* Price slider — modern */
.cc-fs-body .price_slider_wrapper { padding: 6px 6px 4px; }
.cc-fs-body .price_slider {
	background: #E2E8F0;
	height: 5px;
	position: relative;
	margin: 16px 6px 22px;
	border-radius: 999px;
}
.cc-fs-body .ui-slider-range {
	background: linear-gradient(90deg, var(--cc-cyan), #0099BB);
	height: 5px;
	position: absolute;
	border-radius: 999px;
}
.cc-fs-body .ui-slider-handle {
	background: #fff;
	width: 20px; height: 20px;
	border-radius: 50%;
	position: absolute;
	top: -8px;
	margin-left: -10px;
	cursor: grab;
	border: 3px solid var(--cc-cyan);
	box-shadow: 0 2px 6px rgba(0, 217, 255, 0.4);
	transition: transform 0.1s;
}
.cc-fs-body .ui-slider-handle:hover { transform: scale(1.1); }
.cc-fs-body .price_label {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
	color: var(--cc-navy);
	font-weight: 600;
	margin: 8px 0 12px;
}
.cc-fs-body .price_slider_amount .button {
	width: 100%;
	padding: 9px 14px;
	font-size: 12px;
	border-radius: 8px;
	font-weight: 600;
}

/* Mobile filter toggle */
.cc-filter-mobile-toggle {
	display: none;
	width: 100%;
	background: var(--cc-navy);
	color: var(--cc-cyan);
	border: none;
	padding: 14px 20px;
	border-radius: 12px;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	margin: 0 0 18px;
	gap: 8px;
	align-items: center;
	justify-content: center;
}
.cc-filter-mobile-toggle span { font-size: 18px; }
.cc-filters-backdrop {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(10, 14, 26, 0.5);
	z-index: 998;
	backdrop-filter: blur(2px);
}
body.cc-filters-open { overflow: hidden; }
body.cc-filters-open .cc-filters-backdrop { display: block; }

/* === HOMEPAGE SEKCIE === */
.cc-home-content {
	max-width: 1240px;
	margin: 0 auto;
	padding: 24px 20px 40px;
}

.cc-hero {
	background: linear-gradient(135deg, var(--cc-navy) 0%, var(--cc-navy-soft) 100%);
	background-size: cover;
	background-position: center;
	color: var(--cc-text);
	padding: 80px 32px;
	margin: -20px -20px 30px;
	border-radius: 12px;
	position: relative;
	overflow: hidden;
}
.cc-hero-inner {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: 40px;
	align-items: center;
	max-width: 1200px;
	margin: 0 auto;
}
.cc-hero-kicker {
	display: inline-block;
	color: var(--cc-cyan);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin-bottom: 14px;
}
.cc-hero h1 {
	font-size: 42px;
	line-height: 1.15;
	margin: 0 0 18px;
	color: white;
}
.cc-hero p {
	font-size: 17px;
	line-height: 1.55;
	color: var(--cc-text-muted);
	margin: 0 0 26px;
	max-width: 540px;
}
.cc-hero p strong { color: var(--cc-text); }
.cc-hero-cta { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 24px; }
.cc-btn-primary, .cc-btn-secondary {
	display: inline-flex;
	align-items: center;
	padding: 14px 26px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 600;
	transition: all 0.2s;
}
.cc-btn-primary {
	background: var(--cc-cyan);
	color: var(--cc-navy);
}
.cc-btn-primary:hover {
	background: var(--cc-cyan-soft);
	transform: translateY(-1px);
}
.cc-btn-secondary {
	background: transparent;
	color: var(--cc-text);
	border: 1px solid rgba(255,255,255,0.25);
}
.cc-btn-secondary:hover {
	border-color: var(--cc-cyan);
	color: var(--cc-cyan);
}
.cc-btn-large { padding: 18px 32px; font-size: 17px; }
.cc-hero-trust { display: flex; gap: 22px; flex-wrap: wrap; font-size: 13px; color: var(--cc-text-muted); }
.cc-hero-visual { display: flex; justify-content: center; }
.cc-hero-card {
	background: rgba(255,255,255,0.04);
	border: 1px solid rgba(0, 217, 255, 0.3);
	border-radius: 14px;
	padding: 30px;
	text-align: center;
	min-width: 240px;
	box-shadow: 0 8px 30px rgba(0, 217, 255, 0.1);
}
.cc-hero-card-icon { font-size: 56px; margin-bottom: 12px; }
.cc-hero-card strong { display: block; font-size: 22px; color: var(--cc-cyan); margin-bottom: 4px; }
.cc-hero-card span { color: var(--cc-text-muted); font-size: 14px; }

.cc-cats { margin: 50px 0 40px; }
.cc-cats h2, .cc-brands h2 { font-size: 26px; margin: 0 0 22px; color: var(--cc-navy); }
.cc-cats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}
.cc-cat-tile {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 6px;
	padding: 24px;
	min-height: 220px;
	background-color: white;
	background-image: var(--cc-bg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	border: 1px solid #E2E8F0;
	border-radius: 14px;
	text-decoration: none;
	color: #fff;
	transition: all 0.3s;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.cc-cat-tile::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,14,26,0) 0%, rgba(10,14,26,0.5) 55%, rgba(10,14,26,0.92) 100%);
	z-index: -1;
	transition: opacity 0.3s;
}
.cc-cat-tile:hover {
	border-color: var(--cc-cyan);
	transform: translateY(-4px);
	box-shadow: 0 16px 30px rgba(10, 14, 26, 0.25);
}
.cc-cat-tile:hover::before {
	background: linear-gradient(180deg, rgba(10,14,26,0.2) 0%, rgba(10,14,26,0.6) 50%, rgba(10,14,26,0.95) 100%);
}
.cc-cat-icon {
	color: var(--cc-cyan);
	display: inline-flex;
	width: 44px; height: 44px;
	background: rgba(0,217,255,0.15);
	border: 1px solid rgba(0,217,255,0.35);
	border-radius: 12px;
	align-items: center;
	justify-content: center;
	margin-bottom: auto;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.cc-cat-tile strong { font-size: 18px; color: #fff; text-shadow: 0 1px 4px rgba(0,0,0,0.5); }
.cc-cat-tile span:not(.cc-cat-icon) { font-size: 13px; color: #C9D2E0; text-shadow: 0 1px 3px rgba(0,0,0,0.5); }

/* Banner strip pred CTA */
.cc-banner-strip {
	background-color: var(--cc-navy);
	background-size: cover;
	background-position: center;
	color: #fff;
	border-radius: 14px;
	padding: 22px 28px;
	margin: 30px 0;
	text-align: center;
	font-size: 14px;
	letter-spacing: 0.02em;
	border: 1px solid rgba(0,217,255,0.2);
}
.cc-banner-strip span { display: inline-block; text-shadow: 0 1px 4px rgba(0,0,0,0.6); }

.cc-brands { margin: 40px 0; }
.cc-brands-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
}
.cc-brand-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px 18px;
	background: #fff;
	border: 1.5px solid #E2E8F0;
	border-radius: 14px;
	text-decoration: none;
	color: var(--cc-navy);
	transition: all 0.2s;
	position: relative;
	overflow: hidden;
}
.cc-brand-card::before {
	content: "";
	position: absolute;
	left: 0; top: 0; bottom: 0;
	width: 4px;
	background: var(--brand, #94A3B8);
	transition: width 0.2s;
}
.cc-brand-card:hover {
	border-color: var(--brand, var(--cc-cyan));
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(10, 14, 26, 0.1);
}
.cc-brand-card:hover::before { width: 8px; }
.cc-brand-card strong {
	flex: 1;
	font-size: 15px;
	color: var(--cc-navy);
	line-height: 1.2;
}
.cc-brand-card .cc-brand-mono {
	width: 44px;
	min-width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 10px;
	font-size: 14px;
}
.cc-brand-card .cc-brand-count {
	font-size: 11px;
	color: #64748B;
	font-weight: 600;
	background: #F1F5F9;
	padding: 3px 8px;
	border-radius: 6px;
	display: inline-block;
}

.cc-features {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
	margin: 40px 0;
	padding: 28px;
	background: #F8FAFC;
	border-radius: 12px;
}
.cc-feature { display: flex; flex-direction: column; gap: 4px; }
.cc-feature-icon { font-size: 32px; margin-bottom: 4px; }
.cc-feature strong { font-size: 16px; color: var(--cc-navy); }
.cc-feature span { font-size: 13px; color: var(--cc-text-muted); line-height: 1.5; }
.cc-feature strong { color: var(--cc-navy); }

.cc-cta-mount {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	flex-wrap: wrap;
	margin: 40px 0 20px;
	padding: 32px 36px;
	background: linear-gradient(135deg, var(--cc-navy) 0%, var(--cc-navy-soft) 100%);
	color: var(--cc-text);
	border-radius: 14px;
}
.cc-cta-mount h2 { color: white; margin: 0 0 6px; font-size: 24px; }
.cc-cta-mount p { color: var(--cc-text-muted); margin: 0; max-width: 600px; }

/* About page hero */
.cc-about-hero {
	background-size: cover;
	background-position: center;
	border-radius: 14px;
	padding: 50px 36px;
	color: #fff;
	margin: 0 0 28px;
	min-height: 220px;
	display: flex;
	align-items: center;
}
.cc-about-kicker {
	display: inline-block;
	color: var(--cc-cyan);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.cc-about-hero h2 {
	color: #fff;
	font-size: 32px;
	margin: 0 0 10px;
	letter-spacing: -0.01em;
}
.cc-about-hero p {
	color: #C9D2E0;
	font-size: 15px;
	margin: 0;
	text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}

/* === WC PAGES — Cart / Checkout / My Account === */
.woocommerce {
	max-width: 1240px;
	margin: 0 auto;
	padding: 24px 20px;
}

/* Product loop card — modern */
.woocommerce ul.products,
.wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
	gap: 22px !important;
	list-style: none;
	padding: 0;
	margin: 24px 0 !important;
}
.woocommerce ul.products li.product {
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
	padding: 16px 16px 18px !important;
	transition: all 0.25s;
	position: relative;
	overflow: hidden;
}
.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	color: var(--cc-navy);
	text-decoration: none;
}
.woocommerce ul.products li.product img {
	border-radius: 10px;
	background: #F8FAFC;
	aspect-ratio: 1;
	object-fit: contain;
	width: 100%;
	margin-bottom: 14px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 15px !important;
	font-weight: 600;
	margin: 0 0 8px !important;
	padding: 0 !important;
	color: var(--cc-navy);
	line-height: 1.35;
	min-height: 42px;
}
.woocommerce ul.products li.product .price {
	font-size: 19px !important;
	font-weight: 700;
	color: var(--cc-navy);
	margin: 0 0 12px;
	display: block;
}
.woocommerce ul.products li.product .button {
	width: 100%;
	padding: 10px 14px !important;
	font-size: 13px !important;
	margin: 0 !important;
	border-radius: 8px !important;
}

/* Single product page */
.woocommerce div.product {
	background: #fff;
	border-radius: 16px;
	padding: 28px;
	box-shadow: 0 2px 16px rgba(15, 23, 42, 0.05);
}
.woocommerce div.product .product_title {
	font-size: 28px;
	color: var(--cc-navy);
	margin-bottom: 16px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 32px !important;
	font-weight: 800;
	color: var(--cc-navy) !important;
}
.woocommerce div.product form.cart .button {
	padding: 14px 28px !important;
	font-size: 16px !important;
	border-radius: 10px !important;
}

/* Cart */
.woocommerce-cart .cart {
	background: #fff;
	border-radius: 14px;
	padding: 18px;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}
.woocommerce table.shop_table {
	border: none !important;
	border-collapse: separate;
	border-spacing: 0 8px;
}
.woocommerce table.shop_table th {
	background: #F8FAFC;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #64748B;
	border: none;
	padding: 12px !important;
}
.woocommerce table.shop_table td {
	background: #fff;
	border: 1px solid #F1F5F9;
	border-left: none;
	border-right: none;
	padding: 14px 12px !important;
	vertical-align: middle;
}
.woocommerce-cart-form .actions { padding-top: 16px !important; }
.cart_totals h2 { font-size: 22px; color: var(--cc-navy); margin-bottom: 14px; }

/* Checkout */
.woocommerce-checkout #payment {
	background: #fff !important;
	border-radius: 14px;
	padding: 18px;
}
.woocommerce-checkout #payment ul.payment_methods {
	background: transparent;
	border-bottom: 1px solid #F1F5F9;
}
.woocommerce-checkout #payment ul.payment_methods li {
	background: #F8FAFC;
	border-radius: 10px;
	padding: 14px 16px;
	margin-bottom: 8px;
	border: 2px solid transparent;
	transition: all 0.15s;
}
.woocommerce-checkout #payment ul.payment_methods li:hover { border-color: #E2E8F0; }
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]:checked + label,
.woocommerce-checkout #payment ul.payment_methods li.checked { border-color: var(--cc-cyan); }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	padding: 11px 14px !important;
	border-radius: 8px !important;
	border: 1px solid #E2E8F0 !important;
	font-size: 14px;
	transition: all 0.15s;
}
.woocommerce form .form-row input.input-text:focus {
	outline: none;
	border-color: var(--cc-cyan) !important;
	box-shadow: 0 0 0 3px rgba(0, 217, 255, 0.15) !important;
}
#place_order {
	width: 100%;
	padding: 16px !important;
	font-size: 16px !important;
	border-radius: 10px !important;
	background: var(--cc-cyan) !important;
	color: var(--cc-navy) !important;
	font-weight: 700 !important;
}

/* My Account */
.woocommerce-account .woocommerce-MyAccount-navigation {
	background: #fff;
	border-radius: 14px;
	padding: 12px;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0; padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
	border: none !important;
	margin: 4px 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 10px 14px;
	border-radius: 8px;
	color: #334155;
	text-decoration: none;
	font-weight: 500;
	transition: all 0.15s;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: #F1F5F9; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--cc-navy);
	color: var(--cc-cyan);
}
.woocommerce-account .woocommerce-MyAccount-content {
	background: #fff;
	border-radius: 14px;
	padding: 28px;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.05);
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-radius: 10px !important;
	border: none !important;
	padding: 14px 18px 14px 48px !important;
	background: #fff !important;
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
}
.woocommerce-message::before { color: var(--cc-success); }
.woocommerce-info::before { color: var(--cc-cyan); }

/* === 404 PAGE — FULL SCREEN === */
body.error404 .ast-container,
body.error404 #content,
body.error404 #primary,
body.error404 .ast-article-single,
body.error404 .ast-woocommerce-container,
body.error404 .entry-header,
body.error404 .site-content > .ast-container {
	max-width: none !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
body.error404 { background: #0A0E1A; }

.cc-404-fullscreen {
	background: radial-gradient(ellipse at center, #131A2E 0%, #0A0E1A 70%, #060912 100%);
	background-size: cover;
	background-position: center;
	min-height: calc(100vh - 80px);
	width: 100vw;
	margin-left: calc(-50vw + 50%);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 20px;
	color: var(--cc-text);
	overflow: hidden;
	position: relative;
}
.cc-404-fullscreen::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(2px 2px at 20% 30%, rgba(0,217,255,0.3), transparent),
		radial-gradient(1px 1px at 60% 70%, rgba(0,217,255,0.2), transparent),
		radial-gradient(2px 2px at 80% 20%, rgba(0,217,255,0.3), transparent),
		radial-gradient(1px 1px at 30% 80%, rgba(0,217,255,0.2), transparent);
	pointer-events: none;
}
.cc-404-stage {
	max-width: 1100px;
	width: 100%;
	text-align: center;
	position: relative;
	z-index: 2;
}
.cc-404-bg {
	width: 100%;
	max-width: 1000px;
	height: auto;
	display: block;
	margin: 0 auto;
}
.cc-404-text-stroke {
	opacity: 0.85;
	animation: ccGlow 3s ease-in-out infinite;
}
@keyframes ccGlow {
	0%, 100% { stroke-opacity: 0.5; filter: drop-shadow(0 0 8px rgba(0,217,255,0.3)); }
	50% { stroke-opacity: 1; filter: drop-shadow(0 0 20px rgba(0,217,255,0.7)); }
}

/* Kamera orbituje okolo 404 (1000×600 viewBox, stred 500,300) */
.cc-404-camera-orbit {
	transform-origin: 500px 300px;
	animation: ccOrbit 16s linear infinite;
}
.cc-404-camera-flip {
	transform: translate(920px, 300px);
	animation: ccCounterRotate 16s linear infinite;
	transform-box: fill-box;
	transform-origin: center;
}
@keyframes ccOrbit {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
@keyframes ccCounterRotate {
	0%   { transform: translate(920px, 300px) rotate(0deg); }
	100% { transform: translate(920px, 300px) rotate(-360deg); }
}
.cc-404-led { animation: ccBlink 1.5s ease-in-out infinite; }
@keyframes ccBlink {
	0%, 50%, 100% { opacity: 1; }
	25%, 75% { opacity: 0.2; }
}

.cc-404-message {
	margin-top: -100px;
	position: relative;
	z-index: 3;
}
.cc-404-message h1 {
	font-size: 44px;
	color: #fff;
	margin: 0 0 14px;
	letter-spacing: -0.02em;
}
.cc-404-lead {
	font-size: 18px;
	color: var(--cc-text-muted);
	max-width: 620px;
	margin: 0 auto 32px;
	line-height: 1.65;
}
.cc-404-actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
	margin-bottom: 28px;
}
.cc-404-actions .cc-btn-primary,
.cc-404-actions .cc-btn-secondary { display: inline-flex; align-items: center; gap: 8px; }
.cc-404-search {
	max-width: 520px;
	margin: 0 auto 24px;
}
.cc-404-search form {
	display: flex;
	gap: 6px;
	background: rgba(255,255,255,0.06);
	padding: 6px 6px 6px 14px;
	border-radius: 14px;
	border: 1px solid rgba(0, 217, 255, 0.25);
	align-items: center;
}
.cc-404-search form svg { color: #94A3B8; flex-shrink: 0; }
.cc-404-search input {
	flex: 1;
	background: transparent;
	border: none;
	color: #fff;
	padding: 12px 8px;
	font-size: 15px;
}
.cc-404-search input::placeholder { color: #6B7280; }
.cc-404-search input:focus { outline: none; }
.cc-404-search button {
	background: var(--cc-cyan);
	color: var(--cc-navy);
	border: none;
	padding: 12px 24px;
	border-radius: 10px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s;
}
.cc-404-search button:hover { background: var(--cc-cyan-soft); }
.cc-404-suggest {
	font-size: 14px;
	color: var(--cc-text-muted);
}
.cc-404-suggest span { margin-right: 8px; }
.cc-404-suggest a {
	display: inline-block;
	padding: 5px 12px;
	margin: 2px 3px;
	background: rgba(255,255,255,0.06);
	color: var(--cc-cyan);
	text-decoration: none;
	border-radius: 99px;
	font-size: 12.5px;
	font-weight: 500;
	transition: all 0.15s;
	border: 1px solid rgba(0,217,255,0.15);
}
.cc-404-suggest a:hover { background: var(--cc-cyan); color: var(--cc-navy); transform: translateY(-1px); }

/* === Product images — kompletná viditeľnosť (žiadne orezanie) === */
.wc-block-grid__product-image img,
.wc-block-product-template .wc-block-components-product-image img,
.wp-block-woocommerce-product-image img,
.wp-block-post-featured-image img,
.products li.product img,
.woocommerce ul.products li.product .wc-block-grid__product-image img {
	object-fit: contain !important;
	background: #F8FAFC;
	aspect-ratio: 1;
	padding: 8px;
	border-radius: 10px;
	width: 100% !important;
	height: auto !important;
}

/* Mobile breakpoint */
@media (max-width: 900px) {
	.cc-shop-layout { grid-template-columns: 1fr; gap: 16px; }
	.cc-filter-mobile-toggle { display: flex; }
	.cc-filters-modern {
		position: fixed;
		top: 0;
		left: 0;
		height: 100vh;
		max-height: 100vh;
		width: 85%;
		max-width: 360px;
		border-radius: 0 16px 16px 0;
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		z-index: 999;
		box-shadow: 0 0 40px rgba(0,0,0,0.3);
	}
	body.cc-filters-open .cc-filters-modern { transform: translateX(0); }
	.cc-filters-close { display: flex; align-items: center; justify-content: center; }
}
@media (max-width: 768px) {
	.cc-mount-cta { flex-direction: column; align-items: stretch; }
	.cc-trust-row span { display: block; margin: 4px 0; }
	.cc-filters-toggle { display: block; }
	.cc-filters-grid { display: none; grid-template-columns: 1fr; margin-top: 12px; }
	.cc-filters.is-open .cc-filters-grid { display: grid; }
	.cc-nav-inner { flex-wrap: wrap; gap: 12px; }
	.cc-nav-links { flex-wrap: wrap; gap: 12px 16px; font-size: 13px; }
	.cc-nav-brand { font-size: 16px; }
	.cc-hero-inner { grid-template-columns: 1fr; gap: 24px; }
	.cc-hero h1 { font-size: 30px; }
	.cc-hero { padding: 36px 18px; }
	.cc-cta-mount { flex-direction: column; align-items: flex-start; padding: 24px; }
}
