/*
Theme Name: Dimensic Consult
Theme URI: https://www.dimensic.com/
Author: Dimensic
Author URI: https://www.dimensic.com/
Description: A calm, professional block theme for consultants and advisory firms. Ready-made sections (hero, services, approach, cases, about, contact), three style variations and full compatibility with the Dimensic Studio assessments. Fonts are included in the theme: no external requests, no cookies.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dimensic-consult
Tags: one-column, accessibility-ready, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, block-patterns, block-styles, rtl-language-support, style-variations, threaded-comments, translation-ready, wide-blocks, portfolio
*/

/* ---------- Cards ---------- */
.is-style-ds-card,
.is-style-ds-card-cream,
.is-style-ds-card-dark {
	box-sizing: border-box;
	border-radius: 14px;
	padding: 32px;
}
.is-style-ds-card { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); }
.is-style-ds-card-cream { background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--line); padding: 28px; }
.is-style-ds-card-dark { background: var(--wp--preset--color--navy); color: var(--wp--preset--color--on-dark); }
.is-style-ds-panel { box-sizing: border-box; background: var(--wp--preset--color--navy); color: var(--wp--preset--color--on-dark); border-radius: 20px; padding: 34px 32px; }
.is-style-ds-block-dark { box-sizing: border-box; background: var(--wp--preset--color--navy); color: var(--wp--preset--color--on-dark); padding: 40px; }
.wp-block-column > .is-style-ds-card,
.wp-block-column > .is-style-ds-card-cream,
.wp-block-column > .is-style-ds-card-dark,
.wp-block-column > .is-style-ds-panel,
.wp-block-column > .is-style-ds-block-dark { height: 100%; }
.is-style-ds-card > :last-child,
.is-style-ds-card-cream > :last-child,
.is-style-ds-card-dark > :last-child { margin-bottom: 0; }

/* ---------- Dark areas: navy sections and dark cards ---------- */
.has-navy-background-color,
.is-style-ds-card-dark,
.is-style-ds-panel,
.is-style-ds-block-dark { --ds-on-dark: 1; }
:is(.has-navy-background-color, .is-style-ds-card-dark, .is-style-ds-panel, .is-style-ds-block-dark) :is(h1, h2, h3, h4, h5) { color: var(--wp--preset--color--white); }
:is(.has-navy-background-color, .is-style-ds-card-dark, .is-style-ds-panel, .is-style-ds-block-dark) h6 { color: var(--wp--preset--color--white); font-size: 11.5px; letter-spacing: 1.5px; }
:is(.has-navy-background-color, .is-style-ds-card-dark, .is-style-ds-panel, .is-style-ds-block-dark) a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--white); }
:is(.is-style-ds-block-dark, .is-style-ds-panel) .is-style-ds-eyebrow { color: var(--wp--preset--color--accent-light); }
.is-style-ds-card-dark .wp-block-list { color: rgba(255, 255, 255, 0.7); }

.has-navy-background-color:not(.has-text-color) { color: var(--wp--preset--color--on-dark); }
.is-style-ds-card-dark .wp-block-list.is-style-ds-compact { color: rgba(255, 255, 255, 0.7); }
.has-navy-background-color .wp-block-site-title a { color: var(--wp--preset--color--white); }

/* ---------- Page structure ---------- */
.wp-site-blocks > header, .wp-site-blocks > footer, .wp-site-blocks > main { margin-block-start: 0; }
.wp-block-site-title a { text-decoration: none; }
.ds-header .wp-block-button__link { white-space: nowrap; }

/* ---------- Text styles ---------- */
.is-style-ds-eyebrow {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 700;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 1.7px;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}
.is-style-ds-number {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	color: var(--wp--preset--color--accent);
}
.is-style-ds-quote {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 21px;
	line-height: 1.35;
	color: var(--wp--preset--color--ink);
}
.is-style-ds-dashed {
	border-top: 1px dashed var(--wp--preset--color--line);
	padding-top: 14px;
	font-size: 13px;
	color: var(--wp--preset--color--muted);
}
h3.is-style-ds-sans,
h2.is-style-ds-sans { font-family: var(--wp--preset--font-family--sans); }

/* ---------- Lists ---------- */
.wp-block-list { padding-inline-start: 18px; }
.wp-block-list.is-style-ds-compact { color: var(--wp--preset--color--muted); font-size: 15px; }
.wp-block-list.is-style-ds-compact li { margin-bottom: 6px; }
.wp-block-list.is-style-ds-rules { list-style: none; padding-inline-start: 0; font-size: 14.5px; line-height: 1.5; }
.wp-block-list.is-style-ds-rules li { padding: 12px 0; border-top: 1px solid var(--wp--preset--color--line); }
:is(.has-navy-background-color, .is-style-ds-panel, .is-style-ds-block-dark, .is-style-ds-card-dark) .wp-block-list.is-style-ds-rules li { border-top-color: rgba(255, 255, 255, 0.15); }
.wp-block-list.is-style-ds-rules strong {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 19px;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
}
:is(.has-navy-background-color, .is-style-ds-panel, .is-style-ds-block-dark, .is-style-ds-card-dark) .wp-block-list.is-style-ds-rules strong { color: var(--wp--preset--color--white); }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-ds-light .wp-block-button__link { background: var(--wp--preset--color--white); color: var(--wp--preset--color--navy); }
.wp-block-button.is-style-ds-light .wp-block-button__link:hover { background: var(--wp--preset--color--sand); color: var(--wp--preset--color--navy); }

/* ---------- Images ---------- */
.wp-block-image.is-style-ds-round img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; }
.wp-block-image.is-style-ds-soft img { border-radius: 14px; }

/* ---------- Header ---------- */
.ds-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.ds-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }
.ds-header.is-position-sticky { z-index: 20; }

/* ---------- Dimensic Studio assessments follow the theme ---------- */
.cmr-scan { --cmr-navy: var(--wp--preset--color--navy); --cmr-ink: var(--wp--preset--color--ink); --cmr-soft: var(--wp--preset--color--soft); --cmr-muted: var(--wp--preset--color--muted); --cmr-sand: var(--wp--preset--color--sand); --cmr-line: var(--wp--preset--color--line); --cmr-accent: var(--wp--preset--color--accent); --cmr-accent-dark: var(--wp--preset--color--accent-dark); }

/* ---------- Accessibility ---------- */
:where(a, button, input, select, textarea, summary, .wp-element-button, .wp-block-navigation-item__content):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-dark);
	outline-offset: 2px;
	border-radius: 2px;
}
:is(.has-navy-background-color, .is-style-ds-card-dark, .is-style-ds-panel, .is-style-ds-block-dark) :where(a, button, .wp-element-button):focus-visible { outline-color: var(--wp--preset--color--white); }
.skip-link.screen-reader-text:focus { background: var(--wp--preset--color--white); color: var(--wp--preset--color--navy); padding: 12px 18px; z-index: 100000; }
p a:where(:not(.wp-element-button)), li a:where(:not(.wp-element-button)) { text-decoration: underline; text-underline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }

.has-sand-background-color :is(.is-style-ds-eyebrow, h6, .is-style-ds-number) { color: var(--wp--preset--color--accent-dark); } /* contrast ≥ 4.5:1 on sand */

/* ---------- Comments ---------- */
.wp-block-comments .ds-reactie .wp-block-comment-content p { margin: 8px 0; }
.wp-block-post-comments-form input:not([type=submit]):not([type=checkbox]), .wp-block-post-comments-form textarea { border: 1px solid var(--wp--preset--color--line); border-radius: 8px; padding: 10px 12px; background: var(--wp--preset--color--white); }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.is-style-ds-card, .is-style-ds-card-dark, .is-style-ds-block-dark { padding: 26px 22px; }
	.is-style-ds-panel { padding: 28px 24px; }
	.ds-section { padding-top: 56px !important; }
	.ds-section.ds-flush-top { padding-top: 0 !important; }
	.ds-section.ds-end { padding-bottom: 56px !important; }
}
