/*
Theme Name: Gardentopia
Theme URI: https://gardentopia.eu
Author: Gardentopia
Description: Modern kertészeti magazin WordPress téma. Polylang-kompatibilis, időjárás modul, reszponzív (hamburger menü 1000px alatt).
Version: 1.0.0
Requires at least: 5.9
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gardentopia
*/

/* ===== CSS variables (brand) ===== */
:root {
  --brand-green: #059669;
  --brand-green-dark: #047857;
  --brand-red: #e11d48;
  --brand-red-dark: #be123c;
  --brand-dark: #0f172a;
  --font-sans: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-serif: 'Fraunces', Georgia, serif;
  --container-max: 1280px;
  --header-height: 80px;
}

/* ===== Base ===== */
body {
  font-family: var(--font-sans);
  background: #f3f4f6;
  color: #1f2937;
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

/* ===== Utilities ===== */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hover-lift {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hover-lift:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
}

/* ===== Layout ===== */
.gt-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 1024px) {
  .gt-container { padding-left: 2rem; padding-right: 2rem; }
}

/* ===== Header ===== */
.gt-header {
  background: #fff;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  position: sticky;
  top: 0;
  z-index: 100;
}
.gt-header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: var(--header-height);
}
.gt-logo {
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 1.875rem;
  color: var(--brand-dark);
  letter-spacing: -0.02em;
}
.gt-logo .gt-logo-green { color: var(--brand-green); }
.gt-logo .gt-logo-red { color: var(--brand-red); }

/* Desktop nav: show from 1000px (we use 1000px breakpoint for hamburger) */
.gt-nav-desktop {
  display: none;
}
@media (min-width: 1000px) {
  .gt-nav-desktop {
    display: flex;
    gap: 2rem;
    font-weight: 500;
  }
  .gt-nav-desktop ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .gt-nav-desktop li { margin: 0; }
  .gt-nav-desktop a {
    color: #4b5563;
    transition: color 0.2s;
  }
  .gt-nav-desktop a:hover,
  .gt-nav-desktop .current-menu-item a { color: var(--brand-green); }
  .gt-nav-desktop .current-menu-item a {
    border-bottom: 2px solid var(--brand-green);
    padding-bottom: 2px;
  }
}

/* Search + Hamburger */
.gt-header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.gt-search-toggle {
  background: none;
  border: none;
  color: #6b7280;
  cursor: pointer;
  padding: 0.5rem;
  transition: color 0.2s;
}
.gt-search-toggle:hover { color: var(--brand-red); }
.gt-hamburger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  background: none;
  border: none;
  color: #6b7280;
  cursor: pointer;
  padding: 0;
}
@media (min-width: 1000px) {
  .gt-hamburger { display: none; }
}

/* Mobile menu overlay */
.gt-mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.95);
  z-index: 99;
  padding: calc(var(--header-height) + 1rem) 1.5rem 1.5rem;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.gt-mobile-menu.is-open {
  opacity: 1;
  visibility: visible;
}
.gt-mobile-menu .gt-nav-mobile {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.gt-mobile-menu .gt-nav-mobile ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.gt-mobile-menu .gt-nav-mobile a {
  color: #fff;
  font-size: 1.25rem;
  font-weight: 500;
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.gt-mobile-menu .gt-nav-mobile a:hover { color: var(--brand-green); }
.gt-mobile-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
}

/* Search overlay */
.gt-search-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.98);
  z-index: 101;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: calc(var(--header-height) + 2rem) 1.5rem 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.gt-search-overlay.is-open {
  opacity: 1;
  visibility: visible;
}
.gt-search-overlay form {
  width: 100%;
  max-width: 600px;
}
.gt-search-overlay input[type="search"] {
  width: 100%;
  padding: 1rem 1.5rem;
  font-size: 1.25rem;
  border: 2px solid rgba(255,255,255,0.2);
  border-radius: 12px;
  background: rgba(255,255,255,0.1);
  color: #fff;
}
.gt-search-overlay input::placeholder { color: rgba(255,255,255,0.6); }
.gt-search-overlay .gt-search-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: none;
  border: none;
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
}

/* ===== Main ===== */
.gt-main { padding: 2.5rem 0; }
@media (min-width: 1024px) { .gt-main { padding: 3rem 0; } }

/* ===== Footer ===== */
.gt-footer {
  background: var(--brand-dark);
  color: #fff;
  padding-top: 4rem;
  padding-bottom: 2rem;
  border-top: 4px solid var(--brand-green);
}
.gt-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid #334155;
}
@media (min-width: 768px) {
  .gt-footer-grid { grid-template-columns: 2fr 1fr 1fr; }
}
@media (min-width: 1024px) {
  .gt-footer-grid { grid-template-columns: 2fr 1fr 1fr; }
}
.gt-footer .gt-logo { color: #fff; }
.gt-footer p { color: #9ca3af; font-size: 0.875rem; line-height: 1.6; max-width: 24rem; margin-bottom: 1.5rem; }
.gt-footer h4 {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
  font-size: 0.875rem;
}
.gt-footer .gt-footer-green { color: var(--brand-green); }
.gt-footer .gt-footer-red { color: var(--brand-red); }
.gt-footer ul { list-style: none; padding: 0; margin: 0; }
.gt-footer ul li { margin-bottom: 0.5rem; }
.gt-footer ul a { color: #9ca3af; font-size: 0.875rem; transition: color 0.2s; }
.gt-footer ul a:hover { color: #fff; }
.gt-footer .gt-footer-no-items { color: #6b7280; font-size: 0.8125rem; font-style: italic; }
.gt-footer-social { display: flex; gap: 1rem; margin-top: 0.5rem; }
.gt-footer-social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #1e293b;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.gt-footer-social a:hover { background: var(--brand-green); }
.gt-footer-social a.fb:hover { background: #1877F2; }
.gt-footer-social a.ig:hover { background: var(--brand-red); }
.gt-footer-social a.pin:hover { background: #fff; color: var(--brand-dark); }

/* Language switcher */
.gt-lang-section { margin-bottom: 3rem; }
.gt-lang-section h4 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: #fff;
}
.gt-lang-section .fa-globe { color: var(--brand-green); }
.gt-lang-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem 1rem;
  font-size: 0.875rem;
  color: #9ca3af;
}
@media (min-width: 640px) { .gt-lang-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 768px) { .gt-lang-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .gt-lang-grid { grid-template-columns: repeat(6, 1fr); } }
.gt-lang-grid a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  transition: color 0.2s, background 0.2s;
}
.gt-lang-grid a:hover { color: #fff; background: #1e293b; }
.gt-lang-grid a .dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4b5563;
  transition: background 0.2s;
}
.gt-lang-grid a:hover .dot { background: var(--brand-green); }
.gt-lang-grid a.lang-current { color: #fff; font-weight: 700; background: #1e293b; }
.gt-lang-grid a.lang-current .dot { background: var(--brand-green); }

.gt-copyright { text-align: center; color: #6b7280; font-size: 0.75rem; margin-top: 2rem; }

/* ===== Buttons & forms ===== */
.gt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem 1.5rem;
  font-weight: 500;
  border-radius: 9999px;
  border: none;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
  font-family: var(--font-sans);
}
.gt-btn-green {
  background: var(--brand-green);
  color: #fff;
}
.gt-btn-green:hover { background: var(--brand-green-dark); }
.gt-input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f9fafb;
  color: #1f2937;
  font-size: 1rem;
  font-family: var(--font-sans);
}
.gt-input:focus {
  outline: none;
  border-color: var(--brand-green);
  box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.2);
}

/* ===== Cards & sections ===== */
.gt-section { margin-bottom: 4rem; }
.gt-section-title {
  font-family: var(--font-serif);
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin-bottom: 1.5rem;
}
.gt-card {
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  border: 1px solid #f3f4f6;
  transition: box-shadow 0.3s;
}
.gt-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.gt-badge {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
}
.gt-badge-green { background: var(--brand-green); color: #fff; }
.gt-badge-red { background: var(--brand-red); color: #fff; }
.gt-badge-dark { background: var(--brand-dark); color: #fff; }

/* Pagination */
.gt-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding-top: 2rem;
}
.gt-pagination a,
.gt-pagination span {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d1d5db;
  color: #374151;
  font-weight: 500;
  transition: background 0.2s, color 0.2s;
}
.gt-pagination a:hover { background: #f3f4f6; }
.gt-pagination .current { background: var(--brand-green); color: #fff; border-color: var(--brand-green); }
.gt-pagination .prev.disabled,
.gt-pagination .next.disabled { opacity: 0.5; pointer-events: none; }

/* ===== Front page: Hero grid ===== */
.gt-hero-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .gt-hero-grid {
    grid-template-columns: repeat(12, 1fr);
    gap: 1.5rem;
  }
  .gt-hero-main { grid-column: span 6; grid-row: span 2; }
  .gt-hero-small { grid-column: span 3; }
  .gt-weather-module { grid-column: span 3; }
}
.gt-hero-main {
  border-radius: 1rem;
  overflow: hidden;
  position: relative;
  background: var(--brand-dark);
}
.gt-hero-main-link {
  display: block;
  position: relative;
  color: #fff;
  height: 100%;
}
.gt-hero-main-img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  transition: transform 0.7s;
  display: block;
}
.gt-hero-main-link:hover .gt-hero-main-img { transform: scale(1.05); }
.gt-hero-placeholder {
  background: linear-gradient(135deg, var(--brand-green) 0%, var(--brand-dark) 100%);
  min-height: 200px;
  height: 400px;
}
@media (min-width: 1024px) {
  .gt-hero-main {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .gt-hero-main-link {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
  }
  .gt-hero-main-link .gt-hero-main-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
  }
  .gt-hero-main-link .gt-hero-placeholder {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
  }
}
.gt-hero-main-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.5rem 1.5rem 2rem;
  background: linear-gradient(to top, rgba(15,23,42,0.9), transparent);
}
@media (min-width: 1024px) {
  .gt-hero-main-overlay { padding: 2rem; }
}
.gt-hero-main-overlay .gt-badge { margin-bottom: 0.5rem; }
.gt-hero-main-title {
  font-family: var(--font-serif);
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 0.5rem;
}
@media (min-width: 1024px) {
  .gt-hero-main-title { font-size: 2.25rem; }
}
.gt-hero-main-excerpt { color: #e2e8f0; margin: 0 0 0.5rem; font-size: 0.9375rem; }
.gt-hero-meta { color: #cbd5e1; font-size: 0.875rem; }
.gt-hero-small { position: relative; }
.gt-hero-small a { display: flex; flex-direction: column; height: 100%; color: inherit; }
.gt-hero-small-img {
  width: 100%;
  height: 192px;
  object-fit: cover;
  transition: transform 0.5s;
}
.gt-hero-small:hover .gt-hero-small-img { transform: scale(1.08); }
.gt-hero-small .gt-badge { position: absolute; top: 0.75rem; left: 0.75rem; }
.gt-hero-small-body { padding: 1.25rem; flex-grow: 1; }
.gt-hero-small-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--brand-dark);
  transition: color 0.2s;
}
.gt-hero-small:hover .gt-hero-small-title { color: var(--brand-red); }
.gt-hero-small-excerpt { color: #4b5563; font-size: 0.875rem; margin: 0; }

/* Weather module */
.gt-weather-module {
  background: linear-gradient(to bottom right, var(--brand-dark), #1e293b);
  color: #fff;
  border-radius: 1rem;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.gt-weather-deco {
  position: absolute;
  right: -1.5rem;
  top: -1.5rem;
  color: rgba(255,255,255,0.1);
  font-size: 6rem;
}
.gt-weather-inner { position: relative; z-index: 1; }
.gt-weather-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--brand-green);
  margin: 0 0 0.25rem;
}
.gt-weather-location { font-family: var(--font-serif); font-size: 1.25rem; }
.gt-weather-head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 1rem; }
.gt-weather-icon { font-size: 2.5rem; color: #facc15; }
.gt-weather-temp { font-family: var(--font-serif); font-size: 3rem; font-weight: 700; }
.gt-weather-desc { color: #d1d5db; margin-top: 0.25rem; }
.gt-weather-extra {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,0.2);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  font-size: 0.875rem;
}
.gt-weather-extra-label { display: block; font-size: 0.75rem; color: #9ca3af; }
.gt-weather-extra-value { font-weight: 600; }
.gt-weather-loading .gt-weather-loading-text,
.gt-weather-unavailable { color: #d1d5db; font-size: 0.9375rem; }
.gt-weather-error .gt-weather-inner { display: flex; align-items: center; justify-content: center; min-height: 6rem; }

/* Featured box */
.gt-featured-box-inner {
  background: #fff;
  border-radius: 1.5rem;
  padding: 1.5rem;
  border: 1px solid #f3f4f6;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  position: relative;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .gt-featured-box-inner { padding: 2.5rem; }
}
.gt-featured-box-header {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 2rem;
}
@media (min-width: 768px) {
  .gt-featured-box-header { flex-direction: row; justify-content: space-between; align-items: center; }
}
.gt-featured-box-title { border-left: 4px solid var(--brand-red); padding-left: 1rem; margin-bottom: 0; }
.gt-featured-box-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: center;
}
@media (min-width: 768px) {
  .gt-featured-box-grid { grid-template-columns: 1fr 1fr; }
}
.gt-featured-box-img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  border-radius: 1rem;
  transition: transform 0.7s;
}
.gt-featured-box-media a:hover .gt-featured-box-img { transform: scale(1.05); }
.gt-featured-box-cat { color: var(--brand-red); font-weight: 700; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 0.5rem; display: block; }
.gt-featured-box-heading { font-family: var(--font-serif); font-size: 1.875rem; font-weight: 700; margin: 0 0 0.5rem; line-height: 1.2; }
@media (min-width: 768px) {
  .gt-featured-box-heading { font-size: 2.25rem; }
}
.gt-featured-box-heading a { color: var(--brand-dark); transition: color 0.2s; }
.gt-featured-box-heading a:hover { color: var(--brand-green); }
.gt-featured-box-text { color: #4b5563; font-size: 1.125rem; margin: 0 0 1rem; line-height: 1.6; }
.gt-featured-box-link { font-weight: 700; color: var(--brand-dark); display: inline-flex; align-items: center; gap: 0.5rem; transition: color 0.2s; }
.gt-featured-box-link:hover { color: var(--brand-green); }
.gt-featured-box-link i { transition: transform 0.2s; }
.gt-featured-box-link:hover i { transform: translateX(4px); }

/* Editor pick */
.gt-section-title-centered {
  text-align: center;
  margin-bottom: 2rem;
}
.gt-section-title-centered::before,
.gt-section-title-centered::after {
  content: '';
  display: inline-block;
  width: 100%;
  height: 1px;
  background: #d1d5db;
  vertical-align: middle;
  margin: 0 1rem;
}
.gt-section-title-centered::before { max-width: 3rem; }
.gt-section-title-centered::after { max-width: 3rem; }
.gt-editor-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 768px) {
  .gt-editor-grid { grid-template-columns: repeat(3, 1fr); }
}
.gt-editor-card { padding: 1.5rem; text-align: center; }
.gt-editor-card a { display: block; color: inherit; }
.gt-editor-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
  font-size: 1.5rem;
  transition: background 0.2s, color 0.2s;
}
.gt-editor-icon-seedling { background: rgba(5,150,105,0.1); color: var(--brand-green); }
.gt-editor-card:hover .gt-editor-icon-seedling { background: var(--brand-green); color: #fff; }
.gt-editor-icon-bug { background: rgba(225,29,72,0.1); color: var(--brand-red); }
.gt-editor-card:hover .gt-editor-icon-bug { background: var(--brand-red); color: #fff; }
.gt-editor-icon-tint { background: rgba(15,23,42,0.1); color: var(--brand-dark); }
.gt-editor-card:hover .gt-editor-icon-tint { background: var(--brand-dark); color: #fff; }
.gt-editor-title { font-family: var(--font-serif); font-size: 1.25rem; font-weight: 700; margin: 0 0 0.5rem; }
.gt-editor-excerpt { color: #4b5563; font-size: 0.875rem; margin: 0 0 1rem; }
.gt-editor-more { font-weight: 600; font-size: 0.875rem; color: var(--brand-green); }

/* Category sections */
.gt-cat-title { display: flex; align-items: center; margin-bottom: 1.5rem; }
.gt-cat-title::before {
  content: '';
  width: 0.75rem;
  height: 2rem;
  border-radius: 9999px;
  margin-right: 0.75rem;
}
.gt-cat-bar-green::before { background: var(--brand-green); }
.gt-cat-bar-red::before { background: var(--brand-red); }
.gt-cat-bar-dark::before { background: var(--brand-dark); }
.gt-cat-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .gt-cat-grid { grid-template-columns: repeat(3, 1fr); }
}
.gt-cat-card a { display: block; color: inherit; }
.gt-cat-card-img { width: 100%; height: 160px; object-fit: cover; transition: transform 0.3s; }
.gt-cat-card:hover .gt-cat-card-img { transform: scale(1.05); }
.gt-cat-card-body { padding: 1rem; }
.gt-cat-card-title { font-family: var(--font-serif); font-size: 1.125rem; font-weight: 700; margin: 0 0 0.5rem; transition: color 0.2s; }
.gt-cat-card:hover .gt-cat-card-title { color: var(--brand-green); }
.gt-cat-card-excerpt { color: #4b5563; font-size: 0.875rem; margin: 0; }

/* On this day */
.gt-otd-box {
  background: #fff;
  border-radius: 1rem;
  padding: 1.5rem 2rem;
  border: 1px solid #e5e7eb;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.gt-otd-title {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 1rem;
  color: var(--brand-dark);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.gt-otd-title i { color: var(--brand-green); }
.gt-otd-list { list-style: none; padding: 0; margin: 0; }
.gt-otd-list li {
  padding: 0.5rem 0;
  border-bottom: 1px solid #f3f4f6;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #374151;
}
.gt-otd-list li:last-child { border-bottom: none; }
.gt-otd-list strong { color: var(--brand-dark); margin-right: 0.25rem; }

/* ===== Layout with sidebar ===== */
.gt-layout-with-sidebar {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  padding: 2rem 0;
}
@media (min-width: 1024px) {
  .gt-layout-with-sidebar { grid-template-columns: 2fr 1fr; gap: 2.5rem; }
}
.gt-content { min-width: 0; }
.gt-sidebar { min-width: 0; }
.gt-sidebar-inner { position: sticky; top: 6rem; }

/* Archive header */
.gt-archive-header {
  background: var(--brand-dark);
  color: #fff;
  padding: 3rem 0;
  margin-bottom: 0;
  position: relative;
  overflow: hidden;
}
.gt-archive-header .gt-container { position: relative; z-index: 1; }
.gt-breadcrumb {
  font-size: 0.875rem;
  color: #9ca3af;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.gt-breadcrumb a { color: #9ca3af; transition: color 0.2s; }
.gt-breadcrumb a:hover { color: #fff; }
.gt-breadcrumb .fa-chevron-right { font-size: 0.625rem; color: #6b7280; }
.gt-breadcrumb-current { color: var(--brand-green); }
.gt-archive-title { font-family: var(--font-serif); font-size: 2.5rem; font-weight: 700; margin: 0 0 0.5rem; }
@media (min-width: 1024px) {
  .gt-archive-title { font-size: 3rem; }
}
.gt-archive-desc { color: #d1d5db; max-width: 42rem; line-height: 1.6; margin: 0; }

/* Archive card */
.gt-posts-list { display: flex; flex-direction: column; gap: 2rem; }
.gt-archive-card {
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  border: 1px solid #f3f4f6;
  transition: box-shadow 0.3s;
}
.gt-archive-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.gt-archive-card-link { display: flex; flex-direction: column; color: inherit; }
@media (min-width: 768px) {
  .gt-archive-card-link { flex-direction: row; }
}
.gt-archive-card-media {
  position: relative;
  flex: 0 0 auto;
}
@media (min-width: 768px) {
  .gt-archive-card-media { width: 40%; }
}
.gt-archive-card-img {
  width: 100%;
  height: 256px;
  object-fit: cover;
  transition: transform 0.5s;
}
.gt-archive-card:hover .gt-archive-card-img { transform: scale(1.03); }
@media (min-width: 768px) {
  .gt-archive-card-img { height: 100%; min-height: 220px; }
}
.gt-archive-card-badge {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(8px);
  color: var(--brand-dark);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.gt-archive-card-body { padding: 1.5rem; display: flex; flex-direction: column; justify-content: center; }
@media (min-width: 768px) {
  .gt-archive-card-body { padding: 2rem; }
}
.gt-archive-card-meta { font-size: 0.875rem; color: #9ca3af; margin-bottom: 0.5rem; display: flex; flex-wrap: wrap; gap: 1rem; }
.gt-archive-card-title {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 0.75rem;
  color: var(--brand-dark);
  transition: color 0.2s;
}
.gt-archive-card:hover .gt-archive-card-title { color: var(--brand-green); }
.gt-archive-card-excerpt { color: #4b5563; margin: 0 0 1rem; font-size: 0.9375rem; }
.gt-archive-card-more { font-weight: 600; font-size: 0.875rem; color: var(--brand-green); text-transform: uppercase; letter-spacing: 0.05em; display: inline-flex; align-items: center; gap: 0.5rem; }
.gt-archive-card-more i { transition: transform 0.2s; }
.gt-archive-card:hover .gt-archive-card-more i { transform: translateX(4px); }

/* Pagination links from WordPress */
.gt-pagination .page-numbers { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #d1d5db; color: #374151; font-weight: 500; transition: background 0.2s, color 0.2s; }
.gt-pagination .page-numbers:hover { background: #f3f4f6; }
.gt-pagination .page-numbers.current { background: var(--brand-green); color: #fff; border-color: var(--brand-green); }
.gt-pagination .prev.page-numbers,
.gt-pagination .next.page-numbers { width: 40px; height: 40px; }

/* Sidebar widgets */
.gt-widget { margin-bottom: 2rem; }
.gt-widget:last-child { margin-bottom: 0; }
.gt-widget-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 1rem;
  color: var(--brand-dark);
  padding-left: 0.75rem;
  border-left: 4px solid #d1d5db;
}
.gt-widget-green { border-left-color: var(--brand-green); }
.gt-widget-red { border-left-color: var(--brand-red); }
.gt-widget-dark { border-left-color: var(--brand-dark); }
.gt-search-field-wrap { position: relative; }
.gt-search-field-wrap .gt-input { padding-right: 3rem; }
.gt-search-btn {
  position: absolute;
  right: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 2.5rem;
  background: var(--brand-green);
  color: #fff;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}
.gt-search-btn:hover { background: var(--brand-green-dark); }
.gt-widget-list { list-style: none; padding: 0; margin: 0; }
.gt-widget-list li { margin-bottom: 0.25rem; }
.gt-widget-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.25rem 0;
  color: #4b5563;
  font-weight: 500;
  transition: color 0.2s;
}
.gt-widget-list a:hover,
.gt-widget-list a.gt-widget-active { color: var(--brand-green); }
.gt-widget-count {
  font-size: 0.75rem;
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  background: #f3f4f6;
  color: #6b7280;
  font-weight: 700;
  transition: background 0.2s, color 0.2s;
}
.gt-widget-list a:hover .gt-widget-count,
.gt-widget-list a.gt-widget-active .gt-widget-count { background: var(--brand-green); color: #fff; }
.gt-widget-posts { display: flex; flex-direction: column; gap: 1.25rem; }
.gt-widget-post-item { display: flex; gap: 1rem; color: inherit; }
.gt-widget-post-img { width: 5rem; height: 5rem; object-fit: cover; border-radius: 0.5rem; flex-shrink: 0; }
.gt-widget-post-title { font-family: var(--font-serif); font-size: 1rem; font-weight: 700; margin: 0 0 0.25rem; color: var(--brand-dark); transition: color 0.2s; }
.gt-widget-post-item:hover .gt-widget-post-title { color: var(--brand-red); }
.gt-widget-post-meta { font-size: 0.75rem; color: #9ca3af; }

/* Don't miss – elkülönülő cikkajánló (1 kiemelt + 2 kisebb) */
.gt-widget-dont-miss {
  background: linear-gradient(180deg, rgba(225, 29, 72, 0.06) 0%, rgba(5, 150, 105, 0.04) 100%);
  border: 1px solid rgba(225, 29, 72, 0.15);
  border-radius: 1rem;
  padding: 1.25rem;
  border-left: 4px solid var(--brand-red);
}
.gt-widget-dont-miss-title {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin: 0 0 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.gt-widget-dont-miss-title::before {
  content: '';
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--brand-red);
}
.gt-widget-dont-miss-featured {
  display: block;
  color: inherit;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  margin-bottom: 1rem;
  transition: box-shadow 0.2s, transform 0.2s;
}
.gt-widget-dont-miss-featured:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.gt-widget-dont-miss-featured-img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  display: block;
}
.gt-widget-dont-miss-featured-body { padding: 1rem; }
.gt-widget-dont-miss-featured-title {
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--brand-dark);
  transition: color 0.2s;
}
.gt-widget-dont-miss-featured:hover .gt-widget-dont-miss-featured-title { color: var(--brand-red); }
.gt-widget-dont-miss-excerpt { font-size: 0.8125rem; color: #6b7280; margin: 0 0 0.5rem; line-height: 1.45; }
.gt-widget-dont-miss-meta { font-size: 0.75rem; color: #9ca3af; }
.gt-widget-dont-miss-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  color: inherit;
  transition: background 0.2s;
}
.gt-widget-dont-miss-item:last-child { border-bottom: none; }
.gt-widget-dont-miss-item:hover { background: rgba(255, 255, 255, 0.6); border-radius: 0.5rem; }
.gt-widget-dont-miss-thumb {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: cover;
  border-radius: 0.5rem;
  flex-shrink: 0;
}
.gt-widget-dont-miss-item-title {
  font-family: var(--font-serif);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--brand-dark);
  transition: color 0.2s;
}
.gt-widget-dont-miss-item:hover .gt-widget-dont-miss-item-title { color: var(--brand-green); }

/* Discover more – zöld hangsúly, számozott lista (Latest helyett) */
.gt-widget-discover {
  background: linear-gradient(180deg, rgba(5, 150, 105, 0.06) 0%, rgba(15, 23, 42, 0.04) 100%);
  border: 1px solid rgba(5, 150, 105, 0.2);
  border-radius: 1rem;
  padding: 1.25rem;
  border-left: 4px solid var(--brand-green);
}
.gt-widget-discover-title {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--brand-dark);
  margin: 0 0 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.gt-widget-discover-title::before {
  content: '';
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--brand-green);
}
.gt-widget-discover-list { display: flex; flex-direction: column; gap: 0.75rem; }
.gt-widget-discover-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem;
  border-radius: 0.5rem;
  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  color: inherit;
  transition: box-shadow 0.2s, transform 0.2s;
}
.gt-widget-discover-item:hover {
  box-shadow: 0 4px 12px rgba(5, 150, 105, 0.15);
  transform: translateX(4px);
}
.gt-widget-discover-num {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background: var(--brand-green);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.gt-widget-discover-img {
  width: 4rem;
  height: 4rem;
  object-fit: cover;
  border-radius: 0.5rem;
  flex-shrink: 0;
}
.gt-widget-discover-body { flex: 1; min-width: 0; }
.gt-widget-discover-heading {
  font-family: var(--font-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  margin: 0 0 0.25rem;
  color: var(--brand-dark);
  transition: color 0.2s;
}
.gt-widget-discover-item:hover .gt-widget-discover-heading { color: var(--brand-green); }
.gt-widget-discover-meta { font-size: 0.75rem; color: #9ca3af; }

.gt-widget-newsletter {
  background: var(--brand-dark);
  color: #fff;
  border-radius: 1rem;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}
.gt-widget-newsletter .gt-newsletter-icon {
  width: 3.5rem;
  height: 3.5rem;
  background: var(--brand-red);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  margin: 0 auto 1rem;
  box-shadow: 0 4px 14px rgba(225,29,72,0.3);
}
.gt-newsletter-title { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 700; margin: 0 0 0.5rem; text-align: center; }
.gt-newsletter-desc { color: #d1d5db; font-size: 0.875rem; margin: 0 0 1.5rem; text-align: center; line-height: 1.5; }
.gt-newsletter-form { display: flex; flex-direction: column; gap: 0.75rem; }
.gt-newsletter-input {
  width: 100%;
  padding: 0.75rem 1rem;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 8px;
  color: #fff;
  font-size: 1rem;
  text-align: center;
}
.gt-newsletter-input::placeholder { color: #9ca3af; }
.gt-newsletter-btn { width: 100%; }
.gt-newsletter-note { font-size: 0.75rem; color: #6b7280; margin: 1rem 0 0; text-align: center; }
.gt-tagcloud { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.gt-tag {
  background: #f3f4f6;
  color: #4b5563;
  font-size: 0.875rem;
  padding: 0.375rem 0.75rem;
  border-radius: 6px;
  transition: background 0.2s, color 0.2s;
}
.gt-tag:hover { background: var(--brand-green); color: #fff; }

/* Single post */
.gt-single { background: #fff; border-radius: 1.5rem; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.08); border: 1px solid #f3f4f6; }
.gt-single-featured { position: relative; height: 20rem; }
@media (min-width: 768px) {
  .gt-single-featured { height: 500px; }
}
.gt-single-img { width: 100%; height: 100%; object-fit: cover; }
.gt-single-badges { position: absolute; top: 1.5rem; left: 1.5rem; display: flex; gap: 0.5rem; flex-wrap: wrap; }
.gt-single-body { padding: 1.5rem; }
@media (min-width: 768px) {
  .gt-single-body { padding: 2.5rem 3rem; }
}
.gt-breadcrumb-light .gt-breadcrumb-current { color: var(--brand-dark); }
.gt-single-title { font-family: var(--font-serif); font-size: 2.25rem; font-weight: 700; margin: 0 0 1.5rem; line-height: 1.2; color: var(--brand-dark); }
@media (min-width: 768px) {
  .gt-single-title { font-size: 3rem; }
}
.gt-single-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #e5e7eb;
  font-size: 0.875rem;
  color: #6b7280;
}
.gt-single-author { display: flex; align-items: center; gap: 0.75rem; }
.gt-single-avatar { border-radius: 50%; }
.gt-single-author-name { font-weight: 700; color: var(--brand-dark); }
.gt-single-content { font-size: 1.125rem; line-height: 1.8; }
.gt-single-content p { margin-bottom: 1.5rem; color: #374151; }
.gt-single-content h2 { font-family: var(--font-serif); font-size: 2rem; font-weight: 700; color: var(--brand-dark); margin-top: 2.5rem; margin-bottom: 1rem; }
.gt-single-content h3 { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 600; color: var(--brand-dark); margin-top: 2rem; margin-bottom: 0.75rem; }
.gt-single-content ul { list-style: disc; padding-left: 1.5rem; margin-bottom: 1.5rem; color: #374151; }
.gt-single-content li { margin-bottom: 0.5rem; }
.gt-single-content blockquote { margin: 2rem 0; padding: 1rem 1.5rem; border-left: 4px solid var(--brand-red); background: rgba(225,29,72,0.05); border-radius: 0 8px 8px 0; font-style: italic; font-size: 1.25rem; color: var(--brand-dark); font-family: var(--font-serif); }
.gt-single-content > p:first-of-type::first-letter { font-family: var(--font-serif); font-size: 4rem; float: left; line-height: 1; padding-right: 0.75rem; color: var(--brand-green); font-weight: 700; }
/* Linkek a cikk/oldal tartalomban – jól megkülönböztethetők a szövegtől */
.gt-single-content a,
.gt-page-content a,
.article-body a {
  color: var(--brand-green);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: color 0.2s;
}
.gt-single-content a:hover,
.gt-page-content a:hover,
.article-body a:hover {
  color: var(--brand-green-dark);
}
.gt-single-tags { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #e5e7eb; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.gt-single-tags-label { font-weight: 700; color: var(--brand-dark); margin-right: 0.25rem; }
.gt-single-tags-list a { background: #f3f4f6; color: #4b5563; font-size: 0.875rem; padding: 0.375rem 0.75rem; border-radius: 6px; margin-right: 0.25rem; transition: background 0.2s, color 0.2s; }
.gt-single-tags-list a:hover { background: var(--brand-green); color: #fff; }
.gt-single-share { margin-top: 2rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.gt-single-share-label { font-weight: 700; color: var(--brand-dark); }
.gt-share-btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: transform 0.2s, opacity 0.2s;
}
.gt-share-btn:hover { transform: translateY(-2px); opacity: 0.9; }
.gt-share-fb { background: #1877F2; }
.gt-share-tw { background: #1DA1F2; }
.gt-share-pin { background: #E60023; }
.gt-share-wa { background: #25D366; }
.gt-related { margin-top: 3rem; }
.gt-related-title { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 700; margin: 0 0 1.5rem; color: var(--brand-dark); padding-left: 1rem; border-left: 4px solid var(--brand-green); }
.gt-related-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) {
  .gt-related-grid { grid-template-columns: repeat(2, 1fr); }
}
.gt-related-card a { display: block; color: inherit; }
.gt-related-img { width: 100%; height: 192px; object-fit: cover; transition: transform 0.3s; }
.gt-related-card:hover .gt-related-img { transform: scale(1.05); }
.gt-related-body { padding: 1.25rem; }
.gt-related-card-title { font-family: var(--font-serif); font-size: 1.25rem; font-weight: 700; margin: 0 0 0.5rem; transition: color 0.2s; }
.gt-related-card:hover .gt-related-card-title { color: var(--brand-green); }
.gt-related-meta { font-size: 0.75rem; color: #9ca3af; }

/* Search header */
.gt-search-header { margin-bottom: 2rem; }
.gt-search-form-inline { display: flex; gap: 0.5rem; margin-top: 1rem; max-width: 32rem; }
.gt-search-form-inline .gt-input { flex: 1; }

/* 404 */
.gt-404 { text-align: center; padding: 4rem 1rem; }
.gt-404-title { font-family: var(--font-serif); font-size: 6rem; font-weight: 700; color: var(--brand-green); margin: 0 0 1rem; }
.gt-404-text { font-size: 1.25rem; color: #4b5563; margin: 0 0 1.5rem; }

/* ===== Page (static) ===== */
.gt-page { background: #fff; border-radius: 1.5rem; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.08); border: 1px solid #f3f4f6; }
.gt-page-featured { position: relative; height: 16rem; }
@media (min-width: 768px) {
  .gt-page-featured { height: 320px; }
}
.gt-page-img { width: 100%; height: 100%; object-fit: cover; }
.gt-page-body { padding: 1.5rem; }
@media (min-width: 768px) {
  .gt-page-body { padding: 2.5rem 3rem; }
}
.gt-page-title { font-family: var(--font-serif); font-size: 2rem; font-weight: 700; margin: 0 0 1rem; color: var(--brand-dark); }
@media (min-width: 768px) {
  .gt-page-title { font-size: 2.5rem; }
}
.gt-page-content { font-size: 1.0625rem; line-height: 1.75; }
.gt-page-content p { margin-bottom: 1.25rem; color: #374151; }
.gt-page-links { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #e5e7eb; font-size: 0.875rem; color: #6b7280; }

/* ===== Attachment ===== */
.gt-content-narrow { max-width: 48rem; margin: 0 auto; padding: 2rem 0; }
.gt-attachment-title { font-family: var(--font-serif); font-size: 1.75rem; font-weight: 700; margin: 0 0 1rem; color: var(--brand-dark); }
.gt-attachment-media { margin: 1.5rem 0; text-align: center; }
.gt-attachment-img { max-width: 100%; height: auto; border-radius: 0.5rem; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.gt-attachment-download { display: inline-flex; align-items: center; gap: 0.5rem; }
.gt-attachment-caption { margin-top: 1rem; font-size: 0.9375rem; color: #6b7280; }

/* ===== Author archive header ===== */
.gt-author-header-inner { display: flex; flex-direction: column; gap: 1rem; align-items: flex-start; }
@media (min-width: 640px) {
  .gt-author-header-inner { flex-direction: row; align-items: center; gap: 1.5rem; }
}
.gt-author-avatar { border-radius: 50%; border: 3px solid rgba(255,255,255,0.2); }

/* ===== Comments ===== */
.gt-comments { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #e5e7eb; }
.gt-comments-title { font-family: var(--font-serif); font-size: 1.5rem; font-weight: 700; margin: 0 0 1.5rem; color: var(--brand-dark); }
.gt-comment-list { list-style: none; padding: 0; margin: 0 0 2rem; }
.gt-comment { margin-bottom: 1.5rem; }
.gt-comment-body { background: #f9fafb; border-radius: 0.5rem; padding: 1rem 1.25rem; border: 1px solid #f3f4f6; }
.gt-comment-meta { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; }
.gt-comment-avatar { border-radius: 50%; }
.gt-comment-author { font-size: 0.9375rem; color: var(--brand-dark); }
.gt-comment-date { font-size: 0.8125rem; color: #6b7280; display: block; margin-top: 0.125rem; }
.gt-comment-content { font-size: 0.9375rem; line-height: 1.6; color: #374151; }
.gt-comment-content p { margin: 0 0 0.5rem; }
.gt-comment-content p:last-child { margin-bottom: 0; }
.gt-comment .reply { margin-top: 0.5rem; }
.gt-comment .reply a { font-size: 0.875rem; color: var(--brand-green); font-weight: 500; }
.gt-comments-closed { color: #6b7280; font-size: 0.9375rem; margin: 1rem 0; }
.gt-comment-form .comment-form-author,
.gt-comment-form .comment-form-email,
.gt-comment-form .comment-form-comment { margin-bottom: 1rem; }
.gt-comment-form label { display: block; font-weight: 500; margin-bottom: 0.25rem; color: var(--brand-dark); }
.gt-comment-form input[type="text"],
.gt-comment-form input[type="email"],
.gt-comment-form textarea { width: 100%; padding: 0.5rem 0.75rem; border: 1px solid #e5e7eb; border-radius: 6px; font-family: var(--font-sans); }
.gt-comment-form .form-submit { margin-top: 1rem; }
.gt-comment-form .submit { padding: 0.5rem 1.25rem; background: var(--brand-green); color: #fff; border: none; border-radius: 9999px; font-weight: 500; cursor: pointer; transition: background 0.2s; }
.gt-comment-form .submit:hover { background: var(--brand-green-dark); }

/* Back to top – bal alsó sarok */
.gt-back-to-top {
  position: fixed;
  bottom: 1.5rem;
  left: 1.5rem;
  z-index: 50;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  background: var(--brand-green);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(5, 150, 105, 0.4);
  transition: background 0.2s, transform 0.2s, opacity 0.2s;
  opacity: 0;
  visibility: hidden;
}
.gt-back-to-top.visible {
  opacity: 1;
  visibility: visible;
}
.gt-back-to-top:hover {
  background: var(--brand-green-dark);
  color: #fff;
  transform: translateY(-2px);
}
.gt-back-to-top i { font-size: 1.125rem; }
