:root {
  --thayu-green: #198754;
  --thayu-green-2: #146c43;
  --thayu-gold: #f7c35f;
  --thayu-text: #212529;
  --thayu-muted: #6c757d;
  --thayu-border: #e9ecef;
  --thayu-bg: #f8f9fa;
  --thayu-soft: #f1f8f4;
  --thayu-success: #28a745;
  --thayu-link: #146c43;
  --thayu-radius: 18px;
  --thayu-shadow: 0 8px 22px rgba(33, 37, 41, .06);
  --thayu-shadow-hover: 0 14px 34px rgba(33, 37, 41, .12);
}

body {
  background: #f8f9fa;
  color: #212529;
}

.site-main {
  background: #f8f9fa;
}

.site-header,
.thayu-search,
.thayu-card,
.thayu-ad,
.single-image,
.single-card,
.submit-card,
.dashboard-panel,
.seller-dashboard-sidebar,
.dashboard-stat-card,
.shop-hero-card,
.shop-stats-grid > div,
.shop-info-strip,
.post-lightbox-panel {
  background: #ffffff;
}

.site-header {
  border-bottom: 1px solid #e9ecef;
  box-shadow: 0 4px 18px rgba(33, 37, 41, .04);
}

.section-heading h1,
.section-heading h2,
.card-title,
.card-title-button,
.single-card h1,
.submit-card h1,
.shop-main-info h1,
.dashboard-panel-heading h2 {
  color: #212529;
}

.section-heading h2 {
  font-size: clamp(24px, 4vw, 34px);
  letter-spacing: -.7px;
}

.section-heading a,
a:hover,
.card-title-button:hover {
  color: #146c43;
}

.thayu-card {
  border: 1px solid #e9ecef;
  box-shadow: 0 8px 22px rgba(33, 37, 41, .06);
}

.trending-section .thayu-card {
  box-shadow: 0 8px 22px rgba(108, 117, 125, .12);
}

.recommended-section .thayu-card,
.thayu-card.is-featured {
  border: 1px solid rgba(25, 135, 84, .22);
  box-shadow: 0 12px 30px rgba(25, 135, 84, .16), 0 0 0 4px rgba(25, 135, 84, .05);
}

.thayu-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 34px rgba(33, 37, 41, .12);
}

.recommended-section .thayu-card:hover,
.thayu-card.is-featured:hover {
  box-shadow: 0 18px 40px rgba(25, 135, 84, .22), 0 0 0 5px rgba(25, 135, 84, .07);
}

.card-image,
.card-title-button {
  background: transparent;
  border: 0;
  cursor: pointer;
  display: block;
  font: inherit;
  padding: 0;
  text-align: left;
  width: 100%;
}

.card-image {
  overflow: hidden;
}

.card-image img {
  transition: transform .28s ease;
}

.thayu-card:hover .card-image img {
  transform: scale(1.035);
}

.card-title-button {
  color: inherit;
  font-weight: 900;
  line-height: 1.22;
}

.card-excerpt p,
.card-excerpt,
.shop-main-info p,
.post-lightbox-location,
.post-lightbox-excerpt {
  color: #212529;
}

.card-date,
.card-stats span,
.shop-stats-grid span,
.dashboard-stat-card span,
.seller-dashboard-profile span {
  color: #6c757d;
}

.card-category,
.shop-kicker,
.dashboard-panel-heading span {
  background: #f1f8f4;
  color: #146c43;
}

.card-price,
.post-lightbox-price,
.dashboard-stat-card strong,
.shop-stats-grid strong {
  color: #198754;
}

.card-link {
  background: #f1f8f4;
  border: 1px solid #e9ecef;
  color: #146c43;
  cursor: pointer;
}

.card-link:hover {
  background: #ffffff;
  border-color: rgba(25, 135, 84, .28);
}

.card-link.whatsapp,
.thayu-button.whatsapp-cta {
  background: #28a745;
  border-color: #28a745;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(40, 167, 69, .22);
}

.card-link[href^="tel:"] {
  background: #f1f8f4;
  color: #212529;
}

.post-button,
.thayu-button,
.thayu-search button,
.submit-listing-form button {
  background: #198754;
  color: #ffffff;
}

.thayu-button.gold {
  background: #28a745;
  color: #ffffff;
}

.featured-ribbon {
  background: linear-gradient(135deg, #198754, #146c43);
  box-shadow: 0 10px 20px rgba(25, 135, 84, .25);
}

.hero-category-menu a:hover,
.header-menu > li > a:hover,
.profile-menu-item:focus-within .profile-toggle,
.profile-menu-item:hover .profile-toggle,
.profile-dropdown a:hover,
.seller-dashboard-sidebar nav a:hover,
.seller-dashboard-sidebar nav a.active,
.dashboard-action-grid a,
.my-post-actions a {
  background: #f1f8f4;
}

.thayu-search input,
.thayu-search select,
.submit-listing-form input,
.submit-listing-form select,
.submit-listing-form textarea {
  border-color: #e9ecef;
  color: #212529;
}

.thayu-search input:focus,
.thayu-search select:focus,
.submit-listing-form input:focus,
.submit-listing-form select:focus,
.submit-listing-form textarea:focus {
  border-color: #198754;
  box-shadow: 0 0 0 3px rgba(25, 135, 84, .08);
}

.post-lightbox-open {
  overflow: hidden;
}

.post-lightbox[hidden] {
  display: none;
}

.post-lightbox {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 20px;
  position: fixed;
  z-index: 9999;
}

.post-lightbox-backdrop {
  background: rgba(33, 37, 41, .64);
  backdrop-filter: blur(7px);
  inset: 0;
  position: absolute;
}

.post-lightbox-panel {
  border: 1px solid rgba(233, 236, 239, .95);
  border-radius: 24px;
  box-shadow: 0 30px 80px rgba(33, 37, 41, .28);
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(280px, 1fr);
  max-height: min(720px, calc(100vh - 40px));
  max-width: 980px;
  overflow: hidden;
  position: relative;
  width: min(100%, 980px);
  z-index: 1;
}

.post-lightbox-close {
  align-items: center;
  background: #ffffff;
  border: 1px solid #e9ecef;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(33, 37, 41, .12);
  color: #212529;
  cursor: pointer;
  display: inline-flex;
  font-size: 28px;
  font-weight: 800;
  height: 42px;
  justify-content: center;
  position: absolute;
  right: 14px;
  top: 14px;
  width: 42px;
  z-index: 2;
}

.post-lightbox-image {
  background: #f8f9fa;
  min-height: 420px;
}

.post-lightbox-image img,
.post-lightbox-image .image-placeholder {
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  width: 100%;
}

.post-lightbox-content {
  display: grid;
  gap: 10px;
  overflow-y: auto;
  padding: 34px;
}

.post-lightbox-category {
  background: #f1f8f4;
  border-radius: 999px;
  color: #146c43;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  justify-self: start;
  padding: 7px 11px;
}

.post-lightbox-content h2 {
  color: #212529;
  font-size: clamp(24px, 4vw, 38px);
  line-height: 1.08;
  margin: 0;
}

.post-lightbox-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

@media (max-width: 720px) {
  .post-lightbox-panel {
    grid-template-columns: 1fr;
  }

  .post-lightbox-image,
  .post-lightbox-image img,
  .post-lightbox-image .image-placeholder {
    min-height: 230px;
  }

  .post-lightbox-content {
    padding: 22px;
  }
}
