/*
Theme Name: Airsoft Club Light (Infire)
Theme URI: https://example.com
Author: ChatGPT
Author URI: https://example.com
Description: Svetla, pregledna WordPress tema za airsoft društvo. Domača stran: Hero + sekcije (O nas / Začetniki / Airsoft / Dogodki / Galerija / Social / Lokacija / Sponzorji).
Version: 1.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: airsoft-club
Tags: custom-logo, custom-menu, one-column, featured-images, translation-ready
*/

:root{
  --bg:#ffffff;
  --soft:#f6f7fb;
  --panel:#ffffff;
  --text:#0e1726;
  --muted:#5a6b84;
  --line: rgba(14,23,38,.10);
  --shadow: 0 16px 40px rgba(14,23,38,.10);
  --radius: 18px;
  --max: 1180px;
  --pad: 18px;
  --pad2: 28px;
  --accent:#0d6efd;    /* green */
  --accent2:#111827;   /* amber */
  --accent3:#1e3a8a;   /* blue */
  --font: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--font);
  background:
    radial-gradient(900px 600px at 10% 0%, rgba(31,138,112,.10), transparent 60%),
    radial-gradient(900px 600px at 95% 5%, rgba(241,176,0,.10), transparent 55%),
    var(--bg);
  color:var(--text);
  line-height:1.65;
}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--line);
}
.header-inner{display:flex;align-items:center;gap:14px;min-height:76px}
.site-brand{display:flex;align-items:center;gap:12px}
.site-brand:hover{text-decoration:none}
.brand-mark{
  width:42px;height:42px;border-radius:14px;
  background: linear-gradient(135deg,var(--accent),var(--accent2));
  box-shadow: 0 14px 30px rgba(31,138,112,.18);
}
.brand-text{display:flex;flex-direction:column;line-height:1.1}
.brand-text strong{font-size:14px;letter-spacing:.2px;color:var(--text)}
.brand-text span{font-size:12px;color:var(--muted)}

.nav-toggle{
  margin-left:auto;
  border:1px solid var(--line);
  background:#fff;
  border-radius:14px;
  width:46px;height:46px;
  display:none;align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow: 0 10px 22px rgba(14,23,38,.06);
}
.nav-toggle span{display:block;width:18px;height:2px;background:var(--text);margin:2px 0;opacity:.9}

.main-nav{margin-left:auto}
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.main-nav a{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:14px;
  color:var(--text);
  border:1px solid transparent;
}
.main-nav a:hover{border-color:var(--line);background:rgba(14,23,38,.03);text-decoration:none}
.main-nav .menu-item-has-children{position:relative}
.main-nav .sub-menu{
  position:absolute;top:100%;left:0;
  min-width:230px;
  padding:10px;margin-top:10px;
  background:#fff;border:1px solid var(--line);
  border-radius:16px;box-shadow:var(--shadow);
  display:none;flex-direction:column;gap:6px;
}
.main-nav .menu-item-has-children:hover > .sub-menu{display:flex}
.main-nav .sub-menu a{width:100%}
.main-nav .cta a{
  background: linear-gradient(135deg,var(--accent),var(--accent2));
  color:#071018;
  border-color:transparent;
  font-weight:750;
}
.main-nav .cta a:hover{filter:brightness(1.03)}

/* Hero – bolj zračno */
.hero{
  padding: 64px 0 28px;
}
.hero-wrap{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 22px;
  align-items: stretch;
}
.hero-left{
  padding: 10px 0 0;
}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;color:var(--muted);
  letter-spacing:.22em;text-transform:uppercase;
}
.kicker:before{
  content:"";
  width:10px;height:10px;border-radius:4px;
  background: linear-gradient(135deg,var(--accent),var(--accent2));
}
.hero h1{
  margin: 12px 0 14px;
  font-size: clamp(30px, 3.3vw, 52px);
  line-height:1.08;
  letter-spacing:-.02em;
}
.hero p{
  margin:0 0 18px;
  color: var(--muted);
  font-size: 16px;
  max-width: 60ch;
}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding: 12px 14px;
  border-radius: 14px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--text);
  font-weight:700;
  box-shadow: 0 10px 22px rgba(14,23,38,.06);
}
.btn:hover{text-decoration:none;filter:brightness(1.01)}
.btn-primary{
  border-color:transparent;
  background: linear-gradient(135deg,var(--accent),var(--accent2));
}
.hero-right{
  border-radius: 22px;
  border:1px solid var(--line);
  background:#fff;
  box-shadow: var(--shadow);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.hero-media{
  min-height: 320px;
  background-size: cover;
  background-position: center;
}
.hero-info{
  padding: 18px 18px 20px;
}
.hero-cards{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}
.mini{
  border:1px solid var(--line);
  border-radius: 16px;
  padding: 14px;
  background: var(--soft);
}
.mini b{display:block;font-size:15px}
.mini span{display:block;color:var(--muted);font-size:12px;margin-top:4px}

/* Sections */
.section{padding: 30px 0}
.section.alt{background: linear-gradient(180deg, rgba(246,247,251,1), rgba(246,247,251,0)); border-top:1px solid rgba(14,23,38,.06)}
.section-title{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin: 0 0 14px;
}
.section-title h2{margin:0;font-size:24px;letter-spacing:-.01em}
.section-title p{margin:0;color:var(--muted);font-size:14px}

.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.card{
  border:1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
  background: #fff;
  box-shadow: 0 10px 22px rgba(14,23,38,.06);
}
.card h3{margin:0 0 8px;font-size:18px}
.card p{margin:0;color:var(--muted)}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.badge{
  border:1px solid var(--line);
  background: rgba(14,23,38,.03);
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  color:var(--muted);
}

.quick-links{
  display:flex;gap:10px;flex-wrap:wrap
}
.quick-links a{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:10px 12px;color:var(--text)}
.quick-links a:hover{text-decoration:none;background:#fff}

.map-embed{
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
  min-height: 340px;
  box-shadow: 0 10px 22px rgba(14,23,38,.06);
}
.sponsors{display:flex;gap:10px;flex-wrap:wrap}
.sponsors a{
  display:inline-flex;align-items:center;justify-content:center;
  padding:10px 12px;border:1px solid var(--line);
  border-radius: 999px;
  background:#fff;
  color:var(--muted);
  box-shadow: 0 10px 22px rgba(14,23,38,.05);
}
.sponsors a:hover{color:var(--text);text-decoration:none}

/* Footer */
.site-footer{
  border-top:1px solid var(--line);
  padding: 34px 0;
  margin-top: 24px;
  background: var(--soft);
}
.footer-grid{
  display:grid;grid-template-columns: 1.2fr .8fr .9fr;gap:16px
}
.footer-note{color:var(--muted);font-size:13px}
.footer-links ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.footer-links a{color:var(--muted)}
.footer-links a:hover{color:var(--text);text-decoration:none}
.smallprint{
  border-top:1px solid rgba(14,23,38,.08);
  margin-top:18px;
  padding-top:14px;
  color:var(--muted);
  font-size:12px;
  display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;
}

/* WP content */
.entry-content{padding: 20px 0 36px}
.entry-content .wp-block{max-width: 860px}
.entry-content h1, .entry-content h2, .entry-content h3{letter-spacing:-.01em}
.wp-block-separator{border-color:var(--line)}
.wp-block-image img{border-radius:16px}

/* Responsive */
@media (max-width: 980px){
  .hero-wrap{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .main-nav{display:none;position:absolute;left:0;right:0;top:76px;padding:14px 20px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}
  .main-nav ul{flex-direction:column;align-items:stretch}
  .main-nav .sub-menu{position:static;margin:6px 0 0;padding:8px;display:none}
  .main-nav .menu-item-has-children.open > .sub-menu{display:flex}
  .nav-toggle{display:flex}
  body.nav-open .main-nav{display:block}
}


/* News */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.news-card{overflow:hidden;padding:0}
.news-thumb{aspect-ratio: 16/9; background: var(--soft); border-bottom:1px solid var(--line); background-size:cover; background-position:center}
.news-body{padding:16px 18px 18px}
.news-meta{color:var(--muted);font-size:12px;margin:0 0 6px}
.news-title{margin:0 0 8px;font-size:18px;line-height:1.25}
.news-excerpt{margin:0;color:var(--muted)}
.news-actions{margin-top:14px}
@media (max-width: 980px){ .news-grid{grid-template-columns:1fr} }

/* === Social icons (Font Awesome) === */
.social-icons{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.social-icon{
  width:42px;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background: var(--accent); /* modra */
  color:#fff;
  border:1px solid rgba(17,24,39,.12);
  box-shadow: 0 10px 22px rgba(14,23,38,.06);
  transition:.18s ease;
}
.social-icon i{font-size:18px;line-height:1}
.social-icon:hover{
  background: var(--accent2); /* črna/temna */
  transform: translateY(-2px);
  text-decoration:none;
}

/* === Sponsors (logo cards) === */
.sponsor-logo{
  background:#fff;
  padding:14px 18px;
  border-radius:14px;
  border:1px solid rgba(17,24,39,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.18s ease;
  box-shadow: 0 10px 22px rgba(14,23,38,.05);
}
.sponsor-logo img{
  max-height:52px;
  max-width:140px;
  object-fit:contain;
  display:block;
}
.sponsor-logo:hover{
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(17,24,39,.12);
  text-decoration:none;
}

/* === Optional: make the site background match blue/black branding === */
body{
  background:
    radial-gradient(900px 600px at 10% 0%, rgba(13,110,253,.10), transparent 60%),
    radial-gradient(900px 600px at 95% 5%, rgba(17,24,39,.10), transparent 55%),
    var(--bg);
}
.brand-mark{
  box-shadow: 0 14px 30px rgba(13,110,253,.18);
}
/* Fix oversized logo */
.custom-logo-link img,
.site-brand img {
  max-height: 60px;   /* prilagodi 50–70px po želji */
  width: auto;
  height: auto;
  display: block;
}
/* === DTA Events – Mobile polish === */
@media (max-width: 980px){

  .dta-events-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .dta-events-grid .card{
    padding: 0;
    overflow: hidden;
  }

  .dta-events-grid .card img{
    height: 210px;
    object-fit: cover;
  }

  .dta-events-grid .card > div{
    padding: 18px 18px 20px;
  }

  .dta-events-grid .btn{
    width: 100%;
    justify-content: center;
  }
}
/* Force DTA events grid to full-width on mobile (override inline styles) */
@media (max-width: 980px){
  .dta-events-grid{
    grid-template-columns: 1fr !important;
    gap: 18px !important;
    justify-items: stretch;
  }

  .dta-events-grid article,
  .dta-events-grid .card{
    width: 100%;
  }

  .dta-events-grid .btn{
    width: 100%;
    justify-content: center;
  }
}
/* === DTA Event image fix === */
.dta-event-media img{
  width:100%;
  height:220px;        /* spremeni če hočeš manjše */
  object-fit:cover;
  display:block;
}

/* Mobile malo večja */
@media (max-width:980px){
  .dta-event-media img{
    height:200px;
  }
}
.dta-event-date{
  font-size:16px;
  font-weight:800;
  color:var(--accent);
  margin-bottom:6px;
}

.dta-status{
  position:absolute;
  top:12px;
  right:12px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:700;
  background:#fff;
}

.dta-status.upcoming{ color:#16a34a; }
.dta-status.past{ color:#9ca3af; }

/* === DTA Team cards === */
.dta-team-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
}
@media (max-width: 980px){
  .dta-team-grid{ grid-template-columns:1fr; gap:18px; }
}

.dta-member-card{ padding:0; overflow:hidden; }
.dta-member-media{
  position:relative;
  background: var(--soft);
}
.dta-member-media img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
}
@media (max-width: 980px){
  .dta-member-media img{ height:240px; }
}

.dta-member-placeholder{
  height:260px;
  background: linear-gradient(135deg, rgba(13,110,253,.10), rgba(17,24,39,.06));
}
.dta-member-rank{
  position:absolute;
  left:12px;
  top:12px;
  padding:8px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  background:#fff;
  border:1px solid var(--line);
  box-shadow: 0 10px 22px rgba(14,23,38,.10);
}

.dta-member-body{ padding:16px 18px 18px; }
.dta-member-name{ margin:0 0 10px; font-size:18px; line-height:1.2; }

.dta-member-meta{ display:flex; gap:10px; flex-wrap:wrap; }
.dta-member-lines{ margin-top:12px; color:var(--muted); font-size:14px; }
.dta-member-lines b{ color:var(--text); }

/* Header auth button */
.header-auth{
  margin-left: 12px;
  display:flex;
  align-items:center;
  gap:10px;
}

/* Mobile */
@media (max-width: 980px){
  .header-auth{
    margin-left:auto;
  }
}