/*
Theme Name: LV-TEAM
Theme URI: https://lvteam.hu
Author: LV-TEAM Kft.
Author URI: https://lvteam.hu
Description: Egyoldalas bemutatkozó téma az LV-TEAM Kft. részére — rendezvényszervezés és kommunikációs szolgáltatások. Hero, szolgáltatások, rólunk, valódi partnerlogós referenciák, dinamikus hírek és lábléc szekciókkal, HU/EN nyelvváltóval és stílusban illeszkedő blog (Hírek) oldalakkal.
Version: 1.3.5
Requires at least: 6.0
Tested up to: 6.7
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: lvteam
Tags: one-column, blog, custom-menu, translation-ready
*/

  :root{
    --navy: #1A3B8F;
    --navy-deep: #142E78;
    --cyan: #1FA9DC;
    --cyan-deep: #0F8FC7;
    --ink: #2B3447;
    --gray-text: #5B6575;
    --bg-soft: #F5F6F9;
    --card-border: #E8EBF1;
    --radius: 14px;
  }
  *{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    font-family:'Poppins', sans-serif;
    color: var(--ink);
    background: #FFFFFF;
    -webkit-font-smoothing: antialiased;
  }
  img{ display:block; max-width:100%; }
  a{ text-decoration:none; color:inherit; }

  .wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }

  /* ============ NAV ============ */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(255,255,255,0.94);
    backdrop-filter: blur(10px);
    border-bottom:1px solid transparent;
    transition: border-color .25s, box-shadow .25s;
  }
  header.scrolled{ border-bottom-color:var(--card-border); box-shadow:0 6px 24px rgba(20,46,120,0.06); }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    height:108px;
  }
  .nav-logo img{ height:62px; width:auto; }
  .nav-links{ display:flex; gap:38px; list-style:none; }
  .nav-links a{
    font-size:13.5px; font-weight:600; letter-spacing:.08em;
    color:var(--navy);
    padding:8px 0 10px;
    position:relative;
    transition:color .2s;
  }
  .nav-links a::after{
    content:""; position:absolute; left:0; right:100%; bottom:0;
    height:2.5px; background:var(--cyan);
    transition:right .25s ease;
  }
  .nav-links a:hover{ color:var(--cyan); }
  .nav-links a.active{ color:var(--cyan-deep); }
  .nav-links a.active::after, .nav-links a:hover::after{ right:0; }
  /* language switch */
  .nav-right{ display:flex; align-items:center; gap:26px; }
  .lang-switch{ display:flex; align-items:center; gap:2px; font-size:13px; font-weight:600; letter-spacing:.04em; }
  .lang-switch button{
    font-family:'Poppins',sans-serif;
    background:none; border:none; cursor:pointer;
    color:#9AA1AD; padding:6px 7px; border-radius:6px;
    font-size:13px; font-weight:600; letter-spacing:.04em;
    transition:color .2s, background .2s;
  }
  .lang-switch button:hover{ color:var(--cyan-deep); }
  .lang-switch button.active{ color:var(--navy); }
  .lang-switch .sep{ color:#CED3DC; }

  /* ============ HERO ============ */
  .hero{
    background:#FAFBFC url('assets/img/hero.png') center top / cover no-repeat;
    overflow:hidden;
    display:flex;
    align-items:center;
    aspect-ratio: 1774 / 887;
    min-height:480px;
  }
  .hero-copy{
    width:100%;
    max-width:1500px;
    margin:0 auto;
    padding:64px 48px 64px 96px;
  }
  .hero-copy h1{
    font-size: clamp(48px, 5.2vw, 74px);
    line-height:1.04;
    font-weight:700;
    letter-spacing:-0.01em;
    color:var(--navy);
  }
  .hero-copy h1 .accent{ color:var(--cyan); }
  .hero-copy p{
    margin-top:30px;
    font-size:17px; line-height:1.65;
    color:var(--gray-text);
    max-width:42ch;
    text-wrap:pretty;
  }

  /* buttons */
  .btn{
    display:inline-flex; align-items:center; gap:14px;
    font-family:'Poppins',sans-serif;
    font-size:13px; font-weight:600; letter-spacing:.1em;
    color:var(--cyan-deep);
    background:#fff;
    border:1.5px solid var(--cyan);
    border-radius:9px;
    padding:17px 28px;
    cursor:pointer;
    transition: background .2s, color .2s, box-shadow .2s, transform .2s;
  }
  .btn .arrow{ transition: transform .25s ease; font-size:16px; line-height:1; }
  .btn:hover{
    background:var(--cyan); color:#fff;
    box-shadow:0 10px 26px rgba(31,169,220,0.32);
    transform:translateY(-1px);
  }
  .btn:hover .arrow{ transform:translateX(5px); }
  .hero-copy .btn{ margin-top:42px; }

  /* ============ SECTION TITLES ============ */
  .sec-title{
    text-align:center;
    font-size:24px; font-weight:700; letter-spacing:.12em;
    color:var(--navy);
  }
  .sec-title::after{
    content:""; display:block;
    width:54px; height:3px; border-radius:2px;
    background:var(--cyan);
    margin:16px auto 0;
  }

  /* ============ SERVICES ============ */
  .services{ padding:96px 0 104px; background:#fff; }
  .services-grid{
    margin-top:64px;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:26px;
  }
  .card{
    background:#fff;
    border:1px solid var(--card-border);
    border-radius:var(--radius);
    padding:42px 30px 38px;
    text-align:center;
    box-shadow:0 4px 18px rgba(20,46,120,0.05);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(20,46,120,0.12);
    border-color:#CFE8F6;
  }
  .card img{
    height:60px; width:auto;
    margin:0 auto 26px;
    transition: transform .25s ease;
  }
  .card:hover img{ transform:scale(1.08); }
  .card h3{
    font-size:14.5px; font-weight:700; letter-spacing:.06em;
    color:var(--navy);
    margin-bottom:16px;
  }
  .card p{
    font-size:13.5px; line-height:1.7;
    color:var(--gray-text);
    text-wrap:pretty;
  }

  /* ============ ABOUT ============ */
  .about{ padding:0 0 96px; }
  .about-panel{
    background:var(--bg-soft);
    border-radius:28px;
    display:grid;
    grid-template-columns: minmax(380px, 44%) 1fr;
    align-items:center;
    gap:40px;
    padding:72px 64px;
    overflow:hidden;
  }
  .about-copy h2{
    font-size:24px; font-weight:700; letter-spacing:.12em;
    color:var(--navy);
  }
  .about-copy h2::after{
    content:""; display:block;
    width:54px; height:3px; border-radius:2px;
    background:var(--cyan);
    margin-top:14px;
  }
  .about-copy p{
    margin-top:28px;
    font-size:14.5px; line-height:1.8;
    color:var(--gray-text);
    text-align:justify;
    text-wrap:pretty;
  }
  .about-copy .btn{ margin-top:40px; }
  .about-img img{
    width:100%;
    mix-blend-mode:multiply;
  }

  /* ============ REFERENCES ============ */
  .refs{ padding:0 0 96px; }
  .refs-layout{
    margin-top:56px;
    display:grid;
    grid-template-columns: 1fr 300px;
    gap:48px;
    align-items:center;
  }
  .logo-marquee{ overflow:hidden; position:relative; }
  .logo-marquee::before, .logo-marquee::after{
    content:""; position:absolute; top:0; bottom:0; width:70px; z-index:2; pointer-events:none;
  }
  .logo-marquee::before{ left:0; background:linear-gradient(90deg,#fff,rgba(255,255,255,0)); }
  .logo-marquee::after{ right:0; background:linear-gradient(270deg,#fff,rgba(255,255,255,0)); }
  .logo-row{
    display:flex; gap:0;
    width:max-content;
    animation: marquee 32s linear infinite;
  }
  .logo-row.reverse{ animation-direction:reverse; }
  .logo-row + .logo-row{ margin-top:10px; }
  .logo-marquee:hover .logo-row{ animation-play-state:paused; }
  @keyframes marquee{
    from{ transform:translateX(0); }
    to{ transform:translateX(-50%); }
  }
  .plogo{
    flex:0 0 auto;
    height:92px; padding:0 40px;
    display:flex; align-items:center; justify-content:center;
  }
  .plogo img{
    max-height:50px; max-width:158px; width:auto; height:auto;
    object-fit:contain;
    filter:grayscale(1); opacity:.6;
    transition:filter .3s ease, opacity .3s ease;
    user-select:none; -webkit-user-drag:none;
  }
  .plogo:hover img{ filter:grayscale(0); opacity:1; }
  .download-card{
    border:1px solid var(--card-border);
    border-radius:var(--radius);
    padding:30px 28px;
    box-shadow:0 4px 18px rgba(20,46,120,0.05);
  }
  .download-card .dl-head{
    display:flex; align-items:center; gap:16px;
  }
  .download-card .dl-head svg{ flex:0 0 auto; }
  .download-card .dl-head span{
    font-size:13.5px; font-weight:700; letter-spacing:.06em;
    color:var(--navy); line-height:1.5;
  }
  .download-card .btn{
    margin-top:0; width:100%; justify-content:center;
    padding:14px 20px;
  }
  .dl-actions{ margin-top:24px; display:flex; flex-direction:column; gap:12px; }
  .btn.btn-ghost{
    background:var(--navy); color:#fff; border-color:var(--navy);
  }
  .btn.btn-ghost:hover{
    background:var(--navy-deep); border-color:var(--navy-deep); color:#fff;
    box-shadow:0 10px 26px rgba(20,46,120,0.28);
  }

  /* ============ CTA ============ */
  .cta{ padding:0 0 88px; }
  .cta-banner{
    position:relative;
    border-radius:22px;
    overflow:hidden;
    background:linear-gradient(95deg,#17C2E4, #1742C9);
    box-shadow:0 24px 50px rgba(23,66,201,0.25);
  }
  .cta-banner > img{
    position:absolute; inset:0;
    width:100%; height:100%;
    object-fit:cover;
  }
  .cta-inner{
    position:relative; z-index:1;
    text-align:center;
    padding:58px 40px 54px;
    color:#fff;
  }
  .cta-inner h2{ font-size:30px; font-weight:700; letter-spacing:.01em; }
  .cta-inner p{ margin-top:12px; font-size:15.5px; opacity:.95; }
  .btn-light{
    display:inline-flex; align-items:center; gap:12px;
    margin-top:28px;
    font-size:13px; font-weight:700; letter-spacing:.1em;
    color:var(--navy-deep);
    background:#fff;
    border:none; border-radius:9px;
    padding:15px 34px;
    cursor:pointer;
    transition: transform .2s, box-shadow .2s;
    box-shadow:0 10px 26px rgba(10,25,80,0.25);
  }
  .btn-light:hover{ transform:translateY(-2px); box-shadow:0 16px 34px rgba(10,25,80,0.35); }

  /* ============ NEWS ============ */
  .news{ padding:0 0 100px; }
  .news-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:52px; }
  .news-head .news-title h2{
    font-size:24px; font-weight:700; letter-spacing:.12em; color:var(--navy);
  }
  .news-head .news-title h2::after{
    content:""; display:block; width:54px; height:3px; border-radius:2px;
    background:var(--cyan); margin-top:16px;
  }
  .news-head .all-link{
    flex:0 0 auto;
    display:inline-flex; align-items:center; gap:10px;
    font-size:12.5px; font-weight:700; letter-spacing:.1em;
    color:var(--cyan-deep);
    padding-bottom:4px;
  }
  .news-head .all-link .arrow{ transition:transform .25s ease; }
  .news-head .all-link:hover .arrow{ transform:translateX(5px); }
  .news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
  .post-card{
    display:flex; flex-direction:column;
    background:#fff;
    border:1px solid var(--card-border);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:0 4px 18px rgba(20,46,120,0.05);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }
  .post-card:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(20,46,120,0.12);
    border-color:#CFE8F6;
  }
  .post-thumb{
    position:relative;
    aspect-ratio:16/10;
    background-size:cover; background-position:center;
  }
  .post-thumb.g1{ background-image:linear-gradient(135deg,#1742C9,#17C2E4); }
  .post-thumb.g2{ background-image:linear-gradient(135deg,#0F8FC7,#1A3B8F); }
  .post-thumb.g3{ background-image:linear-gradient(135deg,#1FA9DC,#142E78); }
  .post-cat{
    position:absolute; top:16px; left:16px;
    background:rgba(255,255,255,0.94);
    color:var(--navy);
    font-size:10.5px; font-weight:700; letter-spacing:.08em;
    padding:7px 12px; border-radius:6px;
  }
  .post-body{ padding:26px 26px 28px; display:flex; flex-direction:column; flex:1; }
  .post-date{ font-size:12px; font-weight:600; letter-spacing:.06em; color:#9AA1AD; }
  .post-body h3{
    margin-top:12px;
    font-size:18px; font-weight:700; line-height:1.35; color:var(--navy);
    letter-spacing:-0.005em;
    text-wrap:pretty;
  }
  .post-body p{
    margin-top:14px;
    font-size:13.5px; line-height:1.7; color:var(--gray-text);
    text-wrap:pretty;
  }
  .post-more{
    margin-top:auto; padding-top:20px;
    display:inline-flex; align-items:center; gap:9px;
    font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--cyan-deep);
  }
  .post-more .arrow{ transition:transform .25s ease; }
  .post-card:hover .post-more .arrow{ transform:translateX(5px); }

  /* ============ FOOTER ============ */
  footer{ border-top:1px solid var(--card-border); padding:56px 0 0; }
  .footer-grid{
    display:grid;
    grid-template-columns: 1fr 1.2fr 1fr;
    gap:48px;
    align-items:start;
  }
  .footer-logo img{ height:74px; width:auto; }
  .footer-nav{
    display:grid; grid-template-columns:1fr 1fr; gap:14px 40px;
    list-style:none;
    justify-self:center;
  }
  .footer-nav a{
    font-size:13px; font-weight:600; letter-spacing:.06em;
    color:var(--navy);
    transition:color .2s;
  }
  .footer-nav a:hover{ color:var(--cyan); }
  .footer-contact{ display:grid; gap:14px; justify-self:end; }
  .footer-contact .row{
    display:flex; align-items:center; gap:12px;
    font-size:13.5px; color:var(--gray-text);
  }
  .footer-contact a.row:hover{ color:var(--cyan-deep); }
  .footer-contact svg{ flex:0 0 auto; }
  .footer-bottom{
    margin-top:48px;
    border-top:1px solid var(--card-border);
    text-align:center;
    padding:20px 0;
    font-size:12.5px; color:#9AA1AD;
  }

  /* ============ REVEAL ANIMATION ============ */
  @media (prefers-reduced-motion: no-preference){
    .reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s ease, transform .7s ease; }
    .reveal.in{ opacity:1; transform:none; }
    .reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; } .reveal.d3{ transition-delay:.24s; }
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width: 1020px){
    .hero{ aspect-ratio:auto; background-position:right center; }
    .hero-copy{ padding:72px 32px; }
    .services-grid{ grid-template-columns:repeat(2,1fr); }
    .news-grid{ grid-template-columns:repeat(2,1fr); }
    .news-grid .post-card:nth-child(3){ display:none; }
    .about-panel{ grid-template-columns:1fr; padding:48px 36px; }
    .refs-layout{ grid-template-columns:1fr; }
    .download-card{ max-width:420px; margin:0 auto; }
    .footer-grid{ grid-template-columns:1fr; justify-items:center; text-align:center; }
    .footer-nav, .footer-contact{ justify-self:center; }
  }
  @media (max-width: 900px){
    .hero{
      background:#FFFFFF;
      aspect-ratio:auto;
      min-height:0;
    }
    .hero-copy{
      text-align:center;
      padding:72px 28px;
    }
    .hero-copy p{ margin-left:auto; margin-right:auto; }
  }
  @media (max-width: 640px){
    .nav-links{ display:none; }
    .services-grid{ grid-template-columns:1fr; }
    .cta-inner h2{ font-size:24px; }
    .news-grid{ grid-template-columns:1fr; }
    .news-grid .post-card:nth-child(3){ display:flex; }
    .news-head{ flex-direction:column; align-items:flex-start; gap:18px; }
  }

/* ============ BLOG / HÍREK OLDALAK ============ */
  .page-hero{ background:var(--bg-soft); padding:86px 0 70px; text-align:center; }
  .page-hero h1{ font-size:clamp(32px,4vw,44px); font-weight:700; color:var(--navy); letter-spacing:-0.01em; }
  .page-hero h1::after{ content:""; display:block; width:54px; height:3px; border-radius:2px; background:var(--cyan); margin:18px auto 0; }
  .page-hero p{ margin-top:18px; font-size:15.5px; color:var(--gray-text); max-width:54ch; margin-left:auto; margin-right:auto; text-wrap:pretty; }

  .blog-wrap{ padding:72px 0 100px; }
  .blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
  .blog-grid .post-card h3 a{ color:inherit; }
  .blog-empty{ text-align:center; color:var(--gray-text); font-size:15px; padding:40px 0; }
  .news-empty{
    border:1px dashed var(--card-border);
    border-radius:var(--radius);
    background:var(--bg-soft);
    text-align:center;
    padding:64px 32px;
  }
  .news-empty p{ font-size:15.5px; color:var(--gray-text); margin:0; }

  .blog-pager{ margin-top:56px; display:flex; justify-content:center; }
  .blog-pager .nav-links{ display:flex; gap:8px; align-items:center; height:auto; }
  .blog-pager .page-numbers{
    display:inline-flex; align-items:center; justify-content:center;
    min-width:42px; height:42px; padding:0 12px;
    border:1px solid var(--card-border); border-radius:9px;
    font-size:14px; font-weight:600; color:var(--navy);
    transition:background .2s,color .2s,border-color .2s;
  }
  .blog-pager .page-numbers:hover{ border-color:var(--cyan); color:var(--cyan-deep); }
  .blog-pager .page-numbers.current{ background:var(--navy); color:#fff; border-color:var(--navy); }

  /* single post */
  .single-hero{ background:var(--bg-soft); padding:72px 0 60px; }
  .single-hero-inner{ max-width:780px; }
  .single-back{ display:inline-block; font-size:12.5px; font-weight:700; letter-spacing:.08em; color:var(--cyan-deep); margin-bottom:22px; }
  .single-back:hover{ color:var(--navy); }
  .single-cat{ display:inline-block; background:#fff; color:var(--navy); font-size:10.5px; font-weight:700; letter-spacing:.08em; padding:7px 12px; border-radius:6px; }
  .single-hero h1{ margin-top:16px; font-size:clamp(30px,3.6vw,42px); line-height:1.18; font-weight:700; color:var(--navy); letter-spacing:-0.01em; text-wrap:pretty; }
  .single-meta{ margin-top:20px; display:flex; gap:10px; align-items:center; font-size:13px; font-weight:600; color:#9AA1AD; }
  .single-meta .dot{ color:#CED3DC; }

  .single-cover{ margin:-36px auto 0; max-width:980px; border-radius:18px; overflow:hidden; box-shadow:0 24px 50px rgba(20,46,120,0.14); }
  .single-cover img{ width:100%; height:auto; display:block; }

  .entry-content{ max-width:760px; margin:56px auto 0; font-size:16.5px; line-height:1.8; color:#34404F; }
  .entry-content > *{ margin-bottom:24px; }
  .entry-content h2{ font-size:26px; font-weight:700; color:var(--navy); margin-top:44px; letter-spacing:-0.01em; }
  .entry-content h3{ font-size:20px; font-weight:700; color:var(--navy); margin-top:32px; }
  .entry-content a{ color:var(--cyan-deep); text-decoration:underline; text-underline-offset:3px; }
  .entry-content img{ border-radius:14px; }
  .entry-content blockquote{
    border-left:3px solid var(--cyan); padding:6px 0 6px 26px; margin-left:0;
    color:var(--navy); font-size:19px; font-style:italic; line-height:1.6;
  }
  .entry-content ul, .entry-content ol{ padding-left:24px; }
  .entry-content li{ margin-bottom:10px; }

  .single-nav{ max-width:760px; margin:64px auto 0; padding-top:28px; border-top:1px solid var(--card-border); display:flex; justify-content:space-between; gap:24px; }
  .single-nav a{ font-size:13.5px; font-weight:600; color:var(--navy); max-width:46%; transition:color .2s; }
  .single-nav a:hover{ color:var(--cyan-deep); }
  .single-nav .next{ text-align:right; margin-left:auto; }

  @media (max-width:1020px){ .blog-grid{ grid-template-columns:repeat(2,1fr); } }
  @media (max-width:640px){ .blog-grid{ grid-template-columns:1fr; } .entry-content{ font-size:16px; } }

