/*
Theme Name: Kappa Tailwind Dark PRO V3.10
Theme URI: https://landos.us/kappa-tailwind-dark
Author: Kappa LandOS https://landos.click
Author URI: https://landos.us
Description: Tema WordPress dark moderno basato su Tailwind CSS CDN, pensato per blog e articoli editoriali.
Version: 1.4.1
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: #e2f9fd;
  --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: #f1f1f1;
  --kappa-surface-soft: rgba(255, 255, 255, 0.92);
  --kappa-surface-strong: #eeebeb;
  --kappa-border: #e2e8f0;
  --kappa-border-soft: rgba(15, 23, 42, 0.10);
  --kappa-text: #475569;
  --kappa-text-soft: #64748b;
  --kappa-title: #12686e;
  --kappa-accent: #9dc9d4;
  --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: #f3f3f3 !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: #f1eeee !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: #eeebeb !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, #eafcf8) !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;
}

/* ==================================================
   FIX DEFINITIVO MOBILE OVERFLOW - KTD BLOG ARTICLE
================================================== */

.ktd-blog-article {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  box-sizing: border-box;
}

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

.ktd-blog-article img,
.ktd-blog-article video,
.ktd-blog-article iframe {
  max-width: 100%;
  height: auto;
}

.ktd-blog-article table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
}

.ktd-blog-article th,
.ktd-blog-article td {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 768px) {
  .ktd-blog-article {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .ktd-blog-article header,
  .ktd-blog-article section,
  .ktd-blog-article footer,
  .ktd-blog-article div,
  .ktd-blog-article ul,
  .ktd-blog-article li,
  .ktd-blog-article p,
  .ktd-blog-article table {
    max-width: 100% !important;
  }

  .ktd-blog-article .grid {
    grid-template-columns: 1fr !important;
  }

  .ktd-blog-article [class*="grid-cols-"],
  .ktd-blog-article [class*="sm:grid-cols-"],
  .ktd-blog-article [class*="md:grid-cols-"],
  .ktd-blog-article [class*="lg:grid-cols-"] {
    grid-template-columns: 1fr !important;
  }

  .ktd-blog-article [class*="max-w-"] {
    max-width: 100% !important;
  }

  .ktd-blog-article [class*="min-w-"] {
    min-width: 0 !important;
  }

  .ktd-blog-article .overflow-x-auto {
    overflow-x: hidden !important;
  }

  .ktd-blog-article table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed;
  }

  .ktd-blog-article th,
  .ktd-blog-article td {
    padding: 12px 10px !important;
    font-size: 13px;
    line-height: 1.55;
    overflow-wrap: anywhere;
  }

  .ktd-blog-article h1 {
    font-size: 2rem !important;
    line-height: 1.15 !important;
  }

  .ktd-blog-article h2 {
    font-size: 1.45rem !important;
    line-height: 1.25 !important;
  }

  .ktd-blog-article h3 {
    font-size: 1.1rem !important;
    line-height: 1.3 !important;
  }
}

/* Evita overflow laterale globale su mobile */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.entry-content,
.wp-block-post-content,
.wp-site-blocks {
  max-width: 100%;
  overflow-x: hidden;
}