/*
Theme Name: Cevizor
Theme URI: https://cevizor.com/
Author: Cevizor Ltd
Description: Block theme for Cevizor Ltd – procurement, business transformation and GMP & regulatory affairs support for SMEs and healthcare. On activation it creates Home, Services, About and Contact pages (if they don't already exist) with ready-made content, and includes a built-in contact form.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cevizor
Tags: block-theme, full-site-editing, business, one-column, custom-colors, editor-style
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > main { flex: 1 0 auto; }
:focus-visible { outline: 3px solid var(--wp--preset--color--mint); outline-offset: 2px; }

/* Landing pages: sections stack flush */
.cz-landing > * + * { margin-block-start: 0 !important; }
.cz-landing > .cz-section:first-child { margin-block-start: 0; }

/* ---------- Header ---------- */
.cz-header {
	background: var(--wp--preset--color--surface);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.cz-header-part { position: sticky; top: 0; z-index: 50; }
.admin-bar .cz-header-part { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .cz-header-part { top: 0; } }
.cz-header__inner { padding-block: 16px; gap: 16px; }
.cz-brand { gap: 10px; }
.cz-brand a, .cz-brand .wp-block-site-title a {
	color: var(--wp--preset--color--ink); text-decoration: none;
}
.cz-brand svg { display: block; flex-shrink: 0; }
.cz-brand .wp-block-site-title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700; font-size: 1.375rem; letter-spacing: -0.01em; margin: 0;
}
.cz-header__actions { gap: 8px; }
.cz-nav { font-weight: 500; }
.cz-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--slate); text-decoration: none;
	padding: 12px 14px !important; border-bottom: 2px solid transparent;
}
.cz-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--ink); }
.cz-nav .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ink); font-weight: 600;
	border-bottom-color: var(--wp--preset--color--accent);
}
.cz-nav .wp-block-navigation__container { gap: 4px; }
.cz-header .wp-block-button__link { padding: 12px 20px; font-size: 1rem; }
@media (max-width: 599px) {
	.cz-header .wp-block-buttons { display: none; }
}

/* ---------- Sections ---------- */
.cz-section { padding-block: var(--wp--preset--spacing--60); }
.cz-section--tight-top { padding-top: 0; }
.cz-bg-surface { background: var(--wp--preset--color--surface); }
.cz-bordered { border-top: 1px solid var(--wp--preset--color--line); border-bottom: 1px solid var(--wp--preset--color--line); }
.cz-border-bottom { border-bottom: 1px solid var(--wp--preset--color--line); }
.cz-section-head { max-width: 720px; gap: 12px; margin-bottom: 2.5rem; }
.cz-section-head > * { margin: 0 !important; }
.is-layout-constrained > .cz-section-head {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1200px)) / 2)) !important;
	margin-right: auto !important;
}
.cz-head-row { gap: 24px; margin-bottom: 2.5rem; }
.cz-head-row .cz-section-head { margin-bottom: 0; }

.cz-eyebrow {
	margin: 0; font-size: 0.875rem; font-weight: 600; letter-spacing: 0.08em;
	text-transform: uppercase; color: var(--wp--preset--color--accent);
}
.cz-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--wp--preset--color--slate); max-width: 40em; }
.cz-note { font-size: 0.9375rem; color: var(--wp--preset--color--muted); }
.cz-body { font-size: 1.125rem; line-height: 1.65; color: var(--wp--preset--color--slate); }
.cz-arrow-link { font-weight: 600; font-size: 1.0625rem; padding-block: 12px; display: inline-block; }
.cz-arrow-link a { text-decoration: none; }
.cz-arrow-link a:hover { text-decoration: underline; }

/* ---------- Hero ---------- */
.cz-hero { gap: 64px !important; align-items: center !important; }
.cz-hero h1 { margin-block: 0; }
.cz-hero__copy > * + * { margin-block-start: 24px; }
.cz-page-hero > * + * { margin-block-start: 20px; }
.cz-page-hero h1 { max-width: 15em; margin: 0; }

/* Outline button */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--ink);
	border: 1.5px solid var(--wp--preset--color--ink);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--surface);
}
/* Light button (on accent band) */
.wp-block-button.is-style-light > .wp-block-button__link {
	background: var(--wp--preset--color--surface); color: var(--wp--preset--color--ink);
}
.wp-block-button.is-style-light > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ground); color: var(--wp--preset--color--ink);
}

/* ---------- Dark process panel ---------- */
.cz-panel-dark {
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--surface);
	border-radius: 16px; padding: 40px; gap: 28px;
}
.cz-panel-dark > * { margin: 0 !important; }
.cz-panel-dark__title { font-family: var(--wp--preset--font-family--heading); font-size: 1.375rem; font-weight: 600; }
.cz-panel-dark hr, .cz-panel-dark .wp-block-separator {
	border: 0; border-top: 1px solid var(--wp--preset--color--ink-soft); margin: 0; width: 100%; opacity: 1;
}
.cz-step { gap: 20px; flex-wrap: nowrap !important; align-items: flex-start !important; }
.cz-step__num {
	font-family: var(--wp--preset--font-family--heading); font-size: 0.9375rem;
	font-weight: 700; color: var(--wp--preset--color--mint); padding-top: 3px; margin: 0;
	flex-shrink: 0; min-width: 1.5em;
}
.cz-step__body > * { margin: 0 !important; }
.cz-step__body > * + * { margin-top: 6px !important; }
.cz-step__title { font-weight: 600; font-size: 1.125rem; }
.cz-step__text { color: var(--wp--preset--color--on-dark); line-height: 1.5; }

/* ---------- Cards ---------- */
.cz-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px; padding: 40px;
}
.cz-card > * { margin-block: 0 !important; }
.cz-card > * + * { margin-block-start: 16px !important; }
.cz-card p { color: var(--wp--preset--color--slate); }
.cz-card h3 { font-size: var(--wp--preset--font-size--x-large); }
.cz-card ul { padding-left: 20px; color: var(--wp--preset--color--ink); }
.cz-card li + li { margin-top: 8px; }
.cz-card--sm { padding: 28px; background: var(--wp--preset--color--ground); }
.cz-card--sm > * + * { margin-block-start: 14px !important; }
.cz-card--sm h3 { font-size: 1.25rem; }
.cz-card--md { padding: 32px; }
.cz-card--md h3 { font-size: 1.375rem; }
.cz-card--ground { background: var(--wp--preset--color--ground); }
.cz-card .cz-card__label { font-weight: 600; color: var(--wp--preset--color--ink); }

.cz-icon {
	width: 48px; height: 48px; border-radius: 10px;
	background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--accent);
	display: flex; align-items: center; justify-content: center;
}

/* ---------- Feature list (border-top items) ---------- */
.cz-feature { border-top: 2px solid var(--wp--preset--color--ink); padding-top: 20px; }
.cz-feature > * { margin: 0 !important; }
.cz-feature > * + * { margin-top: 8px !important; }
.cz-feature p { color: var(--wp--preset--color--slate); line-height: 1.55; }
.cz-two-col { gap: 64px !important; }

/* ---------- CTA band ---------- */
.cz-cta {
	background: var(--wp--preset--color--accent); color: var(--wp--preset--color--surface);
	border-radius: 20px; padding: clamp(32px, 5vw, 64px) clamp(24px, 4vw, 56px); gap: 32px;
}
.cz-cta h2 { color: var(--wp--preset--color--surface); font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.15; }
.cz-cta__copy { max-width: 640px; }
.cz-cta__copy > * { margin: 0 !important; }
.cz-cta__copy > * + * { margin-top: 12px !important; }
.cz-cta p { color: #E3EFED; font-size: 1.125rem; line-height: 1.55; }

/* ---------- Services page ---------- */
.cz-pills { gap: 10px; padding-top: 12px; }
.cz-pills p { margin: 0; }
.cz-pills a {
	display: inline-block; padding: 10px 16px; border-radius: 999px;
	border: 1px solid #C5CCC5; color: var(--wp--preset--color--ink);
	text-decoration: none; font-weight: 500; background: var(--wp--preset--color--surface);
}
.cz-pills a:hover { border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); }
.cz-service {
	padding-block: 56px; border-bottom: 1px solid var(--wp--preset--color--line);
	gap: 48px !important; margin-block: 0 !important; scroll-margin-top: 96px;
}
.cz-service:last-child { border-bottom: 0; }
.cz-service__num {
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; color: var(--wp--preset--color--accent); margin: 0;
}
.cz-service h2 { font-size: clamp(1.75rem, 3vw, 2.125rem); line-height: 1.15; letter-spacing: -0.015em; }
.cz-service__intro > * { margin: 0 !important; }
.cz-service__intro > * + * { margin-top: 16px !important; }
.cz-service .cz-card { padding: 32px; }
.cz-service .cz-card li + li { margin-top: 10px; }

/* ---------- About ---------- */
.cz-photo {
	aspect-ratio: 4 / 5; max-width: 420px; width: 100%; border-radius: 16px;
	background: var(--wp--preset--color--accent-soft); border: 1px dashed #8FA9A5;
	display: flex; align-items: center; justify-content: center;
	color: var(--wp--preset--color--accent); font-weight: 600;
}
.cz-photo-img img { border-radius: 16px; aspect-ratio: 4 / 5; object-fit: cover; max-width: 420px; width: 100%; }
.cz-founder > * { margin-block: 0 !important; }
.cz-founder > * + * { margin-block-start: 16px !important; }
.cz-role { font-size: 1.125rem; font-weight: 600; color: var(--wp--preset--color--slate); }

/* ---------- Contact ---------- */
.cz-contact-card {
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--surface);
	border-radius: 16px; padding: 40px;
}
.cz-contact-card > * { margin: 0 !important; }
.cz-contact-card > * + * { margin-top: 20px !important; }
.cz-contact-card h2 { color: var(--wp--preset--color--surface); font-size: 1.5rem; }
.cz-contact-card a { color: var(--wp--preset--color--surface); }
.cz-detail-label { font-size: 0.875rem; color: #A9B6C2; display: block; }
.cz-detail-value { font-size: 1.125rem; }
.cz-next { margin-top: 32px !important; }
.cz-next > * { margin: 0 !important; }
.cz-next > * + * { margin-top: 20px !important; }
.cz-next h2 { font-size: 1.5rem; }
.cz-next-step { gap: 16px; flex-wrap: nowrap !important; align-items: flex-start !important; }
.cz-next-step__num {
	flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%;
	background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--accent);
	display: flex; align-items: center; justify-content: center; font-weight: 700; margin: 0;
}
.cz-next-step p:last-child { margin: 4px 0 0; color: var(--wp--preset--color--slate); line-height: 1.55; }

.cz-form { display: flex; flex-direction: column; gap: 20px; }
.cz-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.cz-form__field { display: flex; flex-direction: column; gap: 8px; }
.cz-form label { font-weight: 600; font-size: 0.9375rem; }
.cz-form input[type="text"], .cz-form input[type="email"], .cz-form select, .cz-form textarea {
	font: inherit; font-size: 1rem; color: var(--wp--preset--color--ink);
	border: 1px solid #A9B3AD; border-radius: 8px; background: #fff;
	padding: 0 14px; min-height: 48px; width: 100%; box-sizing: border-box;
}
.cz-form textarea { padding: 12px 14px; resize: vertical; min-height: 150px; }
.cz-form input:focus, .cz-form select:focus, .cz-form textarea:focus {
	outline: 3px solid var(--wp--preset--color--accent-soft); border-color: var(--wp--preset--color--accent);
}
.cz-form__consent { display: flex; gap: 12px; align-items: flex-start; }
.cz-form__consent input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--wp--preset--color--accent); flex-shrink: 0; }
.cz-form__consent label { font-weight: 400; color: var(--wp--preset--color--slate); line-height: 1.5; }
.cz-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.cz-form button {
	align-self: flex-start; min-height: 52px; padding: 0 28px; border: 0; border-radius: 8px;
	background: var(--wp--preset--color--accent); color: #fff; font: inherit; font-weight: 600; font-size: 1.0625rem; cursor: pointer;
}
.cz-form button:hover { background: var(--wp--preset--color--accent-dark); }
.cz-form-notice { padding: 16px 20px; border-radius: 8px; font-weight: 500; margin: 0 0 8px; }
.cz-form-notice--ok { background: var(--wp--preset--color--accent-soft); color: var(--wp--preset--color--accent-dark); }
.cz-form-notice--err { background: #FBE9E4; color: #8A2E14; }

/* ---------- Footer ---------- */
.cz-footer { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--on-dark); }
.cz-footer__inner { padding-block: 64px 32px; }
.cz-footer__cols { gap: 40px; margin-bottom: 48px; }
.cz-footer__col > * { margin: 0 !important; }
.cz-footer__col > * + * { margin-top: 10px !important; }
.cz-footer__brand { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.375rem; color: #fff; }
.cz-footer__heading { font-weight: 600; color: #fff; }
.cz-footer a { color: var(--wp--preset--color--on-dark); text-decoration: none; }
.cz-footer a:hover { color: #fff; text-decoration: underline; }
.cz-footer__legal {
	border-top: 1px solid var(--wp--preset--color--ink-soft); padding-top: 24px;
	gap: 12px; font-size: 0.875rem;
}
.cz-footer__legal p { margin: 0; }

/* ---------- Responsive grids ---------- */
.cz-grid { gap: 24px !important; }
.cz-grid-2 { grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)) !important; }
.cz-grid-3 { grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)) !important; }
.cz-grid-4 { grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)) !important; gap: 32px 28px !important; }
.cz-grid-feat { grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)) !important; gap: 32px 28px !important; }
.cz-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; gap: 20px !important; }
@media (max-width: 1100px) { .cz-grid-5 { grid-template-columns: repeat(auto-fit, minmax(min(14rem, 100%), 1fr)) !important; } }
.cz-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 900px) { .cz-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 520px) { .cz-footer__cols { grid-template-columns: 1fr !important; } }

/* ---------- Generic pages & posts ---------- */
.cz-page-main { padding-block: var(--wp--preset--spacing--50); }
.cz-page-main .wp-block-post-title { margin-bottom: 1.5rem; }

@media (max-width: 781px) {
	.cz-hero { gap: 40px !important; }
	.cz-panel-dark, .cz-card, .cz-contact-card { padding: 28px; }
}
