/* =============================================================
   Károlyi Timi – téma stílusok (a theme.json-t egészíti ki)
   ============================================================= */
:root {
	--kt-radius: 1.25rem;
	--kt-ease: cubic-bezier(.22, .61, .36, 1);
	--kt-gold-line: rgba(201, 169, 97, .45);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
.wp-site-blocks { overflow-x: clip; }
img { height: auto; max-width: 100%; }
::selection { background: var(--wp--preset--color--blush); color: var(--wp--preset--color--contrast); }

/* --- ritkított kis címkék, jelvény, hajszálvonal ---------------- */
.kt-label {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	font-size: .75rem;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}
.kt-badge {
	display: inline-block;
	border: 1px solid var(--wp--preset--color--gold-light);
	border-radius: 999px;
	padding: .45rem 1.15rem;
	font-size: .72rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
	background: rgba(255, 255, 255, .35);
}
.kt-hairline { width: 3rem; height: 1px; margin: 1.25rem auto; background: var(--wp--preset--color--gold-light); }

/* --- fejléc ----------------------------------------------------- */
.kt-header { position: relative; z-index: 5; padding-block: 1.5rem; }
.kt-header .wp-block-site-title { margin: 0; }
.kt-header .wp-block-site-title a { text-decoration: none; letter-spacing: .08em; }
.kt-header .wp-block-site-title a:hover { color: var(--wp--preset--color--gold); }
.kt-header .wp-block-navigation a { text-decoration: none; transition: color .3s var(--kt-ease); }
.kt-header .wp-block-navigation a:hover,
.kt-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--gold); }
.kt-header .wp-block-navigation__responsive-container-open,
.kt-header .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--gold); }

/* --- nyitókép --------------------------------------------------- */
.kt-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	text-align: center;
	padding-block: clamp(4.5rem, 11vw, 8.5rem) clamp(4.5rem, 10vw, 7.5rem);
}
.kt-hero::before, .kt-hero::after {
	content: ""; position: absolute; z-index: -1; border-radius: 50%; filter: blur(70px); pointer-events: none;
}
.kt-hero::before {
	width: 64vw; height: 64vw; max-width: 760px; max-height: 760px; left: -18vw; top: -26vw;
	background: radial-gradient(circle at 45% 45%, var(--wp--preset--color--blush) 0%, rgba(242, 228, 220, 0) 68%);
}
.kt-hero::after {
	width: 58vw; height: 58vw; max-width: 700px; max-height: 700px; right: -16vw; bottom: -28vw;
	background: radial-gradient(circle at 55% 55%, var(--wp--preset--color--mist) 0%, rgba(232, 227, 240, 0) 68%);
}
.kt-hero h1 { margin: .35rem 0 0; font-weight: 500; letter-spacing: .015em; }
.kt-hero .kt-ornament { width: 4.75rem; margin: 1.5rem auto 1.25rem; color: var(--wp--preset--color--gold-light); }
.kt-hero .kt-ornament svg { display: block; width: 100%; height: auto; }
.kt-hero .kt-badge-wrap { margin: 0 0 2rem; }

/* --- szekciók --------------------------------------------------- */
.kt-section { padding-block: clamp(4rem, 9vw, 7rem); }
.kt-section--sand { background: var(--wp--preset--color--sand); }
.kt-section--contact { background: linear-gradient(180deg, var(--wp--preset--color--base) 0%, var(--wp--preset--color--sand) 100%); }
.kt-section-head { text-align: center; margin-bottom: clamp(2rem, 5vw, 3.25rem); }
.kt-section-head h2 { margin: .5rem 0 0; }
.kt-section-head .kt-hairline { margin-top: 1.1rem; margin-bottom: 0; }

/* --- szolgáltatás-kártyák -------------------------------------- */
.kt-grid > .kt-card { flex: 1 1 19rem; max-width: 100%; }
@media (min-width: 700px) { .kt-grid > .kt-card { max-width: 22rem; } }
.kt-card {
	position: relative;
	border-radius: var(--kt-radius);
	padding: clamp(1.6rem, 3vw, 2.25rem);
	box-shadow: 0 1px 0 rgba(138, 106, 47, .06);
	transition: transform .55s var(--kt-ease), box-shadow .55s var(--kt-ease);
}
.kt-card::after {
	content: ""; position: absolute; inset: 10px; border-radius: calc(var(--kt-radius) - 8px);
	border: 1px solid rgba(201, 169, 97, 0); transition: border-color .55s var(--kt-ease); pointer-events: none;
}
.kt-card:hover { transform: translateY(-4px); box-shadow: 0 22px 44px -26px rgba(47, 42, 37, .28); }
.kt-card:hover::after { border-color: var(--kt-gold-line); }
.kt-card--blush { background: var(--wp--preset--color--blush); }
.kt-card--sage  { background: var(--wp--preset--color--sage); }
.kt-card--mist  { background: var(--wp--preset--color--mist); }
.kt-card--sand  { background: var(--wp--preset--color--sand); }
.kt-card .kt-icon { width: 2.75rem; height: 2.75rem; margin: 0 0 1.1rem; color: var(--wp--preset--color--gold); }
.kt-card .kt-icon svg { display: block; width: 100%; height: 100%; }
.kt-card h3 { margin: 0 0 .3rem; font-size: 1.7rem; line-height: 1.15; }
.kt-card p { margin: 0; font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: 1.1rem; color: var(--wp--preset--color--muted); }

/* --- bemutatkozás ----------------------------------------------- */
.kt-portrait {
	aspect-ratio: 4 / 5; max-width: 22rem; margin-inline: auto;
	border-radius: 50% 50% 48% 48% / 42% 42% 58% 58%;
	background: linear-gradient(160deg, var(--wp--preset--color--sage) 0%, var(--wp--preset--color--blush) 100%);
	display: grid; place-items: center; color: var(--wp--preset--color--gold-light);
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5);
}
.kt-portrait svg { width: 40%; height: auto; }
.kt-about-text h2 { margin: .5rem 0 1rem; }
.kt-about-text p { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: 1.25rem; color: var(--wp--preset--color--muted); }
.kt-about-text .wp-block-buttons { margin-top: 1.5rem; }

/* --- kapcsolat -------------------------------------------------- */
.kt-contact-lines { display: flex; flex-direction: column; gap: .85rem; align-items: center; margin: 1.5rem 0 0; }
.kt-contact-lines a {
	font-family: var(--wp--preset--font-family--heading); font-weight: 500;
	font-size: clamp(1.5rem, 3.4vw, 2.2rem); line-height: 1.2; letter-spacing: .01em;
	color: var(--wp--preset--color--contrast); text-decoration: none;
	border-bottom: 1px solid var(--kt-gold-line); padding-bottom: .15rem;
	transition: color .3s var(--kt-ease), border-color .3s var(--kt-ease);
}
.kt-contact-lines a:hover { color: var(--wp--preset--color--gold); border-color: var(--wp--preset--color--gold); }

/* --- aloldalak: címsáv + törzs --------------------------------- */
.kt-page-head {
	text-align: center;
	padding-block: clamp(3.5rem, 8vw, 5.5rem);
	background: linear-gradient(160deg, var(--wp--preset--color--blush) 0%, var(--wp--preset--color--base) 55%, var(--wp--preset--color--mist) 100%);
}
.kt-page-head h1 { margin: 0; font-weight: 500; }
.kt-page-body { padding-block: clamp(3rem, 7vw, 5rem); }
.kt-placeholder p { font-family: var(--wp--preset--font-family--heading); font-style: italic; font-size: 1.35rem; color: var(--wp--preset--color--muted); }

/* --- lábléc ----------------------------------------------------- */
.kt-footer {
	border-top: 1px solid var(--kt-gold-line);
	padding-block: 2.5rem 2.25rem;
	text-align: center; font-size: .875rem; color: var(--wp--preset--color--muted);
}
.kt-footer p { margin: 0 0 .4rem; }
.kt-footer a { color: inherit; text-decoration: none; transition: color .3s var(--kt-ease); }
.kt-footer a:hover { color: var(--wp--preset--color--gold); }
.kt-footer strong { font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: 1.15rem; letter-spacing: .06em; color: var(--wp--preset--color--contrast); }
.kt-footer .kt-footer__copy { letter-spacing: .08em; font-size: .78rem; text-transform: uppercase; }

/* --- 404 --------------------------------------------------------- */
.kt-404 { text-align: center; padding-block: clamp(4rem, 10vw, 8rem); }

/* --- finom megjelenés (csak futó JS mellett, csökkentett mozgásnál nem) --- */
@media (prefers-reduced-motion: no-preference) {
	.kt-js .kt-reveal { opacity: 0; transform: translateY(16px); transition: opacity .9s var(--kt-ease), transform .9s var(--kt-ease), box-shadow .55s var(--kt-ease); }
	.kt-js .kt-reveal.is-visible { opacity: 1; transform: none; }
	.kt-js .kt-grid > .kt-card:nth-child(2) { transition-delay: .08s; }
	.kt-js .kt-grid > .kt-card:nth-child(3) { transition-delay: .16s; }
	.kt-js .kt-grid > .kt-card:nth-child(4) { transition-delay: .24s; }
	.kt-js .kt-grid > .kt-card:nth-child(5) { transition-delay: .32s; }
	.kt-js .kt-grid > .kt-card.is-visible { transition-delay: 0s; }
	.kt-hero > * { animation: kt-rise 1s var(--kt-ease) both; }
	.kt-hero > :nth-child(2) { animation-delay: .1s; }
	.kt-hero > :nth-child(3) { animation-delay: .2s; }
	.kt-hero > :nth-child(4) { animation-delay: .3s; }
	.kt-hero > :nth-child(5) { animation-delay: .4s; }
}
@keyframes kt-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
