/* =====================================================
   FREE UK LOTTO CHECK  SCOPED
===================================================== */

.lcpro-free-check {
  --blue-dark: #0a2a4a;
  color: #000;
}

/* ---------- FORM ---------- */

.lcpro-free-check-form {
  max-width: 520px;
  margin: 2em auto;
  text-align: center;
}

.lcpro-free-check-title {
  font-weight: 600;
  margin-bottom: 12px;
}

/* INPUT GRID */
.lcpro-inputs {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}

@media (max-width: 600px) {
  .lcpro-inputs {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* INPUTS  SQUARE */
.lcpro-inputs input {
  aspect-ratio: 1 / 1;
  border: 2px solid var(--blue-dark);
  border-radius: 8px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: #000;
}

/* BUTTON */
.lcpro-free-check-form button {
  padding: 10px 22px;
  background: var(--blue-dark);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
}

/* ---------- RESULTS ---------- */

.lcpro-results-heading {
  text-align: center;
  margin: 2em 0 1em;
}

.lcpro-results {
  display: grid;
  gap: 14px;
  max-width: 900px;
  margin: 0 auto;
}

.lcpro-results {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  max-width: 900px;
  margin: 0 auto;
}

/* RESULT CARD */
.lcpro-result-card {
  background: #fff;
  padding: 16px;
  border-radius: 14px;
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

/* BALLS */
.lcpro-balls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.lcpro-ball {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 30% 30%,
    #ffffff,
    #dcdcdc 55%,
    #b5b5b5 100%
  );
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: #000;
  box-shadow:
    0 6px 0 rgba(0,0,0,.25),
    0 10px 14px rgba(0,0,0,.25);
}

/* BONUS BALL  GOLD */
.lcpro-ball.bonus {
  background: radial-gradient(
    circle at 30% 30%,
    #fff4c2,
    #e6b94a 55%,
    #b48a1d 100%
  );
}

/* META */
.lcpro-result-meta {
  display: flex;
  justify-content: space-between;
  font-weight: 600;
}

/* NO RESULTS */
.lcpro-no-results {
  text-align: center;
  margin: 2em 0;
}
/* ================================
   FORCE SINGLE COLUMN RESULTS
   (OVERRIDES THEME COLUMN LAYOUT)
================================ */

.lcpro-free-check {
  column-count: 1 !important;
  column-gap: 0 !important;
}

.lcpro-free-check .lcpro-results {
  display: block !important;
  column-count: 1 !important;
}

.lcpro-free-check .lcpro-result-card {
  break-inside: avoid !important;
  width: 100% !important;
}
/* ================================
   NUMBER INPUTS  FREE CHECK
================================ */

.lcpro-free-check .lcpro-inputs input {
  aspect-ratio: 1 / 1;
  border: 2px solid #0a2a4a; /* dark blue */
  border-radius: 8px;       /* slightly rounded */
  background: #fff;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  color: #000;
  outline: none;

  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.15);
}

.lcpro-free-check .lcpro-inputs input:focus {
  border-color: #0a2a4a;
  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.15),
    0 0 0 2px rgba(10,42,74,0.25);
}

/* ================================
   RESULT CARDS  3D SEPARATION
================================ */

.lcpro-free-check .lcpro-result-card {
  background: linear-gradient(
    to bottom,
    #ffffff,
    #f6f6f6
  );
  padding: 18px;
  border-radius: 16px;
  margin-bottom: 16px;

  box-shadow:
    0 6px 0 rgba(0,0,0,0.15),   /* hard base shadow */
    0 14px 28px rgba(0,0,0,0.25); /* soft lift */

  border: 1px solid rgba(0,0,0,0.08);
}
.lcpro-free-check .lcpro-results {
  max-width: 900px;
  margin: 0 auto;
  padding-bottom: 30px;
}



/* =========================================
   GENERATEPRESS  TRUE CENTER ALIGNMENT
========================================= */

/* Break out of GeneratePress content padding */
.entry-content .lcpro-free-check {
  max-width: 100%;
  margin-left: calc(-1 * var(--gp-container-padding, 40px));
  margin-right: calc(-1 * var(--gp-container-padding, 40px));
  padding-left: var(--gp-container-padding, 40px);
  padding-right: var(--gp-container-padding, 40px);
}

/* Ensure inner content is perfectly centred */
.lcpro-free-check .lcpro-free-check-form,
.lcpro-free-check .lcpro-results,
.lcpro-free-check .lcpro-results-heading {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* =========================================
   INPUT SIZE  FINAL CONTROL
========================================= */

.lcpro-free-check .lcpro-inputs input[type="number"] {
  width: 65px;
  height: 45px;
  font-size: 18px;
  border-radius: 6px;
}

/* tighter spacing */
.lcpro-free-check .lcpro-inputs {
  gap: 10px;
}

/* =========================================
   MOBILE  FORCE INPUT GRID CENTERING
   (OVERRIDES THEME FLEX ALIGNMENT)
========================================= */

@media (max-width: 768px) {
  .lcpro-free-check .lcpro-inputs {
    align-self: center !important;
    justify-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ================================
   BASE RESULT CARD (NEUTRAL)
================================ */

.lcpro-free-check .lcpro-result-card {
  background: linear-gradient(
    to bottom,
    #ffffff,
    #f7f7f7
  );
  border-radius: 16px;
  padding: 18px;
  margin-bottom: 16px;

  box-shadow:
    0 6px 0 rgba(0,0,0,0.12),
    0 14px 28px rgba(0,0,0,0.22);

  border: 1px solid rgba(0,0,0,0.08);
}
/* Match 4 Numbers */

.lcpro-free-check .lcpro-result-card[data-match="4"] {
  background: linear-gradient(
    to bottom,
    #edf5ff,
    #f7fbff
  );
}


/* Match 5 Numbers */

.lcpro-free-check .lcpro-result-card[data-match="5"] {
  background: linear-gradient(
    to bottom,
    #ecfaf2,
    #f6fdf9
  );
}


/* Match 5 + Bonus Numbers */

.lcpro-free-check
.lcpro-result-card[data-match="5"][data-bonus="1"] {
  background: linear-gradient(
    to bottom,
    #fff4d8,
    #fffaf0
  );
  box-shadow:
    0 8px 0 rgba(210,180,90,0.35),
    0 18px 32px rgba(0,0,0,0.25);
}



/* Match 6 Numbers */

.lcpro-free-check .lcpro-result-card[data-match="6"] {
  background: linear-gradient(
    to bottom,
    #f3ecff,
    #faf7ff
  );
  box-shadow:
    0 8px 0 rgba(150,110,220,0.35),
    0 18px 34px rgba(0,0,0,0.28);
}


/* ================================
   CHECK AGAIN PROMPT
================================ */

/* ================================
   CHECK AGAIN BUTTON
================================ */

.lcpro-check-again {
  margin-top: 12px;
  padding: 8px 18px;
  border-radius: 6px;
  border: 1px solid #0a2a4a;
  background: #fff;
  color: #0a2a4a;
  font-weight: 600;
  cursor: pointer;
}

.lcpro-check-again:hover {
  background: #0a2a4a;
  color: #fff;
}

/* Free Check Limit */

.lcpro-limit-message {
  max-width: 600px;
  margin: 3rem auto;
  padding: 24px;
  border: 2px solid #0a2a4a;
  border-radius: 14px;
  background: #f4faff;
  text-align: center;
}

.lcpro-limit-message h2 {
  margin-top: 0;
  color: #0a2a4a;
}

.lcpro-limit-message ul {
  text-align: left;
  display: inline-block;
}

.lcpro-upgrade-btn {
  display: inline-block;
  margin-top: 16px;
  padding: 10px 22px;
  background: #0a2a4a;
  color: #fff;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
}

.lcpro-reset-note {
  font-size: 13px;
  color: #666;
  margin-top: 12px;
}


/* Limit exceeded icon */
.lcpro-icon {
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 8px;
  border-radius: 50%;
  background: #0a2a4a;
  box-shadow: 0 0 0 3px rgba(10,42,74,0.2);
  vertical-align: middle;
}
.lcpro-upgrade-btn {
  display: block;
  clear: both;
  margin: 20px auto 0;
  text-align: center;
}


/* Logged in member historic check */

/* =====================================
   SHARED HISTORIC CHECK WRAPPER
===================================== */

.lcpro-historic-check {
  max-width: 900px;
  margin: 0 auto;
}

/* Selector card matches result cards */
.lcpro-selector-card {
  max-width: 600px;
  margin: 20px auto;
  padding: 18px;
  background: #fff;
  border-radius: 16px;
  box-shadow:
    0 6px 0 rgba(0,0,0,0.12),
    0 14px 28px rgba(0,0,0,0.22);
}

/* Selector inputs */
.lcpro-selector-card select {
  width: 100%;
  padding: 10px;
  margin-top: 6px;
  border-radius: 8px;
  border: 2px solid var(--blue-dark);
  font-size: 16px;
}


/* =====================================================
   MEMBER HISTORIC CHECKER  INPUT ALIGNMENT
   Matches Free Checker styling
===================================================== */

/* Tighten the grid only inside the checker */
.lcpro-check-form .lcpro-addticket-grid {
  display: flex;
  justify-content: center;
  gap: 8px;              /* closer together */
  flex-wrap: nowrap;     /* single row on desktop */
  margin-bottom: 12px;
}

/* Input wrapper */
.lcpro-check-form .ball-input {
  flex: 0 0 auto;
}

/* Number input itself */
.lcpro-check-form input[type="number"] {
  width: 52px;           /* same as Free version */
  height: 52px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;

  border: 2px solid #0a3d62;     /* dark blue */
  border-radius: 8px;
  background: #fff;
  color: #000;

  box-shadow:
    inset 0 2px 4px rgba(0,0,0,0.12),
    0 2px 6px rgba(0,0,0,0.12);
}

/* Remove labels (Free version doesnt show them) */
.lcpro-check-form .ball-label {
  display: none;
}

/* Mobile: wrap nicely into rows */
@media (max-width: 480px) {
  .lcpro-check-form .lcpro-addticket-grid {
    flex-wrap: wrap;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
}


.lcpro-context-message {
  background: #f7f9fc;
  border-left: 4px solid #0073aa;
  padding: 14px 16px;
  margin-bottom: 1.5em;
  font-size: 0.95rem;
}

.lcpro-context-cta {
  display: inline-block;
  margin-left: 10px;
  font-weight: 600;
  color: #0073aa;
}
