@import "variables.css";

.field {
  width: 70%;
  margin-top: 30px;
  margin-left: auto;
  margin-right: auto;
  background-color: white;
  border-radius: 18px;
  padding: 50px;
}

.field-data p {
  font-size: 16px;
}

.field-data p span {
    font-weight: bold;
}

.field-title-extras-container {
    width: 100%;
    display: inline-flex;
}

.field-title {
    flex-grow: 2;
    margin-left: 10px;
    margin-right: 10px;
}

.field-title .address,
.field-title .phone{
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

.field-title h2 {
  font-size: xxx-large;
  margin: 0px;
  margin-bottom: 20px;
}

.field-title p {
  margin-top: 10px;
  margin-left: 5px;
}

.field .field-description {
  margin-top: 10px;
  font-size: 16px;
  margin-left: 5px;
}

.sport-buttons {
  margin-top: 10px;
}

.sport-buttons form {
  margin: 0;
  display: flex;
  flex-wrap: nowrap; /* Megakadályozza, hogy a mezők több sorra törjenek */
  gap: 10px; /* Távolság a mezők között */
}

.sport-buttons {
  display: flex; /* If there are many buttons, wrap to a new line */
  flex-wrap: wrap;
  max-width: 100%;
  gap: 10px; /* Space between buttons */
}

/* Style for the active button */
.sport-buttons .active {
  background-color: var(--primary-color);
  color: white; /* White text for contrast */
}

.sport-buttons button {
  padding: 10px 15px; /* Button inner padding */
  font-size: 16px; /* Button text size */
  border: 2px solid var(--primary-color); /* Button border */
  background-color: white; /* Default background color */
  color: var(--primary-color); /* Default text color */
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s; /* Smooth color transition */
  border-radius: 10px;
  text-align: left;
}

.sport-buttons button div {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sport-buttons button img {
  width: 25px;
  height: 25px;
  margin-left: 5px;
}

.sport-buttons button:hover {
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.35));
}

.field-reservation {
  font-weight: bold;
  margin-left: 5px;
}

.field-reservation select {
  border-radius: 25px;
  min-width: 200px;
  min-height: 35px;
}

#sport_fields {
  margin-left: 5px;
  font-weight: bold;
  font-size: 16px;
}

.field-reservation option {
  font-weight: bold;
  border-radius: 5px;
}

.field-reservation .pitch {
  margin-top: 15px;
  margin-bottom: 25px;
}

.field hr.first,
.field hr.second {
  margin-top: 20px;
  margin-bottom: 20px;
  border: 1px solid #d0d0d0;
  border-radius: 5px;
  width: 98%;
}

.field hr.second {
  margin-top: 40px;
  margin-bottom: 60px;
}

.field-content {
  width: 100%;
  display: inline-flex;
  margin-bottom: 20px;
}

.column {
  display: flex;
  flex-direction: column;
  max-width: 35%;
}

.field-content .calendar-container {
  flex-grow: 2;
  min-width: 270px;
  margin: 10px;
  border-radius: 25px;
  background-color: #f3f3f3;
  height: 592px;
}
.field-content #calendar {
  background-color: #fff;
  height: 492px;
  border-radius: 15px;
  padding: 10px;
  margin: 20px;
}

.fc-button.fc-today-button {
  background-color: var(--primary-color);
  color: white;
  border: none;
}

.fc-button.fc-prev-button,
.fc-button.fc-next-button {
  background-color: var(--primary-color);
  color: white;
  border: none;
}

.fc-button.fc-today-button:hover,
.fc-button.fc-prev-button:hover,
.fc-button.fc-next-button:hover {
  background-color: #16a085;
  color: white;
}

.fc-button.fc-today-button:disabled {
  background-color: var(--fc-button-bg-color);
  border-color: var(--fc-button-border-color);
  color: var(--fc-button-text-color);
}

.fc-button.fc-today-button:active,
.fc-button.fc-prev-button:active,
.fc-button.fc-next-button:active {
  background-color: var(--primary-color) !important;
  color: white !important;
}

.fc-bg-event {
  pointer-events: auto !important;
}

.field-content .field-gallery {
  border-radius: 15px;
  margin: 10px;
  padding: 15px;
  background-color: #f3f3f3;
}

.main-image {
  width: 100%;
}

.field-content .field-location {
  flex: 2;
  margin-left: 10px;
  margin-right: 10px;
  margin-bottom: 10px;
}

.field-content #leafletMap {
  width: 100%;
  height: 367px;
  border-radius: 15px;
}

.field-hours-prices {
  max-width: 100%;
  display: flex;
}

.field-hours-prices .field-opening-hours{
  box-sizing: border-box;
  width: 50%;
  margin: 10px;
  padding: 15px;
  background-color: #f3f3f3;
  border-radius: 15px;
}

.field-hours-prices .field-opening-hours h3,
.field-hours-prices .field-price h3,
.field-hours-prices-passes .field-passes h3 {
  margin-left: 5px;
  margin-bottom: 15px;
  margin-top: 0px;
}

.field-hours-prices .field-opening-hours .hours {
  margin-left: auto;
  margin-right: auto;
}

.field-hours-prices .field-price {
  box-sizing: border-box;
  flex: 0 0 48%;
  margin: 10px;
  padding: 15px;
  background-color: #f3f3f3;
  border-radius: 15px;
}

.field-hours-prices .field-price .section {
  text-align: center;
}

.field-hours-prices .field-price .section .section-title {
  margin-bottom: 5px;
}

.field-hours-prices-passes .field-passes {
  margin: 10px;
  padding: 15px;
  background-color: #f3f3f3;
  border-radius: 15px;
}

.field-hours-prices-passes .field-passes .pass-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 0px;
    padding: 0;
}

.field-hours-prices-passes .field-passes .pass-item {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: fit-content;
    background-color: #a0e8da;
    padding: 10px;
    border-radius: 10px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    margin: 10px;
}

.field-hours-prices-passes .field-passes .pass-title {
    font-weight: bold;
}

.field-hours-prices-passes .field-passes .pass-info {
    margin-top: 5px;
}

.field-hours-prices-passes .field-passes .pass-button {
    margin-top: 10px;
  padding: 8px 15px;
  text-decoration: none;
  font-size: 1em;
  color: #5c5c5c;
  background-color: #ffffff;
  border: 1px solid #5c5c5c;
  border-radius: 21.5px;
  transition: background-color 0.3s, color 0.3s;
  cursor: pointer;
}

.field-hours-prices-passes .field-passes .pass-button:hover {
  background-color: #f4f4f4;
  color: #5c5c5c;
  border-color: #5c5c5c;
}

.field-hours-prices-passes .field-passes .no-pass {
    margin-left: 15px;
}

.field-extras-mobile {
    display: none;
    flex-direction: row;
    background-color: #f3f3f3;
    gap: 10px;
    max-width: 100%;
    margin: 20px 10px;
  padding: 15px;
  border-radius: 15px;
}

.field-extras {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: fit-content;
    margin: 20px 10px;
  padding: 15px;
  border-radius: 15px;
}

.field-extras h3,
.field-extras-mobile h3 {
    margin-left: 5px;
  margin-bottom: 5px;
  margin-top: 5px;
  margin-right: 7px;
  white-space: nowrap;
}

.complex-extras table,
.payment-methods table {
    margin-left: 20px;
}

.ratings-section {
    margin-left: auto;
    margin-right: auto;
    max-width: 522px;
}

.field .ratings-section h3 {
  font-size: x-large;
  margin-bottom: 10px;
}

.field .ratings-section form {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap; /* Megakadályozza, hogy a mezők több sorra törjenek */
  gap: 10px; /* Távolság a mezők között */
  max-width: 500px; /* Teljes szélesség */
}

.field .ratings-section .review-wrapper {
    display: flex;    
    flex-direction: column;
}



.ratings-section form textarea {
  flex: 1; /* Szélesség növelése, hogy a mezők kitöltsék a rendelkezésre álló helyet */
  min-width: 100%;
  margin-top: 5px;
  padding: 10px;
  border: 2px solid #ccc;
  box-sizing: border-box; /* Beleértve a paddingot és a border-t a szélességbe */
  height: 40px;
  max-width: 200px;
  border-radius: 25px;
}


.field input[type="submit"] {
  font-size: medium;
  font-weight: bold;
  padding: 0.5rem 1rem;
  background-color: var(--primary-color);
  color: #fff;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  min-width: 100px; /* Minimum szélesség a gombhoz */
  height: 40px;
}

.field input[type="submit"]:hover {
  background-color: #16a085;
  box-shadow: 0 0 10px rgba(28, 208, 174, 0.5);
}

.field .ratings-section .reviews-list {
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 522px;
}

.review {
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 20px;
  padding-right: 22px;
  background-color: #f3f3f3;
  border-radius: 15px;
  max-width: 300px;
}

.review h4 {
  margin: 0px;
}

.review p,
.review small {
  margin-left: 10px;
  margin-top: 5px;
}
.view-button {
    padding: 10px 20px;
    background-color: #ddd;
    color: #333;
    text-decoration: none;
    border-radius: 8px;
    font-weight: bold;
    transition: background-color 0.3s;
    margin-top: 20px;
    margin-left: 20px;
}

.view-button:hover {
    background-color: #bbb;
}

.view-button.active {
    background-color: #1cd0ae; /* Zöld */
    color: white;
}

@media (max-width: 1060px) {
  .field-content {
    flex-direction: column;
  }
  .field-title-extras-container {
    flex-direction: column;
  }
  .field-extras {
    display: none;
  }
  .field-extras-mobile {
      display: flex;
      gap: 30px;
  }
  .column {
    flex-direction: row;
    max-width: unset;
    margin-top: 10px;
  }
  .field-gallery-container {
    width: 50%;
  }
  .field-content .field-gallery {
    margin-top: 0px;
    margin-bottom: 0px;
  }
  .field-content .calendar-container {
    margin: 0px;
  }
}

@media (max-width: 989px) {
    .field-content #calendar {
        height: 515px;
    }
    .field-content .calendar-container {
        height: 615px;
    }
}

@media (max-width: 750px) {
  .column {
    flex-direction: column;
    gap: 10px;
  }
  .field-gallery-container {
    width: 100%;
  }
  .field-hours-prices {
    flex-direction: column;
  }
  .field-hours-prices .field-opening-hours {
    width: unset;
    flex-grow: 2;
  }
  .field-title h2 {
    font-size: 35px;
  }
  .field-content .field-gallery {
    margin-left: 0px;
    margin-right: 0px;
  }
  .field-content .field-location {
    margin-left: 0px;
    margin-right: 0px;
  }
  .field-hours-prices .field-opening-hours {
    margin-left: 0px;
    margin-right: 0px;
  }
  .field-hours-prices .field-price {
    margin-left: 0px;
    margin-right: 0px;
  }
  .field-hours-prices-passes .field-passes {
    margin: 10px 0px;
  }
  .field-extras-mobile {
    margin-left: 0px;
    margin-right: 0px;
  }
}

@media (max-width: 682px) {
  .field {
    width: 90%;
    padding: 15px;
  }
  .fc .fc-button-group {
    margin-top: 0.25em;
  }
  .fc-button.fc-today-button {
    margin-left: 0.75em;
  }
  .ratings-section {
      max-width: 90%;
  }
}

@media (max-width: 520px) {
  .field-extras-mobile {
      width: unset;
      max-width: 100%;
    flex-direction: column;
  }
}

@media (max-width: 506px) {
    .field-content #calendar {
        height: 535px;
    }
    .field-content .calendar-container {
        height: 635px;
    }
}

@media (max-width: 446px) {
    .field-content #calendar {
        height: 562px;
    }
    .field-content .calendar-container {
        height: 662px;
    }
}

@media (max-width: 425px) {
  .field-content #calendar {
    margin: 10px;
  }
  .field .ratings-section .reviews-list {
    margin-left: auto;
    margin-right: auto;
  }
  .field .ratings-section form {
    margin-left: auto;
    margin-right: auto;
  }
  .field-content #calendar {
        height: 562px;
    }
    .field-content .calendar-container {
        height: 635px;
    }
  .view-button {
      margin-top: 10px;
      margin-left: 10px;
  }
}

@media (max-width: 320px) {
    .field-hours-prices-passes .field-passes .no-pass {
        margin-left: 5px;
    }
}

