/* ==========================================================================
   Panda Group — Components
   ==========================================================================
   Style rules for widgets emitted by this plugin. Uses *only* logical
   properties (margin-inline-*, padding-inline-*, inset-inline-*, etc.) so
   the browser's native dir="rtl"/dir="ltr" handles all left/right alignment.
   No text-align: right or text-align: left. No flex-direction: row-reverse.
   ========================================================================== */

/* ============ BUTTONS ============ */

.pg-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--pg-s-2);
  padding: 14px 28px;
  font-family: inherit;
  font-size: var(--pg-fs-small);
  font-weight: 600;
  line-height: 1;
  border: none;
  border-radius: var(--pg-r-md);
  cursor: pointer;
  text-decoration: none;
  transition: background var(--pg-dur-base) var(--pg-ease),
              color var(--pg-dur-base) var(--pg-ease);
}

.pg-btn .pg-btn__ico {
  display: inline-block;
  transition: transform var(--pg-dur-base) var(--pg-ease);
}
.pg-btn:hover .pg-btn__ico { transform: translateX(-3px); } /* Forward in RTL */
[dir="ltr"] .pg-btn:hover .pg-btn__ico { transform: translateX(3px); } /* Forward in LTR */

.pg-btn--primary {
  background: var(--pg-ink);
  color: var(--pg-paper);
}
.pg-btn--primary:hover { background: var(--pg-terracotta-deep); color: var(--pg-paper); }

.pg-btn--accent {
  background: var(--pg-terracotta);
  color: var(--pg-paper);
}
.pg-btn--accent:hover { background: var(--pg-terracotta-deep); color: var(--pg-paper); }

.pg-btn--outline {
  background: transparent;
  color: var(--pg-ink);
  border: 1.5px solid var(--pg-ink);
  padding-block: 12.5px;
  padding-inline: 26.5px;
}
.pg-btn--outline:hover { background: var(--pg-ink); color: var(--pg-paper); }

.pg-btn--ghost {
  background: transparent;
  color: var(--pg-ink);
  padding-inline: var(--pg-s-4);
}
.pg-btn--ghost:hover { background: var(--pg-paper-warm); }

/* ============ EYEBROW (section label) ============ */

.pg-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--pg-s-3);
  font-family: var(--pg-font-mono);
  font-size: var(--pg-fs-caption);
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .18em;
  color: var(--pg-terracotta);
  margin-block-end: var(--pg-s-4);
}
.pg-eyebrow::before {
  content: "";
  inline-size: 6px;
  block-size: 6px;
  background: var(--pg-terracotta);
  border-radius: 50%;
}

/* ============ BRAND CARD (Featured grid) ============ */

.pg-brand-card {
  background: #fff;
  border: 1px solid var(--pg-line-soft);
  border-radius: var(--pg-r-md);
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  transition: transform var(--pg-dur-base) var(--pg-ease),
              box-shadow var(--pg-dur-base) var(--pg-ease);
  text-decoration: none;
  color: inherit;
}
.pg-brand-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--pg-shadow-lg);
}

.pg-brand-card__image {
  aspect-ratio: 1 / 1;
  background: var(--pg-paper-warm);
  background-image: linear-gradient(135deg, var(--pg-brand-anchor) 0%, var(--pg-brand-mid) 50%, var(--pg-brand-accent) 100%);
  position: relative;
}
.pg-brand-card__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(135deg, transparent 0, transparent 14px, rgba(255,255,255,.04) 14px, rgba(255,255,255,.04) 15px);
  pointer-events: none;
}

.pg-brand-card__body {
  padding: var(--pg-s-7) var(--pg-s-6);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.pg-brand-card__eyebrow {
  font-family: var(--pg-font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pg-brand-mid);
  margin-block-end: var(--pg-s-3);
}

.pg-brand-card__title {
  font-family: var(--pg-font-display);
  font-size: 34px;
  font-weight: 500;
  letter-spacing: -.02em;
  margin: 0 0 var(--pg-s-3);
}

.pg-brand-card__desc {
  font-size: var(--pg-fs-small);
  line-height: 1.55;
  color: var(--pg-ink-2);
  margin-block-end: var(--pg-s-4);
}

.pg-brand-card__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block-start: var(--pg-s-3);
  border-block-start: 1px solid var(--pg-line-soft);
  font-family: var(--pg-font-mono);
  font-size: var(--pg-fs-caption);
  color: var(--pg-muted);
}
.pg-brand-card__meta .pg-arrow { color: var(--pg-terracotta); }

/* ============ BRAND MINI CARD (Portfolio strip) ============ */

.pg-brand-mini {
  background: #fff;
  border: 1px solid var(--pg-line-soft);
  border-radius: var(--pg-r-md);
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  transition: transform var(--pg-dur-base) var(--pg-ease),
              box-shadow var(--pg-dur-base) var(--pg-ease);
  text-decoration: none;
  color: inherit;
}
.pg-brand-mini:hover { transform: translateY(-2px); box-shadow: var(--pg-shadow-md); }

.pg-brand-mini__image {
  aspect-ratio: 1 / 1;
  background-image: linear-gradient(135deg, var(--pg-brand-anchor), var(--pg-brand-mid) 60%, var(--pg-brand-accent));
  position: relative;
}

.pg-brand-mini__body { padding: var(--pg-s-5); }
.pg-brand-mini__eyebrow {
  font-family: var(--pg-font-mono);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--pg-brand-mid);
  margin-block-end: var(--pg-s-2);
}
.pg-brand-mini__title {
  font-family: var(--pg-font-display);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -.01em;
  margin: 0 0 var(--pg-s-2);
}
.pg-brand-mini__desc {
  font-size: 12px;
  line-height: 1.5;
  color: var(--pg-ink-2);
  margin: 0;
}

/* ============ TEAM CARD ============ */

.pg-team-card {
  background: #fff;
  border: 1px solid var(--pg-line-soft);
  border-radius: var(--pg-r-md);
  overflow: hidden;
  transition: box-shadow var(--pg-dur-base) var(--pg-ease),
              transform var(--pg-dur-base) var(--pg-ease);
}
.pg-team-card:hover { box-shadow: var(--pg-shadow-lg); transform: translateY(-2px); }

.pg-team-card__portrait {
  aspect-ratio: 1 / 1;
  background: var(--pg-paper-warm);
  position: relative;
}
.pg-team-card__portrait img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  display: block;
}

.pg-team-card__body { padding: var(--pg-s-6); }

.pg-team-card__role {
  font-family: var(--pg-font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--pg-terracotta);
  margin-block-end: var(--pg-s-2);
}

.pg-team-card__name {
  font-family: var(--pg-font-display);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -.015em;
  margin: 0 0 var(--pg-s-3);
}
[lang="he"] .pg-team-card__name { font-family: var(--pg-font-heb); font-weight: 700; }

.pg-team-card__nickname {
  font-style: italic;
  color: var(--pg-terracotta);
  font-weight: 400;
}
[lang="he"] .pg-team-card__nickname { font-style: normal; } /* No italic for Hebrew */

.pg-team-card__bio {
  font-size: var(--pg-fs-small);
  line-height: 1.6;
  color: var(--pg-ink-2);
  margin-block-end: var(--pg-s-4);
}

.pg-team-card__linkedin {
  font-family: var(--pg-font-mono);
  font-size: var(--pg-fs-caption);
  color: var(--pg-ink-3);
  text-decoration: none;
}
.pg-team-card__linkedin:hover { color: var(--pg-terracotta); }

/* ============ TRUST STATEMENT ============ */

.pg-trust {
  padding-block: var(--pg-s-10);
  padding-inline: var(--pg-s-7);
  background: linear-gradient(135deg, var(--pg-terracotta) 0%, var(--pg-terracotta-deep) 100%);
  color: var(--pg-paper);
  position: relative;
  overflow: hidden;
}
.pg-trust__inner {
  max-inline-size: 880px;
  margin-inline: auto;
  text-align: center; /* Necessary — center alignment is intentional, not directional */
}
.pg-trust__eyebrow {
  font-family: var(--pg-font-mono);
  font-size: var(--pg-fs-caption);
  letter-spacing: .24em;
  text-transform: uppercase;
  color: rgba(250,247,242,.7);
  margin-block-end: var(--pg-s-7);
}
.pg-trust__title {
  font-family: var(--pg-font-display);
  font-size: 48px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.25;
  margin: 0 0 var(--pg-s-7);
  letter-spacing: -.02em;
}
[lang="he"] .pg-trust__title { font-family: var(--pg-font-heb); font-weight: 700; font-style: normal; }

.pg-trust__body {
  font-size: 19px;
  line-height: 1.65;
  color: rgba(250,247,242,.9);
  max-inline-size: 680px;
  margin-inline: auto;
}
.pg-trust__body strong { color: var(--pg-paper); font-weight: 500; }

.pg-trust__signature {
  margin-block-start: var(--pg-s-7);
  padding-block-start: var(--pg-s-6);
  border-block-start: 1px solid rgba(250,247,242,.2);
  font-family: var(--pg-font-mono);
  font-size: var(--pg-fs-caption);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(250,247,242,.7);
}

/* ============ KPI / STAT ============ */

.pg-stat__num {
  font-family: var(--pg-font-display);
  font-size: 54px;
  font-weight: 300;
  line-height: 1;
  color: var(--pg-paper);
  margin-block-end: var(--pg-s-2);
  letter-spacing: -.03em;
}
.pg-stat__num em { font-style: italic; color: var(--pg-terracotta); font-weight: 400; }

.pg-stat__label {
  font-family: var(--pg-font-mono);
  font-size: var(--pg-fs-caption);
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(250,247,242,.55);
}

/* ============ PRESS QUOTE ============ */

.pg-press-quote {
  padding: var(--pg-s-6);
  border: 1px solid rgba(212,165,116,.25);
  border-radius: var(--pg-r-md);
  background: rgba(160,64,48,.1);
}
.pg-press-quote__text {
  font-family: var(--pg-font-display);
  font-size: 18px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.55;
  margin: 0 0 var(--pg-s-5);
  letter-spacing: -.005em;
}
[lang="he"] .pg-press-quote__text { font-family: var(--pg-font-heb); font-style: normal; font-weight: 400; }

.pg-press-quote__source {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block-start: var(--pg-s-4);
  border-block-start: 1px solid rgba(212,165,116,.2);
}
.pg-press-quote__name {
  font-family: var(--pg-font-display);
  font-size: 14px;
  font-weight: 500;
  font-style: italic;
}
[lang="he"] .pg-press-quote__name { font-family: var(--pg-font-heb); font-style: normal; }

.pg-press-quote__date {
  font-family: var(--pg-font-mono);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--pg-muted);
}

/* ============ COMING SOON BANNER ============ */

.pg-coming-soon {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--pg-s-5);
  align-items: center;
  padding: var(--pg-s-5);
  background: var(--pg-ink);
  color: var(--pg-paper);
  border-radius: var(--pg-r-md);
}
.pg-coming-soon__label {
  font-family: var(--pg-font-mono);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(250,247,242,.5);
  font-weight: 600;
  margin-block-end: var(--pg-s-2);
}
.pg-coming-soon__title {
  font-family: var(--pg-font-display);
  font-size: 24px;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.015em;
  margin: 0;
}
[lang="he"] .pg-coming-soon__title { font-family: var(--pg-font-heb); font-style: normal; font-weight: 700; }

/* ============ FOCUS RING (accessibility) ============ */

.pg-btn:focus-visible,
.pg-brand-card:focus-visible,
.pg-brand-mini:focus-visible,
.pg-team-card:focus-visible {
  outline: 2px solid var(--pg-terracotta);
  outline-offset: 2px;
}

/* ============ RESPONSIVE ============ */

@media (max-width: 768px) {
  .pg-brand-card { grid-template-columns: 1fr; }
  .pg-brand-mini { grid-template-columns: 1fr; }
  .pg-trust__title { font-size: 32px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
