/*
Theme Name: Human Care Lab — Spectra One
Description: Tema figlio istituzionale HCL. Blocchi WordPress nativi.
Template: spectra-one
Version: 1.0.1
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: human-care-lab
License: GPL-2.0-or-later
*/
:root { --hcl-navy:#0A233F; --hcl-ivory:#F7F4EF; --hcl-sage:#6F8270; --hcl-terra:#C98B68; }
html { scroll-behavior:auto; }
body { margin:0; font-family:Inter,sans-serif; color:var(--hcl-navy); background:#fff; }
*,*::before,*::after { box-sizing:border-box; }
img { max-width:100%; height:auto; }
a { text-underline-offset:.22em; }
a:hover { text-decoration-thickness:2px; }
:where(a,button,input,textarea,select,summary):focus-visible { outline:3px solid var(--hcl-navy); outline-offset:5px; }
.hcl-skip { position:absolute; top:-100px; left:1rem; z-index:100000; padding:1rem; background:#fff; color:var(--hcl-navy); }
.hcl-skip:focus { top:1rem; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > * { margin-block-start:0; }
.hcl-header { border-bottom:1px solid var(--hcl-ivory); padding:1.5rem clamp(1.25rem,4vw,4rem); }
.hcl-header-inner { max-width:1200px!important; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.hcl-header-inner > * { margin:0!important; }
.hcl-logo { width:250px; flex:0 1 250px; }
.hcl-logo img { display:block; width:100%; }
.hcl-navigation { flex:0 0 auto; }
.hcl-navigation button { min-width:48px; min-height:48px; border-radius:0; }
.hcl-navigation .wp-block-navigation-item__content { padding:.65rem .25rem; text-decoration:none; }
.hcl-navigation .wp-block-navigation-item__content:hover { text-decoration:underline; }
.hcl-main { padding:0!important; }
.hcl-section,.hcl-hero { padding:clamp(3rem,7vw,6rem) clamp(1.25rem,4vw,4rem); margin:0!important; }
.hcl-hero > *, .hcl-section > * { max-width:1200px!important; margin-left:auto!important; margin-right:auto!important; }
.hcl-hero h1 { max-width:1000px!important; margin-left:0!important; }
.hcl-hero { max-width:1328px; margin:auto!important; }
.hcl-hero .hcl-lead { max-width:790px!important; margin-left:0!important; }
.hcl-home-hero { padding-block:clamp(3.5rem,8vw,7rem); }
.hcl-lead { font-size:clamp(1.15rem,2vw,1.4rem); line-height:1.65; font-weight:400; }
.hcl-section > p { max-width:760px!important; margin-left: max(0px, calc((100% - 1200px) / 2))!important; }
.hcl-section h2 { max-width:900px!important; margin-left:max(0px, calc((100% - 1200px) / 2))!important; }
.hcl-section h3 { margin-block-start:2rem; }
.hcl-ivory { background:var(--hcl-ivory); }
.hcl-role { font-size:.9375rem; font-weight:600; }
.hcl-principles { font-size:1.375rem; line-height:1.8; }
.hcl-complementary { padding:2rem 0 0; border-top:1px solid var(--hcl-sage); }
.hcl-section.hcl-complementary { padding:clamp(3rem,7vw,6rem) clamp(1.25rem,4vw,4rem); }
.hcl-closing { border-top:3px solid var(--hcl-terra); }
.hcl-portrait { max-width:320px; margin:0 0 2rem!important; }
.hcl-portrait img { display:block; aspect-ratio:1; object-fit:cover; }
.hcl-concepts h2 { font-size:1.5rem; font-weight:600; margin-top:2.5rem; }
.hcl-entry { border-top:1px solid var(--hcl-sage); padding-block:2rem; }
.hcl-post-meta { font-size:.9375rem; display:flex; flex-wrap:wrap; gap:1rem; margin-block:2rem; }
.hcl-footer { padding:3rem clamp(1.25rem,4vw,4rem); background:var(--hcl-ivory); }
.hcl-footer-inner { max-width:1200px!important; margin:auto; font-size:.9375rem; }
.hcl-footer-inner > p:first-child { font-weight:600; margin-bottom:.3rem; }
.hcl-footer-links { display:flex; flex-wrap:wrap; gap:1.25rem; margin-top:1.5rem; }
.hcl-form { max-width:760px; }
.hcl-form label { display:block; font-weight:600; margin-bottom:.5rem; }
.hcl-form input,.hcl-form textarea { display:block; width:100%; font:inherit; color:var(--hcl-navy); border:1px solid var(--hcl-sage); border-radius:0; padding:.8rem; background:#fff; }
.hcl-form p { margin-bottom:1.5rem; }
.hcl-form button { border:0; background:var(--hcl-navy); color:#fff; font:inherit; font-weight:600; padding:1rem 1.5rem; cursor:pointer; min-height:48px; }
.hcl-form small { display:block; font-size:.9375rem; }
.hcl-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip-path:inset(50%); }
.hcl-notice { padding:1rem; border-left:3px solid var(--hcl-sage); background:var(--hcl-ivory); }
.hcl-contact-data { margin-bottom:2rem; }
@media(min-width:1100px) { .hcl-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:block!important; position:relative; } .hcl-navigation .wp-block-navigation__responsive-container-open { display:none!important; } }
@media(max-width:1099px) { .hcl-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; } .hcl-navigation .wp-block-navigation__responsive-container-open { display:flex!important; } }
@media(max-width:781px) { .hcl-header { padding-block:1rem; } .hcl-logo { max-width:210px; } .hcl-section .wp-block-columns { gap:2rem; } .hcl-section .wp-block-column { margin:0; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
.hcl-main > .wp-block-post-content { max-width:none!important; width:100%; }
.wp-block-post-content > .hcl-section { max-width:none!important; width:100%; }
.wp-block-post-content > .hcl-hero { max-width:1328px!important; width:100%; }
.hcl-main :is(h1,h2) { font-weight:300; letter-spacing:-.025em; }
.hcl-main h3,.hcl-main .hcl-concepts h2 { font-weight:600; letter-spacing:0; }
h1.wp-block-heading,h2.wp-block-heading { font-weight:300; letter-spacing:-.025em; }
h3.wp-block-heading,.hcl-concepts h2.wp-block-heading { font-weight:600; letter-spacing:0; }
.hcl-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close { display:none!important; }

/* Keep CTA colors explicit in every interactive state, overriding parent defaults. */
.wp-block-button .wp-block-button__link:is(:hover, :focus, :active) {
    background-color:var(--hcl-navy);
    color:#FFFFFF;
    border-color:var(--hcl-navy);
}
.wp-block-button .wp-block-button__link:hover {
    text-decoration:underline;
    text-underline-offset:.22em;
}
.wp-block-button .wp-block-button__link:focus-visible {
    outline:3px solid var(--hcl-navy);
    outline-offset:5px;
}
