/* Компоненты и layout; палитра и радиусы — в tokens.css */

*, *::before, *::after { box-sizing: border-box; }

:root {
  --fe-page-gutter: clamp(1rem, 2.4vw, 3rem);
  --fe-container-max: 1180px;
  --fe-container-wide: 1320px;
  --fe-container-xl: 1440px;
  --fe-main-y: clamp(1.5rem, 2vw, 2.75rem);
}

html {
  font-size: clamp(15px, 0.42vw + 9.5px, 18px);
}

body.fe-body {
  margin: 0;
  font-family: var(--fe-font);
  font-weight: var(--fe-font-weight-body);
  background: var(--fe-bg);
  color: var(--fe-text);
  line-height: var(--fe-line-relaxed);
}

.fe-container {
  width: min(var(--fe-container-max), 100% - (var(--fe-page-gutter) * 2));
  margin: 0 auto;
}

.fe-header {
  background: var(--fe-surface);
  border-bottom: 1px solid var(--fe-border-subtle);
  box-shadow: var(--fe-shadow-sm);
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(18px);
}
.fe-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.85rem 0;
  gap: 1rem;
}
.fe-logo {
  font-weight: var(--fe-font-weight-heading);
  font-size: 1.15rem;
  color: var(--fe-text);
  text-decoration: none;
  letter-spacing: -0.02em;
}
.fe-logo span {
  display: block;
  color: var(--fe-muted);
  font-size: .68rem;
  font-weight: var(--fe-font-weight-body);
  letter-spacing: 0;
  line-height: 1;
}
.fe-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
}
.fe-nav a { color: var(--fe-muted); text-decoration: none; transition: color var(--fe-transition-fast); }
.fe-nav a:hover { color: var(--fe-text); }
.fe-nav-group {
  position: relative;
}
.fe-nav-group summary {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  color: var(--fe-muted);
  cursor: pointer;
  list-style: none;
  transition: color var(--fe-transition-fast);
}
.fe-nav-group summary::-webkit-details-marker { display: none; }
.fe-nav-group summary::after {
  content: "";
  width: .4rem;
  height: .4rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  transition: transform var(--fe-transition-fast);
}
.fe-nav-group[open] summary,
.fe-nav-group summary:hover {
  color: var(--fe-text);
}
.fe-nav-group[open] summary::after {
  transform: rotate(225deg) translate(-1px, -1px);
}
.fe-nav-menu {
  position: absolute;
  right: 0;
  top: calc(100% + .75rem);
  z-index: 30;
  display: grid;
  gap: .45rem;
  min-width: 220px;
  padding: .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: rgba(255,255,255,.96);
  box-shadow: var(--fe-shadow-lg);
}
.fe-nav-menu a,
.fe-nav-menu .fe-nav__user {
  display: block;
  padding: .38rem .5rem;
  border-radius: var(--fe-radius-sm);
}
.fe-nav-menu a:hover {
  background: var(--fe-accent-soft);
}
.fe-nav-menu .fe-inline button {
  width: 100%;
}
.fe-nav-dd {
  position: relative;
}
.fe-mega {
  position: absolute;
  left: -1rem;
  top: calc(100% + .75rem);
  display: grid;
  grid-template-columns: repeat(2, minmax(210px, 1fr));
  gap: 1.5rem;
  min-width: 560px;
  padding: 1.1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: rgba(255,255,255,.96);
  box-shadow: var(--fe-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity var(--fe-transition-fast), transform var(--fe-transition-fast), visibility var(--fe-transition-fast);
}
.fe-nav-dd:hover .fe-mega,
.fe-nav-dd:focus-within .fe-mega {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.fe-nav-group[open] > .fe-mega {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.fe-mega strong {
  display: block;
  margin-bottom: .55rem;
  color: var(--fe-text);
}
.fe-mega a {
  display: block;
  padding: .35rem 0;
}
.fe-nav__user {
  font-size: var(--fe-font-size-sm);
  color: var(--fe-muted);
  max-width: 12rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fe-header .fe-btn--primary {
  background: #fff;
  color: var(--fe-accent-hover);
  border-color: color-mix(in srgb, var(--fe-accent) 42%, var(--fe-border));
  box-shadow: 0 6px 18px rgba(232,93,134,.10);
}
.fe-header .fe-btn--primary:hover {
  background: var(--fe-accent-soft);
  color: var(--fe-accent-hover);
  border-color: color-mix(in srgb, var(--fe-accent) 62%, var(--fe-border));
  box-shadow: 0 8px 22px rgba(232,93,134,.16);
}
.fe-burger {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  padding: .55rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-sm);
  background: #fff;
  color: var(--fe-text);
  box-shadow: var(--fe-shadow-sm);
  cursor: pointer;
}
.fe-burger span {
  display: block;
  height: 2px;
  border-radius: var(--fe-radius-pill);
  background: currentColor;
  transition: transform var(--fe-transition-fast), opacity var(--fe-transition-fast);
}

.fe-main { padding: var(--fe-main-y) 0 calc(var(--fe-main-y) * 2); }

.fe-hero {
  text-align: center;
  padding: 2.5rem 0 2rem;
}
.fe-hero__title {
  font-size: clamp(1.85rem, 4.2vw, 2.5rem);
  font-weight: var(--fe-hero-weight);
  letter-spacing: -0.025em;
  line-height: var(--fe-line-tight);
  margin: 0 0 0.75rem;
}
.fe-hero__lead { margin: 0; font-size: 1.05rem; color: var(--fe-muted); font-weight: var(--fe-font-weight-body); }

.fe-market-search {
  display: grid;
  gap: .65rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 24px;
  background: rgba(255,255,255,.88);
  box-shadow: var(--fe-shadow-sm);
}
.fe-market-search strong { font-size: 1.05rem; }
.fe-market-search span { color: var(--fe-muted); font-size: .92rem; }
.fe-section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
}
.fe-intent-card {
  display: block;
  min-height: 11rem;
  padding: 1.15rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(253,232,239,.55), transparent 9rem),
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,255,255,.76)),
    #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: var(--fe-shadow-sm);
  transition: transform var(--fe-transition), box-shadow var(--fe-transition);
}
.fe-intent-card:hover { transform: translateY(-2px); box-shadow: var(--fe-shadow); }
.fe-intent-card strong { display: block; margin-bottom: .65rem; font-size: 1.08rem; line-height: 1.15; }
.fe-intent-card span { color: var(--fe-muted); font-size: .92rem; }
.fe-home-intents {
  padding: clamp(1rem, 2vw, 1.5rem);
  border-radius: var(--fe-radius-lg);
  background:
    radial-gradient(circle at 0% 0%, rgba(253,232,239,.55), transparent 18rem),
    rgba(255,255,255,.58);
  border: 1px solid var(--fe-border-subtle);
}
.fe-home-steps {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
  gap: 1rem;
  align-items: start;
  margin-bottom: 2.5rem;
  padding: clamp(1.1rem, 2.2vw, 1.75rem);
  border-radius: var(--fe-radius-lg);
  background: #fff;
  color: var(--fe-text);
  border: 1px solid var(--fe-border-subtle);
  box-shadow: var(--fe-shadow);
}
.fe-home-steps h2 {
  margin: .2rem 0 0;
  font-size: clamp(1.7rem, 3vw, 3rem);
  line-height: 1;
  letter-spacing: -.05em;
}
.fe-home-step-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.fe-home-step-grid article {
  min-height: 12rem;
  padding: 1rem;
  border-radius: var(--fe-radius-lg);
  background: #fff;
  border: 1px solid var(--fe-border-subtle);
}
.fe-home-step-grid span {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 12px;
  background: var(--fe-accent-soft);
  color: var(--fe-accent-hover);
  margin-bottom: 1rem;
}
.fe-home-step-grid strong { display: block; font-size: 1.08rem; }
.fe-home-step-grid p { color: var(--fe-muted); font-size: .92rem; margin-bottom: 0; }
.fe-home-featured {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.fe-home-featured .fe-section {
  padding: 1.15rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 28px;
  background: rgba(255,255,255,.78);
  box-shadow: var(--fe-shadow-sm);
}
.fe-home-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: clamp(1rem, 3vw, 2.5rem);
  align-items: center;
  margin: 2.5rem 0;
  padding: clamp(1.25rem, 3vw, 2.5rem);
  border-radius: var(--fe-radius-lg);
  background:
    radial-gradient(circle at 90% 10%, rgba(253,232,239,.72), transparent 15rem),
    #fff;
  color: var(--fe-text);
  border: 1px solid var(--fe-border-subtle);
  box-shadow: var(--fe-shadow);
}
.fe-home-cta h2 {
  margin: .2rem 0 .75rem;
  max-width: 760px;
  font-size: clamp(1.9rem, 4vw, 3.7rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.fe-home-cta p { color: var(--fe-muted); }
.fe-home-cta .fe-admin-kicker { color: var(--fe-accent-hover); }
.fe-home-cta .fe-form {
  padding: 1rem;
  border-radius: var(--fe-radius-lg);
  background: rgba(255,255,255,.94);
  box-shadow: var(--fe-shadow);
}
.fe-ad-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .75rem;
  margin: 1rem 0;
}
.fe-ad-strip a {
  display: block;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid var(--fe-border-subtle);
  background: #fff;
  color: inherit;
  text-decoration: none;
  box-shadow: var(--fe-shadow-sm);
}
.fe-ad-strip img {
  display: block;
  width: 100%;
  max-height: 180px;
  object-fit: cover;
}
.fe-ad-strip small { display: block; padding: .4rem .65rem; color: var(--fe-muted); }
.fe-lead-wide {
  padding: 1.25rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 24px;
  background: rgba(255,255,255,.82);
  box-shadow: var(--fe-shadow-sm);
}

/* WedWed-inspired home */
.fe-ref-hero {
  margin-top: calc(var(--fe-main-y) * -1);
  padding: clamp(3rem, 6vw, 7rem) 0 clamp(3rem, 5vw, 5.5rem);
  background:
    radial-gradient(circle at 52% 12%, rgba(255,255,255,.9), transparent 22rem),
    #fff;
}
.fe-ref-hero__copy {
  max-width: 760px;
  margin: 0 auto clamp(2rem, 4vw, 3.5rem);
  text-align: center;
}
.fe-ref-hero__copy h1 {
  margin: 0 auto .9rem;
  font-size: clamp(2.4rem, 4.7vw, 4.7rem);
  line-height: .98;
  letter-spacing: -.06em;
}
.fe-ref-hero__copy h1 span {
  color: var(--fe-accent);
}
.fe-ref-hero__copy p {
  max-width: 560px;
  margin: 0 auto 1.1rem;
  color: #667285;
}
.fe-ref-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  max-width: 1180px;
  margin: 0 auto;
}
.fe-ref-feature {
  min-height: 250px;
  padding: 1.15rem;
  border-radius: var(--fe-radius-lg);
  background: #fff;
  box-shadow: 0 18px 46px rgba(73,87,108,.08);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.fe-ref-feature--wide {
  grid-column: span 1.5;
  min-height: 220px;
}
.fe-ref-feature h2 {
  margin: 1rem 0 .45rem;
  font-size: 1.1rem;
  letter-spacing: -.025em;
}
.fe-ref-feature p {
  margin: 0;
  color: var(--fe-muted);
  font-size: .92rem;
}
.fe-ref-mini-tags,
.fe-ref-pill-cloud {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  margin-bottom: auto;
}
.fe-ref-mini-tags span,
.fe-ref-pill-cloud span {
  padding: .55rem .7rem;
  border-radius: var(--fe-radius-sm);
  background: #fff;
  color: #7a8394;
  font-size: .82rem;
}
.fe-ref-device {
  position: relative;
  height: 130px;
  margin-bottom: auto;
}
.fe-ref-device__screen {
  position: absolute;
  inset: 0 15% 0 4%;
  border: 8px solid #17151a;
  border-radius: 14px;
  background: linear-gradient(135deg, #fff, #fff);
}
.fe-ref-device__phone {
  position: absolute;
  right: 5%;
  bottom: -8px;
  width: 64px;
  height: 108px;
  border: 6px solid #17151a;
  border-radius: 18px;
  background: #fff;
}
.fe-ref-chat {
  display: grid;
  gap: .75rem;
  margin-bottom: auto;
}
.fe-ref-chat span,
.fe-ref-chat strong {
  max-width: 75%;
  padding: .85rem 1rem;
  border-radius: 18px;
  font-size: .9rem;
}
.fe-ref-chat span { background: #fff; color: #617087; }
.fe-ref-chat strong { justify-self: end; background: #dcf8de; color: #45624a; }
.fe-ref-article-preview {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .65rem;
  margin-bottom: auto;
}
.fe-ref-article-preview span {
  min-height: 96px;
  border-radius: 16px;
  background: linear-gradient(135deg, #fff, #fff);
}
.fe-home-ref > section {
  margin: clamp(3rem, 6vw, 6rem) 0;
}
.fe-ref-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, 420px);
  gap: 1rem;
  align-items: end;
  margin-bottom: 1.5rem;
}
.fe-ref-section-head h2,
.fe-ref-planner h2,
.fe-ref-platform h2,
.fe-ref-pro h2,
.fe-ref-community h2 {
  margin: 0;
  font-size: clamp(1.9rem, 3.2vw, 3.35rem);
  line-height: 1.05;
  letter-spacing: -.055em;
}
.fe-ref-section-head p {
  margin: 0;
  color: var(--fe-muted);
}
.fe-ref-catalog-grid {
  display: grid;
  grid-template-columns: 1.1fr repeat(3, 1fr);
  grid-auto-rows: minmax(180px, 1fr);
  gap: .8rem;
}
.fe-ref-catalog-tile {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 190px;
  padding: 1rem;
  overflow: hidden;
  border-radius: var(--fe-radius-lg);
  color: var(--fe-text);
  text-decoration: none;
  background:
    radial-gradient(circle at 88% 8%, rgba(253,232,239,.95), transparent 9rem),
    #fff;
  border: 1px solid var(--fe-border-subtle);
  box-shadow: var(--fe-shadow);
}
.fe-ref-catalog-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background: none;
}
.fe-ref-catalog-tile span {
  position: relative;
  z-index: 1;
  font-weight: 700;
}
.fe-ref-catalog-tile--large {
  grid-row: span 2;
  min-height: 390px;
  background:
    radial-gradient(circle at 80% 10%, rgba(253,232,239,.9), transparent 12rem),
    #fff;
}
.fe-ref-catalog-tile--photo { background: radial-gradient(circle at 85% 10%, rgba(253,232,239,.85), transparent 9rem), #fff; }
.fe-ref-catalog-tile--decor { background: radial-gradient(circle at 85% 10%, rgba(253,232,239,.78), transparent 9rem), #fff; }
.fe-ref-catalog-tile--music { background: radial-gradient(circle at 85% 10%, rgba(253,232,239,.7), transparent 9rem), #fff; }
.fe-ref-catalog-tile--lead { background: radial-gradient(circle at 85% 10%, rgba(253,232,239,.82), transparent 9rem), #fff; }
.fe-ref-catalog-tile--video { background: radial-gradient(circle at 85% 10%, rgba(253,232,239,.72), transparent 9rem), #fff; }
.fe-ref-catalog-tile--style { background: radial-gradient(circle at 85% 10%, rgba(253,232,239,.76), transparent 9rem), #fff; }
.fe-ref-invite-strip {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr) 180px;
  gap: 1rem;
  align-items: center;
  margin-top: .85rem;
  padding: 1rem;
  border-radius: var(--fe-radius-lg);
  background: #fff;
}
.fe-ref-invite-strip small { display: block; color: var(--fe-accent); font-weight: 700; }
.fe-ref-invite-cards {
  display: flex;
  gap: .7rem;
  overflow: hidden;
}
.fe-ref-invite-cards span,
.fe-ref-template-strip span {
  flex: 0 0 120px;
  height: 74px;
  border-radius: var(--fe-radius);
  background: linear-gradient(135deg, #fff, #fff);
  border: 1px solid var(--fe-border-subtle);
}
.fe-ref-invites {
  overflow: hidden;
}
.fe-ref-template-strip {
  display: flex;
  gap: 1rem;
  margin: 1rem calc(var(--fe-page-gutter) * -1);
  padding: 0 var(--fe-page-gutter);
  overflow-x: auto;
}
.fe-ref-template-strip span {
  flex-basis: 240px;
  height: 170px;
  border-radius: var(--fe-radius-lg);
  background: linear-gradient(135deg, #fff, #fff);
  box-shadow: var(--fe-shadow-sm);
}
.fe-ref-center { text-align: center; }
.fe-ref-planner {
  padding: clamp(2rem, 4vw, 4rem);
  border-radius: var(--fe-radius-lg);
  background: #fff;
}
.fe-ref-planner-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
  gap: 1rem;
  margin-top: 1.5rem;
}
.fe-ref-laptop {
  min-height: 360px;
  display: grid;
  place-items: center;
  border-radius: var(--fe-radius-lg);
  background: #fff;
}
.fe-ref-laptop span {
  width: min(520px, 78%);
  height: 230px;
  border: 12px solid #16151a;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff, #fff);
}
.fe-ref-planner-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.fe-ref-planner-cards article {
  padding: 1rem;
  border-radius: var(--fe-radius-lg);
  background: #fff;
}
.fe-ref-planner-cards p { color: var(--fe-muted); margin-bottom: 0; }
.fe-ref-organizer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 1.5rem;
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--fe-radius-lg);
  background: #fff;
}
.fe-ref-organizer h2 { margin: 0 0 .75rem; font-size: clamp(1.7rem, 3vw, 3rem); line-height: 1.05; letter-spacing: -.05em; }
.fe-ref-organizer p { color: #5c7557; }
.fe-ref-organizer .fe-form {
  padding: 1rem;
  border-radius: var(--fe-radius-lg);
  background: rgba(255,255,255,.76);
}
.fe-ref-platform {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, .55fr);
  gap: 1rem;
  align-items: end;
}
.fe-ref-video-card {
  min-height: 320px;
  margin-top: 1rem;
  display: grid;
  place-items: center;
  border-radius: var(--fe-radius-lg);
  background: linear-gradient(135deg, #fff, #fff);
}
.fe-ref-video-card span {
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: var(--fe-radius);
  background: var(--fe-accent);
  color: #fff;
}
.fe-ref-stat-cards {
  display: grid;
  gap: 1rem;
}
.fe-ref-stat-cards article {
  min-height: 150px;
  padding: 1.2rem;
  border-radius: var(--fe-radius-lg);
  background: #fff;
}
.fe-ref-stat-cards article:nth-child(2) { background: #fff; }
.fe-ref-stat-cards strong { display: block; font-size: 2rem; letter-spacing: -.04em; }
.fe-ref-pro {
  min-height: 300px;
  display: flex;
  align-items: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--fe-radius-lg);
  background:
    radial-gradient(circle at 80% 30%, rgba(255,255,255,.78), transparent 11rem),
    linear-gradient(135deg, #fff, #f1f1f3);
}
.fe-ref-pro > div { max-width: 520px; padding: 1.25rem; border-radius: var(--fe-radius-lg); background: rgba(255,255,255,.82); }
.fe-ref-telegram .fe-home-blog-card {
  border-radius: var(--fe-radius-lg);
}
.fe-ref-community {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 1rem;
  align-items: stretch;
}
.fe-ref-community > div,
.fe-ref-community aside {
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--fe-radius-lg);
}
.fe-ref-community > div { background: #fff; overflow: hidden; }
.fe-ref-community aside { display: grid; place-items: center; text-align: center; background: #fff; }
.fe-ref-community aside strong { font-size: 3rem; letter-spacing: -.06em; color: var(--fe-accent); }
.fe-ref-name-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 2rem;
}
.fe-ref-name-cloud span {
  padding: .65rem 1rem;
  border-radius: var(--fe-radius-sm);
  background: rgba(255,255,255,.82);
}

.fe-h2 {
  font-size: 1.25rem;
  font-weight: var(--fe-font-weight-heading);
  margin: 0 0 1rem;
  letter-spacing: -0.015em;
}

.fe-section { margin-bottom: 2.5rem; }
.fe-muted { color: var(--fe-muted); }

.fe-grid {
  display: grid;
  gap: 1rem;
}
.fe-grid--cats {
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}
.fe-grid--cards {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}

.fe-two-col {
  display: grid;
  gap: 2rem;
}
@media (min-width: 900px) {
  .fe-two-col { grid-template-columns: 1fr 1fr; }
}

.fe-cat-card {
  display: block;
  padding: 1.25rem;
  background: var(--fe-surface-elevated);
  border-radius: var(--fe-radius);
  border: 1px solid var(--fe-border-subtle);
  text-decoration: none;
  color: var(--fe-text);
  box-shadow: var(--fe-shadow);
  transition: transform var(--fe-transition), box-shadow var(--fe-transition);
}
.fe-cat-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--fe-shadow-lg);
}

.fe-card {
  display: block;
  background: var(--fe-surface-elevated);
  border-radius: var(--fe-radius);
  border: 1px solid var(--fe-border-subtle);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: var(--fe-shadow);
  transition: box-shadow var(--fe-transition), transform var(--fe-transition);
}
.fe-card:hover { box-shadow: var(--fe-shadow-lg); }
.fe-card__body { padding: 1rem 1.1rem; }
.fe-card__title { margin: 0; font-size: 1rem; font-weight: var(--fe-font-weight-medium); }
.fe-card-panel {
  background: var(--fe-surface-elevated);
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  box-shadow: var(--fe-shadow);
  padding: 1.25rem;
}

.fe-btn {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.1rem;
  border-radius: var(--fe-radius-pill);
  border: 1px solid transparent;
  font: inherit;
  font-weight: var(--fe-font-weight-medium);
  cursor: pointer;
  text-decoration: none;
  transform: translateZ(0);
  transition: background-color var(--fe-transition-fast), border-color var(--fe-transition-fast), color var(--fe-transition-fast), box-shadow var(--fe-transition-fast), transform var(--fe-transition-fast);
}
.fe-btn::after {
  content: "";
  position: absolute;
  inset: -40% auto -40% -60%;
  width: 55%;
  transform: skewX(-18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  opacity: 0;
}
.fe-btn:hover {
  transform: translateY(-2px);
}
.fe-btn:hover::after {
  animation: fe-button-shine .85s ease forwards;
  opacity: 1;
}
.fe-btn:active {
  transform: translateY(0) scale(.98);
}
.fe-btn--primary {
  background: var(--fe-accent);
  color: var(--fe-accent-fg);
  border-color: var(--fe-accent);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.55) inset,
    0 0 18px rgba(232,93,134,.34),
    var(--fe-shadow-btn);
}
.fe-btn--primary:hover {
  background: var(--fe-accent-hover);
  border-color: var(--fe-accent-hover);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.6) inset,
    0 0 26px rgba(232,93,134,.48),
    0 12px 30px rgba(232,93,134,.28);
}
.fe-btn--ghost {
  background: rgba(255,255,255,.74);
  border-color: var(--fe-border);
  color: var(--fe-text);
  box-shadow: 0 0 0 rgba(232,93,134,0);
}
.fe-btn--ghost:hover {
  background: var(--fe-accent-soft);
  border-color: color-mix(in srgb, var(--fe-accent) 35%, var(--fe-border));
  box-shadow: 0 0 18px rgba(232,93,134,.18);
}
.fe-btn--sm { padding: 0.35rem 0.85rem; font-size: 0.9rem; }

.fe-form {
  display: grid;
  gap: 0.75rem;
  max-width: 420px;
}
.fe-form input, .fe-form textarea, .fe-form select {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border-radius: var(--fe-radius-sm);
  border: 1px solid var(--fe-border);
  font: inherit;
  background: var(--fe-surface-elevated);
  transition: border-color var(--fe-transition-fast), box-shadow var(--fe-transition-fast);
}
.fe-form input:hover, .fe-form textarea:hover, .fe-form select:hover { border-color: color-mix(in srgb, var(--fe-muted) 25%, var(--fe-border)); }
.fe-form input:focus, .fe-form textarea:focus, .fe-form select:focus {
  border-color: color-mix(in srgb, var(--fe-accent) 55%, var(--fe-border));
  box-shadow: 0 0 0 3px var(--fe-accent-soft);
  outline: none;
}
.fe-consent-group {
  display: grid;
  gap: .45rem;
  padding: .25rem 0;
}
.fe-check {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .45rem;
  align-items: start;
  color: var(--fe-muted);
  font-size: .78rem;
  line-height: 1.35;
}
.fe-check input,
.fe-form .fe-check input,
.fe-market-search .fe-check input {
  width: 1rem;
  height: 1rem;
  margin: .1rem 0 0;
  padding: 0;
  accent-color: var(--fe-accent);
}
.fe-check a {
  color: var(--fe-text);
}
.fe-inline { display: inline; margin: 0; }
.fe-clean-list { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .65rem; }
.fe-media-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  padding: .75rem .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius);
  background: var(--fe-surface-elevated);
}
.fe-media-row a { color: var(--fe-text); overflow-wrap: anywhere; }
.fe-badge {
  display: inline-flex;
  align-items: center;
  border-radius: var(--fe-radius-pill);
  padding: .18rem .6rem;
  background: var(--fe-accent-soft);
  color: var(--fe-accent-fg);
  font-size: var(--fe-font-size-sm);
  font-weight: var(--fe-font-weight-medium);
}
.fe-alert {
  padding: .75rem .9rem;
  border-radius: var(--fe-radius);
  border: 1px solid var(--fe-border);
  background: var(--fe-surface-elevated);
}
.fe-alert--danger {
  border-color: color-mix(in srgb, #c65b5b 35%, var(--fe-border));
  background: #fff5f5;
  color: #8a3434;
}
.fe-alert--success {
  border-color: color-mix(in srgb, #4f9f68 35%, var(--fe-border));
  background: #f1fbf4;
  color: #24613a;
}
[hidden] {
  display: none !important;
}

.fe-register-shell {
  max-width: 1060px;
}
.fe-register-hero {
  max-width: 720px;
  margin-bottom: 1.25rem;
}
.fe-kicker {
  display: inline-flex;
  margin-bottom: .4rem;
  color: var(--fe-accent-hover);
  font-size: .78rem;
  font-weight: var(--fe-font-weight-medium);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fe-register-card {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.fe-register-progress {
  position: sticky;
  top: 5.5rem;
  display: grid;
  gap: .5rem;
  padding: .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: rgba(255,255,255,.86);
  box-shadow: var(--fe-shadow-sm);
}
.fe-register-progress button {
  display: grid;
  grid-template-columns: 1.8rem minmax(0, 1fr);
  align-items: center;
  gap: .55rem;
  width: 100%;
  padding: .55rem;
  border: 0;
  border-radius: var(--fe-radius-sm);
  background: transparent;
  color: var(--fe-muted);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.fe-register-progress span {
  display: inline-grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: var(--fe-radius-pill);
  background: var(--fe-surface-elevated);
  border: 1px solid var(--fe-border);
  color: var(--fe-muted);
  font-size: .82rem;
}
.fe-register-progress button.is-active {
  background: var(--fe-accent-soft);
  color: var(--fe-text);
}
.fe-register-progress button.is-active span,
.fe-register-progress button.is-done span {
  background: var(--fe-accent);
  border-color: var(--fe-accent);
  color: var(--fe-accent-fg);
}
.fe-register-quiz {
  max-width: none;
  padding: clamp(1rem, 2.2vw, 1.6rem);
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: rgba(255,255,255,.92);
  box-shadow: var(--fe-shadow-sm);
}
.fe-register-step {
  display: none;
}
.fe-register-step.is-active {
  display: grid;
  gap: .85rem;
}
.fe-register-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.fe-register-checks {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem 1rem;
}
.fe-register-quiz label.is-required::after {
  content: " *";
  color: var(--fe-accent-hover);
  font-weight: var(--fe-font-weight-medium);
}
.fe-register-quiz label.is-required input,
.fe-register-quiz label.is-required select,
.fe-register-quiz label.is-required textarea {
  border-color: color-mix(in srgb, var(--fe-accent) 34%, var(--fe-border));
}
.fe-register-code {
  display: flex;
  flex-direction: column;
  gap: .75rem;
  padding: .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius);
  background: var(--fe-accent-soft);
}
.fe-register-code.is-verified {
  padding: .75rem .85rem;
}
.fe-register-code-inputs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: .75rem;
}
.fe-register-code-inputs[hidden] {
  display: none !important;
}
.fe-register-code p {
  margin: 0;
}
.fe-register-actions {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  margin-top: .5rem;
}
.fe-register-verify {
  padding: 1rem;
  border: 1px dashed color-mix(in srgb, var(--fe-accent) 45%, var(--fe-border));
  border-radius: var(--fe-radius);
  background: var(--fe-accent-soft);
  color: var(--fe-text);
}
.fe-register-verify.is-verified {
  border-style: solid;
  border-color: color-mix(in srgb, #4f9f68 45%, var(--fe-border));
  background: #f1fbf4;
  color: #24613a;
}
.fe-antibot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
@media (max-width: 820px) {
  .fe-register-card {
    grid-template-columns: 1fr;
  }
  .fe-register-progress {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .fe-register-progress button {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    font-size: .82rem;
  }
  .fe-register-grid {
    grid-template-columns: 1fr;
  }
}

.fe-list-articles { padding-left: 1.2rem; }
.fe-list-articles a { color: var(--fe-text); }

.fe-stack { display: flex; flex-direction: column; gap: 0.35rem; margin-top: 0.35rem; }
.fe-table { width: 100%; border-collapse: collapse; background: var(--fe-surface-elevated); border-radius: var(--fe-radius); overflow: hidden; }
.fe-table th, .fe-table td { padding: 0.65rem 0.75rem; border-bottom: 1px solid var(--fe-border); text-align: left; }
.fe-prose { max-width: 720px; }
.fe-prose h2 { font-size: 1.25rem; margin-top: 1.5rem; }
.fe-prose h3 { font-size: 1.05rem; margin-top: 1rem; }
.fe-toc { background: var(--fe-surface-elevated); border: 1px solid var(--fe-border-subtle); border-radius: var(--fe-radius); padding: 1rem; margin-bottom: 1.5rem; }
.fe-review { border-left: 3px solid var(--fe-accent); padding-left: 0.75rem; margin: 0.75rem 0; }
.fe-inline-row { display: inline-flex; align-items: center; gap: 0.5rem; }

/* Admin dashboard */
.fe-admin-shell {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.fe-admin-sidebar {
  position: sticky;
  top: 5.5rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background:
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,255,255,.76)),
    radial-gradient(circle at top left, rgba(253,232,239,.55), transparent 16rem);
  box-shadow: var(--fe-shadow);
  backdrop-filter: blur(16px);
}
.fe-admin-sidebar__brand {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .3rem .25rem 1rem;
  border-bottom: 1px solid var(--fe-border-subtle);
  margin-bottom: .85rem;
}
.fe-admin-sidebar__brand strong { display: block; line-height: 1.2; }
.fe-admin-sidebar__brand span:not(.fe-admin-sidebar__mark) {
  display: block;
  color: var(--fe-muted);
  font-size: var(--fe-font-size-sm);
}
.fe-admin-sidebar__mark {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--fe-accent), #e6c0d3);
  color: #fff;
  box-shadow: var(--fe-shadow-btn);
  font-weight: 700;
}
.fe-admin-side-nav {
  display: grid;
  gap: .45rem;
}
.fe-admin-nav-group {
  display: grid;
  gap: .2rem;
}
.fe-admin-nav-group summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin: .15rem 0;
  padding: .42rem .65rem;
  border-radius: 12px;
  color: color-mix(in srgb, var(--fe-muted) 78%, var(--fe-text));
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
  transition: background var(--fe-transition-fast), color var(--fe-transition-fast);
}
.fe-admin-nav-group summary::-webkit-details-marker { display: none; }
.fe-admin-nav-group summary::after {
  content: "";
  width: .42rem;
  height: .42rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform var(--fe-transition-fast);
}
.fe-admin-nav-group summary:hover {
  background: rgba(253,232,239,.42);
  color: var(--fe-text);
}
.fe-admin-nav-group[open] summary::after {
  transform: rotate(225deg);
}
.fe-admin-side-nav a {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .46rem .65rem;
  color: var(--fe-muted);
  text-decoration: none;
  border-radius: 12px;
  transition: background var(--fe-transition-fast), color var(--fe-transition-fast), transform var(--fe-transition-fast);
}
.fe-admin-side-nav a span {
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 10px;
  background: var(--fe-accent-soft);
  color: var(--fe-text);
  font-size: .8rem;
}
.fe-admin-nav-group:not([open]) > a {
  display: none;
}
.fe-admin-side-nav a:hover,
.fe-admin-side-nav a.is-active {
  background: rgba(253,232,239,.55);
  color: var(--fe-text);
  transform: translateX(2px);
}
.fe-admin-nav-group {
  padding-top: .35rem;
  border-top: 1px solid rgba(218,205,214,.58);
}
.fe-admin-side-nav > a + .fe-admin-nav-group {
  padding-top: .55rem;
}
.fe-admin-main { min-width: 0; }
.fe-admin-page {
  padding: 1.25rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 0%, rgba(234,220,248,.55), transparent 18rem),
    rgba(255,255,255,.82);
  box-shadow: var(--fe-shadow);
  backdrop-filter: blur(14px);
}
.fe-admin-page--narrow { max-width: 720px; }
.fe-admin-page > p:first-child {
  margin-top: 0;
  margin-bottom: .75rem;
}
.fe-admin-page > p:first-child a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .7rem;
  border-radius: var(--fe-radius-pill);
  background: #fff;
  border: 1px solid var(--fe-border-subtle);
  color: var(--fe-muted);
  text-decoration: none;
}
.fe-admin-page > p:first-child a:hover {
  color: var(--fe-text);
  border-color: color-mix(in srgb, var(--fe-accent) 32%, var(--fe-border));
}
.fe-admin-page > .fe-h2,
.fe-admin-page > h1.fe-h2 {
  margin: 0 0 .55rem;
  font-size: clamp(1.65rem, 3.2vw, 2.45rem);
  line-height: var(--fe-line-tight);
  letter-spacing: -.035em;
}
.fe-admin-page > .fe-muted {
  max-width: 760px;
}
.fe-admin-page .fe-section,
.fe-admin-page .fe-card-panel,
.fe-admin-page details {
  border: 1px solid var(--fe-border-subtle);
  border-radius: 22px;
  background: rgba(255,255,255,.82);
  box-shadow: var(--fe-shadow-sm);
}
.fe-admin-page .fe-section,
.fe-admin-page .fe-card-panel {
  padding: 1rem;
}
.fe-admin-page details {
  padding: .85rem 1rem;
}
.fe-admin-page details + details,
.fe-admin-page .fe-section + .fe-section {
  margin-top: 1rem;
}
.fe-admin-page summary {
  cursor: pointer;
}
.fe-admin-page .fe-table {
  margin-top: .9rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 20px;
  box-shadow: var(--fe-shadow-sm);
}
.fe-admin-page .fe-table th {
  color: var(--fe-muted);
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: #fbf8fc;
}
.fe-admin-page .fe-table tr:last-child td {
  border-bottom: 0;
}
.fe-admin-page .fe-table tbody tr:hover {
  background: rgba(253,232,239,.35);
}
.fe-admin-page .fe-form {
  margin-top: .9rem;
}
.fe-admin-page form[method="get"] {
  padding: .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 20px;
  background: rgba(255,255,255,.76);
  box-shadow: var(--fe-shadow-sm);
}
.fe-admin-page .fe-admin-stats {
  list-style: none;
  padding: 0;
}
.fe-admin-page .fe-admin-stats li {
  min-height: 7.5rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 22px;
  background:
    radial-gradient(circle at 95% 10%, rgba(253,232,239,.45), transparent 8rem),
    #fff;
  box-shadow: var(--fe-shadow-sm);
}
.fe-admin-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1.5rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 28px;
  background:
    radial-gradient(circle at 85% 10%, rgba(234,220,248,.9), transparent 18rem),
    linear-gradient(135deg, #fff, rgba(255,255,255,.78));
  box-shadow: var(--fe-shadow);
  margin-bottom: 1rem;
}
.fe-admin-hero h1 {
  margin: 0 0 .45rem;
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: var(--fe-line-tight);
  letter-spacing: -.04em;
}
.fe-admin-hero p { margin: 0; color: var(--fe-muted); max-width: 48rem; }
.fe-admin-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  justify-content: flex-end;
}
.fe-admin-kicker {
  margin: 0 0 .35rem;
  color: var(--fe-accent-hover);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fe-admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .85rem;
  margin-bottom: 1rem;
}
.fe-admin-stat {
  position: relative;
  overflow: hidden;
  min-height: 9.5rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  color: var(--fe-text);
  text-decoration: none;
  box-shadow: var(--fe-shadow);
  transition: transform var(--fe-transition), box-shadow var(--fe-transition);
}
.fe-admin-stat:hover {
  transform: translateY(-3px);
  box-shadow: var(--fe-shadow-lg);
}
.fe-admin-stat::after {
  content: "";
  position: absolute;
  inset: auto -2rem -3rem auto;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background: rgba(253,232,239,.55);
}
.fe-admin-stat--accent::after { background: rgba(253,232,239,.55); }
.fe-admin-stat--warm::after { background: rgba(255,226,180,.7); }
.fe-admin-stat__icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 15px;
  background: var(--fe-accent-soft);
  color: var(--fe-accent-hover);
  margin-bottom: .8rem;
}
.fe-admin-stat__label,
.fe-admin-stat small {
  position: relative;
  z-index: 1;
  display: block;
  color: var(--fe-muted);
}
.fe-admin-stat strong {
  position: relative;
  z-index: 1;
  display: block;
  font-size: 2.15rem;
  line-height: 1;
  letter-spacing: -.05em;
  margin: .2rem 0 .35rem;
}
.fe-admin-insights {
  display: grid;
  grid-template-columns: 1.35fr .9fr;
  gap: 1rem;
  margin-bottom: 1.15rem;
}
.fe-admin-panel {
  padding: 1.15rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 24px;
  background: rgba(255,255,255,.86);
  box-shadow: var(--fe-shadow);
}
.fe-admin-panel h2,
.fe-admin-mega h2,
.fe-admin-mega-card h3 {
  margin: 0;
  letter-spacing: -.025em;
}
.fe-admin-panel__head,
.fe-admin-mega__head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.fe-admin-ratio {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
  margin: 1rem 0;
}
.fe-admin-ratio > div {
  padding: .9rem;
  border-radius: 18px;
  background: #fff;
  border: 1px solid var(--fe-border-subtle);
}
.fe-admin-ratio strong { display: block; font-size: 1.65rem; letter-spacing: -.04em; }
.fe-admin-ratio small { color: var(--fe-muted); }
.fe-admin-ratio__dot {
  display: inline-block;
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  margin-right: .4rem;
}
.fe-admin-ratio__dot--venue { background: var(--fe-accent); }
.fe-admin-ratio__dot--specialist { background: #c7b5ee; }
.fe-admin-bar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .35rem;
  height: .75rem;
  padding: .12rem;
  background: var(--fe-border-subtle);
  border-radius: var(--fe-radius-pill);
}
.fe-admin-bar span { border-radius: var(--fe-radius-pill); }
.fe-admin-bar__venue { background: linear-gradient(90deg, var(--fe-accent), #d6a2bc); }
.fe-admin-bar__specialist { background: linear-gradient(90deg, #c7b5ee, #eadcf8); }
.fe-admin-task-list {
  display: grid;
  gap: .55rem;
  margin-top: 1rem;
}
.fe-admin-task-list a {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .72rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--fe-border-subtle);
  color: var(--fe-text);
  text-decoration: none;
}
.fe-admin-task-list span {
  display: grid;
  place-items: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 .35rem;
  border-radius: 12px;
  background: var(--fe-accent-soft);
  color: var(--fe-accent-hover);
  font-weight: 700;
}
.fe-admin-mega {
  padding: 1.15rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 28px;
  background: rgba(255,255,255,.70);
  box-shadow: var(--fe-shadow);
}
.fe-admin-mega-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  margin-top: 1rem;
}
.fe-admin-mega-card {
  padding: 1.1rem;
  border-radius: 24px;
  border: 1px solid var(--fe-border-subtle);
  background:
    radial-gradient(circle at 90% 0%, rgba(253,232,239,.45), transparent 11rem),
    #fff;
  box-shadow: var(--fe-shadow-sm);
}
.fe-admin-mega-card--super {
  grid-column: 1 / -1;
  background:
    radial-gradient(circle at 10% 0%, rgba(234,220,248,.75), transparent 18rem),
    #fff;
}
.fe-admin-mega-card__icon {
  display: grid;
  place-items: center;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 15px;
  background: var(--fe-accent-soft);
  color: var(--fe-accent-hover);
  margin-bottom: .75rem;
  font-weight: 700;
}
.fe-admin-mega-card p {
  margin: .45rem 0 1rem;
  color: var(--fe-muted);
}
.fe-admin-link-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.fe-admin-link-cloud a,
.fe-admin-link-cloud span {
  padding: .38rem .7rem;
  border-radius: var(--fe-radius-pill);
  background: #fbf8fc;
  border: 1px solid var(--fe-border-subtle);
  color: var(--fe-text);
  text-decoration: none;
  font-size: var(--fe-font-size-sm);
}
.fe-admin-link-cloud a:hover {
  background: var(--fe-accent-soft);
  border-color: color-mix(in srgb, var(--fe-accent) 35%, var(--fe-border));
}
.fe-admin-link-cloud a.is-active {
  background: var(--fe-accent-soft);
  border-color: color-mix(in srgb, var(--fe-accent) 38%, var(--fe-border));
  color: var(--fe-accent-hover);
}
.fe-admin-partners-hero {
  margin-bottom: 1rem;
}
.fe-admin-partner-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fe-admin-partners-tools,
.fe-admin-partners-list {
  margin-top: 1rem;
}
.fe-admin-partner-filter {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) minmax(170px, .9fr) minmax(170px, .9fr) auto;
  max-width: none;
  align-items: end;
}
.fe-admin-partner-sort {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin-top: .85rem;
}
.fe-admin-import-box {
  margin-top: 1rem;
}
.fe-admin-import-box > p {
  max-width: 58rem;
  margin-bottom: 0;
}
.fe-admin-table-wrap {
  overflow-x: auto;
  margin-top: .4rem;
}
.fe-admin-partner-table td {
  vertical-align: top;
}
.fe-admin-partner-name {
  display: block;
  color: var(--fe-text);
  font-weight: var(--fe-font-weight-medium);
  text-decoration: none;
}
.fe-admin-partner-name:hover {
  color: var(--fe-accent-hover);
}
.fe-admin-pill,
.fe-admin-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: var(--fe-radius-pill);
  padding: .2rem .55rem;
  background: #fbf8fc;
  border: 1px solid var(--fe-border-subtle);
  color: var(--fe-text);
  font-size: var(--fe-font-size-sm);
}
.fe-admin-status.is-active {
  background: color-mix(in srgb, var(--fe-success) 13%, #fff);
  border-color: color-mix(in srgb, var(--fe-success) 26%, var(--fe-border));
  color: #317249;
}
.fe-admin-metric-stack,
.fe-admin-status-cell {
  display: grid;
  gap: .28rem;
}
.fe-admin-metric-stack {
  min-width: 8rem;
}
.fe-admin-metric-stack a {
  color: var(--fe-accent-hover);
}
.fe-admin-row-actions {
  min-width: 13rem;
}
.fe-admin-row-actions a {
  font-size: .82rem;
}
.fe-admin-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin-top: 1rem;
}
.fe-admin-empty {
  margin-top: 1rem;
}
.fe-admin-theme-hero {
  margin-bottom: 1rem;
}
.fe-admin-theme-current {
  min-width: 13rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 22px;
  background: rgba(255,255,255,.76);
  box-shadow: var(--fe-shadow-sm);
}
.fe-admin-theme-current span,
.fe-admin-theme-current small {
  display: block;
}
.fe-admin-theme-current strong {
  display: block;
  margin: .2rem 0;
  font-size: 1.2rem;
  letter-spacing: -.025em;
}
.fe-admin-theme-current small {
  color: var(--fe-muted);
}
.fe-admin-theme-section {
  margin-top: 1rem;
}
.fe-admin-theme-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  margin-top: 1rem;
}
.fe-admin-theme-card {
  display: grid;
  gap: .9rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 24px;
  background:
    radial-gradient(circle at 95% 0%, rgba(253,232,239,.42), transparent 11rem),
    #fff;
  box-shadow: var(--fe-shadow-sm);
}
.fe-admin-theme-card.is-active {
  border-color: color-mix(in srgb, var(--fe-accent) 36%, var(--fe-border));
  box-shadow: 0 0 0 3px var(--fe-accent-soft), var(--fe-shadow-sm);
}
.fe-admin-theme-card__head {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: flex-start;
}
.fe-admin-theme-card h3 {
  margin: 0;
  letter-spacing: -.025em;
}
.fe-admin-theme-card p {
  margin: .35rem 0 0;
  color: var(--fe-muted);
  font-size: var(--fe-font-size-sm);
}
.fe-admin-theme-swatches {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .35rem;
}
.fe-admin-theme-swatches span {
  min-height: 2.25rem;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.06);
}
.fe-admin-theme-preview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  padding: .75rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 18px;
  color: var(--fe-text);
  background: linear-gradient(135deg, #fff, color-mix(in srgb, var(--fe-accent-soft) 38%, #fff));
}
.fe-admin-theme-preview a {
  color: var(--fe-accent-hover);
}
.fe-admin-theme-preview span {
  padding: .25rem .6rem;
  border-radius: var(--fe-radius-pill);
  background: var(--fe-accent-soft);
  color: var(--fe-accent-hover);
  font-size: var(--fe-font-size-sm);
}
.fe-admin-theme-form {
  max-width: none;
  margin-top: 1rem;
}
.fe-admin-theme-form__name {
  max-width: 28rem;
}
.fe-admin-theme-form fieldset {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 22px;
  background: rgba(255,255,255,.78);
}
.fe-admin-theme-form legend {
  padding: 0 .4rem;
  color: var(--fe-accent-hover);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fe-admin-theme-form input[type="color"] {
  min-height: 3rem;
  padding: .2rem;
  cursor: pointer;
}

@media (max-width: 980px) {
  .fe-home-hero,
  .fe-market-hero,
  .fe-market-grid,
  .fe-profile-hero,
  .fe-profile-grid { grid-template-columns: 1fr; }
  .fe-market-sidebar,
  .fe-profile-aside { position: static; }
  .fe-mega {
    left: auto;
    right: 0;
    min-width: min(560px, 92vw);
  }
  .fe-admin-shell { grid-template-columns: 1fr; }
  .fe-admin-sidebar { position: static; }
  .fe-admin-side-nav { grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); }
  .fe-admin-hero,
  .fe-admin-insights { grid-template-columns: 1fr; }
  .fe-admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fe-admin-partner-filter { grid-template-columns: 1fr 1fr; }
  .fe-admin-theme-grid,
  .fe-admin-theme-form fieldset { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .fe-ref-feature-grid,
  .fe-ref-section-head,
  .fe-ref-catalog-grid,
  .fe-ref-invite-strip,
  .fe-ref-planner-grid,
  .fe-ref-planner-cards,
  .fe-ref-organizer,
  .fe-ref-platform,
  .fe-ref-community {
    grid-template-columns: 1fr;
  }
  .fe-ref-feature--wide,
  .fe-ref-catalog-tile--large {
    grid-column: auto;
    grid-row: auto;
  }
  .fe-ref-hero {
    padding-top: 2.5rem;
  }
  .fe-ref-catalog-tile,
  .fe-ref-catalog-tile--large {
    min-height: 180px;
  }
  .fe-ref-invite-strip {
    align-items: stretch;
  }
  .fe-ref-laptop {
    min-height: 250px;
  }
  .fe-ref-community aside {
    min-height: 230px;
  }
  :root {
    --fe-page-gutter: 1rem;
    --fe-main-y: 1.25rem;
  }
  html { font-size: 15px; }
  .fe-header {
    position: sticky;
  }
  .fe-header__inner {
    flex-wrap: wrap;
    padding: .75rem 0;
  }
  .fe-logo {
    width: 100%;
  }
  .fe-nav {
    width: 100%;
    flex-wrap: nowrap;
    gap: .65rem;
    overflow-x: auto;
    padding-bottom: .25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .fe-nav::-webkit-scrollbar { display: none; }
  .fe-nav > a,
  .fe-nav-dd > a,
  .fe-nav form {
    flex: 0 0 auto;
  }
  .fe-mega {
    display: none;
  }
  .fe-home-hero,
  .fe-market-hero,
  .fe-profile-hero,
  .fe-admin-hero,
  .fe-admin-page,
  .fe-account-page {
    border-radius: 22px;
    padding: 1rem;
  }
  .fe-home-hero h1,
  .fe-market-hero h1,
  .fe-profile-hero h1 {
    font-size: clamp(2rem, 12vw, 3rem);
  }
  .fe-home-hero__actions,
  .fe-profile-actions,
  .fe-home-proof,
  .fe-home-showcase__stack,
  .fe-list-toolbar,
  .fe-section-head,
  .fe-market-card__head,
  .fe-admin-panel__head,
  .fe-admin-mega__head {
    align-items: stretch;
    flex-direction: column;
  }
  .fe-btn,
  .fe-profile-actions .fe-inline,
  .fe-profile-actions .fe-inline button {
    width: 100%;
  }
  .fe-form {
    max-width: none;
  }
  .fe-form input,
  .fe-form textarea,
  .fe-form select,
  .fe-home-quiz input,
  .fe-home-quiz textarea,
  .fe-market-search input {
    font-size: 16px;
  }
  .fe-table {
    min-width: 680px;
  }
  .fe-admin-partner-filter { grid-template-columns: 1fr; }
  .fe-admin-theme-grid,
  .fe-admin-theme-form fieldset { grid-template-columns: 1fr; }
  .fe-admin-page,
  .fe-account-page,
  .fe-market-results {
    overflow-x: auto;
  }
}

@media (max-width: 620px) {
  .fe-admin-stats,
  .fe-admin-mega-grid,
  .fe-admin-ratio { grid-template-columns: 1fr; }
  .fe-admin-hero__actions { justify-content: flex-start; }
}

@media (max-width: 480px) {
  :root {
    --fe-page-gutter: .75rem;
  }
  .fe-container,
  .fe-market-layout,
  .fe-profile-page,
  .fe-account-shell--wide {
    width: min(100% - 1rem, 100%);
  }
  .fe-home-category-grid,
  .fe-intent-card-grid,
  .fe-grid--cats,
  .fe-grid--cards,
  .fe-ad-strip,
  .fe-facts-grid,
  .fe-key-params-list {
    grid-template-columns: 1fr;
  }
  .fe-album-card__photos,
  .fe-offer-album__photos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fe-intent-strip {
    gap: .55rem;
    padding: .75rem 0;
  }
  .fe-intent-chip {
    min-width: 82px;
    min-height: 72px;
    padding: .6rem;
  }
  .fe-profile-hero-gallery {
    grid-template-columns: 1fr;
    max-height: none;
  }
  .fe-profile-hero-gallery img:first-child {
    grid-row: auto;
  }
  .fe-offers-scroll {
    mask-image: none;
    -webkit-mask-image: none;
  }
  .fe-offer-mini {
    flex-basis: 78vw;
  }
}

/* Personal accounts */
.fe-account-shell {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.fe-account-shell--wide {
  width: min(var(--fe-container-wide), 100% - (var(--fe-page-gutter) * 2));
}
.fe-account-sidebar {
  position: sticky;
  top: 5.5rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background:
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(255,255,255,.78)),
    radial-gradient(circle at top left, rgba(234,220,248,.78), transparent 16rem);
  box-shadow: var(--fe-shadow);
  backdrop-filter: blur(16px);
}
.fe-account-sidebar__brand {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .3rem .25rem 1rem;
  border-bottom: 1px solid var(--fe-border-subtle);
  margin-bottom: .85rem;
}
.fe-account-sidebar__brand strong { display: block; line-height: 1.2; }
.fe-account-sidebar__brand span:not(.fe-account-sidebar__mark) {
  display: block;
  color: var(--fe-muted);
  font-size: var(--fe-font-size-sm);
  max-width: 11rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.fe-account-sidebar__mark {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 14px;
  background: linear-gradient(135deg, #c7b5ee, var(--fe-accent));
  color: #fff;
  box-shadow: var(--fe-shadow-btn);
  font-weight: 700;
}
.fe-account-side-nav {
  display: grid;
  gap: .25rem;
}
.fe-account-side-nav a,
.fe-account-side-nav__logout button {
  display: flex;
  align-items: center;
  gap: .65rem;
  width: 100%;
  padding: .62rem .75rem;
  border: 0;
  background: transparent;
  color: var(--fe-muted);
  text-decoration: none;
  border-radius: 14px;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background var(--fe-transition-fast), color var(--fe-transition-fast), transform var(--fe-transition-fast);
}
.fe-account-side-nav__logout {
  margin: 0;
}
.fe-account-side-nav a span,
.fe-account-side-nav__logout button span {
  display: grid;
  place-items: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 10px;
  background: var(--fe-accent-soft);
  color: var(--fe-text);
  font-size: .8rem;
}
.fe-account-side-nav a:hover,
.fe-account-side-nav a.is-active,
.fe-account-side-nav__logout button:hover {
  background: rgba(234,220,248,.62);
  color: var(--fe-text);
  transform: translateX(2px);
}
.fe-account-main { min-width: 0; }
.fe-account-page {
  padding: 1.25rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 28px;
  background:
    radial-gradient(circle at 90% 0%, rgba(253,232,239,.45), transparent 18rem),
    rgba(255,255,255,.84);
  box-shadow: var(--fe-shadow);
  backdrop-filter: blur(14px);
}
.fe-account-page--narrow { max-width: 720px; }
.fe-account-page > .fe-h2,
.fe-account-page > .fe-hero__title,
.fe-account-page > h1 {
  margin: 0 0 .55rem;
  font-size: clamp(1.65rem, 3.2vw, 2.5rem);
  line-height: var(--fe-line-tight);
  letter-spacing: -.035em;
}
.fe-account-page > .fe-muted {
  max-width: 760px;
}
.fe-account-page > p:first-of-type a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .35rem .7rem;
  border-radius: var(--fe-radius-pill);
  background: #fff;
  border: 1px solid var(--fe-border-subtle);
  color: var(--fe-muted);
  text-decoration: none;
}
.fe-account-page > p:first-of-type a:hover {
  color: var(--fe-text);
  border-color: color-mix(in srgb, var(--fe-accent) 32%, var(--fe-border));
}
.fe-account-page .fe-section,
.fe-account-page .fe-card-panel,
.fe-account-page details,
.fe-account-page .fe-order-card {
  border: 1px solid var(--fe-border-subtle);
  border-radius: 22px;
  background: rgba(255,255,255,.84);
  box-shadow: var(--fe-shadow-sm);
}
.fe-account-page .fe-section,
.fe-account-page .fe-card-panel {
  padding: 1rem;
}
.fe-account-page .fe-section + .fe-section {
  margin-top: 1rem;
}
.fe-account-page details {
  padding: .85rem 1rem;
}
.fe-account-page summary { cursor: pointer; }
.fe-account-page .fe-table {
  margin-top: .9rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 20px;
  box-shadow: var(--fe-shadow-sm);
}
.fe-account-page .fe-table th {
  color: var(--fe-muted);
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: #fbf8fc;
}
.fe-account-page .fe-table tr:last-child td { border-bottom: 0; }
.fe-account-page .fe-table tbody tr:hover { background: rgba(234,220,248,.22); }
.fe-account-page .fe-form { margin-top: .9rem; }
.fe-account-page fieldset {
  border-color: var(--fe-border-subtle) !important;
  border-radius: 18px !important;
  background: #fff;
}
.fe-account-page .fe-profile-tabs {
  max-width: 760px;
}
.fe-profile-tabs__radio {
  position: absolute;
  inline-size: 1px !important;
  block-size: 1px !important;
  opacity: 0;
  pointer-events: none;
}
.fe-profile-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  padding: .35rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius);
  background: rgba(255,255,255,.72);
}
.fe-profile-tabs__nav label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: .55rem .85rem;
  border: 1px solid transparent;
  border-radius: var(--fe-radius-pill);
  color: var(--fe-muted);
  cursor: pointer;
  font-weight: var(--fe-font-weight-medium);
  transition: color var(--fe-transition-fast), background var(--fe-transition-fast), border-color var(--fe-transition-fast), box-shadow var(--fe-transition-fast);
}
.fe-profile-tabs__nav label:hover {
  color: var(--fe-text);
  background: #fff;
  border-color: color-mix(in srgb, var(--fe-accent) 20%, var(--fe-border));
}
.fe-profile-tabs__panels {
  display: grid;
  gap: 1rem;
}
.fe-profile-tabs__panel {
  display: none;
  gap: .75rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 20px;
  background: #fff;
}
.fe-profile-tabs__panel h3 {
  margin: 0;
  font-size: 1rem;
}
.fe-profile-tabs__panel > .fe-muted {
  margin: -.35rem 0 .15rem;
}
.fe-profile-tabs__panel label {
  display: grid;
  gap: .35rem;
}
.fe-profile-tabs__checks,
.fe-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.fe-profile-tabs__checks {
  align-items: center;
}
.fe-profile-tabs__checks .fe-inline-row {
  display: flex;
  align-items: center;
}
.fe-form .fe-inline-row input[type="checkbox"] {
  width: auto;
  padding: 0;
  accent-color: var(--fe-accent);
}
.fe-profile-switcher {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .65rem;
  margin: .85rem 0;
}
.fe-profile-switcher a {
  display: grid;
  gap: .2rem;
  padding: .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius);
  background: #fff;
  color: inherit;
  text-decoration: none;
}
.fe-profile-switcher a.is-active {
  border-color: color-mix(in srgb, var(--fe-accent) 42%, var(--fe-border));
  background: var(--fe-accent-soft);
  box-shadow: 0 10px 26px rgba(232,93,134,.12);
}
.fe-profile-switcher span,
.fe-profile-limit-card span {
  color: var(--fe-muted);
  font-size: .9rem;
}
.fe-profile-limit-card {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem .85rem;
  align-items: center;
  padding: .75rem .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius);
  background: rgba(255,255,255,.72);
}
#profile-tab-main:checked ~ .fe-profile-tabs__nav label[for="profile-tab-main"],
#profile-tab-content:checked ~ .fe-profile-tabs__nav label[for="profile-tab-content"],
#profile-tab-contacts:checked ~ .fe-profile-tabs__nav label[for="profile-tab-contacts"],
#profile-tab-location:checked ~ .fe-profile-tabs__nav label[for="profile-tab-location"],
#profile-tab-details:checked ~ .fe-profile-tabs__nav label[for="profile-tab-details"],
#profile-tab-files:checked ~ .fe-profile-tabs__nav label[for="profile-tab-files"] {
  color: var(--fe-text);
  background: var(--fe-accent-soft);
  border-color: color-mix(in srgb, var(--fe-accent) 35%, var(--fe-border));
  box-shadow: 0 10px 26px rgba(232,93,134,.12);
}
#profile-tab-main:checked ~ .fe-profile-tabs__panels .fe-profile-tabs__panel--main,
#profile-tab-content:checked ~ .fe-profile-tabs__panels .fe-profile-tabs__panel--content,
#profile-tab-contacts:checked ~ .fe-profile-tabs__panels .fe-profile-tabs__panel--contacts,
#profile-tab-location:checked ~ .fe-profile-tabs__panels .fe-profile-tabs__panel--location,
#profile-tab-details:checked ~ .fe-profile-tabs__panels .fe-profile-tabs__panel--details,
#profile-tab-files:checked ~ .fe-profile-tabs__panels .fe-profile-tabs__panel--files {
  display: grid;
}
.fe-account-page--partner {
  display: grid;
  gap: 1rem;
}
.fe-account-page--partner > h1,
.fe-account-page--partner > p {
  margin-left: .25rem;
}
.fe-account-page--partner > p:nth-of-type(4) {
  margin-top: 0;
}
.fe-account-page--partner .fe-section {
  margin-bottom: 0;
}
.fe-account-page .fe-gallery-admin {
  margin-top: 1rem;
}
@media (max-width: 980px) {
  .fe-account-shell { grid-template-columns: 1fr; }
  .fe-account-sidebar { position: static; }
  .fe-account-side-nav { grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); }
}

/* Listing */
.fe-list-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.5rem;
}
.fe-market-layout {
  width: min(var(--fe-container-wide), 100% - (var(--fe-page-gutter) * 2));
}
.fe-market-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 1rem;
  padding: 1.4rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 28px;
  background:
    radial-gradient(circle at 88% 10%, rgba(234,220,248,.8), transparent 18rem),
    #fff;
  box-shadow: var(--fe-shadow);
}
.fe-market-hero h1 {
  margin: 0 0 .5rem;
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  line-height: var(--fe-line-tight);
  letter-spacing: -.045em;
}
.fe-market-hero p { color: var(--fe-muted); margin: 0; max-width: 680px; }
.fe-intent-strip {
  display: flex;
  gap: .75rem;
  overflow-x: auto;
  padding: 1rem .1rem;
  border-bottom: 1px solid var(--fe-border-subtle);
}
.fe-intent-chip {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  min-width: 96px;
  min-height: 82px;
  padding: .75rem;
  border: 2px solid rgba(222,133,166,.36);
  border-radius: var(--fe-radius-sm);
  background: #fff;
  color: var(--fe-text);
  text-align: center;
  text-decoration: none;
  box-shadow: var(--fe-shadow-sm);
}
.fe-intent-chip.is-active,
.fe-intent-chip:hover {
  border-color: var(--fe-accent);
  background: var(--fe-accent-soft);
}
.fe-intent-chip span { font-size: .84rem; font-weight: var(--fe-font-weight-medium); }
.fe-market-grid {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}
.fe-market-sidebar {
  position: sticky;
  top: 5.5rem;
  display: grid;
  gap: 1rem;
}
.fe-market-sidebar h2 {
  margin: 0;
  font-size: 1rem;
}
.fe-market-cats {
  display: grid;
  gap: .25rem;
  padding: .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--fe-shadow-sm);
}
.fe-market-cats a {
  display: flex;
  justify-content: space-between;
  gap: .65rem;
  padding: .42rem .35rem;
  color: var(--fe-muted);
  text-decoration: none;
  border-radius: 12px;
}
.fe-market-cats a:hover,
.fe-market-cats a.is-active {
  color: var(--fe-text);
  background: var(--fe-accent-soft);
}
.fe-market-cats strong { color: var(--fe-accent-hover); }
.fe-market-results {
  min-width: 0;
  display: grid;
  gap: 1rem;
}
.fe-market-results__head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.fe-market-card {
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--fe-shadow);
}
.fe-market-card__head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}
.fe-market-card h2 {
  margin: 0;
  font-size: 1.12rem;
}
.fe-market-card h2 a {
  color: inherit;
  text-decoration: none;
}
.fe-market-card__actions {
  flex: 0 0 auto;
}
.fe-ad-strip--inline {
  margin: 0;
}
.fe-lead-card {
  display: grid;
  gap: .55rem;
  padding: 1rem;
  border-radius: 22px;
  background: linear-gradient(135deg, #fff, #fff);
  border: 1px solid var(--fe-border-subtle);
  box-shadow: var(--fe-shadow-sm);
}
.fe-lead-card span { color: var(--fe-muted); font-size: .92rem; }
.fe-seo-block {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  padding: 1.25rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--fe-shadow-sm);
}
.fe-partner-block {
  background: var(--fe-surface-elevated);
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  padding: 1rem 1.1rem;
  margin-bottom: 1.25rem;
  box-shadow: var(--fe-shadow);
}
.fe-partner-block h2 { margin: 0 0 0.75rem; font-size: 1.1rem; font-weight: var(--fe-font-weight-medium); }
.fe-offers-scroll {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  padding-bottom: 0.35rem;
  scroll-snap-type: x mandatory;
  mask-image: linear-gradient(to right, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, #000 92%, transparent);
}
.fe-offer-mini {
  flex: 0 0 200px;
  scroll-snap-align: start;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-sm);
  padding: 0.65rem;
  font-size: var(--fe-font-size-sm);
  background: var(--fe-surface-elevated);
}
.fe-offer-mini__cover {
  display: block;
  margin: -0.65rem -0.65rem 0.55rem;
  overflow: hidden;
  border-radius: var(--fe-radius-sm) var(--fe-radius-sm) 0 0;
}
.fe-offer-mini__cover img {
  display: block;
  width: 100%;
  height: 112px;
  object-fit: cover;
}
.fe-offer-mini h3 {
  margin: 0 0 0.35rem;
  font-size: 0.95rem;
  line-height: 1.25;
}
.fe-offer-mini h3 a {
  color: inherit;
  text-decoration: none;
}
.fe-offers-match-note {
  margin: 0.25rem 0 0.55rem;
  font-size: var(--fe-font-size-sm);
}
.fe-breadcrumbs { font-size: var(--fe-font-size-sm); color: var(--fe-muted); margin-bottom: 1rem; }
.fe-breadcrumbs a { color: var(--fe-muted); transition: color var(--fe-transition-fast); }
.fe-breadcrumbs a:hover { color: var(--fe-text); }

.fe-map-btn { margin-left: auto; }

.fe-article-layout {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 1.75rem;
  align-items: start;
}
@media (max-width: 900px) {
  .fe-article-layout { grid-template-columns: 1fr; }
}
.fe-article-sidebar {
  position: sticky;
  top: 5rem;
}
.fe-sidebar-ad {
  display: block;
  border-radius: var(--fe-radius);
  overflow: hidden;
  border: 1px solid var(--fe-border-subtle);
  margin-bottom: 1rem;
  background: var(--fe-surface-elevated);
}
.fe-sidebar-ad img { width: 100%; height: auto; vertical-align: middle; }

.fe-video-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 0.75rem;
}
.fe-video-card {
  border: 0;
  padding: 0;
  border-radius: var(--fe-radius);
  overflow: hidden;
  cursor: pointer;
  background: var(--fe-surface-elevated);
  border: 1px solid var(--fe-border-subtle);
  text-align: left;
}
.fe-video-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; display: block; }

.fe-modal {
  border: none;
  border-radius: var(--fe-radius-lg);
  padding: 0;
  max-width: min(900px, 100vw - 2rem);
  box-shadow: var(--fe-shadow-lg);
}
.fe-modal::backdrop {
  background: var(--fe-overlay);
  backdrop-filter: blur(4px);
}
.fe-modal__inner { padding: 0; }
.fe-modal__inner iframe { width: 100%; aspect-ratio: 16/9; border: 0; display: block; }
.fe-modal__close {
  display: block;
  width: 100%;
  padding: 0.5rem;
  border: 0;
  background: var(--fe-accent-soft);
  color: var(--fe-text);
  cursor: pointer;
  font: inherit;
  transition: background var(--fe-transition-fast);
}
.fe-modal__close:hover { background: var(--fe-border); }

.fe-contact-modal {
  width: min(520px, 100vw - 2rem);
}
.fe-contact-modal__inner {
  padding: clamp(1.25rem, 3vw, 1.8rem);
}
.fe-contact-reveal h3 {
  margin: 0 0 1rem;
  line-height: var(--fe-line-tight);
}
.fe-contact-reveal > p {
  margin: 0 0 1rem;
  line-height: var(--fe-line-relaxed);
}
.fe-contact-reveal__list {
  display: grid;
  gap: .55rem;
  margin: 1rem 0 0;
  padding: 0;
}
.fe-contact-reveal__list li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  padding: .75rem .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-sm);
  background: var(--fe-surface-elevated);
}
.fe-contact-reveal__list span {
  color: var(--fe-muted);
}
.fe-contact-reveal__list a {
  overflow-wrap: anywhere;
  text-align: right;
}

.fe-share { margin: 1rem 0; min-height: 2rem; }

.fe-profile-page { width: min(var(--fe-container-wide), 100% - (var(--fe-page-gutter) * 2)); }
.fe-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 430px);
  gap: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 30px;
  background:
    radial-gradient(circle at 88% 12%, rgba(253,232,239,.55), transparent 18rem),
    #fff;
  box-shadow: var(--fe-shadow);
}
.fe-profile-hero h1 {
  margin: .15rem 0 .5rem;
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  line-height: var(--fe-line-tight);
  letter-spacing: -.05em;
}
.fe-profile-badges,
.fe-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .9rem;
}
.fe-profile-badges span {
  display: inline-flex;
  align-items: center;
  border-radius: var(--fe-radius-pill);
  padding: .28rem .65rem;
  background: var(--fe-accent-soft);
  color: var(--fe-accent-hover);
  font-weight: var(--fe-font-weight-medium);
  font-size: .88rem;
}
.fe-profile-hero-gallery {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  gap: .45rem;
  max-height: 310px;
  overflow: hidden;
  border-radius: 22px;
}
.fe-profile-hero-gallery img {
  width: 100%;
  height: 100%;
  min-height: 145px;
  object-fit: cover;
}
.fe-profile-hero-gallery img:first-child { grid-row: span 2; }
.fe-profile-hero-placeholder {
  display: grid;
  place-items: center;
  min-height: 260px;
  border-radius: 22px;
  background: var(--fe-accent-soft);
  color: var(--fe-muted);
}
.fe-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 1.25rem;
  align-items: start;
}
.fe-profile-page .fe-profile-grid main > .fe-section {
  padding: clamp(1rem, 1.6vw, 1.35rem);
  border: 1px solid color-mix(in srgb, var(--fe-accent) 14%, var(--fe-border));
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.9)),
    var(--fe-surface-elevated);
  box-shadow: 0 14px 34px rgba(45, 38, 48, .075);
}
.fe-profile-page .fe-profile-grid main > .fe-section + .fe-section {
  margin-top: 1.15rem;
}
.fe-profile-aside {
  position: sticky;
  top: 5.5rem;
  display: grid;
  gap: 1rem;
}
.fe-profile-contact-card,
.fe-profile-note {
  display: grid;
  gap: .5rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--fe-shadow-sm);
}
.fe-profile-contact-card a:not(.fe-btn) { color: var(--fe-text); text-decoration: none; }
.fe-profile-contact-card span,
.fe-profile-note p { margin: 0; color: var(--fe-muted); }
.fe-profile-note--accent { background: linear-gradient(135deg, #fff, #fff); }
.fe-facts-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: .7rem;
  margin: 0;
}
.fe-facts-grid > div {
  padding: .8rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: 18px;
  background: #fff;
}
.fe-facts-grid dt { color: var(--fe-muted); font-size: .78rem; }
.fe-facts-grid dd { margin: .15rem 0 0; font-weight: var(--fe-font-weight-medium); }
.fe-key-params-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.fe-key-params-list li {
  display: grid;
  gap: .2rem;
  padding: .75rem 0;
  border-bottom: 1px solid var(--fe-border-subtle);
}
.fe-key-params-list span {
  color: var(--fe-muted);
  font-size: .78rem;
}
.fe-key-params-list strong {
  font-weight: var(--fe-font-weight-medium);
  line-height: var(--fe-line-relaxed);
}
.fe-profile-primary-offers {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 100% 0%, rgba(232,93,134,.16), transparent 18rem),
    linear-gradient(180deg, #fff, rgba(253,232,239,.22)) !important;
}
.fe-hall-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: .85rem;
}
.fe-hall-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 32%);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--fe-accent) 18%, var(--fe-border));
  border-radius: var(--fe-radius-lg);
  background: #fff;
  box-shadow: var(--fe-shadow-sm);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.fe-hall-card:hover {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--fe-accent) 42%, var(--fe-border));
  box-shadow: var(--fe-shadow-lg);
}
.fe-hall-card__cover {
  display: block;
  overflow: hidden;
  background: var(--fe-accent-soft);
  min-height: 190px;
  order: 2;
}
.fe-hall-card__cover img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 190px;
  object-fit: cover;
  transition: transform .34s ease;
}
.fe-hall-card__photo-tile {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: .35rem;
  padding: .35rem;
  background: var(--fe-accent-soft);
}
.fe-hall-card__photo-tile img {
  min-height: 0;
  border-radius: calc(var(--fe-radius) - 2px);
}
.fe-hall-card__photo-tile img:first-child {
  grid-row: 1 / -1;
}
.fe-hall-card__photo-tile img:nth-child(n+5) {
  display: none;
}
.fe-hall-card__cover--empty {
  display: grid;
  place-items: center;
  color: var(--fe-muted);
  text-decoration: none;
}
.fe-hall-card:hover .fe-hall-card__cover img {
  transform: scale(1.035);
}
.fe-hall-card__body {
  display: grid;
  gap: .9rem;
  padding: 1rem;
  order: 1;
}
.fe-hall-card h3 {
  margin: 0 0 .2rem;
  font-size: 1.16rem;
}
.fe-hall-card h3 a {
  color: inherit;
  text-decoration: none;
}
.fe-hall-card__price {
  display: grid;
  gap: .1rem;
  padding: .75rem;
  border-radius: var(--fe-radius);
  background: linear-gradient(135deg, var(--fe-accent-soft), #fff);
}
.fe-hall-card__price span {
  font-size: 1.35rem;
  font-weight: var(--fe-font-weight-heading);
  letter-spacing: -.035em;
}
.fe-hall-card__price small {
  color: var(--fe-muted);
}
.fe-hall-card__actions,
.fe-hall-card__cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
}
.fe-hall-card__cart {
  flex: 1 1 320px;
}
.fe-hall-card__cart input {
  min-width: 0;
  width: 9.5rem;
  padding: .55rem .6rem;
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius-sm);
  font: inherit;
}
.fe-hall-card__cart button {
  white-space: nowrap;
}
.fe-profile-info-card {
  animation: feOfferRise .32s ease both;
}
.fe-profile-info-card .fe-section-head {
  margin-bottom: 1rem;
}
.fe-profile-note-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .8rem;
  margin-top: 1rem;
}
.fe-profile-page .fe-profile-grid main > .fe-profile-info-card:hover,
.fe-profile-page .fe-profile-grid main > .fe-profile-primary-offers:hover {
  border-color: color-mix(in srgb, var(--fe-accent) 28%, var(--fe-border));
}
.fe-profile-request-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(232,93,134,.14), transparent 15rem),
    #fff !important;
}
.fe-review {
  padding: .9rem 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-left: 3px solid var(--fe-accent);
  border-radius: var(--fe-radius);
  background: #fff;
  box-shadow: var(--fe-shadow-sm);
}

@media (min-width: 1440px) {
  :root {
    --fe-container-max: 1320px;
    --fe-container-wide: 1480px;
    --fe-container-xl: 1640px;
  }
  .fe-admin-shell,
  .fe-account-shell {
    width: min(var(--fe-container-wide), 100% - (var(--fe-page-gutter) * 2));
  }
  .fe-market-layout,
  .fe-profile-page,
  .fe-account-shell--wide {
    width: min(var(--fe-container-xl), 100% - (var(--fe-page-gutter) * 2));
  }
  .fe-market-grid {
    grid-template-columns: 260px minmax(0, 1fr);
  }
  .fe-profile-grid {
    grid-template-columns: minmax(0, 1fr) 300px;
  }
}

@media (min-width: 1920px) {
  :root {
    --fe-container-max: 1440px;
    --fe-container-wide: 1640px;
    --fe-container-xl: 1800px;
    --fe-page-gutter: clamp(2rem, 3vw, 4.5rem);
  }
  .fe-home-hero,
  .fe-market-hero,
  .fe-profile-hero,
  .fe-admin-hero {
    padding: clamp(1.8rem, 1.6vw, 2.8rem);
  }
  .fe-admin-shell,
  .fe-account-shell {
    grid-template-columns: 280px minmax(0, 1fr);
  }
  .fe-market-grid {
    grid-template-columns: 280px minmax(0, 1fr);
  }
}

@media (min-width: 2560px) {
  :root {
    --fe-container-max: 1680px;
    --fe-container-wide: 1880px;
    --fe-container-xl: 2120px;
    --fe-page-gutter: clamp(3rem, 4vw, 7rem);
  }
  .fe-home-category-grid,
  .fe-intent-card-grid,
  .fe-grid--cards {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }
  .fe-admin-stats {
    grid-template-columns: repeat(4, minmax(260px, 1fr));
  }
  .fe-market-grid {
    grid-template-columns: 320px minmax(0, 1fr);
  }
  .fe-profile-grid {
    grid-template-columns: minmax(0, 1fr) 340px;
  }
}

.fe-banner-strip {
  display: flex;
  gap: 0.75rem;
  overflow-x: auto;
  margin: 1rem 0;
}
.fe-banner-strip a { flex: 0 0 auto; }
.fe-banner-strip img { height: 90px; width: auto; border-radius: calc(var(--fe-radius) - 4px); }
.fe-banner-cell { flex: 0 0 auto; max-width: 280px; }
.fe-banner-side-wrap { margin-bottom: 0.75rem; }
.fe-sidebar-ad-wrap { margin-bottom: 1rem; }

.fe-erid {
  display: block;
  font-size: 0.7rem;
  color: var(--fe-muted);
  margin-top: 0.25rem;
  line-height: 1.3;
}

.fe-orders-list { display: flex; flex-direction: column; gap: 1rem; }
.fe-order-card {
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius);
  background: var(--fe-surface-elevated);
  padding: 1rem;
  box-shadow: var(--fe-shadow);
}
.fe-order-card__head { margin-bottom: 0.5rem; overflow: hidden; }
.fe-order-card__lines { margin: 0; padding-left: 1.2rem; font-size: 0.95rem; }

.fe-cart-recs {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--fe-border);
}
.fe-cart-recs ul { padding-left: 1.1rem; margin: 0.5rem 0 0; }

.fe-flash {
  padding: 0.75rem 1rem;
  border-radius: var(--fe-radius);
  background: var(--fe-surface-elevated);
  border: 1px solid var(--fe-border-subtle);
  margin-bottom: 1rem;
}

.fe-home-blog {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}
.fe-home-blog-card {
  display: flex;
  flex-direction: column;
  border-radius: var(--fe-radius);
  overflow: hidden;
  border: 1px solid var(--fe-border-subtle);
  background: var(--fe-surface-elevated);
  text-decoration: none;
  color: inherit;
  box-shadow: var(--fe-shadow);
  transition: transform var(--fe-transition), box-shadow var(--fe-transition);
}
.fe-home-blog-card:hover { transform: translateY(-2px); box-shadow: var(--fe-shadow-lg); }
.fe-home-blog-card__img {
  aspect-ratio: 16 / 10;
  background: var(--fe-border);
  overflow: hidden;
}
.fe-home-blog-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fe-home-blog-card__img--empty { min-height: 120px; }
.fe-home-blog-card__body { padding: 0.75rem 1rem; }

.fe-blog-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1.25rem;
}
.fe-blog-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: var(--fe-radius);
  overflow: hidden;
  border: 1px solid var(--fe-border-subtle);
  background: var(--fe-surface-elevated);
  text-decoration: none;
  color: inherit;
  box-shadow: var(--fe-shadow);
  transition: transform var(--fe-transition), box-shadow var(--fe-transition);
}
.fe-blog-card:hover { transform: translateY(-2px); box-shadow: var(--fe-shadow-lg); }
.fe-blog-card__cover {
  aspect-ratio: 16 / 10;
  background: var(--fe-border);
  overflow: hidden;
}
.fe-blog-card__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fe-blog-card__cover--empty { min-height: 140px; }
.fe-blog-card__body { padding: 1rem; flex: 1; display: flex; flex-direction: column; gap: 0.35rem; }

.fe-article-cover {
  margin: 0 0 1.25rem;
  border-radius: var(--fe-radius);
  overflow: hidden;
  border: 1px solid var(--fe-border);
}
.fe-article-cover img { width: 100%; height: auto; vertical-align: middle; display: block; }

.fe-offer-layout {
  display: grid;
  gap: 1.75rem;
  align-items: start;
}
.fe-offer-layout--split {
  grid-template-columns: minmax(0, 1fr) 200px;
}
@media (max-width: 900px) {
  .fe-offer-layout--split { grid-template-columns: 1fr; }
}
.fe-offer-layout__aside {
  position: sticky;
  top: 5rem;
  align-self: start;
}

.fe-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.5rem;
}
.fe-gallery-thumb {
  border: 0;
  padding: 0;
  border-radius: calc(var(--fe-radius) - 4px);
  overflow: hidden;
  cursor: zoom-in;
  background: var(--fe-border);
  aspect-ratio: 1;
}
.fe-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fe-profile-photo-section {
  background:
    radial-gradient(circle at 100% 0%, rgba(253,232,239,.62), transparent 15rem),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
}
.fe-photo-count {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: .25rem .7rem;
  border: 1px solid color-mix(in srgb, var(--fe-accent) 22%, var(--fe-border));
  border-radius: var(--fe-radius-pill);
  background: #fff;
  color: var(--fe-accent-hover);
  font-size: .86rem;
  font-weight: var(--fe-font-weight-medium);
  white-space: nowrap;
}
.fe-album-scroll {
  display: flex;
  gap: 1rem;
  margin: 0 calc(clamp(1rem, 1.6vw, 1.35rem) * -1);
  padding: 0 clamp(1rem, 1.6vw, 1.35rem) .65rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-color: color-mix(in srgb, var(--fe-accent) 36%, var(--fe-border)) transparent;
  mask-image: linear-gradient(to right, #000 calc(100% - 2.2rem), transparent);
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 2.2rem), transparent);
}
.fe-album-card {
  display: block;
  flex: 0 0 min(620px, 92vw);
  padding: .75rem;
  border: 1px solid color-mix(in srgb, var(--fe-accent) 18%, var(--fe-border));
  border-radius: 22px;
  background: rgba(255,255,255,.94);
  box-shadow: var(--fe-shadow-sm);
  color: inherit;
  text-decoration: none;
  scroll-snap-align: start;
  transition: transform var(--fe-transition), box-shadow var(--fe-transition), border-color var(--fe-transition);
}
.fe-album-card:hover {
  transform: translateY(-2px);
  border-color: color-mix(in srgb, var(--fe-accent) 38%, var(--fe-border));
  box-shadow: var(--fe-shadow);
}
.fe-album-card__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .65rem;
}
.fe-album-card__head span {
  color: var(--fe-muted);
  font-size: .86rem;
}
.fe-album-card__photos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
  max-height: none;
  overflow: hidden;
}
.fe-album-card__thumb {
  min-height: 0;
  aspect-ratio: 4 / 3;
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.5);
  transition: transform var(--fe-transition), filter var(--fe-transition);
}
.fe-album-card__thumb:hover {
  filter: saturate(1.08);
  transform: scale(1.015);
}
.fe-all-photos {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid color-mix(in srgb, var(--fe-accent) 16%, var(--fe-border));
}
.fe-all-photos__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: .75rem;
}
.fe-all-photos__head h3 {
  margin: 0;
  font-size: 1rem;
  letter-spacing: -.01em;
}
.fe-all-photos__head span {
  color: var(--fe-muted);
  font-size: .86rem;
}
.fe-all-photos__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: .5rem;
}
.fe-all-photos__thumb {
  aspect-ratio: 4 / 3;
  border-radius: 14px;
}
.fe-gallery-lightbox .fe-gallery-lightbox__imgwrap {
  position: relative;
  padding: 0.5rem;
  max-height: 88vh;
  overflow: auto;
  text-align: center;
}
.fe-gallery-lightbox img { max-width: 100%; height: auto; }
.fe-gallery-lightbox__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: var(--fe-text);
  box-shadow: var(--fe-shadow-sm);
  cursor: pointer;
  font: inherit;
  font-size: 2rem;
  line-height: 1;
  transform: translateY(-50%);
  transition: opacity var(--fe-transition-fast), transform var(--fe-transition-fast), background var(--fe-transition-fast);
}
.fe-gallery-lightbox__nav:hover {
  background: #fff;
  transform: translateY(-50%) scale(1.04);
}
.fe-gallery-lightbox__nav:disabled {
  cursor: default;
  opacity: .28;
  transform: translateY(-50%);
}
.fe-gallery-lightbox__nav--prev { left: 1rem; }
.fe-gallery-lightbox__nav--next { right: 1rem; }

.fe-gallery-page {
  display: grid;
  gap: 1rem;
}
.fe-gallery-page__hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.fe-gallery-page__hero .fe-h2 {
  margin: .15rem 0 .35rem;
}
.fe-gallery-page__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: .75rem;
}
.fe-gallery-page__item {
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  overflow: hidden;
  background: var(--fe-border-subtle);
  box-shadow: var(--fe-shadow-sm);
  transition: transform var(--fe-transition), box-shadow var(--fe-transition);
}
.fe-gallery-page__item:hover {
  transform: translateY(-2px);
  box-shadow: var(--fe-shadow);
}
.fe-gallery-page__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fe-gallery-admin {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1rem;
}
.fe-gallery-admin__item {
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius);
  padding: 0.5rem;
  background: var(--fe-surface);
}
.fe-gallery-admin__item img {
  display: block;
  width: 120px;
  height: 120px;
  object-fit: cover;
  border-radius: calc(var(--fe-radius) - 6px);
  margin-bottom: 0.35rem;
}
.fe-offer-gallery-picker {
  margin-top: .75rem;
}
.fe-offer-gallery-picker__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(92px, 1fr));
  gap: .55rem;
}
.fe-offer-gallery-picker__grid label {
  position: relative;
  display: block;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: var(--fe-radius);
  background: var(--fe-border-subtle);
  cursor: pointer;
}
.fe-offer-gallery-picker__grid input {
  position: absolute;
  top: .35rem;
  left: .35rem;
  z-index: 1;
}
.fe-offer-gallery-picker__grid img,
.fe-offer-gallery-picker__grid span {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.fe-offer-gallery-picker__grid label:has(input:checked) {
  border-color: var(--fe-accent);
  box-shadow: var(--fe-shadow-btn);
}

.fe-footer {
  margin-top: 3rem;
  padding: 2.5rem 0 1.25rem;
  background: var(--fe-bg);
  border-top: 1px solid var(--fe-border-subtle);
}
.fe-footer__grid {
  display: grid;
  gap: 1.75rem 2rem;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.fe-footer__brand {
  font-weight: var(--fe-font-weight-heading);
  font-size: 1.1rem;
  margin: 0 0 0.35rem;
  letter-spacing: -0.02em;
}
.fe-footer__lead { margin: 0; font-size: 0.95rem; max-width: 18rem; }
.fe-footer__h {
  list-style: none;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--fe-muted);
  margin: 0 0 0.65rem;
}
.fe-footer__h::-webkit-details-marker { display: none; }
.fe-footer__section summary {
  cursor: default;
}
.fe-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.fe-footer__links a { color: var(--fe-text); text-decoration: none; }
.fe-footer__links a:hover { text-decoration: underline; }
.fe-footer__mini { margin: 0; font-size: 0.9rem; max-width: 16rem; line-height: 1.45; }
.fe-footer__mini a { color: var(--fe-text); }
.fe-footer__copy {
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fe-border);
}
.fe-footer__copy p { margin: 0; font-size: 0.85rem; }

@media (max-width: 720px) {
  .fe-footer {
    margin-top: 1.5rem;
    padding: 1rem 0 .75rem;
  }
  .fe-footer__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: .45rem;
  }
  .fe-footer__grid > div:first-child {
    padding-bottom: .55rem;
    margin-bottom: .25rem;
    border-bottom: 1px solid var(--fe-border-subtle);
  }
  .fe-footer__brand {
    margin-bottom: .15rem;
    font-size: 1rem;
  }
  .fe-footer__lead {
    max-width: none;
    font-size: .86rem;
    line-height: 1.35;
  }
  .fe-footer__section {
    border: 1px solid var(--fe-border-subtle);
    border-radius: var(--fe-radius-sm);
    background: #fff;
  }
  .fe-footer__section summary {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin: 0;
    padding: .7rem .8rem;
    color: var(--fe-text);
    transition: color var(--fe-transition-fast), background var(--fe-transition-fast);
  }
  .fe-footer__section summary::after {
    content: "+";
    display: grid;
    place-items: center;
    width: 1.35rem;
    height: 1.35rem;
    border-radius: var(--fe-radius-sm);
    color: var(--fe-accent-hover);
    background: var(--fe-accent-soft);
    transition: transform var(--fe-transition-fast);
  }
  .fe-footer__section[open] summary {
    background: rgba(253,232,239,.35);
  }
  .fe-footer__section[open] summary::after {
    content: "−";
    transform: rotate(180deg);
  }
  .fe-footer__links,
  .fe-footer__mini {
    padding: 0 .8rem .75rem;
  }
  .fe-footer__links {
    gap: .28rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fe-footer__links a,
  .fe-footer__mini {
    font-size: .9rem;
    line-height: 1.3;
  }
  .fe-footer__copy {
    margin-top: .75rem;
    padding-top: .65rem;
  }
  .fe-footer__copy p {
    font-size: .78rem;
  }
}
.fe-cookie {
  position: fixed;
  left: 50%;
  bottom: 1rem;
  z-index: 60;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: .85rem;
  align-items: center;
  width: min(680px, calc(100% - 2rem));
  padding: .85rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: rgba(255,255,255,.98);
  box-shadow: var(--fe-shadow-lg);
  transform: translateX(-50%);
}
.fe-cookie[hidden] {
  display: none;
}
.fe-cookie p {
  margin: 0;
  color: var(--fe-muted);
  font-size: .86rem;
  line-height: 1.4;
}
.fe-cookie a {
  color: var(--fe-text);
}

.fe-legal-page {
  max-width: 920px;
}
.fe-legal-card {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: #fff;
  box-shadow: var(--fe-shadow);
}
.fe-legal-card h1 {
  margin: .2rem 0 1rem;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: var(--fe-line-tight);
  letter-spacing: -.045em;
}
.fe-legal-card h2 {
  margin: 1.5rem 0 .55rem;
  font-size: 1.2rem;
}
.fe-legal-card p {
  color: var(--fe-muted);
}
.fe-legal-card a {
  color: var(--fe-text);
}

.fe-attr-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.35rem;
  margin: 0.75rem 0 1.25rem;
}
.fe-chip {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  border-radius: var(--fe-radius-pill);
  font-size: var(--fe-font-size-sm);
  text-decoration: none;
  color: var(--fe-text);
  background: var(--fe-surface-elevated);
  border: 1px solid var(--fe-border);
  transition: background var(--fe-transition-fast), border-color var(--fe-transition-fast), color var(--fe-transition-fast);
}
.fe-chip:hover {
  border-color: color-mix(in srgb, var(--fe-accent) 40%, var(--fe-border));
  background: var(--fe-accent-soft);
}
.fe-chip--active {
  background: var(--fe-accent);
  color: var(--fe-accent-fg);
  border-color: var(--fe-accent);
}
.fe-chip--active:hover {
  background: var(--fe-accent-hover);
  color: var(--fe-accent-fg);
  border-color: var(--fe-accent-hover);
}

.fe-offer-hero-card,
.fe-offer-section {
  position: relative;
  padding: clamp(1rem, 2.6vw, 1.5rem);
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: #fff;
  box-shadow: var(--fe-shadow);
  animation: feOfferRise .32s ease both;
}
.fe-offer-hero-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    radial-gradient(circle at 12% 0%, rgba(232,93,134,.12), transparent 32%),
    radial-gradient(circle at 100% 14%, rgba(109,40,217,.08), transparent 30%);
}
.fe-offer-hero-card > *,
.fe-offer-section > * { position: relative; }
.fe-offer-hero-card__head {
  margin-bottom: 1rem;
}
.fe-offer-title {
  margin: .15rem 0 .35rem;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: var(--fe-line-tight);
  letter-spacing: -.045em;
}
.fe-offer-hero-card__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
  gap: clamp(1rem, 2.5vw, 1.5rem);
  align-items: start;
}
.fe-offer-media {
  min-width: 0;
}
.fe-offer-cover {
  margin: 0;
  border-radius: var(--fe-radius-lg);
  overflow: hidden;
  border: 1px solid var(--fe-border-subtle);
  background: var(--fe-accent-soft);
  box-shadow: var(--fe-shadow-sm);
}
.fe-offer-cover img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  vertical-align: middle;
  display: block;
  transition: transform .35s ease;
}
.fe-offer-cover:hover img {
  transform: scale(1.025);
}
.fe-offer-gallery-strip {
  display: flex;
  gap: .65rem;
  margin-top: .75rem;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: .25rem;
  padding: .15rem .15rem .65rem;
  -webkit-overflow-scrolling: touch;
}
.fe-offer-gallery-strip__thumb {
  flex: 0 0 clamp(120px, 22vw, 190px);
  aspect-ratio: 16 / 10;
  border: 1px solid var(--fe-border-subtle);
  box-shadow: var(--fe-shadow-sm);
  scroll-snap-align: start;
  transition: transform var(--fe-transition), box-shadow var(--fe-transition), border-color var(--fe-transition);
}
.fe-offer-gallery-strip__thumb:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--fe-accent) 36%, var(--fe-border));
  box-shadow: var(--fe-shadow);
}
.fe-offer-photo-hint {
  margin: .55rem 0 0;
  color: var(--fe-muted);
  font-size: .9rem;
}
.fe-offer-photo-albums {
  background: #fff;
}
.fe-offer-album-grid {
  display: grid;
  gap: 2.25rem;
}
.fe-offer-album {
  display: block;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid color-mix(in srgb, var(--fe-border) 60%, transparent);
  color: inherit;
  text-decoration: none;
  transition: transform var(--fe-transition), opacity var(--fe-transition);
}
.fe-offer-album:hover {
  transform: translateY(-2px);
}
.fe-offer-album:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.fe-offer-album__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: .8rem;
}
.fe-offer-album__head h3 {
  margin: 0;
  font-size: 1.05rem;
  font-weight: var(--fe-font-weight-medium);
}
.fe-offer-album__head span {
  color: var(--fe-muted);
  font-size: .9rem;
}
.fe-offer-album__photos {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .55rem;
}
.fe-offer-album__thumb {
  width: 100%;
  min-height: 0;
  aspect-ratio: 3 / 2;
  border-radius: var(--fe-radius);
  background: var(--fe-border-subtle);
  box-shadow: var(--fe-shadow-sm);
}
.fe-offer-album__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.fe-offer-album:not(.is-expanded) .fe-offer-album__thumb:nth-child(n+13) {
  display: none;
}
.fe-offer-album__more {
  display: flex;
  width: fit-content;
  margin: .8rem auto 0;
}
.fe-offer-booking-card {
  position: sticky;
  top: 5rem;
  display: grid;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--fe-accent) 22%, var(--fe-border-subtle));
  border-radius: var(--fe-radius-lg);
  background: rgba(255,255,255,.96);
  box-shadow: 0 22px 55px rgba(232,93,134,.14);
  backdrop-filter: blur(10px);
}
.fe-offer-booking-card__top {
  display: grid;
  gap: .15rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid var(--fe-border-subtle);
}
.fe-offer-booking-card__top span,
.fe-offer-total span {
  color: var(--fe-muted);
  font-size: .86rem;
}
.fe-offer-booking-card__top strong {
  font-size: clamp(2rem, 4vw, 2.6rem);
  line-height: 1;
  letter-spacing: -.05em;
}
.fe-offer-booking-card__top small {
  color: var(--fe-muted);
}
.fe-offer-calc,
.fe-offer-booking-form {
  display: grid;
  gap: .75rem;
}
.fe-offer-calc label,
.fe-offer-booking-form label {
  display: grid;
  gap: .35rem;
  color: var(--fe-muted);
  font-size: .9rem;
}
.fe-offer-calc input,
.fe-offer-booking-form input {
  width: 100%;
  min-height: 3rem;
  padding: .75rem .85rem;
  border: 1px solid var(--fe-border);
  border-radius: var(--fe-radius);
  background: #fff;
  color: var(--fe-text);
  font: inherit;
  transition: border-color var(--fe-transition-fast), box-shadow var(--fe-transition-fast), transform var(--fe-transition-fast);
}
.fe-offer-calc input:focus,
.fe-offer-booking-form input:focus {
  border-color: var(--fe-accent);
  box-shadow: 0 0 0 4px rgba(232,93,134,.12);
  outline: none;
}
.fe-offer-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .75rem;
  padding: .85rem;
  border-radius: var(--fe-radius);
  background: linear-gradient(135deg, var(--fe-accent-soft), #fff);
}
.fe-offer-total strong {
  font-size: 1.45rem;
  letter-spacing: -.03em;
}
.fe-offer-booking-form .fe-btn {
  width: 100%;
  justify-content: center;
  min-height: 3.35rem;
  font-size: 1rem;
  box-shadow: var(--fe-shadow-btn-hover);
  animation: feOfferPulse 2.8s ease-in-out infinite;
}
.fe-offer-booking-card .fe-contact-reveal-form,
.fe-offer-booking-card .fe-contact-reveal-form .fe-btn {
  width: 100%;
}
.fe-offer-booking-card .fe-contact-reveal-form .fe-btn {
  justify-content: center;
  min-height: 3.2rem;
}
.fe-offer-booking-benefits {
  display: grid;
  gap: .45rem;
  margin: 0;
  padding: .8rem .85rem;
  border-radius: var(--fe-radius);
  background: var(--fe-surface);
  color: var(--fe-muted);
  font-size: .86rem;
}
.fe-offer-booking-benefits li {
  margin-left: 1rem;
}
.fe-offer-section {
  margin-top: 1.25rem;
  animation-delay: .05s;
}
.fe-offer-section__head {
  margin-bottom: 1rem;
}
.fe-offer-section__head .fe-h2 {
  margin-top: .15rem;
}
.fe-offer-facts > div {
  position: relative;
  overflow: hidden;
  min-height: 7.4rem;
  padding: .95rem;
  background:
    linear-gradient(145deg, rgba(255,255,255,.98), rgba(253,232,239,.2)),
    #fff;
  transition: transform var(--fe-transition), box-shadow var(--fe-transition), border-color var(--fe-transition);
}
.fe-offer-facts > div::after {
  content: "";
  position: absolute;
  right: .75rem;
  bottom: .65rem;
  width: 4.9rem;
  height: 3.4rem;
  opacity: .34;
  background: color-mix(in srgb, var(--fe-fact-accent, var(--fe-accent)) 18%, transparent);
  pointer-events: none;
}
.fe-offer-facts > div:hover {
  transform: translateY(-3px);
  border-color: color-mix(in srgb, var(--fe-accent) 30%, var(--fe-border));
  box-shadow: var(--fe-shadow-sm);
}
.fe-offer-fact {
  --fe-fact-accent: var(--fe-accent);
}
.fe-offer-fact--area { --fe-fact-accent: #6d5dfc; }
.fe-offer-fact--banquet { --fe-fact-accent: #e85d86; }
.fe-offer-fact--buffet { --fe-fact-accent: #c45bd8; }
.fe-offer-fact--price { --fe-fact-accent: #4f9d69; }
.fe-offer-fact--rent { --fe-fact-accent: #3f83d1; }
.fe-offer-fact--deposit { --fe-fact-accent: #2f9f9d; }
.fe-offer-fact--season { --fe-fact-accent: #d58a2f; }
.fe-offer-fact--attr-corporate,
.fe-offer-fact--attr-korporativ { --fe-fact-accent: #5667c8; }
.fe-offer-fact--attr-wedding { --fe-fact-accent: #e85d86; }
.fe-offer-facts dt {
  display: flex;
  align-items: center;
  gap: .55rem;
}
.fe-offer-facts dd {
  position: relative;
  z-index: 1;
  max-width: 10rem;
  font-size: clamp(1rem, 1.6vw, 1.14rem);
  line-height: var(--fe-line-tight);
}
.fe-offer-fact__icon {
  position: relative;
  flex: 0 0 2rem;
  width: 2rem;
  height: 2rem;
  border-radius: 12px;
  background: color-mix(in srgb, var(--fe-fact-accent) 14%, #fff);
  border: 1px solid color-mix(in srgb, var(--fe-fact-accent) 22%, var(--fe-border-subtle));
}
.fe-offer-fact__icon::before,
.fe-offer-fact__icon::after {
  content: "";
  position: absolute;
}
.fe-offer-fact--area .fe-offer-fact__icon::before {
  inset: .48rem;
  border: 2px solid var(--fe-fact-accent);
  border-radius: 5px;
}
.fe-offer-fact--area .fe-offer-fact__icon::after {
  left: .98rem;
  top: .48rem;
  width: 2px;
  height: 1.04rem;
  background: var(--fe-fact-accent);
}
.fe-offer-fact--banquet .fe-offer-fact__icon::before {
  left: .6rem;
  top: .56rem;
  width: .78rem;
  height: .78rem;
  border-radius: 50%;
  border: 2px solid var(--fe-fact-accent);
}
.fe-offer-fact--banquet .fe-offer-fact__icon::after {
  left: .46rem;
  top: .42rem;
  width: .22rem;
  height: .22rem;
  border-radius: 50%;
  background: var(--fe-fact-accent);
  box-shadow: .9rem 0 0 var(--fe-fact-accent), 0 .92rem 0 var(--fe-fact-accent), .9rem .92rem 0 var(--fe-fact-accent);
}
.fe-offer-fact--buffet .fe-offer-fact__icon::before {
  left: .56rem;
  top: .42rem;
  width: .45rem;
  height: .78rem;
  border: 2px solid var(--fe-fact-accent);
  border-top-width: 3px;
  border-radius: 2px 2px 8px 8px;
  transform: rotate(-8deg);
}
.fe-offer-fact--buffet .fe-offer-fact__icon::after {
  right: .52rem;
  top: .42rem;
  width: .45rem;
  height: .78rem;
  border: 2px solid var(--fe-fact-accent);
  border-top-width: 3px;
  border-radius: 2px 2px 8px 8px;
  transform: rotate(8deg);
}
.fe-offer-fact--price .fe-offer-fact__icon::before {
  left: .55rem;
  top: .42rem;
  width: .85rem;
  height: 1.1rem;
  border: 2px solid var(--fe-fact-accent);
  border-radius: 5px;
}
.fe-offer-fact--price .fe-offer-fact__icon::after {
  left: .73rem;
  top: .74rem;
  width: .5rem;
  height: 2px;
  background: var(--fe-fact-accent);
  box-shadow: 0 .28rem 0 var(--fe-fact-accent);
}
.fe-offer-fact--rent .fe-offer-fact__icon::before {
  left: .45rem;
  top: .54rem;
  width: .56rem;
  height: .56rem;
  border: 2px solid var(--fe-fact-accent);
  border-radius: 50%;
}
.fe-offer-fact--rent .fe-offer-fact__icon::after {
  left: .96rem;
  top: .83rem;
  width: .72rem;
  height: 2px;
  background: var(--fe-fact-accent);
  box-shadow: .42rem .22rem 0 -.02rem var(--fe-fact-accent);
  transform: rotate(22deg);
  transform-origin: left center;
}
.fe-offer-fact--deposit .fe-offer-fact__icon::before {
  left: .58rem;
  top: .42rem;
  width: .78rem;
  height: .7rem;
  border: 2px solid var(--fe-fact-accent);
  border-bottom: 0;
  border-radius: 999px 999px 0 0;
}
.fe-offer-fact--deposit .fe-offer-fact__icon::after {
  left: .48rem;
  bottom: .46rem;
  width: 1rem;
  height: .72rem;
  border-radius: 5px;
  background: var(--fe-fact-accent);
}
.fe-offer-fact--season .fe-offer-fact__icon::before {
  left: .62rem;
  top: .62rem;
  width: .72rem;
  height: .72rem;
  border-radius: 50%;
  background: var(--fe-fact-accent);
}
.fe-offer-fact--season .fe-offer-fact__icon::after {
  left: .95rem;
  top: .32rem;
  width: 2px;
  height: 1.36rem;
  background: var(--fe-fact-accent);
  box-shadow: 0 0 0 var(--fe-fact-accent);
  transform: rotate(45deg);
}
.fe-offer-fact--attr .fe-offer-fact__icon::before {
  inset: .58rem;
  border: 2px solid var(--fe-fact-accent);
  transform: rotate(45deg);
}
.fe-offer-fact--attr-corporate .fe-offer-fact__icon::before,
.fe-offer-fact--attr-korporativ .fe-offer-fact__icon::before {
  left: .42rem;
  right: .42rem;
  top: .68rem;
  bottom: .48rem;
  border: 2px solid var(--fe-fact-accent);
  border-radius: 5px;
  transform: none;
}
.fe-offer-fact--attr-corporate .fe-offer-fact__icon::after,
.fe-offer-fact--attr-korporativ .fe-offer-fact__icon::after {
  left: .76rem;
  top: .45rem;
  width: .46rem;
  height: .32rem;
  border: 2px solid var(--fe-fact-accent);
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
}
.fe-offer-fact--attr-wedding .fe-offer-fact__icon::before {
  left: .42rem;
  top: .64rem;
  width: .68rem;
  height: .68rem;
  border: 2px solid var(--fe-fact-accent);
  border-radius: 50%;
  transform: none;
}
.fe-offer-fact--attr-wedding .fe-offer-fact__icon::after {
  right: .42rem;
  top: .64rem;
  width: .68rem;
  height: .68rem;
  border: 2px solid var(--fe-fact-accent);
  border-radius: 50%;
}
.fe-offer-fact--area::after {
  border: 2px solid var(--fe-fact-accent);
  border-radius: 11px;
  background:
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 52% 0 / 2px 62% no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 0 52% / 68% 2px no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 62% 72% / 38% 2px no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 74% 50% / 2px 50% no-repeat;
}
.fe-offer-fact--banquet::after,
.fe-offer-fact--buffet::after {
  border-radius: 0;
  background:
    radial-gradient(circle at 50% 24%, var(--fe-fact-accent) 0 .45rem, transparent .48rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 76% / 1.35rem 1.45rem no-repeat,
    radial-gradient(circle at 20% 36%, var(--fe-fact-accent) 0 .34rem, transparent .37rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 20% 83% / 1rem 1.1rem no-repeat,
    radial-gradient(circle at 80% 36%, var(--fe-fact-accent) 0 .34rem, transparent .37rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 80% 83% / 1rem 1.1rem no-repeat;
}
.fe-offer-fact--buffet::after {
  background:
    radial-gradient(circle at 30% 22%, var(--fe-fact-accent) 0 .4rem, transparent .43rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 30% 72% / 1.12rem 1.42rem no-repeat,
    radial-gradient(circle at 70% 22%, var(--fe-fact-accent) 0 .4rem, transparent .43rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 70% 72% / 1.12rem 1.42rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 92% / 3.8rem .3rem no-repeat;
}
.fe-offer-fact--price::after,
.fe-offer-fact--rent::after,
.fe-offer-fact--deposit::after {
  border-radius: 999px;
  background:
    radial-gradient(circle at 38% 38%, transparent 0 .62rem, var(--fe-fact-accent) .65rem .82rem, transparent .85rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 64% 30% / .28rem 2.45rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 54% 42% / 1.52rem .24rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 54% 62% / 1.52rem .24rem no-repeat;
}
.fe-offer-fact--rent::after {
  border-radius: 8px 8px 14px 14px;
  background:
    linear-gradient(135deg, transparent 0 50%, var(--fe-fact-accent) 51% 62%, transparent 63%) 50% 0 / 3.4rem 1.3rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 46% / 3.9rem .35rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 18% 78% / .34rem 1.35rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 78% / .34rem 1.35rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 82% 78% / .34rem 1.35rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 98% / 4.3rem .32rem no-repeat;
}
.fe-offer-fact--deposit::after {
  border-radius: 12px;
  background:
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 38% / 3.6rem 1.65rem no-repeat,
    radial-gradient(circle at 50% 38%, #fff 0 .38rem, transparent .4rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 88% / 4.1rem .45rem no-repeat;
}
.fe-offer-fact--season::after {
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, var(--fe-fact-accent) 0 .72rem, transparent .75rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 0 / .2rem .65rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 100% / .2rem .65rem no-repeat,
    linear-gradient(90deg, var(--fe-fact-accent), var(--fe-fact-accent)) 0 50% / .65rem .2rem no-repeat,
    linear-gradient(90deg, var(--fe-fact-accent), var(--fe-fact-accent)) 100% 50% / .65rem .2rem no-repeat;
}
.fe-offer-fact--attr::after {
  border-radius: 14px;
  background:
    radial-gradient(circle at 50% 28%, var(--fe-fact-accent) 0 .42rem, transparent .45rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 63% / 1.25rem 1.55rem no-repeat,
    linear-gradient(45deg, transparent 0 46%, var(--fe-fact-accent) 47% 56%, transparent 57%) 12% 80% / 1.15rem 1.15rem no-repeat,
    linear-gradient(-45deg, transparent 0 46%, var(--fe-fact-accent) 47% 56%, transparent 57%) 88% 80% / 1.15rem 1.15rem no-repeat;
}
.fe-offer-fact--attr-corporate::after,
.fe-offer-fact--attr-korporativ::after {
  border-radius: 12px;
  background:
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 60% / 4rem 2.2rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 44% / 1.5rem .35rem no-repeat,
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 58% / .7rem .5rem no-repeat;
}
.fe-offer-fact--attr-wedding::after {
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 56%, transparent 0 .72rem, var(--fe-fact-accent) .74rem .94rem, transparent .96rem),
    radial-gradient(circle at 62% 56%, transparent 0 .72rem, var(--fe-fact-accent) .74rem .94rem, transparent .96rem),
    linear-gradient(var(--fe-fact-accent), var(--fe-fact-accent)) 50% 20% / .95rem .35rem no-repeat;
}
.fe-offer-notes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: .8rem;
  margin-top: 1rem;
}
.fe-offer-notes article {
  position: relative;
  overflow: hidden;
  min-height: 5.6rem;
  padding: 1rem;
  padding-right: 5.25rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius);
  background: linear-gradient(135deg, #fff, rgba(253,232,239,.42));
}
.fe-offer-note::after {
  content: "";
  position: absolute;
  right: 1rem;
  bottom: .85rem;
  width: 3.2rem;
  height: 3.2rem;
  opacity: .28;
  pointer-events: none;
}
.fe-offer-note--included::after {
  border-radius: 12px;
  background:
    linear-gradient(var(--fe-accent), var(--fe-accent)) 0 18% / 2.7rem .25rem no-repeat,
    linear-gradient(var(--fe-accent), var(--fe-accent)) 0 48% / 2.7rem .25rem no-repeat,
    linear-gradient(var(--fe-accent), var(--fe-accent)) 0 78% / 2.7rem .25rem no-repeat,
    linear-gradient(135deg, transparent 0 44%, var(--fe-accent) 45% 56%, transparent 57%) 88% 6% / .95rem .95rem no-repeat,
    linear-gradient(135deg, transparent 0 44%, var(--fe-accent) 45% 56%, transparent 57%) 88% 36% / .95rem .95rem no-repeat,
    linear-gradient(135deg, transparent 0 44%, var(--fe-accent) 45% 56%, transparent 57%) 88% 66% / .95rem .95rem no-repeat;
}
.fe-offer-note--rules::after {
  border: 2px solid var(--fe-accent);
  border-radius: 10px;
  background:
    linear-gradient(var(--fe-accent), var(--fe-accent)) 50% 25% / 1.9rem .22rem no-repeat,
    linear-gradient(var(--fe-accent), var(--fe-accent)) 50% 46% / 1.9rem .22rem no-repeat,
    linear-gradient(var(--fe-accent), var(--fe-accent)) 50% 67% / 1.45rem .22rem no-repeat;
}
.fe-offer-notes strong {
  display: block;
  margin-bottom: .35rem;
}
.fe-offer-notes p {
  margin: 0;
  color: var(--fe-muted);
  line-height: var(--fe-line-relaxed);
}
.fe-offer-other-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .75rem;
}
.fe-offer-other-grid a {
  display: grid;
  gap: .45rem;
  min-height: 7rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius);
  background: var(--fe-surface-elevated);
  color: inherit;
  text-decoration: none;
  transition: transform var(--fe-transition), box-shadow var(--fe-transition), border-color var(--fe-transition);
}
.fe-offer-other-grid a:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--fe-accent) 35%, var(--fe-border));
  box-shadow: var(--fe-shadow);
}
.fe-offer-other-grid strong {
  align-self: end;
  color: var(--fe-accent-hover);
}
@keyframes feOfferRise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes feOfferPulse {
  0%, 100% { box-shadow: var(--fe-shadow-btn); }
  50% { box-shadow: 0 14px 34px rgba(232,93,134,.32); }
}
@media (prefers-reduced-motion: reduce) {
  .fe-offer-hero-card,
  .fe-offer-section,
  .fe-offer-booking-form .fe-btn {
    animation: none;
  }
  .fe-offer-cover img,
  .fe-offer-gallery-strip__thumb,
  .fe-offer-facts > div,
  .fe-offer-other-grid a {
    transition: none;
  }
}
@media (max-width: 980px) {
  .fe-offer-hero-card__grid {
    grid-template-columns: 1fr;
  }
  .fe-offer-booking-card {
    position: static;
  }
}
@media (max-width: 640px) {
  .fe-hall-card-grid {
    grid-template-columns: 1fr;
  }
  .fe-hall-card {
    grid-template-columns: 1fr;
  }
  .fe-hall-card__cover {
    order: 1;
    min-height: auto;
  }
  .fe-hall-card__cover img {
    min-height: 0;
    aspect-ratio: 16 / 10;
    height: auto;
  }
  .fe-hall-card__photo-tile {
    min-height: 210px;
  }
  .fe-hall-card__photo-tile img {
    height: 100%;
    aspect-ratio: auto;
  }
  .fe-hall-card__body {
    order: 2;
  }
  .fe-hall-card__cart {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fe-hall-card__cart input {
    width: 100%;
  }
  .fe-offer-hero-card,
  .fe-offer-section {
    padding: .85rem;
  }
  .fe-offer-gallery-strip {
    gap: .45rem;
  }
  .fe-offer-gallery-strip__thumb {
    flex-basis: min(38vw, 150px);
  }
  .fe-album-card {
    flex-basis: min(420px, 92vw);
  }
  .fe-album-card__photos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .fe-offer-album__photos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .fe-offer-album__thumb {
    min-height: 0;
  }
  .fe-offer-total {
    display: grid;
  }
}

.fe-admin-menu {
  display: grid;
  gap: 1.25rem 2rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-top: 1rem;
}
.fe-admin-section__title {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: var(--fe-font-weight-medium);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--fe-muted);
}
.fe-admin-section ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.fe-admin-section a {
  color: var(--fe-text);
  text-decoration: none;
}
.fe-admin-section a:hover {
  text-decoration: underline;
}
.fe-admin-stats {
  margin: 0;
  padding-left: 1.15rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

/* White page foundation: no global gray/blue section backgrounds. */
body.fe-body,
.fe-ref-hero,
.fe-ref-planner,
.fe-ref-organizer,
.fe-ref-pro,
.fe-ref-community > div,
.fe-ref-community aside,
.fe-ref-invite-strip,
.fe-ref-stat-cards article,
.fe-home-steps,
.fe-home-cta,
.fe-admin-page,
.fe-account-page,
.fe-market-hero,
.fe-profile-hero {
  background: #fff !important;
}

.fe-ref-hero,
.fe-ref-planner,
.fe-ref-organizer,
.fe-ref-pro,
.fe-ref-community > div,
.fe-ref-community aside,
.fe-ref-invite-strip,
.fe-ref-stat-cards article,
.fe-home-steps,
.fe-home-cta {
  border: 1px solid var(--fe-border-subtle);
}

.fe-ref-mini-tags span,
.fe-ref-pill-cloud span,
.fe-ref-chat span,
.fe-ref-chat strong,
.fe-ref-name-cloud span,
.fe-ref-planner-cards article,
.fe-ref-laptop,
.fe-ref-video-card,
.fe-ref-template-strip span,
.fe-ref-invite-cards span,
.fe-ref-article-preview span {
  background: #fff !important;
  border: 1px solid var(--fe-border-subtle);
}

/* Neutral visual override: sharper UI, no pink gradients. */
.fe-card,
.fe-cat-card,
.fe-card-panel,
.fe-partner-block,
.fe-offer-mini,
.fe-order-card,
.fe-flash,
.fe-home-blog-card,
.fe-blog-card,
.fe-article-card,
.fe-admin-sidebar,
.fe-admin-page,
.fe-admin-hero,
.fe-admin-stat,
.fe-admin-panel,
.fe-admin-mega,
.fe-admin-mega-card,
.fe-account-sidebar,
.fe-account-page,
.fe-market-hero,
.fe-market-card,
.fe-market-cats,
.fe-lead-card,
.fe-seo-block,
.fe-profile-hero,
.fe-profile-contact-card,
.fe-profile-note,
.fe-ref-feature,
.fe-ref-catalog-tile,
.fe-ref-invite-strip,
.fe-ref-template-strip span,
.fe-ref-planner,
.fe-ref-laptop,
.fe-ref-planner-cards article,
.fe-ref-organizer,
.fe-ref-video-card,
.fe-ref-stat-cards article,
.fe-ref-pro,
.fe-ref-pro > div,
.fe-ref-community > div,
.fe-ref-community aside {
  border-radius: var(--fe-radius-lg) !important;
}

.fe-btn,
.fe-badge,
.fe-chip,
.fe-intent-chip,
.fe-admin-side-nav a,
.fe-admin-side-nav a span,
.fe-account-side-nav a,
.fe-account-side-nav a span,
.fe-admin-link-cloud a,
.fe-admin-link-cloud span,
.fe-ref-mini-tags span,
.fe-ref-pill-cloud span,
.fe-ref-name-cloud span,
.fe-market-cats a,
.fe-profile-badges span {
  border-radius: var(--fe-radius-sm) !important;
}

.fe-admin-sidebar,
.fe-account-sidebar,
.fe-admin-page,
.fe-account-page,
.fe-admin-hero,
.fe-market-hero,
.fe-profile-hero {
  background:
    radial-gradient(circle at 90% 0%, rgba(253,232,239,.72), transparent 18rem),
    rgba(255,255,255,.86) !important;
}

.fe-admin-side-nav a:hover,
.fe-admin-side-nav a.is-active,
.fe-account-side-nav a:hover,
.fe-account-side-nav a.is-active,
.fe-admin-page .fe-table tbody tr:hover,
.fe-account-page .fe-table tbody tr:hover {
  background: rgba(253,232,239,.72) !important;
}

.fe-admin-stat::after,
.fe-admin-stat--accent::after,
.fe-admin-stat--warm::after {
  background: rgba(253,232,239,.82) !important;
}

.fe-admin-mega-card,
.fe-admin-mega-card--super,
.fe-lead-card,
.fe-profile-note--accent {
  background:
    radial-gradient(circle at 90% 0%, rgba(253,232,239,.72), transparent 10rem),
    #fff !important;
}

.fe-ref-catalog-tile,
.fe-ref-catalog-tile--photo,
.fe-ref-catalog-tile--decor,
.fe-ref-catalog-tile--music,
.fe-ref-catalog-tile--lead,
.fe-ref-catalog-tile--video,
.fe-ref-catalog-tile--style {
  background:
    radial-gradient(circle at 88% 8%, rgba(253,232,239,.95), transparent 9rem),
    #fff !important;
  color: var(--fe-text) !important;
  border: 1px solid var(--fe-border-subtle) !important;
}

.fe-ref-catalog-tile--large {
  background:
    radial-gradient(circle at 80% 10%, rgba(253,232,239,.9), transparent 12rem),
    #fff !important;
  color: var(--fe-text) !important;
}

.fe-ref-invite-cards span,
.fe-ref-template-strip span,
.fe-ref-device__screen,
.fe-ref-video-card,
.fe-offer-cover {
  background: linear-gradient(135deg, #fff, #fde8ef) !important;
}

/* Motion and infographic layer */
@keyframes fe-button-shine {
  from { left: -70%; }
  to { left: 130%; }
}
@keyframes fe-float-soft {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}
@keyframes fe-pulse-glow {
  0%, 100% { box-shadow: 0 0 0 rgba(232,93,134,0); }
  50% { box-shadow: 0 0 28px rgba(232,93,134,.28); }
}
@keyframes fe-progress-run {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
@keyframes fe-ring-fill {
  from { background: conic-gradient(var(--fe-accent) 0 0%, var(--fe-accent-soft) 0% 100%); }
  to { background: conic-gradient(var(--fe-accent) 0 var(--value), var(--fe-accent-soft) var(--value) 100%); }
}
@keyframes fe-fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fe-orbit {
  from { transform: rotate(0deg) translateX(4px) rotate(0deg); }
  to { transform: rotate(360deg) translateX(4px) rotate(-360deg); }
}
@keyframes fe-funnel-flow {
  0% { transform: scaleX(.2); opacity: .35; }
  50% { transform: scaleX(1); opacity: 1; }
  100% { transform: scaleX(.2); opacity: .35; }
}
@keyframes fe-radar-sweep {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes fe-dot-travel {
  0% { left: 0%; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { left: calc(100% - .75rem); opacity: 0; }
}
@keyframes fe-bar-grow {
  from { width: 0; }
  to { width: var(--bar); }
}

.fe-ref-feature,
.fe-ref-catalog-tile,
.fe-ref-planner-cards article,
.fe-ref-stat-cards article,
.fe-home-blog-card,
.fe-market-card,
.fe-profile-contact-card,
.fe-card {
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  animation: fe-fade-up .55s ease both;
}
.fe-ref-feature:nth-child(2),
.fe-ref-catalog-tile:nth-child(2),
.fe-ref-planner-cards article:nth-child(2),
.fe-home-blog-card:nth-child(2) { animation-delay: .06s; }
.fe-ref-feature:nth-child(3),
.fe-ref-catalog-tile:nth-child(3),
.fe-ref-planner-cards article:nth-child(3),
.fe-home-blog-card:nth-child(3) { animation-delay: .12s; }
.fe-ref-feature:nth-child(4),
.fe-ref-catalog-tile:nth-child(4),
.fe-ref-planner-cards article:nth-child(4),
.fe-home-blog-card:nth-child(4) { animation-delay: .18s; }
.fe-ref-feature:hover,
.fe-ref-catalog-tile:hover,
.fe-ref-planner-cards article:hover,
.fe-ref-stat-cards article:hover,
.fe-home-blog-card:hover,
.fe-market-card:hover,
.fe-profile-contact-card:hover,
.fe-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 46px rgba(45,38,48,.12);
  border-color: color-mix(in srgb, var(--fe-accent) 24%, var(--fe-border));
}
.fe-ref-hero__copy h1 span,
.fe-admin-kicker,
.fe-ref-invite-strip small {
  text-shadow: 0 0 22px rgba(232,93,134,.22);
}
.fe-ref-feature:nth-child(2),
.fe-ref-video-card,
.fe-ref-community aside,
.fe-ref-laptop span {
  animation: fe-float-soft 5.6s ease-in-out infinite;
}
.fe-ref-feature:nth-child(3) {
  animation: fe-float-soft 6.2s ease-in-out infinite reverse;
}
.fe-ref-stat-cards article,
.fe-ref-community aside {
  position: relative;
  overflow: hidden;
  padding-bottom: 2rem;
}
.fe-ref-stat-cards article::after,
.fe-ref-community aside::after {
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  height: .42rem;
  border-radius: var(--fe-radius-pill);
  background: var(--fe-accent-soft);
}
.fe-ref-stat-cards article::before,
.fe-ref-community aside::before {
  content: "";
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  z-index: 1;
  width: 62%;
  height: .42rem;
  border-radius: var(--fe-radius-pill);
  background: linear-gradient(90deg, var(--fe-accent), #f6a8bf);
}
.fe-ref-stat-cards article:nth-child(2)::before { width: 82%; }
.fe-ref-community aside::before { width: 74%; }
.fe-ref-planner-cards article,
.fe-ref-feature {
  position: relative;
  overflow: hidden;
}
.fe-ref-planner-cards article::before {
  content: "";
  display: block;
  width: 2.15rem;
  height: 2.15rem;
  margin-bottom: .75rem;
  border-radius: var(--fe-radius-sm);
  background: linear-gradient(135deg, var(--fe-accent-soft), #fff);
  border: 1px solid color-mix(in srgb, var(--fe-accent) 25%, var(--fe-border));
}
.fe-ref-planner-cards article::after,
.fe-ref-feature::after {
  content: "";
  position: absolute;
  inset: auto 1rem 1rem 1rem;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(232,93,134,.45), transparent);
  transform: translateX(-100%);
}
.fe-ref-planner-cards article:hover::after,
.fe-ref-feature:hover::after {
  animation: fe-progress-run 1.1s ease;
}
.fe-ref-catalog-tile::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 1rem;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: conic-gradient(var(--fe-accent) 0 72%, var(--fe-accent-soft) 72% 100%);
  opacity: .78;
  transition: transform .25s ease;
  animation: fe-orbit 7s linear infinite;
}
.fe-ref-catalog-tile:hover::after {
  transform: rotate(18deg) scale(1.05);
}
.fe-ref-organizer,
.fe-home-cta,
.fe-ref-community > div {
  position: relative;
  overflow: hidden;
}
.fe-ref-organizer::after,
.fe-home-cta::after,
.fe-ref-community > div::after {
  content: "";
  position: absolute;
  right: -3rem;
  top: -3rem;
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  border: 1.25rem solid rgba(232,93,134,.08);
  animation: fe-pulse-glow 4.5s ease-in-out infinite;
}
.fe-form input:focus,
.fe-form textarea:focus,
.fe-form select:focus {
  animation: fe-pulse-glow 1.6s ease-in-out infinite;
}

.fe-ref-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .8rem;
  margin: clamp(2rem, 4vw, 4rem) 0;
}
.fe-ref-metrics article {
  position: relative;
  overflow: hidden;
  min-height: 9rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: #fff;
  box-shadow: var(--fe-shadow-sm);
  animation: fe-fade-up .6s ease both;
}
.fe-ref-metrics article:nth-child(2) { animation-delay: .08s; }
.fe-ref-metrics article:nth-child(3) { animation-delay: .16s; }
.fe-ref-metrics article:nth-child(4) { animation-delay: .24s; }
.fe-ref-metrics article::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--fe-accent), transparent);
  transform: translateX(-100%);
  animation: fe-progress-run 3.6s ease-in-out infinite;
}
.fe-ref-metric-ring {
  position: relative;
  flex: 0 0 4.4rem;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 50%;
  background: conic-gradient(var(--fe-accent) 0 var(--value), var(--fe-accent-soft) var(--value) 100%);
  box-shadow: 0 0 24px rgba(232,93,134,.16);
  animation: fe-pulse-glow 3.2s ease-in-out infinite;
}
.fe-ref-metric-ring::after {
  content: "";
  position: absolute;
  inset: .55rem;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--fe-border-subtle);
}
.fe-ref-metrics strong {
  display: block;
  font-size: clamp(1.5rem, 2.4vw, 2.4rem);
  line-height: 1;
  letter-spacing: -.055em;
}
.fe-ref-metrics p {
  margin: .3rem 0 0;
  color: var(--fe-muted);
  font-size: .9rem;
}
.fe-ref-funnel {
  display: grid !important;
  grid-template-columns: 1fr;
  align-content: center;
  gap: .65rem !important;
}
.fe-ref-funnel > div {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: .7rem;
}
.fe-ref-funnel span {
  height: .6rem;
  border-radius: var(--fe-radius-pill);
  background: var(--fe-accent-soft);
  overflow: hidden;
}
.fe-ref-funnel span::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  transform-origin: left;
  background: linear-gradient(90deg, var(--fe-accent), #f6a8bf);
  animation: fe-funnel-flow 2.8s ease-in-out infinite;
}
.fe-ref-funnel div:nth-child(2) span::before { animation-delay: .25s; }
.fe-ref-funnel div:nth-child(3) span::before { animation-delay: .5s; }
.fe-ref-funnel strong {
  font-size: .82rem;
  color: var(--fe-muted);
}

.fe-ref-liveboard {
  margin: clamp(2rem, 4vw, 4rem) 0;
  padding: clamp(1rem, 2.4vw, 1.6rem);
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: #fff;
  box-shadow: var(--fe-shadow-sm);
}
.fe-ref-liveboard__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.fe-ref-liveboard__head h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(1.55rem, 2.7vw, 2.85rem);
  line-height: 1.05;
  letter-spacing: -.05em;
}
.fe-ref-liveboard__grid {
  display: grid;
  grid-template-columns: .95fr 1.15fr .9fr;
  gap: .8rem;
}
.fe-ref-liveboard__grid article {
  min-height: 17rem;
  padding: 1rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-lg);
  background: #fff;
  box-shadow: var(--fe-shadow-sm);
  animation: fe-fade-up .55s ease both;
}
.fe-ref-liveboard__grid article:nth-child(2) { animation-delay: .08s; }
.fe-ref-liveboard__grid article:nth-child(3) { animation-delay: .16s; }
.fe-ref-liveboard h3 {
  margin: .8rem 0 .4rem;
  font-size: 1.05rem;
}
.fe-ref-liveboard p {
  margin: 0;
  color: var(--fe-muted);
  font-size: .92rem;
}
.fe-ref-radar {
  position: relative;
  width: min(220px, 100%);
  aspect-ratio: 1;
  margin: 0 auto;
  border-radius: 50%;
  background:
    repeating-radial-gradient(circle, transparent 0 22%, rgba(232,93,134,.11) 22% 23%),
    linear-gradient(135deg, #fff, var(--fe-accent-soft));
  border: 1px solid var(--fe-border-subtle);
  overflow: hidden;
}
.fe-ref-radar::before {
  content: "";
  position: absolute;
  inset: 50% 50% 0 0;
  transform-origin: 100% 0;
  background: linear-gradient(90deg, rgba(232,93,134,.4), transparent);
  animation: fe-radar-sweep 4s linear infinite;
}
.fe-ref-radar span {
  position: absolute;
  width: .65rem;
  height: .65rem;
  border-radius: 50%;
  background: var(--fe-accent);
  box-shadow: 0 0 16px rgba(232,93,134,.45);
  animation: fe-pulse-glow 2.4s ease-in-out infinite;
}
.fe-ref-radar span:nth-child(1) { left: 28%; top: 34%; }
.fe-ref-radar span:nth-child(2) { right: 24%; top: 42%; animation-delay: .35s; }
.fe-ref-radar span:nth-child(3) { left: 42%; bottom: 23%; animation-delay: .7s; }
.fe-ref-radar span:nth-child(4) { right: 34%; bottom: 35%; animation-delay: 1.05s; }
.fe-ref-radar strong {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  padding: .35rem .55rem;
  border-radius: var(--fe-radius-sm);
  background: #fff;
  color: var(--fe-accent-hover);
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fe-ref-bars {
  display: grid;
  gap: .9rem;
  margin-top: 1rem;
}
.fe-ref-bars div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: .8rem;
  align-items: center;
}
.fe-ref-bars span {
  color: var(--fe-muted);
  font-size: .88rem;
}
.fe-ref-bars strong {
  position: relative;
  height: .72rem;
  overflow: hidden;
  border-radius: var(--fe-radius-pill);
  background: var(--fe-accent-soft);
}
.fe-ref-bars strong::before {
  content: "";
  display: block;
  width: var(--bar);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--fe-accent), #f6a8bf);
  animation: fe-bar-grow 1.1s ease both;
}
.fe-ref-bars div:nth-child(2) strong::before { animation-delay: .15s; }
.fe-ref-bars div:nth-child(3) strong::before { animation-delay: .3s; }
.fe-ref-bars div:nth-child(4) strong::before { animation-delay: .45s; }
.fe-ref-flow {
  position: relative;
  display: grid;
  gap: 1.35rem;
  margin-top: 1rem;
  padding-left: 1.2rem;
}
.fe-ref-flow::before {
  content: "";
  position: absolute;
  left: .35rem;
  top: .4rem;
  bottom: .4rem;
  width: 2px;
  background: var(--fe-accent-soft);
}
.fe-ref-flow::after {
  content: "";
  position: absolute;
  left: 0;
  top: .4rem;
  width: .75rem;
  height: .75rem;
  border-radius: 50%;
  background: var(--fe-accent);
  box-shadow: 0 0 18px rgba(232,93,134,.42);
  animation: fe-dot-travel 4s ease-in-out infinite;
  transform: rotate(90deg);
  transform-origin: center;
}
.fe-ref-flow span {
  position: relative;
  padding: .65rem .75rem;
  border: 1px solid var(--fe-border-subtle);
  border-radius: var(--fe-radius-sm);
  background: #fff;
  font-weight: var(--fe-font-weight-medium);
}

.fe-ref-mini-tags span,
.fe-ref-pill-cloud span,
.fe-ref-name-cloud span {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.fe-ref-mini-tags span:hover,
.fe-ref-pill-cloud span:hover,
.fe-ref-name-cloud span:hover {
  transform: translateY(-2px) scale(1.02);
  border-color: color-mix(in srgb, var(--fe-accent) 32%, var(--fe-border));
  box-shadow: 0 10px 26px rgba(232,93,134,.12);
}

.fe-ref-device__phone,
.fe-ref-device__screen {
  transition: transform .28s ease, box-shadow .28s ease;
}
.fe-ref-feature--device:hover .fe-ref-device__screen {
  transform: translateY(-4px) rotate(-1deg);
  box-shadow: 0 18px 36px rgba(32,38,49,.12);
}
.fe-ref-feature--device:hover .fe-ref-device__phone {
  transform: translateY(-8px) rotate(2deg);
  box-shadow: 0 16px 30px rgba(32,38,49,.14);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
  }
}

/* Final viewport tuning: keep these after component rules so they win. */
@media (max-width: 720px) {
  .fe-ref-liveboard__head,
  .fe-ref-liveboard__grid {
    grid-template-columns: 1fr;
  }
  .fe-ref-liveboard__head {
    display: grid;
  }
  .fe-ref-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fe-home-hero,
  .fe-market-hero,
  .fe-market-grid,
  .fe-profile-hero,
  .fe-profile-grid,
  .fe-home-steps,
  .fe-home-step-grid,
  .fe-home-featured,
  .fe-home-cta,
  .fe-admin-shell,
  .fe-account-shell,
  .fe-two-col,
  .fe-admin-insights {
    grid-template-columns: 1fr;
  }
  .fe-market-sidebar,
  .fe-profile-aside,
  .fe-admin-sidebar,
  .fe-account-sidebar,
  .fe-article-sidebar {
    position: static;
  }
  .fe-admin-side-nav,
  .fe-account-side-nav {
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
  }
  .fe-admin-stats,
  .fe-admin-mega-grid,
  .fe-home-blog,
  .fe-blog-grid {
    grid-template-columns: 1fr;
  }
  .fe-profile-tabs__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fe-profile-tabs__nav label {
    width: 100%;
  }
  .fe-profile-tabs__checks,
  .fe-form-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .fe-ref-metrics {
    grid-template-columns: 1fr;
  }
  .fe-container,
  .fe-market-layout,
  .fe-profile-page,
  .fe-account-shell--wide,
  .fe-admin-shell,
  .fe-account-shell {
    width: calc(100% - 1rem);
  }
  .fe-home-category-grid,
  .fe-intent-card-grid,
  .fe-grid--cats,
  .fe-grid--cards,
  .fe-ad-strip,
  .fe-facts-grid {
    grid-template-columns: 1fr;
  }
  .fe-market-card,
  .fe-partner-block,
  .fe-order-card,
  .fe-card-panel {
    border-radius: 18px;
  }
}

/* Mobile navigation and page tuning */
@media (max-width: 720px) {
  .fe-header__inner {
    position: relative;
    flex-wrap: nowrap;
  }
  .fe-logo {
    width: auto;
    min-width: 0;
  }
  .fe-burger {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: .32rem;
    flex: 0 0 auto;
  }
  .fe-header.is-menu-open .fe-burger span:nth-child(1) {
    transform: translateY(.4rem) rotate(45deg);
  }
  .fe-header.is-menu-open .fe-burger span:nth-child(2) {
    opacity: 0;
  }
  .fe-header.is-menu-open .fe-burger span:nth-child(3) {
    transform: translateY(-.4rem) rotate(-45deg);
  }
  .fe-nav {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + .55rem);
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    max-height: min(78vh, 34rem);
    overflow-y: auto;
    padding: .75rem;
    border: 1px solid var(--fe-border-subtle);
    border-radius: var(--fe-radius-lg);
    background: rgba(255,255,255,.98);
    box-shadow: var(--fe-shadow-lg);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-.35rem);
    transition: opacity var(--fe-transition-fast), transform var(--fe-transition-fast);
  }
  .fe-header.is-menu-open .fe-nav {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }
  .fe-nav > a,
  .fe-nav-group,
  .fe-nav form,
  .fe-nav .fe-btn {
    width: 100%;
  }
  .fe-nav form {
    display: block;
  }
  .fe-nav > a,
  .fe-nav-group summary {
    display: block;
    padding: .72rem .8rem;
    border-radius: var(--fe-radius-sm);
    background: #fff;
    border: 1px solid var(--fe-border-subtle);
    color: var(--fe-text);
  }
  .fe-nav-group summary {
    display: flex;
    justify-content: space-between;
  }
  .fe-nav-menu {
    position: static;
    min-width: 0;
    margin-top: .4rem;
    padding: .55rem;
    border-radius: var(--fe-radius-sm);
    box-shadow: none;
  }
  .fe-nav-group[open] > .fe-mega,
  .fe-nav-group[open] > .fe-nav-menu {
    display: grid;
  }
  .fe-nav__user {
    max-width: none;
    padding: .35rem .15rem;
    white-space: normal;
  }
  .fe-mega {
    display: none;
  }
  .fe-ref-hero {
    padding: 2rem 0;
  }
  .fe-ref-hero__copy {
    margin-bottom: 1.25rem;
    text-align: left;
  }
  .fe-ref-hero__copy h1 {
    font-size: clamp(2rem, 12vw, 3.1rem);
  }
  .fe-ref-hero__copy p,
  .fe-ref-hero__copy .fe-btn {
    margin-left: 0;
    margin-right: 0;
  }
  .fe-ref-feature-grid,
  .fe-ref-liveboard__grid,
  .fe-ref-catalog-grid,
  .fe-ref-planner-grid,
  .fe-ref-organizer,
  .fe-ref-platform,
  .fe-ref-community {
    gap: .75rem;
  }
  .fe-ref-feature,
  .fe-ref-liveboard,
  .fe-ref-liveboard__grid article,
  .fe-ref-catalog-tile,
  .fe-ref-planner,
  .fe-ref-organizer,
  .fe-ref-pro,
  .fe-ref-community > div,
  .fe-ref-community aside,
  .fe-market-hero,
  .fe-market-card,
  .fe-profile-hero {
    padding: 1rem;
  }
  .fe-ref-feature {
    min-height: auto;
  }
  .fe-ref-catalog-grid {
    grid-auto-rows: auto;
  }
  .fe-ref-catalog-tile,
  .fe-ref-catalog-tile--large {
    min-height: 128px;
  }
  .fe-ref-invite-strip {
    text-align: left;
  }
  .fe-ref-invite-cards,
  .fe-ref-template-strip,
  .fe-intent-strip,
  .fe-offers-scroll,
  .fe-banner-strip {
    scroll-padding-left: 1rem;
    -webkit-overflow-scrolling: touch;
  }
  .fe-ref-template-strip span {
    flex-basis: 78vw;
    height: 145px;
  }
  .fe-ref-laptop {
    min-height: 190px;
  }
  .fe-ref-laptop span {
    width: 100%;
    height: 150px;
    border-width: 8px;
  }
  .fe-ref-video-card {
    min-height: 190px;
  }
  .fe-ref-metrics article {
    min-height: auto;
    align-items: flex-start;
  }
  .fe-ref-metric-ring {
    flex-basis: 3.4rem;
    width: 3.4rem;
    height: 3.4rem;
  }
  .fe-market-sidebar {
    order: 2;
  }
  .fe-market-cats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fe-market-cats a {
    align-items: center;
    min-height: 3rem;
  }
  .fe-market-results {
    overflow-x: visible;
  }
  .fe-profile-hero-gallery {
    max-height: none;
  }
  .fe-profile-badges span {
    max-width: 100%;
  }
  .fe-gallery-grid,
  .fe-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fe-inline-row,
  .fe-list-toolbar {
    width: 100%;
  }
  .fe-inline-row {
    display: grid;
    align-items: stretch;
  }
  .fe-check {
    font-size: .7rem;
    line-height: 1.3;
  }
  .fe-cookie {
    grid-template-columns: 1fr;
    bottom: .5rem;
    width: calc(100% - 1rem);
    padding: .75rem;
  }
  .fe-cookie p {
    font-size: .76rem;
  }
  .fe-map-btn {
    margin-left: 0;
  }
}

@media (max-width: 480px) {
  .fe-main {
    padding-top: 1rem;
  }
  .fe-ref-mini-tags,
  .fe-ref-pill-cloud,
  .fe-market-cats,
  .fe-gallery-grid,
  .fe-video-grid {
    grid-template-columns: 1fr;
  }
  .fe-ref-chat span,
  .fe-ref-chat strong {
    max-width: 100%;
  }
  .fe-ref-bars div {
    grid-template-columns: 1fr;
    gap: .35rem;
  }
  .fe-ref-flow {
    gap: .85rem;
  }
  .fe-offer-mini {
    flex-basis: 86vw;
  }
  .fe-market-card h2,
  .fe-profile-hero h1 {
    overflow-wrap: anywhere;
  }
}
