/*
Theme Name: Safer Tomorrows Elementor — Complete
Theme URI: https://example.com/
Author: OpenAI
Description: Complete Elementor-ready Safer Tomorrows theme with navy/gold centered layout, gallery/events navigation, About and Crisis training media, and built-in Contact, Request Training, and Request Quote forms.
Version: 4.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: safer-tomorrows-elementor
*/

:root {
  --st-navy: #071D36;
  --st-navy-2: #0D2D4D;
  --st-blue: #173D63;
  --st-green: #D4AF37;
  --st-green-dark: #B58A1F;
  --st-ink: #102B47;
  --st-muted: #647182;
  --st-soft: #F8F5ED;
  --st-line: #E8DFC9;
  --st-white: #ffffff;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--st-ink);
  background: #F1EEE5;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.55;
}

/* v1.5: centered layout retained; navy-and-gold brand palette. */
.st-site-header,
.st-content,
.st-site-footer {
  width: 100%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
.st-site-header, .st-content, .st-site-footer {
  box-shadow: 0 0 34px rgba(6, 43, 73, .07);
}
.st-content { background:#fff; }
a { color: inherit; }
img { max-width: 100%; height: auto; }

.st-site-header {
  background: #fff;
  position: relative;
  z-index: 50;
  box-shadow: 0 1px 0 rgba(4,43,73,.08);
}
.st-topbar {
  max-width: 1180px;
  margin: 0 auto;
  min-height: 82px;
  padding: 8px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.st-brand { display:flex; align-items:center; gap:18px; text-decoration:none; }
.st-brand img { width: 286px; max-height: 72px; object-fit: contain; object-position: left center; }
.st-brand-text { font-weight:800; color:var(--st-navy); font-size:13px; line-height:1.08; letter-spacing:.04em; border-left:1px solid #D9C9A8; padding-left:18px; text-transform:uppercase; }
.st-top-services { font-size:12px; color:var(--st-navy); white-space:nowrap; }
.st-nav-wrap { background: linear-gradient(90deg, #0B2A49, #06172C); }
.st-nav-inner { max-width:1180px; margin:0 auto; padding:0 22px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.st-primary-menu { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; }
.st-primary-menu li { margin:0; }
.st-primary-menu a { display:block; color:#fff; text-decoration:none; font-size:13px; font-weight:700; padding:17px 16px; }
.st-primary-menu a:hover, .st-primary-menu .current-menu-item > a { background:rgba(255,255,255,.08); }
.st-header-cta { display:inline-flex; align-items:center; justify-content:center; min-width:160px; background:var(--st-green); color:#071D36; text-decoration:none; font-weight:800; padding:11px 17px; border-radius:4px; font-size:12px; text-transform:uppercase; }
.st-header-cta:hover { background:var(--st-green-dark); }
.st-menu-toggle { display:none; background:transparent; color:#fff; border:1px solid rgba(255,255,255,.35); border-radius:4px; padding:8px 10px; font-weight:700; }

.st-content { min-height: 50vh; }
.st-default-page { max-width:1180px; margin:0 auto; padding:50px 22px; }

.st-site-footer { background:linear-gradient(90deg,#071D36,#123756); color:#fff; }
.st-footer-main { max-width:1180px; margin:0 auto; padding:30px 22px; display:grid; grid-template-columns:280px 1fr 260px; gap:32px; align-items:center; }
.st-footer-logo img { width:230px; }
.st-footer-contact strong { display:block; margin-bottom:8px; }
.st-footer-contact p { margin:4px 0; font-size:13px; }
.st-footer-tagline { border-left:1px solid rgba(255,255,255,.35); padding-left:26px; font-weight:800; text-transform:uppercase; letter-spacing:.11em; font-size:12px; line-height:1.35; }
.st-footer-bottom { background:#fff; color:#5C6877; }
.st-footer-bottom-inner { max-width:1180px; margin:0 auto; padding:12px 22px; display:flex; justify-content:space-between; gap:20px; font-size:12px; }
.st-footer-links a { text-decoration:none; margin-right:16px; }

@media (max-width: 900px) {
  .st-top-services, .st-brand-text { display:none; }
  .st-topbar { min-height:70px; }
  .st-brand img { width:240px; }
  .st-menu-toggle { display:block; }
  .st-nav-inner { padding-top:8px; padding-bottom:8px; align-items:flex-start; }
  .st-primary-menu { display:none; width:100%; flex-direction:column; }
  .st-primary-menu.st-open { display:flex; }
  .st-primary-menu a { padding:10px 4px; }
  .st-header-cta { margin-left:auto; }
  .st-footer-main { grid-template-columns:1fr; text-align:center; }
  .st-footer-logo img { margin:auto; }
  .st-footer-tagline { border-left:0; border-top:1px solid rgba(255,255,255,.3); padding:18px 0 0; }
  .st-footer-bottom-inner { flex-direction:column; text-align:center; }
}

@media (max-width: 620px) {
  .st-header-cta { display:none; }
  .st-nav-inner { flex-wrap:wrap; }
  .st-primary-menu { order:3; }
  .st-brand img { width:210px; }
}


/* Dropdown navigation */
.st-primary-menu > li { position:relative; }
.st-primary-menu .sub-menu { display:none; position:absolute; top:100%; left:0; z-index:60; min-width:285px; margin:0; padding:7px 0; list-style:none; background:#fff; box-shadow:0 12px 28px rgba(6,43,73,.18); border-top:3px solid var(--st-green); }
.st-primary-menu .sub-menu li { width:100%; }
.st-primary-menu .sub-menu a { color:var(--st-navy); padding:11px 16px; font-size:12px; line-height:1.35; white-space:normal; }
.st-primary-menu .sub-menu a:hover { background:var(--st-soft); color:var(--st-blue); }
.st-primary-menu li:hover > .sub-menu, .st-primary-menu li:focus-within > .sub-menu { display:block; }
.st-primary-menu .menu-item-has-children > a:after { content:' ▾'; font-size:10px; opacity:.8; }
.st-footer-links ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px 16px; }
.st-footer-links li { margin:0; }
.st-footer-links a { margin:0; }

@media (max-width:900px) {
  .st-primary-menu .sub-menu { display:block; position:static; box-shadow:none; border-top:0; background:rgba(255,255,255,.05); padding:2px 0 6px 16px; min-width:0; }
  .st-primary-menu .sub-menu a { color:#fff; padding:8px 4px; font-weight:500; }
  .st-primary-menu .sub-menu a:hover { background:transparent; color:var(--st-green); }
}


/* v1.3 Elementor page-width repair */
body.elementor-page .st-content { overflow-x: clip; }
body.elementor-page .st-default-page { max-width:none; margin:0; padding:0; }
body.elementor-page .elementor { width:100%; max-width:none; }


/* ===== v1.4 Entire-site centering ===== */
@media (min-width: 1281px) {
  body { padding: 0 24px; }
}
@media (max-width: 1280px) {
  body { background:#fff; }
  .st-site-header, .st-content, .st-site-footer { max-width:none; box-shadow:none; }
}

/* v1.5 navy + gold refinements; retains v1.4 centered site shell */
:root { --st-gold:#D4AF37; --st-gold-hover:#F2D174; --st-gold-ink:#85610F; }
.st-nav-wrap { border-bottom:3px solid var(--st-gold); }
.st-primary-menu a:hover,
.st-primary-menu .current-menu-item > a,
.st-primary-menu .current-menu-ancestor > a { background:rgba(212,175,55,.16); color:#F2D174; }
.st-primary-menu .sub-menu a:hover { background:#F8F5ED; color:#85610F; }
.st-header-cta, .st-header-cta:visited { background:var(--st-gold); color:#071D36; }
.st-header-cta:hover, .st-header-cta:focus-visible { background:var(--st-gold-hover); color:#071D36; }
.st-brand-text { border-left-color:var(--st-gold); }
.st-footer-bottom { border-top:2px solid var(--st-gold); }
.st-footer-links a:hover { color:var(--st-gold-ink); }
.st-primary-menu .sub-menu { border-top-color:var(--st-gold); }
/* Site setup plugin form colors are scoped here so existing forms also update. */
.st-web-form input:focus, .st-web-form select:focus, .st-web-form textarea:focus {
    border-color:#B58A1F; outline:2px solid rgba(212,175,55,.22);
}
.st-web-form button, .st-fallback-button { background:#D4AF37 !important; color:#071D36 !important; }
.st-web-form button:hover, .st-fallback-button:hover { background:#F2D174 !important; }
@media (max-width:900px) {
    .st-primary-menu .sub-menu a:hover { color:#F2D174; background:transparent; }
}


/* v1.6: clickable, keyboard-accessible top-service navigation on every screen. */
.st-top-services {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0;
  flex-wrap: wrap;
  line-height: 1.4;
}
.st-top-services a { color:var(--st-navy); text-decoration:none; font-size:12px; font-weight:700; white-space:nowrap; padding:7px 5px; border-radius:3px; }
.st-top-services a + a::before { content:"|"; color:#9C7A26; margin:0 10px 0 0; font-weight:400; }
.st-top-services a:hover, .st-top-services a:focus-visible { color:#85610F; text-decoration:underline; text-underline-offset:3px; }
.st-top-services a:focus-visible { outline:2px solid var(--st-gold); outline-offset:2px; }
@media (max-width:900px) {
  .st-topbar { flex-wrap:wrap; justify-content:center; gap:2px; padding-bottom:8px; }
  .st-top-services { display:flex; width:100%; justify-content:center; row-gap:0; }
  .st-top-services a { font-size:11px; }
}
@media (max-width:420px) {
  .st-top-services a { font-size:10.5px; padding:5px 3px; }
  .st-top-services a + a::before { margin-right:6px; }
}

/* v1.7: gallery and events update. Both header CTAs remain visible, centered and responsive. */
.st-header-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.st-header-actions .st-header-cta{min-width:120px;padding:10px 12px;margin:0}
.st-header-events,.st-header-events:visited{display:inline-flex;align-items:center;justify-content:center;min-width:140px;padding:9px 13px;border:1.5px solid #D4AF37;color:#F2D174;background:transparent;border-radius:4px;font-weight:800;font-size:12px;text-decoration:none;text-transform:uppercase;white-space:nowrap}
.st-header-events:hover,.st-header-events:focus-visible{background:#D4AF37;color:#071D36}
.st-primary-menu>li>a{padding-left:12px;padding-right:12px}
@media(max-width:1080px){.st-nav-inner{gap:9px}.st-primary-menu>li>a{padding-left:9px;padding-right:9px;font-size:12px}.st-header-events{min-width:116px;padding:9px 8px;font-size:11px}.st-header-actions .st-header-cta{min-width:105px;font-size:11px;padding:10px 8px}}
@media(max-width:900px){.st-header-actions{margin-left:auto}.st-header-events{min-width:0}.st-header-actions .st-header-cta{min-width:0;margin:0}}
@media(max-width:620px){.st-header-actions{gap:6px}.st-header-events,.st-header-actions .st-header-cta{display:inline-flex;min-width:0;padding:8px 9px;font-size:10px}.st-nav-inner{align-items:center}.st-primary-menu{order:3}}
@media(max-width:380px){.st-header-events,.st-header-actions .st-header-cta{font-size:9px;padding:7px 6px}}

/* Fallback gallery when Elementor is temporarily disabled. */
.st-gallery-fallback{display:inline-block;margin:8px;max-width:31%;vertical-align:top}.st-gallery-fallback img{width:100%;height:230px;object-fit:cover;border-radius:10px}@media(max-width:700px){.st-gallery-fallback{display:block;max-width:100%}}

/* v1.8: Gallery button now sits immediately beside Crisis Prevention in the top strip. */
.st-top-services .st-gallery-quick-link,
.st-top-services .st-gallery-quick-link:visited {
  margin: 0 3px;
  padding: 5px 10px;
  background: var(--st-gold);
  border: 1px solid var(--st-gold);
  border-radius: 5px;
  color: var(--st-navy);
  font-weight: 800;
  text-decoration: none;
}
.st-top-services .st-gallery-quick-link:hover,
.st-top-services .st-gallery-quick-link:focus-visible {
  background: var(--st-gold-hover);
  color: var(--st-navy);
  text-decoration: none;
}
.st-top-services a.st-gallery-quick-link::before {
  content: none;
  margin: 0;
}
.st-top-services a.st-gallery-quick-link + a::before {
  content: none;
}
@media (max-width: 420px) {
  .st-top-services .st-gallery-quick-link { padding: 5px 7px; margin: 0 2px; }
}

/* v1.9: Gallery button precedes Crisis Prevention in the top service row. */

/* Request Training link: keep this native anchor keyboard- and pointer-accessible. */
.st-header-actions .st-header-cta { position:relative; z-index:2; pointer-events:auto; }
.st-header-actions .st-header-cta:focus-visible { outline:3px solid #fff; outline-offset:3px; }

/* ===== v3.0 complete site update ===== */
/* Hide the retired Who We Train block if an older Elementor copy remains cached. */
.elementor .st-who-cta { display:none !important; }

.stc-kicker{margin:0 0 8px;color:#997417;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.stc-about-profile,.stc-about-training,.stc-crisis-gallery,.stc-gallery-section,.stc-events-section,.stc-service-page,.stc-form-wrap{width:min(1120px,calc(100% - 44px));margin:42px auto;padding:34px;border:1px solid #E7DECA;border-radius:14px;background:#fff;box-shadow:0 10px 30px rgba(7,29,54,.07)}
.stc-about-profile{display:grid;grid-template-columns:190px 1fr;gap:32px;align-items:start;border-left:5px solid #D4AF37;background:#F8F5ED}
.stc-about-photo img{display:block;width:180px;height:180px;object-fit:cover;border-radius:16px;border:4px solid #D4AF37;box-shadow:0 9px 24px rgba(7,29,54,.14)}
.stc-about-copy h2,.stc-about-training h2,.stc-crisis-gallery h2,.stc-gallery-section h2,.stc-events-section h1,.stc-service-page h1,.stc-form-wrap h2{margin:0 0 14px;color:#071D36;font-weight:900;line-height:1.08}
.stc-about-copy p,.stc-about-training p,.stc-crisis-gallery p,.stc-gallery-section p,.stc-events-section p,.stc-service-page p,.stc-form-wrap p{color:#31475D;line-height:1.75}
.stc-about-training h3,.stc-service-card h2,.stc-events-card h2{color:#0D2D4D}
.stc-topic-list{columns:2;column-gap:42px;margin:20px 0 24px;padding-left:24px}.stc-topic-list li{break-inside:avoid;margin:0 0 12px;color:#233B54;font-weight:600}
.stc-principles{padding:18px 20px;border-left:4px solid #D4AF37;background:#F8F5ED;border-radius:0 8px 8px 0}
.stc-photo-grid,.stc-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px}
.stc-photo-grid figure,.stc-gallery-grid figure{margin:0;overflow:hidden;border-radius:12px;border:1px solid #E7DECA;background:#fff;box-shadow:0 8px 22px rgba(7,29,54,.08)}
.stc-photo-grid img,.stc-gallery-grid img{display:block;width:100%;height:260px;object-fit:cover}
.stc-gallery-grid figcaption{padding:12px 14px;color:#071D36;font-size:13px;font-weight:800}
.stc-home-gallery{background:#F8F5ED;padding:1px 0 22px}
.stc-events-card,.stc-service-card{margin-top:24px;padding:26px;border-left:5px solid #D4AF37;border-radius:0 10px 10px 0;background:#F8F5ED}
.stc-service-card ul{padding-left:22px;color:#233B54;line-height:1.7}
.stc-gold-button,.stc-gold-button:visited{display:inline-flex;align-items:center;justify-content:center;margin-top:8px;padding:13px 20px;border-radius:5px;background:#D4AF37;color:#071D36!important;font-weight:900;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.03em}.stc-gold-button:hover{background:#F2D174}

.stc-form-wrap{max-width:900px;border-top:5px solid #D4AF37}
.stc-form-wrap form{display:block;margin-top:20px}.stc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.stc-form-wrap label{display:block;margin:13px 0;color:#071D36;font-weight:700}.stc-form-wrap input,.stc-form-wrap select,.stc-form-wrap textarea{display:block;width:100%;margin-top:6px;padding:12px 13px;border:1px solid #9EACBC;border-radius:6px;background:#fff;color:#071D36;font:inherit}.stc-form-wrap input:focus,.stc-form-wrap select:focus,.stc-form-wrap textarea:focus{border-color:#B58A1F;outline:2px solid rgba(212,175,55,.22)}
.stc-form-wrap button{margin-top:18px;padding:14px 22px;border:0;border-radius:6px;background:#D4AF37;color:#071D36;font-weight:900;cursor:pointer}.stc-form-wrap button:hover{background:#F2D174}.stc-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.stc-form-notice{margin:15px 0;padding:12px 14px;border-radius:6px;font-weight:700}.stc-success{background:#E8F5EA;color:#17572A}.stc-error{background:#FFF0ED;color:#8A2A1E}

/* Keep the full site centered on wide screens and the Elementor canvas inside the same shell. */
body.elementor-page .elementor-location-single,body.elementor-page main.st-content>.elementor,body.elementor-page .elementor-page{max-width:1280px;margin-left:auto;margin-right:auto}

@media(max-width:800px){.stc-about-profile{grid-template-columns:1fr}.stc-about-photo img{width:150px;height:150px}.stc-topic-list{columns:1}.stc-photo-grid,.stc-gallery-grid{grid-template-columns:1fr 1fr}.stc-form-grid{grid-template-columns:1fr}}
@media(max-width:560px){.stc-about-profile,.stc-about-training,.stc-crisis-gallery,.stc-gallery-section,.stc-events-section,.stc-service-page,.stc-form-wrap{width:calc(100% - 24px);margin:24px auto;padding:20px}.stc-photo-grid,.stc-gallery-grid{grid-template-columns:1fr}.stc-photo-grid img,.stc-gallery-grid img{height:240px}}

/* v3.1: Featured training photo on Crisis Prevention & De-Escalation page. */
.stc-crisis-feature-photo {
  max-width: 1180px;
  margin: 38px auto 18px;
  padding: 28px;
  background: linear-gradient(135deg, var(--st-navy), var(--st-navy-2));
  border-top: 5px solid var(--st-green);
  text-align: center;
}
.stc-crisis-feature-photo .stc-kicker { color: var(--st-green); }
.stc-crisis-feature-photo h2 { color: #fff; margin: 4px 0 10px; }
.stc-crisis-feature-photo > p:not(.stc-kicker) { color: rgba(255,255,255,.88); max-width: 760px; margin: 0 auto 22px; }
.stc-crisis-feature-frame {
  max-width: 720px;
  margin: 0 auto;
  padding: 10px;
  background: #fff;
  border: 3px solid var(--st-green);
  box-shadow: 0 18px 42px rgba(0,0,0,.24);
}
.stc-crisis-feature-frame img {
  display: block;
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .stc-crisis-feature-photo { margin-top: 22px; padding: 20px 14px; }
  .stc-crisis-feature-frame { padding: 6px; }
}


/* v3.4: automatic page visuals for pages that otherwise have no imagery. */
.stc-page-visual{width:min(1120px,calc(100% - 44px));margin:28px auto 42px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);overflow:hidden;border:1px solid #E7DECA;border-radius:14px;background:#071D36;box-shadow:0 10px 30px rgba(7,29,54,.10)}
.stc-page-visual-image{min-height:330px;background:#0D2D4D}
.stc-page-visual-image img{display:block;width:100%;height:100%;min-height:330px;object-fit:cover}
.stc-page-visual-copy{display:flex;flex-direction:column;justify-content:center;padding:34px;color:#fff}
.stc-page-visual-copy .stc-kicker{margin:0 0 8px;color:#D4AF37;font-weight:900;letter-spacing:.12em;font-size:12px}
.stc-page-visual-copy h2{margin:0 0 14px;color:#fff;font-size:clamp(28px,4vw,44px);line-height:1.05}
.stc-page-visual-copy p:last-child{margin:0;color:#E8EDF3;line-height:1.7}
@media(max-width:760px){.stc-page-visual{grid-template-columns:1fr;width:calc(100% - 24px);margin:24px auto}.stc-page-visual-image,.stc-page-visual-image img{min-height:250px}.stc-page-visual-copy{padding:24px}}


/* v3.6: Recent Events feature on the home page with a wide, fully visible photo. */
.stc-recent-event {
  max-width: 1180px;
  margin: 54px auto;
  padding: 0 22px;
}
.stc-recent-event-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  background: linear-gradient(135deg, #071D36 0%, #0D2D4D 100%);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 55px rgba(7, 29, 54, .18);
}
.stc-recent-event-image {
  background: #06172C;
  padding: 18px 18px 0;
}
.stc-recent-event-image img {
  width: 100%;
  height: auto;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  display: block;
  border-radius: 12px;
}
.stc-recent-event-copy {
  padding: 30px 36px 38px;
  color: #fff;
}
.stc-recent-event-copy .stc-kicker { color: #D4AF37; margin-bottom: 8px; }
.stc-recent-event-copy h2 {
  color: #fff;
  font-size: clamp(2rem, 3.2vw, 3.25rem);
  line-height: 1.08;
  margin: 0 0 24px;
}
.stc-recent-event-copy p {
  color: rgba(255,255,255,.91);
  font-size: 15px;
  line-height: 1.7;
  margin: 0 0 15px;
}
.stc-recent-event-copy p strong { font-weight: 600; }
@media (max-width: 860px) {
  .stc-recent-event-copy { padding: 16px 28px 34px; }
  .stc-recent-event-image { padding: 14px 14px 0; }
}
@media (max-width: 560px) {
  .stc-recent-event { padding: 0 14px; margin: 34px auto; }
  .stc-recent-event-copy { padding: 14px 20px 26px; }
  .stc-recent-event-copy p { font-size: 14px; }
  .stc-recent-event-image { padding: 10px 10px 0; }
}


/* v4.1 CPR page diagrams and pictures */
.stc-cpr-training-media{max-width:1120px;margin:34px auto 0;padding:0 20px}
.stc-cpr-training-media h2{margin:0 0 12px;color:var(--st-ink);font-size:clamp(28px,4vw,42px);line-height:1.08}
.stc-cpr-training-media>p{max-width:900px;color:var(--st-muted);line-height:1.75}
.stc-cpr-photo-card{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px;align-items:center;background:#fff;border:1px solid #E3E8EE;border-radius:20px;overflow:hidden;box-shadow:0 16px 36px rgba(7,29,54,.08);margin:22px 0 28px}
.stc-cpr-photo-card img{width:100%;height:100%;min-height:320px;object-fit:cover;display:block}
.stc-cpr-photo-card div{padding:28px}
.stc-cpr-photo-card h3{margin:0 0 12px;color:var(--st-ink);font-size:clamp(24px,3vw,32px)}
.stc-cpr-photo-card p{margin:0;color:var(--st-muted);line-height:1.75}
.stc-cpr-diagram-grid{display:grid;grid-template-columns:1fr;gap:26px}
.stc-cpr-diagram{margin:0;background:#fff;border:1px solid #E3E8EE;border-radius:20px;padding:14px;box-shadow:0 16px 36px rgba(7,29,54,.08)}
.stc-cpr-diagram img{width:100%;height:auto;display:block;border-radius:12px}
.stc-cpr-diagram figcaption{padding:14px 6px 4px;color:var(--st-muted);line-height:1.7}
.stc-cpr-diagram figcaption strong{color:var(--st-ink)}
.stc-cpr-note{margin-top:26px}
@media(max-width:820px){.stc-cpr-photo-card{grid-template-columns:1fr}.stc-cpr-photo-card img{min-height:240px}}
@media(max-width:560px){.stc-cpr-training-media{padding:0 14px}.stc-cpr-photo-card div{padding:20px}.stc-cpr-diagram{padding:10px}}


/* v4.2 Elementor editing compatibility */
.elementor-page .st-default-page{max-width:none;margin:0;padding:0}
.page-template-elementor-full-width .site-main,.page-template-elementor-full-width main{max-width:none;width:100%;padding:0;margin:0}
.st-elementor-canvas{margin:0;background:#fff}
.elementor-editor-active .stc-page-visual,.elementor-editor-active .stc-cpr-training-media{outline:1px dashed rgba(212,175,55,.35)}
