/*
Theme Name: DCL Consulting
Theme URI: https://www.dclconsulting.eu/
Author: DCL Consulting
Description: Custom block theme for DCL Consulting. Gutenberg + Polylang ready architecture.
Version: 0.9.0
Requires at least: 6.8
Requires PHP: 8.1
Text Domain: dcl-consulting
*/

/* Global CSS should remain intentionally small. Most design tokens live in theme.json. */


/* DCL v0.2 component foundations */
.dcl-hero,.dcl-cta{padding:clamp(3rem,7vw,7.5rem) 0}
.dcl-hero__inner,.dcl-cta__inner,.dcl-metrics__inner{width:min(100% - 48px,1360px);margin-inline:auto}
.dcl-hero__content{max-width:820px}.dcl-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.78rem;color:#005BC4}
.dcl-hero__title{font-size:clamp(2.5rem,1.9rem + 2.3vw,4.6rem);line-height:1.05;margin:.35em 0}.dcl-hero__lead{font-size:clamp(1.12rem,1.04rem + .25vw,1.3rem);max-width:760px}
.dcl-button{display:inline-flex;align-items:center;gap:.5rem;background:#005BC4;color:#fff;text-decoration:none;font-weight:600;padding:14px 22px;border-radius:4px;margin-top:1.25rem}.dcl-button:hover{filter:brightness(.92);color:#fff}
.dcl-cta{background:#1C2B39;color:#fff}.dcl-cta__content{max-width:820px}.dcl-cta h2{color:#fff}
.dcl-card{height:100%;border:1px solid #DDE3E8;border-radius:6px;padding:24px;background:#fff}.dcl-card__meta{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:#6B7785}.dcl-card__link{display:inline-flex;margin-top:16px;font-weight:600;text-decoration:none}
.dcl-metrics{padding:48px 0}.dcl-metrics__grid{display:grid;grid-template-columns:repeat(var(--dcl-metric-count,4),minmax(0,1fr));gap:24px}.dcl-metric__value{font-size:clamp(2rem,1.6rem + 1.4vw,3.2rem);font-weight:700;line-height:1;color:#1C2B39}.dcl-metric__label{margin-top:8px;color:#6B7785}
.dcl-breadcrumbs{font-size:.86rem;color:#6B7785;margin:18px 0}.dcl-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:0}.dcl-breadcrumbs li:not(:last-child)::after{content:'›';margin-left:.45rem;color:#6B7785}.dcl-breadcrumbs a{text-decoration:none}
@media (max-width:767px){.dcl-hero__inner,.dcl-cta__inner,.dcl-metrics__inner{width:min(100% - 32px,1360px)}.dcl-metrics__grid{grid-template-columns:1fr 1fr}.dcl-hero,.dcl-cta{padding:64px 0}}
@media (max-width:520px){.dcl-metrics__grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:no-preference){.dcl-button,.dcl-card{transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}.dcl-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(28,43,57,.08)}}


/* DCL v0.3 integration components */
.dcl-header{position:relative;z-index:30;background:#fff;border-bottom:1px solid #DDE3E8}.dcl-header__inner{width:min(100% - 48px,1360px);margin-inline:auto;min-height:82px;display:flex;align-items:center;gap:28px}.dcl-header__brand{flex:0 0 auto}.dcl-header__nav{margin-left:auto}.dcl-brand-logo img{display:block;height:auto;max-width:100%}.dcl-language-switcher ul{display:flex;gap:10px;list-style:none;margin:0;padding:0}.dcl-language-switcher a,.dcl-language-switcher span{font-size:.82rem;font-weight:600;text-decoration:none}.dcl-language-switcher .is-current{color:#005BC4}
.dcl-footer{background:#1C2B39;color:#fff;padding:72px 0 30px}.dcl-footer__inner{width:min(100% - 48px,1360px);margin-inline:auto}.dcl-footer__top{display:grid;grid-template-columns:minmax(220px,1fr) minmax(280px,2fr);gap:56px;align-items:start}.dcl-footer a{color:#fff}.dcl-footer__legal{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.72)}
.dcl-process{padding:64px 0}.dcl-process__inner,.dcl-ecosystem__inner,.dcl-related__inner,.dcl-insights-listing__inner,.dcl-contact-form__inner{width:min(100% - 48px,1360px);margin-inline:auto}.dcl-process__steps{counter-reset:dcl-step;display:grid;grid-template-columns:repeat(var(--dcl-step-count,5),minmax(0,1fr));gap:18px;margin-top:32px}.dcl-process__step{position:relative;border-top:2px solid #DDE3E8;padding:22px 10px 10px 0}.dcl-process__step:before{counter-increment:dcl-step;content:counter(dcl-step,decimal-leading-zero);display:block;color:#005BC4;font-weight:700;margin-bottom:12px}.dcl-process--vertical .dcl-process__steps{grid-template-columns:1fr}.dcl-process--compact .dcl-process__step{padding-top:14px}
.dcl-ecosystem{padding:64px 0;background:#F6F8FA}.dcl-ecosystem__diagram{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:20px;margin-top:30px;align-items:stretch}.dcl-ecosystem__node{border:1px solid #DDE3E8;background:#fff;border-radius:6px;padding:22px;min-height:130px}.dcl-ecosystem__node-type{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:#6B7785}.dcl-ecosystem__arrow{display:none}
.dcl-related{padding:64px 0}.dcl-related__grid,.dcl-insights-listing__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}.dcl-related__empty{color:#6B7785}.dcl-insights-listing{padding:64px 0}.dcl-insights-filters{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 30px}.dcl-insights-filter{border:1px solid #DDE3E8;background:#fff;padding:9px 14px;border-radius:999px;cursor:pointer;font:inherit}.dcl-insights-filter.is-active{background:#1C2B39;color:#fff;border-color:#1C2B39}.dcl-insight-item[hidden]{display:none!important}.dcl-insight-card__type{font-size:.75rem;text-transform:uppercase;letter-spacing:.07em;color:#005BC4}
.dcl-contact-form{padding:64px 0}.dcl-contact-form .gform_wrapper{max-width:900px}.dcl-contact-form .gfield_label{font-weight:600}.dcl-contact-form input,.dcl-contact-form textarea,.dcl-contact-form select{border:1px solid #C9D2DA;border-radius:3px;min-height:46px}.dcl-contact-form .gform_button{background:#005BC4!important;color:#fff!important;border:0!important;padding:14px 22px!important;font-weight:600!important}.dcl-contact-form__notice{border:1px dashed #C9D2DA;padding:20px;color:#6B7785}
.dcl-vim-pilot .wp-block-group{scroll-margin-top:100px}
@media(max-width:900px){.dcl-header__inner{flex-wrap:wrap;padding:14px 0}.dcl-header__nav{order:3;width:100%;margin-left:0}.dcl-footer__top{grid-template-columns:1fr}.dcl-process__steps{grid-template-columns:1fr 1fr}.dcl-related__grid,.dcl-insights-listing__grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.dcl-header__inner,.dcl-footer__inner,.dcl-process__inner,.dcl-ecosystem__inner,.dcl-related__inner,.dcl-insights-listing__inner,.dcl-contact-form__inner{width:min(100% - 32px,1360px)}.dcl-process__steps,.dcl-related__grid,.dcl-insights-listing__grid{grid-template-columns:1fr}.dcl-footer{padding-top:56px}}


/* DCL v0.5 — canonical navigation + single language switcher */
.dcl-main-nav{margin-left:auto}.dcl-main-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}.dcl-main-nav a{color:#1C2B39;text-decoration:none;font-size:.9rem;font-weight:500;white-space:nowrap}.dcl-main-nav a:hover{color:#005BC4}.dcl-language-switcher{flex:0 0 auto}.dcl-language-switcher ul{display:flex;gap:6px;align-items:center}.dcl-language-switcher li{display:flex;align-items:center;gap:6px}.dcl-lang-sep{color:#A2ADB7}.dcl-language-switcher a,.dcl-language-switcher span.is-current{font-size:.78rem;letter-spacing:.03em}.dcl-footer .dcl-main-nav{margin-left:0}.dcl-footer .dcl-main-nav ul{flex-wrap:wrap}.dcl-footer .dcl-main-nav a{color:#fff}.dcl-header-cta .dcl-button{margin-top:0;white-space:nowrap}
@media(max-width:1080px){.dcl-header__inner{gap:16px}.dcl-main-nav ul{gap:14px}.dcl-main-nav a{font-size:.82rem}}
@media(max-width:900px){.dcl-main-nav{order:4;width:100%;margin-left:0}.dcl-main-nav ul{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 0}.dcl-language-switcher{margin-left:auto}.dcl-header-cta{order:3}.dcl-footer .dcl-main-nav{order:initial;width:auto}.dcl-footer .dcl-main-nav ul{flex-direction:row;gap:16px}}


/* DCL v0.7 — T03 visual QA */
.dcl-breadcrumbs{width:min(100% - 48px,1360px);margin:28px auto 0;padding:0;font-size:.84rem;line-height:1.4}
.dcl-hero--detail{padding:86px 0 96px}
.dcl-hero--detail .dcl-hero__inner{display:grid;grid-template-columns:minmax(0,760px) minmax(280px,1fr);gap:72px;align-items:center}
.dcl-hero--detail .dcl-hero__content{max-width:760px}
.dcl-hero__subtitle{font-size:clamp(1.05rem,1rem + .18vw,1.18rem);line-height:1.55;max-width:760px}
.dcl-hero__lead{line-height:1.6;margin-top:18px}
.dcl-hero__media{min-height:360px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.dcl-hero__media img{width:100%;height:100%;object-fit:cover;display:block}
.dcl-main-nav ul{gap:18px}.dcl-main-nav a{font-size:.86rem}
@media(max-width:1180px){.dcl-main-nav ul{gap:12px}.dcl-main-nav a{font-size:.78rem}.dcl-header__inner{gap:14px}}
@media(max-width:900px){.dcl-hero--detail .dcl-hero__inner{grid-template-columns:1fr;gap:42px}.dcl-hero--detail{padding:64px 0 72px}.dcl-breadcrumbs{width:min(100% - 32px,1360px)}}


/* DCL v0.8 — T03 hero + section alignment */
.single-solution .wp-block-post-content > .wp-block-group.alignwide,
.single-solution .wp-block-post-content > .wp-block-columns.alignwide,
.single-solution .wp-block-post-content > .wp-block-heading.alignwide,
.single-solution .wp-block-post-content > .wp-block-paragraph.alignwide{
  width:min(100% - 48px,1360px);
  margin-inline:auto;
}
.single-solution .wp-block-post-content > .wp-block-group.alignwide{
  box-sizing:border-box;
}
.single-solution .wp-block-post-content > .wp-block-group.alignwide:not(.has-background){
  padding-left:0;
  padding-right:0;
}
.single-solution .wp-block-post-content > .wp-block-group.alignwide + .wp-block-group.alignwide{
  margin-top:0;
}
.dcl-hero--detail{padding:92px 0 100px}
.dcl-hero--detail .dcl-hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px}
.dcl-hero--detail .dcl-hero__content{max-width:680px}
.dcl-hero--detail .dcl-hero__media{min-height:460px;background:#F5F7F9}
.dcl-hero--detail .dcl-hero__media img{aspect-ratio:4/3;object-fit:cover}
.dcl-vim-pilot > .wp-block-group.alignwide{width:min(100% - 48px,1360px);margin-inline:auto}
.dcl-vim-pilot > .wp-block-group.alignwide:not(.has-background){padding-top:100px!important;padding-bottom:100px!important}
.dcl-vim-pilot > .wp-block-group.alignwide.has-background{padding-top:100px!important;padding-bottom:100px!important}
@media(max-width:900px){
 .single-solution .wp-block-post-content > .wp-block-group.alignwide,
 .single-solution .wp-block-post-content > .wp-block-columns.alignwide,
 .dcl-vim-pilot > .wp-block-group.alignwide{width:min(100% - 32px,1360px)}
 .dcl-hero--detail{padding:64px 0 72px}
 .dcl-hero--detail .dcl-hero__media{min-height:300px}
 .dcl-vim-pilot > .wp-block-group.alignwide:not(.has-background),
 .dcl-vim-pilot > .wp-block-group.alignwide.has-background{padding-top:72px!important;padding-bottom:72px!important}
}


/* DCL v0.9 — T03 hero balance */
.dcl-hero--detail{padding:58px 0 96px}
.dcl-hero--detail .dcl-hero__inner{grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);gap:64px}
.dcl-hero--detail .dcl-hero__content{max-width:620px}
.dcl-hero--detail .dcl-hero__media{min-height:480px}
.dcl-hero--detail .dcl-hero__media img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:900px){
 .dcl-hero--detail{padding:52px 0 72px}
 .dcl-hero--detail .dcl-hero__inner{grid-template-columns:1fr;gap:40px}
 .dcl-hero--detail .dcl-hero__content{max-width:760px}
 .dcl-hero--detail .dcl-hero__media{min-height:300px}
}
