/* ============================================================
   REVIEWS HUB — campgearadvice.com
   File: reviews-hub.css
   Upload to: /wp-content/themes/kadence-child/
   Then append to style.css:  @import url('reviews-hub.css');
   OR copy-paste nội dung này vào cuối style.css
   ============================================================ */

/* ── Page title block ───────────────────────────────────── */
.cga-rp-header {
  padding: 0 0 4px;
}

.cga-rp-breadcrumb {
  font-size: 11px;
  color: #aaa;
  margin-bottom: 6px;
  margin-top: 0;
}

.cga-rp-breadcrumb a {
  color: #aaa;
  text-decoration: none;
}

.cga-rp-breadcrumb a:hover {
  color: #2286A9;
}

.cga-rp-breadcrumb span {
  margin: 0 5px;
  color: #ccc;
}

.cga-rp-title-wrap {
  border-left: 2px solid #111;
  padding-left: 11px;
  margin-bottom: 12px;
  margin-top: 0;
}

.cga-rp-title-wrap h1 {
  font-size: 20px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #111;
  margin: 0;
}

.cga-rp-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
}

.cga-rp-filters a {
  color: #444;
  text-decoration: none;
  padding: 3px 0;
  transition: color .15s;
}

.cga-rp-filters a:hover,
.cga-rp-filters a.active {
  color: #2286A9;
}

.cga-rp-filters .pipe {
  color: #ddd;
  padding: 0 10px;
  user-select: none;
}

/* ── Post grid (main col) ───────────────────────────────── */
.cga-rp-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
}

@media (max-width: 560px) {
  .cga-rp-grid {
    grid-template-columns: 1fr;
  }
}

.cga-rp-card {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 5px rgba(0, 0, 0, .05);
  transition: box-shadow .2s, transform .2s;
  display: flex;
  flex-direction: column;
}

.cga-rp-card:hover {
  box-shadow: 0 5px 18px rgba(0, 0, 0, .10);
  transform: translateY(-2px);
}

.cga-rp-card-img {
  display: block;
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #eee;
  flex-shrink: 0;
}

.cga-rp-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}

.cga-rp-card:hover .cga-rp-card-img img {
  transform: scale(1.03);
}

.cga-rp-card-img .cga-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 4px 9px;
  border-radius: 4px;
  text-transform: uppercase;
  line-height: 1.4;
}

.cga-badge-reviews {
  background: #2286A9;
}

.cga-badge-best-lists {
  background: #1E40AF;
}

.cga-badge-versus {
  background: #DC2626;
}

.cga-badge-how-to {
  background: #D97706;
}

.cga-badge-explainers {
  background: #7C3AED;
}

.cga-badge-default {
  background: #555;
}

.cga-rp-card-body {
  padding: 16px 18px 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.cga-rp-card h3 {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  color: #111;
  margin: 0;
}

.cga-rp-card h3 a {
  color: inherit;
  text-decoration: none;
}

.cga-rp-card h3 a:hover {
  color: #2286A9;
}

.cga-rp-card .cga-meta {
  font-size: 11px;
  color: #aaa;
  display: flex;
  align-items: center;
  gap: 5px;
}

.cga-rp-card .cga-meta .dot {
  color: #ddd;
}

.cga-rp-card p {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  margin: 0;
  margin-top: auto;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* ── Loading spinner ────────────────────────────────────── */
.cga-rp-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #bbb;
  font-size: 13px;
  padding: 36px 0;
  grid-column: 1 / -1;
}

.cga-rp-spinner {
  width: 14px;
  height: 14px;
  border: 2px solid #e0e0e0;
  border-top-color: #2286A9;
  border-radius: 50%;
  animation: cga-spin .7s linear infinite;
  flex-shrink: 0;
}

@keyframes cga-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ── Pagination block ───────────────────────────────────── */
.cga-rp-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 4px 0;
  border-top: none;
  margin-top: 16px;
}

.cga-rp-pagination a,
.cga-rp-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 13px;
  color: #333;
  text-decoration: none;
  background: #fff;
  transition: all .15s;
  cursor: pointer;
}

.cga-rp-pagination a:hover {
  border-color: #2286A9;
  color: #2286A9;
}

.cga-rp-pagination .cur {
  background: #2286A9;
  color: #fff;
  border-color: #2286A9;
  font-weight: 700;
}

.cga-rp-pagination .ell {
  border: none;
  background: none;
  color: #aaa;
  cursor: default;
}

/* ══════════════ SIDEBAR ════════════════════════════════════ */

/* Widget card */
.cga-rp-widget {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  padding: 18px 20px;
  margin-bottom: 24px;
}

.cga-rp-widget:last-child {
  margin-bottom: 0;
}

/* Widget title */
.cga-wt {
  margin-bottom: 18px;
}

.cga-wt span {
  display: block;
  font-size: 17px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .8px;
  color: #111;
  padding-bottom: 10px;
  border-bottom: 0.5px solid #ddd;
  position: relative;
}

.cga-wt span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 32px;
  height: 2px;
  background: #2286A9;
}

/* Top Posts */
.cga-tp-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #f2f2f2;
}

.cga-tp-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.cga-tp-img {
  flex-shrink: 0;
  width: 80px;
  height: 60px;
  border-radius: 5px;
  overflow: hidden;
  background: #eee;
  display: block;
}

.cga-tp-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cga-tp-text a {
  display: block;
  font-size: 15px;
  font-weight: 500;
  color: #111;
  text-decoration: none;
  line-height: 1.45;
  margin-bottom: 5px;
}

.cga-tp-text a:hover {
  color: #2286A9;
}

.cga-tp-text time {
  font-size: 11px;
  color: #aaa;
}

/* Ad widget */
.cga-sidebar-ad {
  background: #fff;
  border: none;
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  margin-bottom: 24px;
}

.cga-sidebar-ad-label {
  font-size: 10px;
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: .7px;
}

.cga-sidebar-ad-box {
  background: #e8e8e8;
  width: 300px;
  height: 250px;
  max-width: 100%;
  display: block;
  border-radius: 4px;
}

/* Social buttons */
.cga-social-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.cga-social-row a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 13px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  transition: opacity .15s;
}

.cga-social-row a:hover {
  opacity: .85;
  color: #fff;
}

.cga-s-fb {
  background: #1877F2;
}

.cga-s-x {
  background: #000;
}

.cga-s-ig {
  background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888);
}

.cga-s-yt {
  background: #FF0000;
}

.cga-s-pin {
  background: #E60023;
}

/* Latest Reviews — TR vertical style */
.cga-lr-item {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: none;
}

.cga-lr-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.cga-lr-img-wrap {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 5px;
  overflow: hidden;
  background: #eee;
  margin-bottom: 10px;
}

.cga-lr-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cga-lr-num-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 5px;
}

.cga-lr-num {
  font-size: 15px;
  font-weight: 800;
  color: #d8d8d8;
  flex-shrink: 0;
  line-height: 1;
}

.cga-lr-title {
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.4;
  color: #111;
  text-decoration: none;
  display: block;
}

.cga-lr-title:hover {
  color: #2286A9;
}

.cga-lr-meta {
  font-size: 11px;
  color: #aaa;
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 4px;
}

.cga-lr-meta .dot {
  color: #ddd;
}

/* ══════════════════════════════════════════
     SKELETON LOADING — shimmer effect
     ══════════════════════════════════════════ */

/* Shimmer animation */
@keyframes cga-shimmer {
  0% {
    background-position: -600px 0;
  }

  100% {
    background-position: 600px 0;
  }
}

.cga-skel-img,
.cga-skel-line,
.cga-skel-thumb {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 600px 100%;
  animation: cga-shimmer 1.4s ease-in-out infinite;
  border-radius: 4px;
}

/* Skeleton card image */
.cga-skeleton .cga-rp-card-img.cga-skel-img,
.cga-skeleton .cga-skel-img {
  width: 100%;
  aspect-ratio: 16/9;
  display: block;
}

/* Skeleton text lines */
.cga-skel-title {
  height: 16px;
  width: 90%;
  margin-bottom: 10px;
}

.cga-skel-meta {
  height: 11px;
  width: 55%;
  margin-bottom: 10px;
}

.cga-skel-text {
  height: 12px;
  width: 100%;
  margin-bottom: 7px;
}

.cga-skel-short {
  width: 70%;
}

/* Sidebar skeleton rows */
.cga-skel-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #f2f2f2;
}

.cga-skel-row:last-child {
  border-bottom: none;
}

.cga-skel-thumb {
  flex-shrink: 0;
  width: 80px;
  height: 60px;
  border-radius: 5px;
}

.cga-skel-lines {
  flex: 1;
  padding-top: 4px;
}

/* Fade in real content when loaded */
.cga-rp-card:not(.cga-skeleton) {
  animation: cga-fadein .35s ease forwards;
}

@keyframes cga-fadein {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── No-posts message ── */
.cga-no-posts {
  color: #aaa;
  padding: 28px 0;
  grid-column: 1 / -1;
  font-size: 13px;
}

/* ══════════════════════════════════════════════════════
   WP QUERY LOOP — override native pagination
   + Kadence Posts Block sidebar styling
   ══════════════════════════════════════════════════════ */

/* ── Override WP native query pagination → match design ── */
.wp-block-query-pagination {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 16px;
  padding-top: 8px;
  border-top: none;
  align-items: center;
}

.wp-block-query-pagination-numbers {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-numbers span,
.wp-block-query-pagination-previous a,
.wp-block-query-pagination-next a,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 9px;
  border: 1px solid #e0e0e0 !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  color: #333 !important;
  text-decoration: none !important;
  background: #fff !important;
  transition: all .15s;
  cursor: pointer;
  font-weight: 400 !important;
  box-shadow: none !important;
}

.wp-block-query-pagination-numbers a:hover,
.wp-block-query-pagination-previous a:hover,
.wp-block-query-pagination-next a:hover {
  border-color: #2286A9 !important;
  color: #2286A9 !important;
  background: #fff !important;
}

/* Current page */
.wp-block-query-pagination-numbers .current,
.wp-block-query-pagination-numbers span.current {
  background: #2286A9 !important;
  color: #fff !important;
  border-color: #2286A9 !important;
  font-weight: 700 !important;
}

/* Prev / Next labels → arrow only */
.wp-block-query-pagination-previous a::before {
  content: '‹';
  margin-right: 4px;
}

.wp-block-query-pagination-next a::after {
  content: '›';
  margin-left: 4px;
}

/* Dots */
.wp-block-query-pagination-numbers .dots {
  border: none !important;
  background: none !important;
  color: #aaa !important;
  cursor: default;
  min-width: auto;
  padding: 0 4px;
}

/* ── wp:query post-template grid ── */
.wp-block-post-template.cga-rp-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

@media (max-width: 560px) {
  .wp-block-post-template.cga-rp-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ── wp:post-title inside card ── */
.cga-rp-card .wp-block-post-title {
  font-size: 19px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #111 !important;
  margin: 0 !important;
}

.cga-rp-card .wp-block-post-title a {
  color: inherit !important;
  text-decoration: none !important;
}

.cga-rp-card .wp-block-post-title a:hover {
  color: #2286A9 !important;
}

/* ── wp:post-featured-image inside card ── */
.cga-rp-card .wp-block-post-featured-image {
  margin: 0 !important;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #eee;
}

.cga-rp-card .wp-block-post-featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform .3s;
}

.cga-rp-card:hover .wp-block-post-featured-image img {
  transform: scale(1.03);
}

/* ── wp:post-author + wp:post-date inside .cga-meta ── */
.cga-meta .wp-block-post-author {
  display: inline !important;
  font-size: 11px !important;
  color: #aaa !important;
}

.cga-meta .wp-block-post-author__name {
  font-size: 11px !important;
  color: #aaa !important;
}

.cga-meta .wp-block-post-date {
  display: inline !important;
  font-size: 11px !important;
  color: #aaa !important;
}

.cga-meta .wp-block-post-date a {
  color: #aaa !important;
  text-decoration: none !important;
}

/* ── wp:post-excerpt inside card ── */
.cga-rp-card .wp-block-post-excerpt {
  font-size: 14px !important;
  color: #555 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.cga-rp-card .wp-block-post-excerpt p {
  margin: 0 !important;
}

.cga-rp-card .wp-block-post-excerpt__more-link {
  display: none !important;
}

/* ── Kadence Posts Block in sidebar → match .cga-tp-item / .cga-lr-item style ── */
.cga-rp-widget .wp-block-kadence-posts {
  margin: 0 !important;
}

.cga-rp-widget .kb-posts-list-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}

/* Each post item */
.cga-rp-widget .kb-posts-list-wrap article,
.cga-rp-widget .kb-posts-list-wrap .kb-post-item {
  display: flex !important;
  gap: 12px !important;
  align-items: flex-start !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #f2f2f2 !important;
  margin: 0 !important;
}

.cga-rp-widget .kb-posts-list-wrap article:last-child,
.cga-rp-widget .kb-posts-list-wrap .kb-post-item:last-child {
  border-bottom: none !important;
  padding-bottom: 0 !important;
}

/* Thumbnail */
.cga-rp-widget .kb-posts-list-wrap .kb-post-thumbnail,
.cga-rp-widget .kb-posts-list-wrap .kb-post-image {
  flex-shrink: 0 !important;
  width: 80px !important;
  height: 60px !important;
  border-radius: 5px !important;
  overflow: hidden !important;
}

.cga-rp-widget .kb-posts-list-wrap .kb-post-thumbnail img,
.cga-rp-widget .kb-posts-list-wrap .kb-post-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Title */
.cga-rp-widget .kb-posts-list-wrap .kb-post-title,
.cga-rp-widget .kb-posts-list-wrap h3 {
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  margin: 0 0 5px !important;
  color: #111 !important;
}

.cga-rp-widget .kb-posts-list-wrap .kb-post-title a,
.cga-rp-widget .kb-posts-list-wrap h3 a {
  color: #111 !important;
  text-decoration: none !important;
}

.cga-rp-widget .kb-posts-list-wrap .kb-post-title a:hover,
.cga-rp-widget .kb-posts-list-wrap h3 a:hover {
  color: #2286A9 !important;
}

/* Date */
.cga-rp-widget .kb-posts-list-wrap .kb-post-date,
.cga-rp-widget .kb-posts-list-wrap time {
  font-size: 11px !important;
  color: #aaa !important;
  display: block !important;
}

/* Hide excerpt if shown */
.cga-rp-widget .kb-posts-list-wrap .kb-post-excerpt {
  display: none !important;
}

/* ── Sidebar widget title standalone (khi tách ra khỏi wp:html) ── */
.cga-rp-widget-title-wrap {
  margin-bottom: 0;
}

.cga-rp-widget-title-wrap+.wp-block-kadence-posts,
.cga-rp-widget+.wp-block-kadence-posts {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-top: none;
  border-radius: 0 0 8px 8px;
  padding: 0 20px 18px;
  margin-bottom: 24px;
}

/* Top Posts widget: border includes title */
.cga-rp-widget:has(+ .wp-block-kadence-posts) {
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  margin-bottom: 0;
}

.cga-rp-widget-title-wrap {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-bottom: none;
  border-radius: 8px 8px 0 0;
  padding: 18px 20px 0;
}

/* ══════════════════════════════════════════
   SIDEBAR wp:query list — Top Posts + Latest
   ══════════════════════════════════════════ */

/* Sidebar widget wrapper */
.cga-sidebar-widget-wrap {
  background: #fff;
  border: none;
  border-radius: 8px;
  padding: 18px 20px;
  margin-bottom: 24px;
}

.cga-sidebar-widget-wrap:last-child {
  margin-bottom: 0;
}

/* Posts list inside widget */
.cga-sidebar-posts-list {
  margin-top: 4px;
}

.cga-sidebar-posts-list .wp-block-query {
  margin: 0;
}

.cga-sidebar-posts-list .wp-block-post-template {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* ── Top Posts item ── */
.cga-tp-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid #f2f2f2;
}

.cga-tp-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.cga-tp-item .cga-tp-img,
.cga-tp-item .wp-block-post-featured-image {
  flex-shrink: 0;
  width: 80px !important;
  height: 60px !important;
  border-radius: 5px;
  overflow: hidden;
  background: #eee;
  display: block;
}

.cga-tp-item .wp-block-post-featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.cga-tp-text {
  flex: 1;
}

.cga-tp-text .wp-block-post-title,
.cga-tp-item h4 {
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  margin: 0 0 5px !important;
  color: #111 !important;
}

.cga-tp-text .wp-block-post-title a,
.cga-tp-item h4 a {
  color: #111 !important;
  text-decoration: none !important;
}

.cga-tp-text .wp-block-post-title a:hover,
.cga-tp-item h4 a:hover {
  color: #2286A9 !important;
}

.cga-tp-item .wp-block-post-date,
.cga-tp-item time {
  font-size: 11px !important;
  color: #aaa !important;
  display: block !important;
}

.cga-tp-item .wp-block-post-date a {
  color: #aaa !important;
  text-decoration: none !important;
}

/* ── Latest Reviews item ── */
.cga-lr-item {
  padding-bottom: 30px;
  margin-bottom: 30px;
  border-bottom: none;
}

.cga-lr-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.cga-lr-item .cga-lr-img-wrap,
.cga-lr-item .wp-block-post-featured-image {
  position: relative;
  display: block;
  width: 100% !important;
  aspect-ratio: 16/9;
  border-radius: 5px;
  overflow: hidden;
  background: #eee;
  margin-bottom: 10px;
}

.cga-lr-item .wp-block-post-featured-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.cga-lr-body {}

.cga-lr-body .wp-block-post-title,
.cga-lr-item h4 {
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  margin: 0 0 6px !important;
  color: #111 !important;
}

.cga-lr-body .wp-block-post-title a,
.cga-lr-item h4 a {
  color: #111 !important;
  text-decoration: none !important;
}

.cga-lr-body .wp-block-post-title a:hover,
.cga-lr-item h4 a:hover {
  color: #2286A9 !important;
}

.cga-lr-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}

.cga-lr-meta .wp-block-post-author,
.cga-lr-meta .wp-block-post-author__name {
  font-size: 11px !important;
  color: #aaa !important;
}

.cga-lr-meta .wp-block-post-date,
.cga-lr-meta time {
  font-size: 11px !important;
  color: #aaa !important;
}

.cga-lr-meta .wp-block-post-date a {
  color: #aaa !important;
  text-decoration: none !important;
}

/* ══════════════════════════════════════════
   CARD HEIGHT EQUALIZER
   Cards trong cùng 1 row luôn equal height
   Title dài → excerpt tự co lại
   ══════════════════════════════════════════ */

/* Grid stretch — tất cả cards cùng row = same height */
.wp-block-post-template.cga-rp-grid {
  align-items: stretch !important;
}

/* Card flex column — content distribute đều */
.cga-rp-card {
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
}

/* Image: fixed height, không co giãn */
.cga-rp-card .cga-rp-card-img,
.cga-rp-card .wp-block-post-featured-image {
  flex-shrink: 0 !important;
  height: 0 !important;
  padding-bottom: 56.25% !important;
  /* 16:9 */
  position: relative !important;
  aspect-ratio: unset !important;
}

.cga-rp-card .wp-block-post-featured-image img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* Card body: flex grow để fill chiều cao còn lại */
.cga-rp-card .cga-rp-card-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* Title: tối đa 2 dòng, cắt bớt nếu dài hơn */
.cga-rp-card .wp-block-post-title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Meta: không co giãn */
.cga-rp-card .cga-meta {
  flex-shrink: 0 !important;
}

/* Excerpt: flex-grow để fill phần còn lại,
   tự động ít dòng hơn khi title dài */
.cga-rp-card .wp-block-post-excerpt,
.cga-rp-card .wp-block-post-excerpt p {
  flex: 1 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  margin: 0 !important;
  align-self: stretch !important;
}

/* ══════════════════════════════════════════
   WP Navigation block → filter links style
   ══════════════════════════════════════════ */
.cga-rp-filters.wp-block-navigation {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  margin-bottom: 20px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #ebebeb !important;
  background: transparent !important;
}

.cga-rp-filters .wp-block-navigation-item__content {
  color: #444 !important;
  text-decoration: none !important;
  padding: 3px 10px !important;
  transition: color .15s !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.cga-rp-filters .wp-block-navigation-item__content:hover {
  color: #2286A9 !important;
  font-weight: 700 !important;
}

/* Active item — JS adds .active class via highlightFilter() */
.cga-rp-filters .wp-block-navigation-item.active .wp-block-navigation-item__content,
.cga-rp-filters .current-menu-item .wp-block-navigation-item__content {
  color: #2286A9 !important;
  font-weight: 700 !important;
}

/* Pipe separator between items */
.cga-rp-filters .wp-block-navigation-item+.wp-block-navigation-item::before {
  content: '|' !important;
  color: #ddd !important;
  pointer-events: none !important;
}

/* Hide any dropdown arrows */
.cga-rp-filters .wp-block-navigation__submenu-icon {
  display: none !important;
}

.cga-rp-filters .wp-block-navigation__responsive-container {
  display: none !important;
}

.cga-rp-filters button.wp-block-navigation__responsive-container-open {
  display: none !important;
}

/* ── RankMath breadcrumb ── */
.cga-rp-breadcrumb,
.cga-rp-breadcrumb .rank-math-breadcrumb {
  font-size: 11px !important;
  color: #aaa !important;
  margin-bottom: 14px !important;
}

.cga-rp-breadcrumb a {
  color: #aaa !important;
  text-decoration: none !important;
}

.cga-rp-breadcrumb a:hover {
  color: #2286A9 !important;
}

.cga-rp-breadcrumb .separator {
  margin: 0 5px !important;
  color: #ccc !important;
}

/* ── Kadence Advanced Heading as page title ── */
h1.cga-rp-title-wrap {
  border-left: 2px solid #111 !important;
  padding-left: 11px !important;
  margin-bottom: 20px !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  color: #111 !important;
  line-height: 1.2 !important;
}

/* ── WP Social Links → match cga-social-row style ── */
.cga-social-row.wp-block-social-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

.cga-social-row .wp-block-social-link {
  border-radius: 4px !important;
  margin: 0 !important;
}

.cga-social-row .wp-block-social-link a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  padding: 7px 13px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-decoration: none !important;
  transition: opacity .15s !important;
}

.cga-social-row .wp-block-social-link a:hover {
  opacity: .85 !important;
}

.cga-social-row .wp-block-social-link-label {
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* Brand colors */
.cga-social-row .wp-social-link-facebook {
  background: #1877F2 !important;
}

.cga-social-row .wp-social-link-x {
  background: #000 !important;
}

.cga-social-row .wp-social-link-instagram {
  background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
}

.cga-social-row .wp-social-link-youtube {
  background: #FF0000 !important;
}

.cga-social-row .wp-social-link-pinterest {
  background: #E60023 !important;
}

/* Override WP default icon colors */
.cga-social-row .wp-block-social-link svg {
  fill: #fff !important;
}

/* ══════════════════════════════════════════
   NATIVE BLOCKS OVERRIDES
   ══════════════════════════════════════════ */

/* ── RankMath Breadcrumb ── */
.cga-rp-breadcrumb,
.cga-rp-breadcrumb .rank-math-breadcrumb {
  font-size: 11px !important;
  color: #aaa !important;
  margin-bottom: 14px !important;
}

.cga-rp-breadcrumb .rank-math-breadcrumb a {
  color: #aaa !important;
  text-decoration: none !important;
}

.cga-rp-breadcrumb .rank-math-breadcrumb a:hover {
  color: #2286A9 !important;
}

.cga-rp-breadcrumb .rank-math-breadcrumb .separator {
  color: #ccc !important;
  margin: 0 5px !important;
}

/* ── Page title h1 ── */
.cga-rp-title-wrap {
  border-left: 2px solid #111 !important;
  padding-left: 11px !important;
  margin-bottom: 20px !important;
}

.cga-rp-title-wrap.wp-block-kadence-advancedheading {
  font-size: 20px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .5px !important;
  color: #111 !important;
  margin-top: 0 !important;
}

/* ── Filter buttons (Kadence Advanced Btn group) ── */
.cga-rp-filters.kb-buttons-wrap {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  margin-bottom: 20px !important;
  padding-bottom: 16px !important;
  border-bottom: 1px solid #ebebeb !important;
}

.cga-filter-btn .kt-button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #444 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  padding: 4px 10px !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  transition: color .15s !important;
  line-height: 1.4 !important;
}

.cga-filter-btn .kt-button:hover {
  color: #2286A9 !important;
}

/* Active state — JS adds .active class to .cga-filter-btn */
.cga-filter-btn.active .kt-button {
  color: #2286A9 !important;
  font-weight: 700 !important;
}

/* Pipe separator between buttons */
.cga-filter-btn+.cga-filter-btn .kb-btn-wrap::before {
  content: '|';
  color: #ddd;
  padding-right: 10px;
  display: inline-block;
}

/* ── Stay In Touch heading ── */
.cga-wt-heading.wp-block-kadence-advancedheading {
  font-size: 17px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  color: #111 !important;
  padding-bottom: 10px !important;
  border-bottom: 0.5px solid #ddd !important;
  margin-bottom: 12px !important;
  position: relative !important;
}

.cga-wt-heading.wp-block-kadence-advancedheading::after {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -2px !important;
  width: 32px !important;
  height: 2px !important;
  background: #2286A9 !important;
}

/* ── wp:social-links override ── */
.cga-social-links.wp-block-social-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

.cga-social-links .wp-block-social-link {
  border-radius: 4px !important;
  margin: 0 !important;
}

.cga-social-links .wp-block-social-link a {
  padding: 7px 13px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.cga-social-links .wp-social-link-facebook {
  background: #1877F2 !important;
}

.cga-social-links .wp-social-link-x {
  background: #000 !important;
}

.cga-social-links .wp-social-link-instagram {
  background: linear-gradient(135deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888) !important;
}

.cga-social-links .wp-social-link-youtube {
  background: #FF0000 !important;
}

.cga-social-links .wp-social-link-pinterest {
  background: #E60023 !important;
}

.cga-social-links .wp-block-social-link svg {
  width: 14px !important;
  height: 14px !important;
  fill: #fff !important;
}

.cga-social-links .wp-block-social-link-label {
  color: #fff !important;
  display: inline !important;
}

/* ============================================================
   COLOR SYSTEM UPDATE — #2286A9 brand blue
   Button: white bg + blue border → hover fills blue
   ============================================================ */

/* ── Pagination buttons: white + border → hover blue ── */
.wp-block-query-pagination-numbers a,
.wp-block-query-pagination-previous a,
.wp-block-query-pagination-next a,
.cga-rp-pagination a {
  background: #fff !important;
  color: #333 !important;
  border: 1px solid #d0d0d0 !important;
}

.wp-block-query-pagination-numbers a:hover,
.wp-block-query-pagination-previous a:hover,
.wp-block-query-pagination-next a:hover,
.cga-rp-pagination a:hover {
  background: #2286A9 !important;
  color: #fff !important;
  border-color: #2286A9 !important;
}

.wp-block-query-pagination-numbers .current,
.cga-rp-pagination .cur {
  background: #2286A9 !important;
  color: #fff !important;
  border-color: #2286A9 !important;
}

/* ── Filter active: brand blue ── */
.cga-rp-filters a.active,
.cga-rp-filters a:hover,
.cga-filter-btn.active .kt-button,
.cga-filter-btn .kt-button:hover {
  color: #2286A9 !important;
}

/* ── Widget title accent line: brand blue ── */
.cga-wt span::after {
  background: #2286A9 !important;
}

/* ── Card hover title: brand blue ── */
.cga-rp-card h3 a:hover,
.cga-rp-card .wp-block-post-title a:hover,
.cga-tp-text .wp-block-post-title a:hover,
.cga-tp-item h4 a:hover,
.cga-lr-body .wp-block-post-title a:hover,
.cga-lr-item h4 a:hover {
  color: #2286A9 !important;
}

/* ── Spinner: brand blue ── */
.cga-rp-spinner {
  border-top-color: #2286A9 !important;
}

/* ── Badge reviews: brand blue ── */
.cga-badge-reviews,
.cga-cat-reviews {
  background: #2286A9 !important;
}

/* ============================================================
   TARGETED FIXES
   ============================================================ */

/* Remove box-shadow on page entry wrapper (Kadence single-entry) */
.single-entry,
.entry-content-bg,
.post-1276,
article.page,
.hentry,
.type-page {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

/* Sidebar widget/ad: no border anywhere */
.cga-sidebar-widget-wrap {
  border: none !important;
  box-shadow: none !important;
}

.cga-sidebar-ad {
  border: none !important;
  box-shadow: none !important;
}

/* Post excerpt: shorter (~30%), font +1px */
.wp-block-post-excerpt__excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.cga-rp-card .wp-block-post-excerpt,
.cga-rp-card .wp-block-post-excerpt p {
  font-size: 14px !important;
  -webkit-line-clamp: 2 !important;
}

.cga-rp-card p {
  font-size: 14px !important;
  -webkit-line-clamp: 2 !important;
}

/* ── Thumbnail shadow — tất cả post images trừ hero ── */
.cga-rp-card .cga-rp-card-img,
.cga-rp-card .wp-block-post-featured-image,
.cga-lr-img-wrap,
.cga-lr-item .wp-block-post-featured-image,
.cga-tp-item .wp-block-post-featured-image,
.wp-block-post-template .wp-block-post-featured-image,
.cga-sidebar-top-posts .wp-block-post-featured-image,
.cga-sidebar-latest .wp-block-post-featured-image {
  box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important;
}

/* ── Latest Reviews: tăng khoảng cách giữa các bài ── */

/* ── Bỏ padding Kadence row block 1 ── */
.kb-row-layout-id1276_7618c0-47>.kt-row-column-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ── Bỏ padding entry-content-wrap ── */
.entry-content-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ── Bỏ margin-top content-area (5rem Kadence default) ── */
.content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}



/* ── Padding fix: target tất cả Kadence row trên trang reviews ── */
.page-id-1276 .kt-row-column-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.page-id-1276 .entry-content-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ── Latest Reviews sidebar: gap + no divider line ── */
.cga-lr-item {
  padding-bottom: 30px !important;
  margin-bottom: 30px !important;
  border-bottom: none !important;
}

.cga-lr-item:last-child {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* ── Latest Reviews: gap via li:has(.cga-lr-item) ── */
.cga-sidebar-posts-list .wp-block-post-template li:has(.cga-lr-item),
.cga-sidebar-posts-list .wp-block-post-template li.wp-block-post:has(.cga-lr-item) {
  margin-bottom: 30px !important;
}

.cga-sidebar-posts-list .wp-block-post-template li:has(.cga-lr-item):last-child {
  margin-bottom: 0 !important;
}

/* ── Bulletproof gap for Sidebar Latest Reviews (đảm bảo luôn có khoảng cách 30px) ── */
.cga-sidebar-latest .wp-block-post-template,
.cga-sidebar-latest .kb-posts-list-wrap {
  display: flex !important;
  flex-direction: column !important;
  gap: 30px !important;
}

.cga-sidebar-latest .wp-block-post,
.cga-sidebar-latest .kb-post-item {
  margin-bottom: 0 !important;
  /* Dùng gap cho flexbox phía trên thì không cần margin nữa */
  padding-bottom: 0 !important;
}