/* ══════════════════════════════════════════════════════════════
   PRINT LISTING FLYER — Single-page property sheet
   Target: US Letter (8.5" x 11"), 0.4" margins
   ══════════════════════════════════════════════════════════════ */

@media print {
  @page {
    size: letter portrait;
    margin: 0.4in;
  }

  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  body {
    font-family: "Outfit", Arial, Helvetica, sans-serif !important;
    font-size: 9pt !important;
    line-height: 1.35 !important;
    color: #1a1a1a !important;
    background: white !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body::after { display: none !important; }

  /* ────────────────────────────────────────────
     HIDE: Everything not needed on a flyer
     ──────────────────────────────────────────── */

  /* Chrome: header, nav, footer, bars */
  header, .header, nav, .navigation,
  .prop-utility-bar, .oettinger-bar,
  footer, .footer, .site-footer,
  .sticky-cta, .mobile-menu-btn, .mobile-menu,
  .skip-link,
  iframe, script, noscript,
  .cf-turnstile, .newsletter-bar, .newsletter-section {
    display: none !important;
  }

  /* Breadcrumbs */
  .prop-breadcrumbs {
    display: none !important;
  }

  /* All share buttons, CTAs, tooltips */
  .prop-share-bar, .prop-share-btn, .prop-hero-share,
  .prop-mid-cta, .prop-final-cta,
  .share-inline,
  .reg-modal, .lightbox-overlay, .lightbox-close, .lightbox-nav,
  .copy-tooltip, #copyTooltip,
  .btn, form {
    display: none !important;
  }

  /* Gallery controls & thumbnails */
  .prop-gallery-thumbs-wrapper,
  .prop-gallery-nav, .gallery-nav,
  .prop-gallery-counter, .gallery-counter, .prop-gallery-count,
  .photo-count {
    display: none !important;
  }

  /* Map */
  .prop-photo-map, .prop-map, .prop-map-section {
    display: none !important;
  }

  /* Chat widget */
  .tr-chat-toggle, .tr-chat-invite, .tr-chat-window, .tr-chat-panel {
    display: none !important;
  }

  /* Sidebar (agent card, quick actions) */
  .prop-sidebar, aside, [role="complementary"] {
    display: none !important;
  }

  /* Sections we DO NOT want on the flyer */
  .prop-highlight {
    display: none !important;
  }
  .prop-cost-breakdown {
    display: none !important;
  }
  .prop-financials {
    display: none !important;
  }
  .prop-related-section {
    display: none !important;
  }
  .open-house-banner {
    display: none !important;
  }

  /* Agent quote, market context, condition, buyer resources */
  .prop-agent-quote, .prop-agent-quote-block {
    display: none !important;
  }
  .prop-condition-section {
    display: none !important;
  }
  .prop-market-context, .prop-market-block {
    display: none !important;
  }
  .prop-buyer-resources {
    display: none !important;
  }

  /* ────────────────────────────────────────────
     HERO: Compact text-only (address + price)
     ──────────────────────────────────────────── */
  .prop-hero {
    display: block !important;
    background: none !important;
    min-height: auto !important;
    height: auto !important;
    padding: 0 0 6pt 0 !important;
    position: static !important;
  }
  .prop-hero::before, .prop-hero::after,
  .prop-hero-bg {
    display: none !important;
  }
  .prop-hero .container {
    padding: 0 !important;
    position: static !important;
  }
  .prop-hero-content {
    padding: 0 !important;
    position: static !important;
  }
  .prop-hero h1 {
    font-size: 20pt !important;
    color: #1a1a1a !important;
    text-shadow: none !important;
    margin: 0 !important;
  }
  .prop-hero-info {
    color: #1a1a1a !important;
  }
  .prop-address {
    color: #555 !important;
    font-size: 10pt !important;
  }
  .prop-address i {
    color: #c9a96e !important;
  }
  .prop-price-card {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    backdrop-filter: none !important;
  }
  .prop-price {
    font-size: 18pt !important;
    color: #1a1a1a !important;
  }
  .prop-price-label, .prop-price-sub {
    font-size: 8pt !important;
    color: #666 !important;
  }
  .prop-badge {
    border: 1pt solid #c9a96e !important;
    background: white !important;
    color: #1a1a1a !important;
    padding: 1pt 6pt !important;
    font-size: 8pt !important;
  }
  .prop-mls {
    font-size: 7pt !important;
    color: #888 !important;
  }

  /* ────────────────────────────────────────────
     SHOW & STYLE: Flyer content
     ──────────────────────────────────────────── */

  /* Stats bar — compact horizontal */
  .prop-stats-bar {
    display: block !important;
    background: #f7f5f2 !important;
    padding: 6pt 10pt !important;
    margin: 0 0 8pt 0 !important;
    border: 1pt solid #e0d9cf !important;
    page-break-inside: avoid !important;
  }
  .prop-stats-bar .container { padding: 0 !important; max-width: 100% !important; }
  .prop-stats {
    display: flex !important;
    justify-content: space-around !important;
  }
  .prop-stat {
    text-align: center !important;
    flex: 1 !important;
  }
  .prop-stat-icon { display: none !important; }
  .prop-stat-value {
    font-size: 14pt !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    display: block !important;
  }
  .prop-stat-label {
    font-size: 7pt !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5pt !important;
    color: #666 !important;
    display: block !important;
  }

  /* Content layout — full width, no sidebar */
  .prop-content {
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    max-width: 100% !important;
  }
  .prop-content .container { padding: 0 !important; max-width: 100% !important; }
  .prop-main {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
  }

  /* Gallery — one large photo */
  .prop-gallery {
    margin: 0 0 8pt 0 !important;
    padding: 0 !important;
    page-break-inside: avoid !important;
  }
  .prop-gallery-main {
    height: auto !important;
    max-height: 220pt !important;
    overflow: hidden !important;
    border: 1pt solid #ddd !important;
    border-radius: 0 !important;
  }
  .prop-gallery-main img {
    width: 100% !important;
    height: auto !important;
    max-height: 220pt !important;
    object-fit: cover !important;
    display: block !important;
  }

  /* ── Sections: hide all, show About + Details ── */
  .prop-section {
    display: none !important;
  }
  .prop-section.print-about,
  .prop-section.print-details {
    display: block !important;
    margin: 6pt 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
    page-break-inside: avoid !important;
  }

  .prop-section-header {
    margin: 0 0 3pt 0 !important;
    padding: 0 0 2pt 0 !important;
    border-bottom: 1pt solid #c9a96e !important;
  }
  .prop-section-header i { display: none !important; }
  .prop-section-header h2 {
    font-size: 11pt !important;
    font-family: "Libre Caslon Display", Georgia, serif !important;
    color: #1a1a1a !important;
    margin: 0 !important;
  }

  /* Description text — truncate to fit */
  .prop-description {
    font-size: 8.5pt !important;
    line-height: 1.4 !important;
    max-height: 65pt !important;
    overflow: hidden !important;
  }

  /* Property Details grid */
  .prop-details-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 4pt 16pt !important;
    margin: 0 !important;
  }
  .prop-detail-card {
    padding: 3pt 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: none !important;
  }
  .prop-detail-card h4 {
    font-size: 8pt !important;
    font-weight: 600 !important;
    color: #c9a96e !important;
    margin: 0 0 2pt 0 !important;
  }
  .prop-detail-card h4 i { display: none !important; }
  .prop-detail-card ul, .prop-detail-card li {
    font-size: 7.5pt !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }
  .prop-detail-card li {
    display: flex !important;
    justify-content: space-between !important;
    padding: 1pt 0 !important;
    border-bottom: 0.5pt solid #eee !important;
  }

  /* ────────────────────────────────────────────
     AGENT CONTACT BLOCK (print-only)
     ──────────────────────────────────────────── */
  .print-agent-block {
    display: flex !important;
    align-items: center !important;
    gap: 10pt !important;
    padding: 8pt 0 0 0 !important;
    margin-top: 8pt !important;
    border-top: 2pt solid #c9a96e !important;
    page-break-inside: avoid !important;
  }
  .print-agent-block img {
    width: 48pt !important;
    height: 48pt !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    object-position: center 15% !important;
    border: 1pt solid #e0d9cf !important;
  }
  .print-agent-info {
    flex: 1 !important;
    font-size: 7.5pt !important;
    line-height: 1.4 !important;
  }
  .print-agent-name {
    font-size: 10pt !important;
    font-weight: 700 !important;
    font-family: "Libre Caslon Display", Georgia, serif !important;
  }
  .print-agent-info div { color: #555 !important; }
  .print-branding {
    text-align: right !important;
    font-size: 7pt !important;
  }
  .print-branding .site {
    font-family: "Libre Caslon Display", Georgia, serif !important;
    font-size: 11pt !important;
    color: #c9a96e !important;
  }

  /* Force single page */
  html, body {
    height: auto !important;
    overflow: visible !important;
  }
}

/* Hidden print-only agent block (shown only when printing) */
.print-agent-block { display: none; }
