/* Advocate Legal Control Suite — contrast-safe premium frontend styles */
:root{
  --alc-bg:#070a12;--alc-panel:#0d1628;--alc-gold:#d9b45c;--alc-gold-light:#f7df9b;
  --alc-text:#eef4ff;--alc-muted:#c7d2e7;--alc-line:rgba(217,180,92,.30);--alc-ink:#121827;
}
.alc-wrap{background:transparent;color:var(--alc-text);padding:clamp(4.5rem,7vw,7.5rem) 0;}
.alc-container{width:min(1220px,calc(100% - 34px));margin:auto;}
.alc-heading{text-align:center;margin-bottom:clamp(1.8rem,4vw,3rem);}
.alc-heading h2,.alc-panel h2,.alc-card h3{color:#fff8e8!important;font-family:Fraunces,Georgia,serif;letter-spacing:-.025em;}
.alc-lead,.alc-heading p,.alc-panel p,.alc-panel li,.alc-card p{color:var(--alc-muted)!important;}
.alc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.1rem,2vw,1.65rem);}
.alc-card,.alc-panel{position:relative;overflow:hidden;background:radial-gradient(circle at 0% 0%,rgba(247,223,155,.13),transparent 18rem),linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035))!important;border:1px solid var(--alc-line)!important;box-shadow:0 30px 85px rgba(0,0,0,.38)!important;border-radius:28px!important;color:var(--alc-text)!important;backdrop-filter:blur(16px);}
.alc-card{padding:clamp(1.35rem,2vw,1.9rem);min-height:220px;}
.alc-panel{padding:clamp(1.6rem,3vw,2.4rem);}
.alc-card:before,.alc-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 35%),radial-gradient(circle at 18% 0%,rgba(247,223,155,.15),transparent 18rem);pointer-events:none;}
.alc-card>* ,.alc-panel>*{position:relative;z-index:1;}
.alc-kicker{display:inline-flex;align-items:center;gap:.4rem;color:var(--alc-gold-light)!important;font-weight:850;text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;margin-bottom:.75rem;}
.alc-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:rgba(217,180,92,.13)!important;border:1px solid var(--alc-line)!important;color:var(--alc-gold-light)!important;font-size:.82rem;}
.alc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
.alc-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border-radius:999px!important;font-weight:850!important;padding:12px 18px;}
.alc-btn-primary{background:linear-gradient(135deg,#9b6a22 0%,#d9b45c 38%,#f7df9b 64%,#a97827 100%)!important;color:#070a12!important;border:1px solid rgba(255,248,232,.36)!important;box-shadow:0 18px 42px rgba(217,180,92,.24), inset 0 1px 0 rgba(255,255,255,.45)!important;}
.alc-btn-ghost{background:rgba(255,255,255,.055)!important;color:var(--alc-gold-light)!important;border:1px solid rgba(217,180,92,.42)!important;}
.alc-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;}
.alc-list li{padding:16px 18px;border:1px solid rgba(217,180,92,.20);border-radius:18px;background:rgba(255,255,255,.045);color:var(--alc-muted)!important;}
.alc-faq details{padding:18px 20px;border:1px solid rgba(217,180,92,.26);border-radius:18px;background:rgba(255,255,255,.045);margin-bottom:12px;color:var(--alc-text)!important;}
.alc-faq summary{cursor:pointer;color:#fff8e8!important;font-weight:850;}
.alc-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.alc-input,.alc-select,.alc-textarea{width:100%;border:1px solid rgba(247,223,155,.32)!important;background:rgba(4,7,13,.82)!important;color:#fff!important;border-radius:16px!important;padding:14px 15px;}
.alc-textarea{min-height:120px;}.alc-input::placeholder,.alc-textarea::placeholder{color:rgba(238,244,255,.62)!important;}.alc-select option{background:#080c15;color:#fff;}
@media(max-width:900px){.alc-grid,.alc-list,.alc-form-row{grid-template-columns:1fr}.alc-heading{text-align:left}}


/* v1.0.2 plugin hard contrast patch */
.alc-wrap,.alc-container{color:#edf3ff!important;}
.alc-wrap{background:transparent!important;}
.alc-card,.alc-panel,.alc-faq details{
  background:linear-gradient(150deg,rgba(255,255,255,.105),rgba(255,255,255,.035) 46%,rgba(217,180,92,.055)),radial-gradient(circle at 12% 0%,rgba(247,223,155,.16),transparent 15rem),rgba(11,19,34,.90)!important;
  border:1px solid rgba(247,223,155,.26)!important;
  color:#edf3ff!important;
  box-shadow:0 34px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.09)!important;
}
.alc-card h1,.alc-card h2,.alc-card h3,.alc-panel h1,.alc-panel h2,.alc-panel h3,.alc-faq summary{color:#fff8e8!important;}
.alc-card p,.alc-panel p,.alc-card li,.alc-panel li,.alc-faq p{color:#cdd8ed!important;}
.alc-card a:not(.alc-btn),.alc-panel a:not(.alc-btn){color:#f7df9b!important;}

/* V1.0.3 Authority front-end layer: plugin blocks must match theme wow factor */
.alc-wrap{
  position:relative!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,233,166,.16),transparent 22rem),
    radial-gradient(circle at 88% 8%,rgba(215,180,90,.10),transparent 20rem),
    linear-gradient(135deg,#02040a 0%,#07101f 52%,#101f36 100%)!important;
  color:#f6efe3!important;
  border-top:1px solid rgba(255,233,166,.22)!important;
  border-bottom:1px solid rgba(255,233,166,.22)!important;
}
.alc-wrap:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(circle at center,black,transparent 78%);}
.alc-heading h2{font-size:clamp(2.25rem,4.8vw,4.8rem)!important;line-height:.98!important;letter-spacing:-.045em!important;text-shadow:0 18px 52px rgba(0,0,0,.42)!important;}
.alc-card,.alc-panel,.alc-faq details{
  border-radius:30px!important;
  background:radial-gradient(circle at 12% 0%,rgba(255,233,166,.18),transparent 17rem),linear-gradient(150deg,rgba(255,255,255,.11),rgba(255,255,255,.038) 42%,rgba(215,180,90,.06)),#0a1425!important;
  border:1px solid rgba(255,233,166,.30)!important;
  box-shadow:0 42px 120px rgba(0,0,0,.50),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
.alc-card:hover,.alc-panel:hover{transform:translateY(-5px);border-color:rgba(255,233,166,.50)!important;box-shadow:0 54px 135px rgba(0,0,0,.58)!important;}
.alc-card h3,.alc-panel h2,.alc-panel h3,.alc-faq summary{color:#fff7e6!important;}
.alc-card p,.alc-panel p,.alc-card li,.alc-panel li,.alc-faq p{color:#cfd8e8!important;}
.alc-btn-primary{background:linear-gradient(135deg,#8c5d18 0%,#d7b45a 35%,#ffe9a6 58%,#a36c1f 100%)!important;color:#05070d!important;box-shadow:0 22px 54px rgba(215,180,90,.30),inset 0 1px 0 rgba(255,255,255,.58)!important;}
.alc-btn-ghost{background:rgba(255,255,255,.055)!important;color:#ffe9a6!important;border-color:rgba(255,233,166,.45)!important;}

/* v1.1.0 Law.pdf-inspired plugin blocks: authority, contrast, premium */
.alc-wrap{background:radial-gradient(circle at 15% 8%,rgba(201,147,69,.12),transparent 26rem),linear-gradient(180deg,#07111d,#02050a)!important;color:#dfe7f3!important;padding:clamp(3rem,6vw,6.5rem) 0!important;border-top:1px solid rgba(242,200,121,.14)!important;border-bottom:1px solid rgba(242,200,121,.14)!important;}
.alc-container{max-width:1220px!important;margin:0 auto!important;padding:0 22px!important;}
.alc-heading{max-width:820px;margin-bottom:2rem!important;}
.alc-kicker{color:#f2c879!important;text-transform:uppercase!important;letter-spacing:.18em!important;font-size:11px!important;font-weight:900!important;}
.alc-heading h2,.alc-panel h2,.alc-card h3{font-family:Fraunces,Georgia,serif!important;color:#fff3df!important;letter-spacing:-.04em!important;line-height:1.02!important;}
.alc-heading h2{font-size:clamp(2.4rem,4vw,4.7rem)!important;}
.alc-panel h2{font-size:clamp(2rem,3vw,3.7rem)!important;}
.alc-lead,.alc-heading p,.alc-panel p,.alc-card p,.alc-card li,.alc-panel li{color:#b9c5d4!important;line-height:1.72!important;}
.alc-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;}
.alc-card,.alc-panel{position:relative!important;overflow:hidden!important;padding:clamp(1.25rem,2.4vw,2.1rem)!important;background:linear-gradient(150deg,rgba(16,29,48,.96),rgba(6,14,24,.98) 52%,rgba(3,8,15,.98))!important;border:1px solid rgba(242,200,121,.20)!important;border-radius:0!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 90px rgba(0,0,0,.48)!important;}
.alc-card:before,.alc-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,transparent,#c99345,#f2c879,transparent);}
.alc-card:after,.alc-panel:after{content:"⚖";position:absolute;right:18px;bottom:10px;font-size:48px;color:rgba(242,200,121,.08);}
.alc-card h3{font-size:clamp(1.35rem,2vw,2.05rem)!important;color:#fff3df!important;}
.alc-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.2rem!important;}
.alc-btn{display:inline-flex!important;align-items:center!important;gap:.5rem!important;text-decoration:none!important;border-radius:0!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-size:11px!important;font-weight:900!important;padding:1rem 1.3rem!important;border:1px solid rgba(242,200,121,.38)!important;background:linear-gradient(135deg,#8f5b23,#c99345 45%,#f2c879)!important;color:#04070c!important;}
.alc-btn-ghost{background:rgba(255,255,255,.035)!important;color:#f2c879!important;}
.alc-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;list-style:none!important;padding:0!important;}
.alc-list li{border:1px solid rgba(242,200,121,.16)!important;background:rgba(255,255,255,.035)!important;padding:.85rem 1rem!important;color:#dfe7f3!important;}
.alc-form-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.alc-input,.alc-select,.alc-textarea{width:100%!important;background:#07111d!important;color:#fff3df!important;border:1px solid rgba(242,200,121,.18)!important;border-radius:0!important;padding:1rem!important;}
.alc-textarea{min-height:140px!important;}
.alc-faq details{background:linear-gradient(150deg,rgba(16,29,48,.96),rgba(6,14,24,.98))!important;border:1px solid rgba(242,200,121,.18)!important;border-radius:0!important;margin-bottom:12px!important;padding:1.05rem 1.2rem!important;color:#dfe7f3!important;}
.alc-faq summary{color:#f2c879!important;font-weight:900!important;cursor:pointer!important;}
@media(max-width:900px){.alc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.alc-form-row,.alc-list{grid-template-columns:1fr!important}}
@media(max-width:640px){.alc-grid{grid-template-columns:1fr!important}}

/* Final alignment pass: keep plugin blocks fully in sync with theme references */
:root{
  --alc-ref-bg:#030915;
  --alc-ref-bg-2:#09162b;
  --alc-ref-surface:#0c1930;
  --alc-ref-text:#f5efdf;
  --alc-ref-muted:rgba(245,239,223,.74);
  --alc-ref-gold:#d6af58;
  --alc-ref-gold-soft:#f2cf87;
  --alc-ref-line:rgba(214,175,88,.30);
}

.alc-wrap{
  background:
    radial-gradient(circle at 12% 0%,rgba(214,175,88,.14),transparent 24rem),
    radial-gradient(circle at 88% 8%,rgba(18,38,66,.18),transparent 22rem),
    linear-gradient(180deg,var(--alc-ref-bg),var(--alc-ref-bg-2))!important;
  color:var(--alc-ref-text)!important;
  border-top:1px solid var(--alc-ref-line)!important;
  border-bottom:1px solid var(--alc-ref-line)!important;
}

.alc-heading h2,
.alc-panel h2,
.alc-card h3,
.alc-faq summary{
  font-family:'Cormorant Garamond','Times New Roman',serif!important;
  color:var(--alc-ref-text)!important;
  letter-spacing:-.02em!important;
}

.alc-kicker,
.alc-card .alc-kicker,
.alc-panel .alc-kicker{
  color:var(--alc-ref-gold-soft)!important;
  letter-spacing:.16em!important;
}

.alc-lead,
.alc-heading p,
.alc-panel p,
.alc-panel li,
.alc-card p,
.alc-card li,
.alc-faq p{
  color:var(--alc-ref-muted)!important;
}

.alc-card,
.alc-panel,
.alc-faq details{
  border-radius:0!important;
  border:1px solid var(--alc-ref-line)!important;
  background:
    linear-gradient(150deg,rgba(16,30,52,.96),rgba(6,14,26,.98) 58%,rgba(4,10,19,.99))!important;
  box-shadow:0 32px 85px rgba(0,0,0,.46)!important;
}

.alc-card:after,
.alc-panel:after{
  color:rgba(242,207,135,.07)!important;
}

.alc-card:hover,
.alc-panel:hover{
  border-color:rgba(242,207,135,.48)!important;
  transform:translateY(-3px);
}

.alc-btn,
.alc-btn-primary{
  border-radius:0!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  font-size:11px!important;
  font-weight:800!important;
  background:linear-gradient(135deg,#8f6424 0%,var(--alc-ref-gold) 42%,#efc97a 100%)!important;
  color:#050a13!important;
  border:1px solid rgba(245,233,196,.45)!important;
  box-shadow:0 16px 38px rgba(214,175,88,.28)!important;
}

.alc-btn-ghost{
  background:rgba(255,255,255,.03)!important;
  color:var(--alc-ref-gold-soft)!important;
  border:1px solid var(--alc-ref-line)!important;
}

.alc-list li{
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(214,175,88,.2)!important;
  color:var(--alc-ref-muted)!important;
}

.alc-input,
.alc-select,
.alc-textarea{
  background:rgba(7,15,28,.95)!important;
  color:var(--alc-ref-text)!important;
  border:1px solid rgba(214,175,88,.22)!important;
  border-radius:0!important;
}

.alc-input::placeholder,
.alc-textarea::placeholder{
  color:rgba(245,239,223,.46)!important;
}

.alc-input:focus,
.alc-select:focus,
.alc-textarea:focus{
  outline:none;
  border-color:rgba(242,207,135,.5)!important;
  box-shadow:0 0 0 4px rgba(214,175,88,.12)!important;
}

@media(max-width:900px){
  .alc-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:640px){
  .alc-grid,
  .alc-list,
  .alc-form-row{grid-template-columns:1fr!important}
}

/* Final contrast hardening: keep plugin content readable inside theme override stacks */
.alc-wrap .alc-card,
.alc-wrap .alc-panel,
.alc-wrap .alc-faq details,
.alc-wrap .alc-list li{
  color:var(--alc-ref-text)!important;
}

.alc-wrap .alc-card h1,
.alc-wrap .alc-card h2,
.alc-wrap .alc-card h3,
.alc-wrap .alc-panel h1,
.alc-wrap .alc-panel h2,
.alc-wrap .alc-panel h3,
.alc-wrap .alc-faq summary,
.alc-wrap .alc-card strong,
.alc-wrap .alc-panel strong,
.alc-wrap .alc-card label,
.alc-wrap .alc-panel label{
  color:var(--alc-ref-text)!important;
}

.alc-wrap .alc-card p,
.alc-wrap .alc-panel p,
.alc-wrap .alc-card li,
.alc-wrap .alc-panel li,
.alc-wrap .alc-faq p,
.alc-wrap .alc-card span,
.alc-wrap .alc-panel span,
.alc-wrap .alc-faq span{
  color:var(--alc-ref-muted)!important;
}

.alc-wrap .alc-card a:not(.alc-btn),
.alc-wrap .alc-panel a:not(.alc-btn),
.alc-wrap .alc-faq a:not(.alc-btn){
  color:var(--alc-ref-gold-soft)!important;
}

.alc-wrap .alc-card a:not(.alc-btn):hover,
.alc-wrap .alc-panel a:not(.alc-btn):hover,
.alc-wrap .alc-faq a:not(.alc-btn):hover{
  color:#fff7e6!important;
}
