/* Reporter ID Card v7.0 – V1 News Style Layout */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800;900&family=Open+Sans:wght@400;600&display=swap');

.ridc-wrap { font-family:'Open Sans',sans-serif; padding:20px 0 40px; }

/* ══ CODE SCREEN ══ */
.ridc-code-screen { display:flex; justify-content:center; padding:20px 16px; }
.ridc-code-box {
    background:#fff; border-radius:16px; padding:36px 28px 28px;
    max-width:380px; width:100%; text-align:center;
    box-shadow:0 8px 40px rgba(0,0,0,.12); border-top:5px solid #c0392b;
}
.ridc-code-icon   { font-size:3rem; margin-bottom:10px; display:block; }
.ridc-code-title  { font-family:'Montserrat',sans-serif; font-size:1.5rem; font-weight:900; color:#111; margin:0 0 6px; }
.ridc-code-subtitle { color:#777; font-size:.9rem; margin-bottom:28px; }
.ridc-code-inputs { display:flex; justify-content:center; gap:10px; margin-bottom:18px; }
.ridc-digit {
    width:46px!important; height:56px!important;
    border:2px solid #ddd!important; border-radius:10px!important;
    text-align:center!important; font-size:1.6rem!important;
    font-weight:900!important; font-family:'Montserrat',sans-serif!important;
    color:#1a2a4a!important; background:#fff!important;
    outline:none!important; transition:border-color .2s,box-shadow .2s!important;
    padding:0!important; box-shadow:none!important; margin:0!important;
}
.ridc-digit:focus        { border-color:#c0392b!important; box-shadow:0 0 0 3px rgba(192,57,43,.15)!important; }
.ridc-digit-error        { border-color:#e74c3c!important; animation:ridcShake .4s ease; }
@keyframes ridcShake { 0%,100%{transform:translateX(0)} 25%{transform:translateX(-5px)} 75%{transform:translateX(5px)} }
.ridc-error { color:#c0392b; font-size:.88rem; background:#fff5f5; border:1px solid #f5c6c6; border-radius:6px; padding:8px 12px; margin-bottom:14px; }
.ridc-btn-submit {
    width:100%; padding:13px; background:#bbb; color:#fff;
    border:none; border-radius:10px; font-family:'Montserrat',sans-serif;
    font-size:.9rem; letter-spacing:3px; text-transform:uppercase; font-weight:700;
    cursor:pointer; transition:background .2s,transform .1s;
}
.ridc-btn-submit.ridc-btn-ready       { background:#1a2a4a; }
.ridc-btn-submit.ridc-btn-ready:hover { background:#c0392b; transform:translateY(-1px); }
.ridc-btn-submit:disabled             { opacity:.7; cursor:not-allowed; }
.ridc-code-help { margin-top:14px; font-size:.78rem; color:#aaa; }

/* ══ CARD SCREEN ══ */
.ridc-card-screen { display:flex; flex-direction:column; align-items:center; gap:14px; }
.ridc-welcome { background:#f0f4ff; border-left:4px solid #1a2a4a; padding:10px 14px; border-radius:0 8px 8px 0; font-size:.92rem; color:#333; max-width:380px; width:100%; margin:0; }

/* ── FLIP TABS ── */
.ridc-flip-tabs { display:flex; border-radius:8px; overflow:hidden; border:2px solid #1a2a4a; width:380px; }
.ridc-flip-tab {
    flex:1; padding:9px; background:#fff; color:#1a2a4a;
    border:none; font-family:'Montserrat',sans-serif; font-size:.78rem;
    letter-spacing:2px; text-transform:uppercase; font-weight:700; cursor:pointer;
    transition:background .2s,color .2s;
}
.ridc-flip-tab.active              { background:#1a2a4a; color:#fff; }
.ridc-flip-tab:not(.active):hover  { background:#eef2ff; }

/* ══ THE CARD ══ */
.ridc-id-card {
    width:380px;
    background:#fff;
    border-radius:12px; overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.22),0 0 0 1px rgba(0,0,0,.06);
    color:#111; position:relative;
}

/* ══ FRONT CARD – V1 News Layout ══ */

/* Big PRESS badge at top */
.ridc-press-badge {
    font-family:'Montserrat',sans-serif;
    font-weight:900;
    font-size:36px; /* overridden by inline style from JS */
    letter-spacing:4px;
    text-align:center;
    color:#fff;
    padding:8px 0 10px;
    background:#c0392b; /* overridden by inline style */
    text-shadow:1px 1px 3px rgba(0,0,0,.25);
    position:relative;
    z-index:2;
}

/* Main body: photo left, info right */
.ridc-press-body {
    display:flex;
    flex-direction:row;
    min-height:190px;
    border-bottom:3px solid #e0e5ef;
}

/* Left: Photo column */
.ridc-press-photo-col {
    width:130px;
    flex-shrink:0;
    padding:10px 8px 10px 10px;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    position:relative;
}
.ridc-press-photo-wrap {
    width:112px;
    height:140px;
    border-radius:4px;
    overflow:hidden;
    border:3px solid #1a2a4a;
    position:relative;
    background:#ccd5e0;
    flex-shrink:0;
}

/* Stamp overlay on photo */
.ridc-stamp-overlay {
    position:absolute;
    bottom:-14px;
    right:-14px;
    width:70px;
    height:70px;
    z-index:5;
    pointer-events:none;
}

/* Right: Info column */
.ridc-press-info-col {
    flex:1;
    padding:8px 10px 8px 4px;
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}
.ridc-press-logo-wrap {
    width:64px;
    height:64px;
    margin:0 auto 4px;
    flex-shrink:0;
}
.ridc-press-org-name {
    font-family:'Montserrat',sans-serif;
    font-size:.72rem;
    font-weight:800;
    color:#1a2a4a;
    text-align:center;
    margin-bottom:4px;
    text-transform:uppercase;
    letter-spacing:.5px;
}

/* Info table */
.ridc-press-table {
    width:100%;
    border-collapse:collapse;
    font-size:.72rem;
}
.ridc-press-table td {
    padding:2px 3px;
    vertical-align:top;
    line-height:1.4;
}
.ridc-press-info-label {
    color:#1a2a4a;
    font-weight:700;
    white-space:nowrap;
    padding-right:4px;
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.3px;
    width:70px;
}
.ridc-press-info-val {
    color:#222;
    font-weight:600;
    word-break:break-word;
}

/* Signature row */
.ridc-press-sig-row {
    display:flex;
    align-items:center;
    gap:10px;
    padding:8px 16px 4px;
    border-top:1px solid #eee;
}
.ridc-press-sig-line {
    flex:1;
    height:1px;
    background:#bbb;
}
.ridc-press-sig-label {
    font-size:.72rem;
    color:#666;
    font-style:italic;
    font-family:'Montserrat',sans-serif;
}

/* Press footer: website + barcode */
.ridc-press-footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:6px 12px;
    background:#1a2a4a; /* overridden by inline style */
}
.ridc-press-website {
    font-size:.72rem;
    font-weight:700;
    color:#c0392b; /* overridden */
    letter-spacing:.3px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:200px;
    background:#fff;
    padding:2px 6px;
    border-radius:3px;
}

/* ID + validity bottom strip */
.ridc-front-footer-strip {
    display:flex;
    justify-content:space-between;
    align-items:center;
    background:#1a2a4a;
    padding:6px 12px;
    font-size:.7rem;
}
.ridc-id-number, .ridc-validity {
    color:#fff;
    font-family:'Montserrat',sans-serif;
    font-weight:700;
    font-size:.68rem;
    letter-spacing:.5px;
}

/* ── BARCODE ── */
.ridc-barcode, .ridc-back-barcode {
    display:flex; align-items:stretch; gap:1px; height:36px;
}
.ridc-barcode span, .ridc-back-barcode span {
    display:block; background:#fff; flex-shrink:0;
}

/* ── WATERMARK ── */
.ridc-watermark-overlay {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%) rotate(-35deg);
    font-family:'Montserrat',sans-serif;
    font-size:2.4rem;
    font-weight:900;
    color:rgba(192,57,43,.10);
    text-transform:uppercase;
    letter-spacing:6px;
    pointer-events:none;
    white-space:nowrap;
    z-index:10;
    user-select:none;
}

/* ── REGISTRATION CODE (vertical right strip) ── */
.ridc-reg-code-strip {
    position:absolute;
    right:0;
    top:0;
    bottom:0;
    width:18px;
    background:#1a2a4a;
    color:#fff;
    font-family:'Montserrat',sans-serif;
    font-size:.5rem;
    font-weight:700;
    letter-spacing:1px;
    writing-mode:vertical-rl;
    text-orientation:mixed;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:6px 0;
    z-index:8;
    text-transform:uppercase;
}

/* ══ BACK CARD ══ */
.ridc-card-back-side { font-size:.82rem; }

.ridc-back-header {
    background:#1a2a4a;
    padding:14px 16px;
    display:flex;
    align-items:center;
    gap:12px;
    position:relative;
}
.ridc-back-header::before {
    content:'';
    position:absolute;
    bottom:0; left:0; right:0;
    height:4px;
    background:#c0392b; /* overridden */
}
.ridc-back-logo-wrap { width:50px; height:50px; background:#fff; border-radius:8px; flex-shrink:0; overflow:hidden; }
.ridc-back-org { color:#fff; }
.ridc-back-org-name { font-family:'Montserrat',sans-serif; font-weight:900; font-size:.95rem; letter-spacing:.5px; }
.ridc-back-org-tag  { font-size:.72rem; opacity:.8; margin-top:2px; }

.ridc-tc-section { padding:10px 14px 8px; }
.ridc-tc-heading {
    font-family:'Montserrat',sans-serif;
    font-weight:800; font-size:.78rem; text-transform:uppercase;
    letter-spacing:1.5px; color:#333;
    border-bottom:2px solid #c0392b; /* overridden */
    padding-bottom:5px; margin-bottom:8px;
}
.ridc-tc-list {
    margin:0; padding:0; list-style:none;
    counter-reset:tc;
}
.ridc-tc-list li {
    counter-increment:tc;
    font-size:.68rem; line-height:1.5; color:#444; margin-bottom:3px;
    padding-left:16px; position:relative;
}
.ridc-tc-list li::before {
    content:counter(tc)'.';
    position:absolute; left:0;
    color:#c0392b; font-weight:700; font-size:.66rem; /* overridden */
}

.ridc-contact-strip { padding:8px 14px; background:#f5f7fa; border-top:1px solid #eee; }
.ridc-contact-row   { display:flex; align-items:center; gap:6px; margin-bottom:4px; font-size:.7rem; color:#444; }
.ridc-contact-icon  { font-size:.9rem; color:#c0392b; /* overridden */ }

.ridc-back-bottom {
    background:#1a2a4a; /* overridden */
    padding:8px 12px;
    display:flex; align-items:center; justify-content:space-between;
}
.ridc-back-logo-sm     { width:30px; height:30px; background:#fff; border-radius:5px; overflow:hidden; flex-shrink:0; }
.ridc-back-bottom-org  { color:#fff; font-family:'Montserrat',sans-serif; font-weight:800; font-size:.75rem; letter-spacing:.5px; }

/* ══ ACTION ROW – 3 buttons ══ */
.ridc-action-row {
    display:flex;
    gap:10px;
    margin-top:4px;
    flex-wrap:wrap;
    justify-content:center;
    width:380px;
}
.ridc-btn {
    padding:13px 0;
    border:none;
    border-radius:10px;
    font-family:'Montserrat',sans-serif;
    font-size:.78rem;
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:700;
    cursor:pointer;
    transition:opacity .2s,transform .1s;
    flex:1;
    min-width:100px;
}
.ridc-btn:hover    { opacity:.88; transform:translateY(-1px); }
.ridc-btn:disabled { opacity:.6; cursor:not-allowed; transform:none; }

.ridc-btn-back { background:#1a2a4a; color:#fff; }
.ridc-btn-png  { background:#27ae60; color:#fff; }
.ridc-btn-pdf  { background:#c0392b; color:#fff; }

/* ══ RESPONSIVE ══ */
@media(max-width:420px){
    .ridc-id-card,.ridc-flip-tabs,.ridc-action-row { width:100%; max-width:360px; }
    .ridc-action-row { width:100%; }
    .ridc-welcome { max-width:100%; }
}
