/*------------------------------------------------------
*
* ZSOMBEYHD Website - Clean & Responsive CSS Stylesheet
*
* Készítette: huzsi.
* Utolsó frissítés: 2025.04.22.
*
* ------------------------------------------------------
* Áttekintés:
* Ez a CSS fájl tartalmazza a teljes stílusdefiníciót
* a Zsombey weboldalhoz, figyelembe véve a modern 
* designelveket, olvashatóságot és animációs élményt.
*
* A következő szekciókat tartalmazza:
* - Alap háttér és törzsbeállítások
* - Fejléc / Navigációs sáv (animált hullámmal)
* - Hero / Starter szekció (profilkép + nyíl animáció)
* - About szekció (tribal kerettel és szöveggel)
* - Setup szekció (dobozolt, bal/jobb oldalra pozícionált)
* - Social szekció (Twitch iframe és ikon linkek)
* - Lábléc (footer, hullám animációval)
*
* ------------------------------------------------------
* Reszponzív tervezés:
* - max-width: 768px: Tablet- és mobilnézet
* - max-width: 480px: Kis mobilkijelzők
*
* A tartalom skálázódik, a betűméret csökken, a 
* navigáció egymás alá rendeződik, az elemek paddingje csökken,
* az iframe és ikonok mérete optimalizált.
*
* Speciális figyelem: 
* A hullám animáció újrahasznosítva a navban és a footerben.
* Scroll arrow és tribal SVG animáció külön fájlban kezelve.
*
------------------------------------------------------*/


/* ============================== */
/* ======= ÁLTALÁNOS ALAPOK ==== */
/* ============================== */

body {
    margin: 0;
    background: url(../images/pattern.png) repeat center center fixed;
    background-size: 10%;
}
  
html {
    scroll-behavior: smooth;
}
  
/* ============================== */
/* ========== STARTER ========== */
/* ============================== */
  
.starter {
    background-color: #0c0c0c;
    background-image: url(../images/bg.png);
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
  
img#pfp {
    width: 60px;
    height: 60px;
    border-radius: 50%;
}
  
.scroll-down-arrow {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 30px;
    animation: bounce 2s infinite;
    opacity: 0.8;
    z-index: 5;
}
  
.scroll-down-arrow img {
    width: 100%;
    height: auto;
    filter: drop-shadow(0 0 4px #00ffcc88);
}
  
@keyframes bounce {
    0%, 100% { transform: translate(-50%, 0); }
    50% { transform: translate(-50%, 10px); }
}
  
/* ============================== */
/* ========== NAVBAR =========== */
/* ============================== */
  
nav.navbar {
    position: relative;
    background: #222;
    padding: 40px 0;
    text-align: center;
    z-index: 10;
    overflow: hidden;
}
  
nav.navbar ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: center;
    gap: 100px;
    position: relative;
    z-index: 2;
}
  
nav.navbar ul li a {
    text-decoration: none;
    font-family: "Funnel Display", sans-serif;
    font-size: 18px;
    font-weight: bold;
    color: #ccffdd;
    transition: color 0.3s;
}
  
nav.navbar ul li a:hover {
    color: #00ffcc;
}
  
nav.navbar .wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 200%;
    height: 60px;
    background: url('../images/wave.svg') repeat-x;
    background-size: contain;
    animation: wave 16s linear infinite;
    opacity: 0.2;
    z-index: 1;
}
  
@keyframes wave {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
  
/* ============================== */
/* ========== ABOUT ============ */
/* ============================== */
  
.tribal-border-wrapper {
    width: 100%;
    max-width: 900px;
    margin: 80px auto -20px auto;
    display: flex;
    justify-content: center;
    overflow: visible;
}
  
.tribal-border {
    width: 100%;
    max-width: 900px;
    height: auto;
    animation: tribal-reveal 5s ease-out forwards;
    filter: drop-shadow(0 0 10px #00ffcc88);
    opacity: 0;
}
  
@keyframes tribal-reveal {
    0% { stroke-dashoffset: 1000; opacity: 0; }
    20% { opacity: 1; }
    100% { stroke-dashoffset: 0; opacity: 1; }
}
  
#about {
    max-width: 800px;
    margin: 0 auto;
    padding: 60px 40px;
    background-color: rgba(0, 0, 0, 0.65);
    border: 2px solid #00ffcc33;
    border-radius: 12px;
    box-shadow: 0 0 20px #00ffcc22;
    position: relative;
    z-index: 10;
}
  
#about h2 {
    color: #ccffdd;
    font-size: 28px;
    text-align: center;
    font-family: "Charm", cursive;
    font-weight: 700;
    margin-bottom: 30px;
    text-shadow: 0 0 10px #00ffcc;
}
  
#about p {
    font-size: 16px;
    line-height: 1.7;
    text-align: justify;
    font-family: "Funnel Display", sans-serif;
    color: #ddd;
}
  
/* ============================== */
/* ========== SETUP ============ */
/* ============================== */
  
#setup {
    max-width: 1000px;
    margin: 80px auto;
    padding: 20px;
}

.section {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

.section.visible {
    opacity: 1;
    transform: translateY(0);
}
  
#setup .section {
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid #00ffcc33;
    border-radius: 12px;
    padding: 30px 40px;
    margin-bottom: 50px;
    box-shadow: 0 0 10px #00ffcc22;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
  
#setup .section:hover {
    transform: translateY(-4px);
    box-shadow: 0 0 25px #00ffcc66;
}
  
#setup .section h2 {
    color: #00ffcc;
    text-align: center;
    font-size: 24px;
    text-shadow: 0 0 10px #00ffcc99;
    margin-bottom: 20px;
    font-family: "Charm", cursive;
    font-weight: 700;
    letter-spacing: 1px;
}
  
#setup .section ul {
    list-style-type: none;
    padding-left: 0;
    margin: 0;
}
  
#setup .section li {
    margin-bottom: 8px;
    color: #ddd;
    font-size: 15px;
    line-height: 1.6;
    font-family: "Funnel Display", sans-serif;
}
  
#setup .section li strong {
    color: #ccffdd;
}
  
#setup .section.left {
    margin-left: 0;
    margin-right: auto;
    transform: translateX(-20px);
}
  
#setup .section.left:hover {
    transform: translate(-20px, -4px);
}
  
#setup .section.right {
    margin-right: 0;
    margin-left: auto;
    transform: translateX(20px);
}
  
#setup .section.right:hover {
    transform: translate(20px, -4px);
}
  
/* ============================== */
/* ========== SOCIAL =========== */
/* ============================== */
  
#social {
    text-align: center;
    padding: 60px 20px;
}
  
#social h2 {
    color: #ccffdd;
    font-family: "Charm", cursive;
    font-weight: 700;
    font-size: 28px;
    margin-bottom: 30px;
    text-shadow: 0 0 10px #00ffccaa;
}
  
.twitch-embed {
    margin: 0 auto;
    width: 500px;
    max-width: 100%;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 0 30px #6441a5bb, 0 0 10px #000 inset;
    background: linear-gradient(145deg, rgba(0,0,0,0.4), rgba(0,0,0,0.8));
    padding: 6px;
    backdrop-filter: blur(3px);
    border: 1px solid #6441a544;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
  
.twitch-embed:hover {
    transform: scale(1.01);
    box-shadow: 0 0 40px #a970ffcc, 0 0 10px #000 inset;
}
  
.social-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    margin-top: 30px;
    flex-wrap: wrap;
}
  
.social-icons a {
    font-size: 30px;
    color: #ccffdd;
    transition: transform 0.2s ease, color 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}
  
.social-icons a:hover {
    transform: scale(1.2);
    color: #00ffcc;
}

/* ============================== */
/* ========== FOOTER ========== */
/* ============================== */

footer.footer {
    position: relative;
    background: #222;
    padding: 40px 20px 60px; /* extra padding az animáció helyének */
    text-align: center;
    font-family: "Funnel Display", sans-serif;
    color: #ccffdd;
    font-size: 14px;
    overflow: hidden;
    z-index: 10;
}
  
footer.footer .bottom-wave {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 200%;
    height: 60px;
    background: url('../images/wave.svg') repeat-x;
    background-size: contain;
    animation: wave 16s linear infinite;
    opacity: 0.2;
    z-index: 1;
}
  
@keyframes wave {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
  
/* ============================== */
/* ===== RESPONSIVE DESIGN ===== */
/* ============================== */
  
@media screen and (max-width: 768px) {
    nav.navbar ul {
      flex-direction: column;
      gap: 20px;
    }
  
    .starter img#pfp {
      width: 50px;
      height: 50px;
    }
  
    #setup .section {
      padding: 20px;
      margin: 30px 10px;
    }
  
    .social-icons {
      gap: 15px;
      flex-wrap: wrap;
      justify-content: center;
    }
  
    .social-icons a {
      font-size: 24px;
    }
  
    .twitch-embed {
      width: 90%;
      margin: 0 auto;
      display: block;
    }
}
  
@media screen and (max-width: 480px) {
    #about,
    #setup .section {
      padding: 15px;
    }
  
    #about p {
      font-size: 14px;
    }
  
    nav.navbar ul {
      gap: 15px;
    }
  
    .footer-content p {
      font-size: 12px;
    }
  
    .social-icons {
      flex-direction: row;
      justify-content: center;
    }
}