/* FindMyCert design system v0.2.0: accessible, light and readable, theme-native. */
:root { --fmc-navy:#102d3c; --fmc-dark:#0c2534; --fmc-teal:#087783; --fmc-teal-deep:#06616c; --fmc-mist:#eaf6f5; --fmc-ivory:#f9f9f6; --fmc-border:#dbe7e7; --fmc-slate:#526974; --fmc-ink:#142f3e; --fmc-focus:#f7c66c; }
body:not(.wp-admin) { color:var(--fmc-ink); }
body:not(.wp-admin) a { text-underline-offset: .17em; }
body:not(.wp-admin) a:focus-visible, body:not(.wp-admin) button:focus-visible, body:not(.wp-admin) input:focus-visible, body:not(.wp-admin) select:focus-visible { outline:3px solid var(--fmc-focus); outline-offset:3px; }
body:not(.wp-admin) .entry-content a:not(.wp-block-button__link) { color:var(--fmc-teal-deep); }
body:not(.wp-admin) .entry-content a:not(.wp-block-button__link):hover { color:var(--fmc-navy); }
#header .ct-menu-link { font-size: .92rem; font-weight:650; letter-spacing:.005em; }
#header .site-title, #header [data-id="logo"] .site-title { font-size: 1.35rem; font-weight:800; letter-spacing:-.035em; }
body:not(.wp-admin) .entry-content p, body:not(.wp-admin) .entry-content li { font-size:clamp(1rem,.4vw + .87rem,1.08rem); line-height:1.72; }
body:not(.wp-admin) .entry-content h2 { color:var(--fmc-navy); letter-spacing:-.026em; }
body:not(.wp-admin) .entry-content h3 { color:var(--fmc-navy); letter-spacing:-.015em; }
body:not(.wp-admin) .entry-content .wp-block-button__link { background:var(--fmc-teal); border-radius:10px; padding: .84rem 1.25rem; font-weight:700; box-shadow:none; color:#fff; text-decoration:none; }
body:not(.wp-admin) .entry-content .wp-block-button__link:hover { background:var(--fmc-teal-deep); }
body:not(.wp-admin) .entry-content .is-style-outline > .wp-block-button__link { color:var(--fmc-teal-deep); background:transparent; border:1.5px solid var(--fmc-teal); }

/* Public landing page. Hide Blocksy page-title hero because the actual H1 is in the redesigned content. */
body.home .hero-section, body.page-id-12 .hero-section { display:none; }
body.home .entry-header, body.page-id-12 .entry-header { display:none; }
body.page-id-12 .entry-content { width:min(100%,1200px); max-width:1200px; margin:0 auto; padding-bottom:3rem; }
body.page-id-12 .entry-content > .wp-block-group { margin-bottom:3.8rem; }
.fmc-hero { background:linear-gradient(118deg,#0c2b3d 0%,#0c4350 65%,#126f77 100%); color:#fff; border-radius:26px; padding:clamp(2rem,5.2vw,4.6rem); position:relative; overflow:hidden; box-shadow:0 20px 50px rgba(16,45,60,.12); }
.fmc-hero::before { content:""; position:absolute; width:530px; height:530px; border:1px solid rgba(203,245,235,.16); border-radius:50%; right:-225px; top:-250px; pointer-events:none; }
.fmc-hero::after { content:""; position:absolute; width:390px; height:390px; border:1px solid rgba(203,245,235,.12); border-radius:50%; right:-125px; top:-178px; pointer-events:none; }
.fmc-hero .fmc-hero__columns { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.68fr); gap:clamp(1.6rem,4vw,3.2rem); align-items:center; position:relative; z-index:1; }
.fmc-kicker { display:inline-block; font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.14em; margin-bottom:.85rem; color:var(--fmc-teal-deep); }
.fmc-hero .fmc-kicker { color:#a8e8dd; }
.fmc-hero h1 { color:#fff!important; font-size:clamp(2.35rem,4.4vw,4.15rem)!important; letter-spacing:-.05em; line-height:1.06!important; font-weight:790!important; margin:0 0 1.15rem!important; max-width:16ch; }
.fmc-hero p { color:#dfefed; font-size:clamp(1.08rem,1.55vw,1.25rem)!important; line-height:1.6!important; max-width:51ch; margin-bottom:1.55rem; }
.fmc-hero .fmc-hero__small { font-size:.86rem!important; color:#a9d3cf; margin:1rem 0 0; }
.fmc-hero-search { display:flex; gap:.5rem; max-width:650px; background:#fff; border-radius:12px; padding:6px; box-shadow:0 10px 30px rgba(2,20,27,.18); }
.fmc-hero-search label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.fmc-hero-search input { flex:1; min-width:0; min-height:50px; background:#fff; color:var(--fmc-navy); border:0; padding:.75rem .9rem; border-radius:8px; font-size:1.05rem; }
.fmc-hero-search button { flex:none; padding:.7rem 1.25rem; border:0; border-radius:8px; background:#0b7a87; color:#fff; font-size:.95rem; font-weight:750; cursor:pointer; }
.fmc-hero-search button:hover { background:#045b68; }
.fmc-hero__aside { padding:1.8rem; border-radius:19px; border:1px solid rgba(204,247,240,.22); background:rgba(255,255,255,.09); backdrop-filter:blur(7px); }
.fmc-hero__aside strong { display:block; font-size:.85rem; text-transform:uppercase; letter-spacing:.12em; color:#acdfda; margin-bottom:1rem; }
.fmc-hero__aside a { display:flex; align-items:center; justify-content:space-between; text-decoration:none!important; color:#fff!important; font-size:1.02rem; font-weight:670; border-bottom:1px solid rgba(255,255,255,.17); padding:.65rem 0; }
.fmc-hero__aside a:last-child { border-bottom:0; }
.fmc-hero__aside a:hover { color:#b5ede6!important; }
.fmc-trustline { display:flex; flex-wrap:wrap; gap:1.2rem 2.2rem; justify-content:space-between; border-bottom:1px solid var(--fmc-border); padding:1.8rem .5rem 2rem; margin:0 0 3.6rem!important; }
.fmc-trustline span { display:inline-flex; align-items:center; gap:.55rem; font-size:.91rem; font-weight:650; color:#355461; }
.fmc-trustline b { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#dcf4ee; color:var(--fmc-teal-deep); font-size:1rem; }
.fmc-section { margin-bottom:3.7rem; }
.fmc-section .fmc-section__header { max-width:800px; margin-bottom:1.7rem; }
.fmc-section h2 { font-size:clamp(1.65rem,2.6vw,2.55rem); line-height:1.17; margin:.18rem 0 .9rem; }
.fmc-section .fmc-section__header p { color:var(--fmc-slate); max-width:65ch; margin-bottom:0; }
.fmc-category-grid, .fmc-featured-grid, .fmc-steps-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
.fmc-category-card, .fmc-featured-card { border:1px solid var(--fmc-border); border-radius:17px; background:#fff; padding:1.6rem 1.6rem 1.5rem; min-height:210px; display:flex; flex-direction:column; transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.fmc-category-card:hover, .fmc-featured-card:hover { transform:translateY(-3px); border-color:#a5cbd0; box-shadow:0 15px 30px rgba(16,45,60,.07); }
.fmc-card-icon { display:inline-grid; width:44px; height:44px; place-items:center; border-radius:12px; background:var(--fmc-mist); font-size:1.18rem; color:var(--fmc-teal-deep); margin-bottom:1.05rem; font-weight:750; }
.fmc-category-card h3, .fmc-featured-card h3 { font-size:1.23rem; line-height:1.31; margin:0 0 .65rem; }
.fmc-category-card h3 a, .fmc-featured-card h3 a { color:var(--fmc-navy)!important; text-decoration:none; }
.fmc-category-card h3 a:hover, .fmc-featured-card h3 a:hover { color:var(--fmc-teal)!important; }
.fmc-category-card p, .fmc-featured-card p { font-size:.95rem!important; line-height:1.62!important; color:var(--fmc-slate); margin:0 0 1.2rem; }
.fmc-card-cta { font-weight:750; font-size:.9rem; margin-top:auto; text-decoration:none!important; color:var(--fmc-teal-deep)!important; }
.fmc-featured-card { background:var(--fmc-ivory); min-height:225px; }
.fmc-featured-card .fmc-featured-eyebrow { font-size:.77rem!important; color:var(--fmc-teal-deep); text-transform:uppercase; letter-spacing:.09em; font-weight:800; margin-bottom:.85rem; }
.fmc-steps-grid { counter-reset:fmcstep; }
.fmc-step { padding:1.6rem; background:#f3f8f7; border-radius:15px; }
.fmc-step .fmc-step-number { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; color:var(--fmc-teal-deep); background:#d9f0ed; font-weight:850; margin-bottom:1rem; }
.fmc-step h3 { font-size:1.18rem; margin-bottom:.6rem; }
.fmc-step p { font-size:.95rem!important; color:var(--fmc-slate); margin-bottom:0; }
.fmc-employer-panel { display:flex; justify-content:space-between; align-items:center; gap:2rem; border:1px solid #c9e2e0; padding:clamp(1.5rem,3vw,2.8rem); border-radius:19px; background:linear-gradient(110deg,#e8f6f3,#f6fbfa); }
.fmc-employer-panel h2 { font-size:clamp(1.5rem,2.3vw,2rem); margin:0 0 .65rem; }
.fmc-employer-panel p { color:var(--fmc-slate); margin:0; max-width:62ch; }
.fmc-employer-panel .fmc-cta { white-space:nowrap; border-radius:10px; padding:.85rem 1.25rem; text-decoration:none!important; color:#fff!important; background:var(--fmc-teal); font-weight:750; }
.fmc-employer-panel .fmc-cta:hover { background:var(--fmc-teal-deep); }

/* Training directory: fewer, genuinely readable cards. */
body.page-id-14 .entry-content { width:min(100%,1150px); max-width:1150px; margin:0 auto; }
.fmc-directory { --fmc-line:var(--fmc-border); }
.fmc-directory__filters { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(200px,.65fr) auto; gap:.85rem 1rem; align-items:end; border:1px solid var(--fmc-border); border-radius:16px; padding:1.45rem; background:#f3f8f7; box-shadow:0 5px 24px rgba(9,62,70,.035); }
.fmc-directory__filters label { font-weight:750; font-size:.91rem; grid-row:1; color:var(--fmc-navy); }
.fmc-directory__filters label[for="fmc-area"] { grid-column:2; }
.fmc-directory__filters input { grid-column:1; grid-row:2; min-width:0; }
.fmc-directory__filters select { grid-column:2; grid-row:2; }
.fmc-directory__filters input,.fmc-directory__filters select { min-height:49px; border:1px solid #b9d1d4; border-radius:9px; padding:.7rem .85rem; background:#fff; font-size:1rem; color:var(--fmc-navy); }
.fmc-directory__filters button { grid-column:3; grid-row:2; cursor:pointer; min-height:49px; border:0; border-radius:9px; color:#fff; background:var(--fmc-teal); padding:.7rem 1.35rem; font-weight:750; font-size:.97rem; }
.fmc-directory__filters button:hover { background:var(--fmc-teal-deep); }
.fmc-directory__count { font-size:.88rem!important; font-weight:650; color:var(--fmc-slate); margin:1.7rem 0 1.1rem; }
.fmc-directory__grid, .fmc-course-options .fmc-directory__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.15rem; margin-top:1rem; }
.fmc-topic-card { border:1px solid var(--fmc-border); background:#fff; border-radius:16px; padding:1.6rem; display:flex; flex-direction:column; min-width:0; min-height:255px; transition:box-shadow .18s,border-color .18s,transform .18s; }
.fmc-topic-card:hover { border-color:#a4cacf; box-shadow:0 12px 28px rgba(16,45,60,.07); transform:translateY(-2px); }
.fmc-topic-card h3 { margin:0 0 .8rem; font-size:1.18rem!important; line-height:1.34!important; }
.fmc-topic-card h3 a { color:var(--fmc-navy)!important; text-decoration:none!important; }
.fmc-topic-card h3 a:hover { color:var(--fmc-teal-deep)!important; }
.fmc-topic-card__category { font-size:.77rem!important; font-weight:760; color:var(--fmc-teal-deep); text-transform:uppercase; letter-spacing:.055em; margin:0 0 1rem!important; }
.fmc-topic-card > p:not(.fmc-topic-card__category):not(.fmc-topic-card__price) { font-size:.96rem!important; line-height:1.62!important; color:var(--fmc-slate); margin:0 0 1.3rem; }
.fmc-topic-card__link { display:inline-flex; margin-top:auto; align-items:center; gap:.3rem; text-decoration:none!important; font-size:.93rem; font-weight:780; color:var(--fmc-teal-deep)!important; }
.fmc-directory__pagination { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.8rem 0; }
.fmc-directory__pagination a,.fmc-directory__pagination span { display:inline-block; border:1px solid var(--fmc-border); padding:.4rem .65rem; border-radius:7px; }
.fmc-directory__empty { padding:1.5rem; background:#f3f8f7; border:1px solid var(--fmc-border); border-radius:13px; }
.fmc-course-options__disclosure { font-size:.9rem; color:var(--fmc-slate); }

/* Guide reading experience. */
body.single-fm_topic .entry-content { width:min(100%,830px); max-width:830px; margin-left:auto; margin-right:auto; }
body.single-fm_topic .hero-section, body.single-fm_topic .entry-header { max-width:930px; margin-left:auto; margin-right:auto; }
body.single-fm_topic .entry-content > p:first-child { font-size:1.21rem!important; line-height:1.72!important; color:#3c5663; }
body.single-fm_topic .entry-content p { font-size:1.075rem!important; line-height:1.78!important; margin-top:.5rem; margin-bottom:1.2rem; }
body.single-fm_topic .entry-content h2 { font-size:clamp(1.55rem,2.1vw,1.95rem); line-height:1.26; margin-top:2.15em; margin-bottom:.65em; }
body.single-fm_topic .entry-content h3 { font-size:1.28rem; }
body.single-fm_topic .entry-content a { text-decoration-thickness:1px; }
body.single-fm_topic .entry-meta { display:none!important; }
body.single-fm_topic .fmc-quick-answer { padding:1.35rem 1.6rem; background:#eaf6f5; border:1px solid #c5e2df; border-left:5px solid var(--fmc-teal); border-radius:0 12px 12px 0; margin:1.5rem 0 2.1rem; }
body.single-fm_topic .fmc-quick-answer h2 { font-size:1.18rem; margin:.1rem 0 .45rem; }
body.single-fm_topic .fmc-quick-answer p { margin:0; font-size:1.02rem!important; }
body.single-fm_topic .fmc-guide-details { display:flex; gap:.75rem 1.4rem; flex-wrap:wrap; color:var(--fmc-slate); font-size:.84rem; font-weight:600; margin-bottom:1rem; }
body.single-fm_topic .fmc-guide-details span::before { content:"✓"; color:var(--fmc-teal); margin-right:.4rem; font-weight:900; }
body.single-fm_topic .entry-content .fmc-guide-source { border-top:1px solid var(--fmc-border); padding-top:1.6rem; color:var(--fmc-slate); font-size:.9rem; }
body.single-fm_topic .entry-content .fmc-guide-source p { font-size:.93rem!important; }

/* Replace default CreativeThemes copyright with a real brand footer. */
body #footer.ct-footer, body #footer { display:none!important; }
.fmc-site-footer { background:var(--fmc-navy); color:#c5d6db; margin-top:3rem; padding:3.6rem max(24px,calc((100vw - 1150px) / 2)) 1.2rem; }
.fmc-site-footer__inner { max-width:1150px; margin:0 auto; }
.fmc-site-footer__upper { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:3rem; margin-bottom:3rem; }
.fmc-site-footer__logo { font-weight:850; font-size:1.75rem; letter-spacing:-.05em; color:#fff!important; text-decoration:none!important; }
.fmc-site-footer__logo span { color:#6cdbca; }
.fmc-site-footer__brand p { max-width:39ch; margin:.7rem 0; color:#c5d6db; font-size:1rem; }
.fmc-site-footer__brand .fmc-site-footer__note { color:#9fb6bf; font-size:.88rem; }
.fmc-site-footer__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; }
.fmc-site-footer__links > div { display:flex; flex-direction:column; gap:.65rem; }
.fmc-site-footer__heading { text-transform:uppercase; font-size:.75rem; letter-spacing:.13em; font-weight:850; color:#7be0cd; margin-bottom:.25rem; }
.fmc-site-footer__links a { text-decoration:none; color:#dce9eb!important; font-size:.91rem; }
.fmc-site-footer__links a:hover { color:#7be0cd!important; }
.fmc-site-footer__bottom { display:flex; justify-content:space-between; gap:1rem; border-top:1px solid #30505d; padding-top:1.2rem; font-size:.82rem; color:#a4bcc4; }

@media(max-width:1020px) {
 .fmc-hero .fmc-hero__columns { grid-template-columns:1fr; }
 .fmc-hero__aside { display:none; }
 .fmc-directory__grid,.fmc-course-options .fmc-directory__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .fmc-category-grid,.fmc-featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .fmc-hero { padding:2rem 1.25rem; border-radius:16px; }
 .fmc-hero h1 { font-size:clamp(2rem,8vw,2.9rem)!important; }
 .fmc-hero-search { flex-direction:column; }
 .fmc-hero-search button { min-height:46px; }
 .fmc-trustline { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
 .fmc-steps-grid { grid-template-columns:1fr; }
 .fmc-employer-panel { flex-direction:column; align-items:start; }
 .fmc-employer-panel .fmc-cta { white-space:normal; }
 .fmc-directory__filters { grid-template-columns:1fr; }
 .fmc-directory__filters label,.fmc-directory__filters label[for="fmc-area"],.fmc-directory__filters input,.fmc-directory__filters select,.fmc-directory__filters button { grid-column:1; grid-row:auto; }
 .fmc-site-footer__upper { grid-template-columns:1fr; }
}
@media(max-width:620px) {
 .fmc-category-grid,.fmc-featured-grid,.fmc-directory__grid,.fmc-course-options .fmc-directory__grid { grid-template-columns:1fr; }
 .fmc-site-footer__links { gap:1rem; }
 .fmc-site-footer__bottom { flex-direction:column; }
 .fmc-trustline { grid-template-columns:1fr; }
 .fmc-topic-card { min-height:0; }
}
@media(prefers-reduced-motion:reduce) { .fmc-category-card,.fmc-featured-card,.fmc-topic-card { transition:none; } }
