/* corporateevents — az oldal saját stílusa.
   ========================================================================
   A Google-értékelések blokkja (Referenciák szakasz eleje) az ajándék-oldal
   (oldalak/ajandek/ajandek.css, 8c. szakasz) szabályaiból átvéve, 2026-10-14.
   Az ajandek.css nem közös fájl — ezért itt egy másolat; ha a blokk valaha
   közös komponens lesz (vogue.css), ez a fájl törölhető.
   Az osztálynevek szándékosan ugyanazok (xm-*), hogy az átköltözés egyszerű
   legyen.
   ======================================================================== */

.xm-stars {
  color: var(--brass-bright);
  letter-spacing: 0.08em;
  font-size: 0.8125rem;
}

/* Átlagértékelés: a csillagsor csak az átlag arányáig telik ki (4,6 → 92%),
   hogy ne mutasson öt teli csillagot. A --fill a HTML-ben állítható. */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .xm-stars--avg {
    background: linear-gradient(90deg, var(--brass-bright) var(--fill, 100%), rgba(230, 204, 146, 0.28) var(--fill, 100%));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
}

/* Összesítő: nagy szám + csillagok + link egy sorban. Az ajándék-oldalon
   középre zárt; itt balra, a felcímmel egy vonalban. */
.xm-score {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.6rem 1.4rem;
  margin: 1.2rem 0 0;
  text-align: left;
}

.xm-score__num {
  display: inline-block;
  font-family: var(--font-display);
  font-size: clamp(4rem, 3rem + 4vw, 6.2rem);
  line-height: 1;
  font-variant-numeric: lining-nums;
  color: var(--text-on-dark);
}

.xm-score__num small { font-size: 0.4em; color: var(--text-on-dark-dim); margin-left: 0.15em; }

.xm-score__side {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.xm-score__stars { display: inline-block; font-size: 1.25rem; letter-spacing: 0.12em; }

.xm-score__meta {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--text-on-dark-dim);
}

.xm-score__link {
  display: inline-block;
  margin-top: 0.2rem;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  color: var(--brass-bright);
  text-underline-offset: 4px;
}

/* Gördülő vélemény-csík. A sávot a két oldalán elhalványítjuk, hogy a
   kártyák ne vágódjanak élesen. */
.xm-marquee {
  position: relative;
  margin-top: 2.6rem;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 6%, #000 94%, transparent 100%);
}

.xm-marquee:focus-visible { outline-offset: -3px; }

.xm-marquee__track {
  display: flex;
  gap: 1.2rem;
  width: max-content;
  padding: 0.4rem 0 1rem;
}

@media (prefers-reduced-motion: no-preference) {
  .xm-marquee__track { animation: xm-marquee 90s linear infinite; }
  .xm-marquee:hover .xm-marquee__track,
  .xm-marquee:focus-within .xm-marquee__track { animation-play-state: paused; }
}

/* A sáv a duplikált második sorozat miatt pontosan a fele szélességnél
   ismétlődik — itt nincs ugrás. */
@keyframes xm-marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(-50% - 0.6rem)); }
}

/* Csökkentett mozgásnál kézzel görgethető, a második sorozat elrejtve. */
@media (prefers-reduced-motion: reduce) {
  .xm-marquee { overflow-x: auto; scroll-snap-type: x mandatory; }
  .xm-marquee__track { padding-inline: var(--gutter); }
  .xm-rcard[aria-hidden="true"] { display: none; }
  .xm-rcard { scroll-snap-align: center; }
}

.xm-rcard {
  flex: none;
  display: flex;
  flex-direction: column;
  width: min(84vw, 380px);
  margin: 0;
  padding: 1.6rem 1.6rem 1.4rem;
  border: 1px solid var(--rule-dark);
  background: linear-gradient(160deg, rgba(18, 41, 62, 0.65), rgba(8, 18, 29, 0.35));
}

.xm-rcard .xm-stars { margin-bottom: 0.8rem; }

.xm-rcard blockquote { margin: 0; flex: 1; }

.xm-rcard blockquote p {
  font-family: var(--font-display);
  font-size: clamp(0.95rem, 0.9rem + 0.25vw, 1.05rem);
  font-style: italic;
  line-height: 1.5;
  color: var(--text-on-dark);
}

.xm-rcard figcaption {
  margin-top: 1rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--rule-dark);
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  color: var(--text-on-dark-faint);
}

/* A céglogók szakaszfeje a vélemény-csík alatt — blokknyi térköz. */
.xm-refs-utan { margin-top: clamp(3.5rem, 7vw, 5rem); }

/* --- Kalkulátor: menünkénti létszám (csak az áras változaton) -------------
   A közös .kalk / .kopt (vogue.css 53.) kiegészítése. Az ültetett menüknél
   és a welcome falatoknál nem egy választás van, hanem tételenként egy
   létszám — ehhez kell a .kdb sor: név, ár, számmező. A .kopt kinézetét
   követi, hogy a kettő egy listának hasson. */

.kdb {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 5.2rem;
  gap: 0.3rem 0.9rem;
  align-items: center;
  padding: 0.55rem 0.6rem 0.55rem 0.9rem;
  background: #fbf8f2;
  border: 1px solid var(--rule-light);
  border-radius: 1px;
}

.kdb + .kdb { margin-top: 0.4rem; }
.kdb .kalk__input { padding-block: 0.45rem; text-align: center; }

@media (max-width: 480px) {
  .kdb { grid-template-columns: minmax(0, 1fr) 4.6rem; }
  .kdb .kopt__price { grid-column: 1; grid-row: 2; }
  .kdb .kalk__input { grid-column: 2; grid-row: 1 / span 2; }
}

/* Az ültetett menük az „Ültetett vacsora" választás alatt, beljebb. */
.kalk__ultetett { margin: 0.5rem 0 0.9rem 1.4rem; }
.kalk__ultetett[hidden] { display: none; }
.kalk__ultetett .kalk__hint { margin-bottom: 0.7rem; }

/* Kiosztás állása: „Kiosztva: 37 / 40 fő". Hibánál feltűnő, rendben esetén
   csendes. */
.kalk__allas { margin: 0.5rem 0 0; font-size: 0.8125rem; color: var(--text-on-light-dim); }
.kalk__allas:empty { display: none; }
.kalk__allas.is-rossz { color: #8a3d22; font-weight: 500; }
.kalk__allas.is-jo { color: var(--brass-deep); }

/* Amíg a létszámok nem stimmelnek, az eredménydobozban csak ez látszik. */
.kalk__warn--hiba li { color: #f3c4b2; font-size: 0.875rem; }
