/* Δωρεάν κάρτες NFC για κριτικές: ενότητα προσφοράς + προσομοίωση (κινητό ακουμπά την κάρτα, ανοίγει η σελίδα κριτικής) */
.nfc-section {
  position: relative; overflow: hidden; background: #05050d; color: #f4f5f8;
  padding: 96px 24px 104px; font-family: "Outfit", "Inter", sans-serif;
}
.nfc-section::before {
  content: ""; position: absolute; inset: auto -20% -40% 30%; height: 70%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(154, 140, 255, .14), transparent 70%);
}
.nfc-wrap {
  position: relative; z-index: 1; max-width: 1080px; margin: 0 auto;
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); gap: 56px; align-items: center;
}
.nfc-eyebrow {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; padding: 7px 14px; border-radius: 999px;
  background: rgba(79, 224, 228, .09); border: 1px solid rgba(79, 224, 228, .32);
  color: #4fe0e4; font: 700 12px/1.2 "Inter", sans-serif; letter-spacing: .14em; text-transform: uppercase;
}
.nfc-eyebrow svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.nfc-title { margin: 0; font-size: clamp(28px, 4.2vw, 44px); line-height: 1.12; font-weight: 700; letter-spacing: -.01em; color: #f7f8fb; }
.nfc-title em { font-style: normal; color: #4fe0e4; }
.nfc-lede { margin: 20px 0 0; max-width: 560px; font: 400 16px/1.65 "Inter", sans-serif; color: #a9afc0; }
.nfc-points { list-style: none; padding: 0; margin: 24px 0 0; display: grid; gap: 10px; font: 500 15px/1.45 "Inter", sans-serif; color: #dfe3ee; }
.nfc-points li { display: flex; gap: 10px; align-items: flex-start; }
.nfc-points li::before {
  content: "✓"; flex: 0 0 22px; height: 22px; border-radius: 50%; display: grid; place-items: center;
  background: rgba(79, 224, 228, .12); color: #4fe0e4; font-size: 12px; font-weight: 700;
}
.nfc-packs {
  margin: 24px 0 0; padding: 14px 16px; border-radius: 16px; max-width: 560px;
  border: 1px dashed rgba(154, 140, 255, .45); background: rgba(154, 140, 255, .07);
  font: 500 14px/1.5 "Inter", sans-serif; color: #cfd2e6;
}
.nfc-packs b { color: #fff; font-weight: 700; }
.nfc-cta {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; padding: 14px 22px; border-radius: 999px;
  background: #4fe0e4; color: #05121a; font: 700 15px/1 "Outfit", "Inter", sans-serif; text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.nfc-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(79, 224, 228, .28); }

/* ---------- stage: όλα σε cqw ώστε να κλιμακώνεται ομοιόμορφα ---------- */
.nfc-stage-wrap { container-type: inline-size; width: 100%; max-width: 460px; justify-self: center; }
.nfc-stage {
  position: relative; width: 100cqw; height: 78cqw; font-family: "Inter", sans-serif;
  border-radius: 6cqw; background: linear-gradient(160deg, rgba(255, 255, 255, .05), rgba(255, 255, 255, .015));
  border: 1px solid rgba(255, 255, 255, .08);
}
.nfc-label {
  position: absolute; top: 3.6cqw; padding: 1.2cqw 2.6cqw; border-radius: 999px; white-space: nowrap;
  background: rgba(255, 255, 255, .06); border: 1px solid rgba(255, 255, 255, .1);
  font: 600 2.8cqw/1 "Inter", sans-serif; color: #b8bdcc;
}
.nfc-label--card { left: 5cqw; }
.nfc-label--phone { right: 5cqw; }

/* κάρτα NFC */
.nfc-card {
  position: absolute; left: 6cqw; top: 15cqw; width: 40cqw; height: 54cqw; border-radius: 4cqw;
  background: linear-gradient(155deg, #181b2d 0%, #0d0f1b 60%, #151229 100%);
  border: 1px solid rgba(255, 255, 255, .14);
  box-shadow: 0 4cqw 9cqw rgba(0, 0, 0, .5);
  display: flex; flex-direction: column; align-items: center; text-align: center; padding: 4.4cqw 3cqw 0;
}
.nfc-card-brand { font: 800 3.4cqw/1 "Outfit", sans-serif; color: #fff; letter-spacing: .02em; }
.nfc-card-brand i { font-style: normal; color: #4fe0e4; }
.nfc-card-title { margin-top: 2.4cqw; font: 700 3.3cqw/1.2 "Outfit", sans-serif; color: #e9ebf3; }
.nfc-card-stars { margin-top: 1.4cqw; color: #ffc547; font-size: 3.4cqw; letter-spacing: .4cqw; }
.nfc-chip {
  position: relative; margin-top: 4.2cqw; width: 15cqw; height: 15cqw; border-radius: 50%;
  display: grid; place-items: center; color: #4fe0e4;
  background: rgba(79, 224, 228, .1); border: 1px solid rgba(79, 224, 228, .45);
}
.nfc-chip svg { width: 8cqw; height: 8cqw; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.nfc-ring {
  position: absolute; inset: -1px; border-radius: 50%; border: .6cqw solid #4fe0e4; opacity: 0;
}
.nfc-card-hint { margin-top: 3.2cqw; font: 500 2.5cqw/1.3 "Inter", sans-serif; color: #8d93a7; }

/* κινητό */
.nfc-phone {
  position: absolute; right: 5cqw; top: 10.5cqw; width: 36cqw; height: 64cqw; z-index: 2;
  border-radius: 5.4cqw; padding: 1.5cqw; background: #0b0d16;
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 5cqw 12cqw rgba(0, 0, 0, .6), 0 0 0 .8cqw rgba(255, 255, 255, .03);
  transform-origin: 50% 50%; will-change: transform;
}
.nfc-notch { position: absolute; z-index: 3; left: 50%; top: 2.6cqw; width: 10cqw; height: 2.6cqw; margin-left: -5cqw; border-radius: 2cqw; background: #0b0d16; }
.nfc-screen { position: relative; height: 100%; border-radius: 4cqw; overflow: hidden; background: #10131f; }
.nfc-view { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; }

/* οθόνη αναμονής */
.nfc-idle { justify-content: center; gap: 1.6cqw; background: radial-gradient(120% 80% at 50% 0%, #26215a, #10131f 70%); color: #fff; }
.nfc-idle-time { font: 300 8.4cqw/1 "Inter", sans-serif; letter-spacing: -.02em; }
.nfc-idle-date { font: 500 2.4cqw/1 "Inter", sans-serif; color: #b9bdd6; }
.nfc-idle-hint {
  margin-top: 6cqw; padding: 1.4cqw 2.4cqw; border-radius: 999px; background: rgba(255, 255, 255, .1);
  font: 600 2.2cqw/1.2 "Inter", sans-serif; color: #e6e8f5; text-align: center;
}

/* σελίδα κριτικής */
.nfc-review { background: #fff; color: #202124; padding: 6.6cqw 2.6cqw 2.6cqw; align-items: stretch; opacity: 0; }
.nfc-url {
  display: flex; align-items: center; gap: 1cqw; padding: 1.2cqw 2cqw; border-radius: 999px; background: #f1f3f4;
  font: 500 2cqw/1 "Inter", sans-serif; color: #5f6368; overflow: hidden; white-space: nowrap;
}
.nfc-url::before { content: ""; width: 1.6cqw; height: 1.6cqw; border-radius: 50%; background: #34a853; flex: none; }
.nfc-biz { display: flex; align-items: center; gap: 2cqw; margin-top: 2.6cqw; }
.nfc-biz-logo { width: 5.6cqw; height: 5.6cqw; border-radius: 50%; background: linear-gradient(135deg, #4fe0e4, #9a8cff); flex: none; }
.nfc-biz b { display: block; white-space: nowrap; font: 700 2.4cqw/1.15 "Inter", sans-serif; }
.nfc-biz small { display: block; margin-top: .6cqw; font: 500 1.9cqw/1 "Inter", sans-serif; color: #70757a; }
.nfc-ask { margin-top: 2.8cqw; white-space: nowrap; font: 600 2.2cqw/1.2 "Inter", sans-serif; color: #3c4043; text-align: center; }
.nfc-rate { display: flex; justify-content: center; gap: .8cqw; margin-top: 1.6cqw; }
.nfc-rate span { font-size: 4.2cqw; line-height: 1; color: #dadce0; display: inline-block; }
.nfc-text { margin-top: 2.6cqw; padding: 2cqw; min-height: 8cqw; border-radius: 1.6cqw; border: 1px solid #dadce0; display: grid; gap: 1.2cqw; align-content: start; }
.nfc-text i { display: block; height: 1.3cqw; border-radius: 1cqw; background: #c9ccd1; transform-origin: left; transform: scaleX(0); }
.nfc-text i:nth-child(2) { width: 70%; }
.nfc-post {
  margin-top: auto; padding: 2.2cqw; border-radius: 999px; text-align: center; background: #1a73e8; color: #fff;
  font: 700 2.4cqw/1 "Inter", sans-serif;
}
.nfc-done {
  position: absolute; left: 2.6cqw; right: 2.6cqw; bottom: 2.6cqw; padding: 2.4cqw 1.6cqw; border-radius: 2cqw; text-align: center;
  background: #0f9d58; color: #fff; font: 700 2.3cqw/1.25 "Inter", sans-serif; opacity: 0; transform: translateY(3cqw);
}

/* ---------- κίνηση (μόνο όταν η ενότητα φαίνεται) ---------- */
.nfc-stage.is-playing .nfc-phone { animation: nfc-phone 9s cubic-bezier(.45, 0, .25, 1) infinite; }
.nfc-stage.is-playing .nfc-ring { animation: nfc-ring 9s ease-out infinite; }
.nfc-stage.is-playing .nfc-ring + .nfc-ring { animation-name: nfc-ring2; }
.nfc-stage.is-playing .nfc-chip { animation: nfc-chip 9s ease-out infinite; }
.nfc-stage.is-playing .nfc-review { animation: nfc-review 9s linear infinite; }
.nfc-stage.is-playing .nfc-idle { animation: nfc-idle 9s linear infinite; }
.nfc-stage.is-playing .nfc-rate span { animation: nfc-star 9s ease-out infinite; }
.nfc-stage.is-playing .nfc-rate span:nth-child(2) { animation-name: nfc-star2; }
.nfc-stage.is-playing .nfc-rate span:nth-child(3) { animation-name: nfc-star3; }
.nfc-stage.is-playing .nfc-rate span:nth-child(4) { animation-name: nfc-star4; }
.nfc-stage.is-playing .nfc-rate span:nth-child(5) { animation-name: nfc-star5; }
.nfc-stage.is-playing .nfc-text i { animation: nfc-line 9s ease-out infinite; }
.nfc-stage.is-playing .nfc-text i:nth-child(2) { animation-name: nfc-line2; }
.nfc-stage.is-playing .nfc-post { animation: nfc-post 9s ease infinite; }
.nfc-stage.is-playing .nfc-done { animation: nfc-done 9s ease infinite; }

/* το κινητό πάει πάνω στην κάρτα, ακουμπά και επιστρέφει δίπλα της */
@keyframes nfc-phone {
  0%, 8% { transform: none; }
  20% { transform: translate(-51cqw, 6cqw) rotate(-10deg) scale(.86); }
  23% { transform: translate(-51cqw, 7cqw) rotate(-10deg) scale(.83); }
  29% { transform: translate(-51cqw, 6cqw) rotate(-10deg) scale(.86); }
  42%, 100% { transform: none; }
}
@keyframes nfc-ring { 0%, 21% { opacity: 0; transform: scale(1); } 22% { opacity: .9; transform: scale(1); } 34%, 100% { opacity: 0; transform: scale(2.6); } }
@keyframes nfc-ring2 { 0%, 25% { opacity: 0; transform: scale(1); } 26% { opacity: .7; transform: scale(1); } 38%, 100% { opacity: 0; transform: scale(2.6); } }
@keyframes nfc-chip { 0%, 21% { box-shadow: none; } 24% { box-shadow: 0 0 6cqw rgba(79, 224, 228, .7); } 40%, 100% { box-shadow: none; } }
@keyframes nfc-idle { 0%, 25% { opacity: 1; } 27%, 95% { opacity: 0; } 98%, 100% { opacity: 1; } }
@keyframes nfc-review { 0%, 25% { opacity: 0; } 27%, 94% { opacity: 1; } 97%, 100% { opacity: 0; } }
@keyframes nfc-star  { 0%, 46% { color: #dadce0; transform: none; } 47% { color: #fbbc04; transform: scale(1.35); } 49%, 96% { color: #fbbc04; transform: none; } 100% { color: #dadce0; } }
@keyframes nfc-star2 { 0%, 49% { color: #dadce0; transform: none; } 50% { color: #fbbc04; transform: scale(1.35); } 52%, 96% { color: #fbbc04; transform: none; } 100% { color: #dadce0; } }
@keyframes nfc-star3 { 0%, 52% { color: #dadce0; transform: none; } 53% { color: #fbbc04; transform: scale(1.35); } 55%, 96% { color: #fbbc04; transform: none; } 100% { color: #dadce0; } }
@keyframes nfc-star4 { 0%, 55% { color: #dadce0; transform: none; } 56% { color: #fbbc04; transform: scale(1.35); } 58%, 96% { color: #fbbc04; transform: none; } 100% { color: #dadce0; } }
@keyframes nfc-star5 { 0%, 58% { color: #dadce0; transform: none; } 59% { color: #fbbc04; transform: scale(1.35); } 61%, 96% { color: #fbbc04; transform: none; } 100% { color: #dadce0; } }
@keyframes nfc-line  { 0%, 62% { transform: scaleX(0); } 68%, 96% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
@keyframes nfc-line2 { 0%, 67% { transform: scaleX(0); } 72%, 96% { transform: scaleX(1); } 100% { transform: scaleX(0); } }
@keyframes nfc-post { 0%, 75% { transform: none; filter: none; } 76.5% { transform: scale(.94); filter: brightness(.85); } 78%, 100% { transform: none; filter: none; } }
@keyframes nfc-done { 0%, 78% { opacity: 0; transform: translateY(3cqw); } 81%, 93% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; transform: translateY(3cqw); } }

/* στατική εικόνα όταν δεν παίζει: κριτική ανοιχτή με 5 αστέρια */
@media (prefers-reduced-motion: reduce) {
  .nfc-idle { opacity: 0; }
  .nfc-review { opacity: 1; }
  .nfc-rate span { color: #fbbc04; }
  .nfc-text i { transform: none; }
  .nfc-stage * { animation: none !important; }
}

@media (max-width: 860px) {
  .nfc-section { padding: 72px 18px 80px; }
  .nfc-wrap { grid-template-columns: 1fr; gap: 36px; }
  .nfc-cta { width: 100%; justify-content: center; }
}

/* γραμμή δώρου στις κάρτες πακέτων */
.package-features li.package-gift { color: #fff; font-weight: 600; }
.package-features li.package-gift::before { content: "🎁"; font-size: 13px; }
