/* ==========================================================================
   promo.css
   Page-specific styles for promo.html
   Shared styles (mobile nav, floating claim, pk-img-nav) → shared.css
   ========================================================================== */


/* --------------------------------------------------------------------------
   CREDIT CARD GRID (Grey/Dark theme with gold button)
   -------------------------------------------------------------------------- */
.credit-page {
  width: 100%;
  max-width: 100%;
  padding: 12px 8px 24px;
  box-sizing: border-box;
  background: #fff;
}

.credit-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  box-sizing: border-box;
}

/* Card */
.credit-card {
  display: block;
  width: 100%;
  text-decoration: none;
  color: #fff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,0) 22%),
    linear-gradient(180deg, #59616b 0%, #434a54 52%, #353b43 100%);
  border-radius: 28px;
  padding: 16px 16px 14px;
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow:
    0 10px 24px rgba(16,24,40,.12),
    0 3px 8px rgba(16,24,40,.08),
    inset 0 1px 0 rgba(255,255,255,.16);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.credit-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,0) 30%);
}

.credit-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 16px 32px rgba(16,24,40,.16),
    0 6px 12px rgba(16,24,40,.10),
    inset 0 1px 0 rgba(255,255,255,.18);
}

/* Brand header */
.credit-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  min-width: 0;
}

.credit-head img {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  background: #fff;
  border: 2px solid rgba(255,255,255,.55);
  box-shadow: 0 3px 10px rgba(0,0,0,.15);
}

.credit-head span {
  display: block;
  min-width: 0;
  color: #f7f2df;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: .2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 1px 0 rgba(255,255,255,.10);
}

/* Info boxes */
.credit-info {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.credit-box {
  background: linear-gradient(180deg, #ffffff 0%, #f7f7f7 100%);
  border-radius: 18px;
  padding: 10px 8px 8px;
  min-height: 110px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  border: 1px solid rgba(0,0,0,.04);
  box-shadow:
    0 4px 10px rgba(0,0,0,.04),
    inset 0 -1px 0 rgba(0,0,0,.03);
}

.credit-label {
  width: 100%;
  min-height: 30px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  color: #707070;
  font-size: 9px;
  line-height: 1.3;
  font-weight: 700;
}

.credit-value {
  width: 100%;
  min-height: 28px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  color: #f59c00;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
}

/* Gold button */
.credit-btn {
  position: relative;
  width: 100%;
  display: block;
  text-align: center;
  overflow: hidden;
  border-radius: 20px;
  padding: 14px 10px;
  box-sizing: border-box;
  background: linear-gradient(180deg, #ffc424 0%, #ffab08 48%, #f29100 100%);
  color: #fff;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .5px;
  border: 1px solid rgba(174,93,0,.22);
  box-shadow:
    0 8px 16px rgba(255,157,0,.24),
    inset 0 1px 0 rgba(255,255,255,.26),
    inset 0 -2px 0 rgba(178,88,0,.18);
  text-shadow: 0 1px 0 rgba(0,0,0,.08);
}

.credit-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -120%;
  width: 58%;
  height: 100%;
  background: linear-gradient(
    110deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.18) 35%,
    rgba(255,255,255,.42) 50%,
    rgba(255,255,255,.18) 65%,
    rgba(255,255,255,0) 100%
  );
  transform: skewX(-20deg);
  animation: creditBtnShine 2.8s linear infinite;
}

.credit-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
  pointer-events: none;
}

@keyframes creditBtnShine {
  0%   { left: -120%; }
  100% { left:  140%; }
}

/* Override theme width constraints */
.entry-content .credit-page,
.site-main .credit-page,
.content-area .credit-page,
.elementor-widget-container .credit-page,
.entry-content .credit-grid,
.site-main .credit-grid,
.content-area .credit-grid,
.elementor-widget-container .credit-grid {
  width: 100% !important;
  max-width: 100% !important;
}

/* Mobile */
@media (max-width: 480px) {
  .credit-page         { padding: 10px 4px 20px; }
  .credit-grid         { gap: 8px; }
  .credit-card         { padding: 12px 10px 12px; border-radius: 22px; }
  .credit-head         { gap: 8px; margin-bottom: 10px; }
  .credit-head img     { width: 34px; height: 34px; flex: 0 0 34px; }
  .credit-head span    { font-size: 14px; }
  .credit-info         { gap: 8px; margin-bottom: 10px; }
  .credit-box          { min-height: 86px; padding: 9px 6px 7px; border-radius: 16px; }
  .credit-label        { min-height: 24px; font-size: 8px; }
  .credit-value        { min-height: 22px; font-size: 17px; }
  .credit-btn          { font-size: 12px; padding: 12px 6px; border-radius: 16px; }
  .credit-btn::before  { animation-duration: 3s; }
}

/* Tablet / Desktop */
@media (min-width: 768px) {
  .credit-page         { padding: 14px 10px 30px; }
  .credit-grid         { gap: 18px; }
  .credit-card         { padding: 14px 14px 12px; border-radius: 26px; }
  .credit-head         { margin-bottom: 12px; }
  .credit-head img     { width: 38px; height: 38px; flex: 0 0 38px; }
  .credit-head span    { font-size: 16px; }
  .credit-info         { gap: 10px; margin-bottom: 10px; }
  .credit-box          { min-height: 90px; padding: 8px 8px 7px; border-radius: 16px; }
  .credit-label        { min-height: 24px; font-size: 8px; }
  .credit-value        { min-height: 22px; font-size: 18px; }
  .credit-btn          { font-size: 14px; padding: 12px 8px; border-radius: 16px; }
}

/* Large screens */
@media (min-width: 1200px) {
  .credit-grid  { gap: 20px; }
  .credit-card  { padding: 14px 14px 12px; }
  .credit-box   { min-height: 86px; }
}

@media (prefers-reduced-motion: reduce) {
  .credit-card,
  .credit-btn,
  .credit-btn::before {
    transition: none !important;
    animation: none !important;
  }
}
