/* =============================================================
   Plugin 1267 — Insurance Provider Listing
   All classes prefixed with .ipl1267- to avoid clashing with
   the site's global CSS. Light-background design.
   Fonts inherit the project theme (Spartan / Inter).
   ============================================================= */
.ipl1267-section{
  --ipl-ink:#141414;
  --ipl-lime:#C1F11D;
  --ipl-lime-dark:#9dc200;
  --ipl-lime-soft:#EAF9B8;
  --ipl-forest:#0B5D3B;
  --ipl-muted:#5C6B62;
  --ipl-line:#E3E9DA;
  --ipl-card:#FFFFFF;
  --ipl-paper:#F4F7EE;
  --ipl-shadow:0 1px 0 rgba(14,26,20,.04), 0 14px 32px -22px rgba(14,26,20,.35);
  --ipl-font-head:var(--creote-family-one, "Spartan", sans-serif);
  --ipl-font-body:var(--creote-family-two, "Inter", sans-serif);
  background:#FFFFFF;
  color:var(--ipl-ink);
  font-family:var(--ipl-font-body);
  font-size:16px;
  line-height:1.55;
  padding:64px 0;
  -webkit-font-smoothing:antialiased;
}
/* -------------------------------------------------------------
   Isolation reset. Scoped to `.ipl1267-section *` (specificity
   0-1-0) so it neutralises the theme's bare element rules
   (table td, h2, h3, p, ul, li … = 0-0-x) that would otherwise
   bleed in — while every design rule below (also class-based and
   later in the file) still wins. Nothing here targets a bare
   global element, so the plugin never leaks OUT to the theme.
   ------------------------------------------------------------- */
.ipl1267-section *,
.ipl1267-section *::before,
.ipl1267-section *::after{
  box-sizing:border-box;
  margin:0;
  border:0;
  background:transparent;
  background-image:none;
  box-shadow:none;
  list-style:none;
  text-transform:none;
  letter-spacing:normal;
  text-align:left;
  font-family:inherit;
  color:inherit;
  vertical-align:baseline;
}
.ipl1267-section table{border-collapse:collapse;border-spacing:0;}
.ipl1267-section a{text-decoration:none;}
.ipl1267-section img{max-width:100%;}
.ipl1267-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}

/* ---------- Section header ---------- */
.ipl1267-eyebrow{
  font-family:var(--ipl-font-head);
  font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ipl-lime);display:inline-flex;align-items:center;gap:10px;
}
.ipl1267-eyebrow::before{content:"";width:26px;height:2px;background:var(--ipl-lime);display:inline-block;}
.ipl1267-title{
  font-family:var(--ipl-font-head);
  font-weight:800;letter-spacing:-.015em;line-height:1.08;
  font-size:clamp(26px,3.4vw,40px);max-width:22ch;color:var(--ipl-ink);
  margin:14px 0 0;
}
.ipl1267-intro{color:var(--ipl-muted);max-width:70ch;font-size:16.5px;margin:14px 0 0;}
.ipl1267-intro p{margin:0 0 10px;}
.ipl1267-subintro{margin:26px 0 0;font-weight:700;color:var(--ipl-ink);font-size:16.5px;}
.ipl1267-subhead{
  font-family:var(--ipl-font-head);
  font-weight:700;font-size:22px;color:var(--ipl-ink);margin:46px 0 0;
}

/* ---------- Benefits grid ---------- */
.ipl1267-benefits{display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin:22px 0 0;}
.ipl1267-benefit{
  border:1px solid var(--ipl-line);border-radius:14px;padding:20px;
  background:var(--ipl-card);box-shadow:var(--ipl-shadow);
  transition:transform .15s,border-color .15s,box-shadow .15s;
}
.ipl1267-benefit:hover{transform:translateY(-2px);border-color:#CFDCC1;}
.ipl1267-benefit b{
  font-family:var(--ipl-font-head);display:block;font-size:15.5px;margin-bottom:6px;color:var(--ipl-lime);
}
.ipl1267-benefit span{font-size:14px;color:var(--ipl-muted);display:block;}

/* ---------- Pricing table ---------- */
.ipl1267-pricing{
  margin-top:22px;/*border:1px solid #ECECEC;*/border-radius:16px;overflow:hidden;
  background:var(--ipl-card);/*box-shadow:0 10px 30px -24px rgba(14,26,20,.35);*/
  padding:0 !important;
}
/* pin the table flush to the container top — defeats theme rules like
   `.content-area table{margin-top}` that leave a white gap above the header */
.ipl1267-section .ipl1267-pricing .ipl1267-ptable{width:100%;border-collapse:collapse;background:transparent;margin:0 !important;}
.ipl1267-section .ipl1267-pricing .ipl1267-ptable thead,
.ipl1267-section .ipl1267-pricing .ipl1267-ptable thead tr,
.ipl1267-section .ipl1267-pricing .ipl1267-ptable thead th{margin:0 !important; padding-top: 25px;
  padding-bottom: 25px;}

/* ---- Neutralise DataTables auto-enhancement of this table ----
   The theme runs DataTables on page tables, which wraps ours in
   div.dt-container > div.dt-layout-row. Those rows carry
   `margin:0.75em 0` (dataTables.dataTables.css) = the white gap
   above the header. Strip the wrapper spacing + hide empty rows
   and the injected search/length/info/paging controls. */
.ipl1267-section .dt-container,
.ipl1267-section .dt-container .dt-layout-row,
.ipl1267-section .dt-container .dt-layout-cell{
  margin:0 !important;padding:0 !important;border:0 !important;background:transparent !important;
}
.ipl1267-section .dt-container .dt-layout-row:empty{display:none !important;}
.ipl1267-section .dt-container .dt-length,
.ipl1267-section .dt-container .dt-search,
.ipl1267-section .dt-container .dt-info,
.ipl1267-section .dt-container .dt-paging,
.ipl1267-section .dt-container .dt-layout-row.dt-layout-full:empty{display:none !important;}
/* reset the site theme's table borders (kills vertical dividers + dark lines) */
.ipl1267-ptable,
.ipl1267-ptable thead,
.ipl1267-ptable tbody,
.ipl1267-ptable tr,
.ipl1267-ptable th,
.ipl1267-ptable td{border:0 !important;text-align:left;vertical-align:middle;background-image:none;}
/* header: plain light-gray, muted uppercase labels */
.ipl1267-ptable thead th{
  font-family:var(--ipl-font-head);font-size:12.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:#8A8A8A;background:#F6F6F6;padding:20px 26px;border-bottom:1px solid #ECECEC !important;
}
/* body: airy rows split only by a thin horizontal line, dark readable text */
.ipl1267-ptable tbody td{
  padding:24px 26px;font-size:16px;color:#333;background:transparent;border-top:1px solid #EFEFEF !important;
}
.ipl1267-ptable tbody tr:first-child td{border-top:0 !important;}
.ipl1267-ptable td.ipl1267-plan{font-family:var(--ipl-font-head);font-weight:700;font-size:19px;color:#1a1a1a;}
.ipl1267-ptable td.ipl1267-plan small{
  display:block;font-family:var(--ipl-font-body);font-weight:400;font-size:14px;color:#8A8A8A;
  letter-spacing:0;text-transform:none;margin-top:5px;
}
/* "Most popular": inline lime text, no pill */
.ipl1267-best{
  font-family:var(--ipl-font-head);font-weight:700;font-size:14px;letter-spacing:0;
  color:var(--ipl-lime-dark);background:none;padding:0;margin-left:10px;vertical-align:baseline;white-space:nowrap;
}

/* ---------- Quote callout ---------- */
.ipl1267-quote{
  margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  background:var(--ipl-lime-soft);border:1px solid #CBE88F;border-radius:16px;padding:22px 24px;
}
.ipl1267-quote b{font-family:var(--ipl-font-head);font-size:17px;color:var(--ipl-ink);display:block;}
.ipl1267-quote span{font-size:14.5px;color:var(--ipl-muted);display:block;margin-top:4px;max-width:60ch;}

/* ---------- Buttons ---------- */
.ipl1267-btn{
  font-family:var(--ipl-font-head);font-weight:700;font-size:15px;border-radius:12px;padding:13px 20px;
  text-decoration:none;display:inline-flex;align-items:center;gap:9px;cursor:pointer;
  background:var(--ipl-lime);color:var(--ipl-ink);border:1px solid var(--ipl-lime);
  transition:gap .15s,background .15s,transform .15s;white-space:nowrap;
}
.ipl1267-btn:hover{background:#D2FF3A;gap:12px;color:var(--ipl-ink);}
.ipl1267-btn svg{transition:transform .15s;}

/* ---------- Profiles ---------- */
.ipl1267-profiles{display:grid;gap:18px;grid-template-columns:1fr 1fr;margin-top:22px;}
.ipl1267-profile{
  background:#eaeaea;border:1px solid var(--ipl-line);border-radius:18px;padding:24px;
  box-shadow:var(--ipl-shadow);color:var(--ipl-ink);
}
.ipl1267-profile-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.ipl1267-logo{
  width:50px;height:50px;border-radius:13px;background:var(--ipl-forest);color:var(--ipl-lime);
  font-family:var(--ipl-font-head);font-weight:800;font-size:17px;display:grid;place-items:center;flex:none;overflow:hidden;
}
.ipl1267-logo img{width:100%;height:100%;object-fit:cover;border-radius:13px;}
.ipl1267-profile h4{
  font-family:var(--ipl-font-head);font-size:18px;margin:0;display:flex;align-items:center;gap:9px;flex-wrap:wrap;line-height:1.15;color:var(--ipl-ink);
}
.ipl1267-sample{
  font-family:var(--ipl-font-body);font-weight:600;font-size:10px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ipl-forest);background:var(--ipl-lime-soft);border-radius:6px;padding:3px 8px;
}
.ipl1267-cats{font-size:13px;color:var(--ipl-muted);margin:4px 0 0;}
.ipl1267-profile-body dl{margin:0;}
.ipl1267-profile-body dt,
.ipl1267-profile-body h3{
  font-family:var(--ipl-font-head);font-weight:700;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ipl-forest);padding-top:11px;margin:11px 0 0;border-top:1px solid var(--ipl-line);
}
.ipl1267-profile-body dt:first-of-type,
.ipl1267-profile-body h3:first-child{border-top:none;margin-top:0;padding-top:0;}
.ipl1267-profile-body dd,
.ipl1267-profile-body p{margin:4px 0 0;font-size:14px;color:#33433a;}
.ipl1267-profile-cta{
  display:inline-flex;align-items:center;gap:7px;margin-top:18px;
  font-family:var(--ipl-font-head);font-weight:700;font-size:14px;color:var(--ipl-ink);
  background:var(--ipl-lime);border-radius:11px;padding:9px 16px;text-decoration:none;transition:gap .15s,background .15s;
}
.ipl1267-profile-cta:hover{background:#D2FF3A;gap:9px;color:var(--ipl-ink);}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .ipl1267-benefits{grid-template-columns:1fr;}
  .ipl1267-profiles{grid-template-columns:1fr;}
  .ipl1267-ptable thead{display:none;}
  .ipl1267-ptable,.ipl1267-ptable tbody,.ipl1267-ptable tr,.ipl1267-ptable td{display:block;width:100%;}
  .ipl1267-ptable tr{border-bottom:1px solid var(--ipl-line);padding:8px 0;}
  .ipl1267-ptable td{border:none;padding:6px 20px;}
  .ipl1267-ptable td.ipl1267-plan{padding-top:14px;}
}
@media (prefers-reduced-motion:reduce){
  .ipl1267-section *{transition:none!important;}
  .ipl1267-benefit:hover{transform:none;}
}
