body.ems-shell:has(.ema){background:#f5f7f8;color:#172b24}.ema{--tblr-primary:#176345;--tblr-primary-rgb:23,99,69;--tblr-link-color:#176345;--tblr-body-font-family:Inter,system-ui,sans-serif;font-family:var(--tblr-body-font-family);font-size:16px;line-height:1.6}.ema a{color:#176345;text-underline-offset:4px}.ema .btn-primary{background:#176345;border-color:#176345;color:white}.ema .btn-primary:hover{background:#104b34}.ema .btn-outline-primary{color:#176345;border-color:#176345}.ema .btn-outline-primary:hover{background:#e6efe9;color:#123f2e}.ema .btn{min-height:44px;white-space:normal;font-weight:600}.ema :is(a,button):focus-visible{outline:3px solid #176345;outline-offset:4px}.ema ::selection{background:#cbe4d7}.ema-top{min-height:84px;box-shadow:none;border-bottom:1px solid #dce4df;background:#fff}.ema-top .container-xl{display:flex;justify-content:space-between;gap:16px}.ema .navbar-brand{font-size:25px;font-weight:800;letter-spacing:-.03em;color:#172b24;text-decoration:none}.ema-brand-dot{color:#176345}.ema-brand-caption{font-size:12px;font-weight:500;letter-spacing:0;margin-left:16px;padding-left:16px;border-left:1px solid #dce4df}.ema-layout{display:grid;grid-template-columns:196px minmax(0,1fr);gap:42px;padding-top:40px;padding-bottom:48px}.ema-sidebar .nav{gap:8px}.ema-sidebar .nav-link{padding:12px 16px;font-weight:600;border-radius:8px}.ema-sidebar .nav-link.active{background:#e2eee7;color:#104b34}.ema-sidebar-note{margin:42px 16px 0;font-size:13px;color:#4e6158}.ema-sidebar-note p{margin-top:8px}.ema-main{min-width:0}.ema-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.ema h1{font-size:34px;line-height:1.2;letter-spacing:-.025em;margin:0 0 10px;font-weight:700}.ema-heading p,.ema-section-heading p{color:#52635b;margin:0}.ema-avatar{background:#e0ebe4;color:#176345;flex-shrink:0;width:48px;height:48px}.ema .card{border:1px solid #dce4df;border-radius:12px;box-shadow:none;overflow:hidden}.ema .card-body{padding:24px}.ema .card-title{font-size:20px;line-height:1.35;font-weight:700;margin:12px 0 18px}.ema .card-title a{color:#172b24;text-decoration:none}.ema .card-title a:hover{text-decoration:underline}.ema-empty .card-body{padding:40px}.ema-empty h2{font-size:25px;margin-bottom:12px}.ema-empty p{max-width:58ch;color:#52635b;margin-bottom:24px}.ema-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.ema-cover{width:100%;height:auto;aspect-ratio:32/21;object-fit:contain;background:#eef1e9;display:block}.ema-product .card-body{display:flex;flex-direction:column}.ema-product-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#52635b;align-items:center}.ema-access{background:#e4f0e8;color:#175638;letter-spacing:0}.ema-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:auto}.ema-related{margin-top:48px}.ema-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.ema-section-heading h2{font-size:23px;margin:0 0 8px}.ema-section-heading>a{flex-shrink:0;font-size:14px;font-weight:600}.ema-recommendations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ema-recommendations .card-body{padding:18px}.ema-recommendations .card-title{font-size:18px}.ema-summary{font-size:14px;color:#52635b;margin-bottom:22px}.ema-price{font-variant-numeric:tabular-nums;width:100%;font-size:17px}.ema-help{margin-top:40px;border-top:1px solid #dce4df;padding-top:22px;font-size:14px;color:#52635b}.ema-help p{margin:5px 0 0;max-width:70ch}.ema .ems-store{padding:0;margin:0;max-width:none}.ema .ems-google-login{max-width:640px;width:100%;margin:0}.ema .ems-google-login h2{font-size:26px}.ema .ems-google-login p{font-size:16px}.ema-profile dd{overflow-wrap:anywhere;margin-bottom:18px}.ema-profile dt{font-size:13px;color:#52635b}.ema-back{display:inline-block;margin-bottom:20px}.ema-lesson h2{font-size:27px;margin-bottom:24px}.ema-lesson h3{font-size:20px}.ema-lesson iframe{display:block;max-width:100%;width:100%;height:auto;aspect-ratio:16/9;border:0;margin:24px 0}.ema-lesson img{max-width:100%;height:auto}.ema-files{margin-top:28px}.ema-progress{border-top:1px solid #dce4df;margin-top:28px;padding-top:24px}.ema .table{font-size:14px}.ema-purchase{margin-bottom:24px!important}.ema .table td{white-space:normal}.ema .table th{white-space:nowrap}.ema .text-secondary{color:#52635b!important}
@media(max-width:1100px){.ema-layout{gap:24px;grid-template-columns:170px minmax(0,1fr)}.ema-recommendations{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ema-top{min-height:72px}.ema .navbar-brand{font-size:22px}.ema-brand-caption{display:none}.ema-layout{display:block;padding:18px 16px 32px}.ema-sidebar .nav{flex-direction:row!important;gap:6px;border-bottom:1px solid #dce4df;padding-bottom:16px;margin-bottom:26px}.ema-sidebar .nav-link{padding:10px 12px;font-size:14px}.ema-sidebar-note{display:none}.ema-heading{margin-bottom:24px;align-items:start}.ema h1{font-size:28px}.ema-heading p{font-size:14px}.ema-avatar{display:none}.ema-library,.ema-recommendations{grid-template-columns:1fr}.ema-empty .card-body{padding:26px}.ema-empty h2{font-size:23px}.ema-related{margin-top:36px}.ema-section-heading{display:block}.ema-section-heading>a{display:inline-block;margin-top:12px}.ema-section-heading h2{font-size:22px}.ema .card-body{padding:22px}.ema .ems-google-login{padding:22px}.ema-actions .btn{flex:1 1 auto}.ema .ema-recommendations .card-body{padding:22px}.ema .table{min-width:540px}.ema-lesson h2{font-size:24px}}
/* WordPress body also carries .page; keep Tabler page sizing inside the member surface. */
body.ems-shell:has(.ema){display:block;height:auto;min-height:100vh;overflow-x:clip}
body.ems-shell:has(.ema) #ems-main{height:auto;min-height:0;flex:none;overflow:visible}
body.ems-shell:has(.ema)>.ems-footer{position:static;clear:both;margin:0 auto;max-width:1320px;width:auto}
.ema.page{height:auto;min-height:0}.ema .btn{text-transform:none;font-size:14px;letter-spacing:0}
/* Hestia uses a 10px rem base; Tabler is designed around 16px. Scope the reset to this route. */
html:has(.ema){font-size:16px}
.ema-sidebar .nav-link{font-size:16px}
.ema-access{font-size:12px}
@media(max-width:767px){.ema-sidebar .nav-link{font-size:14px}}
.ema-profile-form{max-width:680px}.ema-photo-field{display:flex;gap:24px;align-items:start;margin:24px 0 32px}.ema-profile-avatar{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;flex-shrink:0;border-radius:50%;object-fit:cover;background:#e0ebe4;color:#176345;font-size:32px}.ema img.ema-avatar{object-fit:cover;border-radius:50%}.ema-profile-form .form-control{min-height:46px;font-size:16px;border-color:#82938a}.ema-profile-form .form-control[readonly]{background:#f3f6f4;color:#384c41}.ema-profile-form .form-hint{font-size:14px;color:#52635b;margin-top:8px}.ema-profile-form .form-label{font-size:15px;font-weight:600}.ema-profile-form .form-control:focus{border-color:#176345;outline:2px solid #176345;outline-offset:2px}.ema-photo-field>div{min-width:0}.ema-profile-form input[type=file]{max-width:100%;padding:10px}.ema-profile-form .form-check{margin-top:12px}@media(max-width:767px){.ema-photo-field{flex-direction:column;gap:16px}.ema-photo-field>div{width:100%}}
.ema-profile-form .form-control::placeholder{color:#52635b;opacity:1}

/* Lock avatar geometry against theme-wide image rules, including existing photos. */
body.ems-shell .ema .ema-profile-avatar{width:96px!important;height:96px!important;min-width:96px;max-width:96px!important;min-height:96px;max-height:96px!important;flex:0 0 96px;object-fit:cover;object-position:center;border-radius:50%;margin:0;align-self:flex-start}
body.ems-shell .ema img.ema-avatar{width:48px!important;height:48px!important;min-width:48px;max-width:48px!important;max-height:48px!important;flex:0 0 48px;object-fit:cover}
.ema .ema-photo-field>div{flex:1 1 0;min-width:0;max-width:100%}
@media(max-width:767px){.ema .ema-photo-field>div{flex:auto;width:100%}}

.ema .ema-related.ems-store{margin-top:48px}.ema-related .ems-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ema-related .ems-card-body{padding:20px}.ema-related .ems-card-actions{grid-template-columns:1fr}.ema-related .ems-card h3{font-size:20px}@media(max-width:1100px){.ema-related .ems-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.ema-related .ems-grid{grid-template-columns:1fr}.ema-related .ems-card-actions{grid-template-columns:1fr 1fr}}
