/*
Theme Name: Kappa Tailwind Dark Mob2
Theme URI: https://landos.click/kappa-tailwind-dark
Author: Kappa LandOS.click
Author URI: https://landos.click
Description: Tema WordPress dark moderno basato su Tailwind CSS CDN, pensato per blog e articoli editoriali.
Version: 1.4.3
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kappa-tailwind-dark
Tags: blog, dark, responsive, tailwind, custom-menu, featured-images
*/

/* Stili minimi non Tailwind per contenuti WordPress classici */
html { scroll-behavior: smooth; }
body { background: #020617; }
.wp-caption { max-width: 100%; }
.wp-caption-text { color: #94a3b8; font-size: .875rem; margin-top: .5rem; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignleft { float: left; margin-right: 1.5rem; }
.alignright { float: right; margin-left: 1.5rem; }
.screen-reader-text { position: absolute; left: -9999px; }

.article-content :where(h1,h2,h3,h4) { color: #f8fafc; font-weight: 800; line-height: 1.15; margin-top: 2rem; margin-bottom: 1rem; }
.article-content h1 { font-size: clamp(2rem, 5vw, 3.75rem); }
.article-content h2 { font-size: clamp(1.6rem, 4vw, 2.35rem); }
.article-content h3 { font-size: clamp(1.3rem, 3vw, 1.75rem); }
.article-content p { margin-bottom: 1.25rem; }
.article-content a { color: #38bdf8; text-decoration: underline; text-underline-offset: 4px; }
.article-content ul, .article-content ol { margin: 1.25rem 0 1.25rem 1.5rem; }
.article-content ul { list-style: disc; }
.article-content ol { list-style: decimal; }
.article-content blockquote { border-left: 4px solid #06b6d4; padding-left: 1rem; color: #cbd5e1; font-style: italic; margin: 1.5rem 0; }
.article-content img { border-radius: 1rem; margin: 1.5rem 0; }
.article-content pre { background: #0f172a; border: 1px solid #1e293b; border-radius: 1rem; padding: 1rem; overflow-x: auto; margin: 1.5rem 0; }
.article-content code { background: rgba(15,23,42,.9); color: #bae6fd; padding: .15rem .35rem; border-radius: .35rem; }
.article-content pre code { background: transparent; padding: 0; }


/* Kappa Tailwind Dark Pro additions */
.wp-block-image img, .wp-caption img { border-radius: 1.5rem; }
.widget ul, .wp-block-categories-list, .wp-block-archives-list { display: grid; gap: .65rem; }
.widget a, .wp-block-categories-list a, .wp-block-archives-list a { color: #cbd5e1; text-decoration: none; }
.widget a:hover, .wp-block-categories-list a:hover, .wp-block-archives-list a:hover { color: var(--ktd-accent, #22d3ee); }
.current-menu-item > a span, .current_page_item > a span { color: var(--ktd-accent, #22d3ee); }
.ktd-prose h1, .ktd-prose h2, .ktd-prose h3 { color: #fff; font-weight: 900; }
.ktd-prose a { color: var(--ktd-accent, #22d3ee); }
.ktd-prose p, .ktd-prose li { color: #cbd5e1; line-height: 1.8; }


/* Widget laterali */
.widget { overflow-wrap: anywhere; }
.widget select, .widget input[type="text"], .widget input[type="search"], .widget input[type="email"] {
  width: 100%; border-radius: 1rem; border: 1px solid #334155; background: #020617; color: #e2e8f0; padding: .8rem 1rem;
}
.widget button, .widget input[type="submit"] {
  border-radius: 1rem; background: var(--ktd-accent, #22d3ee); color: #020617; font-weight: 900; padding: .75rem 1rem;
}
.widget li { color: #cbd5e1; }
.widget .wp-block-latest-posts__post-date { color: #64748b; font-size: .8rem; }
.ktd-sidebar-layout { align-items: start; }
@media (min-width: 1024px) { .ktd-sidebar-sticky { position: sticky; top: 6rem; } }


/* Toggle Dark / Light persistente
   Il tema rimane dark di default. Quando il visitatore sceglie Light,
   JavaScript aggiunge html.light e salva la preferenza in localStorage. */
html.light body {
  background: #f8fafc;
  color: #0f172a;
}

html.light .bg-slate-950,
html.light .bg-slate-950\/80,
html.light .bg-slate-950\/90,
html.light .bg-slate-950\/70,
html.light .bg-slate-900,
html.light .bg-slate-900\/90,
html.light .bg-slate-900\/80,
html.light .bg-slate-900\/70,
html.light .bg-slate-900\/60,
html.light .bg-slate-900\/50,
html.light .bg-slate-800,
html.light .bg-slate-800\/70,
html.light .bg-slate-800\/60,
html.light .bg-slate-800\/50 {
  background-color: rgba(255, 255, 255, .92) !important;
}

html.light .border-slate-900,
html.light .border-slate-800,
html.light .border-slate-800\/80,
html.light .border-slate-700,
html.light .border-slate-700\/70,
html.light .border-slate-700\/60 {
  border-color: #e2e8f0 !important;
}

html.light .text-white,
html.light .text-slate-50,
html.light .text-slate-100,
html.light .text-slate-200,
html.light .text-slate-300,
html.light .text-slate-400,
html.light .text-slate-500 {
  color: #0f172a !important;
}

html.light .text-cyan-100,
html.light .text-cyan-200,
html.light .text-cyan-300,
html.light .hover\:text-cyan-300:hover,
html.light .hover\:text-cyan-200:hover {
  color: var(--ktd-accent, #0891b2) !important;
}

html.light .bg-cyan-400,
html.light .ktd-accent-bg {
  background-color: var(--ktd-accent, #22d3ee) !important;
}

html.light .text-slate-950 {
  color: #020617 !important;
}

html.light .shadow-glow,
html.light .shadow-soft,
html.light .shadow-2xl {
  box-shadow: 0 18px 60px rgba(15, 23, 42, .10) !important;
}

html.light .article-content :where(h1,h2,h3,h4),
html.light .ktd-prose h1,
html.light .ktd-prose h2,
html.light .ktd-prose h3,
html.light .widget h1,
html.light .widget h2,
html.light .widget h3 {
  color: #0f172a !important;
}

html.light .article-content p,
html.light .article-content li,
html.light .ktd-prose p,
html.light .ktd-prose li,
html.light .widget li,
html.light .wp-caption-text {
  color: #334155 !important;
}

html.light .article-content pre,
html.light .article-content code,
html.light .widget select,
html.light .widget input[type="text"],
html.light .widget input[type="search"],
html.light .widget input[type="email"] {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
  color: #0f172a !important;
}

html.light header {
  background: rgba(255, 255, 255, .86) !important;
}

html.light .pointer-events-none.fixed.inset-0 {
  opacity: .42;
}

[data-ktd-theme-toggle] {
  cursor: pointer;
  user-select: none;
}


/* =========================================================
   KAPPA ARTICLE CSS SYSTEM INTEGRATO NEL TEMA
   Versione integrata: 1.0.0
   Uso: <article class="kappa-article"> ... </article>
========================================================= */

/*
Theme: Kappa Tailwind Dark/Light - Article System
File: kappa-articles.css
Purpose: CSS definitivo per articoli HTML personalizzati del blog Kappa.
Usage: caricare nel tema oppure incollare in Aspetto > Personalizza > CSS aggiuntivo.
Version: 1.0.0
*/

/* =========================================================
   01. VARIABILI GLOBALI
========================================================= */
:root {
  --kappa-bg: #020617;
  --kappa-surface: #0f172a;
  --kappa-surface-soft: rgba(15, 23, 42, 0.72);
  --kappa-surface-strong: #020617;
  --kappa-border: #1e293b;
  --kappa-border-soft: rgba(148, 163, 184, 0.18);
  --kappa-text: #cbd5e1;
  --kappa-text-soft: #94a3b8;
  --kappa-title: #ffffff;
  --kappa-accent: #22d3ee;
  --kappa-accent-dark: #0891b2;
  --kappa-accent-soft: rgba(34, 211, 238, 0.12);
  --kappa-blue-soft: rgba(59, 130, 246, 0.12);
  --kappa-emerald-soft: rgba(16, 185, 129, 0.12);
  --kappa-rose-soft: rgba(244, 63, 94, 0.12);
  --kappa-amber-soft: rgba(245, 158, 11, 0.12);
  --kappa-radius-sm: 14px;
  --kappa-radius: 22px;
  --kappa-radius-lg: 28px;
  --kappa-shadow: 0 24px 70px rgba(2, 6, 23, 0.35);
}

html.light {
  --kappa-bg: #f8fafc;
  --kappa-surface: #ffffff;
  --kappa-surface-soft: rgba(255, 255, 255, 0.92);
  --kappa-surface-strong: #ffffff;
  --kappa-border: #e2e8f0;
  --kappa-border-soft: rgba(15, 23, 42, 0.10);
  --kappa-text: #475569;
  --kappa-text-soft: #64748b;
  --kappa-title: #0f172a;
  --kappa-accent: #0891b2;
  --kappa-accent-dark: #0e7490;
  --kappa-accent-soft: #ecfeff;
  --kappa-blue-soft: #eff6ff;
  --kappa-emerald-soft: #ecfdf5;
  --kappa-rose-soft: #fff1f2;
  --kappa-amber-soft: #fffbeb;
  --kappa-shadow: 0 20px 55px rgba(15, 23, 42, 0.08);
}

/* =========================================================
   02. CONTENITORE ARTICOLO
========================================================= */
.ktd-blog-article,
.kappa-article {
  max-width: 72rem;
  margin-left: auto;
  margin-right: auto;
  padding: 2.5rem 1rem;
  color: var(--kappa-text);
}

@media (min-width: 640px) {
  .ktd-blog-article,
  .kappa-article {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .ktd-blog-article,
  .kappa-article {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.ktd-blog-article *,
.kappa-article * {
  box-sizing: border-box;
}

.ktd-blog-article h1,
.ktd-blog-article h2,
.ktd-blog-article h3,
.ktd-blog-article h4,
.kappa-article h1,
.kappa-article h2,
.kappa-article h3,
.kappa-article h4 {
  color: var(--kappa-title);
  letter-spacing: -0.025em;
}

.ktd-blog-article h1,
.kappa-article h1 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.05;
  font-weight: 900;
}

.ktd-blog-article h2,
.kappa-article h2 {
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  line-height: 1.2;
  font-weight: 800;
  margin-bottom: 1rem;
}

.ktd-blog-article h3,
.kappa-article h3 {
  font-size: 1.125rem;
  line-height: 1.35;
  font-weight: 800;
}

.ktd-blog-article p,
.ktd-blog-article li,
.kappa-article p,
.kappa-article li {
  color: var(--kappa-text);
  line-height: 1.8;
}

.ktd-blog-article strong,
.kappa-article strong {
  color: var(--kappa-title);
  font-weight: 800;
}

.ktd-blog-article a,
.kappa-article a {
  color: var(--kappa-accent);
  text-decoration: none;
}

.ktd-blog-article a:hover,
.kappa-article a:hover {
  text-decoration: underline;
}

/* =========================================================
   03. HERO ARTICOLO
========================================================= */
.kappa-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 3rem;
  border: 1px solid var(--kappa-border);
  border-radius: var(--kappa-radius-lg);
  background: var(--kappa-surface-strong);
  box-shadow: var(--kappa-shadow);
}

.kappa-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(34, 211, 238, 0.20), transparent 32%),
              linear-gradient(135deg, rgba(34, 211, 238, 0.12), rgba(59, 130, 246, 0.06), transparent);
  pointer-events: none;
}

.kappa-hero-inner {
  position: relative;
  z-index: 1;
  padding: 3rem 1.5rem;
}

@media (min-width: 640px) {
  .kappa-hero-inner {
    padding: 3.5rem 2.5rem;
  }
}

@media (min-width: 1024px) {
  .kappa-hero-inner {
    padding: 4rem 3rem;
  }
}

.kappa-badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1.25rem;
  border: 1px solid rgba(34, 211, 238, 0.32);
  border-radius: 999px;
  background: var(--kappa-accent-soft);
  padding: .4rem 1rem;
  color: var(--kappa-accent);
  font-size: .875rem;
  font-weight: 800;
}

.kappa-hero-title {
  max-width: 58rem;
  margin: 0 0 1.5rem;
}

.kappa-hero-subtitle {
  max-width: 48rem;
  margin: 0;
  color: var(--kappa-text);
  font-size: 1.125rem;
  line-height: 1.8;
}

/* =========================================================
   04. SEZIONI E CARD
========================================================= */
.kappa-section {
  margin-bottom: 2.5rem;
}

.kappa-card,
.kappa-box {
  border: 1px solid var(--kappa-border);
  border-radius: var(--kappa-radius-lg);
  background: var(--kappa-surface-soft);
  padding: 1.5rem;
  box-shadow: 0 18px 45px rgba(2, 6, 23, 0.18);
}

@media (min-width: 640px) {
  .kappa-card,
  .kappa-box {
    padding: 2rem;
  }
}

html.light .kappa-card,
html.light .kappa-box {
  box-shadow: var(--kappa-shadow);
}

.kappa-card-soft {
  border: 1px solid var(--kappa-border-soft);
  border-radius: var(--kappa-radius);
  background: var(--kappa-surface);
  padding: 1.25rem;
}

.kappa-highlight {
  border: 1px solid rgba(34, 211, 238, 0.25);
  border-radius: var(--kappa-radius-lg);
  background: var(--kappa-accent-soft);
  padding: 1.5rem;
}

.kappa-note {
  border-left: 4px solid var(--kappa-accent);
  border-radius: var(--kappa-radius);
  background: var(--kappa-accent-soft);
  padding: 1.5rem;
}

.kappa-warning {
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: var(--kappa-radius-lg);
  background: var(--kappa-amber-soft);
  padding: 1.5rem;
}

.kappa-success {
  border: 1px solid rgba(16, 185, 129, 0.25);
  border-radius: var(--kappa-radius-lg);
  background: var(--kappa-emerald-soft);
  padding: 1.5rem;
}

.kappa-danger {
  border: 1px solid rgba(244, 63, 94, 0.25);
  border-radius: var(--kappa-radius-lg);
  background: var(--kappa-rose-soft);
  padding: 1.5rem;
}

/* =========================================================
   05. GRIGLIE RIUTILIZZABILI
========================================================= */
.kappa-grid-2,
.kappa-grid-3,
.kappa-grid-4,
.kappa-grid-5 {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 768px) {
  .kappa-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kappa-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kappa-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .kappa-grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .kappa-grid-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .kappa-grid-2,
  .kappa-grid-3,
  .kappa-grid-4,
  .kappa-grid-5 {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   06. LISTE, CHECKLIST, STEP
========================================================= */
.kappa-list {
  display: grid;
  gap: .75rem;
  padding: 0;
  margin: 1rem 0 0;
  list-style: none;
}

.kappa-list li {
  border: 1px solid var(--kappa-border);
  border-radius: var(--kappa-radius);
  background: var(--kappa-surface-strong);
  padding: 1rem;
}

.kappa-checklist {
  display: grid;
  gap: 1rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.kappa-checklist li {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  border: 1px solid var(--kappa-border);
  border-radius: var(--kappa-radius);
  background: var(--kappa-surface-strong);
  padding: 1rem;
}

.kappa-checklist li::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.5rem;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: .18rem;
  border-radius: 999px;
  background: var(--kappa-accent);
  color: #020617;
  font-size: .875rem;
  font-weight: 900;
}

.kappa-step {
  border: 1px solid var(--kappa-border);
  border-radius: var(--kappa-radius-lg);
  background: var(--kappa-surface-soft);
  padding: 1.25rem;
}

.kappa-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin-bottom: 1rem;
  border-radius: 1rem;
  background: var(--kappa-accent-soft);
  color: var(--kappa-accent);
  font-weight: 900;
}

/* =========================================================
   07. TABELLE
========================================================= */
.kappa-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--kappa-border);
  border-radius: var(--kappa-radius-lg);
}

.kappa-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  text-align: left;
  font-size: .95rem;
}

.kappa-table thead {
  background: var(--kappa-surface-strong);
  color: var(--kappa-title);
}

.kappa-table th,
.kappa-table td {
  padding: 1rem;
  border-bottom: 1px solid var(--kappa-border);
  vertical-align: top;
}

.kappa-table tbody {
  background: var(--kappa-surface-soft);
  color: var(--kappa-text);
}

.kappa-table tbody tr:last-child td {
  border-bottom: 0;
}

.kappa-table td,
.kappa-table th {
  color: var(--kappa-text);
}

.kappa-table th {
  color: var(--kappa-title);
  font-weight: 800;
}

/* Compatibility with Tailwind table classes already used in old articles */
html.light .ktd-blog-article table thead,
html.light .kappa-article table thead {
  background-color: #ecfeff !important;
}

html.light .ktd-blog-article table tbody,
html.light .kappa-article table tbody {
  background-color: #ffffff !important;
}

html.light .ktd-blog-article table tr,
html.light .kappa-article table tr {
  border-color: #e2e8f0 !important;
}

/* =========================================================
   08. PULSANTI E CTA
========================================================= */
.kappa-button,
.kappa-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  border: 1px solid rgba(34, 211, 238, 0.35);
  border-radius: 999px;
  background: var(--kappa-accent);
  padding: .85rem 1.25rem;
  color: #020617 !important;
  font-weight: 900;
  line-height: 1;
  text-decoration: none !important;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.kappa-button:hover,
.kappa-btn:hover {
  transform: translateY(-1px);
  filter: brightness(1.05);
  box-shadow: 0 15px 35px rgba(34, 211, 238, 0.20);
}

.kappa-button-secondary,
.kappa-btn-secondary {
  background: transparent;
  color: var(--kappa-accent) !important;
}

/* =========================================================
   09. AMAZON CARD
========================================================= */
.kappa-amazon-card,
.amazon-card {
  display: flex;
  gap: 1.25rem;
  align-items: stretch;
  border: 1px solid var(--kappa-border);
  border-radius: var(--kappa-radius-lg);
  background: var(--kappa-surface-soft);
  padding: 1rem;
  box-shadow: var(--kappa-shadow);
}

.kappa-amazon-card-image,
.amazon-card-image {
  width: 220px;
  max-width: 100%;
  flex-shrink: 0;
  border: 1px solid var(--kappa-border);
  border-radius: var(--kappa-radius);
  background: var(--kappa-surface-strong);
  padding: .75rem;
}

.kappa-amazon-card-image img,
.amazon-card-image img,
.kappa-amazon-card-product-img {
  width: 100%;
  height: auto;
  max-height: 260px;
  object-fit: contain;
  display: block;
  border-radius: var(--kappa-radius-sm);
}

.kappa-amazon-card-content,
.amazon-card-content {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.kappa-amazon-card-title,
.amazon-card-title {
  margin: 0 0 .5rem;
  color: var(--kappa-title);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1.25;
}

.kappa-amazon-card-description,
.amazon-card-description {
  margin: 0 0 1rem;
  color: var(--kappa-text);
  line-height: 1.7;
}

.kappa-amazon-card-badge,
.amazon-card-badge {
  display: inline-flex;
  width: fit-content;
  margin-bottom: .75rem;
  border-radius: 999px;
  background: var(--kappa-amber-soft);
  padding: .3rem .75rem;
  color: #f59e0b;
  font-size: .8rem;
  font-weight: 900;
}

.kappa-amazon-card-button,
.amazon-card-button {
  width: fit-content;
  border-radius: 999px;
  background: #f59e0b;
  padding: .85rem 1.2rem;
  color: #111827 !important;
  font-weight: 900;
  text-decoration: none !important;
}

@media (max-width: 768px) {
  .kappa-amazon-card,
  .amazon-card {
    flex-direction: column;
  }

  .kappa-amazon-card-image,
  .amazon-card-image {
    width: 100%;
  }

  .kappa-amazon-card-image img,
  .amazon-card-image img,
  .kappa-amazon-card-product-img {
    max-height: 280px;
  }
}

/* =========================================================
   10. COMPATIBILITÀ CON ARTICOLI TAILWIND GIÀ CREATI
   Queste regole correggono automaticamente gli articoli vecchi
   quando il visitatore passa in modalità Light.
========================================================= */
html.light .ktd-blog-article,
html.light .kappa-article {
  color: var(--kappa-text);
}

html.light .ktd-blog-article h1,
html.light .ktd-blog-article h2,
html.light .ktd-blog-article h3,
html.light .ktd-blog-article h4,
html.light .ktd-blog-article strong,
html.light .kappa-article h1,
html.light .kappa-article h2,
html.light .kappa-article h3,
html.light .kappa-article h4,
html.light .kappa-article strong {
  color: var(--kappa-title) !important;
}

html.light .ktd-blog-article p,
html.light .ktd-blog-article li,
html.light .ktd-blog-article td,
html.light .kappa-article p,
html.light .kappa-article li,
html.light .kappa-article td {
  color: var(--kappa-text) !important;
}

html.light .ktd-blog-article .bg-slate-950,
html.light .ktd-blog-article .bg-slate-950\/70,
html.light .ktd-blog-article .bg-slate-950\/80,
html.light .ktd-blog-article .bg-slate-950\/90,
html.light .ktd-blog-article .bg-slate-900,
html.light .ktd-blog-article .bg-slate-900\/50,
html.light .ktd-blog-article .bg-slate-900\/60,
html.light .ktd-blog-article .bg-slate-900\/70,
html.light .ktd-blog-article .bg-slate-900\/80,
html.light .ktd-blog-article .bg-slate-800,
html.light .ktd-blog-article .bg-slate-800\/70,
html.light .kappa-article .bg-slate-950,
html.light .kappa-article .bg-slate-950\/70,
html.light .kappa-article .bg-slate-950\/80,
html.light .kappa-article .bg-slate-950\/90,
html.light .kappa-article .bg-slate-900,
html.light .kappa-article .bg-slate-900\/50,
html.light .kappa-article .bg-slate-900\/60,
html.light .kappa-article .bg-slate-900\/70,
html.light .kappa-article .bg-slate-900\/80,
html.light .kappa-article .bg-slate-800,
html.light .kappa-article .bg-slate-800\/70 {
  background-color: #ffffff !important;
}

html.light .ktd-blog-article .border-slate-800,
html.light .ktd-blog-article .border-slate-700,
html.light .kappa-article .border-slate-800,
html.light .kappa-article .border-slate-700 {
  border-color: #e2e8f0 !important;
}

html.light .ktd-blog-article .text-white,
html.light .ktd-blog-article .text-slate-100,
html.light .ktd-blog-article .text-slate-200,
html.light .ktd-blog-article .text-slate-300,
html.light .ktd-blog-article .text-slate-400,
html.light .kappa-article .text-white,
html.light .kappa-article .text-slate-100,
html.light .kappa-article .text-slate-200,
html.light .kappa-article .text-slate-300,
html.light .kappa-article .text-slate-400 {
  color: var(--kappa-text) !important;
}

html.light .ktd-blog-article .text-cyan-300,
html.light .ktd-blog-article .text-cyan-200,
html.light .kappa-article .text-cyan-300,
html.light .kappa-article .text-cyan-200 {
  color: var(--kappa-accent) !important;
}

html.light .ktd-blog-article .bg-cyan-950\/20,
html.light .ktd-blog-article .bg-cyan-950\/30,
html.light .ktd-blog-article .bg-cyan-400\/10,
html.light .kappa-article .bg-cyan-950\/20,
html.light .kappa-article .bg-cyan-950\/30,
html.light .kappa-article .bg-cyan-400\/10 {
  background-color: #ecfeff !important;
}

html.light .ktd-blog-article .bg-emerald-950\/20,
html.light .kappa-article .bg-emerald-950\/20 {
  background-color: #ecfdf5 !important;
}

html.light .ktd-blog-article .bg-rose-950\/20,
html.light .kappa-article .bg-rose-950\/20 {
  background-color: #fff1f2 !important;
}

html.light .ktd-blog-article .bg-amber-950\/20,
html.light .kappa-article .bg-amber-950\/20 {
  background-color: #fffbeb !important;
}

html.light .ktd-blog-article header,
html.light .kappa-article header {
  background: linear-gradient(135deg, #ffffff, #ecfeff) !important;
}

/* =========================================================
   11. UTILITY PICCOLE
========================================================= */
.kappa-muted { color: var(--kappa-text-soft) !important; }
.kappa-accent { color: var(--kappa-accent) !important; }
.kappa-title { color: var(--kappa-title) !important; }
.kappa-text { color: var(--kappa-text) !important; }
.kappa-mb { margin-bottom: 2.5rem; }
.kappa-mb-sm { margin-bottom: 1.5rem; }
.kappa-center { text-align: center; }
.kappa-rounded { border-radius: var(--kappa-radius-lg); }

/* =========================================================
   12. RESPONSIVE FINALI
========================================================= */
@media (max-width: 640px) {
  .ktd-blog-article,
  .kappa-article {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }

  .kappa-hero-inner {
    padding: 2.25rem 1.25rem;
  }

  .kappa-card,
  .kappa-box,
  .kappa-highlight,
  .kappa-note,
  .kappa-warning,
  .kappa-success,
  .kappa-danger {
    padding: 1.25rem;
  }
}


/* =========================================================
   13. FIX DEFINITIVO HOMEPAGE - POST IN EVIDENZA DARK/LIGHT
   La card in evidenza usa un overlay/gradient Tailwind: queste classi
   dedicate impediscono testi illeggibili in modalità Light.
========================================================= */
.ktd-home-featured-shell {
  background: rgba(2, 6, 23, .72) !important;
  border-color: #1e293b !important;
}

.ktd-home-featured-card {
  background: linear-gradient(135deg, #0f172a, #020617) !important;
  border-color: #1e293b !important;
}

.ktd-home-featured-label,
.ktd-home-featured-excerpt,
.ktd-home-featured-empty {
  color: #94a3b8 !important;
}

.ktd-home-featured-title {
  color: #ffffff !important;
  text-decoration: none !important;
}

.ktd-home-featured-title:hover {
  color: var(--ktd-accent, #22d3ee) !important;
}

.ktd-home-featured-image {
  border-color: #1e293b !important;
}

html.light .ktd-home-featured-shell {
  background: rgba(255, 255, 255, .92) !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 18px 60px rgba(15, 23, 42, .10) !important;
}

html.light .ktd-home-featured-card {
  background: linear-gradient(135deg, #ffffff, #f0fdfa) !important;
  border-color: #dbeafe !important;
}

html.light .ktd-home-featured-post {
  background: transparent !important;
  color: #0f172a !important;
}

html.light .ktd-home-featured-label {
  color: #0891b2 !important;
}

html.light .ktd-home-featured-title,
html.light .ktd-home-featured-title:visited {
  color: #0f172a !important;
}

html.light .ktd-home-featured-title:hover {
  color: var(--ktd-accent, #0891b2) !important;
}

html.light .ktd-home-featured-excerpt,
html.light .ktd-home-featured-empty {
  color: #475569 !important;
}

html.light .ktd-home-featured-image {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

html.light .ktd-home-featured-image img {
  opacity: 1 !important;
}


/* ==================================================
   KAPPA FIX MIRATO: TOP BAR FISSA + SIDEBAR STICKY
   Classi dedicate aggiunte in header.php, sidebar.php e layout principali.
================================================== */

:root {
  --ktd-header-height: 78px;
  --ktd-sticky-offset: 104px;
}

.ktd-site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 99999 !important;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.admin-bar .ktd-site-header {
  top: 32px !important;
}

.ktd-page-shell {
  padding-top: calc(2.5rem + var(--ktd-header-height)) !important;
  overflow: visible !important;
}

.ktd-content-with-sidebar {
  align-items: start !important;
  overflow: visible !important;
}

.ktd-content-with-sidebar > main,
.ktd-content-with-sidebar > section {
  min-width: 0 !important;
}

.ktd-sidebar {
  position: sticky !important;
  top: var(--ktd-sticky-offset) !important;
  align-self: start !important;
  height: fit-content !important;
  max-height: calc(100vh - var(--ktd-sticky-offset) - 24px) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  z-index: 30 !important;
}

.ktd-sidebar-sticky {
  position: static !important;
  top: auto !important;
}

/* Sticky può rompersi se un genitore ha overflow diverso da visible.
   Queste classi sono mirate al layout del tema. */
.ktd-page-shell,
.ktd-content-with-sidebar,
.ktd-content-with-sidebar > main,
.ktd-content-with-sidebar > section {
  overflow: visible !important;
}

@media (max-width: 782px) {
  :root {
    --ktd-header-height: 72px;
  }

  .admin-bar .ktd-site-header {
    top: 46px !important;
  }
}

@media (max-width: 1023px) {
  .ktd-sidebar {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
}


/* ==================================================
   KAPPA TOP MENU: DROPDOWN E SOTTO-VOCI
   Supporto per voci figlie nel menu principale WordPress.
================================================== */

.ktd-primary-nav {
  overflow: visible !important;
}

.ktd-primary-menu,
.ktd-primary-menu ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.ktd-primary-menu li {
  position: relative;
  margin: 0 !important;
}

.ktd-primary-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .45rem;
  border-radius: .9rem;
  color: #cbd5e1;
  line-height: 1.2;
  text-decoration: none !important;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.ktd-primary-menu > li > a {
  padding: .65rem .8rem;
}

.ktd-primary-menu a:hover,
.ktd-primary-menu a:focus-visible,
.ktd-primary-menu .current-menu-item > a,
.ktd-primary-menu .current-menu-ancestor > a,
.ktd-primary-menu .current_page_item > a,
.ktd-primary-menu .current_page_ancestor > a {
  color: #67e8f9;
  background: rgba(8, 47, 73, .32);
  outline: none;
}

.ktd-primary-menu .menu-item-has-children > a::after,
.ktd-primary-menu .page_item_has_children > a::after {
  content: "⌄";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .8rem;
  line-height: 1;
  opacity: .75;
  transition: transform .18s ease;
}

.ktd-primary-menu .menu-item-has-children:hover > a::after,
.ktd-primary-menu .menu-item-has-children:focus-within > a::after,
.ktd-primary-menu .page_item_has_children:hover > a::after,
.ktd-primary-menu .page_item_has_children:focus-within > a::after {
  transform: rotate(180deg);
}

.ktd-primary-menu .sub-menu,
.ktd-primary-menu .children {
  display: grid;
  gap: .35rem;
}

.ktd-primary-menu .sub-menu a,
.ktd-primary-menu .children a {
  min-width: 100%;
  padding: .75rem .85rem;
  color: #cbd5e1;
  white-space: normal;
}

.ktd-primary-menu .sub-menu a:hover,
.ktd-primary-menu .sub-menu a:focus-visible,
.ktd-primary-menu .children a:hover,
.ktd-primary-menu .children a:focus-visible {
  color: #67e8f9;
  background: rgba(6, 182, 212, .10);
}

@media (min-width: 768px) {
  .ktd-primary-menu > li > .sub-menu,
  .ktd-primary-menu > li > .children {
    position: absolute;
    left: 0;
    top: calc(100% + .75rem);
    width: 15rem;
    padding: .55rem !important;
    border: 1px solid rgba(30, 41, 59, .92);
    border-radius: 1rem;
    background: rgba(15, 23, 42, .98);
    box-shadow: 0 24px 80px rgba(2, 6, 23, .52);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(.35rem);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 100000;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
  }

  .ktd-primary-menu > li:hover > .sub-menu,
  .ktd-primary-menu > li:focus-within > .sub-menu,
  .ktd-primary-menu > li:hover > .children,
  .ktd-primary-menu > li:focus-within > .children {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  .ktd-primary-menu > li > .sub-menu::before,
  .ktd-primary-menu > li > .children::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -.85rem;
    height: .85rem;
  }

  .ktd-primary-menu .sub-menu .sub-menu,
  .ktd-primary-menu .children .children {
    position: absolute;
    left: calc(100% + .6rem);
    top: -.55rem;
    width: 15rem;
    padding: .55rem !important;
    border: 1px solid rgba(30, 41, 59, .92);
    border-radius: 1rem;
    background: rgba(15, 23, 42, .98);
    box-shadow: 0 24px 80px rgba(2, 6, 23, .52);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(.35rem);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    z-index: 100001;
  }

  .ktd-primary-menu .sub-menu li:hover > .sub-menu,
  .ktd-primary-menu .sub-menu li:focus-within > .sub-menu,
  .ktd-primary-menu .children li:hover > .children,
  .ktd-primary-menu .children li:focus-within > .children {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }
}

@media (max-width: 767px) {
  .ktd-primary-nav {
    max-height: calc(100vh - 96px);
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  .ktd-primary-menu {
    width: 100%;
  }

  .ktd-primary-menu > li > a {
    width: 100%;
    padding: .8rem .9rem;
    background: rgba(15, 23, 42, .55);
    border: 1px solid rgba(30, 41, 59, .72);
  }

  .ktd-primary-menu .sub-menu,
  .ktd-primary-menu .children {
    margin-top: .45rem !important;
    margin-left: .75rem !important;
    padding-left: .75rem !important;
    border-left: 1px solid rgba(34, 211, 238, .24);
  }

  .ktd-primary-menu .sub-menu a,
  .ktd-primary-menu .children a {
    padding: .7rem .85rem;
    background: rgba(2, 6, 23, .42);
    border: 1px solid rgba(30, 41, 59, .62);
  }
}

html.light .ktd-primary-menu a {
  color: #334155;
}

html.light .ktd-primary-menu a:hover,
html.light .ktd-primary-menu a:focus-visible,
html.light .ktd-primary-menu .current-menu-item > a,
html.light .ktd-primary-menu .current-menu-ancestor > a,
html.light .ktd-primary-menu .current_page_item > a,
html.light .ktd-primary-menu .current_page_ancestor > a {
  color: var(--ktd-accent, #0891b2) !important;
  background: #ecfeff !important;
}

html.light .ktd-primary-menu .sub-menu,
html.light .ktd-primary-menu .children {
  background: rgba(255, 255, 255, .98) !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, .14) !important;
}

html.light .ktd-primary-menu .sub-menu a,
html.light .ktd-primary-menu .children a {
  color: #334155 !important;
}

html.light .ktd-primary-menu .sub-menu a:hover,
html.light .ktd-primary-menu .sub-menu a:focus-visible,
html.light .ktd-primary-menu .children a:hover,
html.light .ktd-primary-menu .children a:focus-visible {
  color: var(--ktd-accent, #0891b2) !important;
  background: #ecfeff !important;
}

@media (max-width: 767px) {
  html.light .ktd-primary-menu > li > a,
  html.light .ktd-primary-menu .sub-menu a,
  html.light .ktd-primary-menu .children a {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
  }
}

/* ==================================================
   KAPPA MOBILE MENU: SOTTOMENU A CLICK
   Su desktop i dropdown restano hover/focus.
   Su mobile i sotto-menu partono chiusi e si aprono con il pulsante.
================================================== */

.ktd-submenu-toggle {
  display: none;
}

@media (max-width: 767px) {
  .ktd-primary-menu .menu-item-has-children,
  .ktd-primary-menu .page_item_has_children {
    position: relative;
  }

  .ktd-primary-menu .menu-item-has-children > a,
  .ktd-primary-menu .page_item_has_children > a {
    padding-right: 3.25rem !important;
  }

  .ktd-primary-menu .menu-item-has-children > a::after,
  .ktd-primary-menu .page_item_has_children > a::after {
    content: none !important;
  }

  .ktd-submenu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: .42rem;
    right: .42rem;
    width: 2.35rem;
    height: 2.35rem;
    border-radius: .85rem;
    border: 1px solid rgba(34, 211, 238, .24);
    background: rgba(8, 47, 73, .34);
    color: #67e8f9;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
  }

  .ktd-submenu-toggle span {
    display: inline-block;
    transform: translateY(-1px);
    transition: transform .18s ease;
  }

  .ktd-submenu-toggle:hover,
  .ktd-submenu-toggle:focus-visible {
    background: rgba(6, 182, 212, .16);
    border-color: rgba(103, 232, 249, .55);
    outline: none;
  }

  .ktd-primary-menu .menu-item-has-children > .sub-menu,
  .ktd-primary-menu .menu-item-has-children > .children,
  .ktd-primary-menu .page_item_has_children > .sub-menu,
  .ktd-primary-menu .page_item_has_children > .children {
    display: none !important;
  }

  .ktd-primary-menu .menu-item-has-children.is-submenu-open > .sub-menu,
  .ktd-primary-menu .menu-item-has-children.is-submenu-open > .children,
  .ktd-primary-menu .page_item_has_children.is-submenu-open > .sub-menu,
  .ktd-primary-menu .page_item_has_children.is-submenu-open > .children {
    display: grid !important;
  }

  .ktd-primary-menu .menu-item-has-children.is-submenu-open > .ktd-submenu-toggle span,
  .ktd-primary-menu .page_item_has_children.is-submenu-open > .ktd-submenu-toggle span {
    transform: rotate(180deg) translateY(1px);
  }

  html.light .ktd-submenu-toggle {
    background: #ecfeff;
    border-color: #bae6fd;
    color: var(--ktd-accent, #0891b2);
  }

  html.light .ktd-submenu-toggle:hover,
  html.light .ktd-submenu-toggle:focus-visible {
    background: #cffafe;
    border-color: #67e8f9;
  }
}
