/* TravelGoCo Guide typography polish — no change to Admin, Ads or site-wide text. */
/* All Guide cards (hub, search and country recommendations) share three-line excerpts. */
.guide-card-visual {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}
.guide-card-visual .guide-card-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
}
.guide-card-visual .guide-card-content > p {
  min-height: 0;
  margin: 0 0 18px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  overflow-wrap: anywhere;
}
.guide-card-visual .guide-card-content > span {
  margin-top: auto;
}
/* The Guide hero's excerpt is a preview, not the article itself. */
.guide-article-hero .lead {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
  overflow-wrap: anywhere;
}
/* Align substantive prose evenly on comfortable viewport widths only. */
@media (min-width: 681px) {
  .guide-article-refined > p:not(.guide-return) {
    text-align: justify;
    text-align-last: left;
    hyphens: auto;
    overflow-wrap: break-word;
  }
}
/* Real table header cells support both clear styling and accessible semantics. */
.guide-article-refined .table-overflow th {
  font-weight: 750;
  color: #171c24;
  text-align: left;
  vertical-align: top;
  background: #f5f6f8;
  padding: 13px 12px;
  border: 1px solid var(--line);
}
.guide-article-refined .table-overflow td {
  vertical-align: top;
}
@media (max-width: 680px) {
  .guide-article-refined > p:not(.guide-return) {
    text-align: start;
    hyphens: manual;
  }
}

/* Current Guide renderer uses td for every row. Visually emphasize header row
   without changing working Blade/article/image rendering paths. */
.guide-article-refined .table-overflow table > tbody > tr:first-child > td,
.guide-article-refined .table-overflow table > tr:first-child > td {
  font-weight: 750;
  color: #171c24;
  background: #f5f6f8;
  text-align: left;
  vertical-align: top;
  padding: 13px 12px;
  border: 1px solid var(--line);
}

/* Keep Guide paragraphs and lists as wide as the table and image. */
.guide-article-refined > p,
.guide-article-refined > ul,
.guide-article-refined > ol {
    max-width: 100%;
}

.guide-article-refined > p:not(.guide-return) {
    hyphens: none;
    -webkit-hyphens: none;
}

/* Full-width Guide hero excerpt with balanced text alignment. */
.guide-article-hero .lead {
    width: 100%;
    max-width: 100%;
    text-align: justify;
    text-align-last: left;
    hyphens: none;
    -webkit-hyphens: none;
    word-break: normal;
}

@media (max-width: 680px) {
    .guide-article-hero .lead {
        text-align: left;
    }
}

/* Single Guide intro: display all stored text. Cards remain clamped. */
.guide-article-hero .lead {
    display: block !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    overflow: visible !important;
    max-height: none !important;
    text-overflow: clip;
    white-space: normal;
}

/* TGC Guide inline image ratio fix */
.guide-article-refined > figure:not(.guide-featured) {
    width: 100%;
    max-width: 100%;
    margin: 26px 0 32px;
}

.guide-article-refined > figure:not(.guide-featured) picture {
    display: block;
    width: 100%;
}

.guide-article-refined > figure:not(.guide-featured) img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}

.guide-article-refined > figure:not(.guide-featured) figcaption {
    margin-top: 8px;
    font-size: 13px;
    color: #69717b;
}

/* TGC GUIDE TABLE BRAND 20261014 */
/* Scoped to Guide content tables; preserves articles, images and site-wide tables. */
.guide-article-refined .table-overflow {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.guide-article-refined .table-overflow table {
  width: 100%;
  border-collapse: collapse;
  border-top: 4px solid #E63232;
}
.guide-article-refined .table-overflow th,
.guide-article-refined .table-overflow td {
  text-align: left;
  vertical-align: top;
  color: #171717;
  border: 1px solid #E5E7EB;
  padding: 13px 14px;
}
/* Real thead headers and first-row headers from the current Guide block editor. */
.guide-article-refined .table-overflow table > thead > tr > th,
.guide-article-refined .table-overflow table > tbody > tr:first-child > td,
.guide-article-refined .table-overflow table > tr:first-child > td {
  background-color: #FCE5E3;
  color: #171717;
  font-weight: 750;
  text-align: left;
}
/* Subtle alternating body rows (keep the first-row header distinct). */
.guide-article-refined .table-overflow table > tbody > tr:nth-child(odd):not(:first-child) > td,
.guide-article-refined .table-overflow table > tr:nth-child(odd):not(:first-child) > td {
  background-color: #FAFAFA;
}
.guide-article-refined .table-overflow table > thead + tbody > tr:first-child > td {
  background-color: #FFFFFF;
  font-weight: 400;
}
.guide-article-refined .table-overflow table > thead + tbody > tr:nth-child(even) > td {
  background-color: #FAFAFA;
}
@media (max-width: 680px) {
  .guide-article-refined .table-overflow table:has(tr > :nth-child(3)) {
    min-width: 560px;
  }
}

/* TGC GUIDE COMPACT TOC 20261015 — Guide-only, no change to article body. */
.guide-article-refined .guide-toc-compact {
  padding: 19px 22px 21px;
}
.guide-article-refined .guide-toc-compact .guide-toc-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px 16px;
  margin-bottom: 8px;
}
.guide-article-refined .guide-toc-compact .guide-toc-heading h2 { margin: 0; }
.guide-article-refined .guide-toc-compact .guide-toc-count {
  font-size: 12px;
  color: #657078;
  font-weight: 600;
}
.guide-article-refined .guide-toc-compact ol { margin: 0; padding-left: 1.5rem; }
.guide-article-refined .guide-toc-compact li { margin: 7px 0; }
.guide-article-refined .guide-toc-compact .guide-toc-more { margin-top: 14px; }
.guide-article-refined .guide-toc-compact .guide-toc-more > summary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  color: #BB2530;
  list-style: none;
  border: 1px solid #E6CCD0;
  background: #FFF8F8;
  border-radius: 8px;
  padding: 9px 13px;
  user-select: none;
}
.guide-article-refined .guide-toc-compact .guide-toc-more > summary::-webkit-details-marker { display: none; }
.guide-article-refined .guide-toc-compact .guide-toc-more > summary::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  margin-left: 9px;
  transform: translateY(-2px) rotate(45deg);
}
.guide-article-refined .guide-toc-compact .guide-toc-more[open] > summary::after {
  transform: translateY(2px) rotate(225deg);
}
.guide-article-refined .guide-toc-compact .guide-toc-more > summary:hover { background: #FFF0F1; }
.guide-article-refined .guide-toc-compact .guide-toc-more > summary:focus-visible {
  outline: 2px solid #BB2530;
  outline-offset: 3px;
}
.guide-article-refined .guide-toc-compact .guide-toc-collapse-label { display: none; }
.guide-article-refined .guide-toc-compact .guide-toc-more[open] .guide-toc-expand-label { display: none; }
.guide-article-refined .guide-toc-compact .guide-toc-more[open] .guide-toc-collapse-label { display: inline; }
.guide-article-refined .guide-toc-compact .guide-toc-remaining { margin-top: 13px; }
@media (max-width: 680px) {
  .guide-article-refined .guide-toc-compact { padding: 16px 15px 18px; }
  .guide-article-refined .guide-toc-compact .guide-toc-more > summary { min-height: 44px; }
}
/* TGC TOC BUTTON BOTTOM 20261015 */
.guide-article-refined .guide-toc-compact .guide-toc-more[open] { display:flex; flex-direction:column; align-items:stretch; }
.guide-article-refined .guide-toc-compact .guide-toc-more[open] > summary { order:2; align-self:flex-start; margin-top:12px; }
.guide-article-refined .guide-toc-compact .guide-toc-more[open] > .guide-toc-remaining { order:1; margin-top:0; }

/* TGC TOC GAP AFTER THIRD HEADING */
.guide-article-refined .guide-toc-compact .guide-toc-more[open] > .guide-toc-remaining { margin-top: 12px !important; }
