/* round-109 (Prompt 26) — print / Save as PDF styles for Compare results and
   destination guides. This file is linked with media="print", so it never
   touches the on-screen OLED interface. No new UI is introduced here. */
@media print {
  @page { margin: 14mm; }

  /* A light, ink-friendly palette. These variables are also consumed by the
     guide renderer's inline styles, which is why the override lives on :root. */
  :root {
    color-scheme: light;
    --bg: #fff;
    --bg-soft: #fff;
    --surface: #fff;
    --surface-2: #f5f5f7;
    --surface-3: #eee;
    --text: #111;
    --text-1: #111;
    --text-2: #333;
    --text-3: #444;
    --text-primary: #111;
    --text-secondary: #333;
    --text-muted: #444;
    --border: #bbb;
    --border-strong: #999;
    --border-hairline: #ccc;
    --border-titanium: #999;
    --gold: #7a5a00;
    --champagne: #7a5a00;
    --champagne-dim: #7a5a00;
    --champagne-soft: transparent;
    --ink: #111;
    --ink-soft: #222;
    --muted: #444;
    --line: #ccc;
    --line-gold: #7a5a00;
    --accent: #064f9e;
    --ok: #1b6e2f;
    --warn: #7a5a00;
    --danger: #9b1c1c;
    --cash: #111;
    --points: #4c1d95;
    --v-low: #555;
    --v-normal: #064f9e;
    --v-high: #005f66;
    --v-extreme: #7a5a00;
    --v-low-bg: transparent;
    --v-normal-bg: transparent;
    --v-high-bg: transparent;
    --v-extreme-bg: transparent;
    --v-low-bd: #999;
    --v-normal-bd: #999;
    --v-high-bd: #999;
    --v-extreme-bd: #999;
  }

  html,
  body {
    background: #fff !important;
    color: #111 !important;
  }

  /* The body itself must not paint the app's background photography. */
  body {
    background: none !important;
    background-color: #fff !important;
    font-size: 11pt;
    min-height: 0;
  }

  /* Background photographs live in these three elements (app.js injects the
     .atmo-img slides into #atmosphere). Keep them out of the printout entirely. */
  .atmosphere,
  .atmo-img,
  .atmo-scrim {
    display: none !important;
    background: none !important;
  }

  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    text-shadow: none !important;
  }

  /* Interactive chrome has no meaning on paper. */
  .topbar,
  .brand,
  .navswitch,
  .nav-glider,
  .topnav,
  .nav-live,
  .plan-pill,
  .notif-wrap,
  .notif-panel,
  .skip-link,
  #backToTop,
  .back-to-top,
  .net-banner,
  #netBanner,
  .toast,
  #toast,
  .pm-toast,
  #pricingToast,
  .pm-backdrop,
  #pricingBackdrop,
  .pm-modal,
  #ipfPaywallModal,
  .sheet-backdrop,
  .sheet,
  .lb-backdrop,
  .lb-modal,
  [role="dialog"],
  [aria-modal="true"],
  .dr-popover,
  .cur-panel,
  .ac-panel,
  .month-panel,
  .recent-searches,
  #recentSearches,
  .dc-arrow,
  .dc-prev,
  .dc-next,
  .pc-prev,
  .pc-next,
  .lb-prev,
  .lb-next,
  .hero-expand,
  .guide-topbar,
  .guide-topnav,
  .guide-breadcrumb,
  .crumbs,
  .guide-cta-sticky,
  .guide-inline-cta,
  .guide-cta-band,
  .guide-cta-primary,
  button {
    display: none !important;
  }

  /* Round-113: the clipboard action is meaningless on paper. */
  .copy-summary-btn { display: none !important; }

  /* Round-114: the freshness sentence prints; its refresh action cannot. */
  .freshness-refresh { display: none !important; }

  /* No dark surfaces, gradients, glows or card shadows should consume ink.
     Image elements are unaffected; only CSS backgrounds are removed. */
  main {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  main,
  main * {
    background: transparent !important;
    box-shadow: none !important;
    color: #111 !important;
  }

  a {
    color: #111 !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
  }

  .app-footer-kicker,
  .app-footer-link-kicker,
  .app-footer-link-arrow,
  .app-footer-meta a,
  .guide-shell a,
  .guide-eyebrow,
  .guide-card-index,
  .guide-card-foot,
  .guide-card-live,
  .guide-card-read,
  .guide-related-link span:last-child,
  .guide-related-all {
    color: #7a5a00 !important;
  }

  /* Compare cards: a thin border, no shadow, and never split across pages. */
  .hcard {
    display: grid !important;
    grid-template-columns: 160px minmax(0, 1fr) 190px !important;
    padding: 0 !important;
    margin: 0 0 10px !important;
    border: 1px solid #999 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  #bestValue,
  #bestValue.bv-card-3col,
  .bestvalue {
    grid-template-columns: 160px minmax(0, 1fr) 190px !important;
    border: 1px solid #999 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .hcard .c-name,
  .hcard .c-value,
  .hcard .c-split,
  .hcard .c-foot {
    padding: 10px 12px !important;
  }

  .hcard .c-name .c-ident { padding-right: 0 !important; }
  .hcard .c-value,
  #bestValue .bv-side {
    border-left: 1px solid #ddd !important;
  }

  .hcard .c-split {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  }

  .hcard .hname {
    color: #111 !important;
    font-size: 14pt !important;
    line-height: 1.2 !important;
  }

  .hcard .c-brand {
    color: #444 !important;
    font-size: 8.5pt !important;
  }

  .hcard .c-where,
  .hcard .c-note,
  .hcard .c-cpp-delta,
  .hcard .c-foot-takeaway {
    color: #222 !important;
    font-size: 9pt !important;
  }

  .hcard .c-split .m-label,
  .hcard .c-value-label,
  .hcard .c-value-fig .m-unit,
  .hcard .c-value-cat {
    color: #333 !important;
    font-size: 9pt !important;
  }

  .hcard .c-split .m-total,
  .hcard .c-value-fig .m-value {
    color: #111 !important;
    font-size: 16pt !important;
    white-space: normal !important;
  }

  .hcard .c-value-fig .m-value {
    font-size: 24pt !important;
  }

  .hcard .c-split .m-sub {
    color: #333 !important;
    font-size: 9pt !important;
  }

  .hcard .vcat,
  .hcard .vbadge,
  .hcard .c-arb-pill,
  .hcard .fnf-badge,
  .hcard .fnf-tier-badge,
  .hcard .c-verdict-title.cash,
  .hcard .c-verdict-pill.cash,
  #bestValue .vcat,
  #bestValue .vbadge {
    color: #7a5a00 !important;
  }

  /* Hotel photography prints once, at a thumbnail size that saves ink. */
  img {
    max-width: 100% !important;
  }

  .hcard > .d-media,
  .hcard > .thumb.c-thumb,
  #bestValue > .d-media,
  #bestValue > .thumb.c-thumb,
  .hero-thumb {
    height: 160px !important;
    max-height: 160px !important;
    min-height: 0 !important;
    align-self: start !important;
    border-right: 1px solid #ddd !important;
    border-bottom: 0 !important;
  }

  .hcard .dc-pic,
  .hcard .c-thumb,
  #bestValue .dc-pic,
  .thumb img {
    max-height: 160px !important;
    object-fit: contain !important;
  }

  .dc-track {
    display: block !important;
    height: 100% !important;
    transform: none !important;
  }

  .dc-slide {
    display: none !important;
  }

  .dc-slide:first-child {
    display: block !important;
    height: 100% !important;
  }

  .dc-dots,
  .dc-count,
  .d-media::after {
    display: none !important;
  }

  .dc-caption {
    position: static !important;
    padding: 2px 0 !important;
    color: #111 !important;
  }

  /* External hotel links keep their destination on paper, except affiliate
     redirects (relative /api/affiliate/out links never match the selector). */
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 10px;
    word-break: break-all;
  }

  a[href^="http"][href*="/api/affiliate/out"]::after {
    content: none !important;
  }

  /* Guide article: text and tables survive; navigation and CTA cards do not. */
  .guide-shell {
    max-width: none !important;
    padding: 0 !important;
  }

  .guide-article-head,
  .guide-hero,
  .guide-prose {
    max-width: none !important;
  }

  .guide-prose p,
  .guide-prose li,
  .guide-prose h2,
  .guide-prose h3,
  .guide-prose blockquote,
  .guide-prose code,
  .guide-faq-item p {
    color: #111 !important;
  }

  .guide-prose a,
  .guide-byline a {
    color: #7a5a00 !important;
  }

  .guide-prose blockquote {
    border-left: 2px solid #999 !important;
    background: #f7f7f7 !important;
  }

  .guide-prose code,
  .guide-formula {
    border: 1px solid #bbb !important;
    background: #f5f5f5 !important;
    color: #111 !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  .guide-prose table {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 9pt !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .table-scroll {
    overflow: visible !important;
    border: 1px solid #999 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }

  .guide-prose th,
  .guide-prose td {
    position: static !important;
    padding: 5px 6px !important;
    border: 1px solid #bbb !important;
    background: #fff !important;
    color: #111 !important;
    white-space: normal !important;
  }

  .guide-prose th {
    background: #f2f2f2 !important;
    font-size: 8pt !important;
  }

  .guide-prose tbody tr {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .guide-card {
    border: 1px solid #999 !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .guide-card-summary {
    display: block !important;
    -webkit-line-clamp: unset !important;
    overflow: visible !important;
  }

  .guide-card-title,
  .guide-card-title a,
  .guide-card-summary,
  .guide-related-link,
  .guide-faq-item summary,
  .guide-faq-item p {
    color: #111 !important;
  }
}
