/* ═══════════════════════════════════════════════════════
   PRICELIO — E1 shared components (flat, calm, restrained)
   Scope: index.html + lt.html. Load after design-tokens.css,
   before any page-specific stylesheet (landing.css / market.css)
   so page overrides can still win where a page needs something
   more specific.
═══════════════════════════════════════════════════════ */

.btn,
.cta-btn,
.deals-tab,
.nav-country-link,
button {
  font-family: var(--font-ui);
}

/* Flat buttons — one accent, one shadow level, no clay bounce */
.btn,
.cta-btn,
.btn-gradient {
  border-radius: var(--radius-md);
  transition: opacity 150ms ease, transform 150ms ease;
}

.btn-gradient,
.cta-btn-lt {
  background: var(--accent-primary) !important;
  background-image: none !important;
}

.btn:hover,
.cta-btn:hover,
.btn-gradient:hover {
  opacity: .9;
  transform: translateY(-1px);
}

.btn:active,
.cta-btn:active {
  transform: translateY(0);
}

.btn-outline {
  background: transparent;
  color: var(--accent-primary);
  border: 1px solid var(--border-subtle);
}

/* Flat cards — single shadow, 8-12px radius, no glass/clay */
.portal-card,
.manifesto-card,
.platform-card,
.number-card,
.biz-card,
.deal-card,
.feature-card,
.country-card {
  background: var(--bg-card) !important;
  border: 1px solid var(--border-subtle) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: box-shadow 150ms ease, transform 150ms ease, border-color 150ms ease !important;
}

.portal-card:hover,
.feature-card:hover,
.deal-card:hover,
.country-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow) !important;
  border-color: var(--border-hover) !important;
}

/* Nav */
nav {
  background: var(--nav-bg) !important;
  backdrop-filter: blur(20px);
}

.nav-country-link {
  border-color: var(--border-subtle);
  color: var(--text-secondary);
}
.nav-country-link:hover {
  border-color: var(--accent-primary);
  color: var(--text-primary);
  background: var(--accent-primary-glow);
}
.nav-country-link.active {
  border-color: var(--accent-primary);
  color: var(--accent-primary);
  background: var(--accent-primary-glow);
}

/* Footer */
footer { background: var(--bg-secondary); border-top: 1px solid var(--border-subtle); }
.footer-links a { color: var(--text-muted); }

/* ═══════════════════════════════════════════════════════
   Gradient-card signature accent — approved 2026-07-22.
   ONLY for cards showing a real product name + price
   (e.g. .deal-card in #dealsGrid). Do not apply to
   portal/feature/nav cards — those stay flat E1.
═══════════════════════════════════════════════════════ */
@property --angle {
  syntax: '<angle>';
  initial-value: 0deg;
  inherits: false;
}
@keyframes pricelio-spin {
  from { --angle: 0deg; }
  to   { --angle: 360deg; }
}

.gradient-card {
  border-radius: 17px; /* inner radius (16px, matches .deal-card) + 1px padding tolerance */
  padding: 3px;
  background: conic-gradient(from var(--angle, 0deg), #ff2d78, #7c3aed, #00d4aa, #7c3aed, #ff2d78);
  animation: pricelio-spin 16s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .gradient-card { animation: none; }
}
.gradient-card > .gradient-card-inner {
  border-radius: 15px;
  height: 100%;
}
/* The gradient ring already reads as the card border — drop the flat
   E1 border on the wrapped element so it doesn't double up. */
.gradient-card > .gradient-card-inner.deal-card {
  border: none !important;
}

/* Price rendered in the same brand gradient, clipped to text */
.price-gradient-text {
  background: linear-gradient(135deg, #ff2d78, #7c3aed 55%, #00d4aa);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* Discount/savings pill — gradient fill, white text (fixed, not theme-dependent) */
.savings-badge-gradient {
  background: linear-gradient(135deg, #ff2d78, #7c3aed 55%, #00d4aa) !important;
  color: #fff !important;
}

/* Primary CTA button living on a price card */
.btn-deal-gradient {
  background: linear-gradient(135deg, #ff2d78, #7c3aed 55%, #00d4aa) !important;
  background-image: linear-gradient(135deg, #ff2d78, #7c3aed 55%, #00d4aa) !important;
  color: #fff !important;
  border: none;
}
.footer-links a:hover { color: var(--text-primary); }
