/* Shared compact content cards. Selectors are limited to plugin cards or positively identified Traveler cards. */
body.ppt-catalog-design .ppt-content-section { margin:24px 0; min-width:0; }
body.ppt-catalog-design .ppt-content-section-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
body.ppt-catalog-design .ppt-content-section-head:empty { display:none; }
body.ppt-catalog-design .ppt-content-heading { margin:0; color:var(--ppt-display-text,var(--ppt-ink)); font-size:clamp(21px,2.3vw,28px); font-weight:700; line-height:1.3; }
body.ppt-catalog-design .ppt-content-card { box-sizing:border-box; min-width:0; display:flex; flex-direction:column; height:100%; margin:0; padding:0; overflow:hidden; border:1px solid var(--ppt-display-border,#e3e9e7); border-radius:var(--ppt-display-radius,12px); background:var(--ppt-display-bg,#fff); box-shadow:var(--ppt-display-shadow,0 3px 12px rgba(15,54,58,.055)); color:var(--ppt-display-text,#173237); text-align:start; }
body.ppt-catalog-design .ppt-content-card * { box-sizing:border-box; }
body.ppt-catalog-design .ppt-content-image { position:relative; display:block; width:100%; aspect-ratio:var(--ppt-display-image-ratio,16 / 9); flex-shrink:0; margin:0; padding:0; border:0; border-radius:0; overflow:hidden; background:#edf3f2; }
body.ppt-catalog-design .ppt-content-image::before,body.ppt-catalog-design .ppt-content-image::after { display:none; }
body.ppt-catalog-design .ppt-content-image > a { display:block; width:100%; height:100%; }
body.ppt-catalog-design .ppt-content-image img { display:block; width:100%; height:100%; max-width:none; max-height:none; margin:0; object-fit:cover; border-radius:0; transition:transform .25s ease; }
body.ppt-catalog-design .ppt-content-image:hover img { transform:scale(1.025); }
body.ppt-catalog-design .ppt-content-placeholder { display:grid; place-items:center; width:100%; height:100%; background:linear-gradient(140deg,#eef5f3,#dceae7); color:var(--ppt-display-accent,#07545c); font-size:44px; font-weight:600; line-height:1; }
body.ppt-catalog-design .ppt-content-body { position:static; display:flex; flex-direction:column; flex:1; min-width:0; width:auto; height:auto; margin:0; padding:var(--ppt-display-padding,12px); color:var(--ppt-display-text,#173237); background:var(--ppt-display-bg,#fff); text-align:start; }
body.ppt-catalog-design .ppt-content-category { display:block; width:fit-content; max-width:100%; margin:0 0 8px; padding:3px 6px; overflow:hidden; color:var(--ppt-display-chip-color,var(--ppt-display-accent,#07545c)); background:var(--ppt-display-chip-bg,#eef5f3); border:1px solid var(--ppt-display-border,#e3e9e7); border-radius:5px; font-size:10px; font-weight:600; line-height:1.3; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
body.ppt-catalog-design .ppt-content-category ul { display:flex; flex-wrap:wrap; gap:5px; margin:0; padding:0; list-style:none; }
body.ppt-catalog-design .ppt-content-category li { display:inline-flex; margin:0!important; padding:0!important; background:none!important; border:0; font-size:inherit; line-height:inherit; }
body.ppt-catalog-design .ppt-content-category a { color:var(--ppt-display-chip-color,var(--ppt-display-accent,#07545c))!important; background:transparent!important; font-size:inherit; text-decoration:none; }
body.ppt-catalog-design .ppt-content-category a span { display:none; }
body.ppt-catalog-design .ppt-content-title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:calc(var(--ppt-display-title-size,15px) * 2.8); max-height:calc(var(--ppt-display-title-size,15px) * 2.8); margin:0 0 8px; padding:0; color:var(--ppt-display-text,#173237); font-size:var(--ppt-display-title-size,15px); font-weight:650; line-height:1.4; overflow-wrap:anywhere; text-transform:none; }
body.ppt-catalog-design .ppt-content-title a { color:inherit!important; font-size:inherit!important; font-weight:inherit; line-height:inherit; text-decoration:none; }
body.ppt-catalog-design .ppt-content-title a:hover { color:var(--ppt-display-accent,#07545c)!important; }
body.ppt-catalog-design .ppt-content-excerpt,body.ppt-catalog-design .ppt-content-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; max-height:calc(var(--ppt-display-body-size,12px) * 4.8); min-height:calc(var(--ppt-display-body-size,12px) * 4.8); margin:0 0 10px; padding:0; color:var(--ppt-display-muted,#697a7c); font-size:var(--ppt-display-body-size,12px); font-weight:400; line-height:1.6; overflow-wrap:anywhere; }
body.ppt-catalog-design .ppt-content-excerpt p,body.ppt-catalog-design .ppt-content-description p { margin:0; color:inherit; font-size:inherit; line-height:inherit; }
body.ppt-catalog-design .ppt-content-meta { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; min-height:18px; margin:0 0 8px; padding:0; color:var(--ppt-display-muted,#697a7c); font-size:11px; line-height:1.5; }
body.ppt-catalog-design .ppt-content-meta ul { display:flex; align-items:center; flex-wrap:wrap; gap:7px 12px; margin:0; padding:0; list-style:none; }
body.ppt-catalog-design .ppt-content-meta li { display:inline-flex; align-items:center; margin:0; padding:0; font-size:inherit; line-height:inherit; }
body.ppt-catalog-design .ppt-content-meta li::before,body.ppt-catalog-design .ppt-content-meta li::after { display:none; }
body.ppt-catalog-design .ppt-content-meta a { color:inherit; text-decoration:none; }
body.ppt-catalog-design .ppt-content-meta .avatar { display:inline-block; width:18px; height:18px; margin-right:5px; border-radius:50%; }
body.ppt-catalog-design .ppt-content-meta .ppt-content-comments { display:none; }
body.ppt-catalog-design .ppt-content-author { overflow-wrap:anywhere; }
body.ppt-catalog-design .ppt-content-cta { display:flex; align-items:center; gap:4px; width:fit-content; max-width:100%; margin-top:auto; padding:5px 8px; border:0; border-radius:5px; color:var(--ppt-display-button-color,#795638); background:var(--ppt-display-button-bg,#f8f0e8); font-size:11px; font-weight:650; line-height:1.7; text-decoration:none; }
body.ppt-catalog-design .ppt-content-cta:hover { color:var(--ppt-display-button-color,#795638); text-decoration:underline; }
body.ppt-catalog-design .ppt-content-kicker { margin:0 0 5px; color:var(--ppt-display-muted,#697a7c); font-size:9px; font-weight:600; letter-spacing:.08em; line-height:1.5; text-transform:uppercase; }
body.ppt-catalog-design .ppt-content-count { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-start!important; gap:8px; margin:0 0 8px; color:var(--ppt-display-muted,#697a7c); font-size:11px; line-height:1.5; }
body.ppt-catalog-design .ppt-content-count a { color:inherit; font-size:inherit; text-decoration:none; }
body.ppt-catalog-design .ppt-content-count a:hover { text-decoration:underline; }
body.ppt-catalog-design .ppt-content-empty { margin:0; padding:18px; background:#f7f9f8; border:1px dashed var(--ppt-display-border,#e3e9e7); border-radius:8px; color:var(--ppt-display-muted,#697a7c); font-size:13px; line-height:1.6; }
body.ppt-catalog-design .ppt-content-hide-image .ppt-content-image,
body.ppt-catalog-design .ppt-content-hide-title .ppt-content-title,
body.ppt-catalog-design .ppt-content-hide-category .ppt-content-category,
body.ppt-catalog-design .ppt-content-hide-excerpt .ppt-content-excerpt,
body.ppt-catalog-design .ppt-content-hide-date .ppt-content-date,
body.ppt-catalog-design .ppt-content-hide-author .ppt-content-author,
body.ppt-catalog-design .ppt-content-hide-count .ppt-content-count,
body.ppt-catalog-design .ppt-content-hide-description .ppt-content-description,
body.ppt-catalog-design .ppt-content-hide-cta .ppt-content-cta { display:none!important; }
body.ppt-catalog-design .ppt-native-blog-shell { height:100%; min-width:0; padding:0; }
body.ppt-catalog-design .ppt-native-blog-track > .swiper-slide { height:auto; }
body.ppt-catalog-design .ppt-native-blog-archive { display:grid; grid-template-columns:repeat(var(--ppt-content-columns,3),minmax(0,1fr)); gap:var(--ppt-display-gap,16px); }
body.ppt-catalog-design .ppt-native-blog-archive > .ppt-content-card { min-width:0; float:none; width:auto; }
body.ppt-catalog-design .ppt-native-category-cell { display:flex; min-width:0; }
body.ppt-catalog-design .ppt-native-category-cell > .ppt-content-card { width:100%; }
body.ppt-catalog-design .ppt-native-category-card .ppt-content-count { min-height:17px; }
body.ppt-catalog-design .ppt-content-card :is(a,button):focus-visible { outline:3px solid var(--ppt-display-accent,#07545c); outline-offset:3px; }
@media(max-width:1024px) { body.ppt-catalog-design .ppt-native-blog-archive { grid-template-columns:repeat(var(--ppt-content-columns-tablet,2),minmax(0,1fr)); } }
@media(max-width:767px) { body.ppt-catalog-design .ppt-native-blog-archive { grid-template-columns:repeat(var(--ppt-content-columns-mobile,1),minmax(0,1fr)); } }
@media(max-width:480px) { body.ppt-catalog-design .ppt-native-blog-archive { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { body.ppt-catalog-design .ppt-content-image img { transition:none; } }
body.ppt-catalog-design .ppt-content-image { height:auto; min-height:0; max-height:var(--ppt-display-image-height,180px); }
body.ppt-catalog-design .ppt-native-blog-header { flex-shrink:0; margin:0; padding:0; border:0; }
body.ppt-catalog-design .ppt-native-category-card > .ppt-content-body { position:static; text-align:start; }
body.ppt-catalog-design .ppt-content-kicker { width:fit-content; max-width:100%; padding:3px 6px; border-radius:5px; background:var(--ppt-display-chip-bg,#eef5f4); color:var(--ppt-display-chip-color,#064e56); }
body.ppt-catalog-design .ppt-category-card .ppt-content-count { width:fit-content; padding:3px 6px; border-radius:5px; background:var(--ppt-display-chip-bg,#eef5f4); color:var(--ppt-display-chip-color,#064e56); }

/* Native Traveler selectors are more specific than the shared card primitives.
   These scoped rules still use the same real user-controlled variables. */
body.ppt-catalog-design .ppt-native-content-section .ppt-content-card.ppt-native-blog-card .ppt-content-body,
body.ppt-catalog-design .ppt-native-content-section .ppt-content-card.ppt-native-category-card .ppt-content-body {
  position:static!important; display:flex; flex-direction:column; flex:1; min-width:0;
  width:auto!important; height:auto!important; margin:0!important;
  padding:var(--ppt-display-padding,12px)!important;
  background:var(--ppt-display-bg,#fff)!important; color:var(--ppt-display-text,#173237)!important;
  text-align:start!important;
}
body.ppt-catalog-design .ppt-native-content-section .ppt-content-card .ppt-content-image {
  height:auto!important; min-height:0!important; max-height:var(--ppt-display-image-height,180px)!important;
  margin:0!important; padding:0!important; border-radius:0!important; flex-shrink:0;
}
body.ppt-catalog-design .ppt-native-content-section .ppt-content-card .ppt-content-body .ppt-content-category {
  position:static!important; inset:auto!important; transform:none!important; align-self:flex-start;
  width:fit-content!important; max-width:100%; margin:0 0 8px!important; padding:3px 6px!important;
  color:var(--ppt-display-chip-color,#064e56)!important; background:var(--ppt-display-chip-bg,#eef5f4)!important;
  font-size:10px!important; line-height:1.3!important;
}
body.ppt-catalog-design .ppt-native-content-section .ppt-content-card .ppt-content-body .ppt-content-title {
  margin:0 0 8px!important; padding:0!important; font-size:var(--ppt-display-title-size,14px)!important;
  line-height:1.4!important; color:var(--ppt-display-text,#173237)!important; font-weight:650!important;
  min-height:calc(var(--ppt-display-title-size,14px) * 2.8)!important;
  max-height:calc(var(--ppt-display-title-size,14px) * 2.8)!important;
}
body.ppt-catalog-design .ppt-native-content-section .ppt-content-card .ppt-content-body .ppt-content-meta {
  margin:0 0 8px!important; padding:0!important; min-height:18px;
  font-size:11px!important; line-height:1.5!important; color:var(--ppt-display-muted,#697a7c)!important;
}
body.ppt-catalog-design .ppt-native-content-section .ppt-content-card .ppt-content-meta :is(ul,li) {
  margin:0!important; padding:0!important; font-size:inherit!important; line-height:inherit!important;
}
body.ppt-catalog-design .ppt-native-content-section .ppt-content-card .ppt-content-body .ppt-content-cta {
  width:fit-content; margin-top:auto!important; padding:5px 8px!important;
  background:var(--ppt-display-button-bg,#f8f0e8)!important; color:var(--ppt-display-button-color,#795638)!important;
  font-size:11px!important; line-height:1.7!important;
}

/* Traveler centers destination overlays with translateX(-50%). Once that real
   content is moved below the image, retain its normal flow inside the card. */
body.ppt-catalog-design .ppt-native-content-section .ppt-content-card.ppt-native-category-card > .ppt-content-body {
  -webkit-transform:none!important;
  transform:none!important;
  inset:auto!important;
}

/* Modern destination/category photos share a fixed user-controlled frame.
   Source aspect ratio never changes the card geometry. Stacked remains optional. */
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo {
  position:relative; isolation:isolate;
  height:var(--ppt-display-photo-height,240px)!important;
  min-height:var(--ppt-display-photo-height,240px)!important;
  max-height:var(--ppt-display-photo-height,240px)!important;
  overflow:hidden;
  background:var(--ppt-display-overlay-color,#062e34);
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo::after {
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  display:block; border-radius:inherit;
  background:linear-gradient(180deg,transparent 8%,transparent 27%,var(--ppt-display-overlay-color,#062e34) 100%);
  opacity:var(--ppt-display-overlay-opacity,.8);
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo > .ppt-content-image {
  position:absolute!important; inset:0!important; z-index:0;
  width:100%!important; height:100%!important; min-height:0!important; max-height:none!important;
  margin:0!important; padding:0!important; aspect-ratio:auto!important; transform:none!important;
  border-radius:0!important; background:var(--ppt-display-bg,#fff);
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-content-image > a,
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-content-image img {
  display:block; width:100%!important; height:100%!important; min-height:0!important; max-height:none!important;
  margin:0!important; aspect-ratio:auto!important;
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-content-image img {
  object-fit:var(--ppt-display-image-fit,cover)!important; object-position:center!important;
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo > .ppt-content-body {
  position:absolute!important; inset:0!important; z-index:2;
  -webkit-transform:none!important; transform:none!important;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:flex-start;
  width:auto!important; height:auto!important; min-height:0!important; margin:0!important;
  padding:var(--ppt-display-padding,18px)!important; padding-right:64px!important;
  background:transparent!important; color:var(--ppt-display-photo-text,#fff)!important;
  text-align:start!important;
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-content-body > .ppt-content-title {
  position:static!important; inset:auto!important; transform:none!important;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  width:100%; min-height:0!important; height:auto!important;
  max-height:calc(var(--ppt-display-title-size,18px) * 2.8)!important;
  margin:0!important; padding:0!important;
  color:var(--ppt-display-photo-text,#fff)!important; -webkit-text-fill-color:var(--ppt-display-photo-text,#fff)!important;
  font-size:var(--ppt-display-title-size,18px)!important; font-weight:650!important; line-height:1.4!important;
  text-shadow:0 1px 6px rgba(0,0,0,.12); overflow:hidden; overflow-wrap:anywhere;
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-content-title a {
  color:var(--ppt-display-photo-text,#fff)!important;
  -webkit-text-fill-color:var(--ppt-display-photo-text,#fff)!important;
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-content-description {
  -webkit-line-clamp:2; min-height:0; max-height:calc(var(--ppt-display-body-size,12px) * 3);
  margin:6px 0 0; color:var(--ppt-display-photo-muted,#e2ecec); line-height:1.5;
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-content-kicker { display:none; }
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-content-count {
  position:absolute; top:12px; left:12px; z-index:3;
  width:fit-content; max-width:calc(100% - 24px); min-height:0;
  margin:0!important; padding:5px 8px!important; border:0; border-radius:6px;
  background:var(--ppt-display-chip-bg,#eef5f4); color:var(--ppt-display-chip-color,#064e56);
  font-size:11px; font-weight:600; line-height:1.35;
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-content-body > .ppt-content-cta {
  position:absolute; right:14px; bottom:14px; z-index:4;
  display:flex; align-items:center; justify-content:center; flex:none;
  width:36px!important; height:36px!important; min-height:36px; margin:0!important; padding:0!important;
  border:1px solid rgba(255,255,255,.28); border-radius:50%;
  background:var(--ppt-display-button-bg,#fff)!important; color:var(--ppt-display-button-color,#064e56)!important;
  line-height:1!important; text-decoration:none;
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo .ppt-category-cta-label {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
body.ppt-catalog-design .ppt-category-arrow { display:inline; font-size:17px; line-height:1; }
body.ppt-catalog-design .ppt-category-style-photo .ppt-content-placeholder { height:100%; font-size:54px; }
body.ppt-catalog-design .ppt-category-style-stacked .ppt-content-image img { object-fit:var(--ppt-display-image-fit,cover); object-position:center; }

/* Stacked is also independent of the source image size: a positive setting
   gives an exact frame; 0 leaves the validated aspect-ratio frame automatic. */
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-stacked > .ppt-content-image {
  height:var(--ppt-display-image-height,auto)!important;
  min-height:0!important; max-height:var(--ppt-display-image-height,none)!important;
}
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-stacked .ppt-content-image > a,
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-stacked .ppt-content-image img {
  width:100%!important; height:100%!important; object-fit:var(--ppt-display-image-fit,cover)!important; object-position:center!important;
}
/* Let empty overlay space reach the preserved photograph link underneath. */
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo > .ppt-content-body { pointer-events:none; }
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo > .ppt-content-body :is(a,button) { pointer-events:auto; }
/* The photo overlay control owns the gradient; suppress legacy image overlays. */
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo > .ppt-content-image::before,
body.ppt-catalog-design .ppt-content-card.ppt-category-card.ppt-category-style-photo > .ppt-content-image::after { display:none!important; }
/* A missing-image initial is a clean visual fallback, including linked frames. */
body.ppt-catalog-design .ppt-category-card a.ppt-content-image,
body.ppt-catalog-design .ppt-category-card a.ppt-content-image:is(:hover,:focus,:focus-visible),
body.ppt-catalog-design .ppt-category-card .ppt-content-image a,
body.ppt-catalog-design .ppt-category-card .ppt-content-image a:is(:hover,:focus,:focus-visible) { text-decoration:none!important; }
