
/*==================================================
APC COMMUNITY CERTIFICATE
==================================================*/

:root{

    --primary:#0d3b66;
    --secondary:#2563eb;

    --gold:#caa646;
    --gold-light:#e5c977;

    --text:#1e293b;
    --muted:#64748b;

    --border:#d8c48a;

    --paper:#fffefb;

    --shadow:

        0 20px 55px rgba(15,23,42,.10);

}

body{

    margin:0;

    background:#f5f7fb !important;

    font-family:'Poppins',sans-serif;

    color:var(--text);

}

/*==================================================
PAGE
==================================================*/

.certificate-page{

    padding:28px 0 40px;

}

.certificate-wrapper{

    width:100%;

    max-width:1180px;

    margin:auto;

    padding:0 15px;

}

/*==================================================
CERTIFICATE
==================================================*/

.certificate{

    position:relative;

    width:100%;

    max-width:1050px;

    margin:auto;

    background:var(--paper);

    border:8px solid var(--gold);

    border-radius:12px;

    padding:42px;

    overflow:hidden;

    box-shadow:var(--shadow);

}

/*==================================================
INNER BORDER
==================================================*/

.certificate::before{

    content:"";

    position:absolute;

    inset:12px;

    border:2px solid var(--border);

    border-radius:4px;

    pointer-events:none;

}

/*==================================================
TOP
==================================================*/

.certificate-top{

    position:relative;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    text-align:center;

    margin-bottom:26px;

    z-index:2;

}

.certificate-logo{

    margin-bottom:12px;

}

.certificate-logo img{

    height:100px;

    width:auto;

}

.certificate-heading h1{

    margin:0;

    font-family:'Cinzel',serif;

    font-size:2.35rem;

    font-weight:700;

    letter-spacing:4px;

    color:var(--primary);

}

.certificate-heading span{

    display:block;

    margin-top:6px;

    font-size:.92rem;

    letter-spacing:.35em;

    color:#8b7355;

    text-transform:uppercase;

}

/*==================================================
BODY
==================================================*/

.certificate-body{

    position:relative;

    z-index:2;

    text-align:center;

}

.certificate-intro{

    font-size:1rem;

    color:var(--muted);

}

.certificate-name{

    margin:18px 0;

    font-family:'Cinzel',serif;

    font-size:2.75rem;

    font-weight:700;

    color:var(--primary);

    letter-spacing:1px;

}

.certificate-description{

    max-width:720px;

    margin:0 auto;

    font-size:1rem;

    color:#475569;

    line-height:1.7;

}

.certificate-language{

    margin-top:20px;

    font-size:1.65rem;

    font-weight:700;

    color:var(--secondary);

    letter-spacing:2px;

    text-transform:uppercase;

}

.certificate-level{

    margin:18px 0;

}

.level-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:10px 24px;

    border-radius:999px;

    background:

    linear-gradient(

        135deg,

        var(--secondary),

        #3b82f6

    );

    color:#fff;

    font-size:1.5rem;

    font-weight:700;

    letter-spacing:.08em;

}

.certificate-note{

    max-width:760px;

    margin:0 auto;

    font-size:.95rem;

    color:var(--muted);

    line-height:1.7;

}

/*==================================================
INFORMATION GRID
==================================================*/

.certificate-info-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:14px;

    margin:34px 0;

}

.certificate-info-card{

    padding:16px;

    background:#ffffff;

    border:1px solid #ece5cf;

    border-radius:14px;

    text-align:center;

    transition:.30s;

}

.certificate-info-card:hover{

    transform:translateY(-3px);

    box-shadow:

    0 12px 26px rgba(15,23,42,.08);

}

.info-label{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    margin-bottom:10px;

    font-size:.82rem;

    font-weight:600;

    color:var(--muted);

}

.info-label i{

    color:var(--gold);

}

.info-value{

    font-size:1rem;

    font-weight:700;

    color:var(--primary);

}

/*==================================================
BOTTOM
==================================================*/

.certificate-bottom{

    display:grid;

    grid-template-columns:170px 1fr 220px;

    align-items:end;

    gap:30px;

    margin-top:22px;

}

/*==================================================
QR CODE
==================================================*/

.certificate-qr{

    text-align:center;

}

.certificate-qr img{

    width:95px;

    height:95px;

    padding:6px;

    background:#fff;

    border:1px solid #e7dec1;

    border-radius:12px;

}

.certificate-qr small{

    display:block;

    margin-top:8px;

    color:var(--muted);

    font-size:.78rem;

}

/*==================================================
OFFICIAL SEAL
==================================================*/

.certificate-seal{

    display:flex;

    justify-content:center;

    align-items:center;

}

.certificate-seal div{

    width:115px;

    height:115px;

    border-radius:50%;

    border:4px solid var(--gold);

    background:

    radial-gradient(circle,#fff9ea,#f6edd2);

    display:flex;

    align-items:center;

    justify-content:center;

    text-align:center;

    font-family:'Cinzel',serif;

    font-size:.82rem;

    font-weight:700;

    color:#8b6a17;

    line-height:1.35;

    box-shadow:

    inset 0 0 0 4px rgba(202,166,70,.15);

}

/*==================================================
SIGNATURE
==================================================*/

.certificate-signature{

    text-align:center;

}

.signature-line{

    width:180px;

    margin:0 auto 10px;

    border-top:2px solid #4b5563;

}

.certificate-signature h5{

    margin:0;

    font-size:1rem;

    color:var(--primary);

    font-weight:700;

}

.certificate-signature p{

    margin-top:4px;

    font-size:.82rem;

    color:var(--muted);

}

/*==================================================
CERTIFICATE NUMBER
==================================================*/

.certificate-number{

    margin-top:28px;

    padding-top:18px;

    border-top:1px dashed #d6c38b;

    text-align:center;

    font-size:.86rem;

    color:var(--muted);

    letter-spacing:.04em;

}

.certificate-number strong{

    display:block;

    margin-top:6px;

    color:var(--primary);

    font-size:1rem;

    font-weight:700;

    letter-spacing:.08em;

}

/*==================================================
CERTIFICATE FOOTER
==================================================*/

.certificate-footer{

    margin-top:18px;

    text-align:center;

    font-size:.82rem;

    color:var(--muted);

}

.certificate-footer strong{

    color:var(--primary);

}


/*==================================================
CERTIFICATE ACTIONS
==================================================*/

.certificate-actions{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:14px;

    margin-top:34px;

}

/*==================================================
PREMIUM BUTTONS
==================================================*/

.btn-premium{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    min-height:48px;

    padding:0 22px;

    border:none;

    border-radius:14px;

    text-decoration:none;

    font-weight:600;

    font-size:.92rem;

    cursor:pointer;

    transition:

    transform .28s,

    box-shadow .28s,

    background .28s,

    color .28s;

}

/*==================================================
PRIMARY
==================================================*/

.btn-primary-premium{

    color:#fff;

    background:

    linear-gradient(

        135deg,

        var(--primary),

        var(--secondary)

    );

    box-shadow:

    0 10px 22px rgba(37,99,235,.18);

}

.btn-primary-premium:hover{

    color:#fff;

    transform:translateY(-2px);

}

/*==================================================
SUCCESS
==================================================*/

.btn-success-premium{

    color:#fff;

    background:

    linear-gradient(

        135deg,

        #16a34a,

        #22c55e

    );

    box-shadow:

    0 10px 22px rgba(34,197,94,.18);

}

.btn-success-premium:hover{

    color:#fff;

    transform:translateY(-2px);

}

/*==================================================
LIGHT
==================================================*/

.btn-light-premium{

    color:var(--text);

    background:#ffffff;

    border:1px solid #dbe3ef;

}

.btn-light-premium:hover{

    color:var(--text);

    background:#f8fafc;

    transform:translateY(-2px);

}

/*==================================================
BUTTON ICONS
==================================================*/

.btn-premium i{

    font-size:.95rem;

}

/*==================================================
MICRO INTERACTIONS
==================================================*/

.certificate{

    transition:

    transform .35s,

    box-shadow .35s;

}

.certificate:hover{

    box-shadow:

    0 28px 60px rgba(15,23,42,.12);

}

.certificate-info-card{

    transition:

    transform .28s,

    box-shadow .28s,

    border-color .28s;

}

.certificate-info-card:hover{

    border-color:var(--gold);

}

.level-badge{

    transition:

    transform .30s,

    box-shadow .30s;

}

.level-badge:hover{

    transform:translateY(-2px);

    box-shadow:

    0 10px 22px rgba(37,99,235,.18);

}

.certificate-logo img{

    transition:transform .35s;

}

.certificate:hover .certificate-logo img{

    transform:scale(1.04);

}

.certificate-seal div{

    transition:

    transform .35s,

    box-shadow .35s;

}

.certificate-seal:hover div{

    transform:rotate(-5deg);

    box-shadow:

    0 12px 24px rgba(202,166,70,.18);

}

.certificate-qr img{

    transition:

    transform .35s,

    box-shadow .35s;

}

.certificate-qr:hover img{

    transform:scale(1.05);

    box-shadow:

    0 10px 24px rgba(15,23,42,.10);

}

.btn-premium:hover{

    box-shadow:

    0 14px 28px rgba(15,23,42,.12);

}

.btn-premium:active{

    transform:scale(.98);

}


/*==================================================
TABLET
==================================================*/

@media (max-width:992px){

.certificate{

    padding:34px;

}

.certificate-info-grid{

    grid-template-columns:repeat(2,1fr);

}

.certificate-bottom{

    grid-template-columns:1fr;

    gap:26px;

    justify-items:center;

    text-align:center;

}

.signature-line{

    width:170px;

}

}

/*==================================================
MOBILE
==================================================*/

@media (max-width:768px){

.certificate-page{

    padding:18px 0 30px;

}

.certificate{

    padding:24px;

    border-width:6px;

}

.certificate::before{

    inset:8px;

}

.certificate-logo img{

    height:56px;

}

.certificate-heading h1{

    font-size:1.8rem;

    letter-spacing:3px;

}

.certificate-heading span{

    font-size:.78rem;

    letter-spacing:.22em;

}

.certificate-name{

    font-size:2rem;

}

.certificate-language{

    font-size:1.3rem;

}

.level-badge{

    font-size:.88rem;

    padding:8px 18px;

}

.certificate-note{

    font-size:.88rem;

}

.certificate-info-grid{

    grid-template-columns:1fr;

    gap:12px;

}

.certificate-info-card{

    padding:14px;

}

.certificate-bottom{

    gap:20px;

}

.certificate-seal div{

    width:95px;

    height:95px;

    font-size:.72rem;

}

.signature-line{

    width:150px;

}

.certificate-actions{

    flex-direction:column;

}

.btn-premium{

    width:100%;

}

.certificate-info-grid{

    grid-template-columns:1fr;

}

.certificate-export .certificate-info-grid{

    grid-template-columns:repeat(4,1fr)!important;

}

}

/*==================================================
SMALL MOBILE
==================================================*/

@media (max-width:576px){

.certificate{

    padding:20px;

}

.certificate-name{

    font-size:1.7rem;

}

.certificate-description{

    font-size:.90rem;

}

.certificate-language{

    font-size:1.15rem;

}

.certificate-number strong{

    font-size:.88rem;

    word-break:break-word;

}

}

/*==================================================
PRINT
==================================================*/

@media print{

@page{

    size:A4 portrait;

    margin:5mm;

}

html,

body{

    margin:0;

    padding:0;

    background:#ffffff !important;

    -webkit-print-color-adjust:exact;

    print-color-adjust:exact;

}

header,

footer,

nav,

.certificate-actions{

    display:none !important;

}

.certificate-page{

    padding:0;

    margin-top:25px;

}

.certificate-wrapper{

    max-width:100%;

    padding:0;

}

.certificate{

    width:100%;

    max-width:100%;

    min-height:275mm;

    margin:0 auto;

    padding:28px 30px;

    border-width:6px;

    border-radius:0;

    box-shadow:none;

    page-break-inside:avoid;

    break-inside:avoid;

    display:flex;

    flex-direction:column;

}

.certificate::before{

    inset:8px;

}

.certificate-top{

    margin-bottom:24px;

}

.certificate-logo img{

    height:56px;

}

.certificate-heading h1{

    font-size:1.8rem;

}

.certificate-name{

    margin:14px 0;

    font-size:2rem;

}

.certificate-description{

    font-size:.90rem;

}

.certificate-language{

    margin-top:14px;

    font-size:1.25rem;

}

.level-badge{

    padding:8px 18px;

    font-size:.85rem;

}

.certificate-note{

    font-size:.84rem;

    line-height:1.5;

}

.certificate-info-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:8px;

    margin:22px 0;

}

.certificate-info-card{

    padding:8px 10px;

    border-radius:10px;

}

.info-label{

    margin-bottom:4px;

    gap:5px;

    font-size:.68rem;

}

.info-value{

    font-size:1rem;

}

.certificate-bottom{

    grid-template-columns:140px 1fr 170px;

    gap:16px;

    margin-top:16px;

}

.certificate-qr img{

    width:78px;

    height:78px;

}

.certificate-seal div{

    width:88px;

    height:88px;

    font-size:.68rem;

}

.signature-line{

    width:140px;

}

.certificate-signature h5{

    font-size:.88rem;

}

.certificate-signature p{

    font-size:.72rem;

}

.certificate-number{

    margin-top:16px;

    padding-top:12px;

    font-size:.72rem;

}

.certificate-footer{

    margin-top:auto;

    padding-top:10px;

}

}

/*==================================================
FINAL PREMIUM TOUCHES
==================================================*/

.certificate{

    animation:certificateFade .6s ease;

}

@keyframes certificateFade{

from{

    opacity:0;

    transform:translateY(16px);

}

to{

    opacity:1;

    transform:translateY(0);

}

}

::selection{

    background:#dbeafe;

}

.certificate *{

    -webkit-font-smoothing:antialiased;

    -moz-osx-font-smoothing:grayscale;

    text-rendering:optimizeLegibility;

}


/*==================================================
CERTIFICATE EXPORT (A4 ONLY)
==================================================*/

.certificate-export{

    width:210mm !important;

    min-height:297mm !important;

    max-width:210mm !important;

}

/*----------------------------------
Information cards
----------------------------------*/

.certificate-export .certificate-info-grid{

    display:grid !important;

    grid-template-columns:repeat(4,1fr) !important;

    gap:14px !important;

}

/*----------------------------------
Bottom
----------------------------------*/

.certificate-export .certificate-bottom{

    display:grid !important;

    grid-template-columns:170px 1fr 220px !important;

    align-items:end !important;

    gap:30px !important;

}

/*----------------------------------
Reset mobile styles
----------------------------------*/

.certificate-export .certificate-info-card{

    padding:16px !important;

}

.certificate-export .certificate-qr{

    text-align:center !important;

}

.certificate-export .certificate-seal{

    justify-content:center !important;

}

.certificate-export .certificate-signature{

    text-align:center !important;

}

.certificate-export .signature-line{

    width:180px !important;

}

/*----------------------------------
Buttons hidden
----------------------------------*/

.certificate-export .certificate-actions{

    display:none !important;

}

/*==================================================
EXPORT MODE
==================================================*/

.certificate-export{

    width:210mm !important;

    min-width:210mm !important;

    max-width:210mm !important;

    height:297mm !important;

    min-height:297mm !important;

    max-height:297mm !important;

    overflow:hidden !important;

}

