/* 1.4: explicit card action rows prevent flex-basis/wrap overflow. */
body.cgc-child-theme .cgc-ce-card .cgc-ce-body .cgc-ce-actions {
 display:grid;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;
 width:100%;min-width:0;gap:.75rem;align-items:stretch;justify-items:stretch;
}
body.cgc-child-theme .cgc-ce-card .cgc-ce-actions > .cgc-view-details-btn {
 grid-column:1;grid-row:1;box-sizing:border-box;min-width:0;max-width:100%;
 min-height:48px;white-space:normal;overflow-wrap:anywhere;text-align:center;
}
body.cgc-child-theme .cgc-ce-card .cgc-ce-body .cgc-ce-actions > .cgc-registration-actions {
 grid-column:1;grid-row:2;display:flex;flex-direction:column;flex-wrap:nowrap;
 flex:initial;width:100%;min-width:0;max-width:100%;gap:0;align-items:flex-start;
}
body.cgc-child-theme .cgc-ce-card .cgc-ce-actions .cgc-registration-actions > a {
 box-sizing:border-box;min-width:0;max-width:100%;white-space:normal;
 overflow-wrap:anywhere;min-height:44px;font-size:.9375rem;line-height:1.6;margin:0;
}
/* Shared rhythm and readable long text across the coded information pages. */
body.cgc-child-theme :is(.cgc-about-page,.cgc-services-page,.cgc-contact-page) :is(h2,h3) {text-wrap:balance;overflow-wrap:break-word}
body.cgc-child-theme :is(.cgc-about-page,.cgc-services-page,.cgc-contact-page) p {line-height:1.8}
body.cgc-child-theme :is(.cgc-who-right,.cgc-sdeep-body,.cgc-faq-answer) :is(ul,ol) {padding-inline-start:1.4em;line-height:1.8}
body.cgc-child-theme :is(.cgc-who-right,.cgc-sdeep-body,.cgc-faq-answer) li + li {margin-top:.5em}
/* Blog teaser proportions and consistent card typography. */
body.cgc-child-theme .cgc-blog-grid {align-items:stretch}
body.cgc-child-theme .cgc-blog-card {display:flex;flex-direction:column;min-width:0}
body.cgc-child-theme .cgc-blog-thumb {height:auto;min-height:150px;aspect-ratio:16 / 9}
body.cgc-child-theme .cgc-blog-body {display:flex;flex:1;flex-direction:column;gap:.75rem}
body.cgc-child-theme .cgc-blog-body :is(h4,p,.cgc-blog-category) {margin:0}
body.cgc-child-theme .cgc-blog-body h4 {font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.35;color:#0b1f4b;text-wrap:balance}
body.cgc-child-theme .cgc-blog-body p {color:#4b5c78;line-height:1.8}
body.cgc-child-theme .cgc-blog-category {color:#795519;font-size:.75rem;letter-spacing:.1em}
/* Native WordPress articles: reading measure applies to text, not wide media. */
body.cgc-child-theme.single-post .entry-content {font-size:1.0625rem;line-height:1.85;overflow-wrap:break-word}
body.cgc-child-theme.single-post .entry-content > :is(p,ul,ol,blockquote,h2,h3,h4) {max-width:70ch;margin-inline:auto}
body.cgc-child-theme.single-post .entry-content :is(h2,h3,h4) {line-height:1.3;margin-top:1.8em;margin-bottom:.65em;color:#0b1f4b;text-wrap:balance}
body.cgc-child-theme.single-post .entry-content a {text-decoration:underline;text-underline-offset:.18em}
body.cgc-child-theme.single-post .entry-content blockquote {border-inline-start:3px solid #b8873b;padding:1rem 1.5rem;background:#faf9f5;color:#263854}
body.cgc-child-theme.single-post .entry-content img {max-width:100%;height:auto;border-radius:10px}
/* Directory cards and filters: distinct surfaces, legible credentials and spacing. */
body.cgc-child-theme .gc-gallery-page .gc-pgrid {gap:1.25rem;background:transparent;border:0;align-items:stretch}
body.cgc-child-theme .gc-gallery-page .gc-p-card {padding:1.25rem;min-width:0}
body.cgc-child-theme .gc-gallery-page .gc-p-portrait {border-radius:10px;object-position:center top}
body.cgc-child-theme .gc-gallery-page .gc-p-card .gc-name {font-size:1.125rem;line-height:1.4}
body.cgc-child-theme .gc-gallery-page .gc-p-card .gc-prenom {color:#795519;font-size:.875rem;line-height:1.7;margin-block:.5rem}
body.cgc-child-theme .gc-gallery-page .gc-p-bio {font-size:1rem;line-height:1.75;color:#4b5c78}
body.cgc-child-theme .gc-gallery-page .gc-p-link {display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;margin-top:auto}
body.cgc-child-theme .gc-gallery-page .gc-filter-rail {background:#faf9f5}
body.cgc-child-theme .gc-gallery-page .gc-toolbar {min-width:0}
body.cgc-child-theme .gc-gallery-page .gc-search-box {border-radius:8px;min-width:0}
body.cgc-child-theme .gc-gallery-page .gc-grid-meta {font-size:.9375rem;color:#4b5c78;line-height:1.6}
body.cgc-child-theme .cgc-profile-body {padding:clamp(1.25rem,4vw,3rem)}
body.cgc-child-theme .cgc-profile-bio p + p {margin-top:1.25em}
@media(max-width:640px) {
 body.cgc-child-theme .gc-gallery-page .gc-grid-wrap {padding:1.5rem 1.25rem 3rem}
 body.cgc-child-theme .gc-gallery-page .gc-toolbar {display:grid;grid-template-columns:minmax(0,1fr)}
 body.cgc-child-theme .gc-gallery-page .gc-toolbar > * {width:100%;min-width:0;box-sizing:border-box}
 body.cgc-child-theme .gc-gallery-page .gc-pgrid {grid-template-columns:minmax(0,1fr)}
}

/* Mobile resilience: long labels, legal links and form columns remain in bounds. */
body.cgc-child-theme .cgc-footer-legal {flex-wrap:wrap;row-gap:8px}
body.cgc-child-theme :is(.cgc-footer-grid,.cgc-ce-body,.gc-feat-nameplate,.cgc-profile-identity) {min-width:0}
body.cgc-child-theme :is(.cgc-footer,.cgc-ce-card,.gc-feat-card,.cgc-profile-page) a {overflow-wrap:anywhere}
body.cgc-child-theme .cgc-ce-card .cgc-view-details-btn:focus-visible {outline:3px solid #fff;outline-offset:4px}
body.cgc-child-theme.single-post .entry-content pre {max-width:100%;overflow-x:auto}
@media(max-width:640px) {
 body.cgc-child-theme .ccg-reg .ccg-row {grid-template-columns:minmax(0,1fr);gap:0}
 body.cgc-child-theme .ccg-reg :is(input,select,textarea) {min-width:0;max-width:100%}
}
