/* ============================================================
   Padel Center — landing styles (ported from the prototype)
   ============================================================ */
:root {
  --pc-red: #e30613;
  --pc-red-bright: #ff2d3d;
  --pc-bg: #0a0a0a;
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background: #000;
  font-family: 'Archivo', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--pc-red); text-decoration: none; }
a:hover { color: var(--pc-red-bright); }
::-webkit-scrollbar { width: 0; }

@keyframes pcPulse { 0%,100%{opacity:1} 50%{opacity:.45} }
@keyframes pcRise { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:none} }
@keyframes pcShine { 0%{transform:translateX(-160%) skewX(-22deg)} 55%,100%{transform:translateX(300%) skewX(-22deg)} }
@keyframes pcGlow {
  0%,100%{box-shadow:0 0 0 rgba(227,6,19,0),0 6px 16px rgba(0,0,0,.35)}
  50%{box-shadow:0 0 26px rgba(227,6,19,.6),0 6px 16px rgba(0,0,0,.35)}
}

/* ---- shell / phone frame ---- */
.pc-shell { min-height: 100vh; background: #000; display: flex; justify-content: center; }
.pc-phone {
  width: 100%; max-width: 440px; background: var(--pc-bg);
  position: relative; overflow: hidden; min-height: 100vh;
  color: #fff; box-shadow: 0 0 80px rgba(0,0,0,.6);
}
.pc-red { color: var(--pc-red); }

/* ---- top bar ---- */
.pc-topbar {
  position: sticky; top: 0; z-index: 40;
  display: flex; align-items: center; gap: 11px;
  padding: 14px 18px; background: rgba(10,10,10,.82);
  backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,255,255,.07);
}
.pc-topbar-logo { width: 34px; height: 34px; border-radius: 8px; object-fit: cover; flex: none; }
.pc-logo-text { display: flex; flex-direction: column; line-height: .92; }
.pc-logo-text span { font-family: 'Anton'; font-size: 15px; letter-spacing: .06em; }
.pc-torneos-btn {
  margin-left: auto; font-size: 10px; font-weight: 800; letter-spacing: .14em;
  color: rgba(255,255,255,.6); border: 1px solid rgba(255,255,255,.16);
  padding: 7px 12px; border-radius: 8px; transition: all .15s;
}
.pc-torneos-btn:hover { color: #fff; border-color: var(--pc-red); background: rgba(227,6,19,.14); }

/* ---- hero ---- */
.pc-hero { position: relative; padding: 44px 22px 40px; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.06); }
.pc-hero-glow { position: absolute; inset: 0; background: radial-gradient(120% 90% at 80% -10%, rgba(227,6,19,.28), transparent 55%); }
.pc-hero-watermark { position: absolute; right: -42px; top: -30px; width: 210px; opacity: .06; transform: rotate(-8deg); pointer-events: none; }
.pc-hero-inner { position: relative; }
.pc-eyebrow {
  display: inline-flex; align-items: center; gap: 7px;
  padding: 6px 12px; border: 1px solid rgba(227,6,19,.55); border-radius: 999px;
  font-size: 10px; font-weight: 800; letter-spacing: .16em; color: #ff5964;
}
.pc-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--pc-red); animation: pcPulse 1.6s infinite; }
.pc-dot--white { background: #fff; animation-duration: 1.4s; }
.pc-h1 { font-family: 'Anton'; font-size: 52px; line-height: .92; margin: 18px 0 0; letter-spacing: .005em; text-transform: uppercase; }
.pc-hero-sub { margin: 16px 0 0; font-size: 15px; line-height: 1.5; color: rgba(255,255,255,.68); max-width: 330px; }

/* ---- generic section ---- */
.pc-section { padding: 34px 18px 8px; }
.pc-section--anchor { scroll-margin-top: 72px; }
.pc-section--tight { padding-top: 24px; }
.pc-section-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 16px; }
.pc-section-title { font-family: 'Anton'; font-size: 22px; margin: 0; letter-spacing: .03em; }
.pc-section-title--sm { font-size: 20px; }
.pc-accent { width: 44px; height: 3px; background: var(--pc-red); border-radius: 2px; }
.pc-subhead { font-family: 'Anton'; font-size: 15px; margin: 0 0 14px; letter-spacing: .06em; color: rgba(255,255,255,.5); }

/* ---- featured card ---- */
.pc-featured-card {
  position: relative; cursor: pointer; border-radius: 18px; overflow: hidden; color: #fff;
  border: 1px solid rgba(255,255,255,.1); background: #111;
  box-shadow: 0 20px 40px rgba(0,0,0,.5); animation: pcRise .5s both;
}
.pc-featured-poster { display: block; width: 100%; height: auto; }
.pc-featured-body { position: relative; padding: 16px 18px 20px; }
.pc-badge-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 12px; }
.pc-badge-status {
  display: inline-flex; align-items: center; gap: 6px; background: var(--pc-red); color: #fff;
  padding: 6px 11px; border-radius: 999px; font-size: 10.5px; font-weight: 800; letter-spacing: .08em;
}
.pc-badge-urgency {
  display: inline-flex; align-items: center; gap: 5px; padding: 6px 11px;
  border-radius: 999px; font-size: 10.5px; font-weight: 900; letter-spacing: .06em;
}
.pc-chip-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.pc-chip {
  display: inline-flex; align-items: center; gap: 6px; border: 1px solid transparent;
  padding: 6px 11px; border-radius: 9px; font-size: 12px; font-weight: 700;
}
.pc-chip--neutral { background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.12); }
.pc-tag-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.pc-tag {
  display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px;
  border-radius: 8px; font-size: 10.5px; font-weight: 800; letter-spacing: .04em; border: 1px solid transparent;
}
.pc-tag--money { background: rgba(255,196,0,.14); color: #ffcf40; border-color: rgba(255,196,0,.4); }
.pc-tag--rank { background: rgba(120,180,255,.14); color: #8bc0ff; border-color: rgba(120,180,255,.4); }
.pc-featured-name { font-family: 'Anton'; font-size: 23px; line-height: 1.02; margin: 0; letter-spacing: .01em; }
.pc-featured-sponsor { margin: 7px 0 16px; font-size: 12.5px; color: rgba(255,255,255,.55); }

/* ---- CTAs ---- */
.pc-cta-primary {
  position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; gap: 9px;
  background: #fff; color: #0a0a0a; font-weight: 800; font-size: 14px; padding: 14px;
  border-radius: 12px; letter-spacing: .03em; animation: pcGlow 2.2s ease-in-out infinite;
}
.pc-cta-primary:hover { color: #0a0a0a; }
/* full-card link sits behind the interactive buttons */
.pc-card-overlay { position: absolute; inset: 0; z-index: 1; }
.pc-cta-primary::before {
  content: ''; position: absolute; top: 0; left: 0; width: 45%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.85), transparent);
  animation: pcShine 2.6s ease-in-out infinite; pointer-events: none;
}
.pc-cta-arrow { font-size: 16px; position: relative; }
.pc-cta-wa, .pc-cta-form {
  position: relative; z-index: 2;
  margin-top: 10px; display: flex; align-items: center; justify-content: center; gap: 9px;
  font-weight: 900; font-size: 14px; padding: 14px; border-radius: 12px; letter-spacing: .02em;
}
.pc-cta-wa { background: #25D366; color: #052e16; box-shadow: 0 8px 22px rgba(37,211,102,.28); }
.pc-cta-wa:hover { color: #052e16; }
.pc-cta-form { background: var(--pc-red); color: #fff; box-shadow: 0 8px 22px rgba(227,6,19,.3); }
.pc-cta-form:hover { color: #fff; }
.pc-cta-wa span, .pc-cta-form span { font-size: 17px; }

/* ---- upcoming ---- */
.pc-up-item {
  display: flex; gap: 14px; padding: 12px; margin-bottom: 12px; color: #fff;
  background: #111; border: 1px solid rgba(255,255,255,.09); border-radius: 15px;
}
.pc-up-thumb {
  flex: none; width: 78px; height: 104px; border-radius: 11px; overflow: hidden; position: relative;
  background: repeating-linear-gradient(135deg,#1b1b1b,#1b1b1b 8px,#161616 8px,#161616 16px);
  display: flex; align-items: center; justify-content: center;
}
.pc-up-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pc-up-thumb-hint { font-family: ui-monospace, monospace; font-size: 8.5px; color: rgba(255,255,255,.3); text-align: center; padding: 0 6px; }
.pc-up-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pc-up-status { background: rgba(255,255,255,.07); color: rgba(255,255,255,.7); font-size: 9.5px; font-weight: 800; letter-spacing: .1em; padding: 4px 9px; border-radius: 7px; }
.pc-up-name { font-family: 'Anton'; font-size: 17px; line-height: 1.05; margin: 9px 0 0; letter-spacing: .01em; }
.pc-up-date { margin-top: auto; display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; }
.pc-up-link { margin-top: 8px; font-size: 12px; font-weight: 800; color: var(--pc-red); }

/* ---- past / others list ---- */
.pc-past-item {
  display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-bottom: 9px; color: #fff;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06); border-radius: 12px;
}
.pc-past-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.25); flex: none; }
.pc-past-dot--red { background: var(--pc-red); }
.pc-past-body { flex: 1; min-width: 0; }
.pc-past-name { font-weight: 700; font-size: 13.5px; color: rgba(255,255,255,.85); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-past-date { font-size: 11px; color: rgba(255,255,255,.45); }
.pc-arrow-muted { font-size: 15px; color: rgba(255,255,255,.35); }

/* ---- club ---- */
.pc-club { padding: 36px 22px 10px; margin-top: 20px; border-top: 1px solid rgba(255,255,255,.07); background: radial-gradient(120% 80% at 20% 0%, rgba(227,6,19,.1), transparent 55%); }
.pc-club-head { display: flex; align-items: center; gap: 13px; margin-bottom: 16px; }
.pc-club-logo { width: 52px; height: 52px; border-radius: 11px; object-fit: cover; flex: none; }
.pc-club-name { display: flex; flex-direction: column; line-height: .86; }
.pc-club-name span { font-family: 'Anton'; font-size: 27px; letter-spacing: .04em; }
.pc-club-desc { margin: 0; font-size: 14.5px; line-height: 1.6; color: rgba(255,255,255,.72); }
.pc-map { margin-top: 22px; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; overflow: hidden; background: #111; }
.pc-map-canvas { height: 120px; position: relative; background: repeating-linear-gradient(135deg,#181818,#181818 10px,#141414 10px,#141414 20px); display: flex; align-items: center; justify-content: center; }
.pc-map-label { font-family: ui-monospace, monospace; font-size: 10px; color: rgba(255,255,255,.3); }
.pc-map-pin { position: absolute; font-size: 26px; }
.pc-map-link { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; color: #fff; }
.pc-map-link:hover { color: #fff; }
.pc-map-text { display: flex; flex-direction: column; }
.pc-map-place { font-weight: 800; font-size: 13px; }
.pc-map-sub { font-size: 11px; color: rgba(255,255,255,.5); }
.pc-map-cta { font-size: 13px; font-weight: 800; }

/* ---- socials ---- */
.pc-socials-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pc-social { display: flex; align-items: center; gap: 11px; padding: 14px; background: #111; border: 1px solid rgba(255,255,255,.09); border-radius: 13px; color: #fff; }
.pc-social:hover { color: #fff; }
.pc-social-icon { width: 34px; height: 34px; flex: none; border-radius: 9px; background: rgba(227,6,19,.16); display: flex; align-items: center; justify-content: center; font-size: 16px; }
.pc-social-text { display: flex; flex-direction: column; min-width: 0; }
.pc-social-label { font-size: 9px; letter-spacing: .1em; color: rgba(255,255,255,.45); font-weight: 700; }
.pc-social-handle { font-size: 12.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ---- footer ---- */
.pc-footer { padding: 30px 22px 40px; text-align: center; margin-top: 16px; border-top: 1px solid rgba(255,255,255,.07); }
.pc-footer-logo { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; margin-bottom: 12px; }
.pc-footer-name { font-family: 'Anton'; font-size: 16px; letter-spacing: .05em; }
.pc-footer-contact { font-size: 11px; color: rgba(255,255,255,.4); margin-top: 6px; }
.pc-footer-copy { font-size: 10px; color: rgba(255,255,255,.25); margin-top: 16px; }

/* ============================================================
   DETAIL
   ============================================================ */
.pc-detail-bar {
  position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 12px;
  padding: 12px 16px; background: rgba(10,10,10,.86); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.pc-back { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: #fff; font-weight: 700; font-size: 13px; padding: 9px 14px; border-radius: 10px; }
.pc-back:hover { color: #fff; }
.pc-detail-title { font-family: 'Anton'; font-size: 13px; letter-spacing: .06em; color: rgba(255,255,255,.65); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-detail-poster { position: relative; }
.pc-detail-poster img { display: block; width: 100%; height: auto; }
.pc-detail-poster-empty { height: 420px; background: repeating-linear-gradient(135deg,#1b1b1b,#1b1b1b 10px,#151515 10px,#151515 20px); display: flex; align-items: center; justify-content: center; }
.pc-detail-poster-empty span { font-family: ui-monospace, monospace; font-size: 11px; color: rgba(255,255,255,.35); }
.pc-detail-head { padding: 22px 18px 8px; }
.pc-detail-name { font-family: 'Anton'; font-size: 30px; line-height: 1; margin: 16px 0 0; letter-spacing: .01em; }
.pc-detail-sponsor { margin: 8px 0 0; font-size: 13px; color: rgba(255,255,255,.6); }

.pc-facts { padding: 20px 18px 8px; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pc-fact { background: #111; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; padding: 16px; }
.pc-fact-label { font-size: 10px; font-weight: 800; letter-spacing: .14em; color: rgba(255,255,255,.45); }
.pc-fact-big { font-family: 'Anton'; font-size: 21px; line-height: 1.05; margin-top: 9px; }
.pc-fact-sub { font-size: 12px; color: rgba(255,255,255,.55); margin-top: 3px; }
.pc-price-card { background: linear-gradient(160deg,#e30613,#a30410); border-radius: 15px; padding: 16px; }
.pc-price-label { font-size: 10px; font-weight: 800; letter-spacing: .14em; color: rgba(255,255,255,.75); }
.pc-price-big { font-family: 'Anton'; font-size: 28px; line-height: 1; margin-top: 9px; }
.pc-price-note { font-size: 12px; color: rgba(255,255,255,.85); margin-top: 3px; }

.pc-prize-group { margin-bottom: 14px; background: #111; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; overflow: hidden; }
.pc-prize-title { padding: 12px 16px; background: rgba(227,6,19,.12); font-family: 'Anton'; font-size: 15px; letter-spacing: .05em; border-bottom: 1px solid rgba(255,255,255,.08); }
.pc-prize-colhead { display: flex; padding: 8px 16px 4px; font-size: 9.5px; font-weight: 800; letter-spacing: .1em; color: rgba(255,255,255,.4); }
.pc-prize-row { display: flex; align-items: center; padding: 9px 16px; border-top: 1px solid rgba(255,255,255,.05); font-size: 13px; }
.pc-prize-cat { flex: 1; font-weight: 600; }
.pc-prize-colhead .pc-prize-cat { font-weight: 800; }
.pc-prize-num { width: 70px; text-align: right; }
.pc-prize-win { font-weight: 800; color: #fff; }
.pc-prize-fin { color: rgba(255,255,255,.55); }
.pc-prize-note { font-size: 11px; color: rgba(255,255,255,.4); margin: 4px 2px 0; line-height: 1.5; }

.pc-perks { display: flex; align-items: center; gap: 12px; padding: 15px; background: linear-gradient(160deg, rgba(227,6,19,.14), rgba(227,6,19,.04)); border: 1px solid rgba(227,6,19,.3); border-radius: 15px; }
.pc-perks-icon { font-size: 26px; }
.pc-perks-text { font-size: 13px; line-height: 1.4; font-weight: 600; color: rgba(255,255,255,.85); }

.pc-loc { display: flex; align-items: center; gap: 12px; padding: 15px; background: #111; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; }
.pc-loc-icon { width: 40px; height: 40px; flex: none; border-radius: 10px; background: rgba(227,6,19,.16); display: flex; align-items: center; justify-content: center; font-size: 19px; }
.pc-loc-body { flex: 1; min-width: 0; }
.pc-loc-name { font-weight: 800; font-size: 13px; }
.pc-loc-sub { font-size: 11px; color: rgba(255,255,255,.5); }
.pc-loc-link { font-size: 12px; font-weight: 800; white-space: nowrap; }

.pc-detail-spacer { height: 96px; }
.pc-sticky-cta {
  position: sticky; bottom: 0; z-index: 45;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: linear-gradient(to top, #0a0a0a 60%, transparent); display: flex; gap: 10px;
}
.pc-cta-wa--lg { flex: 1; margin-top: 0; font-size: 15px; padding: 16px; border-radius: 14px; box-shadow: 0 10px 30px rgba(37,211,102,.3); }
.pc-cta-wa--lg span { font-size: 19px; }
