/* templates/blocks/brand-carousel/style.css — v1.1.0 */

.pf-brand-carousel {
  --pf-bc-bg: transparent;
  --pf-bc-pad: 0;
  --pf-bc-radius: 0px;
  --pf-bc-gap: 24px;
  --pf-bc-logo-h: 56px;
  --pf-bc-logo-w: 160px;
  --pf-bc-card-bg: transparent;
  --pf-bc-card-pad: 12px 22px;
  --pf-bc-card-radius: 10px;
  --pf-bc-card-border: 0px solid transparent;
  --pf-bc-card-shadow: none;
  --pf-bc-title-color: #111827;
  --pf-bc-title-fs: 18px;
  --pf-bc-title-fw: 700;
  --pf-bc-title-lh: 1.25;
  --pf-bc-title-mb: 18px;
  --pf-bc-title-transform: uppercase;
  --pf-bc-line-color: #16a34a;
  --pf-bc-line-w: 90px;
  --pf-bc-line-h: 2px;
  --pf-bc-line-mt: 10px;
  --pf-bc-nav-bg: #ffffff;
  --pf-bc-nav-color: #334155;
  --pf-bc-nav-size: 38px;
  --pf-bc-nav-radius: 50%;
  --pf-bc-nav-shadow: 0 8px 22px rgba(15,23,42,.16);
  --pf-bc-dot-color: #cbd5e1;
  --pf-bc-dot-active: #16a34a;
  box-sizing: border-box;
  width: 100%;
  position: relative;
  background: var(--pf-bc-bg);
  padding: var(--pf-bc-pad);
  border-radius: var(--pf-bc-radius);
  overflow: hidden;
}

.pf-brand-carousel, .pf-brand-carousel * { box-sizing: border-box; }

.pf-bc__head {
  text-align: center;
  margin-bottom: var(--pf-bc-title-mb);
}

.pf-bc__title {
  margin: 0;
  color: var(--pf-bc-title-color) !important;
  font-size: var(--pf-bc-title-fs) !important;
  font-weight: var(--pf-bc-title-fw) !important;
  line-height: var(--pf-bc-title-lh) !important;
  text-transform: var(--pf-bc-title-transform) !important;
  letter-spacing: .02em;
}

.pf-bc__line {
  display: block;
  width: var(--pf-bc-line-w);
  height: var(--pf-bc-line-h);
  background: var(--pf-bc-line-color);
  margin: var(--pf-bc-line-mt) auto 0;
}

.pf-bc__viewport {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.pf-bc__track {
  display: flex;
  align-items: center;
  gap: var(--pf-bc-gap);
  will-change: transform;
  scroll-behavior: smooth;
}

.pf-brand-carousel[data-mode="scroll"] .pf-bc__track {
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 2px 0;
}
.pf-brand-carousel[data-mode="scroll"] .pf-bc__track::-webkit-scrollbar { display: none; }

.pf-brand-carousel[data-mode="marquee"] .pf-bc__track {
  width: max-content;
  animation: pfBcMarquee var(--pf-bc-duration, 28s) linear infinite;
}
.pf-brand-carousel[data-mode="marquee"][data-direction="right"] .pf-bc__track {
  animation-direction: reverse;
}
.pf-brand-carousel[data-pause-hover="1"]:hover .pf-bc__track {
  animation-play-state: paused;
}

@keyframes pfBcMarquee {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - (var(--pf-bc-gap) / 2))); }
}

.pf-bc__item {
  flex: 0 0 auto;
  width: var(--pf-bc-logo-w);
  min-width: var(--pf-bc-logo-w);
  scroll-snap-align: start;
}

.pf-bc__card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(var(--pf-bc-logo-h) + 12px);
  width: 100%;
  padding: var(--pf-bc-card-pad);
  border: var(--pf-bc-card-border);
  border-radius: var(--pf-bc-card-radius);
  background: var(--pf-bc-card-bg);
  box-shadow: var(--pf-bc-card-shadow);
  text-decoration: none !important;
  transition: transform .2s ease, filter .2s ease, opacity .2s ease, box-shadow .2s ease;
}

.pf-bc__card:hover {
  transform: translateY(-2px);
}

.pf-bc__logo {
  display: block;
  max-width: 100%;
  width: auto;
  height: var(--pf-bc-logo-h);
  object-fit: contain;
}

.pf-brand-carousel[data-grayscale="1"] .pf-bc__logo {
  filter: grayscale(100%);
  opacity: .82;
}
.pf-brand-carousel[data-grayscale="1"] .pf-bc__card:hover .pf-bc__logo {
  filter: grayscale(0%);
  opacity: 1;
}

.pf-bc__name {
  color: var(--pf-bc-title-color);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  line-height: 1.25;
}

.pf-bc__nav {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: var(--pf-bc-nav-size);
  height: var(--pf-bc-nav-size);
  margin-top: calc(var(--pf-bc-nav-size) / -2);
  border: 0;
  border-radius: var(--pf-bc-nav-radius);
  background: var(--pf-bc-nav-bg);
  color: var(--pf-bc-nav-color);
  box-shadow: var(--pf-bc-nav-shadow);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .18s ease, opacity .18s ease;
}
.pf-bc__nav:hover { transform: scale(1.06); }
.pf-bc__nav--prev { left: 12px; }
.pf-bc__nav--next { right: 12px; }

.pf-bc__dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  align-items: center;
  margin-top: 16px;
}
.pf-bc__dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 0;
  background: var(--pf-bc-dot-color);
  cursor: pointer;
  padding: 0;
  transition: width .18s ease, background .18s ease;
}
.pf-bc__dot.is-active {
  width: 22px;
  background: var(--pf-bc-dot-active);
}

.pf-bc__empty {
  min-height: 80px;
  border: 1px dashed rgba(148,163,184,.6);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 14px;
}

@media (max-width: 767.98px) {
  .pf-brand-carousel {
    --pf-bc-gap: 16px;
    --pf-bc-logo-h: 44px;
    --pf-bc-logo-w: 132px;
  }
  .pf-bc__nav { display: none; }
}


/* v1.1.0 — hard mapping helpers */
.pf-brand-carousel[data-show-title="0"] .pf-bc__head { display:none !important; }
.pf-brand-carousel .pf-bc__viewport { min-height: calc(var(--pf-bc-logo-h) + 12px); }
.pf-brand-carousel .pf-bc__track { min-width: 0; }
.pf-brand-carousel .pf-bc__item { max-width: 100%; }
.pf-brand-carousel .pf-bc__card { overflow: hidden; }


/* v1.8.0 — chống CSS theme p/author block ghi đè typography */
.pf-ad-outer .pf-author-description {
  display: block;
  width: auto;
  max-width: 100%;
}
