body{background:#0a0b10;color:#e8eaf2;min-height:100vh;overflow-x:hidden}

/* HERO */
.cert-hero{background:linear-gradient(135deg,#1a1028 0%,#2d1648 60%,#1a1028 100%);padding:64px 24px 56px;text-align:center;position:relative;overflow:hidden;}
.cert-hero::before{content:'🏆';position:absolute;right:-10px;top:50%;transform:translateY(-50%);font-size:200px;opacity:.06;pointer-events:none;}
.cert-hero h1{font-family:'Fredoka',cursive;font-size:clamp(2.1rem,5.5vw,3.4rem);font-weight:700;color:white;margin-bottom:12px;}
.cert-hero p{font-size:1.02rem;color:rgba(255,255,255,.7);max-width:600px;margin:0 auto 28px;line-height:1.7;}
.cert-tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f5c842;background:rgba(245,200,66,.12);border-radius:999px;padding:5px 16px;margin-bottom:16px;}

/* FORM CONTROLS */
.form-wrap{max-width:540px;margin:0 auto;padding:48px 24px 64px;}
.form-group{margin-bottom:20px;}
.form-group label{display:block;font-size:.85rem;font-weight:700;color:rgba(240,234,214,.8);margin-bottom:6px;}
.form-group input,.form-group select{width:100%;padding:12px 16px;border-radius:10px;border:2px solid rgba(240,234,214,.15);background:rgba(255,255,255,.06);color:#e8eaf2;font-family:'Inter',sans-serif;font-size:1rem;transition:border-color .2s;}
.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--rose);}
.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23e8eaf2' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.form-group select option{background:#1e1c18;color:#e8eaf2;}
.btn-print-big{display:inline-flex;align-items:center;gap:10px;background:var(--rose);color:white;font-weight:800;font-size:1.05rem;padding:15px 32px;border-radius:14px;box-shadow:0 4px 0 var(--rose-dk);transition:filter .15s,transform .12s;border:none;cursor:pointer;font-family:'Inter',sans-serif;}
.btn-print-big:hover{filter:brightness(1.1);transform:translateY(-2px);}
.btn-row{text-align:center;margin-top:28px;}

/* CERTIFICATE PREVIEW */
.preview-section{padding:0 24px 64px;}
.preview-label{text-align:center;font-size:.82rem;font-weight:700;color:rgba(240,234,214,.5);letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px;}
.cert-frame{width:100%;max-width:794px;margin:0 auto;aspect-ratio:11/8.5;position:relative;border-radius:12px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.5);}
.cert-page{width:100%;height:100%;background:#fdf6e3;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px;overflow:hidden;}

/* Ornate border */
.cert-border{position:absolute;inset:12px;border:4px solid #8b6914;border-radius:6px;pointer-events:none;}
.cert-border::before{content:'';position:absolute;inset:4px;border:2px solid #c9a84c;border-radius:4px;}
.cert-border::after{content:'';position:absolute;inset:8px;border:1px dashed #d4b96a;border-radius:3px;}

/* Corner decorations */
.cert-corner{position:absolute;width:48px;height:48px;opacity:.55;}
.cert-corner svg{width:100%;height:100%;}
.cert-corner.tl{top:14px;left:14px;}
.cert-corner.tr{top:14px;right:14px;transform:scaleX(-1);}
.cert-corner.bl{bottom:14px;left:14px;transform:scaleY(-1);}
.cert-corner.br{bottom:14px;right:14px;transform:scale(-1);}

/* Certificate content */
.cert-emoji-top{font-size:2.2rem;margin-bottom:6px;line-height:1;}
.cert-title{font-family:'Fredoka',cursive;font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:700;color:#403B33;margin-bottom:4px;letter-spacing:.02em;}
.cert-divider{width:180px;height:3px;background:linear-gradient(90deg,transparent,#8b6914,#c9a84c,#8b6914,transparent);border-radius:2px;margin:10px 0 14px;}
.cert-body{font-family:'Inter',sans-serif;font-size:clamp(.85rem,1.5vw,1.05rem);color:#5a5449;margin-bottom:8px;line-height:1.6;text-align:center;}
.cert-name{font-family:'Fredoka',cursive;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700;color:#BC4749;min-width:280px;border-bottom:3px solid #8b6914;padding:2px 16px 4px;margin:6px 0 14px;display:inline-block;}
.cert-series{font-family:'Inter',sans-serif;font-size:clamp(.8rem,1.3vw,.95rem);color:#5a5449;margin-bottom:6px;}
.cert-series strong{color:#403B33;}
.cert-date{font-family:'Inter',sans-serif;font-size:.82rem;color:#7a7268;margin-top:4px;}
.cert-emoji-bottom{font-size:1.6rem;margin-top:10px;}
.cert-branding{position:absolute;bottom:20px;font-family:'Fredoka',cursive;font-size:.78rem;color:#b8956a;letter-spacing:.08em;font-weight:600;}

/* Emoji float decorations inside cert */
.cert-float{position:absolute;font-size:1.4rem;opacity:.12;pointer-events:none;}
.cert-float.f1{top:28px;left:28px;}
.cert-float.f2{top:28px;right:28px;}
.cert-float.f3{bottom:36px;left:28px;}
.cert-float.f4{bottom:36px;right:28px;}

/* PRINT */
@media print{
    body{background:white!important;color:#000!important;}
    .cert-hero,.main-nav,.site-header,.site-footer,.jvds-site-nav,.jvds-tools-footer,.form-wrap,.preview-label,.btn-row,.no-print,.skip-link,.sr-only{display:none!important;}
    .cert-frame{box-shadow:none;border:none;max-width:100%;margin:0;}
    .preview-section{padding:0;}
    @page{size:landscape;margin:0;}
}

/* COMPLETED-ITEMS LIST (A800 path certificates) */
.cert-items{list-style:none;margin:6px 0 0;padding:0;max-width:520px;}
.cert-items li{font-size:.95rem;color:#3d3224;padding:2px 0;}
.cert-items li::before{content:'✓ ';color:#8b6914;font-weight:700;}

/* FOOTER STRIP */
.cert-footer-strip{padding:56px 24px;background:var(--charcoal);text-align:center;}
.cert-footer-strip h2{font-family:'Fredoka',cursive;font-size:clamp(1.5rem,4vw,2rem);font-weight:700;color:white;margin-bottom:10px;}
.cert-footer-strip p{font-size:.95rem;color:rgba(240,234,214,.65);margin-bottom:24px;}
.reveal{opacity:1!important;transform:none!important}