/*
Theme Name: Gianx Minimal
Theme URI: https://example.com
Author: Gianluca Nieri
Description: Tema minimal con homepage a lista di post
Version: 1.0
License: GPLv2 or later
Text Domain: gianx-minimal
*/

:root{
  --maxw: 760px;
  --pad: 16px;
  --font: "Ubuntu Mono","mononoki","IBM Plex Mono","Roboto Mono","Fira Code","Overpass Mono",Monaco,"Droid Sans Mono",monospace;
  --muted: #666;
  --heading: #red;
  --font-color: #a9b1d6;
  --font-size: 1.15rem;
  --background-color: #1a1b26;
  --accent-color: #bb9af7; /* colore dei link */
}

*{ box-sizing:border-box; }
html{ font-size:16px; }

body{
  margin:0;
  font-family:var(--font);
  font-size:var(--font-size);
  line-height:1.6;
  color:var(--font-color);
  background:var(--background-color);
}

.wrap{
  max-width:var(--maxw);
  margin:0 auto;
  padding:var(--pad);
}

/* ===== HEADER / NAV ===== */
.site-header{
  border-bottom:1px solid #eee;
  background:var(--background-color);
  padding:1rem 2rem;
}

.header-flex{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:nowrap;
  gap:1rem;
}

.site-title{
  margin:0;
  font-size:1.8rem;
}
.site-title a{
  text-decoration:none;
  color:var(--title-color);
}

.site-nav{ margin-left:auto; }

.site-nav ul,
.site-nav div.menu > ul{
  display:flex;
  align-items:center;
  gap:1.5rem;
  list-style:none;
  margin:0;
  padding:0;
}

.site-nav li{ margin:0; padding:0; }

/* ===== LINK GLOBALI ===== */
a{
  color:var(--accent-color);
  text-decoration:none;
  transition:color .2s ease, text-decoration .2s ease;
}
a:hover,
a:focus{
  color:var(--accent-color);
  text-decoration:underline;
}
a:visited{ color:var(--accent-color); }

/* ===== LINK NEI CONTENUTI / LOOP (forza accento) ===== */
.entry-content a,
.entry-summary a,
.post a,
.page a,
article a,
.wp-block-post-content a,
.wp-block-post-excerpt a,
.wp-block-post-title a,
.wp-block-post-template a,
.wp-block-latest-posts a,
.wp-block-read-more,
.wp-block-query a,
.site-nav a,
a[rel~="tag"],
.tags-links a,
.entry-footer .tags a,
.post-tags a,
.meta .tags a,
.wp-block-post-terms__post-tag a,
.wp-block-post-terms a,
.wp-block-query .wp-block-post-terms a,
.tagcloud a{
  color:var(--accent-color) !important;
  text-decoration:none;
}

.entry-content a:hover,
.entry-summary a:hover,
.post a:hover,
.page a:hover,
article a:hover,
.wp-block-post-content a:hover,
.wp-block-post-excerpt a:hover,
.wp-block-post-title a:hover,
.wp-block-post-template a:hover,
.wp-block-latest-posts a:hover,
.wp-block-read-more:hover,
.wp-block-query a:hover,
.site-nav a:hover,
a[rel~="tag"]:hover,
a[rel~="tag"]:focus,
.tags-links a:hover,
.entry-footer .tags a:hover,
.post-tags a:hover,
.meta .tags a:hover,
.wp-block-post-terms__post-tag a:hover,
.wp-block-post-terms a:hover,
.wp-block-query .wp-block-post-terms a:hover,
.tagcloud a:hover{
  color:var(--accent-color) !important;
  text-decoration:underline !important;
}

/* ===== LISTA POST ===== */
.post-list{
  list-style:none;
  padding:0;
  margin:1rem 0;
}
.post-list li{
  margin-bottom:10px;
  padding-bottom:10px;
}
.post-list a{ text-decoration:none; color:var(--accent-color); }
.post-list a:hover{ text-decoration:underline; }
.post-meta{ color:var(--font-color); font-size:var(--font-size); }

/* ===== ARTICOLI ===== */
article h1,
article h2,
article h3{ line-height:1.25; }

article img{ max-width:100%; height:auto; }

/* ===== FOOTER ===== */
.site-footer{
  border-top:1px solid #eee;
  margin-top:2rem;
  padding-top:1rem;
  color:var(--muted);
  font-size:.9rem;
}

/* Mobile-friendly tweaks */
@media (max-width:480px){
  .site-title{ font-size:1.1rem; }
}

.lang-badge{
  margin-left:.4rem;
  font-size:.95rem;
  vertical-align:baseline;
}

/* ===== FRONTEND: CODE BLOCKS (nero / testo bianco / bordo bianco 1px) ===== */
.entry-content .wp-block-code,
.entry-content pre.wp-block-code,
.entry-content .wp-block-code pre,
.entry-content .wp-block-preformatted,
.entry-content pre.wp-block-preformatted,
.entry-content pre code,
.entry-content code[class*="language-"]{
  background-color:#000 !important;
  border:1px solid #fff !important;
  border-radius:4px;
  padding:12px 16px !important;
  margin:1em 0;
  display:block;
  overflow-x:auto;
  color:#fff !important;
}

/* Evita doppio sfondo sul <code> interno al blocco */
.entry-content .wp-block-code code{
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  color:inherit !important;
}

pre[class*="language-"],
pre[class*="language-"] > code,
code[class*="language-"],
.wp-block-code pre,
.wp-block-code code,
.wp-block-preformatted pre,
.wp-block-preformatted code{
  white-space:pre-wrap !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  overflow-x:visible !important;
  color:#fff !important;
}

/* Fix per numeri di riga di Prism quando le righe vanno a capo */
pre[class*="language-"].line-numbers{
  position:relative;
  padding-left:3.8em !important;
}
pre[class*="language-"].line-numbers > code{
  white-space:pre-wrap !important;
}

/* Compat Gutenberg */
.wp-block-code pre,
figure.wp-block-code pre{
  background:transparent !important;
  border:0 !important;
  margin:0;
  padding:0;
  color:inherit !important;
}

/* ===== CODEBOX (nero / testo bianco / bordo bianco 1px) ===== */
.codebox{
  --copy-btn-space: 3.5rem;
  --top-space: 2.2rem;
  --gutter: 1.25rem;

  position:relative;
  margin:1.25rem 0;
  border:1px solid #fff;
  background:#000;
  border-radius:6px;
  overflow:auto;
  padding:var(--top-space) calc(1.25rem + var(--copy-btn-space)) 1rem 0.75rem;
  color:#fff;
}

/* Pulsante COPY in alto a destra */
.codebox .copy-btn{
  position:absolute;
  top:6px;
  right:8px;
  font-size:.8rem;
  background:#fff;
  border:1px solid #fff;
  padding:.25rem .5rem;
  cursor:pointer;
  z-index:2;
  color:#000;
}
.codebox .copy-btn:hover{ background:#000; color:#fff; }

/* Righe codice con colonna numeri */
.codebox .code-lines{ display:grid; counter-reset:line; }

.codebox .code-line{
  position:relative;
  white-space:pre;
  line-height:1.5;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-size:.95rem;
  padding-left:calc(var(--gutter) + .5rem);
  color:inherit;
}

.codebox .code-line::before{
  counter-increment:line;
  content:counter(line);
  position:absolute;
  left:0;
  width:var(--gutter);
  text-align:right;
  color:#fff;
}

/* Blocchi a singola riga: niente numeri e niente gutter extra */
.codebox.single-line{ padding-left:.75rem; }
.codebox.single-line .code-line{ padding-left:0; }
.codebox.single-line .code-line::before{ content:none !important; }

/* ===== INTESTAZIONE MESE HOMEPAGE ===== */
.month-heading{
  font-size:1.5em;
  font-weight:700;
  text-transform:capitalize;
  padding-bottom:.2rem;
  color:var(--heading);
}

/* ===== HAMBURGER MENU ===== */
.menu-toggle{
  display:none;
  background:none;
  border:0;
  padding:.5rem;
  cursor:pointer;
}
.menu-toggle-bar{
  display:block;
  width:24px;
  height:2px;
  margin:5px 0;
  background:currentColor;
}

/* Desktop */
.site-nav--desktop .menu{
  display:flex;
  gap:1rem;
  list-style:none;
  margin:0;
  padding:0;
}

/* Off-canvas mobile (hidden by default) */
.site-nav-mobile{
  position:fixed;
  inset:0 0 0 auto;
  width:min(82vw,340px);
  transform:translateX(100%);
  transition:transform .25s ease;
  background:#fff;
  box-shadow:-8px 0 24px rgba(0,0,0,.08);
  padding:1rem 1.25rem;
  z-index:1000;
}
.site-nav-mobile.is-open{ transform:translateX(0); }
.site-nav-mobile .menu{ list-style:none; margin:0; padding:0; }
.site-nav-mobile .menu > li{ border-bottom:1px solid #eee; }
.site-nav-mobile .menu a{ display:block; padding:.9rem .25rem; text-decoration:none; }

/* ===== COMMENTI ===== */
.comments-area{ margin-top:3rem; }

.comments-title{
  font-size:1.25rem;
  font-weight:700;
  margin-bottom:1rem;
  color:var(--background-color);
}

.comment-list{
  list-style:none;
  margin:0;
  padding:0;
}

.comment-item{ margin:0 0 1rem 0; }

.comment-card{
  background:var(--background-color);
  border:2px solid #000;
  color:#000;
  border-radius:12px;
  padding:1rem 1rem .75rem;
  box-shadow:none;
}

/* Meta commento */
.comment-meta{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:.75rem;
  align-items:center;
}

.comment-avatar img{
  width:56px;
  height:56px;
  border-radius:999px;
  display:block;
  border:2px solid #000;
}

.comment-authorline{
  display:flex;
  align-items:center;
  gap:.5rem;
}

.comment-author,
.comment-author a{
  color:var(--accent-color);
  text-decoration:none;
  font-weight:700;
}

.comment-badge{
  font-size:.75rem;
  font-weight:600;
  padding:.15rem .5rem;
  border-radius:999px;
  background:var(--font-color);
  color:#fff;
  border:1px solid var(--accent-color);
}

.comment-date{
  display:inline-block;
  font-size:.875rem;
  color:var(--font-color);
  text-decoration:none;
}

.comment-actions a{
  display:inline-block;
  font-size:.875rem;
  padding:.35rem .6rem;
  border:1px solid var(--font-color);
  border-radius:999px;
  text-decoration:none;
  background:transparent;
  color:var(--font-color);
  transition:all .2s ease;
}
.comment-actions a:hover{ background:var(--accent-color); }

/* Corpo commento */
.comment-body{
  margin-top:.75rem;
  padding-left:calc(56px + .75rem);
}
.comment-content{
  line-height:1.65;
  color:var(--font-color);
}
.comment-moderation{
  margin:.25rem 0 .5rem;
  font-size:.875rem;
  color:#dc6803;
}

/* Risposte annidate */
.comment-list .children{
  list-style:none;
  margin-left:1.5rem;
  padding-left:1rem;
  border-left:2px solid #000;
}
.comment-list .children .comment-card{ margin-top:.75rem; }

/* Form commenti */
.comment-form-modern{ margin-top:2rem; }
.comment-form-modern p{ margin-bottom:.75rem; }

.comment-form-modern input[type="text"],
.comment-form-modern input[type="email"],
.comment-form-modern input[type="url"],
.comment-form-modern textarea{
  width:100%;
  padding:.75rem .9rem;
  border:2px solid var(--font-color);
  border-radius:12px;
  color:var(--font-color);
  outline:none;
  transition:border-color .2s, box-shadow .2s;
  background:var(--background-color);
}

.comment-form-modern input:focus,
.comment-form-modern textarea:focus{
  border-color:var(--accent-color);
  box-shadow:0 0 0 2px rgba(0,0,0,.15);
  background:var(--background-color);
  color:var(--font-color);
}

/* Pulsante invio */
.btn.btn-primary{
  appearance:none;
  border:2px solid var(--accent-color);
  border-radius:999px;
  padding:.7rem 1.1rem;
  cursor:pointer;
  font-weight:700;
  background:var(--accent-color);
  color:#fff;
  transition:all .2s ease;
}
.btn.btn-primary:hover{
  background:#fff;
  color:var(--accent-color);
}

/* Accessibilità */
.sr-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
}

/* Dark mode */
@media (prefers-color-scheme: dark){
  .comment-card{
    background:var(--background-color);
    border:2px solid var(--font-color);
    color:var(--font-color);
  }

  .comment-author,
  .comment-date{ color:var(--accent-color); }

  .comment-actions a{ color:var(--font-color); }

  .comment-list .children{ border-left-color:#000; }

  .comment-form-modern input,
  .comment-form-modern textarea{
    background:var(--background-color);
    border:2px solid var(--fo);
    color:var(--font-color);
  }

  .comment-form-modern input:focus,
  .comment-form-modern textarea:focus{
    border-color:var(--accent-color);
    box-shadow:0 0 0 2px rgba(0,0,0,.15);
  }

  .btn.btn-primary{
    background:var(--accent-color);
    color:#fff;
  }
  .btn.btn-primary:hover{
    background:#fff;
    color:var(--accent-color);
  }
}

/* ===== DATE BADGE ===== */
.singledigitdate,
.multidigitdate{
  margin-right:6px;
  font-weight:700;
  color:#f26a06;
}
.singledigitdate{ font-size:1.2em; }
.multidigitdate{ font-size:1em; }

/* ===== STRONG ===== */
strong{
  font-weight:800;
  background-color:var(--accent-color, #333);
  color:var(--background-color, #fff);
  padding:2px 6px;
  border-radius:6px;
}

/* ===== TAGS BOX HOMEPAGE ===== */
.gianx-tags-inline-container{
  margin-top:40px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-start;
}

.gianx-tag,
.gianx-tag:visited{
  display:inline-block;
  padding:4px 8px;
  border:1px solid var(--font-color);
  border-radius:4px;
  text-decoration:none;
  color:inherit;
  font-weight:600;
  white-space:nowrap;
}

.gianx-tag:hover{
  background-color:var(--accent-color);
  color:var(--background-color);
  text-decoration:none;
}

/* ===== IMMAGINI (Gutenberg / editor visuale) SOLO NELLA SINGLE ===== */
.single-post .wp-block-post-content img,
.single-post .entry-content img{
  display:block;
  margin-left:auto;
  margin-right:auto;
  border:2px solid #000;
  padding:2px;
  max-width:100%;
  height:auto;
}

.single-post .wp-block-post-content .wp-block-image,
.single-post .entry-content .wp-block-image{
  text-align:center;
}

.single-post .wp-block-post-content .wp-block-image img,
.single-post .entry-content .wp-block-image img{
  display:inline-block;
}

.single-post .wp-block-post-content .wp-block-gallery img,
.single-post .entry-content .wp-block-gallery img{
  border:2px solid #000;
  padding:2px;
}

.single-post .wp-block-post-content .alignleft,
.single-post .wp-block-post-content .alignright,
.single-post .entry-content .alignleft,
.single-post .entry-content .alignright{
  float:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
