/* Community hub page. Layout only: four cards across on desktop. */

body {
  background-color: var(--bg-page) !important;
  color: var(--slate-800);
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif;
}

#site-content {
  width: 70% !important;
  max-width: 70% !important;
  margin: 16px auto 0 !important;
  padding: 0 !important;
  background: var(--bg-page) !important;
  box-sizing: border-box;
  overflow: visible !important;
}

#header.header,
#header .header-container {
  background: var(--bg-surface) !important;
  color: var(--slate-900);
}

#header.header {
  position: sticky;
  top: 0;
  z-index: 200;
}

/* Desktop: name and follow on the left, icons on the right, tabs on the row below */
#header .header-container {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  grid-template-areas:
    "back brand actions"
    "menu menu menu";
  align-items: center;
  column-gap: 12px;
  row-gap: 0;
  padding: 6px 18px 0;
  box-shadow: none;
  border-bottom: 1px solid var(--border-subtle);
}

#header .header-container > .hub-back-btn {
  grid-area: back;
  align-self: center;
}

#header .header-container .col-logo {
  grid-area: brand;
  display: flex;
  align-items: center;
  gap: 14px;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
}

#header .header-container .col-logo .logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 12px;
  background: var(--bg-page);
  border: 1px solid var(--border-subtle);
  flex: 0 0 48px;
}

#header .followDiv {
  display: grid !important;
  grid-template-columns: auto auto auto;
  grid-template-areas: "name counts button";
  align-items: center;
  justify-content: start;
  column-gap: 10px;
  row-gap: 0;
  margin: 0 !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  padding: 0 !important;
  padding-right: 0 !important;
  border: 0 !important;
  border-right: 0 !important;
  min-width: 0;
  flex: 1 1 auto;
  position: static !important;
}

#header .BusinessDiv {
  grid-area: name;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: var(--slate-900);
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

#header .places-header-rating {
  display: none !important;
}

#header .followDiv > .followData:not(:has(.inner2)) {
  display: contents !important;
}

#header .followcount {
  grid-area: counts;
  color: var(--slate-600);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
}

#header .followbutton {
  grid-area: button;
  align-self: center;
}

#header .followData {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 12px;
  color: var(--slate-600);
  font-size: 13px;
  font-weight: 500;
}

/* Refer popup shell — keep out of header flow until opened */
#header .followData:has(.inner2),
#header .followDiv > .followData:has(.inner2) {
  display: none !important;
}

#header .followDiv .inner2 {
  display: none;
}

#header .BusinessDiv .share-image,
#header .BusinessDiv .refer-image {
  width: 30px;
  height: 30px;
  margin: 0 !important;
  margin-left: 0 !important;
  padding: 6px;
  object-fit: contain;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-full);
  background: var(--bg-page);
  box-sizing: border-box;
}

#header .places-header-rating-value,
#header .places-header-review-count {
  color: var(--slate-800) !important;
}

#header .follow-button {
  border: 0;
  border-radius: var(--radius-full);
  background: var(--primary-gradient);
  color: #fff;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 650;
  padding: 8px 16px;
  white-space: nowrap;
  flex: 0 0 auto;
  line-height: 1.2;
}

#header .follow-button.unfollow {
  background: var(--bg-surface);
  color: var(--slate-800);
  border: 1px solid var(--border-strong);
}

#header .header-container .col-links {
  grid-area: actions;
  width: auto !important;
  margin: 0 !important;
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}

#header .header-container .col-links .links-container {
  display: flex !important;
  align-items: center;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  width: auto !important;
}

#header .header-container .col-links .link-item {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  position: relative;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px;
  padding: 0;
  border-radius: var(--radius-full);
  background: var(--bg-page);
  border: 1px solid var(--border-subtle);
  box-sizing: border-box;
}

#header .header-container .col-links .link-image {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain;
  display: block;
}

#header .hub-back-item,
.mobile-header .hub-back-item {
  display: inline-flex !important;
  align-items: center;
  vertical-align: middle;
}

#header .hub-back-btn,
.mobile-header .hub-back-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-full);
  background: var(--bg-page);
  color: var(--slate-900);
  cursor: pointer;
  flex-shrink: 0;
  box-shadow: none;
}

#header .hub-back-btn svg,
.mobile-header .hub-back-btn svg {
  width: 18px;
  height: 18px;
  display: block;
}

#header .hub-back-btn:hover,
.mobile-header .hub-back-btn:hover,
#header .header-container .col-links .link-item:hover,
#header .hub-theme-toggle:hover,
.mobile-header .hub-theme-toggle:hover {
  border-color: var(--border-strong);
  background: var(--bg-surface-subtle);
}

#header .hub-theme-toggle,
.mobile-header .hub-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 40px;
  margin: 0;
  padding: 0 12px 0 10px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-full, 999px);
  background: var(--bg-page);
  color: var(--slate-900);
  cursor: pointer;
  flex: 0 0 auto;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  box-sizing: border-box;
}

#header .col-links .hub-theme-toggle,
.mobile-header .col-links .hub-theme-toggle {
  order: 2;
}

#header .col-links .links-container,
.mobile-header .col-links .links-container {
  order: 1;
}

#header .hub-theme-toggle .mc-theme-icon-sun,
.mobile-header .hub-theme-toggle .mc-theme-icon-sun {
  display: block;
}

#header .hub-theme-toggle .mc-theme-icon-moon,
.mobile-header .hub-theme-toggle .mc-theme-icon-moon {
  display: none;
}

#header .hub-theme-toggle .mc-theme-label,
.mobile-header .hub-theme-toggle .mc-theme-label {
  white-space: nowrap;
}

[data-theme="dark"] #header .hub-theme-toggle .mc-theme-icon-sun,
[data-theme="dark"] .mobile-header .hub-theme-toggle .mc-theme-icon-sun {
  display: none;
}

[data-theme="dark"] #header .hub-theme-toggle .mc-theme-icon-moon,
[data-theme="dark"] .mobile-header .hub-theme-toggle .mc-theme-icon-moon {
  display: block;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #header .hub-theme-toggle .mc-theme-icon-sun,
  :root:not([data-theme="light"]) .mobile-header .hub-theme-toggle .mc-theme-icon-sun {
    display: none;
  }

  :root:not([data-theme="light"]) #header .hub-theme-toggle .mc-theme-icon-moon,
  :root:not([data-theme="light"]) .mobile-header .hub-theme-toggle .mc-theme-icon-moon {
    display: block;
  }
}

@media screen and (max-width: 640px) {
  #header .hub-theme-toggle,
  .mobile-header .hub-theme-toggle {
    width: 40px;
    padding: 0;
  }

  #header .hub-theme-toggle .mc-theme-label,
  .mobile-header .hub-theme-toggle .mc-theme-label {
    display: none;
  }
}

#header .header-container .col-menu {
  grid-area: menu;
  width: 100% !important;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  justify-self: stretch;
  overflow: hidden;
  border-top: 1px solid var(--border-subtle);
  order: unset !important;
}

#header .header-container .col-menu .menu-container {
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  overflow: hidden;
}

#header .menu {
  display: flex !important;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 2px;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  overflow-x: auto;
  padding: 0 4px;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif;
  scrollbar-width: thin;
}

#header .menu-item {
  flex: 0 0 auto;
  padding: 12px;
  color: var(--slate-600);
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}

#header .menu-item.active,
#header .menu-item:hover {
  color: var(--primary-600);
  background: transparent;
  border-bottom-color: var(--primary-600);
}

#header .categories-menu {
  background: var(--bg-surface);
  color: var(--slate-800);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
}

.slideshow-container {
  position: relative;
  height: auto;
  border-radius: var(--radius-xl);
  overflow: hidden;
  margin: 0 0 20px;
  padding: 10px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  box-shadow: var(--shadow-sm);
}

.slideshow-container:not(:has(#carousel-inner .carousel-item)) {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

.slideshow-container .container-fluid,
.slideshow-container .row,
.slideshow-container .inner {
  padding: 0 !important;
  margin: 0 !important;
}

.slideshow-container .carousel,
.slideshow-container #carousel-inner {
  position: relative !important;
  height: 422px !important;
  overflow: hidden !important;
}

.slideshow-container #carousel-inner:before,
.slideshow-container #carousel-inner:after {
  display: none !important;
  content: none !important;
}

/* Three-panel banner: previous / main / next. Applies to the slides Bootstrap
   animates in (-next / -prev) too, otherwise they flash the legacy strip layout. */
.slideshow-container #carousel-inner .carousel-item {
  display: none !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  float: none !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  background: transparent !important;
}

.slideshow-container #carousel-inner .carousel-item.active,
.slideshow-container #carousel-inner .carousel-item-next,
.slideshow-container #carousel-inner .carousel-item-prev {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: stretch;
  justify-content: center;
  gap: 4px;
}

.slideshow-container #carousel-inner .carousel-item > div {
  display: none !important;
  flex: 0 0 auto !important;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: var(--radius-md);
  background: var(--slate-100);
  z-index: 1 !important;
}

.slideshow-container #carousel-inner .carousel-item > div:nth-child(-n + 3) {
  display: block !important;
}

.slideshow-container #carousel-inner .carousel-item > div:nth-child(1),
.slideshow-container #carousel-inner .carousel-item > div:nth-child(3) {
  width: 22% !important;
  max-width: 22% !important;
}

.slideshow-container #carousel-inner .carousel-item > div:nth-child(2) {
  width: calc(56% - 8px) !important;
  max-width: calc(56% - 8px) !important;
  aspect-ratio: 1280 / 582;
  box-shadow: var(--shadow-md);
}

.slideshow-container.is-single #carousel-inner .carousel-item > div:only-child {
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: 1280 / 582;
  max-height: 420px;
}

.slideshow-container #carousel-inner .carousel-item > div > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.slideshow-container #carousel-inner .carousel-item img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  border-radius: 0 !important;
  display: block !important;
}

/* Main banner shows the whole image; side peeks can crop. */
.slideshow-container #carousel-inner .carousel-item > div:nth-child(2) img,
.slideshow-container.is-single #carousel-inner .carousel-item > div:only-child img {
  object-fit: contain !important;
}

.slideshow-container #carousel-inner .carousel-item iframe {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto;
  transform: none !important;
  border: 0 !important;
  display: block !important;
}

.slideshow-container .carousel-control-prev,
.slideshow-container .carousel-control-next {
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%);
  width: 42px !important;
  height: 42px !important;
  border-radius: var(--radius-full);
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.18) !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.28) !important;
  opacity: 1 !important;
  display: none !important;
  align-items: center;
  justify-content: center;
  /* Above banner slide content (z-index 9), under sticky header (200) */
  z-index: 30 !important;
  pointer-events: auto !important;
}

.slideshow-container .carousel:has(#carousel-inner .carousel-item) .carousel-control-prev,
.slideshow-container .carousel:has(#carousel-inner .carousel-item) .carousel-control-next {
  display: flex !important;
}

.slideshow-container .carousel-control-prev {
  left: calc(22% + 10px) !important;
  right: auto !important;
}

.slideshow-container .carousel-control-next {
  right: calc(22% + 10px) !important;
  left: auto !important;
}

.slideshow-container.is-single .carousel-control-prev,
.slideshow-container.is-single .carousel-control-next {
  display: none !important;
}

.slideshow-container .carousel-control-prev-icon,
.slideshow-container .carousel-control-next-icon {
  width: 18px !important;
  height: 18px !important;
  background-size: 18px 18px !important;
  filter: brightness(0) !important;
  opacity: 1 !important;
}

.slideshow-container .carousel-control-prev:hover,
.slideshow-container .carousel-control-next:hover {
  background: #f8fafc !important;
  border-color: rgba(15, 23, 42, 0.28) !important;
}

#site-content .main-container {
  width: 100% !important;
  margin: 0 !important;
}

#home-products-container .row_:first-child,
#home-coupons-container .row_:first-child,
#home-deals-container .row_:first-child,
#home-team-container > .row_:first-child,
#home-posts-container > .row_:first-child,
#home-media-container .row_:first-child,
#home-testimonials-container .row_:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 18px 0 10px;
  background: transparent !important;
}

.ch-product-card {
  padding: 0 !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

.ch-product-media {
  height: 190px;
  background: var(--slate-100);
}

.ch-product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: pointer;
}

.ch-product-body { padding: 16px; }

.ch-product-vendor {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slate-400);
}

.ch-product-title {
  margin: 4px 0 8px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  color: var(--slate-900);
}

.ch-product-price {
  font-size: 18px;
  font-weight: 800;
  color: var(--slate-900);
}

#home-coupons-container .coupons-list .list-item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  height: auto !important;
}

#home-coupons-container .mc-coupon-card {
  width: 100%;
  margin: 0;
  cursor: pointer;
}

#home-deals-container .deals-list .list-item {
  background: transparent !important;
  border: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

#home-deals-container .deal {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  height: auto !important;
  margin: 0;
  padding: 16px;
  background: var(--bg-surface);
  border: 1.5px dashed var(--primary-400);
  border-radius: var(--radius-lg);
  box-sizing: border-box;
}

#home-deals-container .image-col {
  width: 72px !important;
  height: 72px !important;
  flex: 0 0 72px;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-md);
}

#home-deals-container .deals-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#home-deals-container .details-col {
  flex: 1;
  min-width: 0;
  width: auto !important;
}

#home-deals-container .business-name,
#home-deals-container .offer {
  color: var(--slate-900);
  font-weight: 700;
}

#home-deals-container .claim-deal {
  height: 34px;
  border: 0;
  border-radius: var(--radius-md);
  background: var(--primary-gradient);
  color: #fff;
  padding: 0 12px;
  font-family: inherit;
  font-weight: 650;
}

#home-team-container .team-list .list-item {
  width: auto !important;
  margin: 0 !important;
  min-height: 0 !important;
  padding: 16px;
  text-align: center;
  background: var(--bg-surface);
}

#home-team-container .team-member {
  min-height: 0 !important;
  padding: 0;
}

#home-team-container .member-image {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
}

#home-team-container .member-name {
  margin-top: 10px;
  font-size: 15px;
  font-weight: 700;
  color: var(--slate-900);
}

#home-team-container .designation {
  font-size: 13px;
  color: var(--slate-500);
}

#home-posts-container .post-container,
#posts-container .post-container {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm);
  padding: 20px !important;
  color: var(--slate-800);
  box-sizing: border-box;
}

[data-theme="dark"] #home-posts-container .post-container,
[data-theme="dark"] #posts-container .post-container,
[data-theme="dark"] #bus-int-container .mc-interactivity-card {
  border-color: var(--border-strong) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #home-posts-container .post-container,
  :root:not([data-theme="light"]) #posts-container .post-container,
  :root:not([data-theme="light"]) #bus-int-container .mc-interactivity-card {
    border-color: var(--border-strong) !important;
  }
}

#posts-container .post-container .post {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: transparent !important;
  color: inherit;
}

#posts-container .post-container .post .row,
#home-posts-container .post-container .row_ {
  color: var(--slate-800);
}

#posts-container .post-container .description,
#home-posts-container .post-container .description {
  color: var(--slate-800) !important;
}

#posts-container .post-container .post-links-container,
#home-posts-container .post-container .links-container {
  border-top: 1px solid var(--border-subtle);
  padding-top: 14px;
  margin-top: 14px;
}

#posts-container .post-container .comments-container,
#posts-container .post-container .share-container,
#posts-container .post-container .repost-container,
#posts-container .post-container .rating-container,
#home-posts-container .post-container .comments-container,
#home-posts-container .post-container .share-container,
#home-posts-container .post-container .repost-container,
#home-posts-container .post-container .rating-container {
  background: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--slate-800) !important;
}

#posts-container .post-container .comment-input,
#home-posts-container .post-container .comment-input {
  background: var(--bg-page) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--slate-800) !important;
}

#bus-int-container .mc-interactivity-card {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm);
  color: var(--slate-800);
}

.ch-card-grid,
#home-coupons-container .coupons-list,
#coupons-container .coupons-list,
#home-deals-container .deals-list,
#deals-container .deals-list,
#featured-products-slider,
#home-team-container .team-list,
#team-container .team-list,
#teacher-container .team-list,
#home-courses-container > .row.g-4,
#home-promotional-container .row.g-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  position: relative !important;
}

#home-coupons-container .coupons-list .list-item,
#coupons-container .coupons-list .list-item,
#home-deals-container .deals-list .list-item,
#deals-container .deals-list .list-item,
#featured-products-slider .slides,
#home-team-container .team-list .list-item,
#team-container .team-list .list-item,
#teacher-container .team-list .list-item,
#home-courses-container > .row > .col,
#home-promotional-container .row.g-4 > [class*="col-"] {
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0;
  margin: 0 !important;
  display: block !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
  flex: none !important;
  box-sizing: border-box;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  color: var(--slate-800);
}

#featured-products-slider .product {
  width: 100%;
  height: auto;
  background: transparent;
}

#featured-products-slider #left-arrow,
#featured-products-slider #right-arrow {
  display: none !important;
}

#home-deals-container .deal,
#deals-container .deal,
#home-coupons-container .coupon,
#coupons-container .coupon {
  height: auto;
}

.section-name {
  color: var(--slate-900) !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
}

.see-all {
  color: var(--primary-600) !important;
}

#bus-int-container {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 0 20px !important;
  padding: 18px !important;
  border: 1.5px solid var(--border-subtle) !important;
  border-radius: var(--radius-xl) !important;
  background: var(--bg-surface) !important;
  box-shadow: var(--shadow-sm) !important;
  box-sizing: border-box;
}

#bus-int-container > .display-container {
  width: 100% !important;
  max-width: 760px;
  height: auto !important;
  margin: 0 auto 16px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: left;
  overflow: visible;
}

#bus-int-container .mc-interactivity-card {
  width: 100%;
  margin: 0;
  text-align: left;
  box-sizing: border-box;
}

#bus-int-container .question {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  color: var(--slate-900) !important;
}

#bus-int-container .image-container {
  width: 100% !important;
  margin: 0 !important;
}

#bus-int-container .main-image {
  width: 100% !important;
  height: auto !important;
  max-height: 340px;
  margin: 0 !important;
  object-fit: contain;
  border-radius: var(--radius-md);
  background: var(--slate-100);
}

#bus-int-container input.answer {
  width: 100% !important;
  max-width: none !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 10px 16px !important;
  border: 1.5px solid var(--border-subtle) !important;
  border-radius: var(--radius-md) !important;
  background: var(--bg-surface) !important;
  color: var(--slate-900) !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  box-sizing: border-box;
}

#bus-int-container input.answer::placeholder {
  color: var(--slate-400);
}

#bus-int-container .submit-button {
  align-self: flex-end;
  width: auto !important;
  min-width: 120px;
  height: 44px !important;
  margin: 0 0 0 auto !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: var(--radius-md) !important;
  background: var(--primary-gradient) !important;
  color: #fff !important;
  box-shadow: var(--shadow-primary-btn);
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  cursor: pointer;
}

#bus-int-container .options-container,
#bus-int-container .options-container .list-container,
#bus-int-container .yes-no-list,
#bus-int-container .multiple-options-list {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

#bus-int-container .yes-no-list,
#bus-int-container .multiple-options-list {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
}

#bus-int-container .options-container .list-item {
  flex: 1 1 160px;
  width: auto !important;
  max-width: calc(50% - 5px);
  margin: 0 !important;
  padding: 10px;
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  column-gap: 8px;
  row-gap: 8px;
  border: 1.5px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--bg-surface-subtle);
  box-sizing: border-box;
}

#bus-int-container .options-container .list-item .image {
  grid-column: 1 / -1;
  width: 100% !important;
  height: 96px !important;
  object-fit: cover;
  border: 0 !important;
  border-radius: var(--radius-sm);
}

#bus-int-container .yes-caption,
#bus-int-container .no-caption {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--slate-800) !important;
  font-size: 13px;
  font-weight: 600;
}

#bus-int-container .rate-stars-list {
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#bus-int-container .rate-star {
  width: 28px;
  height: 28px;
}

/* Medium + small: modern stacked header */
@media screen and (max-width: 1024px) {
  #header.header {
    display: block !important;
  }

  #mobile-header.mobile-header {
    display: none !important;
  }

  #header .header-container {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas:
      "back . actions"
      "profile profile profile"
      "menu menu menu";
    align-items: center;
    column-gap: 12px;
    row-gap: 0;
    padding: 6px 14px 0;
  }

  /* Row 1 — compact toolbar */
  #header .header-container > .hub-back-btn {
    grid-area: back;
    align-self: center;
    justify-self: start;
    margin: 0 !important;
    width: 40px;
    height: 40px;
  }

  #header .header-container .col-links {
    grid-area: actions;
    align-self: center;
    justify-self: end;
    padding: 0 !important;
    width: auto !important;
  }

  #header .header-container .col-links .links-container {
    display: flex !important;
    align-items: center;
    gap: 14px !important;
    margin: 0 !important;
  }

  #header .header-container .col-links .link-item {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    margin: 0 !important;
  }

  /* Row 2 — identity card */
  #header .header-container .col-logo {
    grid-area: profile;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    column-gap: 14px;
    row-gap: 0;
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 0 8px;
    border-top: 1px solid var(--border-subtle);
  }

  #header .header-container .col-logo .logo {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    align-self: center;
  }

  #header .followDiv {
    display: grid !important;
    width: auto;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  #header .BusinessDiv {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.25;
    min-width: 0;
  }

  #header .BusinessDiv .share-image,
  #header .BusinessDiv .refer-image {
    width: 28px;
    height: 28px;
    padding: 5px;
    flex: 0 0 auto;
  }

  #header .followData {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    min-width: 0;
  }

  #header .followData .followcount {
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.35;
    color: var(--slate-600);
  }

  #header .followData .followbutton {
    flex: 0 0 auto;
    margin-left: auto;
  }

  #header .follow-button {
    margin: 0;
    padding: 8px 16px;
    font-size: 13px;
    border-radius: 999px;
  }

  /* Row 3 — tabs */
  #header .header-container .col-menu {
    grid-area: menu;
    border-top: 1px solid var(--border-subtle);
    margin: 0 !important;
    padding: 0;
    width: 100% !important;
  }

  #header .menu {
    gap: 0;
    margin: 0;
    padding: 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  #header .menu::-webkit-scrollbar {
    display: none;
  }

  #header .menu-item {
    padding: 13px 16px;
    font-size: 14px;
    font-weight: 600;
  }

  #header .com-hub-notification-count,
  #header .noofitems {
    top: -3px !important;
    right: -3px !important;
  }

}

@media screen and (max-width: 768px) {
  #header .header-container {
    padding: 8px 12px 0;
    column-gap: 10px;
  }

  #header .header-container .col-logo {
    column-gap: 12px;
    padding: 12px 0 10px;
  }

  #header .header-container .col-logo .logo {
    width: 60px;
    height: 60px;
    border-radius: 16px;
  }

  #header .BusinessDiv {
    font-size: 17px;
  }

  #header .followData {
    font-size: 12px;
  }

  #header .follow-button {
    padding: 7px 14px;
    font-size: 12px;
  }

  #header .header-container > .hub-back-btn,
  #header .header-container .col-links .link-item {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
  }

  #header .header-container .col-links .links-container {
    gap: 12px !important;
  }
}

@media screen and (max-width: 480px) {
  #header .header-container {
    padding: 6px 10px 0;
  }

  #header .header-container .col-logo {
    column-gap: 10px;
    padding: 10px 0 8px;
    margin-top: 4px !important;
  }

  #header .header-container .col-logo .logo {
    width: 52px;
    height: 52px;
    border-radius: 14px;
  }

  #header .BusinessDiv {
    font-size: 15px;
    gap: 6px;
  }

  #header .BusinessDiv .share-image,
  #header .BusinessDiv .refer-image {
    width: 26px;
    height: 26px;
    padding: 4px;
  }

  #header .followData {
    flex-wrap: wrap;
    gap: 8px;
  }

  #header .followData .followbutton {
    margin-left: 0;
  }

  #header .header-container > .hub-back-btn,
  #header .header-container .col-links .link-item {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
  }

  #header .menu-item {
    padding: 11px 12px;
    font-size: 13px;
  }
}

#home-posts-container .post-container,
#posts-container .post-container {
  width: 100%;
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 16px !important;
}

#home-coupons-container .coupons-list .list-item,
#coupons-container .coupons-list .list-item,
#home-deals-container .deals-list .list-item,
#deals-container .deals-list .list-item,
#store-container .products-list .list-item,
#home-courses-container .ch-card-grid > .col,
#home-promotional-container .ch-course-col {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible;
}

.ch-card-grid .mc-coupon-card,
#home-coupons-container .mc-coupon-card,
#coupons-container .mc-coupon-card,
#home-deals-container .mc-coupon-card,
#deals-container .mc-coupon-card {
  flex-direction: row !important;
  align-items: center !important;
  height: 100%;
  gap: 14px !important;
  min-width: 0;
  overflow: hidden;
}

.ch-card-grid .mc-coupon-discount,
#home-coupons-container .mc-coupon-discount,
#coupons-container .mc-coupon-discount,
#home-deals-container .mc-coupon-discount,
#deals-container .mc-coupon-discount {
  width: auto !important;
  max-width: 88px !important;
  min-width: 64px !important;
  flex: 0 0 auto !important;
  padding: 10px 12px !important;
  box-sizing: border-box;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2px !important;
}

.ch-card-grid .mc-coupon-discount-num,
#home-coupons-container .mc-coupon-discount-num,
#coupons-container .mc-coupon-discount-num,
#home-deals-container .mc-coupon-discount-num,
#deals-container .mc-coupon-discount-num {
  font-size: 18px !important;
  line-height: 1.1 !important;
  margin-bottom: 0 !important;
  white-space: nowrap;
}

.ch-card-grid .mc-coupon-discount-label,
#home-coupons-container .mc-coupon-discount-label,
#coupons-container .mc-coupon-discount-label,
#home-deals-container .mc-coupon-discount-label,
#deals-container .mc-coupon-discount-label {
  font-size: 11px !important;
  letter-spacing: 0.4px;
  opacity: 0.95;
}

.ch-card-grid .mc-coupon-details,
#home-coupons-container .mc-coupon-details,
#coupons-container .mc-coupon-details,
#home-deals-container .mc-coupon-details,
#deals-container .mc-coupon-details {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.ch-card-grid .mc-coupon-title,
#home-coupons-container .mc-coupon-title,
#coupons-container .mc-coupon-title,
#home-deals-container .mc-coupon-title,
#deals-container .mc-coupon-title {
  font-size: 15px !important;
  line-height: 1.35 !important;
  margin: 0 0 6px !important;
  overflow-wrap: break-word;
  word-break: normal;
}

.ch-card-grid .mc-coupon-business,
#home-coupons-container .mc-coupon-business,
#coupons-container .mc-coupon-business,
#home-deals-container .mc-coupon-business,
#deals-container .mc-coupon-business {
  font-size: 13px !important;
  line-height: 1.4 !important;
  overflow-wrap: break-word;
  word-break: normal;
  margin-bottom: 8px !important;
}

.mc-coupon-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.mc-coupon-business .mc-coupon-expiry {
  color: var(--amber-600, #d97706);
  font-weight: 600;
}

#home-coupons-container .mc-coupon-code-pill,
#coupons-container .mc-coupon-code-pill,
#home-deals-container .mc-coupon-code-pill,
#deals-container .mc-coupon-code-pill,
.ch-card-grid .mc-coupon-code-pill {
  max-width: 100%;
}

.mc-coupon-claim {
  padding: 0 16px !important;
  min-height: 32px;
  flex: 0 0 auto;
}

#home-deals-container .mc-coupon-card,
#deals-container .mc-coupon-card {
  width: 100%;
  margin: 0;
  cursor: default;
}

#store-container .products-container {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#store-container .ch-product-media img,
.ch-product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#home-media-container .media-list .list-item,
#media-container .media-list .list-item {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible;
  list-style: none;
  display: block !important;
  position: static !important;
}

.mc-media-card {
  width: 100% !important;
}

.mc-media-card {
  padding: 0 !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.mc-media-thumb {
  position: relative;
  height: 180px;
  background: #000;
}

.mc-media-thumb img,
.mc-media-thumb video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  cursor: pointer;
}

.mc-media-duration {
  position: absolute;
  right: 10px;
  bottom: 10px;
  background: rgba(0, 0, 0, 0.75);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
}

.mc-media-body {
  padding: 16px !important;
  box-sizing: border-box;
}

.mc-media-title {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: 700;
  color: var(--slate-900);
}

.mc-media-meta {
  font-size: 13px;
  color: var(--slate-500);
}

#home-media-container .media-list,
#media-container .media-list,
#home-media-container .ch-card-grid,
#media-container .ch-card-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  background: transparent !important;
}

#main-container .row_,
#main-container .row.g-4,
#main-container .row.mb-4 {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
}

#main-container .media-container,
#main-container .posts-container,
#main-container .coupons-container,
#main-container .deals-container,
#main-container .team-container,
#main-container .testimonials-container {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.ch-product-card,
.mc-coupon-card,
.mc-teacher-card,
.mc-course-card,
.mc-testimonial-card,
.mc-media-card,
.mc-event-card,
.create-event-container,
#bus-int-container .mc-interactivity-card,
#home-posts-container .post-container,
#posts-container .post-container {
  box-sizing: border-box;
}

.ch-product-card .ch-product-body,
.mc-course-card .mc-course-body,
.mc-media-card .mc-media-body {
  padding: 16px !important;
}

#home-courses-container .row.mb-4,
#home-courses-container .search-wrapper,
#home-courses-container .input-group,
#teacher-container .search-container .input-group {
  background: transparent !important;
}

#home-courses-container .input-group,
#teacher-container .search-container .input-group {
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  background: var(--bg-surface) !important;
}

#home-courses-container .input-group-text,
#teacher-container .search-container .input-group-text {
  background: var(--bg-surface) !important;
  border: 0 !important;
  color: var(--slate-500) !important;
}

#home-courses-container .form-control,
#home-courses-container .form-select,
#teacher-container .search-container .form-control {
  background: var(--bg-surface) !important;
  border: 0 !important;
  color: var(--slate-800) !important;
  min-height: 44px;
  padding: 10px 14px !important;
}

#home-courses-container .form-select {
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-md) !important;
  background: var(--bg-surface) !important;
  color: var(--slate-800) !important;
  min-height: 44px;
  padding: 10px 14px !important;
}

#home-posts-container .post-container .poster-name,
#posts-container .post-container .poster-name,
#home-posts-container .post-container .posted-time,
#posts-container .post-container .posted-time,
#home-posts-container .post-container .description,
#posts-container .post-container .description,
#home-posts-container .post-container .description .span-more,
#posts-container .post-container .description .span-more,
#home-posts-container .post-container a,
#posts-container .post-container a {
  color: var(--slate-800) !important;
}

#home-posts-container .post-container .posted-time,
#posts-container .post-container .posted-time {
  color: var(--slate-500) !important;
}

.mc-course-promoted {
  position: absolute;
  top: 12px;
  right: 12px;
  background: var(--amber-500, #f59e0b);
  color: #111;
}

.mc-testimonial-card .row_ {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  background: transparent !important;
}

.mc-testimonial-card .client-image {
  width: 48px !important;
  height: 48px !important;
  border-radius: 50%;
  object-fit: cover;
}

.mc-testimonial-card .user-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--slate-900);
}

.mc-testimonial-card .description {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
  color: var(--slate-700);
}

#home-posts-container .poster-image,
#posts-container .poster-image {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

#home-posts-container .poster-name,
#posts-container .poster-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--slate-900);
}

#home-posts-container .posted-time,
#posts-container .posted-time {
  font-size: 13px;
  color: var(--slate-500);
}

#home-posts-container .post-image,
#posts-container .post-image {
  width: 100%;
  max-height: 340px;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.mc-teacher-card .profile-image,
.mc-teacher-card .member-image,
.mc-teacher-card .mc-teacher-avatar {
  width: 88px !important;
  height: 88px !important;
  border-radius: 50% !important;
  object-fit: cover;
  display: block;
  margin: 0 auto 12px !important;
}

#events-container,
#home-events-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: 100% !important;
}

#home-events-grid {
  display: grid !important;
}

#events-container:not(.is-open) {
  display: none !important;
}

#events-container.is-open {
  display: grid !important;
}

#events-container.is-open.has-empty {
  display: block !important;
}

/* Hub event cards — match design-system event-card.php */
#events-container .mc-event-card,
#home-events-grid .mc-event-card,
#events-container .create-event-container,
#home-events-grid .create-event-container {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  position: relative !important;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: all var(--transition-base);
}

#events-container .mc-event-card:hover,
#home-events-grid .mc-event-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

#events-container .mc-event-thumb,
#home-events-grid .mc-event-thumb {
  position: relative;
  height: 180px;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

.mc-event-thumb .event-image {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover;
  position: static !important;
  display: block;
  margin: 0 !important;
  border-radius: 0 !important;
}

#events-container .mc-event-date-badge,
#home-events-grid .mc-event-date-badge,
#events-container .mc-event-thumb .date-container,
#home-events-grid .mc-event-thumb .date-container {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  right: auto !important;
  z-index: 2;
  min-width: 48px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-sm);
  padding: 6px 10px;
  text-align: center;
  box-shadow: var(--shadow-md);
  line-height: 1.1;
}

#events-container .mc-event-date-month,
#home-events-grid .mc-event-date-month,
#events-container .mc-event-thumb .month,
#home-events-grid .mc-event-thumb .month,
#events-container .mc-event-date-day,
#home-events-grid .mc-event-date-day,
#events-container .mc-event-thumb .day,
#home-events-grid .mc-event-thumb .day {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--slate-900) !important;
}

#events-container .mc-event-date-month,
#home-events-grid .mc-event-date-month,
#events-container .mc-event-thumb .month,
#home-events-grid .mc-event-thumb .month {
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  overflow: visible !important;
  white-space: nowrap;
  width: auto !important;
  max-width: none !important;
}

#events-container .mc-event-date-day,
#home-events-grid .mc-event-date-day,
#events-container .mc-event-thumb .day,
#home-events-grid .mc-event-thumb .day {
  font-size: 18px !important;
  font-weight: 800 !important;
}

#events-container .mc-event-category,
#home-events-grid .mc-event-category {
  position: absolute;
  bottom: 12px;
  right: 12px;
  backdrop-filter: blur(8px);
  background: rgba(15, 23, 42, 0.75) !important;
  color: #fff !important;
  z-index: 2;
}

#events-container .mc-event-body,
#home-events-grid .mc-event-body {
  padding: 18px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

#events-container .mc-event-title,
#home-events-grid .mc-event-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--slate-900);
  margin: 0 0 8px;
  line-height: 1.35;
}

#events-container .mc-event-location,
#home-events-grid .mc-event-location {
  font-size: 13px;
  color: var(--slate-500);
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 14px;
}

#events-container .mc-event-footer,
#home-events-grid .mc-event-footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--slate-150, var(--border-subtle));
  flex-wrap: nowrap;
}

.mc-event-meta {
  min-width: 0;
}

.mc-event-meta-label {
  font-size: 11px;
  text-transform: uppercase;
  color: var(--slate-400);
  font-weight: 700;
  display: block;
  letter-spacing: 0.02em;
}

.mc-event-meta-value {
  font-size: 15px;
  font-weight: 800;
  color: var(--slate-900);
  line-height: 1.3;
}

#events-container .mc-event-footer .button.active,
#home-events-grid .mc-event-footer .button.active {
  background: var(--primary-600) !important;
  color: #fff !important;
  border-color: transparent !important;
}

#home-team-container .team-list .list-item:has(.mc-teacher-card) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible;
}

#home-team-container .mc-teacher-card,
#teacher-container .mc-teacher-card,
#home-promotional-TeacherContainer .mc-teacher-card {
  text-align: center;
}

#home-courses-container .course-card,
#home-promotional-container .card {
  height: 100%;
  overflow: hidden;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm);
}

#home-promotional-container .card-img-top,
#home-courses-container .course-img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}

@media screen and (max-width: 900px) {
  #home-media-container .media-list,
  #media-container .media-list,
  #home-media-container .ch-card-grid,
  #media-container .ch-card-grid,
  .ch-card-grid,
  #home-coupons-container .coupons-list,
  #coupons-container .coupons-list,
  #home-deals-container .deals-list,
  #deals-container .deals-list,
  #featured-products-slider,
  #home-team-container .team-list,
  #team-container .team-list,
  #teacher-container .team-list,
  #home-courses-container > .row.g-4,
  #home-promotional-container .row.g-4,
  #events-container,
  #home-events-grid,
  #home-promotional-TeacherContainer .teachers-grid,
  #teacher-container .teachers-grid,
  #home-services-container .services-list,
  #services-container .services-list,
  #testimonials-container .testimonials-list,
  #home-testimonials-container .testimonials-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media screen and (max-width: 640px) {
  .ch-card-grid,
  #home-coupons-container .coupons-list,
  #coupons-container .coupons-list,
  #home-deals-container .deals-list,
  #deals-container .deals-list,
  #featured-products-slider,
  #home-team-container .team-list,
  #team-container .team-list,
  #teacher-container .team-list,
  #home-courses-container > .row.g-4,
  #home-promotional-container .row.g-4,
  #home-media-container .media-list,
  #media-container .media-list,
  #home-media-container .ch-card-grid,
  #media-container .ch-card-grid,
  #events-container,
  #home-events-grid,
  #home-promotional-TeacherContainer .teachers-grid,
  #teacher-container .teachers-grid,
  #home-services-container .services-list,
  #services-container .services-list,
  #testimonials-container .testimonials-list,
  #home-testimonials-container .testimonials-list {
    grid-template-columns: 1fr !important;
  }

  #site-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 12px !important;
  }

  #store-container .categories-list .image {
    max-height: 180px !important;
  }

  #about-container > .row_:has(> .main-image),
  #about-container > .row_ > .col2:has(> .image) {
    min-height: 140px;
    max-height: 240px;
    padding: 10px !important;
  }

  #about-container > .row_ > .main-image,
  #about-container .col2 .image {
    height: auto !important;
    max-height: 220px !important;
    object-fit: contain !important;
  }

  #about-container .places-photo-image,
  #places-home-container .places-photo-image {
    height: 200px !important;
    max-height: 200px !important;
  }

  #about-container .places-rating-stars img,
  #places-home-container .places-rating-stars img {
    width: 16px !important;
    height: 16px !important;
    max-height: 16px !important;
  }

  .ch-card-grid .mc-coupon-card,
  #home-coupons-container .mc-coupon-card,
  #coupons-container .mc-coupon-card {
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 14px !important;
  }

  .ch-card-grid .mc-coupon-discount,
  #home-coupons-container .mc-coupon-discount,
  #coupons-container .mc-coupon-discount {
    max-width: 84px !important;
    min-width: 68px !important;
    padding: 10px 8px !important;
  }

  .ch-card-grid .mc-coupon-discount-num,
  #home-coupons-container .mc-coupon-discount-num,
  #coupons-container .mc-coupon-discount-num {
    font-size: 18px !important;
  }

  .ch-card-grid .mc-coupon-title,
  #home-coupons-container .mc-coupon-title,
  #coupons-container .mc-coupon-title {
    font-size: 14px !important;
  }

  .slideshow-container .carousel-control-prev,
  .slideshow-container .carousel-control-next {
    width: 36px !important;
    height: 36px !important;
  }
}

@media screen and (max-width: 480px) {
  /* Override design-system full-width blue badge on phones */
  .mc-coupon-card,
  .ch-card-grid .mc-coupon-card,
  #home-coupons-container .mc-coupon-card,
  #coupons-container .mc-coupon-card {
    flex-direction: row !important;
    align-items: center !important;
  }

  .mc-coupon-discount,
  .ch-card-grid .mc-coupon-discount,
  #home-coupons-container .mc-coupon-discount,
  #coupons-container .mc-coupon-discount {
    width: auto !important;
    max-width: 80px !important;
    min-width: 64px !important;
    display: block !important;
    padding: 10px 8px !important;
  }

  .mc-coupon-discount-num {
    font-size: 16px !important;
    margin-bottom: 2px !important;
  }

  .mc-coupon-details {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
  }

  .mc-coupon-title {
    font-size: 14px !important;
  }

  .mc-coupon-business {
    font-size: 12px !important;
  }
}

.hub-skeleton {
  width: 100%;
  margin: 0 0 24px;
}

.hub-skel-banner {
  width: 100%;
  height: 280px;
  border-radius: var(--radius-lg);
  margin-bottom: 16px;
}

.hub-skel-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.hub-skel-card {
  padding: 0;
  overflow: hidden;
}

.hub-skel-media {
  display: block;
  height: 160px;
  border-radius: 0;
}

.hub-skel-line {
  display: block;
  height: 14px;
  margin: 14px 16px 0;
}

.hub-skel-line.short {
  width: 45%;
  margin-bottom: 16px;
}

.hub-skel-course-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--bg-surface);
  box-shadow: var(--shadow-sm);
}

.hub-skel-course-media {
  position: relative;
  width: 100%;
  height: 160px;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.hub-skel-course-media .hub-skel-media {
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 0;
}

.hub-skel-course-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.hub-skel-course-body .hub-skel-line {
  margin: 0;
}

.hub-skel-line-teacher {
  width: 42%;
  height: 12px;
}

.hub-skel-line-title {
  width: 88%;
  height: 16px;
}

.hub-skel-line-meta {
  width: 36%;
  height: 12px;
  margin-bottom: 0;
}

.ch-empty {
  max-width: 560px;
  margin: 24px auto;
  padding: 32px 24px;
  text-align: center;
}

.ch-empty-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--slate-900);
}

.ch-empty-text {
  margin: 8px 0 0;
  color: var(--slate-500);
  font-size: 14px;
}

#about-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 20px !important;
  padding: 18px !important;
  background: var(--bg-surface) !important;
  border: 1.5px solid var(--border-subtle) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: var(--shadow-sm);
  box-sizing: border-box;
  color: var(--slate-800);
}

#places-home-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 20px !important;
  padding: 18px !important;
  border: 1.5px solid var(--border-subtle) !important;
  border-radius: var(--radius-xl) !important;
  background: var(--bg-surface) !important;
  box-shadow: var(--shadow-sm) !important;
  box-sizing: border-box;
}

[data-theme="dark"] #places-home-container,
[data-theme="dark"] #about-container {
  border: 1.5px solid #64748b !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #places-home-container,
  :root:not([data-theme="light"]) #about-container {
    border: 1.5px solid #64748b !important;
  }
}

/*
  About content photos:
  - Full image visible (no crop)
  - Size capped via max-height + contain (letterboxed in a frame)
*/
#about-container > .row_:has(> .main-image) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 180px;
  max-height: 340px;
  margin: 0 0 16px !important;
  padding: 12px !important;
  box-sizing: border-box;
  border-radius: var(--radius-md, 12px);
  background: var(--bg-surface-subtle, #f1f5f9);
  overflow: hidden;
}

#about-container > .row_ > .col2:has(> .image) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  max-height: 340px;
  margin: 0 !important;
  padding: 12px !important;
  box-sizing: border-box;
  border-radius: var(--radius-md, 12px);
  background: var(--bg-surface-subtle, #f1f5f9);
  overflow: hidden;
  vertical-align: top;
}

#about-container > .row_ > .main-image,
#about-container > .row_ > .col2 > .image,
#about-container .main-image,
#about-container .col2 .image {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 316px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 8px;
  background: transparent;
}

html[data-theme="dark"] #about-container > .row_:has(> .main-image),
html[data-theme="dark"] #about-container > .row_ > .col2:has(> .image) {
  background: #0b1220;
}

@media screen and (max-width: 820px) {
  #about-container > .row_ > .col2:has(> .image) {
    display: flex !important;
    width: 100% !important;
  }
}

#about-container .description,
#about-container .history,
#about-container .col1 {
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: left !important;
  color: var(--slate-700) !important;
  background: transparent !important;
}

/* Google Places / Verified by Google card */
#about-container .places-card,
#places-home-container .places-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 18px !important;
  border: 1px solid var(--border-subtle, #e2e8f0) !important;
  border-radius: var(--radius-lg, 12px) !important;
  background: var(--bg-surface-subtle, #f8fafc) !important;
  box-shadow: none !important;
  box-sizing: border-box;
  overflow: hidden;
}

#about-container .places-verified-badge,
#places-home-container .places-verified-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  width: auto !important;
  max-width: max-content !important;
  height: auto !important;
  margin: 0 0 12px !important;
  padding: 6px 12px !important;
  border-radius: 999px !important;
  background: #e8f5e9 !important;
  color: #256029 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}

#about-container .places-rating-row,
#places-home-container .places-rating-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 12px !important;
  width: auto !important;
  height: auto !important;
}

#about-container .places-rating-stars,
#places-home-container .places-rating-stars {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  color: #f4b400;
  font-size: 16px;
}

#about-container .places-rating-stars img,
#places-home-container .places-rating-stars img {
  display: inline-block !important;
  width: 16px !important;
  max-width: 16px !important;
  height: 16px !important;
  max-height: 16px !important;
  margin: 0 1px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  vertical-align: middle;
}

#about-container .places-rating-value,
#places-home-container .places-rating-value {
  color: var(--slate-900, #0f172a) !important;
  font-weight: 800 !important;
  font-size: 15px !important;
}

#about-container .places-review-count,
#places-home-container .places-review-count {
  color: var(--slate-500, #64748b) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

#about-container .places-phone-link,
#about-container .places-map-btn,
#places-home-container .places-phone-link,
#places-home-container .places-map-btn {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  margin: 4px 12px 4px 0 !important;
  padding: 0 !important;
  color: #0284c7 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
}

#about-container .places-phone-link:hover,
#about-container .places-map-btn:hover,
#places-home-container .places-phone-link:hover,
#places-home-container .places-map-btn:hover {
  text-decoration: underline !important;
}

#about-container .places-address,
#places-home-container .places-address {
  margin: 8px 0 12px !important;
  color: var(--slate-700, #334155) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

#about-container .places-hours-accordion,
#places-home-container .places-hours-accordion {
  margin: 12px 0 !important;
  width: 100% !important;
}

#about-container .places-hours-accordion .accordion-button,
#places-home-container .places-hours-accordion .accordion-button {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--slate-800, #1e293b) !important;
  background: #fff !important;
  box-shadow: none !important;
}

#about-container .places-hours-item,
#places-home-container .places-hours-item {
  font-size: 14px !important;
  color: var(--slate-700, #334155) !important;
  margin-bottom: 4px;
}

#about-container .places-photo-section,
#places-home-container .places-photo-section {
  margin-top: 14px !important;
  width: 100% !important;
}

#about-container .places-photo-carousel,
#places-home-container .places-photo-carousel {
  border-radius: 12px !important;
  overflow: hidden;
  width: 100% !important;
}

#about-container .places-photo-image,
#places-home-container .places-photo-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 280px !important;
  max-height: 280px !important;
  margin: 0 !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

#about-container .places-photo-attribution,
#places-home-container .places-photo-attribution {
  padding: 8px 12px !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

html[data-theme="dark"] #about-container .places-card,
html[data-theme="dark"] #places-home-container .places-card {
  background: #0b1220 !important;
  border-color: #334155 !important;
}

html[data-theme="dark"] #about-container .places-verified-badge,
html[data-theme="dark"] #places-home-container .places-verified-badge {
  background: rgba(34, 197, 94, 0.18) !important;
  color: #86efac !important;
}

html[data-theme="dark"] #about-container .places-hours-accordion .accordion-button,
html[data-theme="dark"] #places-home-container .places-hours-accordion .accordion-button {
  background: #1e293b !important;
  color: #e2e8f0 !important;
}

html[data-theme="dark"] #about-container .places-photo-attribution,
html[data-theme="dark"] #places-home-container .places-photo-attribution {
  background: #1e293b !important;
  color: #94a3b8 !important;
}

#coupons-container .coupons-list .list-item,
#deals-container .deals-list .list-item,
#home-deals-container .deals-list .list-item,
#store-container .products-list .list-item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  height: auto !important;
  overflow: visible !important;
  padding: 0 !important;
}

#coupons-container .mc-coupon-card,
#deals-container .mc-coupon-card {
  width: 100%;
  margin: 0;
  cursor: pointer;
}

#store-container {
  width: 100% !important;
}

#store-container .categories-list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0 0 8px;
}

#store-container .categories-list .list-item {
  width: auto !important;
  margin: 0 !important;
  text-align: center;
}

#store-container .categories-list .image {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  border-radius: var(--radius-md);
}

#store-container .section-name,
#testimonials-container .section-name,
#teacher-container .title {
  color: var(--slate-900) !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
}

#testimonials-banner {
  display: none !important;
}

#testimonials-container {
  width: 100% !important;
}

#testimonials-container .testimonials-list,
#home-testimonials-container .testimonials-list,
#home-services-container .services-list,
#services-container .services-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

#home-services-container .services-list .list-item,
#services-container .services-list .list-item {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  height: auto !important;
  display: block !important;
}

#testimonials-container .list-item,
#home-testimonials-container .list-item {
  width: auto !important;
  margin: 0 !important;
  background: transparent !important;
}

#testimonials-container .testimonial,
#home-testimonials-container .testimonial {
  padding: 16px;
  height: 100%;
}

#testimonials-container .client-image,
#home-testimonials-container .client-image {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
}

#testimonials-container .user-name,
#home-testimonials-container .user-name {
  font-size: 15px;
  font-weight: 700;
  color: var(--slate-900);
}

#testimonials-container .description,
#home-testimonials-container .description {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.5;
  color: var(--slate-700);
}

#teacher-container,
#home-promotional-TeacherContainer,
#home-promotional-container {
  width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background: transparent !important;
  color: var(--slate-800);
}

#home-promotional-TeacherContainer .title-wrapper {
  background: transparent !important;
  color: var(--slate-900);
}

#home-promotional-container .container,
#home-promotional-TeacherContainer .container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#teacher-container .search-container .input-group,
#home-courses-container .search-wrapper {
  width: 100% !important;
  max-width: 360px;
}

#teacher-container .TeacherTitle-container {
  background: transparent !important;
  padding: 0 0 8px;
}

#teacher-container .sub-title {
  color: var(--slate-500);
}

#teacher-container .profile-card {
  padding: 16px;
  text-align: center;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
}

#teacher-container .profile-image,
#home-team-container .member-image,
#home-promotional-TeacherContainer .profile-image {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}

#teacher-container .profile-name {
  margin: 10px 0 4px;
  font-size: 15px;
  font-weight: 700;
  color: var(--slate-900) !important;
  text-transform: none;
}

#teacher-container .profile-title {
  margin: 0;
  font-size: 13px;
  color: var(--slate-500) !important;
}

#home-courses-container .course-card {
  height: 100%;
  overflow: hidden;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-sm);
  cursor: pointer;
}

#home-courses-container .course-img-container {
  height: 160px !important;
  background: var(--slate-100);
}

#home-courses-container .course-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#home-courses-container .card-body {
  padding: 16px;
}

#home-courses-container .card-title {
  margin: 8px 0 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--slate-900);
}

#home-courses-container .search-wrapper,
#teacher-container .search-container {
  margin-bottom: 16px;
}

@media screen and (max-width: 900px) {
  .hub-skel-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

#home-posts-container .post-container {
  display: flex !important;
  flex-direction: column !important;
  max-width: 760px;
  margin-left: auto !important;
  margin-right: auto !important;
}

#home-posts-container .post-container > .col1,
#home-posts-container .post-container > .col2 {
  display: block !important;
  width: 100% !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

#home-posts-container .post-media-container,
#home-posts-container .image-container {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 12px 0 !important;
}

#home-posts-container .post-image {
  width: 100% !important;
  max-width: none !important;
  max-height: 420px;
  object-fit: cover;
  border-radius: var(--radius-md);
}

#home-team-container .team-list,
#team-container .team-list {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#home-team-container .team-list .list-item,
#team-container .team-list .list-item {
  width: 100% !important;
  margin: 0 !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  min-height: 0 !important;
}

#home-team-container .team-member,
#team-container .team-member {
  min-height: 0 !important;
  text-align: center;
}

#team-container .title1,
#team-container .title2 {
  text-align: left !important;
  font-family: var(--font-sans) !important;
}

#team-container .title1 {
  font-size: 18px !important;
  font-weight: 700;
  color: var(--slate-900);
}

#team-container .title2 {
  font-size: 14px !important;
  color: var(--slate-500);
  margin-bottom: 16px !important;
}

#home-media-container .mc-media-thumb,
#media-container .mc-media-thumb {
  height: 180px;
  overflow: hidden;
}

#home-media-container .mc-media-thumb video,
#media-container .mc-media-thumb video,
#home-media-container .mc-media-thumb img,
#media-container .mc-media-thumb img {
  width: 100% !important;
  height: 100% !important;
  max-height: 180px !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  position: static !important;
}

@media screen and (max-width: 820px) {
  .slideshow-container #carousel-inner .carousel-item > div:nth-child(1),
  .slideshow-container #carousel-inner .carousel-item > div:nth-child(3) {
    display: none !important;
  }

  .slideshow-container #carousel-inner .carousel-item > div:nth-child(2) {
    width: 100% !important;
    max-width: 100% !important;
  }

  .slideshow-container .carousel-control-prev {
    left: 12px !important;
  }

  .slideshow-container .carousel-control-next {
    right: 12px !important;
  }
}

/* Shared section/tab panels: bordered shell, then content inside */
#main-container > #home-posts-container,
#main-container > #home-media-container,
#main-container > #home-promotional-container,
#main-container > #home-promotional-TeacherContainer,
#main-container > #home-team-container,
#home-products-container .products-list-container,
#main-container > #home-coupons-container,
#main-container > #home-deals-container,
#main-container > #home-testimonials-container,
#main-container > #home-events-container,
#main-container > #home-services-container,
#main-container > #home-courses-container,
#main-container > #about-container,
#main-container > #posts-container,
#main-container > #media-container,
#main-container > #events-container,
#main-container > #channel-container,
#main-container > #news-container,
#main-container > #hub-fallback-container,
#main-container > #coupons-container,
#main-container > #deals-container,
#main-container > #testimonials-container,
#main-container > #team-container,
#main-container > #teacher-container,
#main-container > #teachers-container,
#main-container > #teacher-details-container,
#main-container > #store-container,
#main-container > #services-container,
#main-container > #bus-int-container,
#main-container > #appointment-container {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 0 20px !important;
  padding: 18px !important;
  border: 1.5px solid var(--border-subtle) !important;
  border-radius: var(--radius-xl) !important;
  background: var(--bg-surface) !important;
  box-shadow: var(--shadow-sm) !important;
  box-sizing: border-box;
}

#home-products-container {
  margin: 0 0 20px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#home-products-container .products-list-container {
  margin-bottom: 0 !important;
}

/* Hide empty tab shells so they don't leave a blank bordered strip */
#main-container > #about-container:empty,
#main-container > #posts-container:empty,
#main-container > #media-container:empty,
#main-container > #events-container:empty,
#main-container > #channel-container:empty,
#main-container > #news-container:empty,
#main-container > #hub-fallback-container:empty,
#main-container > #coupons-container:empty,
#main-container > #deals-container:empty,
#main-container > #testimonials-container:empty,
#main-container > #team-container:empty,
#main-container > #teacher-container:empty,
#main-container > #teachers-container:empty,
#main-container > #teacher-details-container:empty,
#main-container > #store-container:empty,
#main-container > #services-container:empty,
#main-container > #bus-int-container:empty,
#main-container > #appointment-container:empty,
#main-container > #home-courses-container:empty,
#main-container > #home-services-container:empty {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

[data-theme="dark"] #main-container > #home-posts-container,
[data-theme="dark"] #main-container > #home-media-container,
[data-theme="dark"] #main-container > #home-promotional-container,
[data-theme="dark"] #main-container > #home-promotional-TeacherContainer,
[data-theme="dark"] #main-container > #home-team-container,
[data-theme="dark"] #home-products-container .products-list-container,
[data-theme="dark"] #main-container > #home-coupons-container,
[data-theme="dark"] #main-container > #home-deals-container,
[data-theme="dark"] #main-container > #home-testimonials-container,
[data-theme="dark"] #main-container > #home-events-container,
[data-theme="dark"] #main-container > #home-services-container,
[data-theme="dark"] #main-container > #home-courses-container,
[data-theme="dark"] #main-container > #about-container,
[data-theme="dark"] #main-container > #posts-container,
[data-theme="dark"] #main-container > #media-container,
[data-theme="dark"] #main-container > #events-container,
[data-theme="dark"] #main-container > #coupons-container,
[data-theme="dark"] #main-container > #deals-container,
[data-theme="dark"] #main-container > #testimonials-container,
[data-theme="dark"] #main-container > #team-container,
[data-theme="dark"] #main-container > #teacher-container,
[data-theme="dark"] #main-container > #teachers-container,
[data-theme="dark"] #main-container > #teacher-details-container,
[data-theme="dark"] #main-container > #store-container,
[data-theme="dark"] #main-container > #services-container,
[data-theme="dark"] #main-container > #bus-int-container,
[data-theme="dark"] #main-container > #appointment-container {
  background: var(--bg-surface) !important;
  border: 1.5px solid #64748b !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #main-container > #home-posts-container,
  :root:not([data-theme="light"]) #main-container > #home-media-container,
  :root:not([data-theme="light"]) #main-container > #home-promotional-container,
  :root:not([data-theme="light"]) #main-container > #home-promotional-TeacherContainer,
  :root:not([data-theme="light"]) #main-container > #home-team-container,
  :root:not([data-theme="light"]) #home-products-container .products-list-container,
  :root:not([data-theme="light"]) #main-container > #home-coupons-container,
  :root:not([data-theme="light"]) #main-container > #home-deals-container,
  :root:not([data-theme="light"]) #main-container > #home-testimonials-container,
  :root:not([data-theme="light"]) #main-container > #home-events-container,
  :root:not([data-theme="light"]) #main-container > #home-services-container,
  :root:not([data-theme="light"]) #main-container > #home-courses-container,
  :root:not([data-theme="light"]) #main-container > #about-container,
  :root:not([data-theme="light"]) #main-container > #posts-container,
  :root:not([data-theme="light"]) #main-container > #media-container,
  :root:not([data-theme="light"]) #main-container > #events-container,
  :root:not([data-theme="light"]) #main-container > #coupons-container,
  :root:not([data-theme="light"]) #main-container > #deals-container,
  :root:not([data-theme="light"]) #main-container > #testimonials-container,
  :root:not([data-theme="light"]) #main-container > #team-container,
  :root:not([data-theme="light"]) #main-container > #teacher-container,
  :root:not([data-theme="light"]) #main-container > #teachers-container,
  :root:not([data-theme="light"]) #main-container > #teacher-details-container,
  :root:not([data-theme="light"]) #main-container > #store-container,
  :root:not([data-theme="light"]) #main-container > #services-container,
  :root:not([data-theme="light"]) #main-container > #bus-int-container,
  :root:not([data-theme="light"]) #main-container > #appointment-container {
    background: var(--bg-surface) !important;
    border: 1.5px solid #64748b !important;
  }
}

#main-container > [id] > .row_:first-child:has(> .section-name),
#home-products-container .products-list-container > .row_:first-child,
#team-container > .row_:first-child {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  position: relative;
}

#main-container .section-name,
.ch-section-head h2,
#team-container .title1 {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--slate-900) !important;
  text-align: left !important;
  text-transform: none !important;
}

#main-container .see-all {
  position: static !important;
  width: auto !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--primary-600) !important;
  text-align: right;
  cursor: pointer;
}

#main-container .see-all:hover {
  color: var(--primary-700) !important;
}

#team-container > .row_:first-child {
  flex-wrap: wrap;
}

#team-container .title2 {
  flex-basis: 100%;
  margin: 0 !important;
}

.ch-section-head {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 12px !important;
  padding: 0 !important;
  background: transparent !important;
}

.ch-section-head .search-container {
  width: 360px;
  max-width: 100%;
  margin: 0 !important;
}

.ch-section-head .search-container .input-group {
  width: 100% !important;
}

#main-container .ch-card-grid,
#main-container .testimonials-list {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#home-promotional-container .ch-course-col,
#home-courses-container .ch-card-grid > .col {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

#main-container .mc-teacher-card {
  padding: 20px 16px !important;
  text-align: center !important;
  height: 100%;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
}

#main-container .mc-teacher-card .mc-teacher-avatar {
  width: 88px !important;
  height: 88px !important;
  margin: 0 auto 12px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  display: block !important;
  background: var(--slate-100);
}

#main-container .mc-teacher-card .mc-teacher-name {
  margin: 0 !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--slate-900) !important;
  text-transform: none !important;
}

#main-container .mc-teacher-card .mc-teacher-role {
  margin: 4px 0 0 !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  color: var(--primary-600) !important;
}

#main-container .mc-teacher-card .mc-teacher-bio {
  margin: 10px 0 0 !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: var(--slate-500) !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

#main-container .mc-course-card {
  padding: 0 !important;
  overflow: hidden;
  display: flex !important;
  flex-direction: column;
  height: 100%;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
}

#main-container .mc-course-card .mc-course-media {
  position: relative !important;
  width: 100% !important;
  height: 160px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: var(--slate-100);
}

#main-container .mc-course-card .mc-course-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

#main-container .mc-course-card .mc-course-media .mc-badge {
  position: absolute !important;
  top: 12px;
  left: 12px;
}

#main-container .mc-course-card .mc-course-media .mc-course-promoted,
#main-container .mc-course-card .mc-course-media .mc-badge + .mc-badge {
  left: auto;
  right: 12px;
}

#main-container .mc-course-card .mc-course-body {
  padding: 16px !important;
  display: flex;
  flex-direction: column;
  flex: 1;
}

#main-container .mc-course-card .mc-course-teacher {
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--slate-400) !important;
}

#main-container .mc-course-card .mc-course-title {
  margin: 6px 0 0 !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  color: var(--slate-900) !important;
}

#main-container .mc-course-card .mc-course-meta {
  margin-top: auto !important;
  padding-top: 12px !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 13px !important;
  color: var(--slate-500) !important;
}

.ch-tab-skeleton {
  width: 100%;
}

.ch-tab-skel-single {
  max-width: 760px;
  margin: 0 auto;
}

@media screen and (max-width: 640px) {
  .ch-tab-skeleton .hub-skel-row {
    grid-template-columns: 1fr;
  }
}

/* Dark mode: override hardcoded whites from community-hub.css / com-hub-post.css / bootstrap */
[data-theme="dark"] body,
[data-theme="dark"] #site-content,
[data-theme="dark"] .main-container {
  background-color: var(--bg-page) !important;
  color: var(--slate-800) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) body,
  :root:not([data-theme="light"]) #site-content,
  :root:not([data-theme="light"]) .main-container {
    background-color: var(--bg-page) !important;
    color: var(--slate-800) !important;
  }
}

[data-theme="dark"] #header.header,
[data-theme="dark"] #header .header-container,
[data-theme="dark"] #header .menu,
[data-theme="dark"] #header .categories-menu,
[data-theme="dark"] .posts-container .post-container,
[data-theme="dark"] .posts-container .post-container .post,
[data-theme="dark"] .posts-container .post-container .comments-container,
[data-theme="dark"] .posts-container .post-container .share-container,
[data-theme="dark"] .posts-container .post-container .repost-container,
[data-theme="dark"] .posts-container .post-container .rating-container,
[data-theme="dark"] .posts-container .post-container .report-menu-container .menu-report-block,
[data-theme="dark"] .posts-container .post-container .report-menu-container .report-menu,
[data-theme="dark"] #about-container,
[data-theme="dark"] #store-container,
[data-theme="dark"] #store-container .products-container,
[data-theme="dark"] #store-container .categories-list .list-item,
[data-theme="dark"] #media-container,
[data-theme="dark"] #home-media-container,
[data-theme="dark"] #events-container,
[data-theme="dark"] #home-events-container,
[data-theme="dark"] #team-container,
[data-theme="dark"] #teacher-container,
[data-theme="dark"] #home-courses-container,
[data-theme="dark"] #coupons-container,
[data-theme="dark"] #deals-container,
[data-theme="dark"] #testimonials-container,
[data-theme="dark"] .mc-card,
[data-theme="dark"] .mc-interactivity-card,
[data-theme="dark"] .ch-product-card,
[data-theme="dark"] .mc-coupon-card,
[data-theme="dark"] .mc-teacher-card,
[data-theme="dark"] .mc-course-card,
[data-theme="dark"] .mc-testimonial-card,
[data-theme="dark"] .mc-media-card,
[data-theme="dark"] .mc-event-card,
[data-theme="dark"] .create-event-container {
  background-color: var(--bg-surface) !important;
  background: var(--bg-surface) !important;
  color: var(--slate-800) !important;
  border-color: var(--border-subtle) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #header.header,
  :root:not([data-theme="light"]) #header .header-container,
  :root:not([data-theme="light"]) #header .menu,
  :root:not([data-theme="light"]) #header .categories-menu,
  :root:not([data-theme="light"]) .posts-container .post-container,
  :root:not([data-theme="light"]) .posts-container .post-container .post,
  :root:not([data-theme="light"]) .posts-container .post-container .comments-container,
  :root:not([data-theme="light"]) .posts-container .post-container .share-container,
  :root:not([data-theme="light"]) .posts-container .post-container .repost-container,
  :root:not([data-theme="light"]) .posts-container .post-container .rating-container,
  :root:not([data-theme="light"]) .posts-container .post-container .report-menu-container .menu-report-block,
  :root:not([data-theme="light"]) .posts-container .post-container .report-menu-container .report-menu,
  :root:not([data-theme="light"]) #about-container,
  :root:not([data-theme="light"]) #store-container,
  :root:not([data-theme="light"]) #store-container .products-container,
  :root:not([data-theme="light"]) #store-container .categories-list .list-item,
  :root:not([data-theme="light"]) #media-container,
  :root:not([data-theme="light"]) #home-media-container,
  :root:not([data-theme="light"]) #events-container,
  :root:not([data-theme="light"]) #home-events-container,
  :root:not([data-theme="light"]) #team-container,
  :root:not([data-theme="light"]) #teacher-container,
  :root:not([data-theme="light"]) #home-courses-container,
  :root:not([data-theme="light"]) #coupons-container,
  :root:not([data-theme="light"]) #deals-container,
  :root:not([data-theme="light"]) #testimonials-container,
  :root:not([data-theme="light"]) .mc-card,
  :root:not([data-theme="light"]) .mc-interactivity-card,
  :root:not([data-theme="light"]) .ch-product-card,
  :root:not([data-theme="light"]) .mc-coupon-card,
  :root:not([data-theme="light"]) .mc-teacher-card,
  :root:not([data-theme="light"]) .mc-course-card,
  :root:not([data-theme="light"]) .mc-testimonial-card,
  :root:not([data-theme="light"]) .mc-media-card,
  :root:not([data-theme="light"]) .mc-event-card,
  :root:not([data-theme="light"]) .create-event-container {
    background-color: var(--bg-surface) !important;
    background: var(--bg-surface) !important;
    color: var(--slate-800) !important;
    border-color: var(--border-subtle) !important;
  }
}

[data-theme="dark"] #header .menu-item,
[data-theme="dark"] #header .BusinessDiv,
[data-theme="dark"] #header .followData,
[data-theme="dark"] .section-name,
[data-theme="dark"] .poster-name,
[data-theme="dark"] .posted-time,
[data-theme="dark"] .description,
[data-theme="dark"] .posts-container .post-container .post-links-caption,
[data-theme="dark"] .posts-container .post-container .commenter-name,
[data-theme="dark"] .posts-container .post-container .comment {
  color: var(--slate-800) !important;
}

[data-theme="dark"] #header .menu-item.active,
[data-theme="dark"] #header .menu-item.active a {
  color: var(--primary-600) !important;
}

[data-theme="dark"] .posts-container .post-container .comment-input,
[data-theme="dark"] .posts-container .post-container input,
[data-theme="dark"] .posts-container .post-container textarea,
[data-theme="dark"] #bus-int-container input.answer,
[data-theme="dark"] #teacher-container input,
[data-theme="dark"] #home-courses-container input,
[data-theme="dark"] #home-courses-container select {
  background: var(--bg-page) !important;
  border-color: var(--border-subtle) !important;
  color: var(--slate-800) !important;
}

[data-theme="dark"] .slideshow-container,
[data-theme="dark"] #carousel-inner .carousel-item.active {
  background: var(--slate-100) !important;
}

[data-theme="dark"] .ch-empty,
[data-theme="dark"] .hub-skel-card,
[data-theme="dark"] .ch-tab-skeleton .mc-card {
  background: var(--bg-surface) !important;
  border-color: var(--border-subtle) !important;
  color: var(--slate-800) !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) #header .menu-item,
  :root:not([data-theme="light"]) #header .BusinessDiv,
  :root:not([data-theme="light"]) #header .followData,
  :root:not([data-theme="light"]) .section-name,
  :root:not([data-theme="light"]) .poster-name,
  :root:not([data-theme="light"]) .posted-time,
  :root:not([data-theme="light"]) .description,
  :root:not([data-theme="light"]) .posts-container .post-container .post-links-caption,
  :root:not([data-theme="light"]) .posts-container .post-container .commenter-name,
  :root:not([data-theme="light"]) .posts-container .post-container .comment {
    color: var(--slate-800) !important;
  }

  :root:not([data-theme="light"]) #header .menu-item.active,
  :root:not([data-theme="light"]) #header .menu-item.active a {
    color: var(--primary-600) !important;
  }

  :root:not([data-theme="light"]) .posts-container .post-container .comment-input,
  :root:not([data-theme="light"]) .posts-container .post-container input,
  :root:not([data-theme="light"]) .posts-container .post-container textarea,
  :root:not([data-theme="light"]) #bus-int-container input.answer,
  :root:not([data-theme="light"]) #teacher-container input,
  :root:not([data-theme="light"]) #home-courses-container input,
  :root:not([data-theme="light"]) #home-courses-container select {
    background: var(--bg-page) !important;
    border-color: var(--border-subtle) !important;
    color: var(--slate-800) !important;
  }

  :root:not([data-theme="light"]) .slideshow-container,
  :root:not([data-theme="light"]) #carousel-inner .carousel-item.active {
    background: var(--slate-100) !important;
  }

  :root:not([data-theme="light"]) .ch-empty,
  :root:not([data-theme="light"]) .hub-skel-card,
  :root:not([data-theme="light"]) .ch-tab-skeleton .mc-card {
    background: var(--bg-surface) !important;
    border-color: var(--border-subtle) !important;
    color: var(--slate-800) !important;
  }

  :root:not([data-theme="light"]) #main-container .row_,
  :root:not([data-theme="light"]) #main-container .media-container .row_,
  :root:not([data-theme="light"]) #main-container .home-media-container .row_,
  :root:not([data-theme="light"]) #home-posts-container .post-container .col1,
  :root:not([data-theme="light"]) #home-posts-container .post-container .col2,
  :root:not([data-theme="light"]) #home-courses-container .input-group-text,
  :root:not([data-theme="light"]) #teacher-container .input-group-text {
    background: transparent !important;
    background-color: transparent !important;
  }

  :root:not([data-theme="light"]) #home-courses-container .input-group,
  :root:not([data-theme="light"]) #teacher-container .search-container .input-group,
  :root:not([data-theme="light"]) #home-courses-container .form-control,
  :root:not([data-theme="light"]) #home-courses-container .form-select,
  :root:not([data-theme="light"]) #teacher-container .form-control {
    background: var(--bg-surface) !important;
    color: var(--slate-800) !important;
    border-color: var(--border-subtle) !important;
  }
}

[data-theme="dark"] #main-container .row_,
[data-theme="dark"] #main-container .media-container .row_,
[data-theme="dark"] #main-container .home-media-container .row_,
[data-theme="dark"] #home-posts-container .post-container .col1,
[data-theme="dark"] #home-posts-container .post-container .col2,
[data-theme="dark"] #home-courses-container .input-group-text,
[data-theme="dark"] #teacher-container .input-group-text {
  background: transparent !important;
  background-color: transparent !important;
}

[data-theme="dark"] #home-courses-container .input-group,
[data-theme="dark"] #teacher-container .search-container .input-group,
[data-theme="dark"] #home-courses-container .form-control,
[data-theme="dark"] #home-courses-container .form-select,
[data-theme="dark"] #teacher-container .form-control {
  background: var(--bg-surface) !important;
  color: var(--slate-800) !important;
  border-color: var(--border-subtle) !important;
}

/* Keep card content inset from the card border */
#home-posts-container .post-container,
#posts-container .post-container,
#bus-int-container .mc-interactivity-card {
  padding: 20px !important;
}

#posts-container .post-container .post .row {
  padding: 0 !important;
}

.mc-media-card .mc-media-body,
.mc-course-card .mc-course-body,
.ch-product-card .ch-product-body {
  padding: 16px !important;
}

.mc-teacher-card,
.mc-testimonial-card {
  padding: 20px 16px !important;
}

.mc-coupon-card {
  padding: 16px !important;
}

#media-container .controls,
#media-container .col-selectAll {
  background: transparent !important;
  color: var(--slate-800) !important;
}

/* Footer — light + dark; Subscribe uses design-system primary */
.footer,
.footer .footer-container,
.footer .container {
  background: var(--bg-surface) !important;
  color: var(--slate-800) !important;
  border-color: var(--border-subtle) !important;
}

.footer {
  border-top: 1px solid var(--border-subtle);
}

.footer h5,
.footer .mb-3 {
  color: var(--slate-900) !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
}

.footer .text-muted,
.footer p,
.footer .small,
.footer .copyright,
.footer .info-text {
  color: var(--slate-600) !important;
}

.footer a,
.footer .sublinks {
  color: var(--slate-700) !important;
  text-decoration: none;
}

.footer a:hover,
.footer .sublinks:hover {
  color: var(--primary-600) !important;
}

.footer .form-control {
  background: var(--bg-page) !important;
  border: 1px solid var(--border-subtle) !important;
  color: var(--slate-900) !important;
  border-radius: 4px 0 0 4px !important;
}

.footer .form-control::placeholder {
  color: var(--slate-500) !important;
}

.footer .btn-primary,
.footer button.btn-primary {
  background: var(--primary-gradient) !important;
  background-color: var(--primary-600) !important;
  border: none !important;
  color: #fff !important;
  border-radius: 0 4px 4px 0 !important;
  font-weight: 700;
}

.footer .btn-primary:hover,
.footer button.btn-primary:hover {
  filter: brightness(1.05);
  background: var(--primary-gradient) !important;
  color: #fff !important;
}

[data-theme="dark"] .footer,
[data-theme="dark"] .footer .footer-container,
[data-theme="dark"] .footer .container,
[data-theme="dark"] .footer-container {
  background: var(--bg-surface) !important;
  color: var(--slate-800) !important;
  border-color: var(--border-strong) !important;
}

[data-theme="dark"] .footer h5,
[data-theme="dark"] .footer .mb-3 {
  color: var(--slate-900) !important;
}

[data-theme="dark"] .footer .text-muted,
[data-theme="dark"] .footer p,
[data-theme="dark"] .footer .small,
[data-theme="dark"] .footer .copyright,
[data-theme="dark"] .footer .info-text {
  color: var(--slate-600) !important;
}

[data-theme="dark"] .footer a,
[data-theme="dark"] .footer .sublinks {
  color: var(--slate-700) !important;
}

[data-theme="dark"] .footer a:hover,
[data-theme="dark"] .footer .sublinks:hover {
  color: var(--primary-600) !important;
}

[data-theme="dark"] .footer .form-control {
  background: var(--bg-page) !important;
  border-color: var(--border-strong) !important;
  color: var(--slate-900) !important;
}

[data-theme="dark"] .footer .btn-primary,
[data-theme="dark"] .footer button.btn-primary {
  background: var(--primary-gradient) !important;
  background-color: var(--primary-600) !important;
  color: #fff !important;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .footer,
  :root:not([data-theme="light"]) .footer .footer-container,
  :root:not([data-theme="light"]) .footer .container,
  :root:not([data-theme="light"]) .footer-container {
    background: var(--bg-surface) !important;
    color: var(--slate-800) !important;
    border-color: var(--border-strong) !important;
  }

  :root:not([data-theme="light"]) .footer h5,
  :root:not([data-theme="light"]) .footer .mb-3 {
    color: var(--slate-900) !important;
  }

  :root:not([data-theme="light"]) .footer .text-muted,
  :root:not([data-theme="light"]) .footer p,
  :root:not([data-theme="light"]) .footer .small,
  :root:not([data-theme="light"]) .footer .copyright,
  :root:not([data-theme="light"]) .footer .info-text {
    color: var(--slate-600) !important;
  }

  :root:not([data-theme="light"]) .footer a,
  :root:not([data-theme="light"]) .footer .sublinks {
    color: var(--slate-700) !important;
  }

  :root:not([data-theme="light"]) .footer .form-control {
    background: var(--bg-page) !important;
    border-color: var(--border-strong) !important;
    color: var(--slate-900) !important;
  }

  :root:not([data-theme="light"]) .footer .btn-primary,
  :root:not([data-theme="light"]) .footer button.btn-primary {
    background: var(--primary-gradient) !important;
    background-color: var(--primary-600) !important;
    color: #fff !important;
  }
}

#home-products-container .ch-card-grid,
#featured-products-slider {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

#home-services-container .services-list,
#services-container .services-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

#home-products-container .ch-product-card {
  border-radius: 14px;
}

#home-products-container .ch-product-media {
  height: 120px;
}

#home-products-container .ch-product-media img {
  object-fit: contain !important;
}

#home-products-container .ch-product-body {
  padding: 10px 12px !important;
}

#home-products-container .ch-product-vendor {
  font-size: 11px;
}

#home-products-container .ch-product-title {
  margin: 2px 0 4px;
  font-size: 13px;
  line-height: 1.3;
}

#home-products-container .ch-product-price {
  font-size: 14px;
}

#home-testimonials-container .testimonials-list,
#testimonials-container .testimonials-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

#site-content > .footer,
.site-content > .footer {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  margin: 36px 0 0 -50vw !important;
  padding: 36px 0 16px !important;
  box-sizing: border-box;
  overflow: visible !important;
}

.footer .container {
  width: 70% !important;
  max-width: 70% !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.footer .row {
  flex-wrap: wrap !important;
  overflow: visible !important;
}

.footer .row > div {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
}

/* Padding columns are empty divs. Hide those only; columns with a logo, copy, or links stay visible. */
.footer .row > div:empty,
.footer .row > div:not(:has(*)) {
  display: none !important;
}

.footer .footer-subscribe {
  margin-left: auto;
}

.footer .logo {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
}

.footer .logo img {
  display: block !important;
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;
  max-width: 56px !important;
  max-height: 56px !important;
  object-fit: contain;
  border-radius: 14px;
  border: 1px solid var(--border-subtle);
  background: var(--bg-page);
  padding: 4px;
  box-sizing: border-box;
}

.footer .footer-about {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  overflow: hidden !important;
  height: auto !important;
  max-height: none !important;
  white-space: normal !important;
  text-overflow: ellipsis !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
}

.footer h5,
.footer .mb-3 {
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 12px !important;
}

.footer .list-unstyled {
  margin: 0;
  padding: 0;
}

.footer .list-unstyled li {
  margin: 0 0 8px !important;
}

.footer .sublinks {
  font-size: 14px;
  font-weight: 600;
}

.footer .input-group {
  flex-wrap: nowrap;
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  overflow: hidden;
  background: var(--bg-page);
  padding: 4px;
}

.footer .form-control {
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  min-height: 40px;
  box-shadow: none !important;
}

.footer .btn-primary,
.footer button.btn-primary {
  border-radius: 999px !important;
  padding: 8px 16px !important;
  white-space: nowrap;
}

.footer .border-top {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 20px;
  margin-top: 28px;
  padding: 14px 0 0 !important;
  border-top: 1px solid var(--border-subtle) !important;
  border-bottom: 0 !important;
  text-align: left !important;
}

.footer .phone-address {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end !important;
  gap: 8px 18px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer .footer-icons {
  width: 16px !important;
  height: 16px !important;
  object-fit: contain;
}

[data-theme="dark"] .footer .footer-icons {
  filter: invert(1) brightness(1.4);
}

/* Services: three equal cards, image whole, button at the bottom */
#home-services-container .services-list .list-item,
#services-container .services-list .list-item {
  display: flex !important;
  flex-direction: column;
  height: 100% !important;
  min-height: 0;
  padding: 12px !important;
  overflow: hidden !important;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 18px !important;
  box-sizing: border-box;
}

#home-services-container .services-list .list-item .image,
#services-container .services-list .list-item .image {
  width: 100% !important;
  height: 180px !important;
  max-height: 180px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: var(--slate-100);
  border-radius: 12px;
}

#home-services-container .services-list .list-item .service-name,
#services-container .services-list .list-item .service-name {
  margin: 12px 0 6px !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--slate-900) !important;
}

#home-services-container .services-list .list-item .description,
#services-container .services-list .list-item .description {
  flex: 1 1 auto;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: visible !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--slate-700) !important;
}

#home-services-container .services-list .list-item .booking-button,
#services-container .services-list .list-item .booking-button,
#services-container .list-container .booking-button2 {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  margin: 14px 0 0 !important;
  margin-top: auto !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--primary-600, #0284c7) !important;
  color: #fff !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  cursor: pointer;
}

#home-services-container .services-list .list-item .booking-button:hover,
#services-container .services-list .list-item .booking-button:hover,
#services-container .list-container .booking-button2:hover {
  color: #fff !important;
  filter: brightness(0.95);
}

/* Appointment form */
#appointment-container .booking-container {
  width: min(640px, 100%) !important;
  max-width: 640px !important;
  margin: 0 auto !important;
  padding: 4px 0 8px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#appointment-container .booking-container .row_ {
  margin: 0 0 14px !important;
  background: transparent !important;
}

#appointment-container .heading {
  margin: 0 0 8px !important;
  text-align: left !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  color: var(--slate-900) !important;
}

#appointment-container .lable {
  margin: 0 0 6px !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--slate-700) !important;
}

#appointment-container .service-name-container,
#appointment-container .date-time,
#appointment-container .notes,
#appointment-container .user-name,
#appointment-container .user-email,
#appointment-container .user-phone {
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 12px !important;
  background: var(--bg-page) !important;
  color: var(--slate-800) !important;
  box-sizing: border-box;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 15px !important;
}

#appointment-container .notes {
  min-height: 96px;
  resize: vertical;
}

#appointment-container .list-container {
  border: 1px solid var(--border-subtle) !important;
  border-radius: 12px !important;
  background: var(--bg-page) !important;
  color: var(--slate-800) !important;
}

#appointment-container .booking-button {
  width: 100% !important;
  margin: 4px 0 0 !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--primary-gradient) !important;
  color: #fff !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer;
}

#appointment-container .booking-button:hover {
  color: #fff !important;
  filter: brightness(0.97);
}

@media screen and (max-width: 768px) {
  .footer .container {
    width: calc(100% - 32px) !important;
    max-width: none !important;
  }

  .footer .border-top,
  .footer .phone-address {
    justify-content: center !important;
    text-align: center !important;
  }
}

#header .com-hub-notification-count,
#header .noofitems {
  top: -4px !important;
  right: -4px !important;
  font-size: 10px !important;
  min-width: 16px;
  padding: 1px 5px !important;
  text-align: center;
  line-height: 1.2;
  box-sizing: border-box;
}

/* Section photos show the whole image: products, media, services, and the other card grids */
#home-products-container .ch-product-media img,
#store-container .ch-product-media img,
.ch-product-media img,
#home-media-container .mc-media-thumb img,
#media-container .mc-media-thumb img,
#home-media-container .mc-media-thumb video,
#media-container .mc-media-thumb video,
.mc-media-thumb img,
.mc-media-thumb video,
#home-services-container .services-list .list-item .image,
#services-container .services-list .list-item .image,
#services-container .service-image,
#home-deals-container .deals-image,
#deals-container .deals-image,
#home-events-grid .event-image,
.mc-event-thumb .event-image,
#home-courses-container .course-img,
#home-promotional-container .card-img-top,
#main-container .mc-course-card .mc-course-media img,
#home-posts-container .post-image,
#posts-container .post-image,
#store-container .categories-list .image,
#bus-int-container .options-container .list-item .image,
#about-container .places-photo-image,
#places-home-container .places-photo-image,
#about-container .main-image,
#about-container .col2 .image {
  object-fit: contain !important;
  object-position: center center !important;
  background: var(--slate-100);
}

/* Hub posts match the home-feed post card */
#home-posts-container .post-container,
#posts-container .post-container {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 16px !important;
  padding: 18px 18px 14px !important;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg, 16px) !important;
  box-shadow: var(--shadow-sm, 0 1px 3px rgba(15, 23, 42, 0.07));
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif;
  box-sizing: border-box;
}

#posts-container .post-container .post {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  background: transparent !important;
  color: var(--slate-800);
}

#home-posts-container .post-container > .col1:empty {
  display: none !important;
}

#home-posts-container .post-container .col2 > .row_,
#posts-container .post > .row:has(.poster-image) {
  display: block !important;
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#home-posts-container .col-poster-image,
#posts-container .post .row .col1:has(.poster-image) {
  width: 44px !important;
  height: 44px !important;
  margin: 0 12px 0 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  overflow: hidden;
  border-radius: 50%;
  background: var(--slate-100);
}

#home-posts-container .poster-image,
#posts-container .poster-image,
#posts-container .post .row .col1 .poster-image {
  width: 44px !important;
  height: 44px !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  display: block;
  margin: 0 !important;
}

#home-posts-container .col-poster-name,
#posts-container .post .row .col2:has(.poster-name) {
  width: auto !important;
  max-width: calc(100% - 60px);
  min-width: 0;
  margin: 0 !important;
  padding: 2px 28px 0 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
}

#home-posts-container .poster-name,
#posts-container .poster-name {
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--slate-900) !important;
  margin: 0 !important;
}

#home-posts-container .posted-time,
#posts-container .posted-time {
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--slate-500) !important;
  margin: 2px 0 0 !important;
}

#home-posts-container .post-container .description,
#posts-container .post .description {
  display: block !important;
  clear: both;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 12px 0 0 !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: var(--slate-800) !important;
}

#home-posts-container .description .span-more,
#home-posts-container .description .span-less,
#posts-container .description .span-more,
#posts-container .description .span-less {
  color: var(--primary-600, #0284c7) !important;
  font-weight: 600;
}

#home-posts-container .description img,
#posts-container .description img {
  display: none !important;
}

#home-posts-container .section-lable:empty {
  display: none !important;
  margin: 0 !important;
}

#posts-container .post > .row {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

#home-posts-container .post-media-container,
#home-posts-container .image-container,
#posts-container .post-media-container {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 12px auto 0 !important;
  padding: 0 !important;
  border-radius: 12px;
  overflow: visible;
  background: transparent !important;
  text-align: center;
  clear: both;
}

#home-posts-container .post-image,
#posts-container .post .post-image,
#posts-container .post-media-container .post-image {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 420px !important;
  margin: 0 auto !important;
  display: block;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 12px !important;
  background: var(--slate-100);
}

#home-posts-container .post-media-container:has(video),
#posts-container .post-media-container:has(video) {
  position: relative;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}

#home-posts-container .post-media-container video,
#home-posts-container .mp4-video,
#posts-container .post-media-container video,
#posts-container .mp4-video {
  width: 100% !important;
  height: auto !important;
  max-height: calc(100vh - 100px) !important;
  object-fit: contain !important;
  background: #000;
  border-radius: 0 !important;
}

#home-posts-container .post-links-container,
#posts-container .post-links-container {
  flex: 0 0 100%;
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 12px 0 4px !important;
  border-top: 1px solid var(--border-subtle);
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  box-sizing: border-box;
}

#home-posts-container .post-links,
#home-posts-container .post-links2,
#posts-container .post-links,
#posts-container .post-links2 {
  width: auto !important;
  flex: 1 1 0;
  display: inline-flex !important;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 8px;
  margin: 0 !important;
  border-radius: 8px;
  text-align: center;
  cursor: pointer;
}

#home-posts-container .post-links:hover,
#home-posts-container .post-links2:hover,
#posts-container .post-links:hover,
#posts-container .post-links2:hover {
  background: var(--slate-100);
}

#home-posts-container .post-links-image,
#posts-container .post-links-image {
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  object-fit: contain;
}

#home-posts-container .post-repost .post-links-image,
#home-posts-container .post-repost img,
#posts-container .post-repost .post-links-image,
#posts-container .post-repost img {
  width: 26px !important;
  height: 26px !important;
}

#home-posts-container .post-links-caption,
#posts-container .post-links-caption {
  margin: 0 !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--slate-500) !important;
}

#home-posts-container .post-links-container .comment-count,
#home-posts-container .post-links-container .share-count,
#home-posts-container .post-links-container .repost-count,
#home-posts-container .post-links-container .rate-count,
#home-posts-container .post-links-container .comments-count,
#posts-container .post-links-container .comment-count,
#posts-container .post-links-container .share-count,
#posts-container .post-links-container .repost-count,
#posts-container .post-links-container .rate-count,
#posts-container .post-links-container .comments-count {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  background: transparent !important;
  color: var(--slate-500) !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

#home-posts-container .comments-container,
#home-posts-container .share-container,
#home-posts-container .repost-container,
#home-posts-container .rating-container,
#posts-container .comments-container,
#posts-container .share-container,
#posts-container .repost-container,
#posts-container .rating-container {
  flex: none !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 8px 0 0 !important;
  box-sizing: border-box;
  clear: both;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
}

#home-posts-container .comments-container,
#posts-container .comments-container,
#home-posts-container .repost-container,
#posts-container .repost-container,
#home-posts-container .rating-container,
#posts-container .rating-container,
#home-posts-container .share-container,
#posts-container .share-container {
  padding: 12px !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 16px !important;
  background: var(--bg-surface) !important;
}

#home-posts-container .comments-count-container,
#posts-container .comments-count-container {
  margin: 0 0 8px !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  color: var(--slate-500) !important;
}

#home-posts-container .new-comment-container,
#posts-container .new-comment-container {
  position: relative;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#home-posts-container .comment-input,
#posts-container .comment-input {
  width: 100% !important;
  height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
  margin: 0 !important;
  padding: 8px 44px 8px 16px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 999px !important;
  background: var(--bg-page) !important;
  color: var(--slate-800) !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 14px !important;
  line-height: 22px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
}

#home-posts-container .comment-input:empty::before,
#posts-container .comment-input:empty::before {
  content: "Add a comment...";
  color: var(--slate-400, #94a3b8);
  pointer-events: none;
}

#home-posts-container .new-comment-container .emoji-container,
#posts-container .new-comment-container .emoji-container,
#home-posts-container .repost-container .emoji-container,
#posts-container .repost-container .emoji-container {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

#home-posts-container .new-comment-container .emoji-container .button-row,
#posts-container .new-comment-container .emoji-container .button-row {
  position: absolute !important;
  top: 8px !important;
  right: 12px !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  float: none !important;
  z-index: 3;
}

#home-posts-container .emoji-container .smile-face,
#home-posts-container .emoji-container .smile-face img,
#posts-container .emoji-container .smile-face,
#posts-container .emoji-container .smile-face img {
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  display: block !important;
  object-fit: contain;
}

#home-posts-container .emojies-container,
#posts-container .emojies-container {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 8px 0 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 12px !important;
  background: var(--bg-surface) !important;
  box-shadow: none !important;
}

#home-posts-container .emoji-menu-list,
#posts-container .emoji-menu-list {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 6px 8px !important;
  overflow-x: auto !important;
  border: none !important;
  border-bottom: 1px solid var(--border-subtle) !important;
  border-radius: 12px 12px 0 0 !important;
  background: var(--slate-100) !important;
  list-style: none !important;
}

#home-posts-container .emoji-menu-list .list-item,
#posts-container .emoji-menu-list .list-item {
  flex: 0 0 auto;
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}

#home-posts-container .emojis-list,
#posts-container .emojis-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 2px !important;
  width: 100% !important;
  height: 168px !important;
  max-height: 168px !important;
  margin: 0 !important;
  padding: 8px !important;
  overflow: auto !important;
  background: var(--bg-surface) !important;
}

#home-posts-container .emojis-list .list-item,
#posts-container .emojis-list .list-item {
  width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 22px !important;
}

#home-posts-container .comment-button,
#posts-container .comment-button,
#home-posts-container .repost-button,
#posts-container .repost-button,
#home-posts-container .rate-button,
#posts-container .rate-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 96px;
  height: 36px !important;
  margin: 10px 0 0 !important;
  padding: 0 18px !important;
  border: none !important;
  border-radius: 999px !important;
  background: var(--primary-600, #0284c7) !important;
  color: #fff !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: none !important;
  cursor: pointer;
}

#home-posts-container .repost-lead,
#posts-container .repost-lead {
  display: block !important;
  margin: 0 0 10px !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  color: var(--slate-500) !important;
}

#home-posts-container .repost-choice,
#posts-container .repost-choice {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 14px !important;
  background: var(--bg-page) !important;
  cursor: pointer;
}

#home-posts-container .repost-choice:has(.repost-option:checked),
#posts-container .repost-choice:has(.repost-option:checked) {
  border-color: #bae6fd !important;
  background: #f0f9ff !important;
}

#home-posts-container .repost-choice-copy,
#posts-container .repost-choice-copy {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

#home-posts-container .repost-container .label,
#posts-container .repost-container .label {
  display: block !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--slate-800) !important;
}

#home-posts-container .repost-hint,
#posts-container .repost-hint {
  display: block !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: var(--slate-500) !important;
}

#home-posts-container .repost-option,
#posts-container .repost-option {
  width: 18px !important;
  height: 18px !important;
  margin: 2px 0 0 !important;
  flex: 0 0 18px !important;
  accent-color: var(--primary-600, #0284c7);
}

#home-posts-container .repost-container .new-description,
#posts-container .repost-container .new-description {
  width: 100% !important;
  min-height: 72px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 12px !important;
  background: var(--bg-page) !important;
  color: var(--slate-800) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

#home-posts-container .repost-container .new-description:empty::before,
#posts-container .repost-container .new-description:empty::before {
  content: "Write what you think...";
  color: var(--slate-400, #94a3b8);
  pointer-events: none;
}

#home-posts-container .repost-container .button-row,
#posts-container .repost-container .button-row,
#home-posts-container .rating-container .button-row,
#posts-container .rating-container .button-row {
  display: flex !important;
  justify-content: flex-end !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  text-align: right !important;
  float: none !important;
}

#home-posts-container .repost-button,
#posts-container .repost-button,
#home-posts-container .rate-button,
#posts-container .rate-button {
  margin: 0 0 0 auto !important;
}

#home-posts-container .rating-container > .row:not(.button-row),
#posts-container .rating-container > .row:not(.button-row) {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

#home-posts-container .rating-container > .row:not(.button-row) > .col1,
#home-posts-container .rating-container > .row:not(.button-row) > .col2,
#posts-container .rating-container > .row:not(.button-row) > .col1,
#posts-container .rating-container > .row:not(.button-row) > .col2 {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  box-sizing: border-box !important;
  float: none !important;
  text-align: left !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 14px !important;
  background: var(--bg-page) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--slate-800) !important;
}

#home-posts-container .rating-container > .row:not(.button-row) > .col2,
#posts-container .rating-container > .row:not(.button-row) > .col2 {
  order: 1 !important;
}

#home-posts-container .rating-container > .row:not(.button-row) > .col1,
#posts-container .rating-container > .row:not(.button-row) > .col1 {
  order: 2 !important;
  border-color: #bae6fd !important;
  background: #f0f9ff !important;
}

#home-posts-container .rating-container .lable,
#posts-container .rating-container .lable,
#home-posts-container .rating-container .rate-hint,
#posts-container .rating-container .rate-hint {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  text-align: left !important;
}

#home-posts-container .rating-container .rate-hint,
#posts-container .rating-container .rate-hint {
  margin-top: 2px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  color: var(--slate-500) !important;
}

#home-posts-container .rate-stars-list,
#posts-container .rate-stars-list {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 4px !important;
  width: auto !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#home-posts-container .rate-star,
#home-posts-container .rating-star,
#posts-container .rate-star,
#posts-container .rating-star {
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  object-fit: contain;
}

#home-posts-container .rating-container .col2 .rating-star,
#posts-container .rating-container .col2 .rating-star {
  width: 18px !important;
  height: 18px !important;
}

#home-posts-container .share-container .fa,
#posts-container .share-container .fa {
  display: inline-block;
  font-size: 22px !important;
  margin: 0 12px 0 0 !important;
  color: var(--primary-600, #0284c7) !important;
}

/* Storefront redesign: open page, banded sections, image-led cards */
#main-container > #home-posts-container,
#main-container > #home-media-container,
#main-container > #home-coupons-container,
#main-container > #home-deals-container,
#main-container > #home-testimonials-container,
#main-container > #home-services-container,
#home-products-container .products-list-container {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  padding: 6px 0 8px !important;
  margin: 0 0 8px !important;
}

#main-container > #home-services-container {
  margin: 8px 0 18px !important;
  padding: 22px 18px 20px !important;
  border-radius: 22px !important;
  background: #0f2744 !important;
}

#main-container > #home-coupons-container {
  margin: 4px 0 18px !important;
  padding: 18px 18px 16px !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #e0f2fe 0%, #f8fafc 55%) !important;
}

#main-container > #home-testimonials-container {
  margin: 8px 0 12px !important;
  padding: 8px 0 4px !important;
}

.slideshow-container {
  margin: 0 0 28px !important;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
}

#main-container > div > .row_:first-child,
#home-products-container .products-list-container > .row_:first-child {
  margin: 0 0 14px !important;
  padding: 0 !important;
  border-bottom: 0 !important;
}

#main-container .section-name {
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
}

#main-container > #home-services-container .section-name,
#main-container > #home-services-container .see-all {
  color: #fff !important;
}

#main-container .see-all {
  font-size: 13px !important;
  font-weight: 700 !important;
}

#main-container .see-all::after {
  content: " →";
}

#home-products-container .ch-product-card {
  border: 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

#home-products-container .ch-product-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12) !important;
}

#home-products-container .ch-product-media {
  height: 176px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #f4f7fb !important;
}

#home-products-container .ch-product-media img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  background: transparent !important;
}

#home-products-container .ch-product-price {
  color: var(--primary-700, #0369a1) !important;
  font-weight: 800 !important;
}

#home-coupons-container .mc-coupon-card {
  border: 0 !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(2, 132, 199, 0.12) !important;
}

#home-services-container .services-list .list-item {
  padding: 0 0 14px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18) !important;
  overflow: hidden !important;
}

#home-services-container .services-list .list-item .image {
  height: 168px !important;
  max-height: 168px !important;
  border-radius: 0 !important;
  background: #f8fafc !important;
}

#home-services-container .services-list .list-item .service-name,
#home-services-container .services-list .list-item .description,
#home-services-container .services-list .list-item .booking-button {
  margin-left: 14px !important;
  margin-right: 14px !important;
}

#home-services-container .services-list .list-item .service-name,
#home-services-container .services-list .list-item .description {
  width: auto !important;
}

#home-services-container .services-list .list-item .booking-button {
  width: calc(100% - 28px) !important;
}

#home-services-container .services-list .list-item .service-name {
  margin-top: 14px !important;
}

#home-services-container .services-list .list-item .description,
#services-container .services-list .list-item .description {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  overflow: hidden !important;
}

#home-posts-container .post-container {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 2px 0 0 !important;
  margin: 0 !important;
}

#home-media-container .media-list,
#home-media-container .ch-card-grid {
  gap: 10px !important;
}

#home-media-container .mc-media-card {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 16px !important;
  overflow: hidden;
}

#home-media-container .mc-media-body {
  display: none !important;
}

#home-media-container .mc-media-thumb {
  height: 168px !important;
  border-radius: 16px;
  overflow: hidden;
}

#home-testimonials-container .mc-testimonial-card,
#testimonials-container .mc-testimonial-card {
  border: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
}

#home-testimonials-container .description,
#testimonials-container .description,
.mc-testimonial-card .description {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  line-clamp: 4 !important;
  overflow: hidden !important;
}

#home-products-container .see-all,
#main-container > #home-coupons-container .section-name,
#main-container > #home-coupons-container .see-all,
#main-container > #home-posts-container .section-name,
#main-container > #home-posts-container .see-all,
#main-container > #home-media-container .section-name,
#main-container > #home-media-container .see-all,
#main-container > #home-testimonials-container .section-name,
#main-container > #home-testimonials-container .see-all {
  color: #0f2744 !important;
}

#home-products-container .see-all,
#main-container > #home-coupons-container .see-all,
#main-container > #home-posts-container .see-all,
#main-container > #home-media-container .see-all,
#main-container > #home-testimonials-container .see-all {
  color: #0369a1 !important;
}

#home-media-container .mc-media-duration {
  display: none !important;
}

/* Services across the top. Products on their own row.
   Coupon and the latest post share the next row, top-aligned. */
#main-container {
  display: grid !important;
  grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.25fr);
  column-gap: 22px;
  row-gap: 22px;
  align-items: start;
}

#main-container > * {
  grid-column: 1 / -1;
  grid-row: auto;
  min-width: 0;
}

#main-container > #home-services-container {
  order: 1;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

#main-container > #home-services-container .section-name {
  color: #0f2744 !important;
}

#main-container > #home-services-container .see-all {
  color: #0369a1 !important;
}

#home-services-container .services-list .list-item {
  background: #fff !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
}

#main-container > #home-products-container {
  order: 2;
  grid-column: 1 / -1;
  grid-row: auto;
}

#home-products-container .ch-card-grid,
#featured-products-slider {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#main-container > #home-coupons-container {
  order: 3;
  grid-column: 1 / -1;
  align-self: stretch;
  background: transparent !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  height: auto !important;
}

#home-coupons-container .coupons-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
}

#home-coupons-container .coupons-list .list-item,
#home-coupons-container .mc-coupon-card {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
}

#home-coupons-container .mc-coupon-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
}

#home-coupons-container .mc-coupon-details {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
}

#home-coupons-container .mc-coupon-title,
#home-coupons-container .mc-coupon-business,
#home-coupons-container .mc-coupon-code-pill {
  overflow-wrap: break-word !important;
  word-break: normal !important;
  white-space: normal !important;
}

#home-posts-container {
  display: none !important;
}

#home-posts-container .post-image,
#home-posts-container .image-container .post-image {
  max-height: 280px !important;
}

#main-container > #home-media-container {
  order: 5;
}

#main-container > #home-testimonials-container {
  order: 6;
}

#main-container > #home-deals-container,
#main-container > #home-team-container,
#main-container > #home-events-container {
  order: 7;
}

@media screen and (max-width: 980px) {
  #main-container {
    grid-template-columns: 1fr !important;
  }

  #main-container > #home-products-container,
  #main-container > #home-coupons-container,
  #main-container > #home-posts-container {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }

  #home-products-container .ch-card-grid,
  #featured-products-slider {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Services follow the template: large rounded photo, title and quiet button on the page */
#home-services-container,
#home-services-container .row_ {
  background: transparent !important;
  border-radius: 0 !important;
}

#home-services-container > .row_:first-child {
  margin-bottom: 20px !important;
  align-items: flex-end !important;
}

#main-container > #home-services-container .section-name {
  font-size: 32px !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.15 !important;
  color: var(--slate-900) !important;
}

#home-services-container .services-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px 16px !important;
  align-items: start !important;
  background: transparent !important;
  border-radius: 0 !important;
}

#home-services-container .services-list .list-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

#home-services-container .services-list .list-item:hover {
  transform: none !important;
  box-shadow: none !important;
}

#home-services-container .services-list .list-item .image {
  display: block !important;
  flex: 0 0 auto;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 4 / 3;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: var(--slate-100) !important;
  border: 0 !important;
  border-radius: 14px !important;
}

#home-services-container .services-list .list-item .service-name,
#home-services-container .services-list .list-item .description,
#home-services-container .services-list .list-item .booking-button {
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 0 !important;
}

#home-services-container .services-list .list-item .service-name {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  min-height: 0 !important;
  margin: 12px 0 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.25 !important;
  color: var(--slate-900) !important;
}

#home-services-container .services-list .list-item .description {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  margin: 6px 0 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  color: var(--slate-500, #64748b) !important;
}

#home-services-container .services-list .list-item .booking-button {
  position: static !important;
  align-self: stretch;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 8px 10px !important;
  border: 1px solid #c5cdd6 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--slate-900) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  cursor: pointer;
  white-space: nowrap;
}

#home-services-container .services-list .list-item .booking-button::after {
  content: " →" !important;
}

#home-services-container .services-list .list-item .booking-button:hover {
  background: var(--slate-900) !important;
  border-color: var(--slate-900) !important;
  color: var(--bg-page, #fff) !important;
  filter: none;
}

@media screen and (max-width: 800px) {
  #home-services-container .services-list {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  #home-services-container .services-list .list-item .image {
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 16 / 10;
  }

  #main-container > #home-services-container .section-name {
    font-size: 26px !important;
  }
}

/* Featured products: rounded photo, name, price, full-width Explore button */
#home-products-container .ch-card-grid {
  gap: 28px 18px !important;
  align-items: start !important;
}

#home-products-container .ch-product-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

#home-products-container .ch-product-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

#home-products-container .ch-product-media {
  height: auto !important;
  aspect-ratio: 4 / 3;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: var(--slate-100) !important;
}

#home-products-container .ch-product-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
  border-radius: 0 !important;
}

#home-products-container .ch-product-body {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex: 1 1 auto;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

#home-products-container .ch-product-vendor {
  display: none !important;
}

#home-products-container .ch-product-title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  min-height: 2.6em;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
  color: var(--slate-900) !important;
}

#home-products-container .ch-product-price {
  margin: 6px 0 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  color: var(--slate-500, #64748b) !important;
}

#home-products-container .ch-product-explore {
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100% !important;
  margin: 16px 0 0 !important;
  padding: 10px 16px !important;
  border: 1px solid #c5cdd6 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--slate-900) !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  cursor: pointer;
}

#home-products-container .ch-product-explore::after {
  content: " →";
}

#home-products-container .ch-product-explore:hover {
  background: var(--slate-900) !important;
  border-color: var(--slate-900) !important;
  color: var(--bg-page, #fff) !important;
}

/* Home media: rounded photo with the name centered underneath */
#home-media-container .media-list,
#home-media-container .ch-card-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 28px 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
}

#home-media-container .list-item {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#home-media-container .mc-media-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#home-media-container .mc-media-thumb {
  box-sizing: border-box !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  margin: 0 !important;
  padding: 10px !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: transparent !important;
}

#home-media-container .mc-media-card:hover .mc-media-thumb {
  background: #f1f2f4 !important;
}

#home-media-container .mc-media-thumb img,
#home-media-container .mc-media-thumb video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 20px !important;
  background: var(--slate-100) !important;
}

#home-media-container .mc-media-duration {
  display: none !important;
}

#home-media-container .mc-media-body,
#home-media-container .mc-media-title {
  display: none !important;
}

#home-media-container .mc-media-title {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
  text-align: center !important;
  color: var(--slate-900) !important;
}

#home-media-container .mc-media-meta {
  display: none !important;
}

[data-theme="dark"] #home-media-container .mc-media-card:hover .mc-media-thumb {
  background: var(--slate-100) !important;
}

@media screen and (max-width: 800px) {
  #home-media-container .media-list,
  #home-media-container .ch-card-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Banner: tinted frame, white stage, center photo with side peeks and round arrows */
.slideshow-container {
  width: 75vw !important;
  max-width: 75vw !important;
  position: relative;
  left: 50%;
  margin: 0 0 28px -37.5vw !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 22px !important;
  background: #e4e7ec !important;
  box-shadow: none !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

.slideshow-container .carousel {
  background: transparent !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border-radius: 22px !important;
}

.slideshow-container .carousel,
.slideshow-container #carousel-inner {
  height: 480px !important;
}

.slideshow-container .carousel {
  height: auto !important;
}

.slideshow-container #carousel-inner {
  height: 480px !important;
  background: transparent !important;
}

.slideshow-container #carousel-inner .carousel-item.active,
.slideshow-container #carousel-inner .carousel-item-next,
.slideshow-container #carousel-inner .carousel-item-prev {
  align-items: stretch !important;
  justify-content: center !important;
  gap: 12px !important;
}

.slideshow-container #carousel-inner .carousel-item > div {
  height: 100% !important;
  border-radius: 14px !important;
  background: transparent !important;
}

.slideshow-container #carousel-inner .carousel-item > div:nth-child(1),
.slideshow-container #carousel-inner .carousel-item > div:nth-child(3) {
  align-self: stretch !important;
  width: 8% !important;
  max-width: 8% !important;
  height: 100% !important;
}

.slideshow-container #carousel-inner .carousel-item > div:nth-child(2) {
  width: calc(84% - 24px) !important;
  max-width: none !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  box-shadow: none !important;
}

.slideshow-container #carousel-inner .carousel-item > div > a,
.slideshow-container #carousel-inner .carousel-item > div:nth-child(1) a,
.slideshow-container #carousel-inner .carousel-item > div:nth-child(3) a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.slideshow-container #carousel-inner .carousel-item img,
.slideshow-container #carousel-inner .carousel-item > div:nth-child(1) img,
.slideshow-container #carousel-inner .carousel-item > div:nth-child(3) img,
.slideshow-container #carousel-inner .carousel-item > div:nth-child(2) img,
.slideshow-container.is-single #carousel-inner .carousel-item > div:only-child img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}

.slideshow-container .carousel-control-prev,
.slideshow-container .carousel-control-next {
  width: 46px !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.16) !important;
}

.slideshow-container .carousel-control-prev {
  left: calc(8% - 9px) !important;
}

.slideshow-container .carousel-control-next {
  right: calc(8% - 9px) !important;
}

.slideshow-container .carousel-control-prev-icon,
.slideshow-container .carousel-control-next-icon {
  width: 16px !important;
  height: 16px !important;
  background-size: 16px 16px !important;
  filter: brightness(0) !important;
}

[data-theme="dark"] .slideshow-container {
  background: #3a4250 !important;
}

[data-theme="dark"] .slideshow-container .carousel {
  background: var(--bg-surface, #1e293b) !important;
}

@media screen and (max-width: 820px) {
  .slideshow-container {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    border-radius: 18px !important;
  }

  .slideshow-container .carousel {
    padding: 0 !important;
  }

  .slideshow-container #carousel-inner {
    height: 280px !important;
  }

  .slideshow-container #carousel-inner .carousel-item > div:nth-child(1),
  .slideshow-container #carousel-inner .carousel-item > div:nth-child(3) {
    display: none !important;
  }

  .slideshow-container #carousel-inner .carousel-item > div:nth-child(2) {
    width: 100% !important;
    max-width: 100% !important;
  }

  .slideshow-container .carousel-control-prev {
    left: 20px !important;
  }

  .slideshow-container .carousel-control-next {
    right: 20px !important;
  }
}

/* Testimonials: quote first, person along the bottom */
#home-testimonials-container .testimonials-list,
#testimonials-container .testimonials-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

#main-container > #home-testimonials-container .section-name {
  font-size: 32px !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  color: var(--slate-900) !important;
}

#home-testimonials-container .mc-testimonial-card,
#testimonials-container .mc-testimonial-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 26px 24px 20px !important;
  background: var(--bg-surface) !important;
  border: 0 !important;
  border-radius: 22px !important;
  box-shadow: none !important;
}

#home-testimonials-container .mc-testimonial-card::before,
#testimonials-container .mc-testimonial-card::before {
  content: "\201C";
  display: block;
  margin: 0 0 8px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 58px;
  font-weight: 700;
  line-height: 0.7;
  color: var(--primary-600, #0284c7);
}

#home-testimonials-container .mc-testimonial-card > .description,
#testimonials-container .mc-testimonial-card > .description {
  order: 1;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  line-clamp: 4 !important;
  flex: 1 1 auto;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  color: var(--slate-700) !important;
}

#home-testimonials-container .mc-testimonial-card > .row_,
#testimonials-container .mc-testimonial-card > .row_ {
  order: 2;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 18px 0 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--border-subtle) !important;
  background: transparent !important;
}

#home-testimonials-container .mc-testimonial-card .col1,
#testimonials-container .mc-testimonial-card .col1 {
  flex: 0 0 44px;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
}

#home-testimonials-container .mc-testimonial-card .col2,
#testimonials-container .mc-testimonial-card .col2 {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  margin: 0 !important;
}

#home-testimonials-container .client-image,
#testimonials-container .client-image,
.mc-testimonial-card .client-image {
  display: block !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
}

#home-testimonials-container .user-name,
#testimonials-container .user-name,
.mc-testimonial-card .user-name {
  margin: 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--slate-900) !important;
}

@media screen and (max-width: 800px) {
  #home-testimonials-container .testimonials-list,
  #testimonials-container .testimonials-list {
    grid-template-columns: 1fr !important;
  }

  #main-container > #home-testimonials-container .section-name {
    font-size: 26px !important;
  }
}

/* Section headings: accent bar on a grey strip. Cards: surface and a lift on hover. */
#main-container > [id] > .row_:first-child:has(> .section-name),
#home-products-container .products-list-container > .row_:first-child {
  margin: 0 0 16px !important;
  padding: 10px 14px !important;
  background: var(--slate-100, #eef2f6) !important;
  border-radius: 14px !important;
}

#main-container .section-name,
#main-container > #home-services-container .section-name,
#main-container > #home-testimonials-container .section-name,
#home-products-container .section-name {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.2 !important;
  color: var(--slate-900) !important;
  background: transparent !important;
}

#main-container .section-name::before,
#home-products-container .section-name::before {
  content: "";
  width: 4px;
  height: 1.05em;
  border-radius: 4px;
  background: var(--primary-600, #0284c7);
  flex: 0 0 auto;
}

#main-container .see-all,
#home-products-container .see-all,
#main-container > #home-services-container .see-all,
#main-container > #home-coupons-container .see-all,
#main-container > #home-media-container .see-all,
#main-container > #home-testimonials-container .see-all {
  padding: 6px 12px !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 999px !important;
  background: var(--bg-surface) !important;
  color: var(--primary-700, #0369a1) !important;
}

#main-container .see-all:hover,
#home-products-container .see-all:hover {
  background: var(--primary-600, #0284c7) !important;
  border-color: var(--primary-600, #0284c7) !important;
  color: #fff !important;
}

#home-services-container .services-list .list-item,
#home-products-container .ch-product-card,
#home-media-container .mc-media-card,
#home-testimonials-container .mc-testimonial-card,
#testimonials-container .mc-testimonial-card,
#home-coupons-container .mc-coupon-card,
#home-deals-container .mc-coupon-card {
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05) !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

#home-services-container .services-list .list-item,
#home-products-container .ch-product-card,
#home-media-container .mc-media-card {
  padding: 10px 10px 14px !important;
  border-radius: 18px !important;
}

#home-services-container .services-list .list-item:hover,
#home-products-container .ch-product-card:hover,
#home-media-container .mc-media-card:hover,
#home-testimonials-container .mc-testimonial-card:hover,
#testimonials-container .mc-testimonial-card:hover,
#home-coupons-container .mc-coupon-card:hover,
#home-deals-container .mc-coupon-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12) !important;
}

/* Home coupons stay ticket-sized inside the section, not stretched across the row */
#home-coupons-container .coupons-list {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  gap: 16px !important;
  width: 100% !important;
}

#home-coupons-container .coupons-list .list-item,
#home-coupons-container .mc-coupon-card {
  width: 420px !important;
  max-width: 100% !important;
  height: auto !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
}

#home-coupons-container .mc-coupon-details {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
}

/* Store menu sits above the page. Store cards match the home product cards. */
#header .categories-menu {
  position: fixed !important;
  z-index: 5000 !important;
  width: 240px !important;
  max-height: 320px !important;
  margin: 0 !important;
  padding: 8px !important;
  overflow: auto !important;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.18) !important;
}

#header .categories-menu .list-item {
  margin: 0 !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  list-style: none !important;
  cursor: pointer;
  color: var(--slate-800) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

#header .categories-menu .list-item:hover {
  background: var(--slate-100) !important;
  color: var(--primary-700, #0369a1) !important;
}

#store-container .categories-container {
  margin: 0 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#store-container .categories-container .row_ {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

#store-container .categories-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#store-container .categories-list .list-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 12px 16px !important;
  border-radius: 16px !important;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05) !important;
  text-align: left !important;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

#store-container .categories-list .list-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12) !important;
}

#store-container .categories-list .image {
  display: block !important;
  flex: 0 0 64px !important;
  width: 64px !important;
  height: 64px !important;
  margin: 0 !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  background: transparent !important;
}

#store-container .categories-list .title {
  width: auto !important;
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: left !important;
  color: var(--slate-900) !important;
}

#store-container .products-list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

#store-container .ch-product-card {
  display: flex !important;
  flex-direction: column !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 10px 14px !important;
  overflow: visible !important;
  background: var(--bg-surface) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05) !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

#store-container .ch-product-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12) !important;
}

#store-container .ch-product-media {
  height: auto !important;
  aspect-ratio: 4 / 3;
  display: block !important;
  margin: 0 !important;
  padding: 8px !important;
  overflow: hidden !important;
  border-radius: 14px !important;
  background: #fff !important;
}

#store-container .ch-product-media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  background: #fff !important;
}

#store-container .ch-product-body {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  background: transparent !important;
}

#store-container .ch-product-vendor {
  margin: 12px 0 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  color: var(--slate-500) !important;
}

#store-container .ch-product-title {
  margin: 4px 0 0 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  color: var(--slate-900) !important;
}

#store-container .ch-product-price {
  margin: 6px 0 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--slate-500) !important;
}

#store-container .ch-product-explore {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 8px 12px !important;
  border: 1px solid #c5cdd6 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--slate-900) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer;
}

#store-container .ch-product-explore::after {
  content: " →";
}

#store-container .ch-product-explore:hover {
  background: var(--slate-900) !important;
  border-color: var(--slate-900) !important;
  color: #fff !important;
}

@media screen and (max-width: 800px) {
  #store-container .products-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Services tab: same cards as the home services row */
#main-container > #services-container {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#services-container .services-tab-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
}

#services-container .list-container {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px 10px 14px !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 18px !important;
  background: var(--bg-surface) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.05) !important;
  box-sizing: border-box !important;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}

#services-container .list-container:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12) !important;
}

#services-container .sub1,
#services-container .sub2 {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  vertical-align: top !important;
}

#services-container .sub1 .service-image,
#services-container .list-container > .sub1 img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 14px !important;
  background: var(--slate-100) !important;
}

#services-container .list-container .section-name {
  display: block !important;
  width: auto !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.02em !important;
  color: var(--slate-900) !important;
}

#services-container .list-container .section-name::before {
  content: none !important;
  display: none !important;
}

#services-container .main-service-description {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  overflow: hidden !important;
  width: 100% !important;
  height: auto !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: var(--slate-500) !important;
}

#services-container .list-container .booking-button2 {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: none !important;
  margin: 14px 0 0 !important;
  padding: 8px 12px !important;
  border: 1px solid #c5cdd6 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--slate-900) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer;
}

#services-container .list-container .booking-button2::after {
  content: " →";
}

#services-container .list-container .booking-button2:hover {
  background: var(--slate-900) !important;
  border-color: var(--slate-900) !important;
  color: #fff !important;
}

#services-container .list-container .services-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Appointment: one form card */
#main-container > #appointment-container {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#appointment-container .booking-container {
  width: min(560px, 100%) !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  padding: 28px 28px 24px !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 18px !important;
  background: var(--bg-surface) !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
  box-sizing: border-box !important;
}

#appointment-container .booking-container .row_ .heading,
#appointment-container .heading {
  margin: 0 0 18px !important;
  text-align: left !important;
  font-family: var(--font-sans), "Plus Jakarta Sans", sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -0.03em !important;
  text-transform: none !important;
  color: var(--slate-900) !important;
}

#appointment-container .service-name-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer;
}

#appointment-container .service-name {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: var(--slate-800) !important;
}

/* Posts and interactivity use the home-feed column */
#main-container > #posts-container,
#main-container > #bus-int-container {
  width: min(680px, 100%) !important;
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#posts-container .post-container {
  padding: 18px 18px 14px !important;
}

#posts-container .post-media-container,
#posts-container .post .image-container,
#posts-container .post .media-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 12px !important;
  background: var(--slate-100) !important;
  text-align: center !important;
}

#posts-container .post .post-image,
#posts-container .post-media-container .post-image {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 480px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  background: var(--slate-100) !important;
}

#posts-container .post-links-container {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
}

#bus-int-container > .display-container {
  max-width: none !important;
  margin: 0 0 16px !important;
}

#bus-int-container .mc-interactivity-card,
#bus-int-container .slides {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  height: auto !important;
  padding: 18px !important;
  box-sizing: border-box !important;
}

#bus-int-container .question {
  order: 1;
  white-space: normal !important;
  word-break: normal !important;
}

#bus-int-container .mc-interactivity-top {
  order: 0;
}

#bus-int-container .mc-interactivity-author {
  order: 0;
}

#bus-int-container .image-container,
#bus-int-container .mc-interactivity-media {
  order: 2;
  width: 100% !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: var(--slate-100) !important;
}

#bus-int-container .main-image,
#bus-int-container .mc-interactivity-media img {
  width: 100% !important;
  height: auto !important;
  max-height: 340px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}

#bus-int-container .options-container,
#bus-int-container .yes-no-list,
#bus-int-container .multiple-options-list {
  order: 3;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
  list-style: none !important;
}

#bus-int-container .options-container .list-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex: 1 1 200px !important;
  width: auto !important;
  max-width: calc(50% - 6px) !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: 14px !important;
  background: var(--bg-page) !important;
  box-sizing: border-box !important;
}

#bus-int-container .options-container .list-item .image {
  display: block !important;
  width: 100% !important;
  height: 120px !important;
  margin: 0 0 8px !important;
  object-fit: cover !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--slate-100) !important;
}

#bus-int-container .options-container .list-item .answers,
#bus-int-container .options-container .list-item .yes-caption,
#bus-int-container .options-container .list-item .no-caption {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  writing-mode: horizontal-tb !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-align: left !important;
  color: var(--slate-800) !important;
  background: transparent !important;
}

#bus-int-container .quiz-options,
#bus-int-container .voting-options {
  position: static !important;
  align-self: flex-start !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 0 8px !important;
  accent-color: var(--primary-600, #0284c7);
}

#bus-int-container .submit-button {
  order: 4;
  align-self: flex-end !important;
}

@media screen and (max-width: 800px) {
  #services-container .services-tab-grid {
    grid-template-columns: 1fr !important;
  }

  #bus-int-container .options-container .list-item {
    max-width: 100% !important;
  }
}

.ch-product-media,
#home-products-container .ch-product-media,
#store-container .ch-product-media {
  background: #fff !important;
}

.product-image,
.ch-product-media img,
#home-products-container .ch-product-media img,
#store-container .ch-product-media img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}

#home-media-container .mc-media-card,
#home-media-container .mc-media-thumb {
  padding: 0 !important;
}

#home-media-container .mc-media-card {
  overflow: hidden !important;
}

#home-media-container .mc-media-thumb img,
#home-media-container .mc-media-thumb video,
#media-container .mc-media-thumb img,
#media-container .mc-media-thumb video {
  width: 100% !important;
  height: 100% !important;
  border-radius: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
}

#home-media-container .mc-media-thumb,
#media-container .mc-media-thumb {
  background: transparent !important;
}

/* Short tabs (empty News, Coupons, Deals) still pin the footer to the bottom of the screen */
body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

#site-content {
  flex: 1 0 auto;
  display: flex !important;
  flex-direction: column;
  min-height: 0;
}

#site-content > .main-container,
#site-content > .slideshow-container {
  flex: 0 0 auto;
}

#site-content > .footer,
.site-content > .footer {
  margin-top: auto !important;
}

/* Empty home shells were painting a blank rounded bar between real sections */
#places-home-container:not(:has(.places-card > *)),
#main-container > #home-promotional-container:not(:has(.mc-course-card, .card, .section-title)),
#main-container > #home-team-container:not(:has(.team-member, .mc-teacher-card, .section-name)),
#main-container > #home-services-container:not(:has(.list-item, .service-name, .section-name)),
#main-container > #home-courses-container:not(:has(.mc-course-card, .course-card, .section-name)),
#main-container > #home-media-container:not(:has(img, video, .section-name)),
#main-container > #home-coupons-container:not(:has(.list-item, .mc-coupon-card, .section-name)),
#main-container > #home-deals-container:not(:has(.list-item, .section-name)),
#main-container > #home-testimonials-container:not(:has(.list-item, .section-name)),
#main-container > #home-events-container:not(:has(.mc-event-card, .create-event-container, .section-name)) {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

#home-media-container .media-list.ch-card-grid .mc-media-thumb img,
#media-container .media-list.ch-card-grid .mc-media-thumb img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #fff !important;
}

#home-media-container .media-list.ch-card-grid .mc-media-thumb video,
#media-container .media-list.ch-card-grid .mc-media-thumb video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: #000 !important;
}

#home-media-container .media-list.ch-card-grid .mc-media-thumb,
#media-container .media-list.ch-card-grid .mc-media-thumb {
  background: #fff !important;
}

#home-media-container .media-list.ch-card-grid .mc-media-thumb:has(video),
#media-container .media-list.ch-card-grid .mc-media-thumb:has(video) {
  background: #000 !important;
}

#posts-container .comments-loader,
#posts-container .rating-loader,
#posts-container .share-loader,
#posts-container .repost-loader,
#posts-container .loader-container,
#home-posts-container .comments-loader,
#home-posts-container .rating-loader,
#home-posts-container .share-loader,
#home-posts-container .repost-loader,
#home-posts-container .loader-container,
#bus-int-container .comments-loader,
#bus-int-container .rating-loader,
#bus-int-container .loader-container {
  display: none !important;
}

#posts-container .ch-comment-skeleton,
#home-posts-container .ch-comment-skeleton,
#bus-int-container .ch-comment-skeleton {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  margin-top: 14px;
}

#posts-container .ch-comment-skel-row,
#home-posts-container .ch-comment-skel-row,
#bus-int-container .ch-comment-skel-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

#posts-container .ch-comment-skel-avatar,
#home-posts-container .ch-comment-skel-avatar,
#bus-int-container .ch-comment-skel-avatar {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
}

#posts-container .ch-comment-skel-lines,
#home-posts-container .ch-comment-skel-lines,
#bus-int-container .ch-comment-skel-lines {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

#posts-container .ch-comment-skel-line,
#home-posts-container .ch-comment-skel-line,
#bus-int-container .ch-comment-skel-line {
  display: block;
  width: 72%;
  height: 12px;
  margin: 0;
}

#posts-container .ch-comment-skel-line.short,
#home-posts-container .ch-comment-skel-line.short,
#bus-int-container .ch-comment-skel-line.short {
  width: 42%;
}

#posts-container .new-comment-container,
#home-posts-container .new-comment-container {
  position: relative !important;
}

#posts-container .comment-input,
#home-posts-container .comment-input {
  padding-right: 118px !important;
}

#posts-container .new-comment-container .comment-button,
#home-posts-container .new-comment-container .comment-button {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  z-index: 4;
  min-width: 64px;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 14px !important;
}

#posts-container .new-comment-container .emoji-container .button-row,
#home-posts-container .new-comment-container .emoji-container .button-row {
  top: 9px !important;
  right: 78px !important;
  z-index: 4;
}

#posts-container .emojies-container,
#home-posts-container .emojies-container,
#posts-container .repost-container .emojies-container,
#home-posts-container .repost-container .emojies-container {
  display: none !important;
}

#posts-container .emojies-container.is-open,
#home-posts-container .emojies-container.is-open {
  display: block !important;
}

#posts-container .repost-container .description-row,
#home-posts-container .repost-container .description-row {
  position: relative;
}

#posts-container .repost-container .emoji-container .button-row,
#home-posts-container .repost-container .emoji-container .button-row {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  float: none !important;
  z-index: 3;
}

#home-courses-container > .row.mb-4 {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  width: 100% !important;
  margin: 0 0 14px !important;
}

#home-courses-container > .row.mb-4 > .col-8,
#home-courses-container > .row.mb-4 > .col-4 {
  width: auto !important;
  max-width: none !important;
  flex: 1 1 240px !important;
  margin: 0 !important;
  padding: 0 !important;
}

#home-courses-container > .row.mb-4 > .col-8 {
  max-width: 460px !important;
}

#home-courses-container > .row.mb-4 > .col-4 {
  flex: 0 1 220px !important;
  max-width: 240px !important;
}

#home-courses-container .search-wrapper,
#home-courses-container .search-wrapper.mb-4 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

#home-courses-container .d-flex.gap-2 {
  width: 100%;
}

#home-courses-container .input-group,
#home-courses-container .form-select {
  min-height: 48px !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

#home-courses-container .form-select {
  width: 100%;
}

#home-courses-container > .course-container {
  display: flex !important;
  align-items: center;
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 10px 14px !important;
  background: var(--slate-100, #eef2f6) !important;
  border-radius: 14px !important;
}

#home-courses-container > .ch-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 320px)) !important;
  justify-content: start;
  gap: 16px !important;
}

#home-courses-container .mc-course-card {
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

#home-courses-container .mc-course-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.1) !important;
}

#home-courses-container .mc-course-media {
  height: 168px !important;
}

#home-courses-container .mc-course-teacher:empty {
  display: none;
}

#home-courses-container .mc-course-teacher {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--primary-700, #0369a1) !important;
}

#home-courses-container .mc-course-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
}

#home-courses-container .mc-course-meta {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

#home-courses-container .mc-course-price {
  font-size: 15px;
  font-weight: 800;
  color: var(--slate-900);
}

#home-courses-container .mc-course-rating {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 999px;
  background: #fff7ed;
  color: #b45309;
  font-size: 12px;
  font-weight: 800;
}

/* Deals: one offer stays a readable card, and the badge stays beside the text */
#home-deals-container .deals-list.ch-card-grid,
#deals-container .deals-list.ch-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 420px)) !important;
  justify-content: start !important;
}

#home-deals-container .mc-coupon-card,
#deals-container .mc-coupon-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  padding: 16px !important;
  box-sizing: border-box;
}

#home-deals-container .mc-coupon-discount,
#deals-container .mc-coupon-discount {
  position: static !important;
  flex: 0 0 76px !important;
  width: 76px !important;
  min-width: 76px !important;
  max-width: 76px !important;
  margin: 0 !important;
  overflow: hidden !important;
}

#home-deals-container .mc-coupon-discount-num,
#deals-container .mc-coupon-discount-num {
  white-space: normal !important;
  overflow-wrap: anywhere;
  font-size: 13px !important;
  line-height: 1.15 !important;
  text-align: center;
}

#home-deals-container .mc-coupon-details,
#deals-container .mc-coupon-details {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
}

#home-deals-container .mc-coupon-title,
#deals-container .mc-coupon-title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  line-clamp: 4 !important;
  overflow: hidden !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.45 !important;
}

@media screen and (max-width: 640px) {
  #home-deals-container .deals-list.ch-card-grid,
  #deals-container .deals-list.ch-card-grid {
    grid-template-columns: 1fr !important;
  }

  #header.header,
  #header .header-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }

  #header .header-container {
    padding: 8px 12px 0 !important;
    column-gap: 8px !important;
  }

  #header .header-container > .hub-back-btn,
  #header .header-container .col-logo,
  #header .header-container .col-links,
  #header .header-container .col-menu {
    min-width: 0 !important;
  }

  #header .header-container .col-logo .logo {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    border-radius: 12px !important;
  }

  #header .followDiv {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 2px !important;
    min-width: 0 !important;
  }

  #header .BusinessDiv {
    max-width: 100%;
    font-size: 16px !important;
    line-height: 1.2 !important;
  }

  #header .followcount {
    font-size: 12px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
  }

  #header .header-container .col-menu,
  #header .header-container .col-menu .menu-container {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #header .menu {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    padding: 0 2px !important;
  }

  #header .menu-item {
    padding: 12px 14px !important;
    font-size: 14px !important;
  }

  #store-container .products-list {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #store-container .ch-product-card {
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px !important;
  }

  #store-container .ch-product-media {
    flex: 0 0 84px !important;
    width: 84px !important;
    height: 84px !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 6px !important;
    border-radius: 12px !important;
  }

  #store-container .ch-product-body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  #store-container .ch-product-vendor {
    margin: 0 !important;
  }

  #store-container .ch-product-title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    overflow: hidden !important;
    margin: 2px 0 0 !important;
    font-size: 15px !important;
  }

  #store-container .ch-product-price {
    margin: 4px 0 0 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--slate-800) !important;
  }

  #store-container .ch-product-explore {
    width: auto !important;
    align-self: flex-start !important;
    margin: 8px 0 0 !important;
    padding: 6px 12px !important;
    font-size: 13px !important;
  }

  #posts-container .post-container,
  #home-posts-container .post-container {
    padding: 14px 12px 12px !important;
    overflow: hidden !important;
  }

  #posts-container .post-links-container,
  #home-posts-container .post-links-container {
    flex-wrap: nowrap !important;
    gap: 2px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  #posts-container .post-links,
  #posts-container .post-links2,
  #home-posts-container .post-links,
  #home-posts-container .post-links2 {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    flex-direction: column !important;
    gap: 2px !important;
    padding: 6px 0 !important;
  }

  #posts-container .post-links-caption,
  #home-posts-container .post-links-caption {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px !important;
  }

  #posts-container .rating-container,
  #home-posts-container .rating-container {
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  #posts-container .rate-stars-list,
  #home-posts-container .rate-stars-list,
  #posts-container .user-rating,
  #home-posts-container .user-rating,
  #posts-container .your-rating,
  #home-posts-container .your-rating {
    display: flex !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
    gap: 2px !important;
  }

  #posts-container .rate-star-item,
  #home-posts-container .rate-star-item {
    display: flex !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #posts-container .rate-star,
  #posts-container .rating-star,
  #home-posts-container .rate-star,
  #home-posts-container .rating-star {
    width: 22px !important;
    height: 22px !important;
    margin: 0 !important;
  }
}
