/*
Theme Name: CondoJurist
Theme URI: https://condojurist.com/
Author: CondoJurist
Description: Formal block theme for the CondoJurist Taiwan condominium law knowledge and decision-support platform.
Version: 0.2.9
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: condojurist-theme
*/

:root{--cj-navy:#16243a;--cj-navy-2:#233653;--cj-warm:#f7f4ed;--cj-paper:#fffdf8;--cj-copper:#9a7045;--cj-line:#d9d5cc;--cj-muted:#667085;--cj-green:#1f7a4d;--cj-yellow:#9b6a00;--cj-red:#a63333}
html{scroll-behavior:smooth}body{font-feature-settings:"kern" 1,"liga" 1}.wp-site-blocks{min-height:100vh}.cj-site-header{border-bottom:1px solid var(--cj-line);background:rgba(255,253,248,.96);backdrop-filter:blur(12px);position:sticky;top:0;z-index:20}.cj-site-header .wp-block-site-title a{text-decoration:none}.cj-kicker{letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:700;color:var(--cj-copper)}.cj-home-hero{min-height:64vh;display:flex;align-items:center}.cj-home-title{max-width:900px}.cj-home-title strong{font-weight:700}.cj-law-search{border:1px solid var(--cj-line);border-radius:18px;background:var(--cj-paper);padding:1rem;box-shadow:0 14px 38px rgba(22,36,58,.08)}.cj-feature-card{height:100%;border:1px solid var(--cj-line);border-radius:16px;padding:1.25rem;background:var(--cj-paper)}.cj-feature-card h3{margin-top:.2rem}.cj-legal-note{border-left:3px solid var(--cj-copper);padding-left:1rem;color:var(--cj-muted)}.cj-footer{border-top:1px solid var(--cj-line)}.wp-block-button.is-style-outline>.wp-block-button__link{border-color:var(--cj-navy);color:var(--cj-navy)}
body .cj-app{--cj-border:var(--cj-line);--cj-muted:var(--cj-muted);--cj-bg:var(--cj-warm);--cj-card:var(--cj-paper);--cj-text:var(--cj-navy);--cj-accent:var(--cj-navy);font-family:inherit}body .cj-app .cj-hero{box-shadow:0 16px 40px rgba(22,36,58,.06)}body .cj-app a{color:var(--cj-navy-2)}
@media(max-width:782px){.cj-site-header{position:relative}.cj-home-hero{min-height:auto;padding-block:3rem}}


/* v0.2.1 application-page integration */
body.page-condojurist .cj-app{max-width:min(1380px,calc(100vw - 56px));margin:20px auto 42px}
body.page-condojurist .cj-app .cj-brand{display:none}
body.page-condojurist .cj-app .cj-hero{padding:30px 34px}
body.page-condojurist .cj-app .cj-hero h1{font-size:clamp(2rem,3vw,2.7rem);margin-top:0}
body.page-condojurist .cj-app .cj-panel{padding:28px 30px}
body.page-condojurist .wp-site-blocks>main{max-width:none}
@media(max-width:782px){body.page-condojurist .cj-app{max-width:calc(100vw - 28px);margin:14px auto 28px}body.page-condojurist .cj-app .cj-hero,body.page-condojurist .cj-app .cj-panel{padding:20px}}

/* v0.2.2 CondoJurist application integration */
body.page-condojurist .cj-app{max-width:min(1540px,calc(100vw - 48px));margin:18px auto 42px}
body.page-condojurist .cj-app .cj-hero{padding:24px 28px}
body.page-condojurist .cj-app .cj-panel{padding:26px 28px}
@media(max-width:782px){body.page-condojurist .cj-app{max-width:calc(100vw - 24px);margin:12px auto 28px}body.page-condojurist .cj-app .cj-hero,body.page-condojurist .cj-app .cj-panel{padding:18px}}

/* v0.2.3: global header is brand-level navigation only; module navigation lives inside the app. */


/* v0.2.4: formal CondoJurist visual banner on the application page. */
body.page-condojurist .cj-site-banner{
  width:min(1540px,calc(100vw - 48px));
  margin:22px auto 0;
  border:1px solid var(--cj-line);
  border-radius:18px;
  overflow:hidden;
  background:var(--cj-paper);
  box-shadow:0 16px 42px rgba(22,36,58,.07);
  line-height:0;
}
body.page-condojurist .cj-site-banner picture,
body.page-condojurist .cj-site-banner img{display:block;width:100%;height:auto}
/* The banner carries the visible platform title; keep the app h1 available to assistive technology only. */
body.page-condojurist .cj-hero-single h1{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
body.page-condojurist .cj-hero-single p{display:none}
body.page-condojurist .cj-app .cj-hero{padding:18px 24px}
@media(max-width:782px){
  body.page-condojurist .cj-site-banner{width:calc(100vw - 24px);margin:12px auto 0;border-radius:12px}
  body.page-condojurist .cj-app .cj-hero{padding:14px}
}


/* v0.2.5: banner sizing and single-stage-ready masthead. */
body.page-condojurist .cj-site-banner.cj-banner--compact{
  width:min(1540px,calc(100vw - 48px));
  height:clamp(190px,15vw,260px);
  margin:18px auto 0;
}
body.page-condojurist .cj-site-banner.cj-banner--compact picture,
body.page-condojurist .cj-site-banner.cj-banner--compact img{
  width:100%;
  height:100%;
}
body.page-condojurist .cj-site-banner.cj-banner--compact img{
  object-fit:cover;
  object-position:center 50%;
}
.cj-site-banner.cj-banner--full{
  width:min(1540px,calc(100vw - 48px));
  margin:22px auto 28px;
  border:1px solid var(--cj-line);
  border-radius:18px;
  overflow:hidden;
  background:var(--cj-paper);
  box-shadow:0 16px 42px rgba(22,36,58,.07);
  line-height:0;
}
.cj-site-banner.cj-banner--full picture,
.cj-site-banner.cj-banner--full img{display:block;width:100%;height:auto}
@media(max-width:782px){
  body.page-condojurist .cj-site-banner.cj-banner--compact{
    width:calc(100vw - 24px);
    height:clamp(130px,29vw,180px);
    margin:12px auto 0;
    border-radius:12px;
  }
  .cj-site-banner.cj-banner--full{width:calc(100vw - 24px);margin:12px auto 20px;border-radius:12px}
}


/* v0.2.6: one shared shell width for banner and application workspace. */
body.page-condojurist{
  --cj-shell-max:1480px;
  --cj-shell-gutter:48px;
}
body.page-condojurist .wp-block-post-content{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.page-condojurist .cj-site-banner.cj-banner--compact,
body.page-condojurist .cj-app{
  width:min(var(--cj-shell-max),calc(100vw - var(--cj-shell-gutter)))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.page-condojurist .cj-site-banner.cj-banner--compact{
  margin-top:18px!important;
}
@media(max-width:782px){
  body.page-condojurist{--cj-shell-gutter:24px}
}


/* v0.2.8: quieter wordmark header + reliable global scroll-to-top. */
.cj-site-header .alignwide{
  width:min(1480px,calc(100vw - 48px));
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.cj-wordmark-link{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  text-decoration:none!important;
  line-height:1;
  border-radius:8px;
  padding:2px 4px;
  transition:opacity .16s ease,background .16s ease,box-shadow .16s ease;
}
.cj-wordmark-link:hover{background:rgba(154,112,69,.055)}
.cj-wordmark-link:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(154,112,69,.20);
}
.cj-wordmark{
  display:inline-flex;
  align-items:baseline;
  font-family:Georgia,"Times New Roman","Noto Serif TC",serif;
  font-size:21px;
  font-weight:700;
  letter-spacing:.005em;
}
.cj-wordmark-condo{color:var(--cj-navy)}
.cj-wordmark-jurist{color:#b5802e}
.cj-about-text-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:2px 4px;
  color:var(--cj-navy)!important;
  text-decoration:none!important;
  font-size:14px;
  font-weight:650;
  letter-spacing:.12em;
  border-radius:7px;
  opacity:.80;
  transition:opacity .16s ease,color .16s ease,background .16s ease,box-shadow .16s ease;
}
.cj-about-text-link::after{
  content:"";
  position:absolute;
  left:5px;
  right:calc(5px + .12em);
  bottom:5px;
  height:1px;
  background:#b5802e;
  transform:scaleX(.38);
  transform-origin:center;
  opacity:.55;
  transition:transform .16s ease,opacity .16s ease;
}
.cj-about-text-link:hover{opacity:1;background:rgba(154,112,69,.045)}
.cj-about-text-link:hover::after{transform:scaleX(1);opacity:.9}
.cj-about-text-link:focus-visible{
  outline:none;
  opacity:1;
  box-shadow:0 0 0 3px rgba(154,112,69,.20);
}
.cj-global-scroll-top{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:10000;
  width:44px;
  height:44px;
  border:1.5px solid rgba(22,36,58,.30);
  border-radius:50%;
  background:rgba(255,253,248,.97);
  color:#16243a;
  box-shadow:0 6px 20px rgba(22,36,58,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor:pointer;
  opacity:.94;
  backdrop-filter:blur(8px);
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease,opacity .16s ease,border-color .16s ease;
}
.cj-scroll-top-icon{
  display:block;
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cj-global-scroll-top:hover{
  transform:translateY(-2px);
  border-color:rgba(154,112,69,.58);
  box-shadow:0 9px 24px rgba(22,36,58,.18);
  background:#fffdf8;
  opacity:1;
}
.cj-global-scroll-top:focus-visible{
  outline:none;
  opacity:1;
  box-shadow:0 0 0 3px rgba(154,112,69,.22),0 8px 22px rgba(22,36,58,.14);
}
.cj-global-scroll-top[hidden]{display:none!important}
@media(max-width:782px){
  .cj-site-header .alignwide{width:calc(100vw - 24px)}
  .cj-wordmark{font-size:19px}
  .cj-about-text-link{font-size:13px;letter-spacing:.10em}
  .cj-global-scroll-top{right:14px;bottom:14px;width:42px;height:42px}
  .cj-scroll-top-icon{width:23px;height:23px}
}
