/*
Theme Name: Karlin Port
Theme URI: https://www.karlinport.cz/
Description: Karlin Port Real Estate — WordPress theme. Recreates the original design (main.min.css/js bundle) and drives content from the Karlin Port Core plugin (projects, team, services, highlights, quotes, partners, news) with Polylang (CZ/EN).
Author: Karlin Port
Version: 1.0.0
Text Domain: karlinport
*/

/* All visual styling lives in assets/css/main.min.css (the original bundle).
   Add small overrides below if needed. */

/* AOS scroll animations are now enabled (the Vimeo API loads before the bundle,
   so AOS.init() runs). A JS safety net (kp-aos.js) reveals content only if AOS
   genuinely fails, so the page is never left blank — without killing the
   staggered fade-up animations the original site uses. */

/* Articles are rendered server-side; kp-loadmore.js reveals them in batches of
   nine when the "Load more articles" button is clicked. */
.ajax-load-more-content > li.kp-hidden { display: none !important; }

/* Article header image — keep natural proportions. */
.section-article > .inner .section-header .section-title-medium-container .image img {
	max-height: max-content;
}

/* Homepage team photo: let the image keep its natural height. */
.section-team > .inner .section-content .team-image img {
	max-height: max-content;
}

/* Cookie consent banner — simple bottom bar in the dark/gold site styling. */
.kp-cookie {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 99999;
	background: #131314; color: #e9e9e9; border-top: 2px solid #C5B53B;
	box-shadow: 0 -6px 24px rgba(0,0,0,.4);
	transform: translateY(100%); transition: transform .35s ease; will-change: transform;
}
.kp-cookie.is-visible { transform: translateY(0); }
.kp-cookie-inner {
	max-width: 1280px; margin: 0 auto; padding: 20px 30px;
	display: flex; align-items: center; gap: 32px; flex-wrap: wrap; justify-content: space-between;
}
.kp-cookie-text { max-width: 820px; font-size: 14px; line-height: 1.55; }
.kp-cookie-text strong { display: block; font-size: 16px; margin-bottom: 4px; color: #C5B53B; font-weight: 600; }
.kp-cookie-text span { color: #cfcfcf; }
.kp-cookie-text a { color: #C5B53B; text-decoration: underline; }
.kp-cookie-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.kp-cookie .button.outline { background: transparent; border: 1px solid #777; color: #fff; }
.kp-cookie .button.outline:hover { border-color: #C5B53B; color: #C5B53B; }
@media (max-width: 767px) {
	.kp-cookie-inner { padding: 16px 18px; gap: 14px; }
	.kp-cookie-actions { width: 100%; }
	.kp-cookie-actions .button { flex: 1; text-align: center; justify-content: center; }
}

/* ============================================================
   Complianz cookie banner — restyled to the dark/gold site look
   ============================================================ */
.cmplz-cookiebanner.banner-a {
	background: #131314 !important;
	color: #e9e9e9 !important;
	border: 1px solid rgba(197, 181, 59, .45) !important;
	border-radius: 6px !important;
	box-shadow: 0 12px 44px rgba(0, 0, 0, .55) !important;
}
.cmplz-cookiebanner.banner-a .cmplz-divider { background: rgba(255,255,255,.08) !important; border: 0 !important; }
.cmplz-cookiebanner.banner-a .cmplz-title { color: #C5B53B !important; font-weight: 600 !important; }
.cmplz-cookiebanner.banner-a .cmplz-message,
.cmplz-cookiebanner.banner-a .cmplz-description,
.cmplz-cookiebanner.banner-a .cmplz-description span { color: #c7c7c7 !important; }
.cmplz-cookiebanner.banner-a .cmplz-category-title { color: #ffffff !important; font-weight: 600 !important; }
.cmplz-cookiebanner.banner-a .cmplz-always-active { color: #C5B53B !important; }
.cmplz-cookiebanner.banner-a .cmplz-close { color: #9a9a9a !important; }
.cmplz-cookiebanner.banner-a .cmplz-close:hover { color: #C5B53B !important; }
.cmplz-cookiebanner.banner-a .cmplz-category { background: rgba(255,255,255,.03) !important; border: 1px solid rgba(255,255,255,.07) !important; border-radius: 4px !important; }
.cmplz-cookiebanner.banner-a .cmplz-category-toggle .cmplz-icon path { fill: #C5B53B !important; }

/* Links */
.cmplz-cookiebanner.banner-a a,
.cmplz-cookiebanner.banner-a .cmplz-link,
.cmplz-cookiebanner.banner-a .cmplz-documents a { color: #C5B53B !important; }
.cmplz-cookiebanner.banner-a .cmplz-link:hover { color: #ddd06a !important; }

/* Buttons — Accept = gold filled, others = outline */
.cmplz-cookiebanner.banner-a .cmplz-btn.cmplz-accept {
	background: #C5B53B !important; color: #131314 !important; border: 1px solid #C5B53B !important; font-weight: 600 !important;
}
.cmplz-cookiebanner.banner-a .cmplz-btn.cmplz-accept:hover { background: #d4c44a !important; }
.cmplz-cookiebanner.banner-a .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner.banner-a .cmplz-btn.cmplz-save-preferences,
.cmplz-cookiebanner.banner-a .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner.banner-a a.cmplz-manage-options {
	background: transparent !important; color: #ffffff !important; border: 1px solid #777 !important;
}
.cmplz-cookiebanner.banner-a .cmplz-btn.cmplz-deny:hover,
.cmplz-cookiebanner.banner-a .cmplz-btn.cmplz-save-preferences:hover,
.cmplz-cookiebanner.banner-a a.cmplz-manage-options:hover { border-color: #C5B53B !important; color: #C5B53B !important; }

/* Toggle switches → gold when active */
.cmplz-cookiebanner.banner-a .cmplz-banner-checkbox input:checked + .cmplz-label::before,
.cmplz-cookiebanner.banner-a .cmplz-banner-checkbox input:checked ~ .cmplz-label::before { background-color: #C5B53B !important; }
.cmplz-cookiebanner.banner-a .cmplz-banner-checkbox { accent-color: #C5B53B; }

/* The small "manage consent" tab/cog that reopens the banner */
#cmplz-manage-consent .cmplz-manage-consent.banner-a { background: #131314 !important; color: #C5B53B !important; border: 1px solid rgba(197,181,59,.45) !important; }

/* "Spravovat souhlas" reopen button / tab — dark/gold site look */
.cmplz-btn.cmplz-manage-consent,
.cmplz-manage-consent.manage-consent-1,
button.cmplz-manage-consent {
	background: #131314 !important;
	color: #C5B53B !important;
	border: 1px solid rgba(197, 181, 59, .5) !important;
	border-radius: 4px !important;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .4) !important;
	font-weight: 600 !important;
}
.cmplz-btn.cmplz-manage-consent:hover,
.cmplz-manage-consent.manage-consent-1:hover,
button.cmplz-manage-consent:hover {
	background: #1d1d1f !important; color: #d4c44a !important; border-color: #C5B53B !important;
}

/* ============================================================
   Client edits (komenty 26/6/2026)
   ============================================================ */

/* Re-point the bundle's "Meno Ban" @font-face at the LOCAL .otf files. The
   original declaration pulls the font from Type Network, whose licence is dead
   (api.typenetwork.com/gone → CORS error in the console). These local copies
   override it, so the font loads cleanly even if Adobe Fonts is unavailable. */
@font-face {
	font-family: "Meno Ban";
	src: url("assets/fonts/meno-banner-regular.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Meno Ban";
	src: url("assets/fonts/meno-banner-bold.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* Headings + cards: use the correct serif "Meno Banner" from Adobe Fonts (Typekit
   kit gnn2aar) EVERYWHERE the bundle uses "Meno Ban" — including the news/article
   card titles in the slider. This is the full "Meno Ban" selector group from
   main.min.css, so nothing falls back to a different serif. */
.article-item .header .main .title,
.item-heading-medium-small,
.thinking-item .title,
.item-heading-medium,
.parameter-item .image-title-group .title,
.item-heading,
.service-item .header .title,
.list-links > li a,
.section-separator-heading,
.section-separator,
.section-heading-small,
.section-heading-medium,
.image-content-item .container .header .title,
.list-partners > li .title,
.section-partners > .inner .section-content .main .title,
.section-architects > .inner .section-content .main .title,
.section > .inner .section-header .section-title-medium-container .section-title,
.section-heading,
.stats-item .header .inner .title .value,
.article .article-header .title,
.section-projects-track > .inner .section-header .project-count,
.section > .inner .section-header .section-title-container .section-title,
.section-title,
.has-underline.title,
.title.has-underline {
	font-family: "meno-banner", "Meno Ban", Georgia, serif !important;
}

/* Partners: center the "Zde je uveden jen zlomek našich architektů." line. */
.other-partner-text {
	text-align: center;
}

/* Architects: give the gold underline below the intro heading breathing room
   from the paragraph (the bundle pulls it up with margin-bottom:-0.5rem). */
.section-architects > .inner .section-content .main .has-underline.title {
	margin-bottom: 2.4rem;
}

/* Home "Vůdčí osobnosti" (Leadership) photo: keep aspect ratio — the bundle sets
   width:100% but the <img> carries a fixed height attribute, which stretches it. */
.section-team > .inner .section-content .team-image img {
	height: auto;
}

/* Smooth page transitions (komenty: "plynulé načítání s prolnutím").
   Fade the page in on load — removes the hard "blink" + image pop-in. The
   fade-out before navigation is handled by kp-transition.js. */
@keyframes kpPageIn { from { opacity: 0; } to { opacity: 1; } }
body { animation: kpPageIn .5s ease both; }
body.kp-leaving { opacity: 0; transition: opacity .32s ease; }
@media (prefers-reduced-motion: reduce) {
	body, body.kp-leaving { animation: none; opacity: 1; transition: none; }
}
