/*
 * A+ Tax Experts — Price List block
 * Rendered by the [aptx_price_list] shortcode. Every rule is namespaced under
 * .pl-block so the old theme cannot reach in and this cannot leak out.
 * Geometry (column ratio, 24% price cell, row heights) is measured from the
 * approved reference sheet.
 */

.pl-block{
  --pl-navy:#1b2a5e;
  --pl-green:#0a5b3e;
  --pl-green-dk:#01533d;
  --pl-line:#d7dade;
  --pl-cell:#f2f2f3;
  --pl-title-rule:#c9ccd2;
  --pl-font:'Inter','Helvetica Neue',Arial,sans-serif;
  font-family:var(--pl-font);
  color:var(--pl-navy);
  background:#fff;
  max-width:1200px;
  margin:0 auto;
  padding:0 24px 8px;
  box-sizing:border-box;
  -webkit-font-smoothing:antialiased;
}
.pl-block *{box-sizing:border-box;}
.pl-block p{margin:0;}
.pl-block table{border-collapse:collapse;width:100%;}
/* Links inherit the surrounding text: the sheet has no blue underlined links,
   and the block must look the same inside the theme or on a bare page. */
.pl-block a{color:inherit;text-decoration:none;}
.pl-block a:hover{text-decoration:underline;}

/* Heading colours are set with a doubled class on purpose: the site theme
   styles `.nh2026 h1..h6`, which outranks a plain single class and repainted
   the block's headings when it sits inside a themed page. */

/* ---- top rule + masthead ---- */
.pl-block__rule{height:4px;background:var(--pl-green);border-radius:2px;}
.pl-block__head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:24px;flex-wrap:wrap;padding-top:22px;
}
.pl-block .pl-block__title{
  font-size:clamp(25px,2.7vw,31px);font-weight:800;letter-spacing:.4px;
  text-transform:uppercase;color:var(--pl-navy);margin:0;line-height:1.05;
}
.pl-block__meta{
  font-size:13.5px;color:var(--pl-navy);white-space:nowrap;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.pl-block__meta b{font-weight:600;}
.pl-block__dot{color:var(--pl-green);font-weight:700;}
.pl-block__blank{
  display:inline-block;width:180px;border-bottom:1px solid var(--pl-navy);
  transform:translateY(-2px);
}
.pl-block__titlerule{
  height:1px;background:var(--pl-title-rule);width:41%;min-width:260px;margin-top:10px;
}

/* ---- two columns ---- */
.pl-block__grid{
  display:grid;grid-template-columns:1.03fr 1fr;gap:32px;margin-top:14px;
  align-items:start;
}
/* A column may hold several sections stacked; rows of sections repeat the
   same grid, so both blocks of the sheet keep one rhythm. */
.pl-block__grid + .pl-block__grid{margin-top:30px;}
.pl-block__group + .pl-block__group{margin-top:24px;}
.pl-block .pl-block__sect{
  font-size:clamp(17px,1.7vw,20px);font-weight:800;text-transform:uppercase;
  letter-spacing:.2px;color:var(--pl-green);margin:0;line-height:1.15;
}
.pl-block .pl-block__sub{font-size:13.5px;margin-top:4px !important;color:var(--pl-navy);}

/* ---- price tables ---- */
.pl-block__table{margin-top:7px;border:1px solid var(--pl-line);}
.pl-block__table td{
  border-top:1px solid var(--pl-line);
  padding:5px 14px;vertical-align:middle;
}
.pl-block__table tr:first-child td{border-top:0;}
.pl-block .pl-block__item{font-size:14px;font-weight:600;line-height:1.25;}
.pl-block__note{
  display:block;font-size:11.5px;font-weight:400;font-style:italic;
  line-height:1.15;margin-top:0;
}
.pl-block .pl-block__price{
  width:24%;background:var(--pl-cell);border-left:1px solid var(--pl-line);
  text-align:center;font-size:14.5px;font-weight:700;line-height:1.25;
}
.pl-block__price--sm{font-size:11.5px;white-space:nowrap;}

/* ---- quote callout ---- */
.pl-block__quote{
  margin-top:20px;border:1.5px solid var(--pl-green);border-radius:12px;
  padding:20px 22px;display:flex;gap:20px;align-items:flex-start;
}
.pl-block__qicon{
  width:82px;height:82px;flex-shrink:0;border-radius:18px;
  background:var(--pl-green-dk);display:flex;align-items:center;justify-content:center;
}
.pl-block__qicon svg{width:46px;height:46px;fill:none;stroke:#fff;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;}
.pl-block .pl-block__qhead{
  font-size:clamp(15px,1.5vw,17px);font-weight:800;text-transform:uppercase;
  letter-spacing:.2px;color:var(--pl-green);margin:0 0 6px;line-height:1.2;
}
.pl-block .pl-block__qtext{font-size:13.6px;line-height:1.72;color:var(--pl-navy);}
.pl-block__qtext b{font-weight:700;}

/* ---- footer line ---- */
.pl-block__foot{margin-top:14px;text-align:center;}
.pl-block .pl-block__firm{font-size:17px;font-weight:700;color:var(--pl-green);}
.pl-block .pl-block__addr{font-size:13.5px;margin-top:3px !important;color:var(--pl-navy);}
.pl-block__addr span{color:var(--pl-green);padding:0 6px;font-weight:700;}

/* ---- responsive ---- */
@media (max-width:900px){
  .pl-block__grid{grid-template-columns:1fr;gap:34px;}
  .pl-block__titlerule{width:100%;min-width:0;}
  .pl-block__meta{white-space:normal;}
}
@media (max-width:600px){
  .pl-block{padding:0 16px 8px;}
  .pl-block__head{padding-top:16px;}
  .pl-block__table td{padding:6px 10px;}
  .pl-block .pl-block__item{font-size:13.5px;}
  .pl-block .pl-block__price{width:30%;font-size:13.5px;}
  .pl-block__price--sm{font-size:11.5px;}
  .pl-block__quote{flex-direction:column;gap:16px;padding:18px;}
  .pl-block__qicon{width:64px;height:64px;border-radius:14px;}
  .pl-block__qicon svg{width:34px;height:34px;}
  .pl-block__blank{width:120px;}
  .pl-block__addr span{display:block;height:0;overflow:hidden;padding:0;}
}

/* ============================================================
   Payment notice and closing disclaimer — both come straight from
   the owner's printed price list (v3): a red-outlined note under the
   last section, and a dark band across the very bottom.
============================================================ */
.nh2026 .pl-block .pl-block__notice {
  margin-top: 20px;
  border: 1.5px solid #c0392b;
  border-radius: 10px;
  padding: 14px 18px;
  color: #c0392b;
  font-size: 12.5px;
  line-height: 1.55;
  text-align: center;
}
.nh2026 .pl-block__disclaimer {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 26px;
  padding: 18px 24px;
  border-radius: var(--radius-lg);
  background: #0e2422;
  color: rgba(255,255,255,.9);
}
.nh2026 .pl-block .pl-block__disclaimer p {
  font-size: 13px;
  line-height: 1.6;
  text-align: left;
}
.nh2026 .pl-block__check {
  width: 40px; height: 40px; flex-shrink: 0;
  border: 2px solid rgba(255,255,255,.85);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.nh2026 .pl-block__check svg { width: 20px; height: 20px; fill: #fff; }
@media (max-width: 600px) {
  .nh2026 .pl-block__disclaimer { flex-direction: column; text-align: center; gap: 12px; padding: 16px; }
  .nh2026 .pl-block .pl-block__disclaimer p { text-align: center; }
}
