@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

  :root{
    --red:#c9a227;
    --green:#0c3d2e;
    --black:#0e0e0e;
    --dark:#151515;
    --grey:#6b6b6b;
    --line:#e4e4e4;
    --font: 'Open Sans', Arial, sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  body{
    font-family: var(--font);
    color:var(--black);
    background:#fff;
    -webkit-font-smoothing:antialiased;
  }

  /* HEADER */
  header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 40px;
    border-bottom:1px solid var(--line);
    position:relative;
    z-index:10;
    background:#fff;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .logo-placeholder{
    width:52px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--green);
    color:var(--red);
    font-weight:800;
    font-size:20px;
    clip-path: polygon(50% 0%, 100% 20%, 100% 75%, 50% 100%, 0% 75%, 0% 20%);
  }
  .site-logo{
    height:56px;
    width:auto;
    display:block;
  }
  .brand-logo-link{
    display:flex;
    align-items:center;
  }
  .brand-text{
    display:flex;
    flex-direction:column;
    line-height:1.05;
  }
  .brand-text .name{
    font-size:26px;
    font-weight:800;
    letter-spacing:1px;
  }
  .brand-text .year{
    font-size:13px;
    color:var(--red);
    font-weight:700;
  }

  nav{
    display:flex;
    align-items:center;
    gap:34px;
  }
  nav a{
    text-decoration:none;
    color:var(--black);
    font-size:15px;
    font-weight:600;
    letter-spacing:.3px;
    display:flex;
    align-items:center;
    gap:4px;
    cursor:pointer;
    transition:color .15s;
  }
  nav a:hover{color:var(--red);}
  .caret{
    font-size:10px;
    color:var(--grey);
  }
  .nav-dropdown{
    position:relative;
    display:flex;
    align-items:center;
    /* Extend the hoverable box down through the visual gap below the link,
       so moving the cursor from the link to the menu doesn't lose :hover. */
    padding-bottom:14px;
    margin-bottom:-14px;
  }
  .nav-dropdown-menu{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:0 10px 24px rgba(0,0,0,.1);
    min-width:190px;
    padding:8px;
    z-index:30;
  }
  .nav-dropdown:hover .nav-dropdown-menu{
    display:block;
  }
  .nav-dropdown-menu a{
    display:flex;
    align-items:center;
    gap:9px;
    padding:9px 12px;
    border-radius:6px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    color:var(--black);
    white-space:nowrap;
  }
  .nav-dropdown-menu a:hover{
    background:#f4f5f4;
    color:var(--black);
  }
  .nav-dropdown-menu a .icon{
    display:block;
    flex-shrink:0;
    color:var(--grey);
  }

  /* Account dropdown sits at the far right edge of the header, so open it
     leftwards (align to its right edge) instead of the default left:0,
     otherwise it overflows past the viewport edge. */
  .account-dropdown{
    position:relative;
  }
  .account-dropdown .nav-dropdown-menu{
    left:auto;
    right:0;
  }

  .account{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:14px;
    font-weight:700;
    letter-spacing:.5px;
    color:var(--black);
    cursor:pointer;
  }
  .account .icon{display:block;}

  /* Click-to-open (touch-friendly) dropdowns, in addition to hover on desktop */
  .nav-dropdown.open > .nav-dropdown-menu{
    display:block;
  }

  /* Hamburger toggle button (hidden on desktop) */
  .nav-toggle{
    display:none;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    background:none;
    border:none;
    cursor:pointer;
    padding:0;
    flex-shrink:0;
  }
  .nav-toggle-bars{
    position:relative;
    display:block;
    width:22px;
    height:16px;
  }
  .nav-toggle-bars span{
    position:absolute;
    left:0;
    right:0;
    height:2px;
    background:var(--black);
    border-radius:2px;
    transition:transform .2s ease, opacity .2s ease, top .2s ease;
  }
  .nav-toggle-bars span:nth-child(1){top:0;}
  .nav-toggle-bars span:nth-child(2){top:7px;}
  .nav-toggle-bars span:nth-child(3){top:14px;}
  .nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(1){
    top:7px;
    transform:rotate(45deg);
  }
  .nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(2){
    opacity:0;
  }
  .nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(3){
    top:7px;
    transform:rotate(-45deg);
  }

  /* Per-row caret toggle button used only on mobile (desktop keeps the inline caret + hover) */
  .nav-caret-btn{
    display:none;
    background:none;
    border:none;
    cursor:pointer;
    align-items:center;
    justify-content:center;
  }

  /* HERO NEWS GRID */
  .news-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    min-height:78vh;
  }
  .news-card{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    color:#fff;
    min-height:520px;
    border-right:1px solid rgba(255,255,255,0.08);
    text-decoration:none;
    cursor:pointer;
  }
  .news-card[aria-disabled="true"]{
    cursor:default;
    pointer-events:none;
  }
  .news-card:last-child{border-right:none;}

  .news-card .media{
    position:absolute;
    inset:0;
    z-index:0;
    overflow:hidden;
  }
  .news-card .media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
  }
  .news-card:hover .media img{
    transform:scale(1.08);
  }
  .news-card .media::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.35) 45%, rgba(0,0,0,0.05) 70%);
  }
  .news-card .content{
    position:relative;
    z-index:1;
    padding:28px 26px 34px;
    transition:transform .35s ease;
  }
  .news-card:hover .content{
    transform:translateY(-10px);
  }
  .news-card .date{
    font-size:13px;
    opacity:.85;
    margin-bottom:10px;
    font-weight:600;
  }
  .news-card h2{
    font-size:22px;
    font-weight:800;
    line-height:1.25;
    margin-bottom:16px;
    letter-spacing:.2px;
  }
  .tag{
    display:inline-block;
    font-size:13px;
    font-weight:700;
    color:#fff;
    border-bottom:2px solid var(--red);
    padding-bottom:3px;
  }

  /* Κάρτα νέων χωρίς εικόνα: γκρι/πράσινο gradient αντί για σπασμένη εικόνα */
  .news-card.no-image .media{
    background:linear-gradient(160deg, var(--green) 0%, #1a1a1a 70%);
  }

  /* ΝΕΑ — αρχείο άρθρων */
  .archive-banner{
    background:var(--green);
    padding:34px 40px;
    text-align:center;
  }
  .archive-banner h1{
    color:#fff;
    font-size:30px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
  }

  .archive-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:34px;
    padding:40px;
    max-width:1320px;
    margin:0 auto;
  }
  .archive-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    text-decoration:none;
    color:inherit;
    border-radius:10px;
    overflow:hidden;
    box-shadow:0 2px 14px rgba(0,0,0,0.08);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .archive-card:hover{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(0,0,0,0.14);
  }
  .archive-card[aria-disabled="true"]{
    cursor:default;
    pointer-events:none;
  }
  .archive-card-media{
    position:relative;
    width:100%;
    aspect-ratio:16/10;
    overflow:hidden;
    background:linear-gradient(160deg, var(--green) 0%, #1a1a1a 70%);
  }
  .archive-card-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .5s ease;
  }
  .archive-card:hover .archive-card-media img{
    transform:scale(1.06);
  }
  .archive-card.no-image .archive-card-media{
    background:linear-gradient(160deg, var(--green) 0%, #1a1a1a 70%);
  }
  .archive-card-body{
    padding:22px 22px 26px;
    display:flex;
    flex-direction:column;
    flex:1;
  }
  .archive-card-tag{
    display:inline-block;
    font-size:12.5px;
    font-weight:800;
    letter-spacing:.4px;
    color:var(--red);
    text-transform:uppercase;
    margin-bottom:10px;
  }
  .archive-card h2{
    font-size:19px;
    font-weight:800;
    line-height:1.32;
    color:var(--black);
    margin-bottom:14px;
  }
  .archive-card-date{
    margin-top:auto;
    font-size:13px;
    color:var(--grey);
    font-weight:600;
  }

  .archive-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:6px 40px 60px;
  }

  @media (max-width:900px){
    .archive-grid{grid-template-columns:1fr 1fr;gap:24px;padding:28px;}
  }
  @media (max-width:600px){
    .archive-grid{grid-template-columns:1fr;padding:20px;gap:20px;}
    .archive-banner{padding:26px 20px;}
    .archive-banner h1{font-size:24px;}
  }

  footer.site-footer{
    background:var(--green);
    color:#e8ece9;
  }
  .footer-top{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:50px;
    max-width:1400px;
    margin:0 auto;
    padding:60px 40px 40px;
  }
  .footer-logo{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
  }
  .footer-site-logo{
    height:56px;
    width:auto;
    background:#fff;
    padding:6px 10px;
    border-radius:8px;
  }
  .footer-logo .brand-text .name{
    color:#fff;
    font-size:24px;
  }
  .footer-logo .brand-text .year{
    color:var(--red);
    font-size:12px;
  }
  .footer-tagline{
    font-size:14px;
    line-height:1.6;
    color:#c7d1cb;
    max-width:320px;
  }
  .footer-contact h4,
  .footer-social h4{
    color:#fff;
    font-size:15px;
    font-weight:700;
    letter-spacing:.3px;
    margin-bottom:18px;
  }
  .footer-contact ul{
    list-style:none;
  }
  .footer-contact li{
    display:flex;
    align-items:flex-start;
    gap:10px;
    font-size:14px;
    color:#c7d1cb;
    margin-bottom:14px;
    line-height:1.5;
  }
  .footer-contact li svg{
    flex-shrink:0;
    margin-top:1px;
    color:var(--red);
  }
  .social-icons{
    display:flex;
    gap:12px;
  }
  .social-icons a{
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    transition:background .15s, color .15s;
  }
  .social-icons a:hover{
    background:var(--red);
    color:#111;
  }
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,0.12);
    padding:18px 40px;
    text-align:center;
  }
  .footer-bottom p{
    font-size:13px;
    color:#a9b6ae;
  }

  @media (max-width: 800px){
    .footer-top{grid-template-columns:1fr;gap:34px;padding:44px 24px 30px;}
  }

  /* SECTION HEADER */
  .section-header{
    padding:40px 40px 8px;
    text-align:center;
  }
  .section-header h1{
    font-size:32px;
    font-weight:800;
    letter-spacing:.3px;
  }

  /* STOLI SECTION */
  .stoli-section{
    display:grid;
    grid-template-columns:520px 1fr;
    gap:56px;
    align-items:center;
    justify-content:center;
    padding:56px 40px 80px;
    max-width:1400px;
    margin:0 auto;
    text-align:center;
  }
  .stoli-media{
    border-radius:14px;
    overflow:hidden;
    aspect-ratio:1/1;
    margin:0 auto;
  }
  .stoli-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .stoli-text{
    padding-top:12px;
  }
  .stoli-text h2{
    font-size:28px;
    font-weight:800;
    margin-bottom:18px;
    letter-spacing:.2px;
  }
  .stoli-text p{
    font-size:16px;
    line-height:1.65;
    color:#2a2a2a;
    margin:0 auto 18px;
    max-width:640px;
  }
  .stoli-text ul{
    list-style:none;
    padding-left:0;
    margin:0 auto 18px;
    max-width:640px;
  }
  .stoli-text li{
    font-size:16px;
    line-height:1.65;
    color:#2a2a2a;
    margin-bottom:8px;
  }
  .stoli-text li strong{
    font-weight:800;
    color:var(--black);
  }

  @media (max-width: 1000px){
    .news-grid{grid-template-columns:1fr 1fr;}
    .stoli-section{grid-template-columns:1fr;}
    .stoli-media{max-width:520px;}

    header{flex-wrap:wrap;}
    .brand{order:1;}
    .nav-toggle{order:2;display:flex;}
    .account-dropdown,
    a.account{order:3;}

    .nav-toggle{display:flex;}

    nav{
      order:4;
      width:100%;
      flex-direction:column;
      align-items:stretch;
      gap:0;
      max-height:0;
      overflow:hidden;
      transition:max-height .25s ease;
    }
    nav.open{
      max-height:2000px;
      margin-top:14px;
      border-top:1px solid var(--line);
    }
    nav > a{
      width:100%;
      padding:14px 4px;
      border-bottom:1px solid var(--line);
    }
    .nav-dropdown{
      position:relative;
      width:100%;
      flex-wrap:wrap;
      padding-bottom:0;
      margin-bottom:0;
      border-bottom:1px solid var(--line);
    }
    .nav-dropdown > a{
      flex:1;
      width:auto;
      border-bottom:none;
      padding-right:8px;
    }
    .nav-dropdown > a .caret{display:none;}
    .nav-caret-btn{
      display:flex;
      width:44px;
      height:44px;
      flex-shrink:0;
    }
    .nav-dropdown.open .nav-caret-btn .caret{
      transform:rotate(180deg);
      display:inline-block;
    }
    .nav-dropdown-menu{
      display:none;
      position:static;
      width:100%;
      border:none;
      border-radius:0;
      box-shadow:none;
      min-width:0;
      padding:0 0 8px;
      background:#fafafa;
    }
    .nav-dropdown.open .nav-dropdown-menu{
      display:block;
    }
    .nav-dropdown-menu a{
      padding:11px 12px 11px 22px;
      border-radius:0;
    }

    .account-dropdown .nav-dropdown-menu{
      right:0;
      left:auto;
    }
  }
  @media (max-width:600px){
    .news-grid{grid-template-columns:1fr;}
    header{padding:14px 18px;}
    .section-header{padding:28px 20px 4px;}
    .stoli-section{padding:32px 20px 50px;gap:28px;}
    .agones-section{padding:32px 20px 50px;}
    .agones-grid{grid-template-columns:1fr;}
    .agones-watermark{display:none;}
    .news-card{min-height:380px;}
  }

  /* AGONES SECTION */
  .agones-section{
    position:relative;
    background:#eeeeee;
    padding:56px 40px 80px;
    overflow:hidden;
  }
  .agones-watermark{
    position:absolute;
    right:18px;
    top:0;
    bottom:0;
    display:flex;
    align-items:center;
    writing-mode:vertical-rl;
    font-size:64px;
    font-weight:800;
    letter-spacing:8px;
    color:#00000012;
    pointer-events:none;
  }
  .agones-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
    max-width:1400px;
    margin:0 auto;
    position:relative;
    z-index:1;
  }
  .match-card{
    background:#fff;
    border-radius:14px;
    padding:28px 30px 26px;
    box-shadow:0 2px 10px rgba(0,0,0,0.05);
  }
  .match-card h3{
    font-size:24px;
    font-weight:800;
    text-align:center;
    margin-bottom:20px;
  }
  .match-date{
    background:#f0f0f0;
    text-align:center;
    padding:10px;
    border-radius:6px;
    font-size:14px;
    color:#333;
    margin-bottom:26px;
  }
  .match-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:26px;
  }
  .team{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    flex:1;
  }
  .crest-placeholder{
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .crest-placeholder.has-logo{
    width:44px;
    border-radius:10px;
    background-color:#fff;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    border:1px solid var(--line);
  }
  .team-name{
    font-size:14px;
    font-weight:800;
    text-align:center;
  }
  .score{
    font-size:44px;
    font-weight:800;
    color:var(--red);
    padding:0 10px;
  }
  .vs{
    font-size:38px;
    font-weight:800;
    color:var(--red);
    padding:0 10px;
  }
  .match-footer{
    background:#f0f0f0;
    text-align:center;
    padding:12px;
    border-radius:6px;
    font-size:14px;
    color:#333;
  }
  .match-footer strong{
    font-weight:800;
    color:var(--black);
  }

  /* SXETIKA SECTION */
  .sxetika-section{
    display:grid;
    grid-template-columns:460px 1fr;
    gap:64px;
    align-items:center;
    justify-content:center;
    padding:70px 40px 90px;
    max-width:1400px;
    margin:0 auto;
    text-align:center;
  }

  .sxetika-media {
    border-radius:14px;
    overflow:hidden;
    aspect-ratio:1/1;
    margin:0 auto;
  }
  .sxetika-media img{
    width:100%;
    display:block;
    margin:0 auto;
  }
  .sxetika-text h2{
    font-size:30px;
    font-weight:800;
    letter-spacing:.3px;
    margin-bottom:18px;
  }
  .sxetika-text .lead{
    font-size:17px;
    font-weight:700;
    margin-bottom:18px;
  }
  .sxetika-text p{
    font-size:16px;
    line-height:1.65;
    color:#2a2a2a;
    margin:0 auto 18px;
    max-width:600px;
  }
  .sxetika-text .italic{
    font-style:italic;
  }
  .cta-btn{
    background:var(--green);
    color:#fff;
    border:none;
    padding:14px 28px;
    font-size:15px;
    font-weight:700;
    letter-spacing:.4px;
    border-radius:4px;
    cursor:pointer;
    font-family:var(--font);
  }
  .cta-btn:hover{
    background:#082a20;
  }

  @media (max-width: 1000px){
    .sxetika-section{grid-template-columns:1fr;}
    .sxetika-media{max-width:400px;}
  }
  @media (max-width:600px){
    .sxetika-section{padding:40px 20px 60px;gap:28px;}
    .gine-melos-section{padding:90px 20px;}
    .gine-melos-content h2{font-size:30px;}
  }

  /* GINE-MELOS SECTION */
  .gine-melos-section{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:130px 40px;
    overflow:hidden;
    isolation:isolate;
  }
  .gine-melos-media{
    position:absolute;
    inset:0;
    z-index:-2;
  }
  .gine-melos-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }
  .gine-melos-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.45) 50%, rgba(0,0,0,0.6) 100%);
    z-index:-1;
  }
  .gine-melos-content{
    text-align:center;
    color:#fff;
    max-width:700px;
  }
  .gine-melos-content h2{
    font-size:42px;
    font-weight:800;
    letter-spacing:1px;
    margin-bottom:14px;
  }
  .gine-melos-content p{
    font-size:15px;
    letter-spacing:1px;
    color:#e6e6e6;
    margin-bottom:26px;
  }
  .cta-btn.outline{
    background:var(--red);
    color:#111;
  }
  .cta-btn.outline:hover{
    background:#a8871f;
  }

  /* XORIGOI SECTION */
  .xorigoi-section{
    padding:70px 40px 90px;
    max-width:1400px;
    margin:0 auto;
  }
  .xorigoi-tier{
    margin-bottom:50px;
  }
  .xorigoi-tier:last-child{
    margin-bottom:0;
  }
  .xorigoi-tier h3{
    text-align:center;
    font-size:20px;
    font-weight:800;
    letter-spacing:.5px;
    margin-bottom:28px;
  }
  .xorigoi-row{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
  }
  .sponsor-box{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    justify-content:center;
    width:180px;
    min-height:110px;
    border:1px solid var(--line);
    border-radius:8px;
    padding:16px 12px;
    color:#333;
  }
  .sponsor-box.wide{
    width:280px;
    min-height:120px;
  }
  .sponsor-box span{
    font-size:13px;
    font-weight:700;
    text-align:center;
    color:#333;
  }
  .sponsor-box .sponsor-logo{
    max-width:100%;
    max-height:44px;
    object-fit:contain;
  }

  @media (max-width:600px){
    .xorigoi-section{padding:40px 20px 60px;}
    .sponsor-box{width:135px;min-height:96px;}
  }

  /* ============ AUTH PAGES (login/logout) ============ */
  .auth-section{
    min-height:calc(100vh - 300px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:70px 20px;
    background:#faf9f6;
  }
  .auth-card{
    width:100%;
    max-width:420px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:44px 40px;
    box-shadow:0 10px 30px rgba(0,0,0,0.05);
  }
  .auth-card .auth-crest{
    width:56px;
    height:56px;
    border-radius:50%;
    background:var(--green);
    color:var(--red);
    font-weight:800;
    font-size:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
    letter-spacing:.5px;
  }
  .auth-card h1{
    font-size:24px;
    font-weight:800;
    text-align:center;
    margin-bottom:6px;
    color:var(--black);
  }
  .auth-card .auth-sub{
    text-align:center;
    color:var(--grey);
    font-size:14px;
    margin-bottom:28px;
  }
  .auth-field{
    margin-bottom:18px;
  }
  .auth-field label{
    display:block;
    font-size:13px;
    font-weight:700;
    letter-spacing:.3px;
    margin-bottom:6px;
    color:var(--black);
  }
  .auth-field input{
    width:100%;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:6px;
    font-family:var(--font);
    font-size:14px;
    color:var(--black);
    background:#fff;
    transition:border-color .15s ease;
  }
  .auth-field input:focus{
    outline:none;
    border-color:var(--green);
  }
  .auth-submit{
    width:100%;
    background:var(--green);
    color:#fff;
    border:none;
    padding:13px 20px;
    font-size:15px;
    font-weight:700;
    letter-spacing:.4px;
    border-radius:6px;
    cursor:pointer;
    font-family:var(--font);
    margin-top:6px;
  }
  .auth-submit:hover{
    background:#082a20;
  }
  .auth-error{
    background:#fdecec;
    border:1px solid #f3b7b7;
    color:#a12626;
    font-size:13px;
    padding:10px 14px;
    border-radius:6px;
    margin-bottom:20px;
  }
  .auth-success{
    background:#eaf5ee;
    border:1px solid #b6ddc4;
    color:#1e6b40;
    font-size:13px;
    padding:10px 14px;
    border-radius:6px;
    margin-bottom:20px;
  }
  .auth-footnote{
    text-align:center;
    font-size:13px;
    color:var(--grey);
    margin-top:22px;
  }
  .auth-footnote a{
    color:var(--green);
    font-weight:700;
    text-decoration:none;
  }
  .auth-footnote a:hover{
    text-decoration:underline;
  }
  .auth-hint{
    text-align:center;
    font-size:12px;
    color:var(--grey);
    margin-top:14px;
  }

  /* ============ CONTACT PAGE ============ */
  .contact-map{
    width:100%;
    height:380px;
    background:#eee;
  }
  .contact-map iframe{
    width:100%;
    height:100%;
    display:block;
  }

  .contact-wrap{
    max-width:1180px;
    margin:0 auto;
    padding:50px 40px 80px;
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:36px;
    align-items:start;
  }

  .contact-info-card,
  .contact-form-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:36px;
    box-shadow:0 10px 30px rgba(0,0,0,0.05);
  }

  .contact-info-card{
    background:var(--green);
    color:#eef3ef;
    border:none;
  }
  .contact-info-card h2{
    font-size:21px;
    font-weight:800;
    color:#fff;
    margin-bottom:10px;
  }
  .contact-info-lead{
    font-size:14px;
    line-height:1.6;
    color:#cfe0d6;
    margin-bottom:28px;
  }
  .contact-info-list{
    list-style:none;
    display:flex;
    flex-direction:column;
    gap:20px;
    margin-bottom:32px;
  }
  .contact-info-list li{
    display:flex;
    align-items:flex-start;
    gap:14px;
  }
  .contact-info-list li div{
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  .contact-info-list li strong{
    font-size:13px;
    font-weight:700;
    color:#fff;
  }
  .contact-info-list li span{
    font-size:14px;
    color:#cfe0d6;
  }
  .contact-info-icon{
    flex-shrink:0;
    width:38px;
    height:38px;
    border-radius:50%;
    background:rgba(255,255,255,0.12);
    color:var(--red);
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .contact-social{
    display:flex;
    gap:12px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,0.15);
  }
  .contact-social a{
    width:36px;
    height:36px;
    border-radius:50%;
    background:rgba(255,255,255,0.12);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:background .15s ease;
  }
  .contact-social a:hover{
    background:var(--red);
    color:var(--green);
  }

  .contact-form-card h2{
    font-size:21px;
    font-weight:800;
    color:var(--black);
    margin-bottom:22px;
  }
  .contact-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
  }
  .contact-form textarea{
    width:100%;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:6px;
    font-family:var(--font);
    font-size:14px;
    color:var(--black);
    background:#fff;
    resize:vertical;
    transition:border-color .15s ease;
  }
  .contact-form textarea:focus{
    outline:none;
    border-color:var(--green);
  }
  .contact-submit{
    width:auto;
    padding:13px 34px;
    margin-top:4px;
  }

  @media (max-width:860px){
    .contact-wrap{grid-template-columns:1fr;padding:36px 24px 60px;}
    .contact-form-row{grid-template-columns:1fr;}
  }
  @media (max-width:600px){
    .contact-map{height:280px;}
  }

  /* ============ ADMIN AREA ============ */
  .admin-body{
    background:#f4f5f4;
    min-height:100vh;
    font-family:var(--font);
  }
  .admin-topbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 32px;
    background:var(--green);
    color:#fff;
    position:sticky;
    top:0;
    z-index:20;
  }
  .admin-topbar-left{
    display:flex;
    align-items:center;
    gap:16px;
  }
  .admin-sidebar-toggle{
    display:none;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border:none;
    border-radius:6px;
    background:rgba(255,255,255,.12);
    color:#fff;
    cursor:pointer;
  }
  .admin-sidebar-toggle:hover{
    background:rgba(255,255,255,.22);
  }
  .admin-topbar .brand{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .admin-topbar .logo-placeholder{
    width:38px;
    height:38px;
    border-radius:50%;
    background:var(--red);
    color:var(--green);
    font-weight:800;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:15px;
  }
  .admin-topbar .brand-text .name{
    display:block;
    font-weight:800;
    letter-spacing:.5px;
  }
  .admin-topbar .brand-text .tag{
    display:block;
    font-size:11px;
    color:#cfe3d8;
    letter-spacing:.5px;
    border-bottom:none;
    padding-bottom:0;
  }
  .admin-topbar .admin-user{
    display:flex;
    align-items:center;
    gap:16px;
    font-size:14px;
  }
  .admin-topbar .admin-user form{
    margin:0;
  }
  .admin-logout-btn{
    background:var(--red);
    color:var(--green);
    border:none;
    padding:8px 16px;
    border-radius:5px;
    font-weight:700;
    font-size:13px;
    cursor:pointer;
    font-family:var(--font);
  }
  .admin-logout-btn:hover{
    background:#a8871f;
  }
  .admin-layout{
    display:flex;
    align-items:flex-start;
    min-height:calc(100vh - 70px);
  }
  .admin-sidebar{
    width:230px;
    flex-shrink:0;
    background:#fff;
    border-right:1px solid var(--line);
    min-height:calc(100vh - 70px);
    position:sticky;
    top:70px;
    align-self:flex-start;
  }
  .admin-sidebar-nav{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    padding:20px 12px;
    gap:4px;
  }
  .admin-sidebar-nav a{
    display:block;
    width:100%;
    padding:11px 16px;
    border-radius:7px;
    color:var(--black);
    text-decoration:none;
    text-align:left;
    font-size:14px;
    font-weight:600;
  }
  .admin-sidebar-nav a:hover{
    background:#f1f3f1;
  }
  .admin-sidebar-nav a.active{
    background:var(--green);
    color:#fff;
  }
  .admin-sidebar-divider{
    border:none;
    border-top:1px solid var(--line);
    margin:10px 4px;
  }
  .admin-sidebar-view-site{
    display:flex !important;
    align-items:center;
    gap:9px;
    color:var(--green) !important;
  }
  .admin-sidebar-view-site svg{
    flex-shrink:0;
  }
  .admin-sidebar-view-site:hover{
    background:#eaf5ee;
  }
  .admin-main{
    flex:1;
    min-width:0;
    max-width:1100px;
    margin:0 auto;
    padding:44px 32px 80px;
  }
  .admin-main-wide{
    max-width:1500px;
  }
  @media (max-width: 860px){
    .admin-sidebar-toggle{
      display:flex;
    }
    .admin-sidebar{
      position:fixed;
      left:0;
      top:70px;
      bottom:0;
      z-index:19;
      transform:translateX(-100%);
      transition:transform .2s ease;
      box-shadow:2px 0 10px rgba(0,0,0,.08);
    }
    .admin-sidebar.open{
      transform:translateX(0);
    }
  }
  .admin-welcome h1{
    font-size:28px;
    font-weight:800;
    margin-bottom:8px;
    color:var(--black);
  }
  .admin-welcome p{
    color:var(--grey);
    font-size:15px;
    margin-bottom:36px;
  }
  .admin-stats{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
    gap:20px;
    margin-bottom:40px;
  }
  .admin-stat-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:22px 24px;
  }
  .admin-stat-card .stat-label{
    font-size:12px;
    letter-spacing:.4px;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:700;
    margin-bottom:10px;
  }
  .admin-stat-card .stat-value{
    font-size:30px;
    font-weight:800;
    color:var(--green);
  }
  .admin-panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:10px;
    padding:28px 30px;
  }
  .admin-panel h2{
    font-size:18px;
    font-weight:800;
    margin-bottom:16px;
    color:var(--black);
  }
  .admin-panel ul{
    list-style:none;
  }
  .admin-panel li{
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid var(--line);
    font-size:14px;
    color:#333;
  }
  .admin-panel li:last-child{
    border-bottom:none;
  }
  .admin-panel li .dot{
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--red);
    flex-shrink:0;
  }

  /* ============ ADMIN: buttons, page head, forms, table, flash ============ */
  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:11px 18px;
    border-radius:6px;
    border:1px solid transparent;
    font-family:var(--font);
    font-size:14px;
    font-weight:700;
    text-decoration:none;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease;
  }
  .btn-primary{
    background:var(--green);
    color:#fff;
  }
  .btn-primary:hover{
    background:#082a20;
  }
  .btn-ghost{
    background:#fff;
    color:var(--black);
    border-color:var(--line);
  }
  .btn-ghost:hover{
    background:#f4f5f4;
  }
  .btn-danger{
    background:#fdecec;
    color:#a12626;
    border-color:#f3b7b7;
  }
  .btn-danger:hover{
    background:#f9d7d7;
  }
  .btn-sm{
    padding:7px 12px;
    font-size:12.5px;
  }
  .btn svg{
    display:block;
  }
  .btn-icon{
    padding:7px;
    width:30px;
    height:30px;
  }

  .admin-page-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:24px;
  }
  .admin-page-head > div:first-child{
    flex:1;
    min-width:0;
  }
  .admin-page-head > .btn{
    flex-shrink:0;
    white-space:nowrap;
  }
  .admin-page-head h1{
    font-size:26px;
    font-weight:800;
    color:var(--black);
    margin-bottom:6px;
  }
  .admin-page-head p{
    color:var(--grey);
    font-size:14px;
  }

  .admin-flash{
    font-size:13px;
    padding:12px 16px;
    border-radius:6px;
    margin-bottom:20px;
  }
  .admin-flash-success{
    background:#eaf5ee;
    border:1px solid #b6ddc4;
    color:#1e6b40;
  }
  .admin-flash-error{
    background:#fdecec;
    border:1px solid #f3b7b7;
    color:#a12626;
  }
  .admin-flash-list{
    list-style:disc;
    margin-left:18px;
  }
  .admin-flash-list li{
    margin:2px 0;
  }

  .admin-form-panel{
    margin-bottom:28px;
  }
  .admin-form-panel h2{
    font-size:17px;
    font-weight:800;
    margin-bottom:18px;
    color:var(--black);
  }
  .admin-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:18px;
  }
  .admin-form-field label{
    display:block;
    font-size:13px;
    font-weight:700;
    margin-bottom:6px;
    color:var(--black);
  }
  .admin-form-field input[type="text"],
  .admin-form-field input[type="email"],
  .admin-form-field input[type="password"],
  .admin-form-field select{
    width:100%;
    height:46px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:8px;
    font-family:var(--font);
    font-size:14px;
    color:var(--black);
    background:#fff;
  }
  .admin-form-field input:focus,
  .admin-form-field select:focus{
    outline:none;
    border-color:var(--green);
  }
  .admin-form-checkbox-field{
    display:flex;
    align-items:flex-end;
  }
  .admin-checkbox{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:14px;
    font-weight:600;
    color:var(--black);
    cursor:pointer;
    padding-bottom:11px;
  }
  .admin-checkbox input{
    width:16px;
    height:16px;
  }
  .admin-form-actions{
    display:flex;
    gap:10px;
  }

  .admin-table-panel{
    padding:0;
    overflow:hidden;
  }
  .admin-table-wrap{
    overflow-x:auto;
  }
  .admin-table{
    width:100%;
    border-collapse:collapse;
    font-size:14px;
  }
  .admin-table th{
    text-align:left;
    font-size:11.5px;
    letter-spacing:.4px;
    text-transform:uppercase;
    color:var(--grey);
    font-weight:700;
    padding:14px 18px;
    border-bottom:1px solid var(--line);
    background:#fafafa;
  }
  .admin-table td{
    padding:14px 18px;
    border-bottom:1px solid var(--line);
    color:#333;
    vertical-align:middle;
  }
  .admin-table tbody tr:last-child td{
    border-bottom:none;
  }
  .admin-table-empty{
    text-align:center;
    color:var(--grey);
    padding:30px 18px;
  }
  .admin-table-actions-col{
    text-align:right;
  }
  .admin-table-actions{
    text-align:right;
    white-space:nowrap;
  }
  .admin-inline-form{
    display:inline-block;
    margin-left:8px;
  }
  .admin-you-tag{
    display:inline-block;
    margin-left:6px;
    font-size:10.5px;
    font-weight:700;
    color:var(--green);
    background:#eaf5ee;
    border-radius:4px;
    padding:2px 6px;
    text-transform:uppercase;
  }
  .admin-badge{
    display:inline-block;
    font-size:12px;
    font-weight:700;
    padding:4px 10px;
    border-radius:20px;
    background:#f1f1f1;
    color:#555;
  }
  .admin-badge-green{
    background:#eaf5ee;
    color:#1e6b40;
  }
  .admin-badge-blue{
    background:#eaf1fb;
    color:#2554a0;
  }

  /* ============ ADMIN: Αγώνες (match builder + cards) ============ */
  .match-form-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:20px;
  }
  .match-form-head h2{
    margin-bottom:0;
  }
  .match-type-toggle{
    display:inline-flex;
    background:#f1f1f1;
    border-radius:30px;
    padding:4px;
    gap:2px;
  }
  .match-type-btn{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border:none;
    background:transparent;
    color:var(--grey);
    font-family:var(--font);
    font-size:13px;
    font-weight:700;
    padding:8px 16px;
    border-radius:24px;
    cursor:pointer;
    transition:background .15s ease, color .15s ease;
  }
  .match-type-btn svg{
    flex-shrink:0;
  }
  .match-type-btn:hover{
    color:var(--black);
  }
  .match-type-btn.active.match-type-btn-next{
    background:#2554a0;
    color:#fff;
  }
  .match-type-btn.active.match-type-btn-prev{
    background:var(--green);
    color:#fff;
  }

  .match-builder{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:start;
    gap:18px;
    background:#fafafa;
    border:1px solid var(--line);
    border-radius:12px;
    padding:22px 24px;
    margin-bottom:8px;
  }
  .match-builder-side{
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .match-builder-label{
    font-size:11px;
    letter-spacing:.5px;
    text-transform:uppercase;
    font-weight:700;
    color:var(--grey);
  }
  .match-builder-side-away{
    text-align:right;
    align-items:flex-end;
  }
  .match-builder-team-row{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .match-builder-side-away .match-builder-team-row{
    flex-direction:row;
    align-self:stretch;
    width:100%;
  }
  .match-crest{
    flex-shrink:0;
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    background-color:#fff;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    border:1px solid var(--line);
    border-radius:10px;
  }
  .match-crest-picker{
    position:relative;
    width:48px;
    height:48px;
    padding:0;
    cursor:pointer;
    font-family:var(--font);
    transition:border-color .15s ease, box-shadow .15s ease;
  }
  .match-crest-picker:hover,
  .match-crest-picker:focus-visible{
    border-color:var(--green);
    box-shadow:0 0 0 3px rgba(12,61,46,.08);
    outline:none;
  }
  .match-crest-fallback{
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
  }
  .match-crest-edit-badge{
    position:absolute;
    right:-4px;
    bottom:-4px;
    width:18px;
    height:18px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--green);
    color:#fff;
    border:2px solid #fafafa;
    border-radius:50%;
  }
  .match-team-input{
    width:100%;
    flex:1;
    min-width:0;
    height:46px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:8px;
    font-family:var(--font);
    font-size:14px;
    font-weight:700;
    color:var(--black);
    background:#fff;
  }
  .match-builder-side-away .match-team-input{
    text-align:right;
  }
  .match-team-input:focus{
    outline:none;
    border-color:var(--green);
  }
  .match-builder-score-wrap{
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .match-builder-side-away .match-builder-score-wrap{
    align-items:flex-end;
  }
  .match-builder-score-wrap label{
    font-size:11.5px;
    color:var(--grey);
    font-weight:600;
  }
  .match-score-input{
    width:76px;
    height:46px;
    padding:12px 10px;
    border:1px solid var(--line);
    border-radius:8px;
    font-family:var(--font);
    font-size:16px;
    font-weight:800;
    text-align:center;
    color:var(--black);
    background:#fff;
  }
  .match-builder-side-away .match-score-input{
    align-self:flex-end;
  }
  .match-score-input:focus{
    outline:none;
    border-color:var(--green);
  }
  .match-builder-center{
    display:flex;
    align-items:center;
    justify-content:center;
    padding-top:28px;
  }
  .match-builder-vs{
    display:none;
    width:44px;
    height:44px;
    border-radius:50%;
    background:#fff;
    border:2px solid var(--red);
    color:var(--red);
    font-weight:800;
    font-size:13px;
    align-items:center;
    justify-content:center;
  }
  .match-builder-dash{
    display:none;
    font-size:26px;
    font-weight:800;
    color:var(--line);
  }
  .match-builder[data-type="next"] .match-builder-vs{
    display:flex;
  }
  .match-builder[data-type="next"] .match-builder-score-wrap{
    visibility:hidden;
  }
  .match-builder[data-type="previous"] .match-builder-dash{
    display:block;
  }
  .match-score-hint{
    margin-top:10px;
  }

  .admin-matches-empty{
    text-align:center;
    padding:56px 30px;
    color:var(--grey);
  }
  .admin-matches-empty svg{
    color:#c8c8c8;
    margin-bottom:14px;
  }
  .admin-matches-empty h2{
    font-size:17px;
    color:var(--black);
    margin-bottom:8px;
  }
  .admin-matches-empty p{
    font-size:14px;
    margin-bottom:20px;
  }

  .matches-admin-summary{
    font-size:13px;
    color:var(--grey);
    margin-bottom:16px;
  }
  .matches-admin-summary strong{
    color:var(--black);
  }
  .matches-admin-summary-dot{
    margin:0 6px;
  }

  .matches-admin-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(340px, 1fr));
    gap:18px;
  }
  .match-admin-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:12px;
    padding:20px 22px;
    transition:box-shadow .15s ease, border-color .15s ease;
  }
  .match-admin-card:hover{
    box-shadow:0 4px 16px rgba(0,0,0,0.06);
    border-color:#d8d8d8;
  }
  .match-admin-card-previous{
    border-top:3px solid var(--green);
  }
  .match-admin-card-next{
    border-top:3px solid #2554a0;
  }
  .match-admin-card-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:18px;
  }
  .match-admin-date{
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:12.5px;
    color:var(--grey);
    font-weight:600;
    text-align:right;
  }
  .match-admin-teams{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
    margin-bottom:18px;
  }
  .match-admin-team{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
  }
  .match-admin-team-away{
    text-align:right;
  }
  .match-admin-team .match-crest{
    width:32px;
    height:32px;
    border-radius:8px;
  }
  .match-admin-team .match-crest svg{
    width:19px;
    height:19px;
  }
  .match-admin-team-name{
    font-size:14px;
    font-weight:800;
    color:var(--black);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .match-admin-result{
    font-size:17px;
    font-weight:800;
    color:var(--black);
    background:#f4f4f4;
    border-radius:20px;
    padding:5px 14px;
    white-space:nowrap;
  }
  .match-admin-result.is-vs{
    color:var(--red);
    background:#fbf4e2;
    font-size:13px;
  }
  .match-admin-card-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    padding-top:16px;
    border-top:1px solid var(--line);
  }
  .match-admin-competition{
    display:inline-flex;
    align-items:center;
    gap:6px;
    font-size:12.5px;
    color:var(--grey);
    font-weight:600;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .match-admin-competition svg{
    flex-shrink:0;
    color:var(--red);
  }
  .match-admin-card-actions{
    display:flex;
    gap:8px;
    flex-shrink:0;
  }

  @media (max-width: 640px){
    .match-builder{
      grid-template-columns:1fr;
    }
    .match-builder-center{
      padding-top:0;
      flex-direction:row;
      gap:10px;
    }
    .match-builder-side-away{
      text-align:left;
      align-items:flex-start;
    }
    .match-builder-side-away .match-builder-team-row{
      flex-direction:row;
    }
    .match-builder-side-away .match-team-input{
      text-align:left;
    }
    .match-builder-side-away .match-builder-score-wrap{
      align-items:flex-start;
    }
    .match-builder-side-away .match-score-input{
      align-self:flex-start;
    }
    .matches-admin-grid{
      grid-template-columns:1fr;
    }
  }

  @media (max-width: 640px){
    .admin-form-row{
      grid-template-columns:1fr;
    }
    .admin-page-head{
      flex-direction:column;
    }
  }

  /* ============ ADMIN: menu (Μενού) management ============ */
  .admin-form-hint{
    font-size:13px;
    color:var(--grey);
    margin-bottom:18px;
  }
  .admin-menu-panel{
    padding:20px;
  }
  .admin-menu-tree,
  .admin-menu-children{
    list-style:none;
  }
  .admin-menu-children{
    margin-top:8px;
    margin-left:28px;
    padding-left:16px;
    border-left:2px solid var(--line);
  }
  .admin-menu-row{
    margin-bottom:10px;
  }
  .admin-menu-row:last-child{
    margin-bottom:0;
  }
  .admin-menu-row-main{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    background:#fafafa;
    border:1px solid var(--line);
    border-radius:8px;
    padding:12px 16px;
  }
  .admin-menu-row-child > .admin-menu-row-main{
    background:#fff;
  }
  .admin-menu-row-info{
    display:flex;
    align-items:baseline;
    gap:10px;
    min-width:0;
  }
  .admin-menu-label{
    font-weight:700;
    font-size:14px;
    color:var(--black);
    white-space:nowrap;
  }
  .admin-menu-url{
    font-size:12.5px;
    color:var(--grey);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .admin-menu-row-actions{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
  }
  .admin-menu-row-actions .btn[disabled]{
    opacity:.35;
    cursor:not-allowed;
  }

  .admin-empty-state{
    text-align:center;
    padding:60px 30px;
  }
  .admin-empty-state h2{
    font-size:18px;
    font-weight:800;
    margin-bottom:8px;
    color:var(--black);
  }
  .admin-empty-state p{
    color:var(--grey);
    font-size:14px;
  }

  @media (max-width: 640px){
    .admin-menu-row-main{
      flex-direction:column;
      align-items:flex-start;
    }
    .admin-menu-children{
      margin-left:14px;
    }
  }

  /* ============ ADMIN: media (Πολυμέσα) library ============ */
  .admin-page-head .btn svg{
    margin-right:2px;
  }

  /* --- Dropzone --- */
  .admin-media-dropzone{
    position:relative;
    border:2px dashed #d7d7d7;
    border-radius:14px;
    padding:30px 24px;
    text-align:center;
    background:linear-gradient(180deg,#fafafa,#f4f4f4);
    transition:border-color .18s ease, background .18s ease, transform .18s ease;
    margin-bottom:22px;
    cursor:pointer;
  }
  .admin-media-dropzone:hover{
    border-color:var(--green);
    background:#f2f8f4;
  }
  .admin-media-dropzone.is-dragover{
    border-color:var(--green);
    background:#eaf5ee;
    transform:scale(1.005);
  }
  .admin-media-file-input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    overflow:hidden;
    pointer-events:none;
  }
  .admin-media-dropzone-icon{
    width:40px;
    height:40px;
    margin:0 auto 10px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eaf5ee;
    color:var(--green);
  }
  .admin-media-dropzone-text{
    font-size:13.5px;
    font-weight:600;
    color:var(--black);
    margin-bottom:4px;
  }
  .admin-media-dropzone-hint{
    font-size:11.5px;
    color:var(--grey);
  }

  /* --- Filter bar (pills + search) --- */
  .admin-media-filterbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    margin-bottom:18px;
  }
  .admin-media-filter-pills{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
  }
  .admin-media-filter-pill{
    display:inline-flex;
    align-items:center;
    gap:4px;
    padding:7px 14px;
    border-radius:20px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--grey);
    font-size:12.5px;
    font-weight:700;
    text-decoration:none;
    transition:background .15s ease, color .15s ease, border-color .15s ease;
  }
  .admin-media-filter-pill:hover{
    border-color:var(--green);
    color:var(--green);
  }
  .admin-media-filter-pill.active{
    background:var(--green);
    border-color:var(--green);
    color:#fff;
  }
  .admin-media-filter-count{
    opacity:.75;
    font-weight:600;
  }
  .admin-media-search{
    display:flex;
    align-items:center;
    gap:8px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:8px;
    padding:8px 12px;
    color:var(--grey);
    min-width:220px;
  }
  .admin-media-search input{
    border:none;
    outline:none;
    font-size:13px;
    font-family:var(--font);
    flex:1;
    min-width:0;
    background:transparent;
  }

  /* --- Grid + cards --- */
  .admin-media-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));
    gap:16px;
  }
  .admin-media-card{
    border:1px solid var(--line);
    border-radius:10px;
    overflow:hidden;
    background:#fff;
    display:flex;
    flex-direction:column;
    cursor:pointer;
    transition:box-shadow .18s ease, transform .18s ease, border-color .18s ease;
  }
  .admin-media-card:hover{
    box-shadow:0 8px 20px rgba(14,14,14,.08);
    transform:translateY(-2px);
    border-color:#d8d8d8;
  }
  .admin-media-card-thumb{
    aspect-ratio:4 / 3;
    background:#f4f4f4 center/cover no-repeat;
    border-bottom:1px solid var(--line);
  }
  .admin-media-card-thumb-file{
    display:flex;
    align-items:center;
    justify-content:center;
    color:#bbb;
  }
  .admin-media-card-body{
    padding:10px 12px;
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  .admin-media-card-name{
    font-size:12.5px;
    font-weight:700;
    color:var(--black);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .admin-media-card-size{
    font-size:11px;
    color:var(--grey);
  }

  /* --- Pagination --- */
  .admin-media-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    flex-wrap:wrap;
    margin-top:24px;
  }
  .admin-media-pagination-info{
    font-size:12.5px;
    color:var(--grey);
  }
  .admin-media-pagination-controls{
    display:flex;
    align-items:center;
    gap:4px;
  }
  .admin-page-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:30px;
    height:30px;
    padding:0 6px;
    border-radius:6px;
    border:1px solid var(--line);
    background:#fff;
    color:var(--black);
    font-size:12.5px;
    font-weight:700;
    text-decoration:none;
    transition:background .15s ease, color .15s ease;
  }
  .admin-page-btn:hover{
    background:#f4f5f4;
  }
  .admin-page-btn.active{
    background:var(--green);
    border-color:var(--green);
    color:#fff;
  }
  .admin-page-btn.disabled{
    opacity:.35;
    pointer-events:none;
  }
  .admin-page-ellipsis{
    color:var(--grey);
    padding:0 2px;
    font-size:12.5px;
  }

  /* --- Shared bits reused inside the modal --- */
  .admin-media-alt-form{
    display:flex;
    gap:6px;
  }
  .admin-media-alt-form input[type="text"]{
    flex:1;
    min-width:0;
    font-size:12px;
    padding:7px 9px;
    border:1px solid var(--line);
    border-radius:6px;
  }
  .admin-media-alt-form input[type="text"]:focus{
    outline:none;
    border-color:var(--green);
  }
  .admin-media-alt-form .btn{
    padding:7px 12px;
    font-size:11.5px;
    white-space:nowrap;
  }
  .admin-media-path{
    display:flex;
    gap:6px;
  }
  .admin-media-path input{
    flex:1;
    min-width:0;
    width:100%;
    font-size:11px;
    font-family:monospace;
    padding:7px 9px;
    border:1px solid var(--line);
    border-radius:6px;
    background:#fafafa;
    color:var(--grey);
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .admin-media-path .btn{
    padding:7px 12px;
    font-size:11.5px;
    flex-shrink:0;
  }
  .admin-media-divider{
    border:none;
    border-top:1px solid var(--line);
    margin:4px 0;
  }
  .admin-media-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .admin-media-actions form{
    display:contents;
  }
  .admin-media-actions .btn{
    width:100%;
    padding:9px 6px;
    font-size:12.5px;
  }

  /* --- Detail modal --- */
  .media-modal-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(14,14,14,.55);
    align-items:center;
    justify-content:center;
    padding:24px;
    z-index:1000;
  }
  .media-modal-overlay.is-open{
    display:flex;
  }
  .media-modal{
    position:relative;
    background:#fff;
    border-radius:14px;
    width:100%;
    max-width:440px;
    max-height:90vh;
    overflow-y:auto;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
  }
  .media-modal-close{
    position:absolute;
    top:10px;
    right:10px;
    width:30px;
    height:30px;
    border-radius:50%;
    border:none;
    background:rgba(255,255,255,.9);
    color:var(--black);
    font-size:20px;
    line-height:1;
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    z-index:2;
  }
  .media-modal-close:hover{
    background:#f1f1f1;
  }
  .media-modal-preview{
    aspect-ratio:4 / 3;
    background:#f4f4f4 center/cover no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#bbb;
    border-radius:14px 14px 0 0;
  }
  .media-modal-info{
    padding:18px 20px 20px;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .media-modal-info h3{
    font-size:15px;
    font-weight:800;
    color:var(--black);
    word-break:break-word;
  }
  .media-modal-meta{
    font-size:12px;
    color:var(--grey);
    margin-top:-6px;
  }

  @media (max-width: 640px){
    .admin-media-grid{
      grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
    }
    .admin-media-filterbar{
      flex-direction:column;
      align-items:stretch;
    }
    .admin-media-search{
      min-width:0;
    }
  }

  /* ============ ADMIN: news (Νέα) list + editor ============ */
  .admin-badge-yellow{
    background:#fdf3e3;
    color:#8a5a10;
  }
  #newsListContainer.is-loading{
    opacity:.5;
    pointer-events:none;
    transition:opacity .15s ease;
  }
  .admin-news-title-cell{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .admin-news-thumb{
    width:44px;
    height:44px;
    flex-shrink:0;
    border-radius:6px;
    background:#f4f4f4 center/cover no-repeat;
    border:1px solid var(--line);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#bbb;
  }
  .admin-news-title-info{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
  }
  .admin-news-title-link{
    font-weight:700;
    color:var(--black);
    text-decoration:none;
    font-size:14px;
  }
  .admin-news-title-link:hover{
    color:var(--green);
    text-decoration:underline;
  }
  .admin-news-slug{
    font-size:12px;
    color:var(--grey);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  /* --- Post editor layout --- */
  .admin-post-page-head{
    margin-bottom:20px;
  }
  .admin-post-heading-row{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:6px;
  }
  .admin-post-heading-row h1{
    margin-bottom:0;
  }
  .admin-post-layout{
    display:grid;
    grid-template-columns:1fr 340px;
    gap:22px;
    align-items:start;
  }
  .admin-post-panel{
    margin-bottom:20px;
    box-shadow:0 1px 2px rgba(14,14,14,.03);
    transition:box-shadow .2s ease, border-color .2s ease;
  }
  .admin-post-panel:last-child{
    margin-bottom:0;
  }
  .admin-post-panel-title{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12.5px;
    font-weight:800;
    letter-spacing:.5px;
    text-transform:uppercase;
    color:var(--black);
    margin-bottom:18px;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
  }
  .admin-post-panel-title svg{
    color:var(--green);
    flex-shrink:0;
  }

  /* Title + slug */
  .admin-post-title-panel{
    background:linear-gradient(180deg, #fff 0%, #fbfcfb 100%);
  }
  .admin-post-title-field label{
    display:block;
    font-size:12.5px;
    font-weight:800;
    letter-spacing:.4px;
    text-transform:uppercase;
    margin-bottom:10px;
    color:var(--grey);
  }
  .admin-post-title-field input[type="text"]#postTitle{
    width:100%;
    padding:15px 16px;
    border:1.5px solid var(--line);
    border-radius:8px;
    font-family:var(--font);
    font-size:20px;
    font-weight:800;
    color:var(--black);
    transition:border-color .15s ease, box-shadow .15s ease;
  }
  .admin-post-title-field input#postTitle::placeholder{
    color:#c7c7c7;
    font-weight:700;
  }
  .admin-post-title-field input#postTitle:focus{
    outline:none;
    border-color:var(--green);
    box-shadow:0 0 0 3px rgba(12,61,46,.08);
  }
  .admin-post-slug-card{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin-top:14px;
    padding:12px 14px;
    background:#f7f8f7;
    border:1px solid var(--line);
    border-radius:8px;
  }
  .admin-post-slug-icon{
    color:var(--green);
    flex-shrink:0;
    margin-top:3px;
  }
  .admin-post-slug-fields{
    flex:1;
    min-width:0;
  }
  .admin-post-slug-label{
    display:block;
    font-size:11px;
    font-weight:800;
    letter-spacing:.4px;
    text-transform:uppercase;
    color:var(--grey);
    margin-bottom:5px;
  }
  .admin-post-slug-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    font-size:13.5px;
    line-height:1.5;
  }
  .admin-post-slug-prefix{
    color:var(--grey);
    white-space:nowrap;
  }
  .admin-post-slug-input{
    flex:1;
    min-width:120px;
    border:1px solid transparent;
    background:transparent;
    padding:4px 6px;
    border-radius:4px;
    font-family:var(--font);
    font-weight:700;
    font-size:13.5px;
    color:var(--green);
  }
  .admin-post-slug-input:hover{
    border-color:var(--line);
    background:#fff;
  }
  .admin-post-slug-input:focus{
    outline:none;
    border-color:var(--green);
    background:#fff;
    box-shadow:0 0 0 3px rgba(12,61,46,.08);
  }

  /* Editor */
  .admin-post-editor-panel{
    min-height:420px;
  }
  .admin-post-editor-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
    margin-bottom:16px;
    padding-bottom:14px;
    border-bottom:1px solid var(--line);
  }
  .admin-post-editor-label{
    display:flex;
    align-items:center;
    gap:8px;
    font-size:12.5px;
    font-weight:800;
    letter-spacing:.5px;
    text-transform:uppercase;
    color:var(--black);
  }
  .admin-post-editor-label svg{
    color:var(--green);
  }
  .admin-post-editor-hint{
    font-size:12px;
    color:#aaa;
    white-space:nowrap;
  }
  .admin-post-editor{
    font-size:15px;
    color:#222;
  }
  .admin-post-editor .codex-editor__redactor{
    padding-bottom:60px !important;
  }

  /* --- Sidebar: publish box --- */
  .admin-post-publish-panel{
    background:#fff;
  }
  .admin-post-status-toggle{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-bottom:16px;
  }
  .admin-post-status-option{
    position:relative;
    cursor:pointer;
  }
  .admin-post-status-option input{
    position:absolute;
    opacity:0;
    width:1px;
    height:1px;
  }
  .admin-post-status-pill{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:10px 8px;
    border:1.5px solid var(--line);
    border-radius:7px;
    font-size:13px;
    font-weight:700;
    color:var(--grey);
    background:#fafafa;
    transition:all .15s ease;
  }
  .admin-post-status-option input:checked + .admin-post-status-pill{
    background:var(--green);
    border-color:var(--green);
    color:#fff;
  }
  .admin-post-status-option:nth-child(1) input:checked + .admin-post-status-pill{
    background:#fff8e6;
    border-color:#f0d78c;
    color:#8a6d1a;
  }
  .admin-post-status-option input:focus-visible + .admin-post-status-pill{
    box-shadow:0 0 0 3px rgba(12,61,46,.15);
  }
  .admin-post-status-option:hover .admin-post-status-pill{
    border-color:#b9c4bf;
  }
  .admin-post-meta-line{
    font-size:12.5px;
    color:var(--grey);
    padding:10px 0 4px;
    border-top:1px dashed var(--line);
    margin-top:2px;
  }

  /* --- Sidebar: thumbnail --- */
  .admin-post-thumbnail-preview{
    width:100%;
    min-height:190px;
    aspect-ratio:4 / 3;
    border-radius:10px;
    border:1px solid var(--line);
    background:#f4f4f4 center/cover no-repeat;
    margin-bottom:12px;
    overflow:hidden;
    transition:border-color .15s ease;
  }
  .admin-post-thumbnail-preview.is-empty{
    border:1.5px dashed #d7d7d7;
    background:#fafafa;
  }
  .admin-post-thumbnail-empty{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    color:#c2c2c2;
    font-size:13px;
    text-align:center;
    padding:10px;
  }
  .admin-post-thumbnail-empty svg{
    width:34px;
    height:34px;
    color:#d3d3d3;
  }
  .admin-post-thumbnail-url{
    width:100%;
    padding:11px 13px;
    border:1px solid var(--line);
    border-radius:8px;
    font-family:var(--font);
    font-size:13px;
    color:var(--black);
    background:#fff;
    margin-bottom:12px;
  }
  .admin-post-thumbnail-url:focus{
    outline:none;
    border-color:var(--green);
    box-shadow:0 0 0 3px rgba(12,61,46,.08);
  }
  .admin-post-thumbnail-url::placeholder{
    color:#adadad;
  }
  .admin-post-thumbnail-actions{
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .btn-media-picker{
    width:100%;
    background:#eaf5ee;
    color:var(--green);
    border:1px solid #b6ddc4;
    font-weight:700;
  }
  .btn-media-picker:hover{
    background:#dcefe3;
  }
  .admin-post-thumbnail-remove{
    display:block;
    width:100%;
    text-align:center;
    font-size:12.5px;
    font-weight:700;
    color:#a12626;
    background:none;
    border:none;
    cursor:pointer;
    padding:6px 4px 0;
  }
  .admin-post-thumbnail-remove:hover{
    text-decoration:underline;
  }

  /* --- Sidebar: save/cancel/view actions --- */
  .admin-post-save-actions{
    margin-top:4px;
    flex-direction:column;
    gap:8px;
  }
  .admin-post-save-btn{
    width:100%;
  }
  .admin-post-save-actions .btn-ghost{
    width:100%;
  }
  .admin-post-view-btn{
    width:100%;
  }
  .admin-post-view-btn[aria-disabled="true"]{
    opacity:.45;
    pointer-events:none;
  }
  .admin-post-cancel-btn{
    background:transparent;
    border-color:transparent;
    color:var(--grey);
  }
  .admin-post-cancel-btn:hover{
    background:#f4f5f4;
    color:var(--black);
  }

  @media (min-width: 901px){
    .admin-post-sidebar{
      position:sticky;
      top:20px;
    }
  }

  @media (max-width: 900px){
    .admin-post-layout{
      grid-template-columns:1fr;
    }
    .admin-post-page-head{
      flex-wrap:wrap;
    }
  }

  /* --- Media picker modal (thumbnail selection) --- */
  .admin-picker-modal{
    max-width:640px;
  }
  .admin-picker-modal-body{
    padding:22px 24px 26px;
  }
  .admin-picker-modal-title{
    font-size:17px;
    font-weight:800;
    color:var(--black);
    margin-bottom:14px;
  }
  .admin-picker-search{
    min-width:0;
    width:100%;
    margin-bottom:16px;
  }

  /* Upload dropzone inside the picker modal (compact variant of .admin-media-dropzone) */
  .admin-picker-dropzone{
    position:relative;
    border:1.5px dashed #d7d7d7;
    border-radius:10px;
    padding:14px 16px;
    display:flex;
    align-items:center;
    gap:12px;
    background:linear-gradient(180deg,#fafafa,#f4f4f4);
    transition:border-color .18s ease, background .18s ease;
    cursor:pointer;
    margin-bottom:10px;
  }
  .admin-picker-dropzone:hover{
    border-color:var(--green);
    background:#f2f8f4;
  }
  .admin-picker-dropzone.is-dragover{
    border-color:var(--green);
    background:#eaf5ee;
  }
  .admin-picker-dropzone.is-uploading{
    opacity:.65;
    pointer-events:none;
  }
  .admin-picker-dropzone-icon{
    width:32px;
    height:32px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eaf5ee;
    color:var(--green);
  }
  .admin-picker-dropzone-text{
    display:flex;
    flex-direction:column;
    gap:1px;
    min-width:0;
  }
  .admin-picker-dropzone-text strong{
    font-size:13.5px;
    font-weight:700;
    color:var(--black);
  }
  .admin-picker-dropzone-text span{
    font-size:11.5px;
    color:var(--grey);
  }
  .admin-picker-upload-status{
    margin-bottom:12px;
  }
  .admin-picker-upload-status:empty{
    margin-bottom:0;
  }
  .admin-picker-upload-loading{
    font-size:12.5px;
    color:var(--grey);
  }
  .admin-picker-upload-success{
    display:block;
    font-size:12.5px;
    font-weight:700;
    color:#1e6b40;
    padding:8px 10px;
    background:#eaf5ee;
    border:1px solid #b6ddc4;
    border-radius:6px;
  }
  .admin-picker-upload-error{
    font-size:12.5px;
    font-weight:600;
    color:#a12626;
    padding:8px 10px;
    background:#fdecec;
    border:1px solid #f3b7b7;
    border-radius:6px;
    margin-top:6px;
  }
  .admin-picker-upload-error div + div{
    margin-top:3px;
  }
  .admin-picker-grid-container{
    max-height:50vh;
    overflow-y:auto;
    min-height:120px;
  }
  .admin-picker-grid{
    grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
  }
  .admin-picker-card{
    cursor:pointer;
  }
  .admin-picker-loading{
    text-align:center;
    color:var(--grey);
    font-size:13px;
    padding:30px 0;
  }
  .admin-picker-empty{
    padding:30px 10px;
  }

  /* ============ FRONTEND: single post (news.php) ============ */
  .single-post{
    max-width:760px;
    margin:0 auto;
    padding:50px 24px 90px;
  }
  .single-post.page-view{
    max-width:1180px;
    padding:50px 40px 80px;
  }
  .single-post-notfound{
    text-align:center;
    padding:80px 20px;
  }
  .single-post-notfound h1{
    font-size:26px;
    font-weight:800;
    margin-bottom:10px;
  }
  .single-post-notfound p{
    color:var(--grey);
    margin-bottom:24px;
  }
  .single-post-preview-flag{
    background:#fdf3e3;
    color:#8a5a10;
    border:1px solid #f0dcae;
    border-radius:8px;
    padding:10px 14px;
    font-size:13px;
    font-weight:700;
    margin-bottom:20px;
  }
  .single-post-cover{
    width:100%;
    aspect-ratio:16 / 8;
    border-radius:12px;
    background:#f4f4f4 center/cover no-repeat;
    margin-bottom:26px;
  }
  .single-post-header{
    margin-bottom:30px;
  }
  .single-post-header .tag{
    display:inline-block;
    font-size:11.5px;
    font-weight:800;
    letter-spacing:.4px;
    text-transform:uppercase;
    color:var(--green);
    background:#eaf5ee;
    border-radius:20px;
    padding:5px 12px;
    margin-bottom:14px;
  }
  .single-post-header h1{
    font-size:32px;
    font-weight:800;
    line-height:1.25;
    color:var(--black);
    margin-bottom:10px;
  }
  .single-post-date{
    font-size:13px;
    color:var(--grey);
  }
  .single-post-content{
    font-size:16px;
    line-height:1.75;
    color:#222;
  }
  .single-post-content h2,
  .single-post-content h3,
  .single-post-content h4{
    font-weight:800;
    color:var(--black);
    margin:28px 0 12px;
  }
  .single-post-content p{
    margin-bottom:18px;
  }
  .single-post-content ul,
  .single-post-content ol{
    margin:0 0 18px 22px;
  }
  .single-post-content li{
    margin-bottom:6px;
  }
  .single-post-content blockquote{
    border-left:3px solid var(--green);
    padding:6px 0 6px 18px;
    margin:0 0 18px;
    color:#444;
    font-style:italic;
  }
  .single-post-content .single-post-image{
    margin:0 0 22px;
  }
  .single-post-content .single-post-image img{
    max-width:100%;
    height:auto;
    display:block;
    border-radius:8px;
  }
  .single-post-content .single-post-image.has-border img{
    border:1px solid var(--line);
  }
  .single-post-content .single-post-image.is-stretched img{
    width:100%;
  }
  .single-post-content .single-post-image figcaption{
    margin-top:8px;
    font-size:13px;
    color:var(--grey);
    text-align:center;
  }
  .single-post-content blockquote cite{
    display:block;
    margin-top:6px;
    font-size:13px;
    font-style:normal;
    color:var(--grey);
  }
  .single-post-empty{
    color:var(--grey);
  }

  @media (max-width: 640px){
    .single-post-header h1{
      font-size:24px;
    }
  }

  /* ---------------------------------------------------------------
     Admin: Sponsors page (admin/sponsors.php)
  --------------------------------------------------------------- */
  .admin-form-field-logo{
    flex:0 0 auto;
  }
  .sponsor-logo-picker{
    width:72px;
    height:72px;
    border-radius:12px;
  }
  .sponsor-logo-picker .match-crest-fallback svg{
    color:var(--grey);
  }
  .admin-sponsors-tier-panel{
    margin-bottom:20px;
  }
  .admin-sponsors-tier-head{
    align-items:center;
    margin-bottom:14px;
  }
  .admin-sponsors-tier-head h2{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:17px;
    margin:0;
  }
