/* LRA Customs Estimator. Everything is scoped under .lra-ce; adjust the variables to match the theme. */
.lra-ce{
  --lra-ce-accent:#0B3D91; --lra-ce-accent-hover:#1A55B8; --lra-ce-accent-ink:#fff; --lra-ce-ink:#1B2430; --lra-ce-muted:#5A6573;
  --lra-ce-line:#D5DBE3; --lra-ce-bg:#fff; --lra-ce-soft:#F3F6FA; --lra-ce-warn-bg:#FDF4E3; --lra-ce-warn:#7A4B00; --lra-ce-error:#A3121C;
  --lra-ce-radius:10px;
  color:var(--lra-ce-ink); font-size:16px; line-height:1.5; max-width:760px; margin:0 auto 32px; display:grid; gap:16px;
}
.lra-ce *, .lra-ce *::before, .lra-ce *::after{ box-sizing:border-box; }
.lra-ce [hidden]{ display:none !important; }
.lra-ce-card{ background:var(--lra-ce-bg); border:1px solid var(--lra-ce-line); border-radius:var(--lra-ce-radius); padding:20px; margin:0; min-width:0; }
.lra-ce-h{ font-size:1.5em; line-height:1.2; margin:0 0 6px; }
.lra-ce-h3{ font-size:1.2em; line-height:1.25; margin:0 0 12px; }
.lra-ce-intro{ margin:0 0 14px; color:var(--lra-ce-muted); }
.lra-ce-label{ display:block; font-weight:700; margin:0 0 6px; padding:0; }
.lra-ce-row{ display:flex; gap:8px; }
.lra-ce input[type=search], .lra-ce input[type=number], .lra-ce input[type=date], .lra-ce select{
  width:100%; min-width:0; font:inherit; color:inherit; background:#fff; border:1px solid #9AA6B5; border-radius:8px; padding:10px 12px; min-height:46px; margin:0;
}
.lra-ce input:focus-visible, .lra-ce select:focus-visible, .lra-ce button:focus-visible, .lra-ce a:focus-visible, .lra-ce summary:focus-visible{
  outline:3px solid var(--lra-ce-accent); outline-offset:2px;
}
.lra-ce [aria-invalid=true]{ border-color:var(--lra-ce-error); box-shadow:0 0 0 1px var(--lra-ce-error); }
/* Buttons and chips: white on the accent blue. Site themes often restyle every <button> (background, color,
   text-transform, hover), so these rules are specific and !important to keep the text readable on any theme. */
.lra-ce button.lra-ce-btn, .lra-ce a.lra-ce-btn, .lra-ce button.lra-ce-chip{
  font-family:inherit !important; font-weight:700 !important; text-transform:none !important; letter-spacing:normal !important;
  background:var(--lra-ce-accent) !important; background-image:none !important; color:var(--lra-ce-accent-ink) !important;
  -webkit-text-fill-color:var(--lra-ce-accent-ink) !important; border:1px solid var(--lra-ce-accent) !important;
  text-shadow:none !important; box-shadow:none !important; cursor:pointer; text-decoration:none !important; opacity:1;
}
.lra-ce button.lra-ce-btn, .lra-ce a.lra-ce-btn{ font-size:1em !important; line-height:1.2 !important; display:inline-flex; align-items:center;
  justify-content:center; min-height:46px; padding:10px 18px !important; border-radius:8px !important; white-space:nowrap; }
.lra-ce button.lra-ce-chip{ font-size:.9em !important; line-height:1.3 !important; padding:6px 14px !important; border-radius:999px !important; min-height:0; }
.lra-ce button.lra-ce-btn:hover, .lra-ce a.lra-ce-btn:hover, .lra-ce button.lra-ce-chip:hover,
.lra-ce button.lra-ce-btn:focus, .lra-ce a.lra-ce-btn:focus, .lra-ce button.lra-ce-chip:focus,
.lra-ce button.lra-ce-btn:active, .lra-ce a.lra-ce-btn:active, .lra-ce button.lra-ce-chip:active{
  background:var(--lra-ce-accent-hover) !important; border-color:var(--lra-ce-accent-hover) !important;
  color:var(--lra-ce-accent-ink) !important; -webkit-text-fill-color:var(--lra-ce-accent-ink) !important;
}
.lra-ce button.lra-ce-btn[disabled]{ opacity:.7; cursor:wait; }
.lra-ce-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.lra-ce-status{ margin:12px 0 0; color:var(--lra-ce-muted); min-height:1.5em; }
.lra-ce-error{ color:var(--lra-ce-error); }
.lra-ce-list{ display:grid; gap:8px; }
.lra-ce-opt{ position:relative; }
.lra-ce-opt input{ position:absolute; left:14px; top:18px; width:18px; height:18px; margin:0; accent-color:var(--lra-ce-accent); }
.lra-ce-opt label{ display:grid; gap:2px; padding:12px 14px 12px 44px; border:1px solid var(--lra-ce-line); border-radius:8px; cursor:pointer; }
.lra-ce-opt input:checked + label{ border-color:var(--lra-ce-accent); box-shadow:inset 0 0 0 1px var(--lra-ce-accent); background:var(--lra-ce-soft); }
.lra-ce-opt-title{ font-weight:700; overflow-wrap:anywhere; }
.lra-ce-opt-detail{ color:var(--lra-ce-muted); font-size:.9em; overflow-wrap:anywhere; }
.lra-ce-opt-meta{ color:var(--lra-ce-muted); font-size:.85em; font-variant-numeric:tabular-nums; }
.lra-ce-form{ display:grid; gap:14px; }
.lra-ce-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:14px; }
.lra-ce-field{ display:grid; gap:4px; align-content:start; }
.lra-ce-field label{ font-weight:700; }
.lra-ce-help{ margin:0; font-size:.88em; color:var(--lra-ce-muted); }
.lra-ce-mode{ display:flex; flex-wrap:wrap; gap:8px 18px; }
.lra-ce-radio{ display:inline-flex; align-items:center; gap:8px; }
.lra-ce-radio input{ width:18px; height:18px; margin:0; accent-color:var(--lra-ce-accent); }
.lra-ce-parts{ display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr)); gap:14px; }
.lra-ce-more{ border-top:1px solid var(--lra-ce-line); padding-top:10px; }
.lra-ce-more summary{ cursor:pointer; font-weight:700; color:var(--lra-ce-accent); }
.lra-ce-more[open]{ display:grid; gap:14px; }
.lra-ce-actions{ display:flex; flex-wrap:wrap; gap:10px; }
.lra-ce-form-error{ margin:0; min-height:0; }
.lra-ce-form-error:empty{ display:none; }
.lra-ce-result:focus{ outline:none; }
.lra-ce-res{ display:grid; gap:10px; border-width:2px; border-color:var(--lra-ce-accent); }
.lra-ce-total{ font-size:2.4em; font-weight:800; line-height:1.1; margin:0; font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
.lra-ce-cur{ font-size:.5em; font-weight:700; color:var(--lra-ce-muted); }
.lra-ce-item{ margin:0; overflow-wrap:anywhere; }
.lra-ce-item .lra-ce-opt-detail{ display:block; }
.lra-ce-warn{ background:var(--lra-ce-warn-bg); color:var(--lra-ce-warn); border-left:4px solid #C98A12; padding:10px 12px; margin:0 0 12px; border-radius:6px; }
.lra-ce-table{ width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; margin:0; }
.lra-ce-table th, .lra-ce-table td{ padding:8px 0; border-top:1px solid var(--lra-ce-line); text-align:left; font-weight:400; vertical-align:top; background:none; }
.lra-ce-table td{ text-align:right; white-space:nowrap; padding-left:12px; }
.lra-ce-sum th, .lra-ce-sum td{ font-weight:700; border-top:2px solid var(--lra-ce-ink); }
.lra-ce-waived th, .lra-ce-waived td{ color:var(--lra-ce-muted); }
.lra-ce-notes{ margin:0; padding-left:20px; color:var(--lra-ce-muted); font-size:.92em; }
.lra-ce-ver{ margin:0; font-size:.8em; color:var(--lra-ce-muted); }
.lra-ce .lra-ce-ver a{ color:var(--lra-ce-accent); text-decoration:underline; }
.lra-ce-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
@media (max-width:480px){
  .lra-ce-card{ padding:16px; }
  .lra-ce-row{ flex-direction:column; }
  .lra-ce-total{ font-size:2em; }
}
