/*
Theme Name: STARS Development Child
Theme URI: https://starsdevelopment.sk
Description: Divi child téma pre STARS DEVELOPMENT — partner pre developerov. Dizajn portovaný z Lovable prototypu (Space Grotesk + Inter, medená/grafit paleta, ostré rohy).
Author: Michal Ochránek
Author URI: https://michalochranek.sk
Template: Divi
Version: 1.0.0
*/

:root {
	--std-bg: #F7F5F2;
	--std-secondary: #EDEBE9;
	--std-card: #F2F0EE;
	--std-fg: #262626;
	--std-muted: #737373;
	--std-copper: #B8672E;
	--std-copper-light: #CB824D;
	--std-graphite: #262626;
	--std-graphite-light: #383838;
	--std-graphite-dark: #1A1A1A;
	--std-border: #DDD9D5;
	--std-cream: #F7F5F2;
	--std-display: 'Space Grotesk', sans-serif;
	--std-body: 'Inter', sans-serif;
}

/* ==================== zaklad ==================== */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* viditeľné zvýraznenie pri ovládaní klávesnicou */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--std-copper);
	outline-offset: 3px;
	border-radius: 4px;
}

body,
body.et_divi_theme {
	font-family: var(--std-body) !important;
	font-size: 16px;
	color: var(--std-fg);
	background-color: var(--std-bg);
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 {
	font-family: var(--std-display) !important;
	color: var(--std-fg);
	font-weight: 700;
}
p { line-height: 1.7; }

/* sekcie s kotvami — offset pod fixnou hlavickou */
.std-anchor { scroll-margin-top: 90px; }

/* ==================== tlacidla ==================== */
body .et_pb_button,
body a.et_pb_button {
	border-radius: 0 !important;
	font-family: var(--std-body) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	letter-spacing: .025em;
	padding: 12px 32px !important;
	line-height: 1.4 !important;
	transition: all .3s ease;
	border-width: 2px;
}
body .et_pb_button:after { display: none !important; }
body .et_pb_button:hover { padding: 12px 32px !important; }

body .std-btn-gold,
body .std-btn-gold.et_pb_button {
	background-color: var(--std-copper) !important;
	border-color: var(--std-copper) !important;
	color: var(--std-cream) !important;
}
body .std-btn-gold:hover,
body .std-btn-gold.et_pb_button:hover {
	background-color: var(--std-copper-light) !important;
	border-color: var(--std-copper-light) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(184,103,46,.35);
}

body .std-btn-outline-light,
body .std-btn-outline-light.et_pb_button {
	background-color: transparent !important;
	border: 2px solid var(--std-copper) !important;
	color: var(--std-cream) !important;
}
body .std-btn-outline-light:hover { background-color: rgba(184,103,46,.12) !important; }

body .std-btn-outline-gold,
body .std-btn-outline-gold.et_pb_button {
	background-color: transparent !important;
	border: 2px solid var(--std-copper) !important;
	color: var(--std-copper) !important;
}
body .std-btn-outline-gold:hover { background-color: rgba(184,103,46,.12) !important; }

/* button moduly — zrusit default divi farby */
.et_pb_button_module_wrapper .et_pb_button { background-image: none !important; }

/* ==================== hlavicka ==================== */
#main-header {
	background-color: transparent !important;
	box-shadow: none !important;
	transition: background-color .5s ease, backdrop-filter .5s ease;
}
.et-fixed-header#main-header,
#main-header.std-scrolled {
	background-color: rgba(26,26,26,.92) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
/* hlavicka prekryva hero (transparentna nad tmavou fotkou) */
#page-container { padding-top: 0 !important; }

#logo { max-height: 26px !important; }
.et_header_style_left #et-top-navigation { padding-top: 26px !important; }
#top-menu a {
	color: rgba(247,245,242,.8) !important;
	font-family: var(--std-body) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	transition: color .3s ease;
}
#top-menu a:hover { color: var(--std-copper-light) !important; opacity: 1; }
#top-menu li.current-menu-item > a { color: rgba(247,245,242,.8) !important; }

/* CTA polozka v menu — obrys medena */
#top-menu li.std-menu-cta > a {
	border: 2px solid var(--std-copper);
	color: var(--std-copper) !important;
	padding: 9px 18px !important;
	font-weight: 600 !important;
	letter-spacing: .025em;
	transition: all .3s ease;
}
#top-menu li.std-menu-cta > a:hover { background-color: rgba(184,103,46,.14); color: var(--std-copper-light) !important; }

/* vyhladavacia ikona v hlavicke — original ju nema */
#et_top_search, #et_search_icon { display: none !important; }

/* mobilne menu */
.mobile_menu_bar:before { color: #F7F5F2 !important; }
.et_mobile_menu {
	background-color: #1A1A1A !important;
	border-top: 2px solid var(--std-copper) !important;
}
.et_mobile_menu li a { color: rgba(247,245,242,.85) !important; border-color: rgba(255,255,255,.06) !important; }
.et_mobile_menu li a:hover { color: var(--std-copper-light) !important; background-color: transparent; }
.et_mobile_menu li.std-menu-cta > a { color: var(--std-copper) !important; font-weight: 600; }

/* ==================== hero — staticky text + crossfade pozadia ==================== */
.std-hero2 {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.std-hero2 .et_pb_row,
.std-hero2 .et_pb_column { position: static !important; width: 100%; }
.std-hero2 .et_pb_row { max-width: 896px; margin: 0 auto; }
.std-hero-bgwrap, .std-hero-dotswrap { position: static !important; margin-bottom: 0 !important; }
/* Divi obaľuje obsah code modulu do .et_pb_code_inner, ktorý má position: relative
   a nulovú výšku — pozadie by sa naň naviazalo a zmizlo. Musí byť static, aby sa
   vrstvy pozadia natiahli na celú sekciu. */
.std-hero2 .et_pb_code_inner { position: static !important; }
.std-hero-bgs { position: absolute; inset: 0; z-index: 0; }
.std-hero-bg {
	position: absolute; inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0;
	transform: scale(1.06);
	transition: opacity 1.2s ease-in-out, transform 7s ease-out;
}
.std-hero-bg.std-on { opacity: 1; transform: scale(1); }
.std-hero-shade {
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(26,26,26,.72) 0%, rgba(38,38,38,.72) 55%, rgba(26,26,26,.82) 100%);
}
.std-hero-content {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: 140px 20px 120px;
}
.std-hero2 h1 {
	font-size: 60px;
	line-height: 1.12;
	color: var(--std-cream) !important;
	margin-bottom: 24px;
	font-weight: 700;
	letter-spacing: -.01em;
}
.std-hero-sub {
	font-size: 20px;
	line-height: 1.65;
	color: rgba(247,245,242,.8);
	max-width: 768px;
	margin: 0 auto 40px;
}
.std-hero-btns { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.std-hero-btns .et_pb_button { display: inline-block; }

/* vstupna animacia hero obsahu */
.std-hero-content h1, .std-hero-content .std-hero-sub, .std-hero-content .std-hero-btns {
	opacity: 0;
	transform: translateY(26px);
	animation: stdHeroIn .9s ease forwards;
}
.std-hero-content .std-hero-sub { animation-delay: .18s; }
.std-hero-content .std-hero-btns { animation-delay: .36s; }
@keyframes stdHeroIn { to { opacity: 1; transform: none; } }

/* bodky — medena pilulka ako original */
.std-hero-dots {
	position: absolute;
	bottom: 32px; left: 0; right: 0;
	z-index: 3;
	display: flex; gap: 12px; justify-content: center;
}
.std-hero-dots button {
	width: 10px; height: 10px;
	border-radius: 50%;
	border: 0; padding: 0;
	background-color: rgba(247,245,242,.4);
	cursor: pointer;
	transition: all .3s ease;
}
.std-hero-dots button.std-on {
	background-color: #B8672E;
	width: 32px;
	border-radius: 5px;
}

/* ==================== fade-up scroll animacie ==================== */
.std-fade {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s ease, transform .7s ease;
}
.std-fade.std-vis { opacity: 1; transform: none; }
.std-fade:nth-child(2), .et_pb_column:nth-child(2) .std-fade { transition-delay: .12s; }
.et_pb_column:nth-child(3) .std-fade { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) {
	.std-fade { opacity: 1; transform: none; transition: none; }
	.std-hero-content h1, .std-hero-content .std-hero-sub, .std-hero-content .std-hero-btns { animation: none; opacity: 1; transform: none; }
	.std-hero-bg { transition: opacity .5s; transform: none; }
}

/* ==================== nadpisy sekcii ==================== */
.std-eyebrow-c p, p.std-eyebrow-c {
	color: var(--std-copper);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-align: center;
	margin-bottom: 12px;
	font-family: var(--std-body);
}
.std-eyebrow-c { margin-bottom: 0 !important; }
.std-h2 h2, h2.std-h2 {
	font-size: 36px;
	line-height: 1.2;
	text-align: center;
	margin-bottom: 16px;
}
.std-sub {
	color: var(--std-muted);
	text-align: center;
	max-width: 672px;
	margin: 0 auto;
}
.std-dark h2, .std-dark h3 { color: var(--std-cream); }
.std-sub-dark p, .std-sub.std-sub-dark { color: rgba(247,245,242,.6); }

/* ==================== sluzby — karty ==================== */
.std-card {
	background-color: var(--std-card);
	border: 1px solid var(--std-border);
	box-shadow: 0 1px 2px rgba(0,0,0,.05);
	padding: 32px !important;
	text-align: center;
	height: 100%;
	transition: box-shadow .3s ease, transform .3s ease;
}
.std-card:hover {
	box-shadow: 0 10px 24px rgba(38,38,38,.10);
	transform: translateY(-4px);
}
.std-card-icon {
	width: 64px; height: 64px;
	border-radius: 50%;
	background-color: rgba(184,103,46,.1);
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 24px;
	color: var(--std-copper);
	transition: background-color .3s ease;
}
.std-card:hover .std-card-icon { background-color: rgba(184,103,46,.2); }
.std-card-icon svg { width: 28px; height: 28px; }
.std-card h3 {
	font-size: 20px;
	font-weight: 600;
	margin-bottom: 12px;
}
.std-card p { color: var(--std-muted); font-size: 14px; line-height: 1.65; margin-bottom: 0; }

/* ==================== referencie — tmave karty ==================== */
.std-project-row {
	background-color: var(--std-graphite-light);
	border: 1px solid rgba(184,103,46,.1);
	box-shadow: 0 25px 50px -12px rgba(0,0,0,.45);
	overflow: hidden;
}
.std-project-row .et_pb_column { display: flex; flex-direction: column; justify-content: center; }
.std-project-img { margin-bottom: 0 !important; height: 100%; }
.std-project-img .et_pb_image_wrap, .std-project-img img {
	width: 100%; height: 100%;
	object-fit: cover;
	display: block;
}
.std-project-img img { border-radius: 16px; padding: 12px; opacity: .85; transition: transform .6s ease, opacity .4s ease; }
.std-project-row:hover .std-project-img img { transform: scale(1.02); opacity: 1; }
.std-project-body { padding: 36px 44px 36px 24px; }
.std-project-body-l { padding: 36px 24px 36px 44px; }
.std-eyebrow {
	color: var(--std-copper);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin-bottom: 8px;
	display: block;
	font-family: var(--std-body);
}
.std-project-body h3, .std-project-body-l h3 {
	color: var(--std-cream);
	font-size: 30px;
	margin-bottom: 8px;
}
.std-project-tag {
	color: var(--std-copper-light);
	font-family: var(--std-display) !important;
	font-size: 16px;
	margin-bottom: 16px;
}
.std-project-body p, .std-project-body-l p { color: rgba(247,245,242,.7); font-size: 14px; line-height: 1.65; }
.std-project-body .std-project-tag, .std-project-body-l .std-project-tag { font-size: 16px; }
.std-project-btn { margin-top: 20px; }
.std-project-btn .et_pb_button { font-size: 14px !important; padding: 10px 24px !important; }

/* vypredane projekty */
.std-sold-card {
	background-color: var(--std-graphite-light);
	border: 1px solid rgba(184,103,46,.1);
	padding: 40px !important;
	height: 100%;
}
.std-sold-badge {
	display: inline-block;
	background-color: var(--std-copper);
	color: var(--std-cream);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 6px 14px;
	margin-bottom: 20px;
	font-family: var(--std-body);
}
.std-sold-card h3 { color: var(--std-cream); font-size: 24px; margin-bottom: 4px; }
.std-sold-card .std-project-tag { margin-bottom: 16px; }
.std-sold-card p { color: rgba(247,245,242,.7); font-size: 14px; line-height: 1.65; }
.std-sold-stats { list-style: none; margin: 20px 0 0 !important; padding: 0 !important; }
.std-sold-stats li {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 0 !important;
	border-top: 1px solid rgba(247,245,242,.08);
	color: rgba(247,245,242,.75);
	font-size: 14px;
}
.std-sold-stats li span:last-child { color: var(--std-cream); font-weight: 600; text-align: right; }
.std-sold-stats li span.std-sold-yes { color: var(--std-copper-light); }

/* pripravujeme banner */
.std-coming { position: relative; border: 1px solid rgba(184,103,46,.1); overflow: hidden; }
.std-coming::before {
	content: '';
	position: absolute; inset: 0;
	background: rgba(38,38,38,.88);
	z-index: 0;
}
.std-coming .et_pb_column { position: relative; z-index: 1; }
.std-coming-text {
	color: rgba(184,103,46,.75);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .25em;
	text-transform: uppercase;
	text-align: center;
	padding: 56px 20px;
	font-family: var(--std-body);
}

/* podnadpis vypredane */
.std-sold-heading {
	text-align: center;
	margin-top: 24px;
}
.std-sold-heading h3 {
	color: var(--std-cream);
	font-size: 28px;
	margin-bottom: 8px;
}
.std-sold-heading p { color: rgba(247,245,242,.55); font-size: 15px; }

/* ==================== kontakt formular ==================== */
.std-form .et_pb_contact_field { margin-bottom: 4%; }
.std-form input,
.std-form textarea {
	background-color: var(--std-graphite) !important;
	border: 1px solid rgba(184,103,46,.25) !important;
	border-radius: 0 !important;
	color: var(--std-cream) !important;
	font-family: var(--std-body) !important;
	font-size: 15px !important;
	padding: 14px 16px !important;
	transition: border-color .3s ease;
}
.std-form input:focus,
.std-form textarea:focus { border-color: var(--std-copper) !important; outline: none; }
.std-form input::placeholder,
.std-form textarea::placeholder { color: rgba(247,245,242,.35) !important; opacity: 1; }
.std-form .input[type=checkbox] + label { color: rgba(247,245,242,.7) !important; }
.std-form .et_pb_contact_submit {
	background-color: var(--std-copper) !important;
	border: 2px solid var(--std-copper) !important;
	color: var(--std-cream) !important;
	border-radius: 0 !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	padding: 12px 36px !important;
}
.std-form .et_pb_contact_submit:hover { background-color: var(--std-copper-light) !important; border-color: var(--std-copper-light) !important; }
.std-form .et_contact_bottom_container { text-align: center; float: none; margin: 8px auto 0; }
.std-form .et-pb-contact-message { color: var(--std-cream); text-align: center; }
.std-form .et-pb-contact-message p { color: var(--std-cream); }
.std-form .et_pb_contact_error_text { color: #f0b7b0; }

/* GDPR poznamka pod formularom */
.std-form-note p {
	color: rgba(247,245,242,.45);
	font-size: 13px;
	text-align: center;
	margin-top: 16px;
}
.std-form-note a { color: rgba(247,245,242,.65); text-decoration: underline; }
.std-form-note a:hover { color: var(--std-copper-light); }

/* ==================== paticka (sekcia v strane) ==================== */
.std-footer-logo { text-align: center; }
.std-footer-logo h3 {
	color: var(--std-cream);
	font-size: 24px;
	letter-spacing: .04em;
	margin-bottom: 8px;
}
.std-footer-logo h3 span { color: var(--std-copper); }
.std-footer-group { color: rgba(247,245,242,.5); font-size: 14px; text-align: center; margin-bottom: 32px; }
.std-footer-contact {
	display: flex; gap: 24px; justify-content: center; align-items: center; flex-wrap: wrap;
	color: rgba(247,245,242,.7); font-size: 14px;
	margin-bottom: 32px;
}
.std-footer-contact .std-sep { color: rgba(184,103,46,.35); }
.std-footer-contact a { color: rgba(247,245,242,.7); transition: color .3s ease; }
.std-footer-contact a:hover { color: var(--std-copper-light); }
.std-footer-id {
	color: rgba(247,245,242,.62);
	font-size: 12.5px;
	line-height: 1.8;
	text-align: center;
	max-width: 760px;
	margin: 0 auto 28px;
}
.std-footer-id a { color: rgba(247,245,242,.78); text-decoration: underline; }
.std-footer-id a:hover { color: var(--std-copper-light); }
.std-footer-legal {
	display: flex; gap: 8px 28px; justify-content: center; flex-wrap: wrap;
	margin-bottom: 32px;
}
.std-footer-legal a {
	color: rgba(247,245,242,.75);
	font-size: 13px;
	transition: color .3s ease;
}
.std-footer-legal a:hover { color: var(--std-copper-light); }
.std-footer-copy {
	border-top: 1px solid rgba(247,245,242,.1);
	padding-top: 32px;
	text-align: center;
	color: rgba(247,245,242,.65);
	font-size: 12px;
}

/* ==================== pravne stranky ==================== */
.std-legal-head { text-align: center; }
.std-legal-h1 {
	color: var(--std-cream) !important;
	font-size: 40px;
	margin-bottom: 12px;
}
.std-legal-sub { color: rgba(247,245,242,.6); font-size: 16px; max-width: 640px; margin: 0 auto; text-align: center; }
.std-legal h2 {
	font-size: 24px;
	margin: 40px 0 14px;
	padding-top: 8px;
}
.std-legal h3 { font-size: 18px; margin: 26px 0 10px; color: var(--std-fg); }
.std-legal p, .std-legal li { color: #4a4744; font-size: 15.5px; line-height: 1.75; }
.std-legal p { margin-bottom: 14px; }
.std-legal ul { margin: 0 0 16px 22px; }
.std-legal li { margin-bottom: 6px; }
.std-legal a { color: var(--std-copper); text-decoration: underline; }
.std-legal a:hover { color: var(--std-copper-light); }
.std-legal em { color: var(--std-fg); font-style: normal; font-weight: 600; }
.std-legal table {
	width: 100%;
	border-collapse: collapse;
	margin: 10px 0 20px;
	font-size: 14.5px;
}
.std-legal th, .std-legal td {
	border: 1px solid var(--std-border);
	padding: 10px 14px;
	text-align: left;
	color: #4a4744;
}
.std-legal th { background: var(--std-card); font-family: var(--std-display); color: var(--std-fg); font-size: 14px; }

/* ==================== cookie lista ==================== */
#std-cookiebar {
	position: fixed;
	left: 16px; right: 16px; bottom: 16px;
	z-index: 99999;
	background: #1F1F1F;
	border: 1px solid rgba(184,103,46,.35);
	box-shadow: 0 20px 50px rgba(0,0,0,.5);
	max-width: 960px;
	margin: 0 auto;
	padding: 22px 26px;
	display: none;
	gap: 20px;
	align-items: center;
	flex-wrap: wrap;
}
#std-cookiebar.std-show { display: flex; }
#std-cookiebar .std-cb-text {
	flex: 1 1 380px;
	color: rgba(247,245,242,.75);
	font-size: 13.5px;
	line-height: 1.6;
}
#std-cookiebar .std-cb-text strong { color: var(--std-cream); display: block; margin-bottom: 4px; font-family: var(--std-display); font-size: 15px; }
#std-cookiebar .std-cb-text a { color: var(--std-copper-light); text-decoration: underline; }
#std-cookiebar .std-cb-btns { display: flex; gap: 12px; flex: 0 0 auto; flex-wrap: wrap; }
#std-cookiebar button {
	border: 2px solid var(--std-copper);
	font-family: var(--std-body);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	padding: 11px 22px;
	cursor: pointer;
	transition: all .3s ease;
	border-radius: 0;
}
#std-cookiebar .std-cb-reject { background: transparent; color: var(--std-cream); }
#std-cookiebar .std-cb-reject:hover { background: rgba(184,103,46,.14); }
#std-cookiebar .std-cb-accept { background: var(--std-copper); color: var(--std-cream); }
#std-cookiebar .std-cb-accept:hover { background: var(--std-copper-light); border-color: var(--std-copper-light); }
@media (max-width: 640px) {
	/* pohodlnejšie dotykové ciele */
	.std-footer li a, .std-footer-legal a {
		display: inline-flex; align-items: center; min-height: 40px;
	}
	#std-cookiebar { padding: 18px; }
	#std-cookiebar .std-cb-btns { width: 100%; }
	#std-cookiebar button { flex: 1 1 45%; padding: 12px 10px; }
}

/* divi footer skryty — paticka zije v strane */
#main-footer { display: none !important; }

/* ==================== drobnosti ==================== */
.et_pb_section { background-color: transparent; }
::selection { background: var(--std-copper); color: var(--std-cream); }

/* ==================== mobil ==================== */
@media (max-width: 980px) {
	.std-hero2 h1 { font-size: 44px; }
	.std-project-body, .std-project-body-l { padding: 28px 28px 36px; }
	.std-project-img img { padding: 12px 12px 0; }
	.std-project-row .et_pb_column { min-height: 0; }
}
@media (max-width: 767px) {
	.std-hero2 h1 { font-size: 36px; }
	.std-hero-sub { font-size: 17px; }
	.std-hero-content { padding: 110px 6px 90px; }
	.std-hero-btns { flex-direction: column; align-items: center; }
	.std-h2 h2, h2.std-h2 { font-size: 30px; }
	.std-sold-card { padding: 28px !important; }
	.std-coming-text { padding: 40px 16px; letter-spacing: .18em; }
	.std-legal-h1 { font-size: 30px; }
	.et_pb_section { padding: 64px 0; }
}
