/*
Theme Name: ITAdmin
Author: Gálfi Benedek
Description: Egyéni téma: IT-üzemeltetés, magánfogászati rendelőkre szakosodva. A blokkszerkesztőben szerkeszthető, kész blokkmintákkal. Az ITAdmin bővítménnyel együtt használandó.
Requires at least: 6.6
Requires PHP: 8.0
Version: 1.0.7
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: itadmin
*/

:root {
	--itadmin-line: rgba(11, 43, 53, .12);
	--itadmin-hero-top: #eaf1f4;
	--itadmin-deep-text: #b9c9ce;
}

/* A fejléc, a tartalom és a lábléc közé ne kerüljön térköz */
.wp-site-blocks > * + * { margin-block-start: 0; }
/* A szakaszok a ragadós fejléc alá érkezzenek. Szándékosan scroll-margin a célelemeken
   (nem scroll-padding a html-en): különben a mobilmenü bezárásakor a menügombra visszatérő
   fókusz is elgörgetné az oldalt, és a görgetés előbb felfelé ugrana. */
:where(main) [id] { scroll-margin-top: 90px; }
/* A menüpontokra kattintva finoman görget a szakaszhoz (ha a látogató nem kapcsolta ki az animációkat) */
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }

/* ---------- Fejléc ---------- */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media screen and (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }

.site-header {
	position: relative; z-index: 0;
	border-bottom: 1px solid var(--itadmin-line);
	transition: box-shadow .2s;
}
/* A homályosított háttér külön rétegen van: ha magán a fejlécen lenne (backdrop-filter),
   a mobilmenü teljes képernyős rétege a fejléc dobozába záródna. */
.site-header::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(234, 241, 244, .9);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	backdrop-filter: saturate(180%) blur(12px);
}
.site-header.is-scrolled { box-shadow: 0 6px 24px -18px rgba(0, 0, 0, .25); }

/* Logó: név | szakterület */
.logo .wp-block-site-title { margin: 0; white-space: nowrap; }
.logo .wp-block-site-tagline { margin: 0; padding-left: .7rem; border-left: 1px solid #c9d3d7; white-space: nowrap; }
@media (max-width: 359.98px) { .logo .wp-block-site-tagline { display: none; } }

.site-header .wp-block-navigation a { color: var(--wp--preset--color--ink); text-decoration: none; padding: .4rem .75rem; }
.site-header .wp-block-navigation a:hover,
.site-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--brand); }
/* Mobilmenü (teljes képernyős réteg) */
.site-header .wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--base); color: var(--wp--preset--color--ink); padding: 1.5rem 1.5rem 2rem;
}
.site-header .wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container) { align-items: flex-start; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: .25rem; font-size: 1.5rem; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .5rem 0; }
/* A „Kapcsolat” menüpont csak a mobilmenüben látszik, asztali nézetben ott a gomb */
.site-header .wp-block-navigation .menu-mobile-only { display: none; }
.site-header .wp-block-navigation__responsive-container.is-menu-open .menu-mobile-only { display: block; }
.header-cta .wp-block-button__link { padding: .6rem 1.25rem; font-size: .9rem; }
@media (max-width: 479.98px) { .site-header .wp-block-buttons.header-cta { display: none; } }

/* ---------- Gombok ---------- */
.wp-block-button.is-style-ink .wp-block-button__link { background: var(--wp--preset--color--ink); color: #fff; }
.wp-block-button.is-style-ink .wp-block-button__link:hover { background: #000; color: #fff; }
.wp-block-button.is-style-white .wp-block-button__link { background: #fff; color: var(--wp--preset--color--deep); }
.wp-block-button.is-style-white .wp-block-button__link:hover { background: #dff3f6; color: var(--wp--preset--color--deep); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--ink);
	border: 1px solid var(--itadmin-line);
	padding: calc(.9rem - 1px) calc(1.75rem - 1px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--brand); border-color: var(--wp--preset--color--brand); }

/* ---------- Szövegelemek ---------- */
.is-style-kicker {
	font-family: var(--wp--preset--font-family--heading);
	font-size: .85rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase;
	color: var(--wp--preset--color--brand);
}
.wp-block-group > .is-style-kicker + .wp-block-heading { margin-block-start: .5rem; }

/* Szakasz bevezetője (felülcím, cím, egy mondat) */
.section-intro { margin-bottom: 2.5rem; }

/* ---------- Nyitó szakasz ---------- */
.is-style-hero {
	overflow: hidden;
	background:
		radial-gradient(900px 520px at 12% 0%, rgba(15, 116, 144, .13), transparent 62%),
		radial-gradient(760px 480px at 92% 8%, rgba(45, 212, 191, .16), transparent 60%),
		linear-gradient(180deg, var(--itadmin-hero-top) 0%, var(--wp--preset--color--base) 100%);
}
.is-style-hero .hero-title { max-width: 1000px; hyphens: auto; }
.is-style-hero .hero-sub { max-width: 680px; font-size: 1.2rem; }

/* ---------- Sötét szakasz ---------- */
.has-deep-background-color { color: var(--itadmin-deep-text); }
.has-deep-background-color :is(h1, h2, h3, h4) { color: #fff; }
.has-deep-background-color .is-style-kicker { color: var(--wp--preset--color--accent-light); }
.has-deep-background-color a:where(:not(.wp-element-button)) { color: #fff; }

/* ---------- Kártyák ---------- */
.is-style-card {
	background: #fff; border: 1px solid var(--itadmin-line); border-radius: 18px;
	padding: 2rem;
	transition: border-color .2s, transform .2s, box-shadow .2s;
}
.is-style-card h3 { color: var(--wp--preset--color--brand); font-weight: 600; }
.is-style-card .wp-block-itadmin-icon { color: var(--wp--preset--color--brand); font-size: 1.6rem; }
.svc-grid .is-style-card:hover { border-color: rgba(15, 116, 144, .45); transform: translateY(-3px); box-shadow: 0 18px 40px -28px rgba(15, 116, 144, .6); }

.is-style-card-dark {
	background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 18px; padding: 1.5rem;
}
.is-style-card-dark h3 { font-size: 1.15rem; font-weight: 600; }
.is-style-card-dark p { font-size: .98rem; }
.is-style-card-dark .wp-block-itadmin-icon { color: var(--wp--preset--color--accent-light); font-size: 1.5rem; }

/* ---------- Lépések ---------- */
.is-style-step { padding: 1.75rem 0; border-top: 1px solid var(--itadmin-line); }
.is-style-step:last-child { border-bottom: 1px solid var(--itadmin-line); }
.is-style-step .step-num { font-family: var(--wp--preset--font-family--heading); font-weight: 500; color: var(--wp--preset--color--brand); min-width: 2.2rem; padding-top: .15rem; margin: 0; }
.is-style-step h3 { font-size: 1.35rem; margin: 0 0 .4rem; }
.is-style-step p:last-child { margin-bottom: 0; }

/* ---------- Együttműködési formák ---------- */
.is-style-plan {
	border: 1px solid var(--itadmin-line); border-radius: 18px; padding: 2.25rem;
	background: #fff; height: 100%; display: flex; flex-direction: column;
}
.is-style-plan.has-deep-background-color { border-color: var(--wp--preset--color--deep); }
.is-style-plan h3 { font-size: 1.6rem; }
.is-style-plan > .wp-block-buttons { margin-top: auto; padding-top: .5rem; }

/* ---------- Listák ---------- */
.wp-block-list.is-style-check { list-style: none; padding-left: 0; }
.wp-block-list.is-style-check li { position: relative; padding: .35rem 0 .35rem 1.7rem; }
/* A pipa és a GYIK nyila beágyazott SVG (Bootstrap Icons: check2, chevron-down), így nem kell hozzá ikonbetűtípus. */
:root {
	--itadmin-ikon-pipa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13.867 3.627Q14.027 3.787 14.027 4Q14.027 4.213 13.867 4.373L6.88 11.36Q6.72 11.52 6.507 11.52Q6.293 11.52 6.133 11.36L2.667 7.84Q2.507 7.733 2.507 7.52Q2.507 7.307 2.64 7.147Q2.773 6.987 2.987 6.987Q3.2 6.987 3.36 7.147L6.507 10.293L13.12 3.627Q13.28 3.52 13.493 3.52Q13.707 3.52 13.867 3.627Z'/%3E%3C/svg%3E");
	--itadmin-ikon-nyil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M1.653 4.64Q1.813 4.48 2 4.48Q2.187 4.48 2.347 4.64L8 10.293L13.653 4.64Q13.813 4.48 14 4.48Q14.187 4.48 14.347 4.64Q14.507 4.8 14.507 5.013Q14.507 5.227 14.347 5.333L8.373 11.36Q8.213 11.52 8 11.52Q7.787 11.52 7.627 11.36L1.653 5.333Q1.493 5.227 1.493 5.013Q1.493 4.8 1.653 4.64Z'/%3E%3C/svg%3E");
}
.wp-block-list.is-style-check li::before {
	content: ""; position: absolute; left: 0; top: .59rem; width: 1.15rem; height: 1.15rem;
	background-color: var(--wp--preset--color--brand);
	-webkit-mask: var(--itadmin-ikon-pipa) center / contain no-repeat; mask: var(--itadmin-ikon-pipa) center / contain no-repeat;
}
.has-deep-background-color .wp-block-list.is-style-check li::before { background-color: #4fd1c5; }

.wp-block-list.is-style-tags { list-style: none; padding-left: 0; display: flex; flex-wrap: wrap; gap: .5rem .4rem; }
.wp-block-list.is-style-tags li {
	border: 1px solid var(--itadmin-line); border-radius: 500px; background: #fff;
	padding: .3rem .9rem; font-size: .92rem; color: var(--wp--preset--color--ink); margin: 0;
}
.list-label { color: var(--wp--preset--color--ink); font-weight: 600; margin-bottom: .5rem; }

/* ---------- GYIK (Részletek blokk) ---------- */
.wp-block-details { border-top: 1px solid var(--itadmin-line); box-sizing: border-box; }
.wp-block-details:last-child { border-bottom: 1px solid var(--itadmin-line); }
.wp-block-details summary {
	list-style: none; cursor: pointer; position: relative; padding: 1.4rem 2.5rem 1.4rem 0;
	font-family: var(--wp--preset--font-family--heading); font-weight: 500; font-size: 1.2rem;
	color: var(--wp--preset--color--ink); line-height: 1.35;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: ""; position: absolute; right: .25rem; top: 50%; width: 1rem; height: 1rem;
	transform: translateY(-50%); transition: transform .2s; background-color: var(--wp--preset--color--text);
	-webkit-mask: var(--itadmin-ikon-nyil) center / contain no-repeat; mask: var(--itadmin-ikon-nyil) center / contain no-repeat;
}
.wp-block-details[open]:not(.is-closing) summary { color: var(--wp--preset--color--brand); }
.wp-block-details[open]:not(.is-closing) summary::after { transform: translateY(-50%) rotate(180deg); }
.wp-block-details > :not(summary) { max-width: 720px; margin-top: 0; }
.wp-block-details > :last-child:not(summary) { padding-bottom: 1.5rem; margin-bottom: 0; }

/* ---------- Kapcsolat ---------- */
.is-style-contact-row { padding: 1.1rem 0; border-top: 1px solid var(--itadmin-line); }
.is-style-contact-row:last-child { border-bottom: 1px solid var(--itadmin-line); }
.is-style-contact-row .is-style-kicker { font-size: .8rem; margin: 0; }
.is-style-contact-row .contact-value { color: var(--wp--preset--color--ink); font-size: 1.1rem; margin: 0; }
.is-style-contact-row .contact-value a { color: var(--wp--preset--color--ink); text-decoration: none; }
.is-style-contact-row .contact-value a:hover { color: var(--wp--preset--color--brand); }
.remote { padding: 1.5rem; }
.remote .wp-block-button__link { padding: .55rem 1.1rem; font-size: .9rem; }
.form-card { padding: 2.25rem; }
@media (max-width: 600px) { .is-style-card.form-card { padding: 1.5rem; } }

/* ---------- Lábléc ---------- */
.site-footer { font-size: .95rem; }
.site-footer .logo .wp-block-site-title a { color: #fff; }
.site-footer .logo .wp-block-site-tagline { color: var(--wp--preset--color--accent-light); border-left-color: rgba(255, 255, 255, .25); }
.site-footer .f-lbl {
	font-family: var(--wp--preset--font-family--heading); font-size: .78rem; font-weight: 600;
	letter-spacing: .09em; text-transform: uppercase; color: var(--wp--preset--color--accent-light); margin-bottom: .6rem;
}
.site-footer .wp-block-list { list-style: none; padding-left: 0; margin-top: 0; }
.site-footer .wp-block-list li { margin-bottom: .35rem; }
.site-footer a { color: #e8f1f3; text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.site-footer .wp-block-itadmin-cegadat { color: #e8f1f3; }
.footer-bottom { border-top: 1px solid rgba(255, 255, 255, .14); padding-top: 1.5rem; margin-top: 2rem; }
.footer-bottom p { margin: 0; }

/* ---------- Aloldalak (Impresszum, Adatvédelem stb.) ---------- */
body.page:not(.home) { background: linear-gradient(180deg, var(--itadmin-hero-top) 0, var(--wp--preset--color--base) 460px) no-repeat, var(--wp--preset--color--base); }
.page-main { padding-top: 4.5rem; padding-bottom: 6rem; }
.page-main .wp-block-post-title { font-size: clamp(2.2rem, 5vw, 3.6rem); line-height: 1.1; letter-spacing: -.03em; margin-bottom: 2.5rem; }
.page-main .wp-block-post-content h2 { font-size: 1.6rem; margin-top: 2.75rem; }
.page-main .wp-block-post-content h3 { font-size: 1.25rem; margin-top: 2rem; }
.page-main .wp-block-post-content a:where(:not(.wp-element-button)) { text-decoration: underline; text-underline-offset: 3px; }
.wp-block-table { overflow-x: auto; }
.wp-block-table table { background: #fff; font-size: .95rem; border-collapse: collapse; }
.wp-block-table :is(td, th) { border: 1px solid var(--itadmin-line); padding: .7rem .9rem; vertical-align: top; text-align: left; }
.wp-block-table thead { border-bottom: 0; }
.wp-block-table thead th { background: #f6f8f9; color: var(--wp--preset--color--ink); font-weight: 600; }
/* Felirat + érték táblázatok (Impresszum, Adatvédelem): keskenyebb felirat, telefonon egymás alatt */
.wp-block-table .has-fixed-layout td:first-child { width: 30%; }
@media (max-width: 479.98px) {
	.wp-block-table .has-fixed-layout :is(tr, td) { display: block; width: auto; }
	.wp-block-table .has-fixed-layout td:first-child { width: auto; border-bottom: 0; padding-bottom: .15rem; }
	.wp-block-table .has-fixed-layout td + td { border-top: 0; padding-top: 0; }
	.wp-block-table .has-fixed-layout tr + tr td:first-child { border-top: 0; padding-top: .7rem; }
}
.wp-block-separator { border: 0; border-top: 1px solid var(--itadmin-line); opacity: 1; }

/* ---------- Contact Form 7 ---------- */
.cf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.cf-grid > * { margin: 0; }
.cf-full { grid-column: 1 / -1; }
@media (max-width: 600px) { .cf-grid { grid-template-columns: 1fr; } }
.cf-field label { display: block; font-weight: 600; color: var(--wp--preset--color--ink); font-size: .95rem; margin-bottom: .4rem; }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], textarea) {
	width: 100%; box-sizing: border-box; font: inherit; color: var(--wp--preset--color--ink);
	background: #fff; border: 1px solid #dedede; border-radius: 12px; padding: .75rem 1rem;
	transition: border-color .15s, box-shadow .15s;
}
.wpcf7 :is(input, textarea):focus { outline: 0; border-color: var(--wp--preset--color--brand); box-shadow: 0 0 0 .2rem rgba(15, 116, 144, .15); }
.wpcf7 textarea { min-height: 8rem; resize: vertical; }
.wpcf7 .wpcf7-not-valid { border-color: #dc3545; }
.wpcf7 .wpcf7-not-valid-tip { display: block; color: #b42318; font-size: .875rem; margin-top: .35rem; }
.wpcf7 .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-acceptance label { display: flex; gap: .6rem; align-items: flex-start; font-size: .92rem; font-weight: 400; cursor: pointer; }
.wpcf7 .wpcf7-acceptance input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin-top: .25rem; flex: none; accent-color: var(--wp--preset--color--brand); }
.wpcf7 .wpcf7-submit {
	font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: .95rem;
	background: var(--wp--preset--color--brand); color: #fff; border: 0; border-radius: 500px;
	padding: .9rem 1.75rem; cursor: pointer;
}
.wpcf7 .wpcf7-submit:hover { background: var(--wp--preset--color--brand-dark); }
.wpcf7 form .wpcf7-response-output { margin: 1.25rem 0 0; padding: .8rem 1rem; border-radius: 12px; border: 1px solid var(--itadmin-line); font-size: .95rem; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output { border-color: #f4c27a; background: #fff8ec; color: #7a4b00; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #9fd8c8; background: #eefaf6; color: #0b5c45; }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output { border-color: #f1a7a7; background: #fff1f1; color: #8a1c1c; }

/* ---------- Elérhetőség ---------- */
.skip-link:focus { background: #fff; color: var(--wp--preset--color--ink); border-radius: 500px; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
