@charset "utf-8";
/*
Theme Name: Dr. Novák Péter
Theme URI: https://drnovakpeter.hu
Author: tigaman
Author URI: https://tigaman.hu
Description: Egyedi, letisztult és akadálymentesített WordPress téma Dr. Novák Péter magánrendeléséhez.
Version: 2.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dr-novak-peter
*/


/* CSS Document */
/* plus-jakarta-sans-300 - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/plus-jakarta-sans-v12-latin_latin-ext-300.woff2') format('woff2');  
}

/* plus-jakarta-sans-regular - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/plus-jakarta-sans-v12-latin_latin-ext-regular.woff2') format('woff2');  
}

/* plus-jakarta-sans-500 - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/plus-jakarta-sans-v12-latin_latin-ext-500.woff2') format('woff2');  
}

/* plus-jakarta-sans-600 - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/plus-jakarta-sans-v12-latin_latin-ext-600.woff2') format('woff2');  
}

/* plus-jakarta-sans-700 - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/plus-jakarta-sans-v12-latin_latin-ext-700.woff2') format('woff2');  
}

/* plus-jakarta-sans-800 - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Plus Jakarta Sans';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/plus-jakarta-sans-v12-latin_latin-ext-800.woff2') format('woff2');  
}
/* space-grotesk-300 - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/space-grotesk-v22-latin_latin-ext-300.woff2') format('woff2');  
}

/* space-grotesk-regular - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/space-grotesk-v22-latin_latin-ext-regular.woff2') format('woff2');  
}

/* space-grotesk-500 - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/space-grotesk-v22-latin_latin-ext-500.woff2') format('woff2');  
}

/* space-grotesk-600 - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/space-grotesk-v22-latin_latin-ext-600.woff2') format('woff2');  
}

/* space-grotesk-700 - latin_latin-ext */
@font-face {
  font-display: swap; 
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/space-grotesk-v22-latin_latin-ext-700.woff2') format('woff2');  
}




    :root {
      --bg: #ffffff;
      --text: #0d0d0d;
      --muted: #666666;
      --border: #e2e2e2;
      --font-heading: 'Space Grotesk', sans-serif;
      --font-body: 'Plus Jakarta Sans', sans-serif;
    }

    * { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }

    body {
      font-family: var(--font-body);
      background-color: var(--bg);
      color: var(--text);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }

    /* --- Fejléc és Navigáció --- */
    header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: rgba(255, 255, 255, 0.95);
      backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--border);
    }

    header nav {
      max-width: 1100px;
      margin: 0 auto;
      padding: 1.1rem 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: relative;
    }

    header nav a {
      font-family: var(--font-heading);
      font-weight: 700;
      font-size: 0.95rem;
      color: var(--text);
      text-decoration: none;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }
header nav img {
  height: 40px;      /* <-- Állítsd be a neked tetsző fix magasságot (pl. 40px vagy 50px) */
  width: auto;       /* <-- Százalék helyett legyen auto, hogy ne torzuljon */
  display: block;
}
    header nav ul {
      display: flex;
      gap: 2.2rem;
      list-style: none;
    }

    header nav ul li a {
      font-size: 0.78rem;
      font-weight: 500;
      color: var(--muted);
      letter-spacing: 0.12em;  
	  white-space: nowrap;
    }

    header nav ul li a:hover {
      color: var(--text);
    }

    /* Rejtett kapcsoló checkbox mobilhoz */
    header nav input[type="checkbox"] {
      display: none;
    }

    /* Hamburger ikon (alapból rejtve mobilon kívül) */
    header nav label {
      display: none;
      cursor: pointer;
      flex-direction: column;
      justify-content: space-between;
      width: 26px;
      height: 18px;
      z-index: 1001;
    }

    header nav label span {
      display: block;
      width: 100%;
      height: 2px;
      background-color: var(--text);
      transition: transform 0.3s ease, opacity 0.3s ease;
    }

    /* --- Fő tartalom --- */
    main {
      max-width: 1100px;
      margin: 0 auto;
      padding: 4rem 2rem 8rem 2rem;
    }

section {
    padding: 100px 0;
    min-height: 100vh;
}

/* Az első section felső paddingjának kinullázása */
section:first-of-type {
    padding-top: 0;
}

    main section h2 {
      font-family: var(--font-heading);
      font-size: 1.4rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.15em;
      color: var(--muted);
      margin-bottom: 2rem;
      display: flex;
      align-items: center;
      gap: 1rem;
    }

    main section h2::after {
      content: '';
      width: 60px;
      height: 1px;
      background-color: var(--muted);
    }

    main h1 {
      font-family: var(--font-heading);
      font-size: clamp(1.8rem, 4vw, 2.6rem);
      font-weight: 700;
      text-transform: uppercase;
      line-height: 1.1;
      margin-bottom: 0.5rem;
    }

    main h3 {
      font-family: var(--font-heading);
      font-size: 1.1rem;
      font-weight: 600;
      text-transform: uppercase;
      margin-bottom: 0.3rem;
    }

    main p {
      font-size: 1rem;
      color: var(--text);
      margin-bottom: 1rem;
    }

    blockquote {
	border-right: 2px solid var(--text);
	padding-left: 1.25rem;
	margin: 1.5rem 0;
	font-size: 1.05rem;
	color: var(--text);
    }

    hr {
      border: none;
      height: 1px;
      background-color: var(--border);
      margin: 2rem 0;
    }

    main ul {
      list-style: none;
      padding: 0;
    }

    main ul li { padding: 1rem 0; }

    main ul li strong {
      font-family: var(--font-heading);
      font-size: 0.8rem;
      font-weight: 600;
      color: var(--muted);
      text-transform: uppercase;
      display: block;
      margin-bottom: 0.2rem;
    }

    main a {
      color: var(--text);
      text-decoration: underline;
      text-underline-offset: 4px;
    }



    section img {
      width: 100%;	max-width:400px;
      height: auto;
      display: block;

    }

/* --- Lábléc / Footer --- */
footer {
  border-top: 1px solid var(--border);
  background: var(--bg);
  padding: 2.5rem 0;
  margin-top: 4rem;
}

footer .footer-content {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
  color: var(--muted);
}
footer .footer-content a {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--text);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

footer p {
  margin: 0;
}

footer .designer-credit a {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--text);
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  position: relative;
  padding-bottom: 2px;
  transition: color 0.3s ease;
}

/* Animált aláhúzás effekt a tigaman linkre hoverkor */
footer .designer-credit a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background-color: var(--text);
  transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

footer .designer-credit a:hover::after {
  width: 100%;
}



/* ==========================================================================
   WordPress Core & Alignments (Modernizált)
   ========================================================================== */

/* Igazítások */
.alignnone {
  margin: 0.5rem 1.5rem 1.5rem 0;
}

.aligncenter {
  display: block;
  clear: both;
  margin-block: 0.5rem 1.5rem;
  margin-inline: auto;
}

.alignleft {
  float: left;
  margin: 0.5rem 1.5rem 1.5rem 0;
}

.alignright {
  float: right;
  margin: 0.5rem 0 1.5rem 1.5rem;
}

/* Képaláírások & HTML5 Figure (Gutenberg kompatibilis) */
.wp-caption,
figure.wp-caption {
  max-width: 100%;
  margin-bottom: 1.5rem;
}

.wp-caption img,
figure.wp-caption img {
  display: block;
  height: auto;
  max-width: 100%;
  margin-inline: auto;
}

.wp-caption-text,
figcaption.wp-caption-text {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  line-height: 1.4;
  color: #666;
  text-align: center;
}

/* Screen Reader Text (Akadálymentesítés / Accessible standard) */
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.screen-reader-text:focus {
  position: absolute !important;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 100000;
  display: block;
  width: auto !important;
  height: auto !important;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: normal;
  color: #111;
  background-color: #fff;
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  text-decoration: none;
  clip: auto !important;
  white-space: normal !important;
}


/* --- Responsive Mobil Menü Logika & Animációk --- */
    @media (max-width: 768px) {
      /* Hamburger ikon megjelenítése */

header nav img {
  height:  auto; /* A kívánt magasságra állítható */
  width:60%;
  display: block;
}

      header nav label {
        display: flex;
      }

      /* 1. Menü alapállapota (Rejtett, finom áttetszőség és eltolás) */
      header nav ul {
        display: flex;
        position: fixed;
        top: 58px;
        left: 0;
        width: 100%;
        height: calc(100vh - 58px);
        background-color: rgba(255, 255, 255, 0.97);
        backdrop-filter: blur(16px); /* Elegáns homályos háttér */
        -webkit-backdrop-filter: blur(16px);
        flex-direction: column;
        padding: 3.5rem 2rem;
        gap: 2rem;
        border-top: 1px solid var(--border);

        /* Animációs beállítások a bezáráshoz/nyitáshoz */
        opacity: 0;
        visibility: hidden;
        transform: translateY(-15px);
        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                    visibility 0.35s;
      }

      /* 2. Menüpontok alapállapota a lépcsőzetes beúszáshoz */
      header nav ul li {
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1),
                    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
      }

      /* Menüpont linkek & Élő eltolás effekt kattintáskor/hoverre */
      header nav ul li a {
        font-size: 1.25rem;
        font-weight: 600;
        color: var(--text);
        display: inline-block;
        transition: transform 0.25s ease, color 0.25s ease, letter-spacing 0.25s ease;
      }

      /* Kattintás / Touch / Hover effekt a menüpontokon */
      header nav ul li a:active,
      header nav ul li a:hover {
        transform: translateX(10px); /* Finoman jobbra mozdul */
        color: #000;
        letter-spacing: 0.16em;
      }

      /* 3. Nyitott állapot (Checkbox bepipálva) */
      header nav input[type="checkbox"]:checked ~ ul {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
      }

      /* Menüpontok egymás utáni (lépcsőzetes) beúszása nyitáskor */
      header nav input[type="checkbox"]:checked ~ ul li {
        opacity: 1;
        transform: translateY(0);
      }

      header nav input[type="checkbox"]:checked ~ ul li:nth-child(1) { transition-delay: 0.10s; }
      header nav input[type="checkbox"]:checked ~ ul li:nth-child(2) { transition-delay: 0.18s; }
      header nav input[type="checkbox"]:checked ~ ul li:nth-child(3) { transition-delay: 0.26s; }

      /* X ikon animáció a hamburgerből */
      header nav input[type="checkbox"]:checked ~ label span:nth-child(1) {
        transform: translateY(8px) rotate(45deg);
      }
      header nav input[type="checkbox"]:checked ~ label span:nth-child(2) {
        opacity: 0;
      }
      header nav input[type="checkbox"]:checked ~ label span:nth-child(3) {
        transform: translateY(-8px) rotate(-45deg);
      }

      main { padding: 2rem 1.25rem; }

      #dr-dr-novak-peter .alignleft {
        float: none;
        display: block;
        margin: 0 auto 20px auto;
        width: 100%;
        height: auto;
      }	  
	  
    section img{ max-width: 100%; }
	  
	  
  footer .footer-content {
    flex-direction: column;
    gap: 0.8rem;
    text-align: center;
    padding: 0 1.25rem;
  }	  
    }
