/* CAS Radiocarbon viewer 1.3 — visually aligned to the Cornwall Archaeological Society's charcoal/ochre identity.
   Scoped rules: no site header, navigation, content width or theme font changes. */
.cas-rc {
  --cas-rc-ink:#393936;
  --cas-rc-charcoal:#4b4a47;
  --cas-rc-muted:#66655f;
  --cas-rc-gold:#e4b547;
  --cas-rc-ochre:#9b6817;
  --cas-rc-gold-light:#fbf5e7;
  --cas-rc-border:#dbd8d0;
  --cas-rc-soft:#f8f7f3;
  --cas-rc-alert:#ae534b;
  /* Respect the host theme's content box. On templates without a content gutter,
     provide one; never let the plugin span the viewport edge-to-edge. */
  --cas-rc-page-gutter:clamp(16px,4vw,52px);
  box-sizing:border-box;
  display:block;
  width:min(100%, calc(100vw - 2 * var(--cas-rc-page-gutter)), 1180px);
  max-width:100%;
  min-width:0;
  margin:1.4rem auto 2.5rem;
  padding:0;
  /* The sidebar/map layout follows actual available content width. */
  container-name:cas-radiocarbon;
  container-type:inline-size;
  overflow-wrap:anywhere;
  color:var(--cas-rc-ink);
  font-family:inherit; /* Use the actual CAS WordPress theme typeface */
  font-size:1rem;line-height:1.55;
}
.cas-rc *,.cas-rc *::before,.cas-rc *::after{box-sizing:border-box}
.cas-rc h2,.cas-rc h3,.cas-rc h4{color:var(--cas-rc-charcoal);font-family:inherit;letter-spacing:normal;text-transform:none;line-height:1.25;margin:0 0 .45em}
.cas-rc h2{font-size:clamp(1.35rem,2.3vw,1.75rem);font-weight:700}
.cas-rc h3{font-size:1.17rem;font-weight:700}
.cas-rc h4{font-size:1rem;font-weight:700}
.cas-rc p{margin:.25em 0 .85em}
.cas-rc a{color:var(--cas-rc-ochre);text-decoration:underline;text-underline-offset:2px}
.cas-rc a:hover{color:#795111}
.cas-rc-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.3rem;margin:0 0 1.3rem;padding:0 0 1rem;border-bottom:3px solid var(--cas-rc-gold)}
.cas-rc-heading>div:first-child{max-width:780px}
.cas-rc-kicker{font-size:.73rem;font-weight:700;letter-spacing:.085em;text-transform:uppercase;color:var(--cas-rc-muted);margin:0 0 .35rem!important}
.cas-rc-heading h2{margin:0 0 .45rem}
.cas-rc-heading p:last-child{font-size:.91rem;line-height:1.55;color:#575650;margin-bottom:0}
.cas-rc-stats{min-width:137px;text-align:right;white-space:nowrap;padding:.25rem 0}
.cas-rc-stats span{font-size:1.5rem;display:block;font-weight:700;color:var(--cas-rc-charcoal);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.cas-rc-stats small{display:block;font-size:.75rem;color:var(--cas-rc-muted)}
.cas-rc-layout{display:grid;grid-template-columns:minmax(220px,275px) minmax(0,1fr);align-items:stretch;gap:1rem;width:100%;max-width:100%;min-width:0}
.cas-rc-panel{border:1px solid var(--cas-rc-border);background:var(--cas-rc-soft);padding:1.1rem;border-radius:2px;min-width:0}
.cas-rc-panel-head{font-size:.74rem;letter-spacing:.075em;text-transform:uppercase;font-weight:700;color:var(--cas-rc-ochre);margin:0 0 1rem!important}
.cas-rc-field{margin-bottom:.83rem;min-width:0}
.cas-rc-field label{display:block;font-weight:700;font-size:.82rem;color:var(--cas-rc-charcoal);line-height:1.35}
.cas-rc-field input,.cas-rc-field select{
  display:block;width:100%;min-height:40px;min-width:0;margin-top:.34rem;
  border:1px solid #c8c5bd!important;border-radius:2px!important;background:#fff!important;
  color:var(--cas-rc-ink)!important;padding:8px 9px!important;
  font-family:inherit!important;font-size:.86rem!important;font-weight:400!important;line-height:1.3!important;
  box-shadow:none!important;max-width:100%!important;
}
.cas-rc-field input:focus-visible,.cas-rc-field select:focus-visible,.cas-rc button:focus-visible,.cas-rc a:focus-visible,.cas-rc .leaflet-control a:focus-visible{outline:3px solid var(--cas-rc-gold)!important;outline-offset:2px}
.cas-rc-fields-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.5rem}
.cas-rc-range{border:0!important;margin:0;padding:0;min-width:0}
.cas-rc-range legend{font-size:.82rem;font-weight:700;color:var(--cas-rc-charcoal);margin:0 0 .25rem;padding:0}
.cas-rc-check{display:flex;align-items:flex-start;gap:.5rem;margin:.55rem 0;font-size:.81rem;color:var(--cas-rc-charcoal);font-weight:400;line-height:1.45}
.cas-rc-check input{flex:none;margin:.25rem 0 0}
.cas-rc-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin:1rem 0}
.cas-rc button{font-family:inherit!important;font-size:.81rem!important;font-weight:700!important;line-height:1.2;cursor:pointer;background:#fff!important;border:1px solid #b9b5aa!important;color:var(--cas-rc-charcoal)!important;border-radius:2px!important;padding:.56rem .78rem!important;text-transform:none;min-height:34px}
.cas-rc button:hover{background:var(--cas-rc-gold-light)!important;border-color:var(--cas-rc-ochre)!important;color:#65430f!important}
.cas-rc button:active{background:var(--cas-rc-gold)!important}
.cas-rc button[hidden],.cas-rc [hidden]{display:none!important}
.cas-rc-small{font-size:.75rem;color:var(--cas-rc-muted);line-height:1.5}
.cas-rc-panel .cas-rc-small{border-top:1px solid var(--cas-rc-border);padding-top:.8rem;margin-top:.7rem}
.cas-rc-map-area{min-width:0;max-width:100%;border:1px solid var(--cas-rc-border);border-radius:2px;background:#f0ede7;overflow:hidden}
.cas-rc-map{height:525px;width:100%;max-width:100%;z-index:0;background:#e5e1d7}
.cas-rc-map-caption{font-size:.74rem;color:var(--cas-rc-muted);line-height:1.5;padding:.55rem .78rem .42rem!important;margin:0!important;background:#fff;border-top:1px solid var(--cas-rc-border)}
.cas-rc-dot{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:baseline;margin-left:.65rem;margin-right:.15rem;border:1px solid rgba(40,40,40,.22)}
.cas-rc-dot:first-child{margin-left:0}
.cas-rc-dot-b{background:#c18a26}.cas-rc-dot-c{background:#a95047}
.cas-rc .leaflet-container{font-family:inherit;font-size:13px;background:#e5e1d7}
.cas-rc .leaflet-control-zoom,.cas-rc .leaflet-control-layers{border:1px solid rgba(57,57,54,.25);border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.11)}
.cas-rc .leaflet-control-zoom a{background:#fff;color:var(--cas-rc-charcoal);border-color:var(--cas-rc-border)}
.cas-rc .leaflet-control-zoom a:hover{background:var(--cas-rc-gold-light)}
.cas-rc .leaflet-control-layers-toggle{width:34px;height:34px;background-size:19px 19px}
.cas-rc .leaflet-control-layers-expanded{background:#fff;color:var(--cas-rc-ink);font-family:inherit;font-size:13px;padding:.65rem .8rem}
.cas-rc .leaflet-control-layers-expanded label{font-weight:400;color:var(--cas-rc-ink);font-size:13px;margin:.35em 0}
.cas-rc .leaflet-popup-content-wrapper{border-radius:3px}
.cas-rc .leaflet-popup-content{max-width:300px;line-height:1.5;overflow-wrap:anywhere}
.cas-rc .leaflet-popup-content strong{color:var(--cas-rc-charcoal)}
.cas-rc .leaflet-control-attribution{font-size:10px!important;background:rgba(255,255,255,.85)!important;max-width:100%;line-height:1.35!important}
.cas-rc .leaflet-control-attribution a{color:#72521a}
.cas-rc-popup p{margin:.45rem 0}
.cas-rc-bottom{margin-top:1.35rem}
.cas-rc-record-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.7rem}
.cas-rc-record-header p{font-size:.81rem;color:var(--cas-rc-muted);margin:0}
.cas-rc-record-header a{font-weight:700;font-size:.82rem;white-space:nowrap}
.cas-rc-records{overflow-x:auto;max-width:100%;min-width:0;border:1px solid var(--cas-rc-border);border-radius:2px}
.cas-rc-records table{border:0;width:100%;border-collapse:collapse;min-width:650px;margin:0;font-size:.85rem;font-family:inherit}
.cas-rc-records th,.cas-rc-records td{padding:.6rem .66rem;border-bottom:1px solid #e9e6de;text-align:left;vertical-align:top}
.cas-rc-records th{font-weight:700;background:#f1efe9;color:var(--cas-rc-charcoal);white-space:nowrap;border-top:2px solid var(--cas-rc-gold)}
.cas-rc-records tr:nth-child(even){background:#fcfbf8}
.cas-rc-records td:first-child{font-weight:700;min-width:145px}
.cas-rc-records tr:last-child td{border-bottom:0}
.cas-rc-muted{color:#77746e}
.cas-rc-paging{text-align:center;padding:.9rem}
.cas-rc-details{margin:1rem 0;border:1px solid var(--cas-rc-border);border-left:4px solid var(--cas-rc-gold);border-radius:2px;padding:1.15rem;background:#fcfbf8;overflow-wrap:anywhere}
.cas-rc-detail-title{display:flex;align-items:center;justify-content:space-between;gap:.6rem}
.cas-rc-details dl{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:.5rem .75rem;margin:.75rem 0}
.cas-rc-details dt{font-weight:700;font-size:.82rem;color:#57544e}
.cas-rc-details dd{margin:0;font-size:.86rem}
.cas-rc-source{white-space:pre-wrap;overflow-wrap:anywhere}
.cas-rc-footer{margin-top:1.3rem;border-top:2px solid var(--cas-rc-gold);padding-top:.9rem;color:var(--cas-rc-muted);font-size:.79rem}
.cas-rc-footer p{margin:.3rem 0 .7rem}
.cas-rc-error,.cas-rc-empty{padding:1rem;color:#914239}
.cas-rc-loading{padding:1.2rem}
@media(max-width:820px){.cas-rc-layout{grid-template-columns:minmax(0,1fr)}.cas-rc-map{height:435px}.cas-rc-panel{display:block}.cas-rc-heading{flex-wrap:wrap}.cas-rc-stats{text-align:left;padding:0}.cas-rc-record-header{flex-wrap:wrap}}
@media(max-width:460px){.cas-rc-map{height:345px}.cas-rc-fields-two{grid-template-columns:1fr}.cas-rc-details dl{grid-template-columns:1fr;gap:.1rem}.cas-rc-details dd{margin-bottom:.45rem}.cas-rc-heading{gap:.5rem}}

/* Container-based breakpoints also cover CAS's narrow editorial columns on
   wide-screen devices. Media queries above are retained for older browsers. */
@container cas-radiocarbon (max-width:820px) {
  .cas-rc-layout{grid-template-columns:minmax(0,1fr)}
  .cas-rc-map{height:435px}
  .cas-rc-heading,.cas-rc-record-header{flex-wrap:wrap}
  .cas-rc-stats{text-align:left;padding:0}
}
@container cas-radiocarbon (max-width:460px) {
  .cas-rc-map{height:345px}
  .cas-rc-fields-two{grid-template-columns:minmax(0,1fr)}
  .cas-rc-details dl{grid-template-columns:minmax(0,1fr);gap:.1rem}
  .cas-rc-details dd{margin-bottom:.45rem}
  .cas-rc-heading{gap:.5rem}
}
