/* Core brand palette */
:root{
  --brand: #ac1f24;
  --brand-light: #fbe9ea;
}

/* Accordion wrapper */
.acco    { border:2px solid var(--brand); border-radius:0.75rem; overflow:hidden; margin:1.2rem 0;}
.acco + .acco {margin-top:1.5rem;} /* gap between accordions */

/* Header (clickable) */
.acco summary{
  cursor:pointer;
  background:var(--brand);
  color:#fff;
  font-weight:600;
  padding:0.9rem 1.2rem;
  font-size:1.1rem;
  position:relative;
  list-style:none;           /* hide default arrow */
  transition:background 0.3s;
}
.acco summary::after{        /* custom arrow */
  content:"›";
  font-size:1.4rem;
  position:absolute;
  right:1.1rem; top:50%;
  transform:translateY(-50%) rotate(90deg);
  transition:transform 0.3s;
}
.acco[open] summary{ background:var(--brand-light); color:#222; }
.acco[open] summary::after{ transform:translateY(-50%) rotate(270deg); }

/* Content area */
.acco .body{
  padding:1rem 1.2rem 1.4rem 1.2rem;
  background:#fff;
  animation:fade 0.35s ease;
  border-top:1px solid var(--brand-light);
}
@keyframes fade{ from{opacity:0; transform:translateY(-0.25rem);} to{opacity:1;} }

/* Table styling (zebra) */
.acco table{ width:100%; border-collapse:collapse; font-size:0.95rem;}
.acco th, .acco td{ padding:0.45rem 0.6rem; border:1px solid var(--brand-light);}
.acco th{ background:var(--brand); color:#fff; font-weight:500;}
.acco tr:nth-child(even){ background:var(--brand-light);}

/* Hyperlink colour override */
.acco a{ color:var(--brand); font-weight:600; text-decoration:none;}
.acco a:hover{ text-decoration:underline; }
