/* ==========================================================================
   WordPress-specifikus kiegészítések
   (a main.css a látványterv alapstílusa — ez teszi rá a WP sajátosságait)
   ========================================================================== */

/* --------------------------------------------------- akadálymentesség */
.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}
.screen-reader-text:focus {
  position: static !important;
  width: auto; height: auto; margin: 0;
  clip: auto; white-space: normal;
}

/* ------------------------------------------------------ űrlap elemek */
.form-title { font-size: clamp(23px, 2.6vw, 31px); margin-bottom: 8px; }
.form-sub   { margin-bottom: 26px; }

.form-actions {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: 28px;
}

.req { color: #C0433F; }

.form-error {
  margin-top: 18px;
  padding: 14px 16px;
  border-radius: 10px;
  background: #FDF1F1;
  border: 1px solid #F3C9C8;
  color: #9B2F2C;
  font-size: 14.5px;
}

.form-done { text-align: center; }
.form-done__icon {
  width: 66px; height: 66px; margin: 0 auto 20px;
  border-radius: 50%;
  background: var(--teal-tint); color: var(--teal-dark);
  display: grid; place-items: center;
}
.form-done h2 { font-size: clamp(22px, 2.4vw, 27px); }
.form-done p  { margin-bottom: 20px; }

.form-note { margin-top: 18px; font-size: 13.6px; color: var(--muted); }

button[disabled] { opacity: .6; cursor: progress; }

/* ------------------------------------------------------- vélemények */
.review {
  margin: 0;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 28px 26px;
}
.review__stars { display: flex; gap: 3px; color: #E8A33D; margin-bottom: 14px; }
.review p { font-size: 15.6px; }
.review cite {
  display: block; margin-top: 18px; padding-top: 16px;
  border-top: 1px solid var(--border);
  font-style: normal;
}
.review cite strong {
  display: block; font-family: var(--f-display);
  font-size: 15.5px; color: var(--ink); font-weight: 700;
}
.review cite span { font-size: 13.8px; color: var(--muted); }

/* ---------------------------------------------------------- keresés */
.searchform__row { display: flex; gap: 10px; flex-wrap: wrap; }
.searchform input[type="search"] {
  flex: 1; min-width: 220px;
  font-family: var(--f-body); font-size: 15.5px;
  padding: 13px 16px; min-height: 52px;
  border: 1.5px solid var(--border); border-radius: 10px;
  background: #fff; color: var(--ink);
}
.searchform input[type="search"]:focus {
  outline: none; border-color: var(--teal);
  box-shadow: 0 0 0 4px rgba(27, 154, 170, .13);
}

/* ------------------------------------------------------- lapozás */
.pagination { margin-top: 46px; }
.pagination .nav-links {
  display: flex; flex-wrap: wrap; gap: 8px; justify-content: center;
}
.pagination .page-numbers {
  display: grid; place-items: center;
  min-width: 44px; height: 44px; padding: 0 14px;
  border: 1.5px solid var(--border); border-radius: 10px;
  font-weight: 600; font-size: 15px; color: var(--body);
  transition: all .25s var(--ease);
}
.pagination .page-numbers:hover { border-color: var(--teal); color: var(--teal-dark); }
.pagination .page-numbers.current {
  background: var(--teal); border-color: var(--teal); color: #fff;
}
.pagination .dots { border-color: transparent; }

.page-links { margin-top: 26px; display: flex; gap: 8px; align-items: center; }

/* ------------------------------------------- referencia nagy kép */
.ref-hero { margin-bottom: 34px; }
.ref-hero img { width: 100%; border-radius: var(--radius-lg); }

/* ---------------------------------------------------- szövegtörzs */
/* A szerkesztőből érkező tartalom (Rólunk, Impresszum, Adatvédelem). */
.prose h2 { font-size: clamp(24px, 2.8vw, 34px); }
.prose h3 { margin-top: 1.7em; }
.prose ul:not(.ticks):not(.usp) {
  list-style: disc; padding-left: 22px; margin: 0 0 1.2em;
}
.prose ol { list-style: decimal; padding-left: 22px; margin: 0 0 1.2em; }
.prose li { margin-bottom: .5em; }
.prose a { text-decoration: underline; text-underline-offset: 2px; }
.prose img { border-radius: var(--radius); height: auto; }
.prose table {
  width: 100%; border-collapse: collapse; margin: 0 0 1.4em;
  font-size: 15.4px;
}
.prose th, .prose td {
  text-align: left; padding: 11px 14px;
  border-bottom: 1px solid var(--border);
}
.prose th { font-family: var(--f-display); color: var(--ink); font-weight: 700; }
.prose hr { border: 0; border-top: 1px solid var(--border); margin: 2.4em 0; }
.prose code {
  background: var(--surface); padding: 2px 6px; border-radius: 5px;
  font-size: .92em;
}

/* WordPress igazítások */
.alignleft  { float: left; margin: .4em 1.6em 1em 0; }
.alignright { float: right; margin: .4em 0 1em 1.6em; }
.aligncenter { display: block; margin-inline: auto; }
.alignwide, .alignfull { max-width: 100%; }
.wp-caption { max-width: 100%; }
.wp-caption-text, figcaption {
  font-size: 13.6px; color: var(--muted); margin-top: 9px; text-align: center;
}
.sticky, .gallery-caption, .bypostauthor { /* WP téma követelmény */ }

/* Bejelentkezett admin sáv ne takarja a tapadós fejlécet */
body.admin-bar .header { top: 32px; }
body.admin-bar .mobile-nav { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar .header { top: 46px; }
  body.admin-bar .mobile-nav { top: 46px; }
}

/* A menü listaelemek a fejlécben nem listaként viselkednek */
.nav ul, .nav li { list-style: none; margin: 0; padding: 0; display: contents; }

/* Lábléc menük */
.footer .menu { display: grid; gap: 11px; }
.footer .menu li { margin: 0; }
.footer__legal a { color: #8B979B; }
.footer__legal a:hover { color: var(--teal-bright); }

@media (max-width: 620px) {
  .alignleft, .alignright { float: none; margin: 0 0 1.2em; }
}
