/* Theme glue: what the block markup needs around components.css (generated from the design system).
   Tokens only; raw values only for 0, 1px hairlines and media queries. */

/* the section blocks are full-width bands with their own padding: no root padding and no gap between them */
.wp-site-blocks > *, .wp-block-post-content > [class*="wp-block-cherradi-"] { margin-block: 0; }
.ch-part-header { display: contents; }
.admin-bar .ch-header { top: var(--wp-admin--admin-bar--height, 0); }
main:focus { outline: none; }

/* body copy colour for the generated markup inside block wrappers */
body { color: var(--wp--preset--color--accent-4); -webkit-font-smoothing: antialiased; }
.ch-person__name a { color: inherit; text-decoration: none; }
.ch-person__name a:hover { color: var(--wp--preset--color--accent-1); }

/* FAQ: core Details blocks styled as an accordion */
.ch-faq { --ch-plus: url(../icons/plus.svg); max-width: calc(var(--wp--custom--layout--content) + 2 * var(--wp--custom--layout--gutter)); }
.ch-faq__list { display: grid; gap: 0; }
.ch-faq .wp-block-details { margin: 0; padding-block: var(--wp--preset--spacing--40); border-bottom: var(--wp--custom--border--hairline) solid var(--wp--preset--color--accent-6); }
.ch-faq .wp-block-details summary { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--40); min-height: var(--wp--custom--control--min); cursor: pointer; list-style: none; color: var(--wp--preset--color--contrast); font-size: var(--wp--preset--font-size--large); font-weight: var(--wp--custom--font-weight--semibold); }
.ch-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.ch-faq .wp-block-details summary::after { content: ""; flex: none; width: var(--wp--custom--icon--sm); height: var(--wp--custom--icon--sm); background: var(--wp--preset--color--accent-1); -webkit-mask: var(--ch-plus) center / contain no-repeat; mask: var(--ch-plus) center / contain no-repeat; transition: transform var(--wp--custom--transition--base); }
.ch-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.ch-faq .wp-block-details summary:focus-visible { outline: var(--wp--custom--border--focus) solid var(--wp--preset--color--focus); outline-offset: var(--wp--custom--border--focus-offset); }
.ch-faq .wp-block-details > :not(summary) { margin: var(--wp--preset--spacing--30) 0 0; }

/* project page */
.ch-project-page { padding-top: calc(var(--wp--custom--layout--header-height) + var(--wp--preset--spacing--60)); }
.ch-project-page .ch-section-head { max-width: var(--wp--custom--layout--hero-copy); margin-bottom: var(--wp--preset--spacing--60); }
.ch-project-page__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--wp--preset--spacing--60); align-items: start; }
.ch-project-page__shot img { width: 100%; height: auto; border-radius: var(--wp--custom--radius--image); border: var(--wp--custom--border--hairline) solid var(--wp--preset--color--accent-6); }
.ch-project-page__facts { position: sticky; top: calc(var(--wp--custom--layout--header-height) + var(--wp--preset--spacing--40)); gap: var(--wp--preset--spacing--40); }
.ch-project-page__facts .ch-info { grid-template-columns: 1fr; }
.ch-project-page__main { display: grid; gap: var(--wp--preset--spacing--60); min-width: 0; }
.ch-project-page__content { display: grid; gap: var(--wp--preset--spacing--30); max-width: var(--wp--custom--layout--hero-copy); }
.ch-project-page__content > * { margin: 0; }
.ch-project-page__content h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: var(--wp--preset--spacing--30); }
.ch-project-page__content ul { padding-left: var(--wp--preset--spacing--40); display: grid; gap: var(--wp--preset--spacing--20); }
.ch-project-page__content strong { color: var(--wp--preset--color--contrast); }
.ch-project-page__more { margin: var(--wp--preset--spacing--80) 0 var(--wp--preset--spacing--50); }
.ch-archive { padding-top: calc(var(--wp--custom--layout--header-height) + var(--wp--preset--spacing--60)); }
@media (max-width: 1023px) { .ch-project-page__grid { grid-template-columns: 1fr; } .ch-project-page__facts { position: static; order: -1; } /* phones: facts and buttons before the long screenshot */ }

/* simple pages (legal, 404) */
.ch-page-plain { padding-block: calc(var(--wp--custom--layout--header-height) + var(--wp--preset--spacing--60)) var(--wp--preset--spacing--80); }

/* editor: show the finished state (no entrance, no reveal), never the hidden mobile menu */
.editor-styles-wrapper [data-reveal], .editor-styles-wrapper .ch-enter > * { opacity: 1; transform: none; animation: none; }
.editor-styles-wrapper .ch-bar__fill { transform: scaleX(1); }
.editor-styles-wrapper .ch-menu, .editor-styles-wrapper .ch-skip { display: none; }
.editor-styles-wrapper .ch-header { position: relative; }
.editor-styles-wrapper .ch-hero { min-height: var(--wp--custom--layout--hero-min); }

/* FR / EN switcher */
.ch-lang { display: flex; align-items: center; gap: var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--small); font-weight: var(--wp--custom--font-weight--semibold); }
.ch-lang a { display: inline-grid; place-items: center; min-width: var(--wp--custom--control--min); min-height: var(--wp--custom--control--min); color: var(--wp--preset--color--accent-4); text-decoration: none; letter-spacing: var(--wp--custom--letter-spacing--badge); }
.ch-lang a:hover { color: var(--wp--preset--color--contrast); }
.ch-lang a[aria-current="true"] { color: var(--wp--preset--color--accent-1); }
.ch-lang a + a { border-left: var(--wp--custom--border--hairline) solid var(--wp--preset--color--accent-6); }
.ch-header .ch-lang--menu { display: none; }
.ch-menu .ch-lang a { font-size: var(--wp--preset--font-size--large); min-width: calc(var(--wp--custom--control--min) * 1.5); }


/* header with the FR / EN switcher: never wrap the name or the buttons, tighter menu spacing on medium screens */
.ch-brand, .ch-button, .ch-nav a { white-space: nowrap; }
@media (max-width: 1365px) { .ch-header .ch-nav { gap: var(--wp--preset--spacing--40); } .ch-header__end { gap: var(--wp--preset--spacing--20); } }
@media (max-width: 1199px) { .ch-header .ch-nav { gap: var(--wp--preset--spacing--30); } .ch-header .ch-nav a { font-size: var(--wp--preset--font-size--x-small); } }

/* language dropdown in the header (desktop); the phone menu keeps the languages side by side */
.ch-langdrop { position: relative; }
.ch-langdrop__btn { display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--20); min-height: var(--wp--custom--control--min); padding: 0 var(--wp--preset--spacing--30); border: var(--wp--custom--border--hairline) solid var(--wp--preset--color--accent-6); border-radius: var(--wp--custom--radius--button); background: transparent; color: var(--wp--preset--color--contrast); font: inherit; font-size: var(--wp--preset--font-size--small); font-weight: var(--wp--custom--font-weight--semibold); cursor: pointer; transition: border-color var(--wp--custom--transition--fast), color var(--wp--custom--transition--fast); }
.ch-langdrop__btn:hover, .ch-langdrop__btn[aria-expanded="true"] { border-color: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--accent-1); }
.ch-langdrop__caret { transition: transform var(--wp--custom--transition--fast); }
.ch-langdrop__btn[aria-expanded="true"] .ch-langdrop__caret { transform: rotate(180deg); }
.ch-langdrop__list { position: absolute; right: 0; top: calc(100% + var(--wp--preset--spacing--20)); z-index: var(--wp--custom--z--overlay); min-width: calc(var(--wp--custom--layout--partner-logo) + var(--wp--preset--spacing--60)); margin: 0; padding: var(--wp--preset--spacing--20); list-style: none; background: var(--wp--preset--color--surface); border: var(--wp--custom--border--hairline) solid var(--wp--preset--color--accent-6); border-radius: var(--wp--custom--radius--card); box-shadow: var(--wp--preset--shadow--lg); }
.ch-langdrop__list a { display: flex; align-items: center; gap: var(--wp--preset--spacing--30); min-height: var(--wp--custom--control--min); padding: 0 var(--wp--preset--spacing--30); border-radius: var(--wp--custom--radius--input); color: var(--wp--preset--color--contrast); text-decoration: none; font-size: var(--wp--preset--font-size--small); }
.ch-langdrop__list a:hover, .ch-langdrop__list a:focus-visible { background: var(--wp--preset--color--accent-5); color: var(--wp--preset--color--accent-1); }
.ch-langdrop__list a[aria-current="true"] { color: var(--wp--preset--color--accent-1); }
.ch-langdrop__list a .ch-icon { margin-left: auto; }
.ch-langdrop__code { min-width: var(--wp--custom--icon--md); font-weight: var(--wp--custom--font-weight--semibold); color: var(--wp--preset--color--accent-4); }
.ch-langdrop__list a[aria-current="true"] .ch-langdrop__code { color: inherit; }
@media (max-width: 1023px) { .ch-langdrop { display: none; } }
