/* swb-trainer: the single shared component body, front-end + editor. */
.swb-trainer.swb-trainer{box-sizing:border-box;margin:0!important;padding:64px 24px!important;background:#F5F5F5;color:#47372B;line-height:1.85;text-align:left}
.swb-trainer *{box-sizing:border-box}
.swb-trainer .swb-trainer__inner{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;max-width:1112px;margin:0 auto!important;padding:0}
.swb-trainer .swb-trainer__portrait{position:relative;align-self:start;width:220px;max-width:100%;margin:0!important}
.swb-trainer figure{padding:0;margin:0!important;line-height:0}
.swb-trainer .swb-trainer__photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:12px}
.swb-trainer .swb-trainer__badge{position:absolute;right:-12px;bottom:18px;width:92px;max-width:42%}
.swb-trainer .swb-trainer__badge img{display:block;width:100%;height:auto;object-fit:contain}
.swb-trainer .swb-trainer__body{min-width:0;margin:0!important}
.swb-trainer p{margin:0;color:#47372B;font-size:16px;text-align:left;word-break:normal;overflow-wrap:anywhere}
.swb-trainer.swb-trainer :where(p){line-height:1.85}
.swb-trainer .swb-trainer__kicker{margin:0 0 12px!important;font-size:13px;font-weight:700;letter-spacing:2.08px}
.swb-trainer.swb-trainer h2{margin:8px 0 14px!important;padding:0!important;border:0!important;background:none;color:#47372B;font-size:25px!important;font-weight:800;line-height:1.45;text-align:left}
.swb-trainer h2::before,.swb-trainer h2::after{display:none!important}
.swb-trainer .swb-trainer__lead{margin:0 0 24px!important;font-size:15px;line-height:2.5}
.swb-trainer .swb-trainer__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0!important;padding:0}
.swb-trainer .swb-trainer__fact{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;margin:0!important;padding:13px 15px;background:#FFFFFF;border:1px solid #DED7D1;border-radius:10px;min-width:0}
.swb-trainer .swb-trainer__icon{width:46px;max-width:100%}
.swb-trainer .swb-trainer__icon img{display:block;width:46px;height:46px;object-fit:contain}
.swb-trainer .swb-trainer__fact-text{min-width:0;margin:0!important}
.swb-trainer .swb-trainer__fact-title{font-size:14.5px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 4px!important}
.swb-trainer .swb-trainer__fact-description{font-size:13px;line-height:1.7;color:#6B5B50;margin:0!important}
.swb-trainer a{color:#47372B;text-decoration:underline;text-underline-offset:4px}
.swb-trainer a:focus-visible{outline:3px solid #A43704;outline-offset:3px}
@media(max-width:900px){.swb-trainer .swb-trainer__inner{grid-template-columns:minmax(0,1fr);gap:40px}.swb-trainer .swb-trainer__portrait{width:280px}}
@media(max-width:600px){.swb-trainer.swb-trainer{padding:40px 20px!important}.swb-trainer .swb-trainer__inner{gap:28px}.swb-trainer .swb-trainer__facts{grid-template-columns:minmax(0,1fr)}.swb-trainer .swb-trainer__badge{right:-8px}}
/* Existing content variants; scoped to the approved trainer component. */
.swb-trainer.is-style-plain{background:transparent}
.swb-trainer .swb-trainer__fact--text-only{grid-template-columns:minmax(0,1fr)}
.swb-trainer .swb-trainer__section-kicker{max-width:1112px;margin:0 auto 12px!important;font-size:13px;font-weight:700;letter-spacing:2.08px}
.swb-trainer.swb-trainer .swb-trainer__section-title{max-width:1112px;margin:8px auto 32px!important;font-size:30px!important;line-height:1.45}
@media(max-width:900px){.swb-trainer.swb-trainer .swb-trainer__section-title{font-size:23px!important}}
.swb-trainer .swb-trainer__profile{margin:24px 0 0!important;font-size:15px}
.swb-trainer .swb-trainer__footnote{max-width:1112px;margin:24px auto 0!important;font-size:13px;color:#6B5B50;line-height:1.85}
.swb-trainer h2 .swb-trainer__phrase{white-space:nowrap}
.swb-trainer.swb-trainer .swb-trainer__profile a,.swb-trainer.swb-trainer .swb-trainer__footnote a{color:#A43704;text-decoration:underline;text-underline-offset:3px}
/* Preserve the legacy h3 contract on the component itself, including standalone copies. */
.swb-trainer.swb-trainer h3.wp-block-heading::before,.swb-trainer.swb-trainer h3.wp-block-heading::after{content:none;display:none}
.swb-trainer.swb-trainer h3.wp-block-heading{margin:0 0 6px;padding:0!important;border:0!important;background:none;color:#47372B;font-size:25px;line-height:1.5}

/* 0.1.6: existing service HTML stays owned by its shortcode. */
.swb-trainer .sw-tnext-v1{margin:22px 0 0}
.swb-trainer .sw-tnext-v1 .sw-tnext-v1__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.swb-trainer .sw-tnext-v1 .sw-tnext-v1__list a{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 14px;border:1px solid #DED7D1;border-radius:10px;background:#FFFFFF;color:#47372B;text-decoration:none}
.swb-trainer .sw-tnext-v1 .sw-tnext-v1__list a:hover{background:#F5F5F5}
.swb-trainer .sw-tnext-v1 .sw-tnext-v1__list picture{display:block;flex:0 0 44px;width:44px;height:44px;line-height:0}
.swb-trainer .sw-tnext-v1 .sw-tnext-v1__list img{display:block;flex:0 0 44px;width:44px;height:44px;object-fit:contain}
.swb-trainer .sw-tnext-v1 .sw-tnext-v1__list span{min-width:0}
.swb-trainer .sw-tnext-v1 .sw-tnext-v1__list b{display:block;color:#47372B;font-size:15px;font-weight:800;line-height:1.4}
.swb-trainer .sw-tnext-v1 .sw-tnext-v1__list small{display:block;margin-top:2px;color:#6B5B50;font-size:13px;line-height:1.5}
.swb-trainer .sw-tnext-v1 .sw-tnext-v1__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.swb-trainer .sw-tnext-v1 a.sw-tnext-v1__btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;max-width:100%;padding:14px 26px;border-radius:8px;font-size:16px;font-weight:800;line-height:1.45;text-align:center;text-decoration:none;overflow-wrap:anywhere}
.swb-trainer .sw-tnext-v1 a.sw-tnext-v1__btn small{display:block;margin-top:3px;font-size:13px;font-weight:500;line-height:1.5}
.swb-trainer .sw-tnext-v1 a.sw-tnext-v1__btn--p{border:1px solid #A43704;background:#A43704;color:#FFFFFF}
.swb-trainer .sw-tnext-v1 a.sw-tnext-v1__btn--p:hover{border-color:#873003;background:#873003}
.swb-trainer .sw-tnext-v1 a.sw-tnext-v1__btn--s{border:1px solid #47372B;background:#FFFFFF;color:#47372B}
.swb-trainer .sw-tnext-v1 a.sw-tnext-v1__btn--s small{color:#6B5B50}
.swb-trainer .sw-tnext-v1 a.sw-tnext-v1__btn--s:hover{border-color:#32271F;background:#F5F5F5;color:#32271F}
@media(max-width:900px){.swb-trainer .sw-tnext-v1 .sw-tnext-v1__list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.swb-trainer .sw-tnext-v1 a.sw-tnext-v1__btn{width:100%}}

/* Checked list is an explicit role; ordinary and nested lists remain standard. */
.swb-trainer ul.swb-trainer__list{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;margin:0 0 4px;padding:0;list-style:none}
.swb-trainer ul.swb-trainer__list>li{position:relative;padding-left:29px;margin:0;color:#47372B;font-size:16px;line-height:1.8}
.swb-trainer ul.swb-trainer__list>li::before{content:"";position:absolute;left:7px;top:6px;width:6px;height:12px;border:solid #47372B;border-width:0 2px 2px 0;rotate:43deg}
.swb-trainer.is-style-compact-profile .swb-trainer__inner{grid-template-columns:104px minmax(0,1fr);gap:24px}
.swb-trainer.is-style-compact-profile .swb-trainer__portrait,.swb-trainer.is-style-compact-profile .swb-trainer__photo,.swb-trainer.is-style-compact-profile .swb-trainer__photo img{width:104px;max-width:100%}
.swb-trainer.is-style-compact-profile .swb-trainer__photo img{height:auto;object-fit:contain}
.swb-profile-placement{padding:0;margin-block:0}
@media(max-width:600px){.swb-trainer.is-style-compact-profile .swb-trainer__inner{grid-template-columns:minmax(0,1fr);gap:16px}.swb-trainer.is-style-compact-profile .swb-trainer__portrait,.swb-trainer.is-style-compact-profile .swb-trainer__photo,.swb-trainer.is-style-compact-profile .swb-trainer__photo img{width:88px}}
@media(max-width:480px){.swb-trainer.swb-trainer.is-style-compact-profile{box-sizing:border-box;width:100%;padding:0 16px!important}.swb-trainer.is-style-compact-profile .swb-trainer__inner{display:flex;flex-direction:column;align-items:stretch;gap:16px;width:100%;max-width:none}.swb-trainer.is-style-compact-profile .swb-trainer__portrait{flex:0 0 auto}.swb-trainer.is-style-compact-profile .swb-trainer__body{width:100%;min-width:0;max-width:none}.swb-trainer.is-style-compact-profile .swb-trainer__body p{text-wrap:pretty}.swb-profile-placement{box-sizing:border-box;width:calc(100% + 32px);max-width:none;margin-inline:-16px;padding:0}}

/* Article signature only. Keep the existing default/plain/compact contracts. */
.swb-trainer.swb-trainer.is-style-article-profile{padding:28px!important;border:1px solid #DED7D1;border-radius:8px;background:#F5F5F5}
.swb-trainer.is-style-article-profile .swb-trainer__inner{grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:start;margin-top:20px!important}
.swb-trainer.is-style-article-profile .swb-trainer__portrait{width:150px}
.swb-trainer.is-style-article-profile .swb-trainer__photo img{width:150px;height:200px;max-width:100%;aspect-ratio:3 / 4;object-fit:contain;border-radius:0}
.swb-trainer.is-style-article-profile .swb-trainer__body>p{font-size:20px;line-height:1.5;margin:0 0 16px}
.swb-trainer.is-style-article-profile ul{margin:0;padding-left:1.25em;font-size:15px;line-height:1.85}
.swb-trainer.is-style-article-profile li{margin:0 0 8px}
.swb-trainer.is-style-article-profile .swb-trainer__details{margin-top:24px!important;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0}
.swb-trainer.is-style-article-profile .swb-trainer__details>p{font-size:14px;line-height:1.85}
.swb-trainer.is-style-article-profile .wp-block-buttons{margin:0;justify-content:flex-end}
.swb-trainer.is-style-article-profile .wp-block-button__link{display:inline-block;background:#FFFFFF;color:#47372B;border:1px solid #47372B;border-radius:3px;padding:12px 24px;font-size:15px;line-height:1.5;text-decoration:none}
.swb-trainer.is-style-article-profile .wp-block-button__link:hover{background:#F5F5F5;color:#32271F}
@media(max-width:600px){.swb-trainer.swb-trainer.is-style-article-profile{padding:20px!important}.swb-trainer.is-style-article-profile .swb-trainer__inner{grid-template-columns:minmax(0,1fr);gap:20px}.swb-trainer.is-style-article-profile .swb-trainer__portrait{width:150px}.swb-trainer.is-style-article-profile .swb-trainer__body{width:100%}}

/* Classic group rendering may add an inner-container. Keep it out of the grid. */
.swb-trainer.is-style-article-profile .swb-trainer__inner>.wp-block-group__inner-container,
.swb-trainer.is-style-article-profile .swb-trainer__details>.wp-block-group__inner-container{display:contents}

.swb-trainer.swb-trainer.is-style-article-profile .wp-block-button__link:focus{outline:3px solid #A43704;outline-offset:3px}
