/*
 * ashaadox – osvěžení původní šablony AccessPress Parallax Pro (14. 11. 2026).
 * Identita zůstává: logo „ashaadox design by“, tmavá #232B2D, slider přes celou obrazovku, sekce blog / aktivity /
 * portfolio / mapa, galerie NextGEN. Mění se typografie (Raleway z vlastního serveru), rytmus mezer, čitelnost,
 * mobil a drobné stavy. Načítá se po stylech šablony (ashaadox-moderni.php).
 */

:root {
	--aa-tmava: #232b2d;          /* barva šablony (theme_color) */
	--aa-text: #3b4042;
	--aa-tlumeny: #626a6d;        /* 5,6 : 1 na bílé */
	--aa-linka: #e4e1dc;
	--aa-papir: #f6f4f1;
	--aa-akcent: #b05f00;         /* Sonina oranžová #ff9900 ztmavená na čitelnost (4,6 : 1) */
	--aa-akcent-svetly: #ff9900;  /* původní oranžová – jen na tmavém podkladu */
	--aa-pismo: 'Raleway', 'Helvetica Neue', Arial, sans-serif;
	--aa-mezera-sekce: clamp(3.5rem, 7vw, 6rem);
}

/* ---------- Základ: písmo, čitelnost, prvky prohlížeče ---------- */
/* Šablona má html{font-size:62.5%} (1rem = 10 px) a sama rem nepoužívá – vracíme 16 px, aby rem v tomto souboru
   i ve stylech WordPressu a pluginů měly zamýšlenou velikost. */
html { font-size: 100% !important; -webkit-text-size-adjust: 100%; }
#main-slider, #main-slider .slides { background-color: var(--aa-tmava); } /* než se načte fotka snímku */
body,
button, input, select, textarea,
.main-navigation ul li a,
#top-header,
h1, h2, h3, h4, h5, h6 {
	font-family: var(--aa-pismo) !important;
}
body {
	font-size: 17px !important;
	line-height: 1.7;
	color: var(--aa-text) !important;
	font-variant-numeric: lining-nums;
	text-rendering: optimizeLegibility;
}
::selection { background: var(--aa-tmava); color: #fff; }
a { text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
:focus-visible { outline: 2px solid var(--aa-akcent); outline-offset: 3px; }
img { max-width: 100%; height: auto; }

/* Nadpisy sekcí (titulka, titulky stránek): verzálky s prostrkáním – podpis původního webu, jen klidnější */
.parallax-title,
.call-to-action > h1,
.entry-header .entry-title,
.page-header .page-title {
	font-weight: 600 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase !important;
	text-wrap: balance;
}
.parallax-title, .call-to-action > h1 { font-size: clamp(1.4rem, 2.6vw, 2rem) !important; line-height: 1.3 !important; }

/* Nadpisy v obsahu: tak, jak je Soňa napsala (malými), žádné vynucené verzálky */
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6,
.page-content h2, .page-content h4, .page-content h5, .page-content h6,
.blog-excerpt h3, .entry-summary h2 {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--aa-tmava) !important;
	text-wrap: balance;
}
.entry-content h2 { font-size: 1.55rem !important; margin: 2.2em 0 0.6em; }
.entry-content h3 { font-size: 1.3rem !important; margin: 2em 0 0.5em; }
.entry-content h4 { font-size: 1.15rem !important; margin: 1.8em 0 0.5em; }
.entry-content h5, .entry-content h6 { font-size: 1.02rem !important; margin: 1.6em 0 0.4em; }
.entry-content p, .entry-content li { text-wrap: pretty; }
.entry-content p { margin-bottom: 1.1em; }

/* Text, který měl natvrdo šedou #808080 / #999 (3,9 : 1) → barva těla; oranžové odkazy → čitelná oranžová */
.entry-content [style*="color: #808080"], .entry-content [style*="color: #999999"], .entry-content [style*="color:#808080"],
.page-content [style*="color: #808080"], .page-content [style*="color: #999999"] {
	color: inherit !important;
}
.entry-content a[style*="#ff9900"], .entry-content [style*="#ff9900"] a, .entry-content span[style*="#ff9900"],
.page-content a[style*="#ff9900"], .page-content span[style*="#ff9900"] {
	color: var(--aa-akcent) !important;
}
.entry-content a, .page-content a { color: var(--aa-akcent); }
.entry-content a:hover, .page-content a:hover { color: var(--aa-tmava); }

/* Popisky obrázků ze starého editoru měly pevnou šířku → velké prázdné rámy */
.wp-caption { width: auto !important; max-width: 100%; border: 0 !important; background: none !important; padding: 0 !important; }
.wp-caption img { margin: 0 !important; }
.wp-caption .wp-caption-text { font-size: 0.85rem; color: var(--aa-tlumeny); text-align: left; padding: 0.4em 0 0 !important; }

/* ---------- Horní lišta a hlavička ---------- */
#top-header { font-size: 12.5px !important; letter-spacing: 0.04em; }
#top-header .header-text { opacity: 0.85; }
.main-navigation ul li a {
	font-size: 12.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em;
}
/* menu na desktopu na jeden řádek (dvojjazyčné položky jsou dlouhé) */
@media (min-width: 1025px) {
	#site-navigation { width: calc(100% - 175px) !important; max-width: none !important; }
	#site-navigation > ul.nav > li > a { font-size: 12px !important; }
	#site-navigation > ul.nav { display: flex !important; justify-content: flex-end; flex-wrap: wrap; background: transparent !important; }
	#site-navigation > ul.nav > li { float: none !important; margin-left: 0 !important; margin-right: 0 !important; }
	#site-navigation > ul.nav > li > a { padding-left: 7px !important; padding-right: 7px !important; letter-spacing: 0.03em; }
	#site-navigation > ul.nav > li > a.sf-with-ul { padding-right: 9px !important; }
	#site-navigation .sf-arrows > li > .sf-with-ul:after { position: relative !important; display: inline-block; right: auto !important; top: -2px !important; margin: 0 0 0 5px !important; }
}
.main-navigation ul ul a { font-size: 13px !important; letter-spacing: 0.02em !important; text-transform: none !important; font-weight: 500 !important; }

/* Pruh s nadpisem vnitřní stránky: nadpis nesmí zalézt pod průhlednou hlavičku */
#header-wrap { background-image: image-set(url('/wp-content/themes/accesspress_parallax_pro/images/bg-breadcrumb.webp') type('image/webp'), url('/wp-content/themes/accesspress_parallax_pro/images/bg-breadcrumb.jpg') type('image/jpeg')) !important; } /* 46 kB místo 147 kB – je to LCP vnitřních stránek */
#header-wrap { position: relative; height: auto !important; min-height: 150px; display: flex; align-items: flex-end; background-size: cover; background-position: center; }
#header-wrap::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,255,255,0) 30%, rgba(255,255,255,0.92) 100%); }
#header-wrap .entry-header { position: relative; width: 100%; padding: 120px 0 1.4rem; }
#accesspress-breadcrumb { font-size: 0.82rem; letter-spacing: 0.04em; color: var(--aa-tlumeny); }

/* ---------- Slider ---------- */
#main-slider .caption-title {
	font-weight: 300 !important;
	letter-spacing: 0.3em !important;
	font-size: clamp(1.8rem, 4.5vw, 3.4rem) !important;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}
#main-slider .caption-description, #main-slider .caption-description p {
	font-weight: 400 !important;
	letter-spacing: 0.08em;
	font-size: clamp(1rem, 1.8vw, 1.35rem) !important;
	text-transform: none !important;
}

/* ---------- Sekce titulky ---------- */
.parallax-section { padding-top: var(--aa-mezera-sekce) !important; padding-bottom: var(--aa-mezera-sekce) !important; }
.parallax-title + .parallax-content, .parallax-title { margin-bottom: 2.2rem; }

/* Blog: karty */
.blog-list { transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); }
.blog-list:hover { transform: translateY(-3px); }
.blog-list .blog-image img { aspect-ratio: 54 / 35; object-fit: cover; width: 100%; }
.blog-excerpt { font-size: 0.95rem; line-height: 1.6; color: var(--aa-text); }
.blog-excerpt h3 { font-size: 1.15rem !important; margin: 0.9rem 0 0.5rem !important; }
.blog-excerpt span, .blog-list .bttn, .bttn, .button-group .bttn, a.bttn, a.ap-bttn {
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 12px !important;
	border-radius: 0 !important;
}

/* Aktivity: mřížka místo dlouhého seznamu s obřími nadpisy */
.aa-aktivity {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 2.4rem 2.8rem;
	text-align: left;
	max-width: 1100px;
	margin: 0 auto;
}
.aa-aktivita { border-top: 1px solid var(--aa-tmava); padding-top: 1.1rem; }
.aa-aktivita h3 {
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: var(--aa-tlumeny) !important;
	margin: 0 0 0.7rem !important;
	line-height: 1.5 !important;
}
.aa-aktivita ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.aa-aktivita li { margin: 0 0 0.6rem !important; padding: 0 !important; background: none !important; }
.aa-aktivita li::before { display: none !important; }
.aa-aktivita li a { font-size: 1.12rem; font-weight: 600; text-decoration: none; color: var(--aa-tmava) !important; }
.aa-aktivita li a:hover { color: var(--aa-akcent) !important; }
.aa-aktivita li > span:not(:first-child), .aa-aktivita li span[style*="999999"] { display: block; font-size: 0.92rem; line-height: 1.55; color: var(--aa-tlumeny) !important; margin-top: 0.25rem; }
.aa-aktivita br { display: none; }

/* Portfolio: filtr */
.button-group { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-bottom: 2rem !important; }
.button-group .bttn { margin: 0 !important; padding: 0 !important; cursor: pointer; transition: background-color 0.25s, color 0.25s; }
.button-group .bttn button {
	all: unset;
	display: block;
	padding: 0.75em 1.2em;
	font: inherit; letter-spacing: inherit; text-transform: inherit; color: inherit;
	cursor: pointer;
}
.button-group .bttn button:focus-visible { outline: 2px solid var(--aa-akcent); outline-offset: 2px; }

/* Kontaktní formulář (CF7): pole na šířku sloupce, tlačítko jako ostatní tlačítka webu */
.wpcf7 label { display: block; font-size: 0.95rem; color: var(--aa-text); }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
	width: 100% !important; max-width: 560px; box-sizing: border-box; margin-top: 0.35rem;
	padding: 0.7em 0.85em !important; font: inherit !important; font-size: 16px !important; color: var(--aa-tmava);
	border: 1px solid #b9bfc1 !important; border-radius: 0; background: #fff;
}
.wpcf7 textarea { max-width: none; min-height: 9rem; }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 2px solid var(--aa-akcent); outline-offset: 0; border-color: var(--aa-tmava) !important; }
.wpcf7 input[type="submit"] {
	appearance: none; cursor: pointer; border: 0 !important; border-radius: 0 !important;
	background: var(--aa-tmava) !important; color: #fff !important; padding: 0.95em 1.8em !important;
	font: 600 12px/1 var(--aa-pismo) !important; letter-spacing: 0.12em; text-transform: uppercase;
}
.wpcf7 input[type="submit"]:hover { background: var(--aa-akcent) !important; }
.wpcf7-not-valid-tip { font-size: 0.9rem; color: #b3261e; }
.wpcf7 form .wpcf7-response-output { margin: 1rem 0 0 !important; padding: 0.8em 1em !important; font-size: 0.95rem; }

/* Mapa a kontaktní box */
.googlemap-contact-wrap, .googlemap-contact-wrap li { font-size: 1rem !important; line-height: 1.6 !important; }
.googlemap-contact-wrap a, .ap-contact-info-wrapper a { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; }
.googlemap-contact-wrap a:hover, .ap-contact-info-wrapper a:hover { color: var(--aa-akcent); }
a.ap-bttn { display: inline-block; padding: 0.95em 1.8em !important; }

/* Patička: zůstal jen kontakt → jeden řádek místo tří sloupců */
.site-footer { font-size: 0.95rem; }
.site-footer .widget-title { letter-spacing: 0.14em !important; font-weight: 600 !important; }
.footer-column-1 .footer-block { width: 100% !important; float: none !important; margin: 0 !important; }
.footer-column-1 .footer-block .widget { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.6rem 2.4rem; margin: 0 !important; }
.footer-column-1 .footer-block .widget-title { margin: 0 0 1.1rem !important; padding-bottom: 0.7rem !important; flex-basis: 100%; }
.footer-column-1 .footer-block ul { display: flex; flex-wrap: wrap; gap: 0.4rem 2rem; margin: 0 !important; padding: 0 !important; }
.footer-column-1 .footer-block li { margin: 0 !important; border: 0 !important; }
.footer-column-1 .footer-block li br { display: none; }
.top-footer { padding-top: 2.4rem !important; padding-bottom: 2.4rem !important; }
.bottom-footer .site-info:empty { display: none; }

/* Blog na titulce: datum na tmavém (dřív bílé na #808080, 3,9 : 1) */
.blog-list p.posted-date { margin: 0 !important; background: rgba(35, 43, 45, 0.88) !important; font-size: 0.8rem !important; font-weight: 600; letter-spacing: 0.04em; }
.blog-list .posted-date { background: rgba(35, 43, 45, 0.88) !important; }

/* Horní lišta: podmenu posledních položek („media“, „video“) se otevírají doleva, ať nepřetékají za okraj */
@media (min-width: 769px) {
	#top-header .top-menu ul.menu > li:nth-last-child(-n+2) > ul { left: auto !important; right: 0 !important; }
	#top-header .top-menu ul.menu > li:nth-last-child(-n+2) ul ul { left: auto !important; right: 100% !important; }
}

/* Galerie NextGEN: plynulá mřížka bez šedých rámečků, náhledy 600 px (skripty/ngg_nahledy.py) ořezané na 4 : 3 */
body div.ngg-galleryoverview {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 160px), 1fr));
	gap: 6px;
	margin: 1.6rem 0 2rem !important;
	overflow: visible !important;
}
body div.ngg-galleryoverview > :not(.ngg-gallery-thumbnail-box) { grid-column: 1 / -1; }
body div.ngg-galleryoverview > .ngg-clear, body div.ngg-galleryoverview > br { display: none; }
body div.ngg-galleryoverview .ngg-gallery-thumbnail-box { float: none !important; width: auto !important; margin: 0 !important; }
body div.ngg-galleryoverview .ngg-gallery-thumbnail {
	margin: 0 !important; padding: 0 !important; border: 0 !important;
	background: none !important; box-shadow: none !important; text-align: left !important;
}
body div.ngg-galleryoverview .ngg-gallery-thumbnail a { display: block; margin: 0 !important; overflow: hidden; background: var(--aa-papir); }
body div.ngg-galleryoverview .ngg-gallery-thumbnail img {
	display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover;
	margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s;
}
body div.ngg-galleryoverview .ngg-gallery-thumbnail a:hover img { transform: scale(1.04); opacity: 0.92; }
body div.ngg-galleryoverview .ngg-gallery-thumbnail span { display: block; font-size: 0.85rem; line-height: 1.4; color: var(--aa-tlumeny); }
.slideshowlink { text-align: left !important; font-size: 0.9rem; }
.slideshowlink a { color: var(--aa-akcent); }
/* stránkování galerií: dřív bílé na světle šedé (1,9 : 1) */
.ngg-navigation { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 0.5rem 0 2rem !important; }
.ngg-navigation a, .ngg-navigation span {
	float: none !important; margin: 0 !important; min-width: 44px; min-height: 44px; padding: 0 0.6em !important;
	display: inline-flex !important; align-items: center; justify-content: center;
	border: 1px solid var(--aa-linka) !important; background: #fff !important; color: var(--aa-tmava) !important;
	font-size: 0.95rem !important; text-decoration: none !important;
}
.ngg-navigation span.current, .ngg-navigation .current { background: var(--aa-tmava) !important; border-color: var(--aa-tmava) !important; color: #fff !important; }
.ngg-navigation a:hover { border-color: var(--aa-tmava) !important; }

/* Obsah bez bočního panelu (archiv, štítky a „TÉMATA“ odebrány 14. 11.): jeden čitelný sloupec uprostřed */
#primary.content-area { float: none !important; width: auto !important; max-width: 780px; margin-left: auto !important; margin-right: auto !important; }
[class*="page-template-portfolio"] #primary.content-area { max-width: none; }
#secondary-right, #secondary-left { float: none !important; width: auto !important; max-width: 780px; margin: 3rem auto 0; }
.panel-grid .panel-grid-cell { box-sizing: border-box; }

/* Tlačítko menu: Safari na iOS bez cursor:pointer ťuknutí na div někdy ignoruje */
.menu-toggle { cursor: pointer; -webkit-tap-highlight-color: rgba(0,0,0,0); }

/* ---------- Mobil ---------- */
@media (max-width: 768px) {
	body { font-size: 16px !important; }
	/* horní lišta na jeden řádek: bez podpisu, odkazy vodorovně posuvné */
	#top-header .header-text { display: none !important; }
	#top-header .mid-content { padding: 0 12px; }
	#top-header .top-menu { float: none !important; width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	#top-header .top-menu::-webkit-scrollbar { display: none; }
	#top-header .top-menu ul.menu { display: flex; gap: 1.1rem; white-space: nowrap; justify-content: flex-start; float: none !important; }
	#top-header .top-menu ul.menu > li { float: none !important; margin: 0 !important; }
	#top-header .top-menu ul.menu ul { display: none !important; }
	.parallax-title { letter-spacing: 0.1em; }
	.entry-content h2 { font-size: 1.35rem !important; }
	.entry-content h3 { font-size: 1.18rem !important; }
	#header-wrap .entry-header { padding-top: 96px; }
	.aa-aktivity { gap: 1.8rem; padding: 0 16px; }
	.call-to-action > h1 { padding: 0 16px; }
	/* text nesmí lepit na okraj (dřív 10 px) */
	.mid-content { padding-left: 16px !important; padding-right: 16px !important; box-sizing: border-box; }
	/* karta s kontaktem pod mapou, ne přes ni */
	.googlemap-section .googlemap-content { display: flex; flex-direction: column; }
	.googlemap-contact { position: static !important; width: auto !important; height: auto !important; margin: 0 !important; order: 2; }
	.googlemap-contact-wrap { float: none !important; width: auto !important; background: #fff !important; padding: 1.6rem 16px !important; }
	body div.ngg-galleryoverview { gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
	.blog-list, .ngg-gallery-thumbnail img, .button-group .bttn { transition: none; }
	.blog-list:hover { transform: none; }
}

/* Portfolio: prací je 8 → dva plné řádky po čtyřech (šablona měla 5 sloupců = 5 + 3 s dírou vpravo),
   na mobilu dva sloupce místo pěti drobných náhledů. */
#portfolio-grid[class] .portfolio-list { width: 25%; }
@media (max-width: 768px) {
	#portfolio-grid[class] .portfolio-list { width: 50%; }
}
