/* ========================================================
   ShohojKagoj.com - Print & Stamp Styling
   Cleans output for A4 & Non-Judicial Stamp printing
   Guarantees 1-Page Fit for standard agreements & applications
   ======================================================== */

@media print {
  /* Hide all UI elements, navigation, sidebars, buttons, toolbars, and global footer */
  #layout-header,
  #layout-sidebar,
  #layout-topbar,
  #layout-footer,
  #layout-modals,
  #trendingNoticeStrip,
  .trending-notice-strip,
  .trending-notice-pill,
  #superAdminNoticeBanner,
  .superadmin-banner,
  .app-sidebar,
  .app-topbar,
  .mobile-app-header,
  .mobile-bottom-nav,
  .tool-form-card,
  .preview-action-toolbar,
  .category-filter-bar,
  .section-header,
  .modal-backdrop,
  .sub-btn,
  .btn-primary-action,
  .btn-secondary,
  .superadmin-banner,
  .app-footer,
  footer,
  .footer-inner,
  .footer-bottom,
  .footer-col,
  .policy-tabs-wrapper,
  .policy-card,
  .back-link,
  .memo-customizer-box,
  .business-tabs-nav,
  .business-toolbar,
  .rental-tabs-nav,
  .no-print,
  .preview-notice-bar,
  .preview-hint-banner,
  .tagada-modal-overlay,
  .global-screenshot-shield,
  .screen-capture-shield-overlay,
  .security-toast,
  #view-policies {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
  }

  .app-view:not(.active) {
    display: none !important;
  }

  /* Reset layout */
  html, body {
    background: #ffffff !important;
    color: #000000 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10.5pt !important;
    line-height: 1.45 !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .app-wrapper,
  .app-viewport,
  .app-content,
  .tool-container,
  .live-preview-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    display: block !important;
    position: static !important;
  }

  /* Target Document Paper */
  .paper-sheet,
  .paper-sheet * {
    font-family: var(--font-doc) !important;
  }

  .paper-sheet {
    box-shadow: none !important;
    border: none !important;
    filter: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    min-height: auto !important;
    font-size: 10.5pt !important;
    line-height: 1.45 !important;
  }

  /* Force authentic legal monochrome / black ink ONLY for legal/official/citizen documents */
  #legalPreviewSheet *:not(.watermark-overlay):not(.stamp-space-header):not(.stamp-space-hint),
  #officialPreviewSheet *:not(.watermark-overlay):not(.stamp-space-header):not(.stamp-space-hint),
  #citizenPreviewSheet *:not(.watermark-overlay):not(.stamp-space-header):not(.stamp-space-hint) {
    color: #000000 !important;
    -webkit-text-fill-color: #000000 !important;
    text-shadow: none !important;
  }

  #legalPreviewSheet div,
  #officialPreviewSheet div,
  #citizenPreviewSheet div {
    background: transparent !important;
    background-color: transparent !important;
    border-color: #000000 !important;
  }

  /* Colored documents: print exactly as seen in preview (theme colors + backgrounds) */
  #cashMemoPreviewSheet,
  #cashMemoPreviewSheet *,
  #rentReceiptPreviewSheet,
  #rentReceiptPreviewSheet *,
  #rentPosterPreviewSheet,
  #rentPosterPreviewSheet *,
  #standeePreviewSheet,
  #standeePreviewSheet * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .paper-sheet::before {
    display: none !important;
    content: none !important;
  }

  .paper-sheet h2 {
    font-size: 15pt !important;
    margin-bottom: 10px !important;
    margin-top: 0 !important;
    text-align: center !important;
  }

  #legalPreviewSheet h2,
  #officialPreviewSheet h2,
  #citizenPreviewSheet h2 {
    color: #000000 !important;
  }

  .paper-sheet p {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
    line-height: 1.45 !important;
  }

  .paper-sheet ol, 
  .paper-sheet ul {
    margin-top: 4px !important;
    margin-bottom: 6px !important;
    padding-left: 20px !important;
  }

  .paper-sheet li {
    margin-bottom: 3px !important;
    line-height: 1.4 !important;
  }

  /* Stamp Margin Space for Official Stamp Sheet (৩ ইঞ্চি সম্পূর্ণ খালি স্পেস) */
  .stamp-space-header {
    height: 2.7in !important;
    min-height: 2.7in !important;
    max-height: 2.7in !important;
    border: none !important;
    outline: none !important;
    background: transparent !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    display: block !important;
    visibility: visible !important;
  }

  .stamp-space-header *,
  .stamp-space-hint {
    display: none !important;
    visibility: hidden !important;
    font-size: 0 !important;
    line-height: 0 !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    color: transparent !important;
  }

  .stamp-space-header.hidden {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Witness boxes in print */
  .witness-section {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    margin-top: 14px !important;
  }

  .witness-box {
    background: transparent !important;
    border: 1px solid #333333 !important;
    padding: 6px 10px !important;
    font-size: 9pt !important;
    line-height: 1.4 !important;
  }

  .doc-renewal-box,
  .doc-schedule-box {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    border-top: 1px solid #333333 !important;
    padding-top: 6px !important;
    margin-top: 8px !important;
    font-size: 9.5pt !important;
  }

  /* Signatures layout in print: Generous space for pen signature */
  .doc-signatures-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 30px !important;
    margin-top: 50px !important;
    padding-top: 6px !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .signature-slot {
    text-align: center !important;
    border-top: 1px solid #000000 !important;
    padding-top: 4px !important;
    font-size: 9.5pt !important;
    font-weight: 600 !important;
  }

  /* Watermark Handling during Print */
  .watermark-overlay {
    opacity: 0.12 !important;
    font-size: 44pt !important;
  }

  .watermark-overlay.removed {
    display: none !important;
  }

  /* Standee Print Optimization (Table Tent / Counter A5) */
  .standee-preview-card {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    background: transparent !important;
  }
  .standee-sheet {
    box-shadow: none !important;
    border: none !important;
    max-width: 440px !important;
    margin: 0 auto !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Rental Module Print Optimization (ভাড়া রসিদ ও টু-লেট পোস্টার) */
  /* ১. ২ কপি উপরে-নিচে (Stack Layout - A4 Portrait পুরো পাতা জুড়ে পারফেক্ট ১ পাতায় ফিট) */
  .receipt-stack-layout {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 270mm !important;
    max-height: 275mm !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .receipt-stack-layout .rent-receipt-slip {
    flex: 1 !important;
    max-height: 126mm !important;
    padding: 10px 16px !important;
    border: 1.5px solid #000000 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
  }

  .receipt-horizontal-divider {
    margin: 4px 0 !important;
    page-break-inside: avoid !important;
  }

  /* ২. ২ কপি পাশাপাশি (Side-by-side Layout - A4 Landscape এ পুরো পাতা জুড়ে পারফেক্ট ১ পাতায় ফিট) */
  @page rent-landscape-page {
    size: A4 landscape;
    margin: 6mm;
  }

  .receipt-side-layout,
  .receipt-dual-layout {
    page: rent-landscape-page;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    gap: 8mm !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
    width: 100% !important;
    height: 195mm !important;
    max-height: 198mm !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .receipt-side-layout .rent-receipt-slip,
  .receipt-dual-layout .rent-receipt-slip {
    flex: 1 !important;
    box-shadow: none !important;
    border: 1.5px solid #000000 !important;
    background: #ffffff !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    padding: 12px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: 100% !important;
    box-sizing: border-box !important;
  }

  /* ৩. ১ কপি বড় ফরম্যাট (Single Layout) */
  .receipt-single-layout {
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .receipt-single-layout .rent-receipt-slip {
    max-width: 650px !important;
    margin: 20mm auto 0 auto !important;
    border: 1.5px solid #000000 !important;
    padding: 22px 26px !important;
  }

  /* ৪. খালি রসিদ প্যাড (Blank Pad Print) */
  .is-blank-pad .dots {
    border-bottom: 1.5px dotted #000000 !important;
    min-height: 16px !important;
  }

  .slip-taka-box.blank-box {
    border: 1.5px solid var(--receipt-color, #000000) !important;
    min-width: 140px !important;
    background: #ffffff !important;
  }

  /* Color Preservation on Print (কালার প্রিন্টিং সহায়তা) */
  .rent-receipt-slip,
  .to-let-poster-card {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .slip-brand-header {
    text-align: center !important;
    width: 100% !important;
    margin: 2px auto 4px auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .slip-house-name {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    color: var(--receipt-color, #000000) !important;
    font-size: 19px !important;
    line-height: 1.25 !important;
  }

  .receipt-side-layout .slip-house-name {
    font-size: 16px !important;
  }

  .slip-address {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 10.5px !important;
    color: #334155 !important;
    margin: 1px 0 !important;
  }

  .slip-phones {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    margin: 1px 0 3px 0 !important;
  }

  /* Side-by-side mode print collision prevention & centering */
  .receipt-side-layout .slip-top-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    position: static !important;
    min-height: auto !important;
    gap: 1.5px !important;
    margin-bottom: 2px !important;
    width: 100% !important;
  }

  .receipt-side-layout .slip-top-row .slip-copy-tag-wrap {
    position: static !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    text-align: center !important;
  }

  .receipt-side-layout .slip-top-row .slip-copy-tag {
    margin: 0 auto !important;
    text-align: center !important;
  }

  .receipt-side-layout .slip-top-row .slip-bismillah {
    text-align: center !important;
    width: 100% !important;
    font-size: 9.5px !important;
  }

  .slip-copy-tag {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    border: 1px dashed var(--receipt-color, #000000) !important;
    color: var(--receipt-color, #000000) !important;
    background: transparent !important;
  }

  .slip-title-row {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 6px 0 8px 0 !important;
  }

  .receipt-side-layout .slip-title-row {
    margin: 4px 0 6px 0 !important;
  }

  .slip-title-badge {
    background-color: var(--receipt-color, #000000) !important;
    color: #ffffff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  .slip-taka-box {
    border-color: var(--receipt-color, #000000) !important;
  }

  .slip-taka-box .lbl,
  .slip-taka-box .amount {
    color: var(--receipt-color, #000000) !important;
  }

  .to-let-poster-card {
    box-shadow: none !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 auto !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .poster-giant-title {
    color: var(--poster-color, #000000) !important;
    display: block !important;
    width: 100% !important;
    clear: both !important;
    float: none !important;
    font-size: 58px !important;
    margin: 0 0 16px 0 !important;
    text-align: center !important;
  }

  .poster-inner-frame,
  .poster-desc-box,
  .poster-landmark-box,
  .poster-notice-line,
  .poster-contact-label,
  .poster-giant-phones,
  .poster-footer-notice,
  .poster-bismillah {
    display: block !important;
    float: none !important;
    text-align: center !important;
  }

  .poster-desc-box { font-size: 21px !important; }
  .poster-landmark-box { font-size: 18.5px !important; }
  .poster-giant-phones { font-size: 38px !important; }
  .poster-contact-label { font-size: 23px !important; }
  .poster-rent-box { display: inline-block !important; font-size: 26px !important; }
  .poster-category-box { display: inline-block !important; font-size: 20px !important; }

  .poster-inner-frame { padding: 24px 20px !important; }


  .to-let-poster-card.poster-border-traditional {
    border-color: var(--poster-color, #000000) !important;
    outline-color: var(--poster-color, #000000) !important;
  }

  .to-let-poster-card.poster-border-double,
  .to-let-poster-card.poster-border-modern,
  .poster-inner-frame {
    border-color: var(--poster-color, #000000) !important;
  }

  .poster-category-box {
    color: var(--poster-color, #000000) !important;
    border-color: var(--poster-color, #000000) !important;
  }

  .poster-giant-phones {
    color: var(--poster-color, #000000) !important;
  }

  .poster-inner-frame {
    background: #ffffff !important;
  }

  .memo-editable-field {
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }

  /* Page Setup: Standard A4 & Legal Support */
  @page {
    size: auto;
    margin: 8mm 12mm 8mm 12mm;
  }
}
