/* LBIC Shared Layout V1 — pilot presentation revision p2, offline prepared.
 * Enrolled pages: 121 (calculator), 11 (catalogue), 70 (reading guide) only.
 * Requires the reviewed loader/body gate and existing-node hooks listed in
 * CSS-VERIFICATION.md. Load after the real style handle lbic-ux01.
 * Existing shell owns font files, navigation/state handlers, sticky positioning,
 * menu/hover-bridge geometry, drawer overlay and its scroll lock.
 * No Account, security, legal or Home rollout; no preview application code.
 */
body.lbic-frontend.lbic-layout-v1{
  --lbic-frame-max:1180px; --lbic-gutter:1rem; --lbic-page-gap:1.5rem;
  --lbic-h1:1.75rem; --lbic-h2:1.375rem; --lbic-h3:1.125rem;
  --lbic-body:1rem; --lbic-label:1rem; --lbic-help:.875rem;
  --lbic-heading-leading:1.25; --lbic-body-leading:1.6;
  --lbic-control-min:2.875rem; --lbic-target-min:2.75rem;
  --lbic-reading-max:70ch;
  --lbic-brand-primary:#012A58; --lbic-brand-secondary:#7EC1F9; --lbic-brand-accent:#E60007;
  --lbic-surface:#FCFEFF; --lbic-brand-light:#EFF7FB; --lbic-text:#253B53; --lbic-muted:#4E6274;
  --lbic-border:#C3D5E2; --lbic-border-strong:#7A93A8; --lbic-danger:#B0000A; --lbic-danger-bg:#FDE8E8;
  --lbic-font-head:Newsreader,Georgia,serif; --lbic-font-body:Manrope,system-ui,sans-serif;
  --lbic-radius:.75rem;
  /* The presentation helper supplies actual obstruction geometry; not a fixed header height. */
  --lbic-obstruction-bottom:0px;
  /* Reconcile the shell's body overflow-x:hidden on pilot pages; expose real reflow.
     Shell drawer open/close inline overflow remains authoritative. */
  overflow-x:visible;
}
@media(min-width:40rem){body.lbic-frontend.lbic-layout-v1{--lbic-gutter:1.5rem;--lbic-h1:2rem;--lbic-h2:1.5rem;--lbic-h3:1.25rem}}
@media(min-width:64rem){body.lbic-frontend.lbic-layout-v1{--lbic-gutter:2rem;--lbic-page-gap:2rem;--lbic-h1:2.25rem;--lbic-h2:1.625rem}}

/* One frame on each EXISTING outer container, including header/footer.
   Calculator p1 already emits its own frame. No nested extra padding wrapper. */
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading,header.hdr,footer.ftr) .lbic-frame{
  box-sizing:border-box;inline-size:100%;max-inline-size:var(--lbic-frame-max);margin-inline:auto;min-inline-size:0;
  padding-inline-start:max(var(--lbic-gutter),env(safe-area-inset-left,0px));
  padding-inline-end:max(var(--lbic-gutter),env(safe-area-inset-right,0px));
}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading) .lbic-frame *{box-sizing:border-box;min-inline-size:0}
body.lbic-frontend.lbic-layout-v1 main.lbic-page--reading .lbic-reading-column{inline-size:100%;max-inline-size:var(--lbic-reading-max);margin-inline:auto;min-inline-size:0;text-align:start}

/* Own content typography explicitly: shell body is 17px and .lead is 18–21px.
   Body itself keeps shell font/color so the WordPress toolbar is not restyled. */
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading){font:var(--lbic-body)/var(--lbic-body-leading) var(--lbic-font-body);color:var(--lbic-text);text-align:start}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading) :is(h1,h2,h3){font-family:var(--lbic-font-head);line-height:var(--lbic-heading-leading);color:var(--lbic-brand-primary);margin:0 0 .6em;text-align:start;overflow-wrap:break-word}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading) h1{font-size:var(--lbic-h1);font-weight:700}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading) h2{font-size:var(--lbic-h2);font-weight:700}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading) h3{font-size:var(--lbic-h3);font-weight:600}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading) :is(.intro-text,.lead){font-size:var(--lbic-body);max-inline-size:75ch;color:var(--lbic-muted)}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading) :is(.small,.crumbs){font-size:var(--lbic-help)}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading) :is(.lbic-page-header,.pagehead){padding-block:var(--lbic-page-gap) 1.5rem}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--catalogue,main.lbic-page--reading) :is(.section,.section-tight){padding-block:1.5rem 2rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-page--catalogue .sec-head{margin-block-end:1.5rem}

/* Retain readable on-navy sections if present in current enrolled page content. */
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--catalogue,main.lbic-page--reading) .section-ink :is(h1,h2,h3){color:#fff}

/* Accepted buttons: actual owned main roots + real header/drawer.
   Native .btn-secondary/.btn-ghost shell fills remain; primary is navy. */
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading,header.hdr,.lbic-drawer) :is(.btn,.button){
  display:inline-flex;align-items:center;justify-content:center;text-align:center;min-block-size:var(--lbic-target-min);
  font-family:var(--lbic-font-body);font-size:var(--lbic-body);line-height:1.5;
  padding:.65rem 1rem;max-inline-size:100%;border:1px solid var(--lbic-brand-primary);border-radius:.5rem;
  font-weight:600;white-space:normal;text-decoration:none;cursor:pointer;
}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading,header.hdr,.lbic-drawer) .btn-primary{background:var(--lbic-brand-primary);border-color:var(--lbic-brand-primary);color:#fff}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading,header.hdr,.lbic-drawer) .btn-primary:hover{background:#011F42;border-color:#011F42;color:#fff}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--tool,main.lbic-page--catalogue,main.lbic-page--reading,header.hdr,.lbic-drawer) :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--lbic-brand-primary);outline-offset:3px}
body.lbic-frontend.lbic-layout-v1 :is(main.lbic-page--catalogue,main.lbic-page--reading) .section-ink :is(a,button,input,select,textarea,summary):focus-visible{outline-color:#fff}

/* Shared shell geometry: preserve sticky top/z-index, split link/toggle, submenu
   hover bridge, display/state selectors and account/drawer behavior. Permit the
   header row and nav list to wrap instead of squeezing the accepted controls. */
body.lbic-frontend.lbic-layout-v1 header.hdr .hdr-in{flex-wrap:wrap}
body.lbic-frontend.lbic-layout-v1 header.hdr .nav{max-inline-size:100%;min-inline-size:0}
body.lbic-frontend.lbic-layout-v1 header.hdr .nav>ul{flex-wrap:wrap}
body.lbic-frontend.lbic-layout-v1 header.hdr .nav :is(a,button){white-space:normal}
body.lbic-frontend.lbic-layout-v1 #drawer.drawer.lbic-drawer>.panel{
  box-sizing:border-box;min-inline-size:0;font:var(--lbic-body)/var(--lbic-body-leading) var(--lbic-font-body);
  padding-inline-start:max(var(--lbic-gutter),env(safe-area-inset-left,0px));
  padding-inline-end:max(var(--lbic-gutter),env(safe-area-inset-right,0px));
}
body.lbic-frontend.lbic-layout-v1 #drawer.drawer.lbic-drawer .panel-top>span{font-size:var(--lbic-help);text-transform:none;letter-spacing:normal}

/* V01 fallback clearance complements the separately reviewed bounded helper.
   A numeric obstruction alone is not proof that a label/control clears it. */
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool :is(.field,.expense-field,.choice-group,.error-summary,.result-panel,[id^="lcs_"]){scroll-margin-block-start:calc(var(--lbic-obstruction-bottom) + 1rem);scroll-margin-block-end:2rem}

/* Calculator presentation classes emitted by p1; result-before-form order stays. */
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .expenses-heading{font-size:var(--lbic-h2);margin:1.5rem 0 .5rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .choice-group{min-inline-size:0;margin:0 0 1.5rem;padding:.75rem;border:1px solid var(--lbic-border);border-radius:.5rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .choice-group.has-error{border-color:var(--lbic-danger)}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .choice-group legend{font-size:var(--lbic-label);font-weight:700;max-inline-size:100%;padding-inline:.25rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool :is(.choice-row,.inclusion-row){display:flex;align-items:flex-start;gap:.65rem;min-block-size:var(--lbic-target-min);padding:.65rem .25rem;font-size:var(--lbic-label);line-height:1.5;cursor:pointer;overflow-wrap:anywhere}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .inclusion-row{color:var(--lbic-muted);margin-block-start:.35rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool :is(.choice-row,.inclusion-row):hover{background:var(--lbic-brand-light)}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool input:is([type=checkbox],[type=radio]){inline-size:1.125rem;block-size:1.125rem;flex:none;margin:.15rem 0 0;accent-color:var(--lbic-brand-primary)}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .field-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;margin-block-end:1.5rem}
@media(min-width:40rem){body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool :is(.field,.expense-field){margin-block-end:1rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool :is(.field,.expense-field)>label:not(.inclusion-row){display:block;font-size:var(--lbic-label);font-weight:600;margin-block-end:.4rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool input[type=text]{box-sizing:border-box;inline-size:100%;min-inline-size:0;min-block-size:var(--lbic-control-min);padding:.6rem .75rem;border:1px solid var(--lbic-border-strong);border-radius:.4rem;background:#fff;color:var(--lbic-text);font-family:var(--lbic-font-body);font-size:var(--lbic-body);line-height:1.5;font-variant-numeric:tabular-nums}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .expense-field{padding-block-end:.5rem;border-bottom:1px solid var(--lbic-border)}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool [aria-invalid=true]{border-color:var(--lbic-danger)}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .field-error{display:block;color:var(--lbic-danger);font-size:var(--lbic-help);margin-block-start:.5rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .estimate-action{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-block-start:1.5rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool :is(.error-summary,.form-alert){padding:1rem;border:1px solid var(--lbic-danger);border-inline-start:.3rem solid var(--lbic-danger);border-radius:.5rem;background:var(--lbic-danger-bg);margin-block-end:1.5rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .error-summary-title{margin:0 0 .5rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .error-summary ul{margin:0;padding-inline-start:1.25rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .error-summary a{color:var(--lbic-danger)}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .error-summary li{margin-block:.5rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .scope-guidance{padding:1rem;border:1px solid #E4B95B;border-inline-start:.3rem solid #E4B95B;border-radius:.5rem;background:#FFF7E6;margin-block-end:1.5rem}

/* Result display only: inclusion meaning remains request-bound renderer output. */
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .result-panel{border:1px solid var(--lbic-border);border-block-start:3px solid var(--lbic-brand-primary);background:#F7FBF8;border-radius:var(--lbic-radius);padding:1rem;margin-block-end:1.5rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .result-heading{margin-block-start:0}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .breakdown{inline-size:100%;border-collapse:collapse;table-layout:fixed;margin-block:1rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .breakdown th{inline-size:60%;font-weight:400;text-align:start;vertical-align:top}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .breakdown td{text-align:end;font-variant-numeric:tabular-nums;vertical-align:top}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .breakdown :is(th,td){padding:.6rem .25rem;border-bottom:1px solid var(--lbic-border);overflow-wrap:anywhere}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool :is(.included-label,.zero-label){display:inline-block;font-size:var(--lbic-help);line-height:1.4;padding:.1rem .4rem;border-radius:.3rem;margin-inline-start:.35rem;white-space:normal}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .included-label{background:var(--lbic-brand-light);color:var(--lbic-brand-primary);font-weight:600}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .zero-label{color:var(--lbic-muted);border:1px solid var(--lbic-border);background:#fff}
@media(max-width:39.999rem){
  body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .breakdown :is(tbody,tr,th,td){display:block;inline-size:100%}
  body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .breakdown tr{border-bottom:1px solid var(--lbic-border);padding-block:.6rem}
  body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .breakdown :is(th,td){border:0;padding:.2rem 0}
  body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .breakdown td{font-weight:600;text-align:start}
}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .totals{margin-block:1rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .total-line{display:flex;flex-wrap:wrap;gap:.25rem 1rem;justify-content:space-between;padding-block:.5rem;font-weight:700}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .total-line.subtotal{border-top:2px solid var(--lbic-brand-primary);padding-block-start:.75rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .total-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:end}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .final-total{background:var(--lbic-brand-light);padding:.75rem 1rem;border-radius:.5rem;font-weight:800}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .final-total .total-value{font-size:var(--lbic-h2);color:var(--lbic-brand-primary);line-height:1.4}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool :is(.per-unit,.tax-context){color:var(--lbic-muted)}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .tax-context{font-size:var(--lbic-help)}
body.lbic-frontend.lbic-layout-v1 main.lbic-lcs.lbic-page--tool .workspace-next{border-top:1px solid var(--lbic-border);padding-block-start:1rem;margin-block-start:1rem;font-size:var(--lbic-help)}

/* Page11 only: source-defined cards and sections, including the reviewed case area. */
body.lbic-frontend.lbic-layout-v1 main.lbic-page--catalogue .grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem}
@media(min-width:40rem){body.lbic-frontend.lbic-layout-v1 main.lbic-page--catalogue .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){body.lbic-frontend.lbic-layout-v1 main.lbic-page--catalogue .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
body.lbic-frontend.lbic-layout-v1 main.lbic-page--catalogue .card{min-inline-size:0;padding:1rem;border:1px solid var(--lbic-border);border-radius:var(--lbic-radius);background:#fff}
body.lbic-frontend.lbic-layout-v1 main.lbic-page--catalogue .help-cat li a{font-size:var(--lbic-body)}

/* Page70: remove its existing .prose inline820px at its owner; no historical H1 edit. */
body.lbic-frontend.lbic-layout-v1 main.lbic-page--reading .prose.lbic-reading-column{max-inline-size:var(--lbic-reading-max);margin-inline:auto;min-inline-size:0}
body.lbic-frontend.lbic-layout-v1 main.lbic-page--reading .prose h2:not(:first-child){margin-block-start:1.75rem}
body.lbic-frontend.lbic-layout-v1 main.lbic-page--reading .sources :is(a,span){overflow-wrap:anywhere}

/* V02 on the existing footer: actual light-on-navy colors stay shell-owned. */
body.lbic-frontend.lbic-layout-v1 footer.ftr .ftr-grid{grid-template-columns:minmax(0,1fr)}
body.lbic-frontend.lbic-layout-v1 footer.ftr .ftr-grid>*{min-inline-size:0}
body.lbic-frontend.lbic-layout-v1 footer.ftr :is(a,p,li){overflow-wrap:anywhere}
body.lbic-frontend.lbic-layout-v1 footer.ftr :is(.about,ul){font-size:var(--lbic-body)}
body.lbic-frontend.lbic-layout-v1 footer.ftr :is(.contact,.ftr-bottom){font-size:var(--lbic-help)}
body.lbic-frontend.lbic-layout-v1 footer.ftr h4{font-size:var(--lbic-body);text-transform:none;letter-spacing:normal}
body.lbic-frontend.lbic-layout-v1 footer.ftr .ftr-bottom>*{min-inline-size:0;max-inline-size:100%;overflow-wrap:anywhere}
@media(min-width:40rem){body.lbic-frontend.lbic-layout-v1 footer.ftr .ftr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:64rem){body.lbic-frontend.lbic-layout-v1 footer.ftr .ftr-grid{grid-template-columns:minmax(0,2fr) repeat(4,minmax(0,1fr))}}
