/* PDF Print Styles for YogisClan Proposals - A4 Professional Format */

@media print {
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Hide header and footer during print */
  header,
  footer,
  .header,
  .footer,
  nav,
  .navigation {
    display: none !important;
  }

  @page {
    size: A4 portrait;
    margin: 1.5cm 1.8cm 2cm 1.8cm; /* Top, Right, Bottom, Left */
    
    /* Remove browser headers/footers */
    @top-left { content: none; }
    @top-center { content: none; }
    @top-right { content: none; }
    @bottom-left { content: none; }
    @bottom-center { content: none; }
    @bottom-right { content: none; }
  }
  
  html { margin: 0; }
  body { margin: 0; }

  body {
    margin: 0;
    padding: 0;
    font-family: 'Inter', 'Work Sans', system-ui, sans-serif;
    color: #1a1a1a;
    font-size: 11pt;
    line-height: 1.6;
  }

  .print-proposal {
    width: 100%;
    background: white;
  }

  /* Page Setup */
  .print-page {
    page-break-after: always;
    page-break-inside: avoid;
    position: relative;
    padding-bottom: 1cm;
  }

  .print-page:last-child {
    page-break-after: auto;
  }

  /* ===== PAGE FOOTER ===== */
  .print-page-footer {
    position: absolute;
    bottom: 0.8cm;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5cm;
    font-size: 8pt;
    color: #999;
    padding: 0 1.8cm;
  }
  
  .print-footer-logo {
    font-weight: 600;
    color: var(--brand-primary, #8B7355);
  }
  
  .print-footer-separator {
    color: #ccc;
  }
  
  .print-footer-client {
    color: #666;
  }

  /* ===== COVER PAGE ===== */
  .print-cover-page {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 29.7cm;
    background: linear-gradient(145deg, #F7F1E9 0%, #ffffff 50%, #F9F7F5 100%);
    text-align: center;
    padding: 0;
  }
  
  .print-cover-decoration {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.03;
    font-size: 200pt;
    color: var(--brand-primary, #8B7355);
    pointer-events: none;
  }

  .print-cover-hero {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 10cm;
    overflow: hidden;
    opacity: 0.3;
  }

  .print-cover-hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .print-cover-logo {
    text-align: center;
    margin-bottom: 3cm;
    position: relative;
    z-index: 1;
  }

  .print-cover-logo img {
    height: 3cm;
    width: auto;
  }

  .print-cover-main {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    z-index: 1;
  }

  .print-cover-main-title {
    font-size: 48pt;
    font-weight: 300;
    color: #1a1a1a;
    margin-bottom: 0.6cm;
    font-family: 'Playfair Display', serif;
    letter-spacing: 0.02em;
  }

  .print-cover-main-subtitle {
    font-size: 24pt;
    font-weight: 400;
    color: var(--brand-primary, #8B7355);
    margin-bottom: 0.4cm;
    font-family: 'Playfair Display', serif;
  }

  .print-cover-tagline {
    font-size: 14pt;
    color: #666;
    margin-top: 0.5cm;
  }

  .print-cover-client {
    margin-top: 3cm;
    text-align: right;
    position: relative;
    z-index: 1;
  }

  .print-cover-client-block {
    margin-bottom: 0.8cm;
  }

  .print-cover-label {
    font-size: 10pt;
    color: #999;
    margin-bottom: 0.2cm;
  }

  .print-cover-value {
    font-size: 14pt;
    color: #1a1a1a;
    font-weight: 500;
  }

  .print-cover-date {
    font-size: 10pt;
    color: #999;
    margin-top: 1cm;
  }

  /* ===== TABLE OF CONTENTS ===== */
  .print-toc {
    margin-top: 1cm;
    display: flex;
    flex-direction: column;
    gap: 0.4cm;
  }

  .print-toc-item {
    display: flex;
    gap: 0.5cm;
    padding: 0.3cm 0;
    border-bottom: 1px solid #E5DDD5;
  }

  .print-toc-number {
    font-weight: 600;
    color: var(--brand-primary, #8B7355);
    min-width: 1.5cm;
  }

  .print-toc-title {
    flex: 1;
    color: #1a1a1a;
  }

  .print-toc-note {
    margin-top: 1.5cm;
    padding: 0.5cm;
    background: #F9F7F5;
    border-radius: 8px;
    font-size: 10pt;
    color: #666;
    text-align: center;
    font-style: italic;
  }

  /* ===== SECTION TITLE PAGE ===== */
  .print-section-title-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 25cm;
    background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%);
  }
  
  .print-section-number {
    font-size: 72pt;
    font-weight: 300;
    color: var(--brand-primary, #8B7355);
    opacity: 0.2;
    margin-bottom: 0.5cm;
    font-family: 'Playfair Display', serif;
  }
  
  .print-section-name {
    font-size: 32pt;
    font-weight: 600;
    color: #1a1a1a;
    font-family: 'Playfair Display', serif;
    letter-spacing: 0.02em;
  }
  
  .print-section-decoration {
    width: 4cm;
    height: 2px;
    background: linear-gradient(90deg, transparent 0%, var(--brand-primary, #8B7355) 50%, transparent 100%);
    margin-top: 1cm;
  }

  /* ===== PAGE TITLES ===== */
  .print-page-title {
    font-size: 24pt;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.8cm;
    padding-bottom: 0.4cm;
    font-family: 'Playfair Display', serif;
    letter-spacing: 0.02em;
    border-bottom: 3px solid var(--brand-primary, #8B7355);
  }

  .print-subtitle {
    font-size: 14pt;
    color: var(--brand-primary, #8B7355);
    font-weight: 400;
    margin-bottom: 1cm;
  }

  .print-badge {
    display: inline-block;
    background: var(--brand-primary, #8B7355);
    color: white;
    padding: 0.1cm 0.3cm;
    border-radius: 4px;
    font-size: 9pt;
    font-style: normal;
    font-weight: 600;
    margin-left: 0.3cm;
  }

  .print-section-subheading {
    font-size: 15pt;
    font-weight: 600;
    color: var(--brand-primary, #8B7355);
    margin-top: 0.8cm;
    margin-bottom: 0.4cm;
  }

  .print-subheading {
    font-size: 12pt;
    font-weight: 600;
    color: #1a1a1a;
    margin-top: 0.6cm;
    margin-bottom: 0.35cm;
  }

  /* ===== DECORATIVE ACCENTS ===== */
  .print-accent-line {
    width: 4cm;
    height: 2px;
    background: linear-gradient(90deg, var(--brand-primary, #8B7355) 0%, transparent 100%);
    margin: 1cm 0;
  }

  /* ===== TEXT STYLES ===== */
  .print-text {
    font-size: 11pt;
    line-height: 1.7;
    color: #333;
    margin-bottom: 0.45cm;
  }

  .print-text-small {
    font-size: 9.5pt;
    line-height: 1.5;
    color: #555;
  }

  .print-text-em {
    font-size: 10.5pt;
    font-style: italic;
    color: var(--brand-primary, #8B7355);
    margin-top: 0.25cm;
  }

  /* ===== TWO COLUMN LAYOUTS ===== */
  .print-two-column {
    display: flex;
    gap: 0.8cm;
  }

  .print-column-main {
    flex: 2;
  }

  .print-column-sidebar {
    flex: 1;
  }

  /* ===== INFO CARDS ===== */
  .print-info-card {
    background: #F9F7F5;
    padding: 0.5cm;
    border-radius: 6px;
    border: 1px solid #E5DDD5;
  }

  .print-info-item {
    display: flex;
    justify-content: space-between;
    padding: 0.25cm 0;
    border-bottom: 1px solid #E5DDD5;
  }

  .print-info-item:last-child {
    border-bottom: none;
  }

  .print-info-label {
    font-size: 9.5pt;
    color: #666;
  }

  .print-info-value {
    font-size: 9.5pt;
    font-weight: 600;
    color: #1a1a1a;
    text-align: right;
  }

  /* ===== HIGHLIGHT BOXES ===== */
  .print-highlight-box {
    position: relative;
    background: #F7F1E9;
    padding: 0.6cm;
    border-radius: 8px;
    border-left: 4px solid var(--brand-primary, #8B7355);
  }
  
  .print-highlight-box::before {
    content: '';
    position: absolute;
    top: -2px;
    left: -2px;
    width: 1.5cm;
    height: 1.5cm;
    border-top: 3px solid var(--brand-primary, #8B7355);
    border-left: 3px solid var(--brand-primary, #8B7355);
  }

  .print-highlight-title {
    font-size: 12pt;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.4cm;
  }

  .print-tagline {
    font-size: 10.5pt;
    font-style: italic;
    color: #8B7355;
    margin-top: 0.4cm;
    text-align: center;
  }

  /* ===== BULLET LISTS ===== */
  .print-bullet-list {
    list-style: none;
    padding: 0;
    margin: 0.4cm 0;
  }

  .print-bullet-list li {
    padding-left: 0.7cm;
    margin-bottom: 0.25cm;
    position: relative;
    line-height: 1.5;
  }

  .print-bullet-list li::before {
    content: "•";
    color: var(--brand-primary, #8B7355);
    font-weight: bold;
    position: absolute;
    left: 0;
  }

  .print-bullet-list-compact {
    list-style: none;
    padding: 0;
    margin: 0.25cm 0;
  }

  .print-bullet-list-compact li {
    padding-left: 0.6cm;
    margin-bottom: 0.18cm;
    position: relative;
    font-size: 9.5pt;
    line-height: 1.4;
  }

  .print-bullet-list-compact li::before {
    content: "•";
    color: var(--brand-primary, #8B7355);
    position: absolute;
    left: 0;
  }

  /* ===== METHODOLOGY BANDS ===== */
  .print-method-band {
    margin-bottom: 1cm;
    padding-bottom: 0.6cm;
    border-bottom: 1px solid #E5DDD5;
  }

  .print-method-band:last-child {
    border-bottom: none;
  }

  .print-band-title {
    font-size: 14pt;
    font-weight: 600;
    color: var(--brand-primary, #8B7355);
    margin-bottom: 0.4cm;
  }

  /* ===== FUSION BOX ===== */
  .print-fusion-box {
    background: linear-gradient(135deg, #F7F1E9 0%, #ffffff 100%);
    padding: 0.6cm;
    border-radius: 6px;
    margin-top: 0.8cm;
    text-align: center;
  }

  .print-fusion-formula {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.4cm;
    margin-bottom: 0.4cm;
    font-size: 11pt;
  }

  .print-fusion-part {
    font-weight: 600;
    color: #1a1a1a;
  }

  .print-fusion-plus,
  .print-fusion-arrow {
    color: var(--brand-primary, #8B7355);
    font-weight: 700;
  }

  .print-fusion-result {
    font-weight: 700;
    color: var(--brand-primary, #8B7355);
  }

  /* ===== THREE STATES TABLE ===== */
  .print-states-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.7cm 0;
  }

  .print-states-table th {
    background: var(--brand-primary, #8B7355);
    color: white;
    padding: 0.35cm;
    text-align: left;
    font-size: 11pt;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }
  
  .print-states-table {
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  }
  
  .print-states-table tr:nth-child(even) {
    background: #F9F7F5;
  }

  .print-states-table td {
    padding: 0.35cm;
    border-bottom: 1px solid #E5DDD5;
    vertical-align: top;
    font-size: 10pt;
  }

  .print-zone-cell {
    min-width: 3.5cm;
  }

  .print-zone-highlight {
    background: #F7F1E9;
  }

  /* ===== CALLOUT BOX ===== */
  .print-callout-box {
    background: #F7F1E9;
    padding: 0.6cm;
    border-radius: 8px;
    border-left: 4px solid var(--brand-primary, #8B7355);
    margin-top: 0.8cm;
  }

  .print-callout-title {
    font-size: 12pt;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.25cm;
  }

  /* ===== IMAGE STYLES ===== */
  .print-method-visual {
    margin: 0.7cm 0;
    text-align: center;
  }

  .print-method-image {
    width: 100%;
    max-width: 8cm;
    height: auto;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }

  .print-program-image {
    margin: 0.5cm 0;
    text-align: center;
  }

  .print-hero-image {
    width: 100%;
    max-width: 6cm;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    border: 1px solid rgba(0,0,0,0.05);
  }
  
  .print-program-image img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 12px;
  }
  
  /* ===== EXECUTIVE SUMMARY ===== */
  .print-executive-summary {
    padding-top: 0.5cm;
  }
  
  .print-summary-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.8cm;
    margin-top: 1cm;
  }
  
  .print-summary-card {
    background: #F9F7F5;
    padding: 0.6cm;
    border-radius: 8px;
    border-left: 3px solid var(--brand-primary, #8B7355);
  }
  
  .print-summary-card h3 {
    font-size: 13pt;
    font-weight: 600;
    color: var(--brand-primary, #8B7355);
    margin-bottom: 0.4cm;
  }
  
  .print-summary-card ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }
  
  .print-summary-card li {
    padding-left: 0.5cm;
    margin-bottom: 0.2cm;
    position: relative;
    font-size: 10pt;
  }
  
  .print-summary-card li::before {
    content: "✓";
    color: var(--brand-primary, #8B7355);
    position: absolute;
    left: 0;
    font-weight: bold;
  }
  
  .print-summary-card p {
    font-size: 16pt;
    font-weight: 600;
    color: #1a1a1a;
    margin: 0;
  }

  /* Methodology icons */
  .print-methodology-icons {
    display: flex;
    justify-content: space-around;
    gap: 0.8cm;
    margin-top: 0.8cm;
    padding-top: 0.8cm;
    border-top: 1px solid #E5DDD5;
  }

  .print-methodology-icon {
    flex: 1;
    text-align: center;
  }

  .print-methodology-icon-circle {
    width: 2.2cm;
    height: 2.2cm;
    background: #F7F1E9;
    border: 2px solid var(--brand-primary, #8B7355);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.4cm;
    font-size: 22pt;
  }

  .print-methodology-icon-title {
    font-size: 10.5pt;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.25cm;
  }

  .print-methodology-icon-text {
    font-size: 9pt;
    color: #666;
    line-height: 1.4;
  }

  /* Copyright page styles */
  .print-copyright-page {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 25cm;
    text-align: center;
    padding: 4cm 3cm;
  }

  .print-copyright-text {
    font-size: 10pt;
    color: #666;
    line-height: 1.8;
    max-width: 12cm;
  }

  .print-copyright-year {
    font-size: 11pt;
    color: #1a1a1a;
    font-weight: 600;
    margin-bottom: 1cm;
  }

  /* ===== AGENDA STYLES ===== */
  .print-agenda-grid {
    display: flex;
    flex-direction: column;
    gap: 0.35cm;
    margin-top: 0.6cm;
  }

  .print-agenda-item-block {
    display: flex;
    gap: 0.4cm;
    align-items: flex-start;
    padding: 0.3cm 0.35cm;
    background: #F9F7F5;
    border-radius: 4px;
  }

  .print-agenda-time {
    font-weight: 700;
    color: var(--brand-primary, #8B7355);
    min-width: 2.2cm;
    font-size: 9.5pt;
  }

  .print-agenda-content {
    flex: 1;
    color: #333;
    font-size: 9.5pt;
    line-height: 1.4;
  }

  .print-addon-box {
    margin-top: 0.7cm;
    padding: 0.5cm;
    background: #F7F1E9;
    border-radius: 6px;
    border: 2px dashed var(--brand-primary, #8B7355);
  }

  .print-addon-title {
    font-size: 10pt;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.15cm;
  }

  /* ===== PRICING TABLE ===== */
  .print-pricing-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.7cm 0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  }

  .print-pricing-table th {
    background: var(--brand-primary, #8B7355);
    color: white;
    padding: 0.4cm;
    text-align: left;
    font-size: 11pt;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
  }

  .print-pricing-table td {
    padding: 0.4cm;
    border-bottom: 1px solid #E5DDD5;
    font-size: 10.5pt;
  }
  
  .print-pricing-table tr:nth-child(even) {
    background: #F9F7F5;
  }

  .print-pricing-flagship {
    background: #F7F1E9 !important;
    font-weight: 600;
  }

  .print-pricing-note {
    background: #F9F7F5;
    padding: 0.45cm;
    border-radius: 6px;
    margin-top: 0.6cm;
  }

  /* ===== TIMELINE ===== */
  .print-timeline {
    display: flex;
    flex-direction: column;
    gap: 0.6cm;
    margin-top: 0.8cm;
  }

  .print-timeline-item {
    display: flex;
    gap: 0.4cm;
    align-items: flex-start;
  }

  .print-timeline-number {
    width: 1.1cm;
    height: 1.1cm;
    background: var(--brand-primary, #8B7355);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13pt;
    font-weight: 600;
    flex-shrink: 0;
  }

  .print-timeline-content {
    flex: 1;
    padding-top: 0.05cm;
  }

  .print-timeline-title {
    font-size: 11pt;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.15cm;
  }

  /* ===== ABOUT & BOXES ===== */
  .print-about-section {
    margin-top: 0.8cm;
  }

  .print-why-work-box {
    background: #F7F1E9;
    padding: 0.6cm;
    border-radius: 6px;
    margin-top: 0.8cm;
  }

  .print-box-title {
    font-size: 13pt;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 0.4cm;
  }

  /* ===== NEXT STEPS & CONTACT ===== */
  .print-next-step-box {
    background: #F9F7F5;
    padding: 0.6cm;
    border-radius: 6px;
    margin: 0.8cm 0;
  }

  .print-contact-box {
    background: linear-gradient(135deg, #F7F1E9 0%, #ffffff 100%);
    padding: 0.7cm;
    border-radius: 6px;
    margin: 1.2cm 0;
    text-align: center;
  }

  .print-contact-title {
    font-size: 14pt;
    font-weight: 600;
    color: var(--brand-primary, #8B7355);
    margin-bottom: 0.5cm;
  }

  .print-closing-tagline {
    font-size: 12pt;
    font-style: italic;
    color: var(--brand-primary, #8B7355);
    text-align: center;
    margin-top: 1.5cm;
    padding: 0.5cm;
  }

  /* ===== NOTES ===== */
  .print-note {
    font-size: 10pt;
    color: #666;
    font-style: italic;
    text-align: center;
    margin-top: 1cm;
    padding-top: 0.5cm;
    border-top: 1px solid #E5DDD5;
  }

  /* ===== HIDE WEB ELEMENTS ===== */
  header,
  footer:not(.print-footer-template),
  button,
  nav,
  .no-print {
    display: none !important;
  }

  /* ===== TYPOGRAPHY REFINEMENTS ===== */
  strong {
    font-weight: 600;
    color: #1a1a1a;
  }

  em {
    font-style: italic;
    color: var(--brand-primary, #8B7355);
  }

  /* ===== PAGE BREAKS ===== */
  .print-page-break {
    page-break-after: always;
  }

  /* Prevent breaking inside these */
  .print-info-card,
  .print-highlight-box,
  .print-callout-box,
  .print-timeline-item,
  .print-agenda-item-block,
  .print-program {
    page-break-inside: avoid;
  }
}

/* ===== SCREEN VIEW (Hide print styles) ===== */
@media screen {
  .print-proposal {
    max-width: 21cm;
    margin: 2cm auto;
    background: white;
    box-shadow: 0 0 20px rgba(0,0,0,0.1);
  }

  .print-page {
    min-height: 29.7cm;
    padding: 2cm;
    background: white;
    margin-bottom: 1cm;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  }

  .print-cover-page {
    background: linear-gradient(135deg, #F7F1E9 0%, #ffffff 100%);
  }
}
