/* ====================================================================
   OSGWeb.ge — Exclusivity Badge (hanging sign)
   hanging-badge.css
   Load AFTER style.css in <head>
   ==================================================================== */

/* ── SECTION CONTEXT ──────────────────────────────────────────────── */
#pricing {
  position: relative;
  overflow: visible !important;
}

/* ══════════════════════════════════════════════════════════════════
   SIGN ROOT & PENDULUM
   Stays absolutely positioned inside #pricing at every breakpoint —
   it must never become `fixed` to the viewport on mobile, or it will
   stick and scroll along with the page instead of its section.
══════════════════════════════════════════════════════════════════ */
.discount-sign-root {
  --sign-rotate: 0deg;

  position: absolute;
  top: 2.6rem;
  right: clamp(0.25rem, 3.5vw, 2rem);
  z-index: 30;

  display: flex;
  flex-direction: column;
  align-items: center;

  transform-origin: top center;
  transform: rotate(var(--sign-rotate));
  will-change: transform;
  cursor: default;
  user-select: none;

  opacity: 1;
  visibility: visible;
  transition: opacity 0.25s ease;
}

body.mobile-nav-is-open .discount-sign-root {
  opacity: 0;
  pointer-events: none;
}

/* ── NAIL — forged iron look ─────────────────────────────────────── */
.sign-nail {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 28%, #6B6B6B 0%, #2A2A2A 50%, #111 100%);
  box-shadow:
    0 2px 5px rgba(0,0,0,0.7),
    0 1px 0 rgba(255,255,255,0.12),
    inset 0 1px 1px rgba(255,255,255,0.15);
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

/* ── ROPE ─────────────────────────────────────────────────────────── */
.rope-svg {
  display: block;
  overflow: visible;
  flex-shrink: 0;
  filter: drop-shadow(1px 2px 3px rgba(0,0,0,0.45));
}

/* ══════════════════════════════════════════════════════════════════
   SIGN CARD — light ivory/cream plaque, gold-trimmed, emerald accents
══════════════════════════════════════════════════════════════════ */
.sign-card {
  background:
    linear-gradient(165deg, rgba(14, 48, 36, 0.94) 0%, rgba(3, 15, 11, 0.97) 100%);

  border: 1px solid rgba(16, 185, 129, 0.38);
  border-radius: 10px;
  padding: 0.7rem 1.1rem 0.85rem;
  min-width: 168px;
  max-width: 188px;
  position: relative;
  overflow: hidden;
  will-change: transform;

  box-shadow:
    0 5px 0 rgba(0, 0, 0, 0.25),
    0 1px 0 rgba(16,185,129,0.25),
    0 20px 44px rgba(0, 0, 0, 0.55),
    inset 0 1px 0 rgba(255,255,255,0.07),
    inset 0 -1px 0 rgba(0, 0, 0, 0.35);
}

/* Ambient emerald vignette at edges */
.sign-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse at 50% 0%,
    rgba(16,185,129,0.18) 0%,
    transparent 65%
  );
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
}

/* Top sheen / highlight */
.sign-card::after {
  content: '';
  position: absolute;
  inset: 0 0 65% 0;
  background: linear-gradient(to bottom, rgba(255,255,255,0.10), transparent);
  border-radius: 10px 10px 0 0;
  pointer-events: none;
  z-index: 0;
}

/* ── EYELET HOLES — brass grommets ─────────────────────────────── */
.sign-holes {
  display: flex;
  justify-content: space-between;
  padding: 0 0.25rem;
  margin-bottom: 0.55rem;
  position: relative;
  z-index: 1;
}

.sign-hole {
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: conic-gradient(
    from 120deg,
    #4A3E14 0deg,
    #D6BC66 90deg,
    #A08830 180deg,
    #4A3E14 270deg,
    #4A3E14 360deg
  );
  box-shadow:
    inset 0 1px 3px rgba(0,0,0,0.6),
    0 1px 2px rgba(200,168,58,0.30);
  position: relative;
}

.sign-hole::after {
  content: '';
  position: absolute;
  inset: 2.5px;
  border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #0A2A1F, #010D08);
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.9);
}

/* ── SIGN INNER ───────────────────────────────────────────────── */
.sign-inner {
  position: relative;
  z-index: 1;
  text-align: center;
}

/* ── EYEBROW — "✦ CURRENTLY ACCEPTING ✦" ─────────────────────── */
.sign-eyebrow {
  font-family: var(--font-mono);
  font-size: 0.5rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: var(--accent-mint);
  text-transform: uppercase;
  margin-bottom: 0.55rem;
  opacity: 0.95;
}

/* ── HEADLINE ─────────────────────────────────────────────────── */
.sign-headline {
  font-family: var(--font-heading);
  font-style: italic;
  font-size: 1.12rem;
  font-weight: 600;
  color: var(--text-main);
  line-height: 1.22;
  letter-spacing: -0.01em;
  margin-bottom: 0.6rem;
}

/* ── DIVIDER ──────────────────────────────────────────────────── */
.sign-sep {
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(16,185,129,0.4),
    transparent
  );
  margin: 0.4rem 0;
}

/* ── FOOTER LINE ──────────────────────────────────────────────── */
.sign-footer {
  font-family: var(--font-mono);
  font-size: 0.5rem;
  letter-spacing: 0.1em;
  color: var(--text-color-light);
  text-transform: uppercase;
  opacity: 0.85;
}

/* ══════════════════════════════════════════════════════════════════
   PRICING CARD SCROLL REVEAL
══════════════════════════════════════════════════════════════════ */
.pricing-card {
  transition:
    opacity    0.75s cubic-bezier(0.16, 1, 0.3, 1),
    transform  0.75s cubic-bezier(0.16, 1, 0.3, 1),
    box-shadow var(--transition-smooth, 0.5s cubic-bezier(0.16, 1, 0.3, 1));
}

.pricing-card.pre-reveal {
  opacity: 0 !important;
  transform: translateY(52px) scale(0.96) !important;
  pointer-events: none;
}

.pricing-card.individual-plan {
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto;
}

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE
   NOTE: the sign only ever moves horizontally here (`right` offset) —
   it must keep `position: absolute` inherited from the base rule above
   at every breakpoint so it scrolls WITH the pricing section, never
   pinned to the viewport.
══════════════════════════════════════════════════════════════════ */
@media (max-width: 991px) {
  .discount-sign-root {
    right: 4.8rem;
  }
}

@media (max-width: 767px) {
  /* Negative `top` — not a shorter rope — is what lifts the whole
     assembly (nail + rope + card) up so the card's own bottom edge
     clears the billing toggle below. The nail still lands inside
     #pricing's own top padding, and #pricing keeps `overflow: visible`
     precisely so this is safe to hang above the title's top edge. */
  .discount-sign-root { top: -1.5rem; right: 1rem; }

  .rope-svg { height: 40px !important; }

  .sign-card {
    min-width: 136px;
    max-width: 152px;
    padding: 0.55rem 0.85rem 0.7rem;
  }

  .sign-eyebrow       { font-size: 0.46rem; }
  .sign-headline      { font-size: 0.95rem; }
  .sign-footer        { font-size: 0.42rem; }
}

@media (max-width: 380px) {
  .discount-sign-root { right: 0.6rem; }
}

/* ══════════════════════════════════════════════════════════════════
   LANGUAGE VARIANTS
   Georgian/Russian render the headline through the Noto Sans Georgian /
   fallback sans-serif face (Anta has no non-Latin glyphs) which runs
   wider per character than Anta, and has no real italic — the browser's
   synthetic slant was pushing the widest word past the card's
   `overflow:hidden` edge. Drop the italic and size the headline down a
   notch for these languages only; English keeps its original look.
══════════════════════════════════════════════════════════════════ */
body[data-lang="ge"] .sign-headline,
body[data-lang="ru"] .sign-headline {
  font-style: normal;
  font-size: 0.95rem;
  letter-spacing: 0;
}

@media (max-width: 767px) {
  body[data-lang="ge"] .sign-headline,
  body[data-lang="ru"] .sign-headline {
    font-size: 0.78rem;
  }
}
