.oc-licence-checker {
  --lc-green: #245b48;
  --lc-ink: #171b24;
  --lc-muted: #52675f;
  --lc-line: #d6e2db;
  --lc-yellow: #eedb75;
  background: #fff;
  border: 0;
  border-top: 3px solid var(--lc-green);
  border-radius: 0;
  box-shadow: none;
  color: var(--lc-ink);
  padding: 40px;
  scroll-margin-top: 100px;
}
.oc-licence-checker * { box-sizing: border-box; }
body.home #oc-licence-checker { border-radius: 0 !important; box-shadow: none !important; border-top-color: #245b48 !important; }
body.home #oc-licence-checker .lc-heading { max-width: none !important; }
body.home #oc-licence-checker .lc-heading h2 { font-size: var(--oc-home-section-title, 34px) !important; font-weight: 900 !important; line-height: 1.08 !important; letter-spacing: 0; }
body.home #oc-licence-checker .licensing-copy p { font-size: var(--oc-home-card-copy, 16px); font-weight: 620; line-height: 1.58; }
body.home #oc-licence-checker .lc-heading .eyebrow { color: #245b48 !important; font-size: 12px !important; }
.oc-licence-checker [hidden] { display: none !important; }
/* The introduction and guide share a top edge; results occupy their own row. */
#oc-licence-checker.layout-split { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr); align-items:start; padding:0 !important; }
#oc-licence-checker.layout-split .split-layout { display:contents; }
#oc-licence-checker.layout-split .licensing-main { min-width:0; padding:32px; }
#oc-licence-checker.layout-split #oc-home-flow-title { margin:0 0 24px; max-width:none; }
#oc-licence-checker.layout-split .original-copy { border:0; padding:0; }
#oc-licence-checker.layout-split .original-copy p { margin:0 0 18px; }
#oc-licence-checker.layout-split .original-copy p:last-child { margin-bottom:0; }
#oc-licence-checker.layout-split .search-module { display:grid; gap:20px; margin-top:28px; padding-top:24px; border-top:1px solid var(--lc-line); }
#oc-licence-checker.layout-split .search-intro { display:flex; align-items:flex-start; gap:16px; }
#oc-licence-checker.layout-split .search-emblem { flex:0 0 28px; margin-top:2px; color:var(--lc-green); }
#oc-licence-checker.layout-split .search-emblem .lc-icon { width:28px; height:28px; }
#oc-licence-checker.layout-split #lc-search-title { margin:0 0 10px; font-size:24px; line-height:1.22; }
#oc-licence-checker.layout-split .search-intro p { margin:0; color:var(--lc-muted); font-size:15px; line-height:1.6; }
#oc-licence-checker.layout-split .search-control { gap:0; border:1px solid #8ca898; border-radius:6px; background:#fff; padding:4px; }
#oc-licence-checker.layout-split .search-control:focus-within { border-color:var(--lc-green); outline:2px solid #245b4840; outline-offset:2px; }
#oc-licence-checker.layout-split .search-field { display:flex; align-items:center; }
#oc-licence-checker.layout-split input { border:0; background:transparent; padding:12px 40px; height:48px; }
#oc-licence-checker.layout-split input:focus-visible { outline:0; }
#oc-licence-checker.layout-split input::-webkit-search-cancel-button { display:none; }
#oc-licence-checker.layout-split .field-icon { position:absolute; left:13px; opacity:.6; pointer-events:none; }
#oc-licence-checker.layout-split .gold-button { min-height:48px; border:0; padding:12px 16px; }
#oc-licence-checker.layout-split .clear-search { position:absolute; right:2px; width:36px; height:44px; border:0; padding:0; background:transparent; display:grid; place-items:center; color:var(--lc-muted); }
#oc-licence-checker.layout-split .clear-search .lc-icon { transform:rotate(45deg); }
#oc-licence-checker.layout-split .suggestions { top:calc(100% + 12px); left:-4px; right:0; border-radius:6px; }
#oc-licence-checker.layout-split .reading-guide { display:block; margin:0; padding:32px; min-width:0; }
#oc-licence-checker.layout-split .reading-guide>h3 { font-size:23px; }
#oc-licence-checker.layout-split .check-list { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; margin:28px 0; }
#oc-licence-checker.layout-split .check-list li+li { border:0; padding:0; }
#oc-licence-checker.layout-split #lc-results:not([hidden]) { grid-column:1 / -1; grid-row:2; margin:0; padding:28px 32px; border-top:1px solid var(--lc-line); }
#oc-licence-checker.layout-split .result { border:0; padding:0; }
#oc-licence-checker form>.suggestions,
#oc-licence-checker.layout-split form>.suggestions { position:relative; inset:auto; width:100%; margin:12px 0 0; max-height:320px; }
@media(max-width:1000px) {
  #oc-licence-checker.layout-split { grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr); }
  #oc-licence-checker.layout-split .search-control { flex-direction:column; gap:10px; padding:0; border:0; background:transparent; }
  #oc-licence-checker.layout-split .search-control:focus-within { outline:0; }
  #oc-licence-checker.layout-split .search-field { background:#fff; border:1px solid #8ca898; border-radius:5px; }
  #oc-licence-checker.layout-split .search-field:focus-within { outline:2px solid #245b4840; outline-offset:2px; }
  #oc-licence-checker.layout-split .suggestions { left:0; top:calc(100% + 6px); }
}
@media(max-width:760px) {
  #oc-licence-checker.layout-split { grid-template-columns:minmax(0,1fr); }
  #oc-licence-checker.layout-split .licensing-main,#oc-licence-checker.layout-split .reading-guide,#oc-licence-checker.layout-split #lc-results:not([hidden]) { padding:24px; }
  #oc-licence-checker.layout-split .reading-guide { grid-row:3; }
  #oc-licence-checker.layout-split .search-intro { gap:12px; }
  #oc-licence-checker.layout-split #lc-search-title { font-size:22px; }
}
/* Approved full-width checker beneath the aligned editorial columns. */
#oc-licence-checker.layout-full .reading-guide { align-self:stretch; background:#243e32; padding-bottom:24px; }
#oc-licence-checker.layout-full .licensing-heading { display:flex; align-items:flex-start; gap:12px; }
#oc-licence-checker.layout-full .licensing-heading>span { min-width:0; }
#oc-licence-checker.layout-full .licensing-heading-icon { flex:0 0 36px; width:36px; height:36px; color:var(--lc-green); }
#oc-licence-checker.layout-full #oc-home-flow-title,
#oc-licence-checker.layout-full .reading-guide>.guide-title { font-size:28px !important; line-height:1.2 !important; }
#oc-licence-checker.layout-full .reading-guide>.guide-title { color:var(--lc-yellow) !important; margin:0 0 8px !important; }
#oc-licence-checker.layout-full .guide-subtitle { color:#fff; font-size:16px !important; font-weight:700; line-height:1.5 !important; margin:0; }
#oc-licence-checker.layout-full .check-list { gap:12px; margin:16px 0 12px; }
#oc-licence-checker.layout-full .check-list h3 { font-size:16px !important; line-height:1.3 !important; }
/* Keep the approved guide density when the homepage applies paragraph overrides. */
#oc-licence-checker.layout-full .check-list p,
#oc-licence-checker.layout-full .reading-guide details p { font-size:14px !important; line-height:1.6 !important; }
#oc-licence-checker.layout-full .reading-guide details { padding:8px 0; }
#oc-licence-checker.layout-full .original-copy p { margin:0 0 14px; }
#oc-licence-checker.layout-full .original-copy p:last-child { margin-bottom:0; }
#oc-licence-checker.layout-full>.search-module { grid-column:1 / -1; grid-row:2; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); align-items:start; gap:24px; margin:0; padding:28px 32px; background:#edf4ef; border-top:3px solid #245b48; }
#oc-licence-checker.layout-full .search-intro { display:block; }
#oc-licence-checker.layout-full #lc-search-form { min-width:0; }
#oc-licence-checker.layout-full #lc-search-title { font-size:24px !important; line-height:1.22; }
#oc-licence-checker.layout-full #lc-results:not([hidden]) { grid-row:3; }
@media(max-width:1000px) {
  #oc-licence-checker.layout-full>.search-module { grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); }
}
@media(max-width:760px) {
  #oc-licence-checker.layout-full .licensing-heading { gap:10px; }
  #oc-licence-checker.layout-full .licensing-heading-icon { flex-basis:28px; width:28px; height:28px; margin-top:2px; }
  #oc-licence-checker.layout-full #oc-home-flow-title,
  #oc-licence-checker.layout-full .reading-guide>.guide-title { font-size:26px !important; }
  #oc-licence-checker.layout-full>.search-module { grid-template-columns:minmax(0,1fr); padding:24px; }
  #oc-licence-checker.layout-full .reading-guide { grid-row:4; }
  #oc-licence-checker.layout-full #lc-search-title { font-size:22px !important; }
}
.oc-licence-checker .lc-icon { width: 20px; height: 20px; flex-shrink: 0; vertical-align: middle; }
.oc-licence-checker .lc-heading { display: grid; grid-template-columns: minmax(0,1fr) 80px; align-items: center; gap: 32px; margin-bottom: 24px; }
.oc-licence-checker .lc-heading h2 { margin: 0; }
.oc-licence-checker .eyebrow { color: var(--lc-green); font-size: 12px; font-weight: 700; text-transform: uppercase; margin: 0 0 12px; }
.oc-licence-checker .section-symbol { display: grid; place-items: center; color: var(--lc-green); width: 80px; height: 88px; }
.oc-licence-checker .section-symbol .lc-icon { width: 46px; height: 46px; }
.oc-licence-checker .licensing-copy { color: var(--lc-muted); border-bottom: 1px solid var(--lc-line); padding-bottom: 28px; }
.oc-licence-checker .licensing-copy p { margin: 0 0 20px; }
.oc-licence-checker .licensing-copy p:last-child { margin-bottom: 0; }
#oc-licence-checker .licensing-copy a { color:var(--lc-green) !important; text-decoration:underline !important; text-decoration-thickness:1.5px !important; text-underline-offset:3px; }
#oc-licence-checker .licensing-copy a:hover { text-decoration-thickness:2px !important; }
#oc-licence-checker .licensing-copy a:focus-visible { outline:2px solid var(--lc-green); outline-offset:3px; }
.oc-licence-checker .checker-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 28px; padding-top: 32px; }
.oc-licence-checker .checker { min-width: 0; }
.oc-licence-checker .checker>h3 { font-size: 24px; line-height: 1.3; margin: 0 0 23px; }
.oc-licence-checker label { display: block; font-size: 14px; font-weight: 700; color: var(--lc-muted); margin-bottom: 8px; }
.oc-licence-checker .search-control { display: flex; gap: 10px; }
.oc-licence-checker .search-field { position: relative; flex: 1; min-width: 0; }
.oc-licence-checker input { width: 100%; min-width: 0; height: 50px; border: 1px solid #9caf9f; border-radius: 4px; padding: 12px; font: inherit; font-size: 16px; background: #fff; color: var(--lc-ink); }
.oc-licence-checker button { cursor: pointer; font-family: inherit; letter-spacing: 0; }
.oc-licence-checker .gold-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 50px; border: 1px solid #d7bf4d; border-radius: 4px; padding: 12px 18px; background: var(--lc-yellow); color: #182c22; font-size: 16px; font-weight: 700; white-space: nowrap; }
.oc-licence-checker .gold-button:hover { background: #f7e68e; }
.oc-licence-checker :is(button,input,a,summary):focus-visible { outline: 3px solid #b98d11; outline-offset: 3px; }
.oc-licence-checker .checker-context { font-size: 12px; line-height: 1.6; color: var(--lc-muted); margin: 18px 0 0; }
.oc-licence-checker .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.oc-licence-checker #lc-results:not([hidden]) { margin-top: 20px; }
.oc-licence-checker .suggestions { position: absolute; z-index: 20; top: calc(100% + 6px); left: 0; right: 0; max-height: 320px; overflow-y: auto; overscroll-behavior: contain; list-style: none; margin: 0; padding: 4px; background: #fff; border: 1px solid #9caf9f; border-radius: 4px; box-shadow: 0 8px 20px #173d3020; }
.oc-licence-checker .suggestions li { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 62px; padding: 10px 12px; cursor: pointer; color: var(--lc-ink); }
.oc-licence-checker .suggestions li+li { border-top: 1px solid #e5ece8; }
.oc-licence-checker .suggestions li:hover,.oc-licence-checker .suggestions li[aria-selected=true] { background: #edf5ef; }
.oc-licence-checker .suggestions li[aria-selected=true] { box-shadow: inset 3px 0 #245b48; }
.oc-licence-checker .suggestion-copy { min-width: 0; overflow-wrap: anywhere; }
.oc-licence-checker .suggestion-copy strong,.oc-licence-checker .suggestion-copy span { display: block; }
.oc-licence-checker .suggestion-copy strong { font-size: 15px; line-height: 1.4; }
.oc-licence-checker .suggestion-copy span { font-size: 13px; color: #627469; margin-top: 2px; }
.oc-licence-checker .result { border-top: 1px solid var(--lc-line); padding-top: 22px; }
.oc-licence-checker .result-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.oc-licence-checker .result-heading>div { min-width: 0; }
.oc-licence-checker .result-heading h3 { font-size: 23px; margin: 0 0 5px; overflow-wrap: anywhere; }
.oc-licence-checker .result-logo { width: 80px; height: 56px; flex-shrink: 0; object-fit: contain; background: #fff; border: 1px solid var(--lc-line); border-radius: 4px; padding: 8px; }
.oc-licence-checker .result-domain { font-size: 14px; color: #627469; overflow-wrap: anywhere; }
.oc-licence-checker .result-summary { display: flex; align-items: start; gap: 10px; padding: 14px 16px; margin-bottom: 20px; background: #eaf5ed; color: #244f39; border-left: 3px solid #173d30; font-size: 14px; line-height: 1.5; }
.oc-licence-checker .result-summary strong { display: block; margin-bottom: 4px; }
.oc-licence-checker .result-summary.warning { background: #fbf2d8; border-color: #b0851d; color: #644d17; }
.oc-licence-checker .licence-facts { display: grid; grid-template-columns: 1.25fr 1fr; gap: 20px 24px; margin: 0 0 22px; }
.oc-licence-checker .licence-facts div { min-width: 0; }
.oc-licence-checker .licence-facts dt { font-size: 12px; color: #68776e; margin-bottom: 5px; }
.oc-licence-checker .licence-facts dd { margin: 0; font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }
.oc-licence-checker .result-actions { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; padding-top: 18px; border-top: 1px solid var(--lc-line); }
.oc-licence-checker .result-actions a { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; text-underline-offset: 4px; }
.oc-licence-checker .review-link { color: #235742; font-weight: 700; }
.oc-licence-checker .source-link { color: #53665c; margin-inline-start: auto; }
.oc-licence-checker .record-note { font-size: 12px; color: #627469; margin: 0 0 20px; line-height: 1.5; }
.oc-licence-checker .reading-guide { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; align-items: start; background: #173d30; color: #fff; padding: 26px 24px; min-width: 0; }
.oc-licence-checker .reading-guide> :is(.eyebrow,h3,.check-list) { grid-column: 1 / -1; }
.oc-licence-checker .reading-guide .eyebrow,.oc-licence-checker .check-list li>span { color: var(--lc-yellow); }
.oc-licence-checker .reading-guide>h3 { color: #fff; font-size: 23px; line-height: 1.3; margin: 0 0 24px; }
.oc-licence-checker .check-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; padding: 0; list-style: none; margin: 0 0 22px; }
.oc-licence-checker .check-list li { display: flex; gap: 12px; padding: 0; min-width: 0; }
.oc-licence-checker .check-list li+li { border-left: 1px solid #49715e; padding-left: 24px; }
.oc-licence-checker .check-list li>span { font-size: 13px; font-weight: 700; padding-top: 3px; }
.oc-licence-checker .check-list h3 { color: #fff; font-size: 16px; margin: 0 0 5px; }
.oc-licence-checker .check-list p { color: #d9e7de; font-size: 14px; line-height: 1.6; margin: 0; }
.oc-licence-checker .reading-guide details { border-top: 1px solid #49715e; padding: 15px 0; }
.oc-licence-checker .reading-guide summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 700; }
.oc-licence-checker .reading-guide summary::-webkit-details-marker { display: none; }
.oc-licence-checker .reading-guide details[open] summary svg { transform: rotate(45deg); }
.oc-licence-checker .reading-guide details p { font-size: 14px; color: #d9e7de; margin: 12px 0 0; }
.oc-licence-checker .empty-result { padding: 22px 0 0; border-top: 1px solid var(--lc-line); }
.oc-licence-checker .empty-result h3 { font-size: 20px; }
.oc-licence-checker .empty-result p { font-size: 15px; color: var(--lc-muted); }
.oc-licence-checker .matches { display: grid; border-top: 1px solid var(--lc-line); }
.oc-licence-checker .match-button { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; text-align: left; background: transparent; color: var(--lc-ink); border: 0; border-bottom: 1px solid var(--lc-line); padding: 16px 0; font-size: 15px; }
.oc-licence-checker .match-button small { display: block; color: #627469; margin-top: 4px; overflow-wrap: anywhere; }
.oc-licence-checker .loading,.oc-licence-checker .mapping-details { font-size: 14px; color: var(--lc-muted); }
.oc-licence-checker .mapping-details { margin-bottom: 20px; }
.oc-licence-checker .mapping-list { padding: 0; list-style: none; }
.oc-licence-checker .mapping-list li { padding: 10px 0; border-top: 1px solid var(--lc-line); }
.oc-licence-checker .mapping-list strong,.oc-licence-checker .mapping-list span { display: block; overflow-wrap: anywhere; }
.oc-licence-checker .mapping-list span { font-size: 12px; margin-top: 4px; }
@media(max-width:1100px) {
  .oc-licence-checker { padding: 28px; }
  .oc-licence-checker .checker-layout { gap: 28px; }
}
@media(max-width:760px) {
  .oc-licence-checker .checker-layout { grid-template-columns: 1fr; }
  .oc-licence-checker .search-control { flex-direction: column; }
  .oc-licence-checker .reading-guide,.oc-licence-checker .check-list { grid-template-columns: minmax(0,1fr); }
  .oc-licence-checker .check-list { gap: 18px; }
  .oc-licence-checker .check-list li+li { border-left: 0; border-top: 1px solid #49715e; padding: 18px 0 0; }
  .oc-licence-checker .lc-heading { grid-template-columns: minmax(0,1fr) 42px; gap: 16px; }
  .oc-licence-checker .section-symbol { width: 42px; height: 48px; }
  .oc-licence-checker .section-symbol .lc-icon { width: 36px; height: 36px; }
}
@media(max-width:480px) {
  .oc-licence-checker { padding: 24px 18px; }
  .oc-licence-checker .lc-heading { display: flex; flex-direction: column-reverse; align-items: start; }
  .oc-licence-checker .licence-facts { grid-template-columns: 1fr; }
  .oc-licence-checker .reading-guide { padding: 24px 18px; }
  .oc-licence-checker .checker>h3 { font-size: 22px; }
}
