/* Readability repairs for the cinematic public theme.
   Load after cms-compat.css and cms-directory.css. No layout, image or font-face changes. */

/* The legacy .visitranca .prose selector outranks .portal-reading. */
.ranca-demo .prose.portal-reading,
.ranca-demo .news-article-body.prose {
  color: #3e535f;
  font-size: 17px;
  line-height: 1.8;
}
.ranca-demo .prose.portal-reading p,
.ranca-demo .prose.portal-reading ul,
.ranca-demo .prose.portal-reading ol,
.ranca-demo .prose.portal-reading li,
.ranca-demo .news-article-body.prose p,
.ranca-demo .news-article-body.prose ul,
.ranca-demo .news-article-body.prose ol,
.ranca-demo .news-article-body.prose li {
  color: inherit;
}
.ranca-demo .prose.portal-reading a,
.ranca-demo .news-article-body.prose a {
  color: #1468b7;
  text-decoration-color: currentColor;
}
.ranca-demo .prose.portal-reading .inline-notice {
  color: #596970;
  font-size: 13px;
  line-height: 1.7;
  border-color: #dce3e7;
}

.ranca-demo .news-article-body.prose h2,
.ranca-demo .news-article-body.prose h3 {
  color: #303b3f;
  font-family: Figtree, Manrope, Arial, sans-serif;
  font-weight: 800;
  line-height: 1.2;
}
.ranca-demo .news-article-body.prose h2 { font-size: 28px; }
.ranca-demo .news-article-body.prose h3 { font-size: 23px; }

.ranca-demo .news-overview.prose {
  color: #3e535f;
  font-size: 18px;
  line-height: 1.65;
}
.ranca-demo .news-overview.prose p,
.ranca-demo .news-overview.prose ul,
.ranca-demo .news-overview.prose li { color: inherit; }
.ranca-demo .news-overview.prose a { color: #1468b7; }

/* The dynamic sources inventory is outside the place-detail wrapper. */
.ranca-demo .portal-page > .place-info-panel.source-panel {
  color: #303b3f;
  background: #f3f5f6;
  border: 1px solid #dce3e7;
  border-radius: 12px;
  padding: 30px;
}
.ranca-demo .portal-page > .source-panel h2 {
  color: #303b3f;
  font-family: Figtree, Manrope, Arial, sans-serif;
  font-weight: 800;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: -.025em;
  margin: 8px 0 20px;
}
.ranca-demo .portal-page > .source-panel h2:not(:first-child) {
  margin-top: 32px;
}
.ranca-demo .portal-page > .source-panel p {
  color: #3e535f;
  font-size: 16px;
  line-height: 1.75;
  margin: 0 0 20px;
}
.ranca-demo .portal-page > .source-panel li {
  color: #3e535f;
  font-size: 15px;
  line-height: 1.7;
  border-color: #dce3e7;
}
.ranca-demo .portal-page > .source-panel li > span {
  color: #596970;
  font-size: 12px;
  line-height: 1.6;
}
.ranca-demo .portal-page > .source-panel a {
  color: #1468b7;
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.ranca-demo .portal-page > .source-panel .button {
  background: #1468b7;
  color: #fff;
  border-color: #1468b7;
  font-size: 14px;
  text-decoration: none;
}

/* Keep the public login legible in the light cinematic shell. */
.ranca-demo .login-section {
  background: #f3f5f6;
}
.ranca-demo .login-card {
  color: #303b3f;
  border-color: #dce3e7;
}
.ranca-demo .login-card > p,
.ranca-demo .login-card label {
  color: #596970;
  font-size: 13px;
  line-height: 1.65;
}
.ranca-demo .login-card .auth-help {
  color: #1468b7;
  font-size: 14px;
}
.ranca-demo .form-error {
  color: #8b2c2c;
  background: #fff0ee;
  border-color: #efc7c2;
  font-size: 14px;
  line-height: 1.65;
}

/* Legacy day labels and small but essential supporting information. */
.ranca-demo .cms-place-page .weekly-hours dt,
.ranca-demo .cms-place-page .weekly-hours dd {
  color: #303b3f;
}
.ranca-demo .cms-place-page .contact-panel .hours-source,
.ranca-demo .cms-place-page .place-photo figcaption,
.ranca-demo .cms-place-page .source-panel > ul > li > span {
  font-size: 12px;
  line-height: 1.65;
}
.ranca-demo .cms-directory-page .place-card .place-status {
  font-size: 12px;
  line-height: 1.5;
}
.ranca-demo .utility-control > span {
  font-size: 12px;
}
.ranca-demo .hero-film-controls button {
  font-size: 12px;
  min-height: 44px;
}
.ranca-demo .trip-finder label {
  font-size: 13px;
}
.ranca-demo .trip-dates small {
  font-size: 12px;
  line-height: 1.6;
}

/* Legacy .visitranca .footer-links otherwise overrides the new light footer. */
.ranca-demo .resort-footer .footer-links {
  color: #596970;
  font-size: 12px;
  line-height: 1.65;
}
.ranca-demo .resort-footer .footer-links > a {
  color: #3e535f;
  font-size: 13px;
  line-height: 1.65;
}
.ranca-demo .resort-footer .footer-links > a:hover,
.ranca-demo .resort-footer .footer-links > a:focus-visible {
  color: #1468b7;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ranca-demo .resort-footer .footer-links > span {
  color: #596970;
  font-size: 12px;
}
.ranca-demo .resort-footer .footer-top > p {
  color: #596970;
  font-size: 13px;
  line-height: 1.6;
}
.ranca-demo .resort-footer details {
  color: #596970;
  font-size: 12px;
  line-height: 1.7;
}
.ranca-demo .resort-footer details summary {
  min-height: 40px;
}
.ranca-demo .resort-footer details a {
  color: #1468b7;
}

@media (max-width: 700px) {
  .ranca-demo .prose.portal-reading,
.ranca-demo .news-article-body.prose {
    font-size: 16px;
    line-height: 1.75;
  }
  .ranca-demo .portal-page > .place-info-panel.source-panel {
    padding: 24px;
  }
  .ranca-demo .news-overview.prose {
    font-size: 16px;
  }
  .ranca-demo .news-article-body.prose h2 {
    font-size: 26px;
  }
  .ranca-demo .portal-page > .source-panel h2 {
    font-size: 27px;
  }
  .ranca-demo .portal-page > .source-panel p {
    font-size: 16px;
  }
  .ranca-demo .hero-caption > span,
  .ranca-demo .cms-directory-page .directory-toolbar p span {
    font-size: 12px;
    line-height: 1.6;
  }
}

/* Explicit visitor-controlled plan sharing; no personal data in shared links. */
.ranca-demo [data-trip-tools][hidden],.ranca-demo [data-trip-link-wrap][hidden],.ranca-demo [data-trip-storage-note][hidden],.ranca-demo [data-trip-share][hidden]{display:none!important}
.ranca-demo .trip-tools{margin:22px 0;padding:20px 0;border-top:1px solid #dce3e8;border-bottom:1px solid #dce3e8}
.ranca-demo .trip-tools-actions{display:flex;flex-wrap:wrap;gap:9px}
.ranca-demo .trip-tools-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #bac7d0;border-radius:9px;background:#fff;color:#263b48;padding:11px 13px;font:700 13px Manrope,sans-serif;cursor:pointer}
.ranca-demo .trip-tools-actions button:disabled{opacity:.5;cursor:default}
.ranca-demo .trip-share-note,.ranca-demo .trip-storage-note,.ranca-demo .trip-action-status{font-size:12px;line-height:1.65;color:#53636d;margin:12px 0 0}
.ranca-demo .trip-storage-note{color:#7b4d13}.ranca-demo .trip-action-status:empty{display:none}
.ranca-demo .trip-link-wrap{display:block;font-size:13px;font-weight:700;margin-top:14px;color:#303b3f}
.ranca-demo .trip-link-wrap input{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px;border:1px solid #bac7d0;border-radius:8px;background:white;color:#303b3f;font:400 13px Manrope,sans-serif}
.ranca-demo .trip-shared-preview{max-width:1120px;margin:35px auto;padding:28px;background:#edf5fb;border:1px solid #c9ddec;border-radius:14px}
.ranca-demo .trip-shared-preview h2{font:800 clamp(23px,3vw,32px)/1.2 Figtree,sans-serif;color:#303b3f;margin:0 0 14px}
.ranca-demo .trip-shared-preview p{color:#53636d;line-height:1.7}.ranca-demo .trip-shared-links{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.ranca-demo .trip-shared-links a{border:1px solid #c9ddec;background:white;border-radius:8px;padding:10px 12px;color:#174f92;font-size:14px;font-weight:700;text-decoration:none}
#ranca-print-plan{display:none}
@media(max-width:600px){.ranca-demo .trip-tools-actions button{flex:1 1 auto}.ranca-demo .trip-shared-preview{margin:22px 18px;padding:22px}.ranca-demo .trip-shared-links{display:grid}}
@media print{
body.ranca-printing-plan>*{display:none!important}body.ranca-printing-plan>#ranca-print-plan{display:block!important;color:#18252c;background:white;font:12pt/1.5 Arial,sans-serif;padding:8mm}
#ranca-print-plan h1{font-size:24pt}#ranca-print-plan h2{font-size:15pt;margin-bottom:4pt}#ranca-print-plan p{margin:3pt 0}#ranca-print-plan li{break-inside:avoid;margin-bottom:16pt}#ranca-print-plan .trip-print-url{font-size:9pt;overflow-wrap:anywhere}#ranca-print-plan .trip-print-note{border-top:1px solid #777;padding-top:12pt;font-size:10pt}
}
