/* EJL TPL-03 common layout pilot v0.3 — DRAFT THEME ONLY.
   Uses opt-in .ejl-ds.ejl-tpl-03, never page-id-specific selectors.
   Assumes HTML root wraps the full article and includes one hero image. */
body:has(.entry-content .ejl-ds.ejl-tpl-03) #sidebar,
body:has(.entry-content .ejl-ds.ejl-tpl-03) .sidebar,
body:has(.entry-content .ejl-ds.ejl-tpl-03) #sidebar-scroll,
body:has(.entry-content .ejl-ds.ejl-tpl-03) .article-header .entry-title,
body:has(.entry-content .ejl-ds.ejl-tpl-03) .eye-catch,
body:has(.entry-content .ejl-ds.ejl-tpl-03) .eye-catch-wrap{display:none!important}
body:has(.entry-content .ejl-ds.ejl-tpl-03) #main,
body:has(.entry-content .ejl-ds.ejl-tpl-03) .main{width:100%!important;max-width:none!important;float:none!important}
body:has(.entry-content .ejl-ds.ejl-tpl-03) #content-in{display:block!important;width:100%!important}
body:has(.entry-content .ejl-ds.ejl-tpl-03) #content{max-width:1240px!important;margin-left:auto!important;margin-right:auto!important}
body:has(.entry-content .ejl-ds.ejl-tpl-03) .entry-content{margin:0!important;padding:0!important}
.ejl-ds.ejl-tpl-03{
  --ejl-ink:#27383B;--ejl-deep:#173F45;--ejl-muted:#5D7074;
  --ejl-accent:#2A9B97;--ejl-line:#D9E7E7;--ejl-soft:#F7FBFB;
  --ejl-label-bg:#EAF6F5; color:var(--ejl-ink);
}
.ejl-ds.ejl-tpl-03 .wrap,.ejl-ds.ejl-tpl-03 .ejl-wrap{max-width:1060px;margin-left:auto;margin-right:auto;width:100%;padding-left:14px;padding-right:14px}
.ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid){
  display:grid!important;grid-template-columns:minmax(0,48fr) minmax(0,52fr)!important;
  align-items:stretch;max-width:100%;border:1px solid var(--ejl-line)!important;
  border-radius:19px!important;overflow:hidden;
  background:linear-gradient(110deg,var(--ejl-soft) 0%,var(--ejl-soft) 55%,#FFFFFF 100%)!important;
  min-height:0;
}
.ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(.hero-copy,.ejl-hero-copy){
  min-width:0;padding:26px 23px!important;align-self:center;
}
.ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(h1,.ejl-title){
  font-size:31px!important;line-height:1.4;margin:14px 0!important;color:var(--ejl-ink)!important;
  overflow-wrap:anywhere;
}
.ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(.lead,.ejl-lead){font-size:16px!important;line-height:1.85;color:var(--ejl-muted)}
.ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(.label,.ejl-label){font-size:13px!important;background:var(--ejl-label-bg)!important;color:#27383B!important;border-radius:999px}
.ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(.ejl-update-date,.ejl-date){font-size:13px;color:var(--ejl-muted)}
.ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(.ejl-hero-picture,.ejl-hero-visual){
  margin:0!important;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(.ejl-hero-picture,.ejl-hero-visual) img{
  display:block;width:100%!important;height:auto!important;max-height:370px;object-fit:contain!important;
}

/* TPL-03 v0.3 shared body primitives. Opt-in class only; no page-id logic. */
.ejl-ds.ejl-tpl-03 :is(.sec,.ejl-section){margin:18px 0;padding:22px;border:1px solid var(--ejl-line);border-radius:18px;background:#fff;min-width:0}
.ejl-ds.ejl-tpl-03 :is(.sec,.ejl-section)>h2{border-left:6px solid var(--ejl-accent);border-radius:9px;background:var(--ejl-soft);padding:10px 14px;font-size:23px;line-height:1.5;color:var(--ejl-deep);margin:0 0 15px}
.ejl-ds.ejl-tpl-03 :is(.grid,.ejl-grid,.summary,.ejl-summary){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ejl-ds.ejl-tpl-03 :is(.grid,.ejl-grid)>.card{background:#fff;border:1px solid var(--ejl-line);border-radius:13px;padding:16px;min-width:0}
.ejl-ds.ejl-tpl-03 :is(.grid,.ejl-grid)>.card strong{display:block;margin-bottom:7px;color:var(--ejl-deep)}
.ejl-ds.ejl-tpl-03 :is(.steps,.ejl-steps){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ejl-ds.ejl-tpl-03 :is(.steps,.ejl-steps)>.step{min-width:0;border:1px solid var(--ejl-line);border-radius:13px;background:#fff;padding:14px}
.ejl-ds.ejl-tpl-03 :is(.note,.danger,.ejl-note,.ejl-danger){padding:16px;border-radius:14px;line-height:1.8}
.ejl-ds.ejl-tpl-03 :is(.danger,.ejl-danger){border:1px solid #E4C7C7;background:#FFF6F6}
.ejl-ds.ejl-tpl-03 :is(.note,.ejl-note){border:1px solid #EAD8AA;background:#FFF8E8}
.ejl-ds.ejl-tpl-03 :is(.links,.ejl-links) a{display:block;padding:10px 12px;border:1px solid var(--ejl-line);border-radius:10px;margin:9px 0;text-decoration:none}
.ejl-ds.ejl-tpl-03 table{width:100%;border-collapse:collapse}
.ejl-ds.ejl-tpl-03 :is(th,td){border:1px solid #DDE5E8;padding:11px;text-align:start}
.ejl-ds.ejl-tpl-03 th{background:#F5F8F9;color:var(--ejl-deep)}
@media(max-width:760px){.ejl-ds.ejl-tpl-03 :is(.sec,.ejl-section){padding:16px}.ejl-ds.ejl-tpl-03 :is(.sec,.ejl-section)>h2{font-size:20px}.ejl-ds.ejl-tpl-03 :is(.grid,.ejl-grid,.summary,.ejl-summary){grid-template-columns:1fr}.ejl-ds.ejl-tpl-03 :is(.steps,.ejl-steps){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.ejl-ds.ejl-tpl-03 :is(.steps,.ejl-steps){grid-template-columns:1fr}}

/* Keep independent content blocks visually separated; applies to every TPL-03 article.
   The step/card grid and the following pink warning or information panel
   must never visually merge on narrow screens. */
.ejl-ds.ejl-tpl-03 :is(.steps,.ejl-steps,.summary,.ejl-summary,.grid,.ejl-grid) + :is(.danger,.ejl-danger,.note,.ejl-note){
  margin-block-start:20px!important;
}
@media(max-width:760px){
  .ejl-ds.ejl-tpl-03 :is(.steps,.ejl-steps,.summary,.ejl-summary,.grid,.ejl-grid) + :is(.danger,.ejl-danger,.note,.ejl-note){
    margin-block-start:20px!important;
  }
}
@media(max-width:760px){
  .ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid){display:flex!important;flex-direction:column!important}
  .ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(.hero-copy,.ejl-hero-copy){padding:20px 18px 12px!important}
  .ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(h1,.ejl-title){font-size:27px!important}
  .ejl-ds.ejl-tpl-03 :is(.hero.ejl-split-hero,.ejl-hero.ejl-hero-grid) :is(.ejl-hero-picture,.ejl-hero-visual) img{width:100%!important;max-height:none;aspect-ratio:3/2;object-fit:contain!important}
}
