/* =========================================================
   V25 — Clean premium certificate system
   3 stable A4 landscape styles, shared by admin + contestant
   ========================================================= */

.certificate,
.admin-certificate-preview{
  --cert-paper:#fff9ec;
  --cert-ink:#302820;
  --cert-main:#741f31;
  --cert-accent:#9b6b1e;
  --cert-gold:#d0a449;
  --cert-gold2:#f0d98c;
  --cert-darkgold:#8b5f1c;
  --cert-shadow:rgba(54,34,10,.22);
  --cert-glow:rgba(222,178,70,.18);
  --cert-bg:
    radial-gradient(circle at 78% 22%,rgba(219,177,74,.10),transparent 29%),
    linear-gradient(180deg,#fffdf8 0%,#fff6e1 100%);
}
.certificate[data-style="royal-burgundy"],
.admin-certificate-preview[data-style="royal-burgundy"]{
  --cert-paper:#fff9ec;--cert-ink:#33271f;--cert-main:#731d31;--cert-accent:#9a671a;
  --cert-gold:#d0a149;--cert-gold2:#f0d88c;--cert-darkgold:#895817;
  --cert-bg:radial-gradient(circle at 80% 22%,rgba(157,95,23,.09),transparent 28%),linear-gradient(180deg,#fffdf8,#fff4dc);
}
.certificate[data-style="midnight-gold"],
.admin-certificate-preview[data-style="midnight-gold"]{
  --cert-paper:#101114;--cert-ink:#f8ecd5;--cert-main:#f0cd73;--cert-accent:#d3ad5b;
  --cert-gold:#d8b25e;--cert-gold2:#f2d991;--cert-darkgold:#9d732c;--cert-shadow:rgba(0,0,0,.48);--cert-glow:rgba(226,185,89,.10);
  --cert-bg:radial-gradient(circle at 76% 20%,rgba(210,171,76,.09),transparent 28%),linear-gradient(180deg,#111216,#191a1e);
}
.certificate[data-style="heavenly-blue"],
.admin-certificate-preview[data-style="heavenly-blue"]{
  --cert-paper:#f6fbff;--cert-ink:#17344d;--cert-main:#15588f;--cert-accent:#9a7028;
  --cert-gold:#d3aa53;--cert-gold2:#efd78d;--cert-darkgold:#946b25;--cert-glow:rgba(75,165,225,.20);
  --cert-bg:radial-gradient(circle at 79% 20%,rgba(78,163,222,.14),transparent 30%),linear-gradient(180deg,#f3fbff,#ffffff 65%,#eff8fd);
}

/* ---------- public printable certificate ---------- */
.certificate{
  position:relative!important;
  width:min(100%,1120px)!important;
  aspect-ratio:297/210!important;
  margin:34px auto 0!important;
  overflow:hidden!important;
  background:var(--cert-paper)!important;
  color:var(--cert-ink)!important;
  border:0!important;
  border-radius:14px!important;
  box-shadow:0 20px 58px var(--cert-shadow)!important;
  container-type:inline-size;
}
.cert-surface{
  position:absolute!important;inset:2.4%!important;overflow:hidden!important;
  border:2px solid var(--cert-gold)!important;
  outline:1px solid color-mix(in srgb,var(--cert-gold) 52%,transparent)!important;
  outline-offset:-8px!important;
  background:var(--cert-bg)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.34),inset 0 0 48px rgba(194,145,46,.06)!important;
}
.cert-surface::before{
  content:"";position:absolute;left:-4%;top:-16%;width:52%;height:40%;border-radius:0 0 54% 54%;
  border-bottom:2px solid var(--cert-gold);background:color-mix(in srgb,var(--cert-main) 9%,transparent);opacity:.94;z-index:0
}
.cert-surface::after{
  content:"✠";position:absolute;right:2.2%;bottom:2%;color:var(--cert-gold);font-size:1.7cqw;opacity:.72;z-index:1
}
.cert-scripture-arc{position:absolute!important;z-index:6!important;top:1.1%!important;left:28.5%!important;width:67%!important;height:13.5%!important;overflow:visible!important}
.cert-scripture-arc text{font-family:"Cairo",Tahoma,sans-serif!important;font-weight:900!important;font-size:37px!important;fill:var(--cert-main)!important;direction:rtl;unicode-bidi:bidi-override}
.cert-scripture-ref{position:absolute!important;z-index:6!important;top:10.5%!important;left:34%!important;right:5%!important;text-align:center!important;color:var(--cert-accent)!important;font-weight:800!important;font-size:.74cqw!important}
.cert-saint{position:absolute!important;z-index:2!important;left:1.4%!important;bottom:1%!important;width:27.5%!important;height:87%!important;object-fit:contain!important;object-position:left bottom!important;filter:drop-shadow(0 8px 13px var(--cert-shadow)) drop-shadow(0 0 12px var(--cert-glow))!important}
.cert-main{position:absolute!important;z-index:4!important;left:28.5%!important;right:4%!important;top:15.5%!important;bottom:4.2%!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;justify-content:flex-start!important;color:var(--cert-ink)!important}
.cert-logo{position:absolute!important;top:0!important;right:0!important;width:10.5%!important;min-width:0!important;max-width:none!important;border-radius:50%!important;box-shadow:0 4px 14px var(--cert-shadow)!important}
.cert-church{margin:0 11% 0 0!important;color:var(--cert-ink)!important;font-weight:900!important;font-size:.96cqw!important;line-height:1.35!important}
.cert-contest{margin:.15% 11% 0 0!important;color:var(--cert-accent)!important;font-weight:900!important;font-size:.82cqw!important}
.cert-rule{width:31%!important;height:1px!important;background:linear-gradient(90deg,transparent,var(--cert-gold),transparent)!important;margin:.9% auto .6%!important}
.certificate h2{margin:.1% 0 .1%!important;color:var(--cert-main)!important;font-size:2.9cqw!important;line-height:1.08!important;font-weight:900!important;letter-spacing:-.02em!important}
.cert-intro{margin:.5% 0 .12%!important;color:var(--cert-accent)!important;font-size:.93cqw!important;font-weight:800!important}
.certificate h3{min-width:62%!important;margin:0!important;padding:.15% 3% .28%!important;color:var(--cert-main)!important;font-size:2.55cqw!important;line-height:1.1!important;border-bottom:1px solid var(--cert-gold)!important;font-weight:900!important}
.cert-copy{margin:.65% auto 0!important;max-width:76%!important;font-size:.91cqw!important;line-height:1.55!important;color:var(--cert-ink)!important}
.cert-metrics{display:flex!important;justify-content:center!important;align-items:center!important;gap:1%!important;margin:.65% 0 0!important;width:76%!important}
.cert-total{margin:0!important;min-width:27%!important;padding:.28% 1%!important;border:1px solid color-mix(in srgb,var(--cert-gold) 50%,transparent)!important;border-radius:999px!important;background:color-mix(in srgb,var(--cert-gold) 7%,transparent)!important;color:var(--cert-main)!important;font-size:.84cqw!important;font-weight:900!important}
.cert-wish{margin:.55% 0 0!important;color:var(--cert-accent)!important;font-size:.77cqw!important;font-weight:700!important}
.cert-signature-title{width:54%!important;margin:.55% auto .2%!important;padding:.18% 1%!important;border-top:1px solid var(--cert-gold)!important;color:var(--cert-main)!important;font-size:.78cqw!important;font-weight:900!important}
.certificate-signatures{width:92%!important;display:grid!important;grid-template-columns:repeat(var(--signature-count,4),minmax(0,1fr))!important;gap:1.2%!important;align-items:end!important;margin-top:.25%!important}
.certificate-signature{min-width:0!important;text-align:center!important;color:var(--cert-ink)!important}
.certificate-signature::before{content:"✠";display:block;color:var(--cert-gold);font-size:.7cqw;line-height:1}
.certificate-signature .sig-line{display:block;width:72%;height:1px;margin:.15% auto .08%;background:linear-gradient(90deg,transparent,var(--cert-darkgold),transparent)}
.certificate-signature strong{display:block;font-size:.65cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.certificate-signature small{display:block;color:var(--cert-accent);font-size:.53cqw;margin-top:.05%}

/* ---------- admin preview: exact same idea, scaled ---------- */
.admin-certificate-preview{
  position:relative!important;aspect-ratio:297/210!important;width:min(100%,980px)!important;margin:0 auto!important;
  padding:10px!important;box-sizing:border-box!important;overflow:hidden!important;border-radius:18px!important;
  background:var(--cert-paper)!important;color:var(--cert-ink)!important;border:1px solid var(--cert-gold)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.25)!important;
}
.admin-cert-surface{position:relative!important;width:100%!important;height:100%!important;overflow:hidden!important;border:2px solid var(--cert-gold)!important;outline:1px solid color-mix(in srgb,var(--cert-gold) 50%,transparent)!important;outline-offset:-7px!important;background:var(--cert-bg)!important;box-sizing:border-box!important}
.admin-cert-surface::before{content:"";position:absolute;left:-4%;top:-16%;width:52%;height:40%;border-radius:0 0 54% 54%;border-bottom:2px solid var(--cert-gold);background:color-mix(in srgb,var(--cert-main) 9%,transparent);z-index:0}
.admin-cert-surface::after{content:"✠";position:absolute;right:2%;bottom:2%;color:var(--cert-gold);font-size:14px;opacity:.72}
.admin-scripture-arc{position:absolute!important;z-index:6!important;top:1.1%!important;left:28.5%!important;width:67%!important;height:13.5%!important}
.admin-scripture-arc text{font-family:"Cairo",Tahoma,sans-serif!important;font-weight:900!important;font-size:37px!important;fill:var(--cert-main)!important;direction:rtl;unicode-bidi:bidi-override}
.admin-certificate-preview .cert-scripture-ref{position:absolute!important;z-index:6!important;top:10.3%!important;left:34%!important;right:5%!important;text-align:center!important;color:var(--cert-accent)!important;font-weight:800!important;font-size:clamp(.30rem,.48vw,.43rem)!important}
.admin-cert-saint{position:absolute!important;z-index:2!important;left:1.4%!important;bottom:1%!important;width:27.5%!important;height:87%!important;max-width:27.5%!important;object-fit:contain!important;object-position:left bottom!important;filter:drop-shadow(0 5px 8px var(--cert-shadow)) drop-shadow(0 0 8px var(--cert-glow))!important}
.admin-cert-main{position:absolute!important;z-index:4!important;left:28.5%!important;right:4%!important;top:15.5%!important;bottom:4.2%!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;justify-content:flex-start!important;color:var(--cert-ink)!important}
.admin-cert-logo{position:absolute!important;top:0!important;right:0!important;width:10.5%!important;min-width:34px!important;max-width:58px!important;border-radius:50%!important;box-shadow:0 3px 9px var(--cert-shadow)!important}
.admin-cert-church{margin:0 11% 0 0!important;font-size:clamp(.38rem,.62vw,.57rem)!important;font-weight:900!important;color:var(--cert-ink)!important;line-height:1.3!important}
.admin-cert-contest{margin:1px 11% 0 0!important;font-size:clamp(.31rem,.53vw,.47rem)!important;font-weight:900!important;color:var(--cert-accent)!important}
.admin-cert-line{width:31%!important;height:1px!important;background:linear-gradient(90deg,transparent,var(--cert-gold),transparent)!important;margin:4px auto 3px!important}
.admin-cert-main h2{margin:0!important;color:var(--cert-main)!important;font-size:clamp(.82rem,1.42vw,1.28rem)!important;line-height:1.05!important;font-weight:900!important}
.admin-cert-main>p:not(.admin-cert-church):not(.admin-cert-contest){margin:2px 0!important;font-size:clamp(.28rem,.46vw,.42rem)!important;line-height:1.4!important;color:var(--cert-ink)!important}
.admin-cert-main h3{min-width:62%!important;margin:0!important;padding:1px 12px 2px!important;border-bottom:1px solid var(--cert-gold)!important;color:var(--cert-main)!important;font-size:clamp(.72rem,1.18vw,1.06rem)!important;line-height:1.06!important}
.admin-cert-metrics{display:flex!important;width:76%!important;gap:5px!important;justify-content:center!important;margin-top:3px!important;color:var(--cert-main)!important;font-weight:900!important;font-size:clamp(.25rem,.40vw,.36rem)!important}
.admin-cert-metrics span{flex:1;padding:2px 3px;border:1px solid color-mix(in srgb,var(--cert-gold) 50%,transparent);border-radius:999px;background:color-mix(in srgb,var(--cert-gold) 7%,transparent)}
.preview-signatures{margin-top:3px!important;--signature-count:4;width:92%!important}
.preview-signatures .certificate-signature::before{font-size:7px!important}
.preview-signatures .certificate-signature .sig-line{margin:1px auto!important}
.preview-signatures .certificate-signature strong{font-size:clamp(.23rem,.36vw,.33rem)!important}
.preview-signatures .certificate-signature small{font-size:clamp(.20rem,.31vw,.28rem)!important}

/* ---------- admin layout ---------- */
.certificate-settings-layout{grid-template-columns:1fr!important}
.certificate-preview-card{order:-1!important}
.certificate-preview-card .manager-card-head{margin-bottom:14px!important}
.certificate-style-picker{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;margin:12px 0 19px!important}
.certificate-style-option{position:relative;display:grid;gap:5px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(255,255,255,.025);cursor:pointer;transition:.18s ease}
.certificate-style-option:hover{transform:translateY(-1px);border-color:rgba(229,202,130,.28)}
.certificate-style-option input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.certificate-style-option:has(input:checked){border-color:#d8b55c!important;box-shadow:0 0 0 2px rgba(216,181,92,.13)!important;background:rgba(216,181,92,.07)!important}
.certificate-style-option strong{font-size:.82rem;color:#f5ecd7}.certificate-style-option small{font-size:.68rem;color:#8e8f96}
.style-thumb{display:block;height:58px;border-radius:10px;border:1px solid rgba(255,255,255,.11);position:relative;overflow:hidden}
.style-thumb::after{content:"✠";position:absolute;inset:0;display:grid;place-items:center;font-size:1.15rem;color:#d9ae55;text-shadow:0 2px 6px rgba(0,0,0,.28)}
.style-royal-burgundy{background:linear-gradient(135deg,#711c2d 0 23%,#fff7e7 23% 82%,#d0a149 82%)}
.style-midnight-gold{background:linear-gradient(135deg,#0f1013,#1a1b1f 76%,#d8b25e)}
.style-heavenly-blue{background:linear-gradient(135deg,#17669e,#f7fcff 56%,#d3aa53)}

@media(max-width:760px){.certificate-style-picker{grid-template-columns:1fr!important}.admin-certificate-preview{width:100%!important}}
@media print{
  #certificate{width:297mm!important;height:210mm!important;max-width:none!important;margin:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;background:var(--cert-paper)!important}
  #certificate .cert-surface{inset:5mm!important}
}
