/* Page: Póker Asztalok */

/* Hero Section */
.hero {
  position: relative;
  width: 100%;
  height: 70vh;
  min-height: 400px;
  background: url('/src/media/poker-hero.webp') center/cover no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 1;
}

.hero__content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  width: 90%;
  padding: 2rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.hero__title {
  color: #FFFFFF;
  font-size: var(--font-size-h1);
  line-height: var(--line-height-heading);
  margin: 0;
  text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.hero__subtitle {
  color: #FFFFFF;
  font-size: var(--font-size-body);
  line-height: var(--line-height-body);
  margin: 0;
  max-width: 600px;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}

.hero__cta {
  margin-top: 0.5rem;
  width: 200px;
}

@media (max-width: 768px) {
  .hero {
    height: 50vh;
    min-height: 300px;
  }
  .hero__content {
    width: 100%;
    padding: 1rem;
  }
  .hero__title {
    font-size: 2rem;
  }
  .hero__cta {
    width: 100%;
  }
}

/* Intro Section */
.intro__card {
  background-color: #FFFFFF;
  border: var(--border-solid);
  box-shadow: var(--shadow-pop);
  padding: 2rem;
  margin-top: 4rem;
  margin-bottom: 4rem;
  display: flex;
  align-items: center;
  gap: 2rem;
}

.intro__text {
  flex: 0 0 60%;
  max-width: 700px;
}

.intro__heading {
  margin-bottom: 1rem;
}

.intro__paragraph {
  margin-bottom: 1rem;
}

.intro__icon {
  flex: 0 0 40%;
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .intro__card {
    flex-direction: column;
    padding: 1.5rem;
  }
  .intro__text,
  .intro__icon {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .intro__icon {
    margin-top: 1.5rem;
  }
  .intro__icon svg {
    width: 80px;
    height: 80px;
  }
}

/* Tables Section */
.tables {
  margin-bottom: 4rem;
}

.tables__heading {
  text-align: center;
  margin-bottom: 2rem;
}

.tables__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.table-card {
  background-color: #FFFFFF;
  border: var(--border-solid);
  box-shadow: var(--shadow-pop);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.table-card:hover {
  transform: scale(1.02);
  box-shadow: 2px 2px 0 #000000;
}

.table-card__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin-bottom: 1rem;
}

.table-card__title {
  margin-bottom: 0.5rem;
}

.table-card__description {
  max-width: 80%;
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .tables__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .tables__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Gameplay Section */
.gameplay__card {
  background-color: #FFFFFF;
  border: var(--border-solid);
  box-shadow: var(--shadow-pop);
  padding: 2rem;
  margin-bottom: 4rem;
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}

.gameplay__text {
  flex: 0 0 65%;
  max-width: 650px;
}

.gameplay__heading {
  margin-bottom: 1rem;
}

.gameplay__paragraph {
  margin-bottom: 1rem;
}

.gameplay__list {
  list-style: decimal;
  padding-left: 1.5rem;
  margin-bottom: 0;
}

.gameplay__list-item {
  margin-bottom: 0.5rem;
}

.gameplay__illustration {
  flex: 0 0 35%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

@media (max-width: 768px) {
  .gameplay__card {
    flex-direction: column;
    padding: 1.5rem;
  }
  .gameplay__text,
  .gameplay__illustration {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .gameplay__illustration {
    margin-top: 1.5rem;
  }
}

/* Decoration Section */
.decoration {
  margin-bottom: 4rem;
}

.decoration__grid {
  display: flex;
  gap: 2rem;
  align-items: flex-start;
}

.decoration__image-wrapper {
  flex: 0 0 50%;
}

.decoration__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.decoration__text {
  flex: 0 0 50%;
  max-width: 600px;
}

.decoration__heading {
  margin-bottom: 1rem;
}

.decoration__paragraph {
  margin-bottom: 1rem;
}

@media (max-width: 768px) {
  .decoration__grid {
    flex-direction: column;
  }
  .decoration__image-wrapper,
  .decoration__text {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* Hosts Section */
.hosts {
  margin-bottom: 4rem;
}

.hosts__heading {
  text-align: center;
  margin-bottom: 1rem;
}

.hosts__intro {
  text-align: center;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
}

.hosts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.host-card {
  background-color: #FFFFFF;
  border: var(--border-solid);
  box-shadow: var(--shadow-pop);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: transform 0.2s ease;
}

.host-card:hover {
  transform: scale(1.02);
}

.host-card__avatar {
  margin-bottom: 1rem;
}

.host-card__name {
  margin-bottom: 0.5rem;
}

.host-card__specialty {
  max-width: 80%;
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .hosts__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .hosts__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Gallery Section */
.gallery {
  margin-bottom: 4rem;
}

.gallery__heading {
  text-align: center;
  margin-bottom: 2rem;
}

.gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

.gallery__item {
  overflow: hidden;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gallery__item:hover {
  transform: scale(1.02);
  box-shadow: 2px 2px 0 #000000;
}

.gallery__image {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

@media (max-width: 768px) {
  .gallery__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Testimonials Section */
.testimonials {
  margin-bottom: 4rem;
}

.testimonials__heading {
  text-align: center;
  margin-bottom: 2rem;
}

.testimonials__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.testimonial-card {
  background-color: #FFFFFF;
  border: var(--border-solid);
  box-shadow: var(--shadow-pop);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.testimonial-card__quote-icon {
  margin-bottom: 1rem;
}

.testimonial-card__quote {
  margin: 0;
  font-style: italic;
}

.testimonial-card__quote p {
  margin-bottom: 0.5rem;
  max-width: 85%;
}

.testimonial-card__author {
  font-style: normal;
  font-weight: 700;
  display: block;
  margin-top: 0.5rem;
}

@media (max-width: 1024px) {
  .testimonials__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .testimonials__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* FAQ Section */
.faq {
  margin-bottom: 4rem;
}

.faq__wrapper {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  background-color: #FFFFFF;
  border: var(--border-solid);
  box-shadow: var(--shadow-pop);
  padding: 2rem;
}

.faq__heading {
  text-align: center;
  margin-bottom: 1.5rem;
}

.faq__list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.faq__item {
  border-bottom: 1px solid #000000;
}

.faq__question {
  width: 100%;
  background: none;
  border: none;
  padding: 1rem 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  font-weight: 700;
  font-size: var(--font-size-body);
  text-align: left;
  color: var(--color-text-primary);
}

.faq__question:hover .faq__icon {
  color: var(--color-accent-pink);
}

.faq__icon {
  font-size: 1.5rem;
  font-weight: 700;
  transition: color 0.2s ease;
}

.faq__answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
}

.faq__answer p {
  padding: 0 0 1rem 0;
  margin: 0;
  max-width: 90%;
}

.faq__item.active .faq__answer {
  max-height: 200px;
}

.faq__item.active .faq__icon {
  transform: rotate(45deg);
}

@media (max-width: 768px) {
  .faq__wrapper {
    padding: 1.5rem;
  }
}

/* CTA Section */
.cta {
  background-color: #1a1a1a;
  padding: 4rem 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0;
}

.cta__content {
  max-width: 600px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  padding: 0 1.5rem;
}

.cta__heading {
  color: #FFFFFF;
  margin: 0;
}

.cta__text {
  color: #FFFFFF;
  margin: 0;
}

.cta__button {
  width: 250px;
}

@media (max-width: 768px) {
  .cta {
    padding: 3rem 0;
  }
  .cta__button {
    width: 100%;
  }
}
