/*
 * Chopin Law Firm — Locations hub + office page.
 * Loaded only by locations-tpl.php / location-tpl.php (and the ?chopin_loc_preview=1 flag).
 * Everything is namespaced under .cl-scope so it cannot reach the rest of the theme.
 */

.cl-scope{
  --cl-navy:#111426;
  --cl-deep:#070a18;
  --cl-blue:#2864e8;
  --cl-blue-dk:#1f55c8;
  --cl-gold:#c8a66a;
  --cl-gold-lt:#d8bd82;
  --cl-gold-ink:#8a6a24;

  --cl-paper:#f5f7fb;
  --cl-card:#ffffff;
  --cl-ink:#111426;
  --cl-body:#3f4655;
  --cl-muted:#7e8698;
  --cl-rule:#e1e6f0;

  --cl-fs:'Bitter',Georgia,serif;
  --cl-fb:'Open Sans',system-ui,-apple-system,sans-serif;
  --cl-maxw:1620px;

  background:var(--cl-paper);
  color:var(--cl-ink);
  font-family:var(--cl-fb);
  display:block;
}
.cl-scope *,.cl-scope *::before,.cl-scope *::after{box-sizing:border-box;}
.cl-scope img{max-width:100%;display:block;}
/*.cl-scope p{margin:0;}*/
.cl-scope.cl-office .cl-office__map {
  height: 100%;
}


.cl-wrap{max-width:var(--cl-maxw);margin:0 auto;padding:0 12px;}
@media (max-width:1300px){.cl-wrap{padding:0 24px;}}
@media (max-width:600px){.cl-wrap{padding:0 16px;}}

/* ---------- shared type ---------- */
.cl-eyebrow{
  font-family:var(--cl-fb);font-size:11px;font-weight:800;letter-spacing:.2em;
  text-transform:uppercase;color:var(--cl-blue);margin:0 0 18px;
}
.cl-display{
  font-family:var(--cl-fs);font-weight:400;font-size:clamp(34px,4.6vw,62px);line-height:1.06;
  letter-spacing:-.01em;margin:0;color:var(--cl-ink);text-transform:none;
}
.cl-lede,.cl-lede p{font-size:16.5px;line-height:1.7;color:var(--cl-body);}
.cl-lede p + p{margin-top:14px;}

/* ---------- buttons ---------- */
.cl-scope .cl-btn{
display: inline-flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: #fff;
  border-radius: 0;
  cursor: pointer;
  padding: 15px 15px;
  font-family: var(--fm-opensans);
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 1.2;
  font-weight: 500;
  text-transform: uppercase;
  background: var(--royal-blue);
  transition: .3s all ease;
}
.cl-scope .cl-btn:hover,.cl-scope .cl-btn:focus-visible{
text-decoration: none;
  background: var(--dark-black);
  color: #fff;
}
.cl-row__meta svg {
  width: 17px;
  height: 19px;
}
.cl-row__meta span {
  font-size: 14px;
}
.cl-scope .cl-btn svg{transition:transform .18s ease;flex:none;}
.cl-scope .cl-btn:hover svg{transform:translateX(4px);}
.cl-scope .cl-btn--gold{background:var(--cl-gold);color:var(--cl-navy);border-color:var(--cl-gold);}
.cl-scope .cl-btn--gold:hover,.cl-scope .cl-btn--gold:focus-visible{background:var(--cl-gold-lt);border-color:var(--cl-gold-lt);color:var(--cl-navy);}
.cl-scope .cl-btn--outline{background:transparent;color:var(--cl-gold);border: solid 1px var(--cl-gold);}
.cl-scope .cl-btn--outline:hover,.cl-scope .cl-btn--outline:focus-visible{background:var(--cl-gold);color:var(--cl-navy);}

/*.cl-scope .cl-link{
  font-family:var(--cl-fb);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:9px;color:var(--cl-navy);text-decoration:none;
  border-bottom:1px solid var(--cl-gold);padding-bottom:5px;transition:color .18s,border-color .18s;
}*/

.cl-scope a.cl-link{
display: inline-flex;
  align-items: center;
  gap: 14px;
  text-decoration: none;
  color: #fff;
  border-radius: 0;
  cursor: pointer;
  padding: 15px 15px;
  font-family: var(--fm-opensans);
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 1.2;
  font-weight: 500;
  text-transform: uppercase;
  background: #c8a66a;
  transition: .3s all ease;
}
.cl-scope a.cl-link:hover {
    background: #181a2b;
    color: #fff;
}
.mbl-text-bttn{display: none;}
.cl-scope .cl-link:hover,.cl-scope .cl-link:focus-visible{color:var(--cl-blue);border-color:var(--cl-blue);text-decoration:none;}
.cl-scope .cl-link svg{flex:none;}

.cl-scope :focus-visible{outline:2px solid var(--cl-blue);outline-offset:3px;}

/* ---------- hub head ---------- */
.cl-hub{padding:84px 0 0;}
.cl-hub__head{
  display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;padding-bottom:54px;
}
.cl-hub__head .cl-lede :is(h1,h2,h3,h4,h5,h6){display:none;}
.cl-hub__head > div:first-child{max-width:760px;}
.cl-hub__head .cl-lede{max-width:520px;}
.cl-scope.cl-hub .cl-row__body .cl-row__desc {
  margin-bottom: 15px;
}
@media (max-width:900px){
  .cl-hub{padding-top:52px;}
  .cl-hub__head{grid-template-columns:1fr;gap:24px;align-items:start;padding-bottom:36px;}
  .cl-map__pill {padding: 6px 15px !important;}
}

/* ---------- map panel ---------- */
.cl-map{position:relative;overflow:hidden;background:#eef1f7;width:100%;height:100%;min-height:340px;}
.cl-map__frame{width:100%;height:100%;min-height:340px;border:0;display:block;filter:saturate(.92);}
.cl-map__chip{
  position:absolute;top:8px;right:8px;background:#fff;box-shadow:0 2px 6px rgba(17,20,38,.28);
  display:flex;max-width:min(340px,74%);pointer-events:auto; border-radius: 100px;
}
.cl-map__pill{
  background:var(--cl-navy);color:#fff;padding:8px 15px;font-size:9px;font-weight:800;letter-spacing:.15em;
  text-transform:uppercase;display:flex;align-items:center;gap:7px;white-space:nowrap;     border-radius: 100px 0 0 100px;
}
.cl-map__pill svg{color:#df4639;flex:none;}
.cl-map__chip span.cl-map__addr {
    display: none;
}
.cl-scope .cl-map__ico svg {
    color: #111426;
    transition: .35s ease;
}
.cl-map__chip:hover a.cl-map__ico svg {
    color: #2864e8;
    transition: .35s ease;
}
.cl-map__addr{
  padding:9px 12px;font-size:11px;color:var(--cl-body);display:flex;align-items:center;line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px;
}
.cl-scope .cl-map__ico{
display:flex;align-items:center;justify-content:center;border-left:1px solid #e6eaf2; padding: 0 15px 0 12px !important;
  color:var(--cl-blue);text-decoration:none;flex:none;
}
/*.cl-scope .cl-map__ico:hover{background:#f4f7fd;}*/
@media (max-width:600px){
  /*.cl-map__chip{max-width:calc(100% - 24px);top:12px;left:12px;}*/
  .cl-map__addr{display:none;}
}

/* ---------- hub rows ---------- */
.cl-rows{display:flex;flex-direction:column;gap:26px;padding-bottom:26px;}
.cl-row{
  background:var(--cl-card);border:1px solid var(--cl-rule);border-top:3px solid var(--cl-gold);
  display:grid;grid-template-columns:1.18fr 1fr;min-height:472px;
  opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;
}
.cl-row.is-in{opacity:1;transform:none;}
main.cl-scope.cl-hub .cl-row__body .cl-row__actions a.cl-btn {
    border: none;
}
@media (min-width:1400px){
  .cl-row__body{padding:56px 64px;}
}

/*1279 to 1152 */
@media (max-width: 1279px) {
.cl-scope.cl-office .cl-office__grid {display: block;}
.cl-scope.cl-office .cl-office__grid .cl-office__info {margin-bottom: 30px;}
.cl-office__map .cl-map {min-height: inherit !important;}
.cl-office__map .cl-map__frame {min-height: inherit !important;}
.cl-scope.cl-office .cl-office__map {height: 400px;}
}
/*1151 to 1024 */
@media (max-width: 1151px) {
.cl-row__body {adding: 40px 40px;}
.cl-rows .cl-row.is-in {display: block;}
.cl-rows .cl-scope p {max-width: 100%; margin-bottom: 20px;}
.cl-scope.cl-hub .cl-row__body .cl-row__desc {max-width: 100%;}
}

.cl-row__map{position:relative;overflow:hidden;min-height:340px;}
.cl-row--flip .cl-row__map{order:2;}
.cl-row--flip .cl-row__body{order:1;}

.cl-row__body{padding:50px 54px;display:flex;flex-direction:column;justify-content:center;}
.cl-row__count{font-size:11px;font-weight:700;letter-spacing:.2em;color:#aeb5c4;margin-bottom:24px;}
.cl-row__region{font-size:10.5px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--cl-gold-ink);margin-bottom:12px;}
.cl-scope .cl-row__city{
  font-family:var(--cl-fs);font-weight:400;font-size:clamp(30px,3.2vw,44px);line-height:1.08;
  letter-spacing:-.01em;margin:0 0 18px;color:var(--cl-ink);text-transform:none;
}
.cl-row__desc{font-size:15px;line-height:1.7;color:var(--cl-body);margin:0 0 26px;}
.cl-row__rule{height:1px;background:var(--cl-rule);margin:0 0 24px;}
.cl-row__addr{display:flex;gap:12px;font-size:14px; font-weight: 500;line-height:1.55;color:var(--cl-ink);margin-bottom:14px;}
.cl-row__addr-ico{flex:none;margin-top:3px;color:var(--cl-blue);line-height:0;}
.cl-row__meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12.5px;color:var(--cl-body);margin-bottom:28px;}
.cl-row__meta span{display:inline-flex;align-items:center;gap:7px;}
.cl-row__meta svg{color:var(--cl-gold-ink);flex:none;}
.cl-row__actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}

@media (max-width:960px){
  .cl-row{grid-template-columns:1fr;min-height:0;}
  .cl-row--flip .cl-row__map{order:1;}
  .cl-row--flip .cl-row__body{order:2;}
  .cl-row__map,.cl-map,.cl-map__frame{min-height:280px;}
  .cl-row__body{padding:34px 26px 40px;}
  a.desktop-text-bttn {
    display: none;
}
.mbl-text-bttn {
    display: block;
}
}

/*767 to 736 */
@media (max-width: 767px) {
.cl-scope.cl-office .cl-map__chip {display: none;}
}

@media (max-width:600px){
  .cl-row__body{padding:28px 20px 34px;}
  .cl-row__actions{gap:14px;}
  .cl-scope .cl-btn {font-size: 14px;}
}

/* ---------- statewide strip ---------- */
.cl-strip{background:var(--cl-navy);color:#fff;margin-top:44px;padding:54px 0;}
.cl-strip .cl-wrap{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;}
.cl-scope .cl-strip h3{font-family:var(--cl-fs);font-weight:400;font-size:30px;margin:0 0 10px;color:#fff;text-transform:none;}
.cl-scope .cl-strip h3 b{color:var(--cl-gold);font-weight:700;}
.cl-strip p{margin:0;color:#c3c9db;font-size:15.5px;max-width:640px;line-height:1.65;}
@media (max-width:800px){.cl-strip .cl-wrap{grid-template-columns:1fr;}}

/* ---------- single office block ---------- */
.cl-office{background:var(--cl-card);border-bottom:1px solid var(--cl-rule);padding:34px 0 52px;}
.cl-crumbs{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cl-muted);margin-bottom:32px;display:flex;flex-wrap:wrap;gap:10px;}
.cl-scope .cl-crumbs a{text-decoration:none;color:var(--cl-muted);}
.cl-scope .cl-crumbs a:hover{color:var(--cl-blue);}

.cl-office__grid{display:grid;grid-template-columns:0.91fr .95fr;gap:35px;align-items:start;}
.cl-scope .cl-office__title{
  font-family:var(--cl-fs);font-weight:400;font-size:clamp(30px,3.8vw,48px);line-height:1.08;
  letter-spacing:-.012em;margin:0 0 20px;color:var(--cl-ink);text-transform:none;
}
.cl-office__sub{font-size:16px;line-height:1.7;color:var(--cl-body);margin:0 0 30px;}

.cl-nap{border:1px solid var(--cl-rule);border-left:3px solid var(--cl-gold);padding:26px 28px;background:var(--cl-paper);margin-bottom:26px;}
.cl-nap dl{margin:0;grid-template-columns:112px 1fr;gap:14px 18px;font-size:14.5px;line-height:1.55;}
.cl-nap dt{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--cl-muted);padding-top:3px;margin:0;}
.cl-nap dd{margin:0;color:var(--cl-ink);}
.cl-scope .cl-nap dd a{color:var(--cl-blue);text-decoration:none;font-weight:700;}
.cl-scope .cl-nap dd a:hover{text-decoration:underline;}
.cl-nap__note{color:var(--cl-body);font-weight:400;}

.cl-office__actions{display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;}
.cl-office__map{position:relative;}
.cl-office__map .cl-map{border:1px solid var(--cl-rule);border-top:3px solid var(--cl-gold);min-height:430px;}
.cl-office__map .cl-map__frame{min-height:430px;}
.cl-office__other{margin-top:16px;font-size:12.5px;letter-spacing:.06em;color:var(--cl-muted);}
.cl-scope .cl-office__other a{color:var(--cl-navy);text-decoration:none;border-bottom:1px solid var(--cl-gold);}
.cl-scope .cl-office__other a:hover{color:var(--cl-blue);border-color:var(--cl-blue);}

@media (max-width:940px){
  .cl-office__grid{grid-template-columns:1fr;gap:34px;}
  .cl-office__map .cl-map,.cl-office__map .cl-map__frame{min-height:320px;}
}
@media (max-width:600px){
  .cl-office{padding:26px 0 40px;}
  .cl-nap{padding:22px 20px;}
  .cl-nap dl{grid-template-columns:1fr;gap:4px 0;}
  .cl-nap dt{padding-top:12px;}
  .cl-nap dl > dt:first-child{padding-top:0;}

}

@media (prefers-reduced-motion:reduce){
  .cl-scope *{animation:none !important;transition:none !important;}
  .cl-row{opacity:1;transform:none;}
}
/*567 to 480  */
@media (max-width : 567px) {
.cl-map__chip {display: none;}
}


/*479 to 414  */
@media (max-width : 479px) {
  .cl-scope .cl-btn{width:100%;justify-content:space-between;}
    .cl-office__actions .cl-btn{width:100%;justify-content:space-between;}
    .cl-row__addr span br {display: none;}
}




/* NAP Card */
.cl-nap {
  background: #f6f8fc;
  border: 1px solid #dfe4ec;
  border-left: 3px solid #c9a45c;
  padding: 0 28px;
  margin-top: 28px;
}

/* Remove default DL spacing */
.cl-nap dl {
  margin: 0;
  padding: 0;
}

/* Each row */
.cl-nap-row {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid #dfe4ec;
}

/* Remove border from last item */
.cl-nap-row:last-child {
  border-bottom: 0;
}

/* Icon circle */
.cl-nap-icon {
  width: 44px;
  height: 44px;
  min-width: 44px;
  border-radius: 50%;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

/* Font Awesome icon */
.cl-nap-icon i {
  font-size: 17px;
  color: #17213b;
}

/* Content */
.cl-nap-content {
  flex: 1;
}

/* Label */
.cl-nap-content dt {
  margin: 0 0 5px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #b1873e;
}

/* Value */
.cl-nap-content dd {
  margin: 0;
  font-family: inherit;
  font-size: 15px;
  line-height: 1.55;
  color: #17213b;
}

/* Links */
.cl-nap-content a {
  color: #1264e8;
  font-weight: 600;
  text-decoration: none;
}

.cl-nap-content a:hover {
  text-decoration: underline;
}


/* Mobile */
@media (max-width: 767px) {

  .cl-nap {
    padding: 0 18px;
    margin-top: 22px;
  }

  .cl-nap-row {
    gap: 14px;
    padding: 15px 0;
  }

  .cl-nap-icon {
    width: 40px;
    height: 40px;
    min-width: 40px;
  }

  .cl-nap-icon i {
    font-size: 15px;
  }

  .cl-nap-content dd {
    font-size: 15px;
  }
}