/*
Theme Name: Healthic Child Theme
Template: healthic
Theme URI: https://healthic.ancorathemes.com/
Description: Healthic Child Theme
Author: AncoraThemes
Author URI: https://ancorathemes.com/
Version: 1.0
Tested up to: 6.6
Requires at least: 5.0
Requires PHP: 7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog, e-commerce, portfolio, grid-layout, one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, footer-widgets, full-width-template, microformats, post-formats, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
Text Domain: healthic
*/

/* =Child-Theme customization starts here
------------------------------------------------------------ */

/* --- LEDE (intro answer-first) --- */
.fitlab-lede {
  font-size: 1.08em;
  line-height: 1.65;
  color: #ffffff;
  padding-bottom: 18px;
  margin-bottom: 24px;
  border-bottom: 1px solid #353E48;
}
.fitlab-lede strong { color: #e0b870; }

/* --- CALLOUT base + varianti --- */
.fitlab-callout {
  padding: 16px 20px;
  margin: 22px 0;
  border-radius: 6px;
  background: #16181c;
  border: 1px solid #353E48;
  color: #e8e8e8;
}
.fitlab-callout--left {
  border-left: 4px solid #e0b870;
  background: #16181c;
}
.fitlab-callout--principio {
  border-left: 4px solid #e0b870;
  background: rgba(224, 184, 112, 0.06);
  font-style: italic;
}
.fitlab-callout strong { color: #e0b870; }
.fitlab-callout ul { margin: 8px 0 0; padding-left: 20px; }
.fitlab-callout li { margin-bottom: 4px; }

/* --- Blockquote "Principio guida" / "Regola pratica" --- */
blockquote.fitlab-quote {
  border-left: 4px solid #e0b870;
  background: rgba(224, 184, 112, 0.06);
  padding: 14px 20px;
  margin: 24px 0;
  font-style: normal;
}
blockquote.fitlab-quote strong {
  color: #e0b870;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.85em;
}
blockquote.fitlab-quote p {
  font-size: 1.08em;
  line-height: 1.55;
  margin: 6px 0 0;
}

/* --- TOC (indice) — accordion native HTML <details> --- */
.fitlab-toc,
.wp-block-details.fitlab-toc {
  background: #16181c;
  border: 1px solid #353E48;
  padding: 24px 28px;
  border-radius: 6px;
  margin: 24px 0 32px;
}
.fitlab-toc summary {
  cursor: pointer;
  list-style: none;
  color: #e0b870;
  font-family: termina, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.95em;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}
.fitlab-toc summary::-webkit-details-marker { display: none; }
.fitlab-toc summary::after {
  content: "+";
  font-family: termina, monospace;
  font-size: 1.4em;
  font-weight: 400;
  color: #e0b870;
  line-height: 1;
  transition: transform 0.2s ease;
}
.fitlab-toc[open] summary::after {
  content: "−";
}
.fitlab-toc[open] summary {
  margin-bottom: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #353E48;
}
.fitlab-toc ul,
.fitlab-toc ul.wp-block-list,
.wp-block-details.fitlab-toc ul {
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.fitlab-toc li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 20px;
  list-style: none;
}
.fitlab-toc li:last-child {
  margin-bottom: 0;
}
.fitlab-toc li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: #e0b870;
  font-weight: 400;
}
.fitlab-toc a {
  color: #ffffff;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border .2s;
}
.fitlab-toc a:hover {
  color: #e0b870;
  border-bottom-color: #e0b870;
}

/* --- HR / separatore --- */
.fitlab-hr {
  margin: 32px 0;
  border: 0;
  border-top: 1px solid #353E48;
}

/* --- CTA inline --- */
.fitlab-cta {
  border: 1px solid #e0b870;
  padding: 22px;
  margin: 28px 0;
  border-radius: 6px;
  background: rgba(224, 184, 112, 0.06);
}
.fitlab-cta strong {
  color: #e0b870;
  display: block;
  margin-bottom: 6px;
  font-size: 1.05em;
}
.fitlab-cta a {
  color: #e0b870;
  font-weight: 600;
}
.fitlab-cta a:hover { color: #feb127; }

/* --- Box autore --- */
.fitlab-author {
  border: 1px solid #353E48;
  padding: 20px;
  border-radius: 6px;
  background: #16181c;
  margin: 32px 0;
}
.fitlab-author p { margin: 0 0 8px; }
.fitlab-author p:last-child { margin-bottom: 0; }
.fitlab-author strong { color: #e0b870; }

/* --- Testo piccolo / fonti / note --- */
.fitlab-small {
  font-size: 0.92em;
  color: #96999F;
  line-height: 1.5;
}
.fitlab-small a { color: #e0b870; }

/* --- Matrice decisionale (scenario → soluzione) --- */
.fitlab-decision-matrix {
  margin: 28px 0;
  border: 1px solid #353E48;
  border-radius: 6px;
  overflow: hidden;
}
.fitlab-decision-matrix table {
  margin: 0;
  width: 100%;
  border-collapse: collapse;
}
.fitlab-decision-matrix thead th {
  background: #16181c;
  color: #e0b870;
  font-family: termina, sans-serif;
  text-transform: uppercase;
  font-size: 0.82em;
  letter-spacing: 0.06em;
  font-weight: 600;
  padding: 14px 16px;
  text-align: left;
}
.fitlab-decision-matrix tbody td {
  padding: 14px 16px;
  border-top: 1px solid #353E48;
  vertical-align: top;
}
.fitlab-decision-matrix tbody tr:hover td {
  background: rgba(224, 184, 112, 0.03);
}

/* --- FAQ con prefissi Q. / A. automatici --- */
.fitlab-faq {
  border-top: 1px solid #353E48;
  padding-top: 24px;
  margin-top: 36px;
}
.fitlab-faq h3 {
  position: relative;
  padding-left: 40px;
  margin-top: 24px;
  margin-bottom: 10px;
}
.fitlab-faq h3::before {
  content: "Q.";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: termina, monospace;
  color: #e0b870;
  font-weight: 600;
  font-size: 0.6em;
  letter-spacing: 0.02em;
}
.fitlab-faq h3 + p {
  position: relative;
  padding-left: 40px;
  margin-bottom: 18px;
}
.fitlab-faq h3 + p::before {
  content: "A.";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  font-family: termina, monospace;
  color: #96999F;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* --- Checklist box (versione native Gutenberg) --- */
/* I numeri 01-N sono generati da CSS counter, niente span necessari. */
.fitlab-checklist-box,
.wp-block-group.fitlab-checklist-box {
  background: #16181c;
  border: 1px solid #353E48;
  border-radius: 6px;
  padding: 22px;
  margin: 28px 0;
}
.fitlab-checklist-box__title {
  margin: 0 0 16px;
  color: #e0b870;
  font-family: termina, sans-serif;
  font-size: 0.85em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.fitlab-checklist-box__list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: fitlab-checklist-counter;
}
.fitlab-checklist-box__list li {
  counter-increment: fitlab-checklist-counter;
  display: flex;
  gap: 16px;
  padding: 12px 0;
  border-top: 1px solid #353E48;
  color: #e8e8e8;
  line-height: 1.55;
  list-style: none;
}
.fitlab-checklist-box__list li:first-child {
  border-top: none;
  padding-top: 0;
}
.fitlab-checklist-box__list li::before {
  content: counter(fitlab-checklist-counter, decimal-leading-zero);
  flex-shrink: 0;
  min-width: 24px;
  color: #e0b870;
  font-family: termina, monospace;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* --- KPI grid (versione native Gutenberg) --- */
.fitlab-kpi-grid,
.wp-block-group.fitlab-kpi-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin: 28px 0;
}
.fitlab-kpi-card,
.wp-block-group.fitlab-kpi-card {
  display: block;
  padding: 18px;
  background: #16181c;
  border: 1px solid #353E48;
  border-left: 4px solid #e0b870;
  border-radius: 6px;
  color: #e8e8e8;
}
.fitlab-kpi-card__label {
  margin: 0 0 8px;
  color: #e0b870;
  font-family: termina, sans-serif;
  font-size: 0.78em;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
.fitlab-kpi-card__value {
  margin: 0 0 10px;
  color: #ffffff;
  font-family: termina, sans-serif;
  font-size: 1.35em;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.fitlab-kpi-card__note {
  margin: 0;
  color: #96999F;
  font-size: 0.92em;
  line-height: 1.5;
}

/* --- Responsive --- */
@media (max-width: 767px) {
  .fitlab-callout,
  .fitlab-cta,
  .fitlab-author {
    padding: 14px 16px;
  }
  .fitlab-toc,
  .wp-block-details.fitlab-toc {
    padding: 18px 20px;
  }
  .fitlab-faq h3,
  .fitlab-faq h3 + p {
    padding-left: 32px;
  }
  .fitlab-decision-matrix thead th,
  .fitlab-decision-matrix tbody td {
    padding: 10px 12px;
  }
  .fitlab-checklist-box,
  .wp-block-group.fitlab-checklist-box {
    padding: 18px 16px;
  }
  .fitlab-checklist-box__list li {
    gap: 12px;
    padding: 10px 0;
  }
  .fitlab-kpi-grid,
  .wp-block-group.fitlab-kpi-grid {
    grid-template-columns: 1fr;
  }
  .fitlab-kpi-card,
  .wp-block-group.fitlab-kpi-card {
    padding: 16px;
  }
}

/* === END FITLAB INSIGHT FRAMEWORK === */