/* JPR — Visible listing/page archive design system v2
   This file is deliberately broad because the section URLs are virtual pages
   while the CPT archives use WordPress archive templates. */
:root{
  --jpr-red:#b40018;
  --jpr-red-bright:#e3062c;
  --jpr-black:#111111;
  --jpr-ink:#171717;
  --jpr-muted:#666a70;
  --jpr-cream:#fff8f6;
  --jpr-blush:#fff1f3;
  --jpr-border:rgba(180,0,24,.16);
  --jpr-shadow:0 24px 70px rgba(17,17,17,.10);
}

/* Section pages + CPT archives */
body:has(.jpr-section-polish),
body:has(.jpr-cpt-archive){background:#fff8f6;}

.jpr-section-polish,
.jpr-cpt-archive{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 0%, rgba(180,0,24,.10), transparent 32%),
    linear-gradient(180deg,#fff 0%,#fff7f8 48%,#fff 100%) !important;
  color:var(--jpr-ink);
}
.jpr-section-polish:before,
.jpr-cpt-archive:before{
  content:"";
  position:absolute;
  top:0;right:-12%;
  width:520px;height:520px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(227,6,44,.16),transparent 62%);
  pointer-events:none;
}
.jpr-section-polish>.container,
.jpr-cpt-shell,
.jpr-cpt-hero__inner{position:relative;z-index:1;}

/* Make Bootstrap-looking content feel branded */
.jpr-section-polish .row.mb-4,
.jpr-section-polish .row.g-5,
.jpr-section-polish .row.align-items-start,
.jpr-cpt-panel{
  border:1px solid rgba(255,255,255,.75) !important;
  border-radius:34px !important;
  background:rgba(255,255,255,.90) !important;
  box-shadow:var(--jpr-shadow) !important;
  backdrop-filter:blur(14px);
  padding:clamp(18px,3vw,32px) !important;
}
.jpr-section-polish .row.mb-4{align-items:stretch;}
.jpr-section-polish h2,
.jpr-section-polish h3,
.jpr-cpt-toolbar h2,
.jpr-cpt-card h3{
  color:var(--jpr-ink) !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  line-height:1.04 !important;
}
.jpr-section-polish h2:after,
.jpr-section-polish .h4:after,
.jpr-section-polish .h6:after,
.jpr-cpt-toolbar h2:after{
  content:"";
  display:block;
  width:52px;height:4px;
  border-radius:999px;
  margin-top:12px;
  background:linear-gradient(90deg,var(--jpr-red),var(--jpr-red-bright));
}
.jpr-section-polish .text-muted,
.jpr-cpt-card p,
.jpr-cpt-toolbar p{color:var(--jpr-muted)!important;line-height:1.65;}

/* Cards and list items — strong overrides so changes are visible immediately */
.jpr-section-polish .card,
.jpr-section-polish .border.rounded-3,
.jpr-section-polish .border.rounded-4,
.jpr-section-polish .list-group,
.jpr-section-polish form,
.jpr-cpt-card,
.jpr-cpt-empty,
.jpr-cpt-sidebox{
  border:1px solid var(--jpr-border) !important;
  border-radius:28px !important;
  background:#fff !important;
  box-shadow:0 16px 46px rgba(17,17,17,.075) !important;
  overflow:hidden;
}
.jpr-section-polish .card,
.jpr-section-polish .list-group-item,
.jpr-cpt-card{transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.jpr-section-polish .card:hover,
.jpr-section-polish .list-group-item:hover,
.jpr-cpt-card:hover{
  transform:translateY(-4px);
  border-color:rgba(180,0,24,.34)!important;
  box-shadow:0 28px 76px rgba(180,0,24,.14)!important;
}
.jpr-section-polish .list-group-item{
  border:0!important;
  border-bottom:1px solid rgba(180,0,24,.11)!important;
  padding:1.05rem 1.15rem!important;
  background:#fff!important;
}
.jpr-section-polish .list-group-item:last-child{border-bottom:0!important;}
.jpr-section-polish .list-group-item:hover{background:#fff6f7!important;transform:translateX(5px);}
.jpr-section-polish .card-body{padding:1.25rem!important;}
.jpr-section-polish .ratio,
.jpr-cpt-card__media{background:linear-gradient(135deg,#121212,#b40018)!important;}
.jpr-section-polish img,
.jpr-cpt-card__media img{filter:saturate(1.04) contrast(1.02);}

/* Buttons */
.jpr-section-polish .btn,
.jpr-section-cta-polish .btn,
.jpr-cpt-cta,
.jpr-cpt-pagination .page-numbers{
  border-radius:999px!important;
  font-weight:900!important;
  letter-spacing:-.01em;
}
.jpr-section-polish .btn-danger,
.jpr-section-cta-polish .btn-danger,
.jpr-cpt-cta{
  background:linear-gradient(135deg,var(--jpr-red),var(--jpr-red-bright))!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(180,0,24,.22)!important;
}
.jpr-section-polish .btn-outline-secondary,
.jpr-section-polish .btn-outline-dark,
.jpr-section-cta-polish .btn-outline-secondary,
.jpr-section-cta-polish .btn-outline-dark{
  border-color:rgba(17,17,17,.18)!important;
  color:var(--jpr-ink)!important;
  background:#fff!important;
}
.jpr-section-polish .btn-outline-secondary:hover,
.jpr-section-polish .btn-outline-dark:hover,
.jpr-section-cta-polish .btn-outline-secondary:hover,
.jpr-section-cta-polish .btn-outline-dark:hover{
  background:#111!important;color:#fff!important;border-color:#111!important;
}

/* CTA strip under hero */
.jpr-section-cta-polish{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid var(--jpr-border)!important;
  box-shadow:0 16px 44px rgba(17,17,17,.06);
}
.jpr-section-cta-polish .container{position:relative;}

/* Archive hero/card specifics */
.jpr-cpt-hero{
  background:
    radial-gradient(circle at 80% 20%,rgba(255,255,255,.12),transparent 30%),
    linear-gradient(135deg,#111 0%,#2a0008 48%,#b40018 100%)!important;
  color:#fff!important;
}
.jpr-cpt-kicker{color:#ffdce1!important;}
.jpr-cpt-hero h1{color:#fff!important;text-shadow:none!important;}
.jpr-cpt-hero p{color:rgba(255,255,255,.84)!important;}
.jpr-cpt-badge,.jpr-section-polish .badge{
  border-radius:999px!important;
  padding:.46rem .68rem!important;
  font-weight:850!important;
}
.jpr-cpt-badge--red,
.jpr-section-polish .text-bg-primary,
.jpr-section-polish .badge.bg-danger{background:var(--jpr-red)!important;color:#fff!important;}
.jpr-cpt-badge--dark,
.jpr-section-polish .text-bg-dark{background:#111!important;color:#fff!important;}
.jpr-cpt-grid{gap:22px!important;}
.jpr-cpt-card__body{padding:22px!important;}
.jpr-cpt-card__placeholder{background:linear-gradient(135deg,#111,#b40018)!important;}

/* Forms inside listing pages */
.jpr-section-polish .form-control,
.jpr-section-polish .form-select,
.jpr-section-polish textarea{
  border-radius:18px!important;
  border:1px solid rgba(17,17,17,.12)!important;
  background:#fff!important;
  padding:.85rem .95rem!important;
}
.jpr-section-polish .form-control:focus,
.jpr-section-polish .form-select:focus,
.jpr-section-polish textarea:focus{
  border-color:var(--jpr-red)!important;
  box-shadow:0 0 0 .2rem rgba(180,0,24,.12)!important;
}

@media(max-width:991.98px){
  .jpr-section-polish .row.mb-4,
  .jpr-section-polish .row.g-5,
  .jpr-section-polish .row.align-items-start,
  .jpr-cpt-panel{border-radius:26px!important;padding:18px!important;}
  .jpr-cpt-grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:680px){
  .jpr-cpt-grid{grid-template-columns:1fr!important;}
  .jpr-section-polish{padding-top:2.4rem!important;padding-bottom:2.6rem!important;}
  .jpr-section-polish .btn,.jpr-section-cta-polish .btn{width:100%;}
}

body.jpr-theme-dark .jpr-section-polish,
body.jpr-theme-dark .jpr-cpt-archive,
body.dark .jpr-section-polish,
body.dark .jpr-cpt-archive{
  background:linear-gradient(180deg,#080808,#160004 48%,#080808)!important;
  color:#fff!important;
}
body.jpr-theme-dark .jpr-section-polish .row.mb-4,
body.jpr-theme-dark .jpr-section-polish .row.g-5,
body.jpr-theme-dark .jpr-section-polish .row.align-items-start,
body.jpr-theme-dark .jpr-section-polish .card,
body.jpr-theme-dark .jpr-section-polish .border.rounded-3,
body.jpr-theme-dark .jpr-section-polish .border.rounded-4,
body.jpr-theme-dark .jpr-section-polish .list-group,
body.jpr-theme-dark .jpr-section-polish form,
body.jpr-theme-dark .jpr-cpt-panel,
body.jpr-theme-dark .jpr-cpt-card,
body.dark .jpr-section-polish .row.mb-4,
body.dark .jpr-section-polish .row.g-5,
body.dark .jpr-section-polish .row.align-items-start,
body.dark .jpr-section-polish .card,
body.dark .jpr-section-polish .border.rounded-3,
body.dark .jpr-section-polish .border.rounded-4,
body.dark .jpr-section-polish .list-group,
body.dark .jpr-section-polish form,
body.dark .jpr-cpt-panel,
body.dark .jpr-cpt-card{
  background:#141414!important;
  border-color:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
body.jpr-theme-dark .jpr-section-polish h2,
body.jpr-theme-dark .jpr-section-polish h3,
body.jpr-theme-dark .jpr-cpt-card h3,
body.dark .jpr-section-polish h2,
body.dark .jpr-section-polish h3,
body.dark .jpr-cpt-card h3{color:#fff!important;}
body.jpr-theme-dark .jpr-section-polish .text-muted,
body.jpr-theme-dark .jpr-cpt-card p,
body.dark .jpr-section-polish .text-muted,
body.dark .jpr-cpt-card p{color:rgba(255,255,255,.72)!important;}
