@import url("site-unified.css");

/* Shared mobile header menu for internal pages. */
.site-menu-toggle,
.site-mobile-actions {
  display: none;
}

@media (max-width: 900px) {
  .header {
    overflow: visible;
  }

  .header > .nav {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 30;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 2px;
    padding: 10px;
    border: 1px solid rgba(16, 36, 63, .10);
    border-radius: 16px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 18px 40px rgba(18, 45, 75, .12);
    backdrop-filter: blur(18px);
  }

  .header.menu-open > .nav {
    display: flex;
  }

  .header > .nav > a {
    display: block;
    padding: 10px 12px;
    border-radius: 10px;
    text-align: center;
  }

  .header > .nav > a:hover,
  .header > .nav > a:focus-visible {
    background: #f1f4f7;
  }

  .header > .actions > .btn {
    display: none;
  }

  .site-menu-toggle {
    display: inline-flex;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid rgba(16, 36, 63, .12);
    border-radius: 12px;
    background: #fff;
    color: #10243f;
    font: 600 20px/1 Arial, sans-serif;
    cursor: pointer;
  }

  .site-mobile-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid rgba(16, 36, 63, .08);
  }

  .site-mobile-actions a {
    display: flex !important;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 0 16px !important;
    border: 1px solid rgba(16, 36, 63, .14);
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 700;
    text-align: center;
  }

  .site-mobile-consult {
    border-color: #17385f !important;
    background: #17385f !important;
    color: #fff !important;
  }

  .site-mobile-max {
    background: #fff !important;
    color: #17385f !important;
  }
}

@media (max-width: 520px) {
  .site-menu-toggle {
    width: 42px;
    height: 42px;
  }
}

/* Shared header and footer used on every page. */
.header .logo,
.header .logo-wrap{display:flex!important;width:58px!important;height:46px!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;text-decoration:none!important}
.header .logo img,
.header .logo-wrap img{display:block!important;width:58px!important;height:40px!important;object-fit:contain!important}
.header .actions,
.header .header-actions{display:flex!important;align-items:center!important;gap:8px!important}
.site-menu-toggle{flex:0 0 auto}
.footer .site-footer-inner{width:min(1240px,calc(100% - 40px));margin:auto;display:flex;justify-content:space-between;align-items:flex-start;gap:34px;padding-top:24px;border-top:1px solid rgba(16,36,63,.14);font-size:12px;line-height:1.7}
.footer .site-footer-brand img{display:block;width:160px;height:auto;margin-bottom:14px;filter:brightness(0) invert(1);opacity:.96}
.footer .site-footer-documents{display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.footer .site-footer-documents strong{margin-bottom:6px;color:inherit;font-size:13px}
.footer .site-footer-documents a{color:inherit;text-decoration:none}
.footer .site-footer-developer{margin-top:10px;color:inherit;text-decoration:underline;text-underline-offset:3px}
.case-card-clickable{position:relative!important;cursor:pointer}
.case-card-clickable .case-card-cover{position:absolute;z-index:3;inset:0;display:block;border-radius:inherit}
.case-card-clickable .case-link{position:relative;z-index:4}
.case-card-clickable .case-card-cover:focus-visible{outline:3px solid rgba(35,117,185,.55);outline-offset:-4px}

/* Compact layout shared by every individual case page. */
.case-detail-page main{padding-top:64px!important;padding-bottom:76px!important}
.case-detail-page .breadcrumb{margin-bottom:28px!important}
.case-detail-page .hero{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;gap:32px!important;padding:38px!important;border-radius:20px!important}
.case-detail-page .hero h1{margin-bottom:18px!important;font-size:clamp(42px,4.2vw,64px)!important;line-height:1!important;letter-spacing:-.045em!important}
.case-detail-page .hero .lead{font-size:18px!important;line-height:1.48!important}
.case-detail-page .result-card{min-height:190px!important;padding:26px!important;border-radius:16px!important}
.case-detail-page .result-card strong{font-size:32px!important;line-height:1.05!important}
.case-detail-page .result-card span{font-size:11px!important}
.case-detail-page .meta{margin-top:20px!important;border-radius:15px!important}
.case-detail-page .meta div{padding:18px 20px!important}
.case-detail-page .content{margin-top:48px!important;gap:14px!important}
.case-detail-page .block{min-height:190px!important;padding:26px!important;border-radius:16px!important}
.case-detail-page .block span{margin-bottom:18px!important;font-size:11px!important}
.case-detail-page .block h2{margin-bottom:13px!important;font-size:30px!important;line-height:1.08!important}
.case-detail-page .block p{font-size:16px!important;line-height:1.58!important}
.case-detail-page .court-document{margin-top:48px!important;padding:30px!important}
.case-detail-page .cta{margin-top:52px!important;padding:34px!important}
.case-detail-page .cta h2{font-size:36px!important}

@media (max-width: 900px) {
  .header{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:8px!important;padding:8px 10px 8px 14px!important}
  .header .actions,
  .header .header-actions{justify-self:end!important;min-width:0!important}
  .header .actions>.btn,
  .header .header-actions>.btn,
  .header .header-actions>.max-btn{display:inline-flex!important;width:auto!important;min-height:42px!important;height:42px!important;padding:0 12px!important;border-radius:11px!important;font-size:11px!important;white-space:nowrap!important}
  .header .actions>.site-header-consult,
  .header .header-actions>.site-header-consult{background:#17385f!important;border-color:#17385f!important;color:#fff!important}
  .header .actions>.site-header-max,
  .header .header-actions>.site-header-max{background:#fff!important;border-color:rgba(23,56,95,.14)!important;color:#17385f!important}
  .header .logo,
  .header .logo-wrap{width:48px!important;height:42px!important}
  .header .logo img,
  .header .logo-wrap img{width:48px!important;height:36px!important}
}

@media (max-width: 520px) {
  .header{width:calc(100% - 16px)!important;top:8px!important;padding:7px 8px!important;grid-template-columns:46px minmax(0,1fr)!important}
  .header .actions,
  .header .header-actions{gap:5px!important}
  .header .actions>.btn,
  .header .header-actions>.btn,
  .header .header-actions>.max-btn{height:40px!important;min-height:40px!important;padding:0 9px!important;font-size:10px!important}
  .site-menu-toggle{width:40px!important;height:40px!important}
  .footer{padding-bottom:24px!important}
  .footer .site-footer-inner{width:calc(100% - 24px);flex-direction:column;gap:24px;padding-bottom:18px}
  .footer .site-footer-brand img{width:150px}
  .footer .site-footer-developer{margin-top:12px}

  /* Compact case-detail cards on phones. */
  .hero .result-card{min-height:138px!important;padding:22px!important;border-radius:16px!important}
  .hero .result-card strong{font-size:32px!important;line-height:1.02!important}
  .hero .result-card span{font-size:11px!important}
  .meta div{padding:15px 18px!important}
  .meta small{margin-bottom:5px!important;font-size:12px!important}
  .meta b{font-size:15px!important;line-height:1.35!important}
  .content{gap:12px!important}
  .content .block{min-height:0!important;padding:20px!important;border-radius:15px!important}
  .content .block span{margin-bottom:16px!important;font-size:10px!important}
  .content .block h2{margin-bottom:12px!important;font-size:28px!important;line-height:1.08!important}
  .content .block p{font-size:14px!important;line-height:1.55!important}

  .case-detail-page main{padding-top:42px!important;padding-bottom:58px!important}
  .case-detail-page .breadcrumb{margin-bottom:24px!important}
  .case-detail-page .hero{grid-template-columns:1fr!important;gap:22px!important;padding:22px!important}
  .case-detail-page .hero h1{font-size:38px!important}
  .case-detail-page .hero .lead{font-size:16px!important}
  .case-detail-page .hero .result-card{min-height:122px!important;padding:19px!important;border-radius:15px!important}
  .case-detail-page .hero .result-card strong{font-size:28px!important}
  .case-detail-page .hero .result-card span{font-size:10px!important}
  .case-detail-page .meta div{padding:14px 17px!important}
  .case-detail-page .meta small{font-size:11px!important}
  .case-detail-page .meta b{font-size:14px!important}
  .case-detail-page .content{margin-top:34px!important;gap:11px!important}
  .case-detail-page .content .block{padding:19px!important}
  .case-detail-page .content .block span{margin-bottom:14px!important}
  .case-detail-page .content .block h2{margin-bottom:10px!important;font-size:26px!important}
  .case-detail-page .content .block p{font-size:14px!important;line-height:1.5!important}
  .case-detail-page .court-document{margin-top:34px!important;padding:20px!important}
  .case-detail-page .cta{margin-top:38px!important;padding:24px!important}
  .case-detail-page .cta h2{font-size:29px!important}
}

/* Wide desktop: the same readable 15 / 18 / 22 px text system on
   article and individual-case pages. Mobile rules above are unchanged. */
@media (min-width: 1500px) {
  .article-page .container{
    width:min(1600px,calc(100% - 64px))!important;
    max-width:none!important;
  }
  .article-page .header,
  .case-detail-page .header,
  .case-detail-page .wrap,
  .article-page .site-footer-inner,
  .case-detail-page .site-footer-inner{
    width:min(1840px,calc(100% - 64px))!important;
    max-width:none!important;
  }

  .article-page .hero{padding:88px 0 48px!important}
  .article-page .article-layout{padding-bottom:72px!important}
  .article-page .article-body h2{margin-top:36px!important}
  .article-page .related{padding-bottom:68px!important}
  .article-page .hero .lead{font-size:22px!important;line-height:1.3!important}
  .article-page .article-body p,
  .article-page .article-body li,
  .article-page .summary p{font-size:18px!important}
  .article-page .updated,
  .article-page .legal-note{font-size:15px!important}

  .case-detail-page main{padding-top:56px!important;padding-bottom:64px!important}
  .case-detail-page .content{margin-top:42px!important}
  .case-detail-page .court-document{margin-top:42px!important}
  .case-detail-page .cta{margin-top:44px!important}
  .case-detail-page .hero .lead{font-size:22px!important;line-height:1.3!important}
  .case-detail-page .content .block p,
  .case-detail-page .court-document-copy p,
  .case-detail-page .meta b{font-size:18px!important}
  .case-detail-page .result-card span,
  .case-detail-page .official{font-size:15px!important}
}

/* Shared consultation modal for internal pages. */
body.modal-open{overflow:hidden}
.shared-consultation-modal{position:fixed;z-index:2200;inset:0;display:grid;place-items:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .16s ease}
.shared-consultation-modal.open{opacity:1;pointer-events:auto}
.shared-consultation-modal .consultation-backdrop{position:absolute;inset:0;background:rgba(8,27,48,.58);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.shared-consultation-modal .consultation-dialog{position:relative;width:min(580px,100%);max-height:calc(100vh - 24px);overflow:auto;padding:26px 30px;border:1px solid rgba(255,255,255,.72);border-radius:20px;background:linear-gradient(145deg,rgba(244,249,252,.97),rgba(225,235,244,.96));box-shadow:0 30px 90px rgba(8,27,48,.28);transform:translateY(10px);transition:transform .18s cubic-bezier(.22,1,.36,1)}
.shared-consultation-modal.open .consultation-dialog{transform:translateY(0)}
.shared-consultation-modal .consultation-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid rgba(16,36,63,.13);border-radius:11px;background:rgba(255,255,255,.72);color:#17385f;font-size:24px;line-height:1;cursor:pointer}
.shared-consultation-modal .consultation-head>span{color:#60758b;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.shared-consultation-modal .consultation-head h2{margin:8px 42px 6px 0;font-size:42px;line-height:1.04;color:#10243f}
.shared-consultation-modal .consultation-head p{margin:0;color:#66778a;font-size:15px;line-height:1.45}
.shared-consultation-modal .consultation-form{display:grid;gap:12px;margin-top:20px}
.shared-consultation-modal .form-field{display:grid;gap:6px}
.shared-consultation-modal .form-field>span,.shared-consultation-modal .contact-method legend{color:#243b56;font-size:12px;font-weight:700}
.shared-consultation-modal .form-field small{color:#7a8794;font-weight:400}
.shared-consultation-modal .form-field input,.shared-consultation-modal .form-field textarea{box-sizing:border-box;width:100%;min-height:52px;padding:0 15px;border:1px solid rgba(16,36,63,.14);border-radius:11px;outline:0;background:rgba(255,255,255,.78);color:#10243f;font:inherit}
.shared-consultation-modal .form-field textarea{min-height:82px;padding-top:12px;resize:vertical}
.shared-consultation-modal .contact-method{min-width:0;margin:0;padding:0;border:0}
.shared-consultation-modal .contact-method-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:7px}
.shared-consultation-modal .contact-method-options label{position:relative}
.shared-consultation-modal .contact-method-options input{position:absolute;opacity:0;pointer-events:none}
.shared-consultation-modal .contact-method-options span{min-height:42px;display:grid;place-items:center;padding:0 8px;border:1px solid rgba(16,36,63,.14);border-radius:11px;background:rgba(255,255,255,.58);color:#4c6076;font-size:12px;cursor:pointer}
.shared-consultation-modal .contact-method-options input:checked+span{background:#17385f;color:#fff;border-color:#17385f}
.shared-consultation-modal .consultation-agreements{display:grid;gap:9px}
.shared-consultation-modal .consultation-agreement{position:relative;display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;color:#60758a;font-size:11px;line-height:1.42;cursor:pointer}
.shared-consultation-modal .consultation-agreement input{position:absolute;opacity:0;pointer-events:none}
.shared-consultation-modal .agreement-box{width:20px;height:20px;display:grid;place-items:center;border:1px solid rgba(16,36,63,.24);border-radius:5px;background:rgba(255,255,255,.78)}
.shared-consultation-modal .consultation-agreement input:checked+.agreement-box{border-color:#17385f;background:#17385f}
.shared-consultation-modal .consultation-agreement input:checked+.agreement-box:after{content:'✓';color:#fff;font-size:14px;font-weight:800}
.shared-consultation-modal .consultation-agreement a{color:#17385f;font-weight:700;text-underline-offset:2px}
.shared-consultation-modal .consultation-submit{width:100%;min-height:50px;border:0;border-radius:12px;background:#17385f;color:#fff;font-weight:750;cursor:pointer}
.shared-consultation-modal .consultation-submit:disabled{cursor:not-allowed;opacity:.48}
.shared-consultation-modal .consultation-status{margin:0;color:#17385f;font-size:13px;line-height:1.4;text-align:center}
.shared-consultation-modal .consultation-status a{color:inherit;font-weight:700}
@media(max-width:700px){.shared-consultation-modal{padding:8px}.shared-consultation-modal .consultation-dialog{max-height:calc(100vh - 16px);padding:28px 18px 22px;border-radius:18px}.shared-consultation-modal .consultation-head h2{font-size:34px}.shared-consultation-modal .contact-method-options{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.shared-consultation-modal,.shared-consultation-modal .consultation-dialog{transition:none}}
