/* ==========================================================================
   CHARACTER CERTIFICATE APP - SCREEN LAYOUT (PART 1 - PERFECT UNIFORM STYLE)
   All rules scoped beneath #j-cert-wrapper to safely isolate from Joomla
   ========================================================================== */

#j-cert-wrapper {
  --primary-color: #285caf;
  --secondary-color: #6c757d;
  --success-color: #28a745;
  --danger-color: #dc3545;
  --text-dark: #2d3748;
  --bg-light: #f8fafc;
  --border-color: #cbd5e1;
  --font-stack: 'Cambria', 'Georgia', serif;
  --system-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  
  font-family: var(--system-font) !important;
  color: var(--text-dark) !important;
  max-width: 1000px;
  margin: 20px auto;
  padding: 25px;
  background-color: #abccdc54;
  border-radius: 12px;
  box-sizing: border-box;
}

#j-cert-wrapper *, 
#j-cert-wrapper *::before, 
#j-cert-wrapper *::after {
  box-sizing: border-box;
}

/* View State Toggles */
#j-cert-wrapper .cert-view {
  display: none;
}
#j-cert-wrapper .cert-view.active {
  display: block;
}

/* Form Main Card Design */
#j-cert-wrapper #cert-form-view {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 35px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
}

/* Header System */
#j-cert-wrapper .cert-header {
  border-bottom: 2px solid var(--primary-color);
  padding-bottom: 15px;
  margin-bottom: 30px;
  text-align: center;
}
#j-cert-wrapper .cert-header h2 {
  color: var(--primary-color) !important;
  margin: 0 0 8px 0;
  font-size: 26px !important;
  font-weight: 700 !important;
  font-family: var(--system-font) !important;
}
#j-cert-wrapper .cert-header p {
  font-family: var(--system-font) !important;
  font-size: 15px !important;
  color: var(--secondary-color) !important;
}

/* ==========================================================================
   FIXED & PERFECTED: MODERN PREMIUM INLINE PARAGRAPH FORM STYLES
   ========================================================================== */
#j-cert-wrapper .inline-form-paragraph {
  font-size: 18px !important;         /* सामान्य वाक्य का आकार 18px किया */
  line-height: 2.7 !important;         /* लाइनों के बीच बेहतरीन गैप ताकि इनपुट परफेक्ट दिखें */
  color: #334155 !important;
  text-align: justify !important;
  margin-bottom: 25px !important;
  font-family: var(--system-font) !important;
}

#j-cert-wrapper .inline-input-group {
  display: inline-block !important;
  position: relative !important;
  vertical-align: middle !important;
  margin: 0 4px !important;
}

/* सभी इनपुट और ड्रॉपडाउन की ऊंचाई, साइज और फोंट को वाक्य के बिल्कुल बराबर किया */
#j-cert-wrapper .inline-form-paragraph input[type="text"],
#j-cert-wrapper .inline-form-paragraph select {
  height: 34px !important;            /* बिल्कुल एक जैसी ऊंचाई */
  padding: 0px 6px !important;         /* पैडिंग को संतुलित किया ताकि अक्षर लाइन में रहें */
  font-size: 18px !important;          /* FIXED: अंदर के फॉन्ट को भी बिल्कुल 18px पर लॉक किया */
  font-weight: 600 !important;
  font-family: var(--system-font) !important;
  border: none !important;
  border-bottom: 2px solid var(--border-color) !important; /* नीचे सिर्फ एक साफ अंडरलाइन */
  background-color: #f8fafc !important;
  color: #1e293b !important;
  border-radius: 4px 4px 0 0 !important;
  box-sizing: border-box !important;
  transition: all 0.15s ease-in-out !important;
}

/* एक्टिव होने पर सुंदर फोकस ग्लो इफेक्ट */
#j-cert-wrapper .inline-form-paragraph input[type="text"]:focus,
#j-cert-wrapper .inline-form-paragraph select:focus {
  border-bottom-color: var(--primary-color) !important;
  background-color: #eff6ff !important;
  outline: 0 !important;
}

/* Dropdown Width Lock Fix (सिकुड़ने की बीमारी का इलाज) */
#j-cert-wrapper .inline-form-paragraph select#y1 {
  width: 110px !important;
  min-width: 110px !important;
  display: inline-block !important;
}

/* Bottom Grid for Metadata (Post, Police, District, Date, Signatory) */
#j-cert-wrapper .cert-grid-3 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0 20px;
  margin-top: 25px;
}
#j-cert-wrapper .form-group {
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
}
#j-cert-wrapper .form-group label {
  font-family: var(--system-font) !important;
  font-weight: 600 !important;
  margin-bottom: 6px;
  font-size: 14px !important;
  color: #475569 !important;
}
#j-cert-wrapper .form-group input {
  height: 38px !important;
  padding: 6px 12px !important;
  font-size: 15px !important;
  font-family: var(--system-font) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 4px !important;
  color: #1e293b !important;
}
#j-cert-wrapper .form-group input:focus {
  border-color: var(--primary-color) !important;
  outline: 0 !important;
}


@media(min-width: 576px) {
  #j-cert-wrapper .cert-grid-3 { grid-template-columns: repeat(3, 1fr); }
}

/* Validation Visual Errors */
#j-cert-wrapper .inline-input-group.invalid input,
#j-cert-wrapper .inline-input-group.invalid select,
#j-cert-wrapper .form-group.invalid input {
  border-bottom-color: var(--danger-color) !important;
  border-color: var(--danger-color) !important;
  background-color: #fff8f8 !important;
}

/* ==========================================================================
   BULETPROOF CSS-ONLY LAYOUT CARD SELECTION (No JS required for borders)
   ========================================================================== */
#j-cert-wrapper .format-selection-zone {
  margin: 30px 0 15px 0;
  background: #f1f5f9;
  padding: 20px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
}
#j-cert-wrapper .format-selection-zone h3 {
  font-family: var(--system-font) !important;
  margin: 0 0 15px 0;
  font-size: 17px !important;
  color: #1e293b;
  text-align: center;
}
#j-cert-wrapper .format-card input[type="radio"] {
  display: none !important;
}

/* ==========================================================================
   MASTER FIX: THUMBNAIL AREA HOUSING ENGINE (Kills the invisible block bug)
   इमेज न होने पर भी यह ढांचा स्क्रीन पर बॉक्स का विज़ुअल एरिया बनाए रखेगा
   ========================================================================== */
#j-cert-wrapper .format-card .preview-box {
  width: 100% !important;
  height: 140px !important;              /* फिक्स्ड ऊंचाई ताकि बॉक्स कभी गायब न हो */
  background-color: #f8fafc !important;  /* प्रीमियम लाइट ग्रे बैकग्राउंड */
  margin-bottom: 12px !important;
  border-radius: 6px !important;
  border: 1px dashed #cbd5e1 !important;  /* इमेज न होने पर सुंदर डैश बॉर्डर दिखेगी */
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

/* इमेज डालने के बाद का बैकग्राउंड रेंडरिंग सिंक गार्ड */
#j-cert-wrapper .format-card:nth-child(1) .preview-box {
  background: #f8fafc url('img/character-certificate-format-1.png') no-repeat center center !important;
  background-size: cover !important;
}
#j-cert-wrapper .format-card:nth-child(2) .preview-box {
  background: #f8fafc url('img/character-certificate-format-2.png') no-repeat center center !important;
  background-size: cover !important;
}

#j-cert-wrapper .format-card .card-content {
  border: 2px solid var(--border-color) !important;
  border-radius: 6px !important;
  padding: 10px !important;
  background: #ffffff !important;
  transition: all 0.2s ease-in-out !important;
}
#j-cert-wrapper .format-card input[type="radio"]:checked + .card-content {
  border: 2px solid var(--primary-color) !important;
  box-shadow: 0 4px 12px rgba(40, 92, 175, 0.15) !important;
  background: rgba(40, 92, 175, 0.02) !important;
}
#j-cert-wrapper .format-card span {
  font-family: var(--system-font) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  margin-top: 4px;
  display: block;
  text-align: center;
}

/* Controls and Bottom Action Bar */
#j-cert-wrapper .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-family: var(--system-font) !important;
  padding: 10px 16px;
  font-size: 15px !important;
  border-radius: 4px;
  cursor: pointer;
  flex: 1;
  max-width: 200px;
}

/* ==========================================================================
   UPDATED: CHAKACHAK BUTTON UI SYSTEM (Generate Live Preview बटन की री-फ़ॉर्मेटिंग)
   ========================================================================== */
#j-cert-wrapper .action-bar {
  display: flex !important;
  justify-content: center !important;    /* बटन को बिल्कुल बीचों-बीच सेट करेगा */
  margin-top: 35px !important;
  width: 100% !important;
}

#j-cert-wrapper .btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 250px !important;           /* बटन की चौड़ाई को बड़ा और शानदार किया */
  height: 46px !important;               /* ऊँचाई बढ़ाकर कॉर्पोरेट लुक दिया */
  padding: 10px 24px !important;
  font-size: 16px !important;            /* अक्षरों का आकार बड़ा और साफ़ किया */
  font-weight: 700 !important;           /* टेक्स्ट को गहरा (Bold) किया */
  letter-spacing: 0.5px !important;
  color: #ffffff !important;
  background-color: #285caf !important;  /* आपकी थीम का ओरिजिनल डार्कू ब्लू रंग */
  border: none !important;
  border-radius: 6px !important;         /* सुंदर घुमावदार कोने */
  cursor: pointer !important;
  box-shadow: 0 4px 6px -1px rgba(40, 92, 175, 0.2), 0 2px 4px -1px rgba(40, 92, 175, 0.1) !important;
  transition: all 0.2s ease-in-out !important;
}

/* कर्सर ले जाने पर चमकदार होवर इफ़ेक्ट */
#j-cert-wrapper .btn-primary:hover {
  background-color: #1e468a !important;  /* थोड़ा गहरा रॉयल ब्लू रंग */
  box-shadow: 0 6px 10px -1px rgba(40, 92, 175, 0.3), 0 3px 6px -1px rgba(40, 92, 175, 0.15) !important;
  transform: translateY(-1px) !important; /* हल्का सा ऊपर उठने का प्रीमियम अहसास */
}

#j-cert-wrapper .btn-primary:active {
  transform: translateY(0px) !important;
  box-shadow: 0 2px 4px rgba(40, 92, 175, 0.2) !important;
}

#j-cert-wrapper .btn-secondary { background-color: var(--secondary-color); color: white; }
#j-cert-wrapper .btn-success { background-color: var(--success-color); color: white; }
#j-cert-wrapper .preview-controls-bar { display: flex; justify-content: center; align-items: center; margin-top: 25px; padding-top: 15px; border-top: 1px dashed var(--border-color); gap: 12px; }

@media (max-width: 480px) {
  #j-cert-wrapper .preview-controls-bar { flex-direction: column; gap: 10px; }
  #j-cert-wrapper .btn { width: 100%; max-width: 100%; padding: 12px; }
}

/* Screen Preview A4 Canvas Box Framework */
#j-cert-wrapper .a4-print-window {
  width: 100%;
  max-width: 790px;
  min-height: 1080px;
  margin: 0 auto;
  background: #ffffff;
  padding: 45px 50px 45px 50px; 
  box-shadow: 0 0 15px rgba(0,0,0,0.1);
  font-family: var(--font-stack) !important;
  position: relative;
  display: flex;
  flex-direction: column;
}
#j-cert-wrapper .cert-inner-content { display: flex; flex-direction: column; height: 100%; flex-grow: 1; }
#j-cert-wrapper .cert-title-block { text-align: center; margin-bottom: 40px; margin-top: 15px; }
#j-cert-wrapper .cert-title-block h1 { font-family: var(--font-stack) !important; font-size: 34px !important; font-weight: 700; margin: 0 auto; border-bottom: 2px solid #222; display: inline-block; padding-bottom: 6px; }
#j-cert-wrapper .cert-statement-body { font-family: var(--font-stack) !important; font-size: 19px !important; line-height: 2.2; color: #000000; text-align: justify; }
#j-cert-wrapper .highlight-text { padding: 0 2px; font-weight: bold; }



/* ==========================================================================
   FIXED Character Certificate Date UI Formatting Layout Block 
   તारीख को पैराग्राफ से अलग करके साफ़-सुथरी नई स्वतंत्र लाइन में लॉक करेगा 
   ========================================================================== */
#j-cert-wrapper #printable-canvas-frame .cert-meta-row {
  display: block !important;          /* फ्लेक्स हटाकर ब्लॉक किया ताकि पैराग्राफ नीचे खिसक सके */
  width: 100% !important;
  font-size: 17px !important;
  margin-bottom: 25px !important;     /* तारीख और मुख्य वाक्य के बीच सुंदर प्रोफेशनल गैप */
  color: #111111 !important;
  text-align: left !important;
  font-weight: normal !important;
}

/* मुख्य पैराग्राफ की पहली लाइन को एक सुंदर लीगल लुक देने के लिए इंडेंट */
#j-cert-wrapper #printable-canvas-frame .cert-statement-body p:first-child {
  text-indent: 40px !important;       /* प्रमाणित किया जाता है कि... को थोड़ा आगे से शुरू करेगा */
  margin-top: 0 !important;
}


/* ==========================================================================
   CHARACTER CERTIFICATE APP - PRINT MEDIA LAYOUT (PART 2 - OVERRIDE FREE)
   Forces absolute zero joomla whitespace and embeds beautiful solid borders
   ========================================================================== */
@media print {
  html, body {
    margin: 0 !important;
    padding: 0 !important;
    height: 100% !important;
    overflow: hidden !important; /* ब्राउज़र को दूसरा एक्स्ट्रा खाली पन्ना बनाने से रोकता है */
    background: #ffffff !important;
  }

  /* Total Ad Blocker & Inline Text Ads Exclusion Subsystem Protection */
  ins, iframe, script, .google-auto-placed, [id*="google_ads"], [class*="google_ads"], [id*="ad"], [class*="ad"],
  ez-ad, .ezoic-ad, [class*="ezoic"], [id*="ezoic"], #printable-canvas-frame ins, #printable-canvas-frame iframe {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Completely hide all external joomla containers to prevent top whitespace injection */
  #header, #footer, #sidebar, #innertop, #innerbottom, 
  .preview-controls-bar, main > div:not(#j-cert-wrapper), .joomla-footer, #footer-wrapper {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }
  
  /* Enforce isolated visibility on the core print wrapper canvas ONLY */
  #j-cert-wrapper {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important; /* Locks canvas tightly at the absolute top boundary of plain A4 paper */
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 999999 !important;
    transform: none !important;
  }

  #j-cert-wrapper #printable-canvas-frame,
  #j-cert-wrapper #printable-canvas-frame * {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #j-cert-wrapper #printable-canvas-frame span,
  #j-cert-wrapper #printable-canvas-frame strong {
    display: inline !important;
  }

  #j-cert-wrapper #printable-canvas-frame {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border: none !important;
    box-shadow: none !important;
    
    /* सादे पेपर के लिए पैडिंग को पूरी तरह संतुलित किया ताकि 2nd पेज पूरी तरह डिलीट हो जाए */
    padding: 40px 50px 30px 50px !important; 
    
    background-color: #ffffff !important;
    background-image: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    page-break-inside: avoid !important;
    page-break-after: avoid !important;
  }

  /* Title Block Center Underline Management */
  #j-cert-wrapper #printable-canvas-frame .cert-title-block {
    text-align: center !important;
    margin-bottom: 30px !important;
    margin-top: 10px !important;
  }
  #j-cert-wrapper #printable-canvas-frame .cert-title-block h1 {
    font-size: 32px !important;
    margin: 0 auto !important;
    border-bottom: 2px solid #111 !important;
    display: inline-block !important; /* अंडरलाइन केवल टेक्स्ट के नीचे सीमित रखेगा */
    padding-bottom: 5px !important;
    line-height: 1.2 !important;
    color: #000000 !important;
  }

  /* Statement Body Block Tuning */
  #j-cert-wrapper #printable-canvas-frame .cert-statement-body {
    flex-grow: 0 !important; /* रोजाना की लाइनों के बीच के बिखराव को रोकता है */
    display: block !important;
    font-size: 19px !important;
    line-height: 2.0 !important;
    text-align: justify !important;
    color: #000000 !important;
  }
  #j-cert-wrapper #printable-canvas-frame p {
    margin-top: 0 !important;
    margin-bottom: 16px !important;
    position: relative !important;
  }

  /* Metadata Row Date Configuration Layout */
  #j-cert-wrapper #printable-canvas-frame .cert-meta-row {
    font-size: 16px !important;
    margin-bottom: 45px !important;
    display: flex !important;
    justify-content: space-between !important;
    color: #000000 !important;
  }

  /* ------------------------------------------------------------------------
     TIGHTENED MULTI-COLUMN SIGNATURE & WITNESS SPACING
     --------------------------------======================================== */
  #j-cert-wrapper #printable-canvas-frame .witness-line-item {
    margin-top: 25px !important;
  }
  #j-cert-wrapper #printable-canvas-frame .sig-right-panel div[style*="margin-top"] {
    margin-top: 90px !important;
  }

  /* MANDATORY PLAIN PAPER SOLID DOUBLE BORDER REINJECTION */
  #j-cert-wrapper .a4-print-window.format1 { 
    border: 14px double #1a365d !important; 
    background: #ffffff !important; 
  }
}

/* ==========================================================================
   DYNAMIC CLASS SWITCHER ENGINE (STRICT OVERRIDE PREVENTION LOCK)
   Safely isolates Format 1 and Format 2 from blending into each other
   ========================================================================== */

/* 1. स्क्रीन प्रीव्यू के लिए स्वतंत्र शैलियों की घोषणा */
.format1-panel, .format2-panel {
  display: none !important;
}

#printable-canvas-frame.format1 .format1-panel {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  margin-top: 50px;
  font-size: 16px;
}
.sig-left-panel { text-align: left; }
.sig-right-panel { text-align: right; display: flex; flex-direction: column; align-items: flex-end; }
.witness-line-item { margin-top: 35px; }
.witness-underline-draw { display: inline-block; width: 150px; border-bottom: 1px solid #111; vertical-align: bottom; }

#printable-canvas-frame.format2 .format2-panel {
  display: flex !important;
  justify-content: flex-end;
  width: 100%;
  margin-top: 70px;
  font-size: 17px;
}
.sig-f2-block {
  text-align: left;
  width: 320px;
  line-height: 2.2;
  margin-left: auto;
}

/* 2. प्रिंट मीडिया के अंदर का कड़ा सुरक्षा कवच */
@media print {
  .format1-panel, .format2-panel {
    display: none !important;
  }
  
  /* जब फॉर्मेट 1 सक्रिय हो, तो प्रिंटर सिर्फ फॉर्मेट 1 छापेगा और दूसरा अदृश्य रहेगा */
  #printable-canvas-frame.format1 .format1-panel {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    margin-top: 50px !important;
  }
  .sig-left-panel { text-align: left !important; }
  .sig-right-panel { text-align: right !important; align-items: flex-end !important; }
  .witness-line-item { margin-top: 25px !important; }
  
  /* जब फॉर्मेट 2 सक्रिय हो, तो प्रिंटर सिर्फ फॉर्मेट 2 छापेगा और पहला अदृश्य रहेगा */
  #printable-canvas-frame.format2 .format2-panel {
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    margin-top: 70px !important;
  }
  .sig-f2-block {
    text-align: left !important;
    width: 320px !important;
    line-height: 2.2 !important;
  }
}


/* ==========================================================================
   FIXED: BULLETPROOF LOADER ANIMATION SYSTEM (Kills the Frozen Loader Bug)
   ========================================================================== */
#j-cert-wrapper .loader-track-bar {
  width: 100% !important;
  max-width: 350px !important;
  height: 6px !important;
  background-color: #e9ecef !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  position: relative !important;
  display: block !important;
  margin: 0 auto !important;
}

#j-cert-wrapper .loader-moving-fill {
  width: 100% !important;
  height: 100% !important;
  background-color: #285caf !important;
  position: absolute !important;
  left: -100% !important;
  /* ग्लोबल सीएसएस एनीमेशन इंजन: यह किसी भी फॉर्मेट में कभी फ्रीज नहीं होगा */
  animation: characterCertLoaderFix 2s infinite linear !important;
  border-radius: 4px !important;
}

@keyframes characterCertLoaderFix {
  0% { left: -100%; width: 30%; }
  50% { width: 40%; }
  100% { left: 100%; width: 30%; }
}
