/* === Font Faces === */
@import url('https://fonts.googleapis.com/css2?family=Quicksand:wght@400;600;700&family=Caveat:wght@700&display=swap');

/* === Base Styles === */
html, body {
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Quicksand', Arial, sans-serif;
  font-weight: 700 !important;
  text-align: center;
  background: #1c55a4;
  color: #000;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Caveat', sans-serif;
  color: #ffd500;
  text-align: left;
  margin-left: 0.5em;
  font-weight: 700;
  text-shadow: 0 0.5px 0 #1c55a4, 0 1px 0 #ffd500;
}

/* === Table Layout === */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 20px;
  background: #fff;
}
th, td {
  border: 1px solid #ddd;
  padding: 10px;
}
th {
  background-color: #ffd500;
  color: #fff;
  font-family: 'Caveat', sans-serif;
  text-align: center;
  text-shadow: 0 0.5px 0 #1c55a4, 0 1px 0 #ffd500;
}
td {
  text-align: left;
}
#cardioTable td:nth-child(3), #workoutTable td:nth-child(3),
#workoutTable td:nth-child(4), #buikTable td:nth-child(2) {
  text-align: center;
}
#workoutTable td:nth-child(1) {
  text-align: right;
}
td:last-child {
  white-space: nowrap;
}

/* Center .picker-center-wrapper horizontally in table cells */
td > .picker-center-wrapper {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* === Button Styles === */
button {
  margin: 10px;
  padding: 10px;
  cursor: pointer;
  background: #fff;
  color: #1c55a4;
  border: none;
  border-radius: 5px;
}

/* === Input & Picker Styles === */
input[type="number"], input[type="text"], select {
  font-size: 1em;
  padding: 0em 0em;
  width: 3.5em;
  max-width: 100%;
  box-sizing: border-box;
  appearance: none;
  background: #fffbe6;
  border: none;
  color: #1c55a4;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-align: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.picker-center-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4.5em;
  height: 100%;
  border: 1px solid #ffd500;
  border-radius: 0.7em;
  background: #fffbe6;
  color: #1c55a4;
}
.cardio-type-select {
  font-weight: 700 !important;
  font-size: 1em;
  padding: 0.2em 0.5em;
  border-radius: 0.7em;
  border: 1px solid #ffd500;
  background: #fffbe6;
  color: #1c55a4;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-align: left;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  width: 100%;
  min-width: 4em;
  margin: 0;
}
.cardio-type-select:focus {
  border: 1px solid #ffd500;
  box-shadow: 0 0 0 0px #ffd500;
}
@media (max-width: 600px) {
  .picker-center-wrapper select {
    font-size: 1em;
    min-width: 2.5em;
    padding: 0.1em 0.2em;
    font-weight: 700 !important;
  }
}

/* === Focus Styles === */
input[type="number"]:focus, input[type="text"]:focus, select:focus {
  outline: none;
  border: none;
  box-shadow: none;
  font-weight: 700 !important;
}

/* === Footer Styles === */
footer {
  background: #ffd500;
  padding: 0.5em 0;
  text-align: center;
  margin: 0;
  border: none;
  box-shadow: none;
}
footer a {
  display: inline-flex;
  align-items: center;
  gap: 0.7em;
  text-decoration: none;
}
footer span {
  font-family: 'Caveat', sans-serif;
  color: #1c55a4;
  font-size: 1em;
  text-shadow: 0 0.5px 0 #1c55a4, 0 1px 0 #ffd500;
}
footer img {
  height: 1.5em;
  width: auto;
}
