/* Generic pages: page head, CMS content, blog archive, search, 404 */

.wrap--narrow > *{ max-width:760px; }

/* ---------- page head ---------- */
.page-head{ padding:72px 0 48px; }
@media (max-width:640px){ .page-head{ padding:44px 0 28px; } }
.page-head h1{
  font-family:var(--serif); font-weight:700;
  font-size:clamp(1.9rem,3.6vw,2.9rem); line-height:1.12; letter-spacing:-.012em;
  color:var(--navy); margin:16px 0 0; max-width:24ch;
}
.page-head .eyebrow{ margin-bottom:0; }

/* ---------- CMS content (Gutenberg / classic editor) ---------- */
.entry-content{ font-size:1.04rem; line-height:1.8; color:rgba(31,42,51,.86); }
.entry-content > * + *{ margin-top:1.15em; }
.entry-content h2, .entry-content h3, .entry-content h4{
  font-family:var(--serif); color:var(--navy); line-height:1.25; margin-top:1.8em;
}
.entry-content h2{ font-size:1.7rem; }
.entry-content h3{ font-size:1.32rem; }
.entry-content h4{ font-size:1.12rem; }
.entry-content a{ color:var(--navy); text-decoration-color:var(--gold-deep); text-underline-offset:3px; text-decoration-thickness:2px; }
.entry-content a:hover{ background:var(--gold); }
.entry-content ul, .entry-content ol{ padding-left:1.3em; }
.entry-content li + li{ margin-top:.45em; }
.entry-content blockquote{
  margin-left:0; padding:20px 28px;
  border-left:3px solid var(--gold-deep);
  font-family:var(--serif); font-size:1.12rem; color:var(--navy);
}
.entry-content img{ border-radius:0 var(--r-event) 0 var(--r-event); }
.entry-content hr{ border:0; border-top:1px solid var(--line); margin:2.4em 0; }
.entry-content table{ width:100%; border-collapse:collapse; font-size:.96rem; }
.entry-content th, .entry-content td{ padding:12px 14px; border-bottom:1px solid var(--line); text-align:left; }
.entry-content .wp-block-button__link{
  background:var(--gold); color:var(--ink); border:2px solid var(--ink); border-radius:100px;
  box-shadow:4px 4px 0 var(--ink); font-weight:700; padding:15px 32px; text-decoration:none;
}
/* Post photos are never cropped: natural proportions, centered, the brand corner shape stays. */
.entry-thumb{ margin:0 0 2rem; }
.entry-thumb img{ display:block; width:auto; max-width:100%; height:auto; aspect-ratio:auto; margin-inline:auto; }
.entry-content img{ max-width:100%; height:auto; }
.entry-content .wp-block-image:not(.alignleft):not(.alignright) img{ margin-inline:auto; }
.entry-content .wp-block-image figcaption{ text-align:center; font-size:.9rem; color:rgba(31,42,51,.6); margin-top:.7em; }

.post-navigation .nav-links{ display:flex; justify-content:space-between; gap:24px; margin-top:56px; padding-top:28px; border-top:1px solid var(--line); }
.post-navigation a{ text-decoration:none; font-family:var(--serif); font-weight:700; color:var(--navy); }
.post-navigation .meta{ display:block; font-family:var(--sans); font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:rgba(31,42,51,.5); }

/* ---------- blog / search grid ---------- */
.post-thumb-empty{ display:block; width:100%; aspect-ratio:4/3; border-radius:0 var(--r-event) 0 var(--r-event); background:var(--navy); }
.blog-grid--archive{ margin-top:0; }

.navigation.pagination{ margin-top:56px; }
.navigation.pagination .nav-links{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:42px; height:42px; padding:0 14px;
  background:var(--paper); border:1.5px solid var(--line); border-radius:100px;
  color:var(--ink); font-weight:700; text-decoration:none;
}
.page-numbers svg{ width:14px; height:14px; stroke:currentColor; fill:none; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
a.page-numbers:hover{ border-color:var(--ink); }
.page-numbers.current{ background:var(--gold); border-color:var(--ink); }

/* ---------- forms shared by search / comments / WooCommerce ---------- */
.search-form{ display:flex; gap:12px; flex-wrap:wrap; margin:28px 0; }
.search-form input[type="search"]{ flex:1 1 260px; }

input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="date"], select, textarea{
  width:100%;
  font-family:var(--sans); font-size:1rem; color:var(--ink);
  background:var(--paper);
  border:1.5px solid var(--line); border-radius:14px;
  padding:13px 16px;
  transition:border-color .18s ease, box-shadow .18s ease;
}
textarea{ min-height:140px; }
input:focus, select:focus, textarea:focus{ outline:none; border-color:var(--ink); box-shadow:3px 3px 0 var(--gold); }
input[type="checkbox"], input[type="radio"]{ accent-color:var(--gold-deep); width:18px; height:18px; }
label{ font-weight:600; }

/* ---------- block layouts on wide CMS pages (private trainings, contact) ---------- */
.entry-content--wide > *{ max-width:none; }

/* Media & Text: one program per block, photo + text; the photo shape alternates (brand book: two variants only) */
.wp-block-media-text{
  display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:72px; align-items:center;
}
.entry-content .wp-block-media-text + .wp-block-media-text{ margin-top:104px; }
.wp-block-media-text.has-media-on-the-right{ grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
.wp-block-media-text__media{ margin:0; }
.entry-content .wp-block-media-text__media img{
  width:100%; aspect-ratio:1/1; object-fit:cover;
  border-radius:var(--r-main) 0 var(--r-main) 0;
  background:var(--navy);
}
.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media img{ border-radius:0 var(--r-event) 0 var(--r-event); }
.wp-block-media-text__content > :first-child{ margin-top:0; }
.entry-content .wp-block-media-text__content h2{ font-size:clamp(1.5rem,2.6vw,2.1rem); margin-top:0; }
.wp-block-media-text__content .wp-block-buttons{ margin-top:28px; }
@media (max-width:800px){
  .wp-block-media-text, .wp-block-media-text.has-media-on-the-right{ grid-template-columns:1fr; gap:34px; }
  .wp-block-media-text__media{ order:-1; } /* photo first when stacked, also when it sits on the right */
  .wp-block-media-text__media{ max-width:420px; }
  .entry-content .wp-block-media-text + .wp-block-media-text{ margin-top:72px; }
}

/* price rows ("Kursai ... – 500 Eur") */
.entry-content .uze-prices{ list-style:none; padding:0; margin:26px 0 0; border-top:1px solid var(--line); }
.entry-content .uze-prices li{ margin:0; padding:15px 0; border-bottom:1px solid var(--line); line-height:1.6; }
.entry-content .uze-prices li + li{ margin-top:0; }
.entry-content .uze-prices strong{ font-family:var(--serif); color:var(--navy); font-size:1.12rem; white-space:nowrap; }

/* Columns (contact: details + form) */
.wp-block-columns{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:72px; align-items:start; }
.wp-block-column{ min-width:0; }
.wp-block-column > :first-child{ margin-top:0; }
@media (max-width:800px){ .wp-block-columns{ grid-template-columns:1fr; gap:44px; } }

/* ---------- Contact Form 7 (plugin stylesheet is off, see inc/contact.php) ---------- */
.wpcf7 fieldset.hidden-fields-container{ display:none; }
.wpcf7-form p{ margin:0 0 20px; }
.wpcf7-form label{ display:block; font-size:.9rem; color:var(--navy); }
.wpcf7-form br{ display:none; }
.wpcf7-form-control-wrap{ display:block; margin-top:7px; }
.wpcf7-not-valid{ border-color:#b3261e; }
.wpcf7-not-valid-tip{ display:block; margin-top:6px; font-size:.84rem; font-weight:600; color:#b3261e; }
.wpcf7-spinner{ display:none; }
.wpcf7-submit{ cursor:pointer; }
.wpcf7-submit:disabled{ opacity:.5; cursor:not-allowed; }
.wpcf7 form .wpcf7-response-output{
  margin:24px 0 0; padding:16px 22px;
  background:var(--paper); color:var(--ink);
  border:1px solid var(--line); border-left:4px solid var(--gold-deep);
  border-radius:0 22px 0 22px;
  font-size:.96rem; line-height:1.55;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output{ border-left-color:#b3261e; }
.wpcf7 form.init .wpcf7-response-output, .wpcf7 form .wpcf7-response-output:empty{ display:none; }
.wpcf7 .screen-reader-response{
  position:absolute; overflow:hidden; clip:rect(1px,1px,1px,1px); clip-path:inset(50%);
  height:1px; width:1px; margin:-1px; padding:0; border:0; word-wrap:normal !important;
}
.wpcf7 .screen-reader-response ul, .wpcf7 .screen-reader-response p{ margin:0; padding:0; }
