/*!
 * Certificate artwork — A4 landscape proportions, brand palette, print safe.
 */
.aicsa-certificate {
  --_ink: #0B0B0D;
  --_orange: #FF6A00;
  background: #F7F7F8;
  padding: clamp(10px, 2vw, 26px);
  border-radius: 18px;
  overflow: auto;
}
.aicsa-certificate__inner {
  position: relative;
  background: #fff;
  aspect-ratio: 1.414 / 1;
  min-height: 420px;
  border: 1px solid #E7E7EA;
  border-radius: 10px;
  padding: clamp(18px, 4.2%, 54px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 10px 30px rgba(11,11,13,.08);
  overflow: hidden;
  font-family: "Inter", ui-sans-serif, system-ui, sans-serif;
}
.aicsa-certificate__inner::before {
  content: "";
  position: absolute; inset: 10px;
  border: 2px solid var(--_orange);
  border-radius: 6px;
  pointer-events: none;
  opacity: .9;
}
.aicsa-certificate__inner::after {
  content: "";
  position: absolute; inset: 16px;
  border: 1px solid #E7E7EA;
  border-radius: 4px;
  pointer-events: none;
}
.aicsa-certificate__corner { position: absolute; width: 130px; height: 130px; pointer-events: none; opacity: .1; }
.aicsa-certificate__corner--tl { top: -30px; left: -30px; border-radius: 50%; background: var(--_orange); }
.aicsa-certificate__corner--br { bottom: -40px; right: -40px; border-radius: 50%; background: var(--_ink); }
.aicsa-certificate__head { display: flex; flex-direction: column; align-items: center; gap: 6px; margin-bottom: 1.1rem; z-index: 1; }
.aicsa-certificate__logo { height: clamp(38px, 6.4%, 62px); width: auto; }
.aicsa-certificate__kicker {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(.62rem, 1.5%, .8rem);
  letter-spacing: .34em;
  text-transform: uppercase;
  color: var(--_orange);
  font-weight: 700;
  margin: 0;
}
.aicsa-certificate__preamble { font-size: clamp(.7rem, 1.7%, .92rem); color: #5F5F68; margin: .2rem 0; z-index: 1; }
.aicsa-certificate__name {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1.6rem, 5.2%, 3.2rem);
  line-height: 1.1;
  margin: .25rem 0 .5rem;
  color: var(--_ink);
  letter-spacing: -.02em;
  z-index: 1;
  border-bottom: 2px solid #FFE8D6;
  padding-bottom: .18em;
  max-width: 88%;
}
.aicsa-certificate__course {
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: clamp(1rem, 2.9%, 1.7rem);
  color: var(--_ink);
  margin: .15rem 0 .4rem;
  z-index: 1;
  max-width: 90%;
}
.aicsa-certificate__score { font-size: clamp(.66rem, 1.6%, .85rem); color: #5F5F68; margin: 0; z-index: 1; }
.aicsa-certificate__foot {
  margin-top: auto; padding-top: 1.1rem; width: 100%;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem;
  border-top: 1px solid #E7E7EA; z-index: 2;
}
.aicsa-certificate__sign { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; font-size: clamp(.6rem, 1.5%, .8rem); color: #5F5F68; text-align: left; }
.aicsa-certificate__sign strong { color: var(--_ink); font-size: clamp(.72rem, 1.8%, .95rem); }
.aicsa-certificate__sig-line { display: block; width: clamp(90px, 16vw, 160px); height: 1px; background: var(--_ink); margin-bottom: 4px; }
.aicsa-certificate__qr { display: flex; flex-direction: column; align-items: center; gap: 3px; font-size: clamp(.55rem, 1.3%, .7rem); color: #5F5F68; }
.aicsa-certificate__qr-canvas { width: clamp(52px, 8vw, 78px); height: clamp(52px, 8vw, 78px); background: #fff; }
.aicsa-certificate__qr-canvas img, .aicsa-certificate__qr-canvas canvas { width: 100% !important; height: 100% !important; }
.aicsa-certificate__meta { display: flex; flex-direction: column; gap: 3px; font-size: clamp(.55rem, 1.3%, .72rem); color: #5F5F68; text-align: right; align-items: flex-end; }
.aicsa-certificate__meta strong { color: var(--_ink); }
.aicsa-certificate__meta a { color: var(--_orange); text-decoration: none; }
.aicsa-certificate__actions { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-top: 1rem; }

@media print {
  .aicsa-certificate { background: none; padding: 0; }
  .aicsa-certificate__inner { box-shadow: none; border: 0; aspect-ratio: auto; height: 190mm; }
  .aicsa-certificate__actions { display: none; }
  @page { size: A4 landscape; margin: 8mm; }
}

/* --------------------------------------------------------------------------
 * v1.2 — watermark, handwritten signature, student details
 * ----------------------------------------------------------------------- */
.aicsa-certificate__inner { position: relative; }

.aicsa-certificate__watermark {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	gap: .5rem;
	pointer-events: none;
	opacity: .07;
	z-index: 0;
	text-align: center;
}
.aicsa-certificate__watermark img { width: min(42%, 320px); height: auto; filter: grayscale(1); }
.aicsa-certificate__watermark span { font-size: .8rem; letter-spacing: .35em; text-transform: uppercase; font-weight: 800; color: #0B0B0D; }

.aicsa-certificate__head,
.aicsa-certificate__preamble,
.aicsa-certificate__name,
.aicsa-certificate__course,
.aicsa-certificate__score,
.aicsa-certificate__details,
.aicsa-certificate__foot { position: relative; z-index: 1; }

.aicsa-certificate__details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: .55rem 1rem;
	list-style: none;
	margin: 1.25rem 0 1.5rem;
	padding: .85rem 0 0;
	border-top: 1px dashed rgba(11, 11, 13, .16);
	text-align: left;
}
.aicsa-certificate__details li { display: flex; flex-direction: column; gap: 2px; }
.aicsa-certificate__details strong { font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; color: #8A8A93; font-weight: 800; }
.aicsa-certificate__details span { font-size: .78rem; font-weight: 600; color: #0B0B0D; }

.aicsa-certificate__signature {
	display: block;
	font-family: "Segoe Script", "Brush Script MT", "Lucida Handwriting", "Snell Roundhand", "Apple Chancery", "URW Chancery L", cursive;
	font-style: italic;
	font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.3rem);
	line-height: 1;
	color: #0B0B0D;
	transform: rotate(-4deg);
	transform-origin: left bottom;
	margin-bottom: .35rem;
	white-space: nowrap;
}
.aicsa-certificate__sign { text-align: left; }
.aicsa-certificate__sig-line { display: block; width: 170px; max-width: 100%; height: 1px; background: rgba(11, 11, 13, .35); margin: 0 0 .4rem; }

/* --------------------------------------------------------------------------
 * v1.2.1 — keep the artwork on screen so the site header stays visible
 * ----------------------------------------------------------------------- */
.aicsa-cert-view .aicsa-certificate__inner { max-width: 100%; }
/* Shrink the whole document proportionally on the verification page instead of
   letting a fixed A3-sized sheet push the header out of view. */
.aicsa-cert-page .aicsa-content-wrap--sidebar { display: block; }
.aicsa-cert-view .aicsa-certificate { max-width: 900px; margin-inline: auto; }
.aicsa-certificate__name { font-size: clamp(1.5rem, 1.2rem + 2.2vw, 2.6rem) !important; }
.aicsa-certificate__course { font-size: clamp(1.05rem, .9rem + 1.2vw, 1.6rem) !important; }
@media (max-width: 700px) {
  .aicsa-certificate__details { grid-template-columns: repeat(2, 1fr); }
  .aicsa-certificate__foot { flex-wrap: wrap; gap: 1rem; }
}
