/* Scoped typography approved for production. No font-family, content or access-policy changes. */
html.tb-readable {
  --tb-reading: 18px;
  --tb-ui: 16px;
  --tb-caption: 14px;
}

/* CMS content includes legacy <big> and inline font-size declarations. */
html.tb-readable .main-left article,
html.tb-readable .daily-analysis-item,
html.tb-readable .daily-analysis-container .tab-pane,
html.tb-readable .aboutUs,
html.tb-readable .zt-aboutus .text-box .text {
  font-size: var(--tb-reading);
  line-height: 1.65;
  letter-spacing: 0;
  overflow-wrap: break-word;
}
html.tb-readable .main-left article :is(p, li, big, font),
html.tb-readable .daily-analysis-item :is(p, li, big, font),
html.tb-readable .daily-analysis-container .tab-pane :is(p, li, big, font),
html.tb-readable .aboutUs p {
  font-size: var(--tb-reading) !important;
  line-height: 1.65 !important;
  letter-spacing: 0;
}
html.tb-readable .main-left article :is(p, li) :is(span, a, b, strong, em),
html.tb-readable .daily-analysis-item :is(p, li) :is(span, a, b, strong, em),
html.tb-readable .daily-analysis-container .tab-pane :is(p, li) :is(span, a, b, strong, em) {
  font-size: inherit !important;
  line-height: inherit !important;
}
html.tb-readable .main-left article p,
html.tb-readable .daily-analysis-item p,
html.tb-readable .aboutUs p { margin-bottom: 1em; }
html.tb-readable .main-left article :is(h2, h3, h4),
html.tb-readable .daily-analysis-item :is(h2, h3, h4),
html.tb-readable .aboutUs h2 {
  font-size: 24px !important;
  line-height: 1.4 !important;
  margin-top: 1.3em;
  margin-bottom: .6em;
  letter-spacing: 0;
}
html.tb-readable .main-left article :is(h2, h3, h4) *,
html.tb-readable .daily-analysis-item :is(h2, h3, h4) * {
  font-size: inherit !important;
  line-height: inherit !important;
}

html.tb-readable .genel_item .genel_item-text .title {
  font-size: 17px;
  line-height: 1.45;
  height: auto;
  min-height: 3em;
  max-height: none;
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
  overflow-wrap: break-word;
}
html.tb-readable .genel_item .genel_item-text .text {
  font-size: var(--tb-ui);
  line-height: 1.6;
  height: auto;
  max-height: none;
  display: block;
  -webkit-line-clamp: unset;
  overflow: visible;
}
html.tb-readable .genel_item .genel_item-text { height: auto; }
html.tb-readable .card-with-price { height: auto; }
html.tb-readable .genel_item .genel-date,
html.tb-readable .genel_item .genel-date a {
  font-size: var(--tb-caption);
  line-height: 1.5;
  color: #62626b;
}
html.tb-readable .genel_item .btn-top,
html.tb-readable .btn.btn-xs,
html.tb-readable .btn.btn-xs span {
  font-size: var(--tb-caption);
  line-height: 1.5;
  height: auto;
  min-height: 30px;
  white-space: normal;
}
html.tb-readable .btn.btn-xs span { min-height: 0; }
html.tb-readable .site__card-header { gap: 12px; flex-wrap: wrap; }
html.tb-readable .card-with-price p,
html.tb-readable .card-with-price .text,
html.tb-readable .mood-box .mood-container .text-box .text,
html.tb-readable .footer-app-desc,
html.tb-readable .main-aboutus-box .text-box .text,
html.tb-readable .birth-chart-container .text-box .text {
  font-size: var(--tb-ui);
  line-height: 1.6;
  letter-spacing: 0;
}
html.tb-readable .header-content p {
  font-size: var(--tb-reading);
  line-height: 1.65;
}
html.tb-readable .birth-chart-container .title { line-height: 1.4; }
html.tb-readable .header .menu-item {
  font-size: var(--tb-ui) !important;
  line-height: 1.4;
}
html.tb-readable .daily-analysis-container .text-box .tab-holder .nav {
  flex-wrap: wrap;
  gap: 8px;
}
html.tb-readable .daily-analysis-container .text-box .tab-holder .nav .tab-button {
  font-size: var(--tb-ui);
  line-height: 1.4;
  height: auto;
  min-height: 40px;
  padding: 8px 12px;
}
html.tb-readable label.form-label {
  font-size: var(--tb-ui);
  line-height: 1.5;
  height: auto;
}
html.tb-readable :is(input.form-control, textarea.form-control, select.form-control) {
  font-size: var(--tb-ui);
  line-height: 1.5;
  min-height: 44px;
}

/* Keep the seven-day calendar intact; give wrapped labels real vertical space. */
html.tb-readable .mc-page :is(.mc-info-row p, .mc-selected-overview, .mc-guide-text, .mc-phase-summary p) {
  font-size: var(--tb-ui);
  line-height: 1.6;
}
html.tb-readable .mc-page :is(.mc-info-label, .mc-flow>span, .mc-stat span, .mc-overview-caption,
  .mc-flow-item strong, .mc-flow-item small, .mc-event-date, .mc-event small,
  .mc-legend span, .mc-zone, .mc-source, .mc-breadcrumb, .mc-weekdays span) {
  font-size: var(--tb-caption);
  line-height: 1.45;
}
html.tb-readable .mc-page :is(.mc-flow-item small, .mc-source, .mc-zone) { color: #506282; }
html.tb-readable .mc-page :is(.mc-primary, .mc-today, .tbmoon-month-select select) {
  font-size: var(--tb-ui) !important;
  line-height: 1.5;
  min-height: 42px;
}
html.tb-readable .mc-page .mc-hero-copy>span { font-size: var(--tb-ui); line-height: 1.6; }
html.tb-readable .mc-page .mc-day-label {
  font-size: 12px;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}
html.tb-readable .mc-page .mc-number { font-size: var(--tb-caption); }
html.tb-readable .mc-page .mc-days { grid-auto-rows: minmax(118px, auto); }
html.tb-readable .mc-page .mc-day { height: auto; min-height: 118px; }
html.tb-readable .mc-page .mc-flow-items { gap: 12px; }
html.tb-readable .mc-page .mc-legend { gap: 12px 20px; }
html.tb-readable .mc-page .mc-legend span { white-space: normal; }

@media (max-width: 800px) {
  html.tb-readable .footer-app-container { height: auto; min-height: 398px; }
  html.tb-readable .footer-app-holder { max-height: none; }
}
@media (max-width: 767px) {
  html.tb-readable .banner-title .h1Title,
  html.tb-readable .zodiacbannersub { font-size: 26px; line-height: 1.35; }
  html.tb-readable .banner-title .title-italic { font-size: 24px; line-height: 1.35; }
  html.tb-readable .banner-title { height: auto; }
  html.tb-readable .banner-icon-box .date { font-size: 13px !important; line-height: 1.4 !important; }
  html.tb-readable .main-left article :is(h2, h3, h4) { font-size: 22px !important; }
  html.tb-readable .site__card-header-caption h2 { line-height: 1.3; }
  html.tb-readable .header .menu-item { font-size: 17px !important; }
}
@media (max-width: 600px) {
  html.tb-readable .mc-page .mc-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html.tb-readable .mc-page .mc-overview-title { grid-column: 1 / -1; }
  html.tb-readable .mc-page .mc-stat { padding-left: 0; border-left: 0; }
  html.tb-readable .mc-page .mc-detail-body { grid-template-columns: 1fr; }
  html.tb-readable .mc-page .mc-moon-display { padding-top: 0; }
  html.tb-readable .mc-page .mc-moon-display canvas { max-width: 170px; }
  html.tb-readable .mc-page .mc-flow-items { gap: 6px; }
  html.tb-readable .mc-page .mc-legend { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  html.tb-readable .mc-page .mc-days { grid-auto-rows: minmax(110px, auto); }
  html.tb-readable .mc-page .mc-day { min-height: 110px; }
  html.tb-readable .mc-page .mc-day-label { font-size: 12px; max-width: 100%; }
  html.tb-readable .mc-page .mc-weekdays span { font-size: 12px; }
}
@media (max-width: 374px) {
  html.tb-readable .mc-page .mc-day { padding-inline: 0; }
}
@media (max-width: 340px) {
  html.tb-readable .mc-page .mc-day-label { overflow-wrap: anywhere; }
}

/* Keep the portrait in document flow so larger text cannot run underneath it. */
@media (max-width: 767px) {
    html.tb-readable .zt-aboutus .zt-aboutus-box-container {
        flex-direction: column;
        gap: 20px;
        padding-top: 24px;
    }

    html.tb-readable .zt-aboutus .zt-aboutus-box-container .image {
        position: static;
        width: 120px;
        max-width: 100%;
        flex: 0 0 auto;
        align-self: flex-start;
    }

    html.tb-readable .zt-aboutus .zt-aboutus-box-container .image img {
        display: block;
        width: 100%;
        height: auto;
    }

    html.tb-readable .zt-aboutus .zt-aboutus-box-container .text-box {
        width: 100%;
        min-width: 0;
    }
}

/* Stretch within each existing Bootstrap row, without a fixed text height. */
html.tb-readable .consulting-card-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
html.tb-readable .consulting-card-container > .card_image,
html.tb-readable .consulting-card-container > .card_header {
  flex-shrink: 0;
}
html.tb-readable .consulting-card-container > .card-with-price {
  flex: 1 0 auto;
  height: auto;
  overflow: visible;
  overflow-wrap: break-word;
}
html.tb-readable .consulting-card-container > .price-box,
html.tb-readable .consulting-card-container > .consult-card-guest-actions {
  flex-shrink: 0;
  margin-top: auto;
}
