/* Holo3000 - stile delle pagine di contenuto (blocchi "h3k")
   Da caricare in: /shop/themes/classic/assets/css/custom.css
   Le regole valgono solo dentro <div class="h3k"> e nel blocco di testo della home (#custom-text). */

.h3k,
#custom-text .h3k {
  --h3k-graphite: #26282d;
  --h3k-ink: #17181b;
  --h3k-text: #3d4046;
  --h3k-muted: #6b6f76;
  --h3k-mist: #f4f5f7;
  --h3k-line: #e1e3e8;
  --h3k-link: #1a56b0;
  --h3k-foil: linear-gradient(90deg, #ff4d8d 0%, #ff9f43 20%, #ffe14d 40%, #4ddc9a 60%, #3fb6ff 80%, #8f6bff 100%);
  color: var(--h3k-text);
  font-size: 1.0625rem;
  line-height: 1.6;
  text-align: left;
}
.h3k *,
.h3k *::before,
.h3k *::after,
#custom-text .h3k *,
#custom-text .h3k *::before,
#custom-text .h3k *::after { box-sizing: border-box; }

/* testo di base */
.h3k p,
#custom-text .h3k p { margin: 0 0 1rem; color: var(--h3k-text); font-size: 1.0625rem; line-height: 1.6; }
.h3k h2,
.h3k h3,
#custom-text .h3k h2,
#custom-text .h3k h3 { color: var(--h3k-ink); text-transform: none; font-weight: 800; letter-spacing: -0.015em; margin: 0; }
.h3k a,
#custom-text .h3k a { color: var(--h3k-link); text-decoration: underline; text-underline-offset: 3px; }
.h3k a:hover,
.h3k a:focus,
#custom-text .h3k a:hover,
#custom-text .h3k a:focus { color: var(--h3k-ink); text-decoration: underline; }
.h3k img,
#custom-text .h3k img { display: block; max-width: 100%; height: auto; border: 0; }
.h3k a[href^="tel:"],
#custom-text .h3k a[href^="tel:"] { white-space: nowrap; }
.h3k strong,
#custom-text .h3k strong { color: var(--h3k-ink); font-weight: 700; }

/* sezioni */
.h3k .h3k-section,
#custom-text .h3k .h3k-section { margin: 3.5rem 0 0; }
.h3k .h3k-h2,
#custom-text .h3k .h3k-h2 { font-size: 1.75rem; line-height: 1.15; padding-top: 1rem; margin-bottom: 1rem; position: relative; }
.h3k .h3k-h2::before,
#custom-text .h3k .h3k-h2::before { content: ""; position: absolute; left: 0; top: 0; width: 3.5rem; height: 4px; border-radius: 2px; background: var(--h3k-foil); }
.h3k .h3k-intro,
#custom-text .h3k .h3k-intro { max-width: 44rem; font-size: 1.125rem; }

/* testata */
.h3k .h3k-hero,
#custom-text .h3k .h3k-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); background: var(--h3k-graphite); border-radius: 18px; overflow: hidden; }
.h3k .h3k-hero::before,
#custom-text .h3k .h3k-hero::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--h3k-foil); z-index: 2; }
.h3k .h3k-hero-text,
#custom-text .h3k .h3k-hero-text { padding: 3.25rem 2.5rem 2.75rem; position: relative; z-index: 1; }
.h3k .h3k-display,
#custom-text .h3k .h3k-display { color: #fff; font-size: 3rem; line-height: 1.04; letter-spacing: -0.03em; font-weight: 800; margin: 0 0 1.25rem; }
.h3k .h3k-hero .h3k-lead,
#custom-text .h3k .h3k-hero .h3k-lead { color: #d9dce2; font-size: 1.1875rem; line-height: 1.5; margin: 0 0 1.75rem; max-width: 32rem; }
.h3k .h3k-hero .h3k-note,
#custom-text .h3k .h3k-hero .h3k-note { color: #a9adb6; font-size: 0.9375rem; margin: 1.25rem 0 0; }
.h3k .h3k-hero-media,
#custom-text .h3k .h3k-hero-media { position: relative; min-height: 20rem; }
.h3k .h3k-hero-media img,
#custom-text .h3k .h3k-hero-media img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.h3k .h3k-hero-media::after,
#custom-text .h3k .h3k-hero-media::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 38%; background: linear-gradient(90deg, #26282d 0%, rgba(38, 40, 45, 0) 100%); }

/* pulsanti */
.h3k .h3k-actions,
#custom-text .h3k .h3k-actions { margin: 0; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.h3k a.h3k-btn,
#custom-text .h3k a.h3k-btn { display: inline-block; padding: 0.85rem 1.4rem; border-radius: 10px; font-size: 1rem; font-weight: 700; line-height: 1.2; text-decoration: none; border: 2px solid transparent; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease; }
.h3k a.h3k-btn:focus,
#custom-text .h3k a.h3k-btn:focus { outline: 3px solid #3fb6ff; outline-offset: 2px; }
.h3k a.h3k-btn-light,
#custom-text .h3k a.h3k-btn-light { background: #fff; color: var(--h3k-ink); border-color: #fff; }
.h3k a.h3k-btn-light:hover,
.h3k a.h3k-btn-light:focus,
#custom-text .h3k a.h3k-btn-light:hover,
#custom-text .h3k a.h3k-btn-light:focus { background: #ffe14d; border-color: #ffe14d; color: var(--h3k-ink); text-decoration: none; }
.h3k a.h3k-btn-ghost,
#custom-text .h3k a.h3k-btn-ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.45); }
.h3k a.h3k-btn-ghost:hover,
.h3k a.h3k-btn-ghost:focus,
#custom-text .h3k a.h3k-btn-ghost:hover,
#custom-text .h3k a.h3k-btn-ghost:focus { border-color: #fff; color: #fff; text-decoration: none; }
.h3k a.h3k-btn-dark,
#custom-text .h3k a.h3k-btn-dark { background: var(--h3k-graphite); color: #fff; border-color: var(--h3k-graphite); }
.h3k a.h3k-btn-dark:hover,
.h3k a.h3k-btn-dark:focus,
#custom-text .h3k a.h3k-btn-dark:hover,
#custom-text .h3k a.h3k-btn-dark:focus { background: #000; border-color: #000; color: #fff; text-decoration: none; }

/* elenco caratteristiche: termine a sinistra, descrizione a destra */
.h3k .h3k-specs,
#custom-text .h3k .h3k-specs { border-top: 1px solid var(--h3k-line); margin-top: 1.5rem; }
.h3k .h3k-spec,
#custom-text .h3k .h3k-spec { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 1.5rem; padding: 1.1rem 0; border-bottom: 1px solid var(--h3k-line); }
.h3k .h3k-spec h3,
#custom-text .h3k .h3k-spec h3 { font-size: 1.125rem; line-height: 1.3; }
.h3k .h3k-spec p,
#custom-text .h3k .h3k-spec p { margin: 0; }

/* galleria */
.h3k .h3k-group,
#custom-text .h3k .h3k-group { font-size: 1.125rem; margin: 2rem 0 0.9rem; }
.h3k .h3k-gallery,
#custom-text .h3k .h3k-gallery { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.1rem 0.9rem; }
.h3k .h3k-shot img,
#custom-text .h3k .h3k-shot img { width: 100%; aspect-ratio: 6 / 5; object-fit: cover; border-radius: 12px; background: var(--h3k-mist); }
.h3k .h3k-shot p,
#custom-text .h3k .h3k-shot p { margin: 0.5rem 0 0; font-size: 0.9375rem; line-height: 1.3; color: var(--h3k-ink); font-weight: 600; }

/* passaggi numerati come numeri di serie */
.h3k ol.h3k-steps,
#custom-text .h3k ol.h3k-steps { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.25rem; counter-reset: h3kstep; }
.h3k ol.h3k-steps li,
#custom-text .h3k ol.h3k-steps li { counter-increment: h3kstep; border-top: 2px solid var(--h3k-ink); padding: 0.9rem 0 0; margin: 0; }
.h3k ol.h3k-steps li::before,
#custom-text .h3k ol.h3k-steps li::before { content: "N\00B0\00A0 0000" counter(h3kstep); display: block; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.12em; color: var(--h3k-muted); font-variant-numeric: tabular-nums; margin-bottom: 0.5rem; }
.h3k ol.h3k-steps h3,
#custom-text .h3k ol.h3k-steps h3 { font-size: 1.125rem; line-height: 1.25; margin-bottom: 0.4rem; }
.h3k ol.h3k-steps p,
#custom-text .h3k ol.h3k-steps p { font-size: 0.9688rem; line-height: 1.5; margin: 0; }

/* due percorsi affiancati */
.h3k .h3k-duo,
#custom-text .h3k .h3k-duo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.h3k .h3k-panel,
#custom-text .h3k .h3k-panel { background: var(--h3k-mist); border-radius: 14px; padding: 1.75rem; }
.h3k .h3k-panel h3,
#custom-text .h3k .h3k-panel h3 { font-size: 1.3125rem; line-height: 1.2; margin-bottom: 0.6rem; }
.h3k .h3k-panel p,
#custom-text .h3k .h3k-panel p { margin-bottom: 1.1rem; }
.h3k .h3k-panel p.h3k-actions,
#custom-text .h3k .h3k-panel p.h3k-actions { margin: 0; }

/* tre servizi */
.h3k .h3k-trio,
#custom-text .h3k .h3k-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; margin-top: 1.5rem; }
.h3k .h3k-trio h3,
#custom-text .h3k .h3k-trio h3 { font-size: 1.1875rem; line-height: 1.25; margin-bottom: 0.4rem; }
.h3k .h3k-trio p,
#custom-text .h3k .h3k-trio p { margin: 0; }

/* dato in evidenza */
.h3k .h3k-stat,
#custom-text .h3k .h3k-stat { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2rem; align-items: center; background: var(--h3k-graphite); border-radius: 18px; padding: 2.25rem 2.5rem; }
.h3k .h3k-stat-num,
#custom-text .h3k .h3k-stat-num { font-size: 4.5rem; line-height: 1; font-weight: 800; letter-spacing: -0.04em; margin: 0; background: var(--h3k-foil); -webkit-background-clip: text; background-clip: text; color: #ffe14d; -webkit-text-fill-color: transparent; }
.h3k .h3k-stat p.h3k-stat-text,
#custom-text .h3k .h3k-stat p.h3k-stat-text { color: #e4e6ea; font-size: 1.1875rem; line-height: 1.5; margin: 0; }
.h3k .h3k-stat p.h3k-stat-text strong,
#custom-text .h3k .h3k-stat p.h3k-stat-text strong { color: #fff; }

/* flusso in quattro passaggi */
.h3k ol.h3k-flow,
#custom-text .h3k ol.h3k-flow { list-style: none; margin: 1.75rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); counter-reset: h3kflow; }
.h3k ol.h3k-flow li,
#custom-text .h3k ol.h3k-flow li { counter-increment: h3kflow; position: relative; padding: 1.6rem 1.25rem 0 0; margin: 0; border-top: 2px solid var(--h3k-ink); }
.h3k ol.h3k-flow li::before,
#custom-text .h3k ol.h3k-flow li::before { content: counter(h3kflow); position: absolute; left: 0; top: -0.95rem; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--h3k-ink); color: #fff; font-size: 0.9375rem; font-weight: 700; line-height: 1.9rem; text-align: center; }
.h3k ol.h3k-flow h3,
#custom-text .h3k ol.h3k-flow h3 { font-size: 1.0625rem; line-height: 1.25; margin-bottom: 0.35rem; }
.h3k ol.h3k-flow p,
#custom-text .h3k ol.h3k-flow p { font-size: 0.9688rem; line-height: 1.5; margin: 0; }

/* fascia finale di contatto */
.h3k .h3k-cta,
#custom-text .h3k .h3k-cta { position: relative; margin-top: 3.5rem; background: var(--h3k-graphite); border-radius: 18px; padding: 2.5rem; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2rem; align-items: center; }
.h3k .h3k-cta::before,
#custom-text .h3k .h3k-cta::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--h3k-foil); }
.h3k .h3k-cta h2,
#custom-text .h3k .h3k-cta h2 { color: #fff; font-size: 1.75rem; line-height: 1.15; margin-bottom: 0.5rem; }
.h3k .h3k-cta p,
#custom-text .h3k .h3k-cta p { color: #d9dce2; margin: 0; }
.h3k .h3k-cta p a:not(.h3k-btn),
#custom-text .h3k .h3k-cta p a:not(.h3k-btn) { color: #fff; }
.h3k .h3k-cta p a:not(.h3k-btn):hover,
.h3k .h3k-cta p a:not(.h3k-btn):focus,
#custom-text .h3k .h3k-cta p a:not(.h3k-btn):hover,
#custom-text .h3k .h3k-cta p a:not(.h3k-btn):focus { color: #ffe14d; }

/* guida: colonna di lettura */
.h3k .h3k-article,
#custom-text .h3k .h3k-article { max-width: 46rem; margin: 0 auto; }
.h3k .h3k-article .h3k-section,
#custom-text .h3k .h3k-article .h3k-section { margin-top: 3rem; }
.h3k .h3k-article p.h3k-lead,
#custom-text .h3k .h3k-article p.h3k-lead { font-size: 1.3125rem; line-height: 1.5; color: var(--h3k-ink); margin-bottom: 1.5rem; }
.h3k .h3k-banner img,
#custom-text .h3k .h3k-banner img { width: 100%; aspect-ratio: 3 / 1; object-fit: cover; border-radius: 14px; }
.h3k .h3k-toc,
#custom-text .h3k .h3k-toc { background: var(--h3k-mist); border-radius: 14px; padding: 1.4rem 1.6rem; margin-top: 1.75rem; }
.h3k .h3k-toc h2,
#custom-text .h3k .h3k-toc h2 { font-size: 1.0625rem; margin-bottom: 0.6rem; }
.h3k ol.h3k-toc-list,
#custom-text .h3k ol.h3k-toc-list { margin: 0; padding: 0 0 0 1.3rem; list-style: decimal; columns: 2; column-gap: 2rem; }
.h3k ol.h3k-toc-list li,
#custom-text .h3k ol.h3k-toc-list li { margin: 0 0 0.35rem; padding: 0; break-inside: avoid; }
.h3k ul.h3k-list,
.h3k ol.h3k-list,
#custom-text .h3k ul.h3k-list,
#custom-text .h3k ol.h3k-list { margin: 0 0 1rem; padding: 0 0 0 1.3rem; }
.h3k ul.h3k-list,
#custom-text .h3k ul.h3k-list { list-style: disc; }
.h3k ol.h3k-list,
#custom-text .h3k ol.h3k-list { list-style: decimal; }
.h3k .h3k-list li,
#custom-text .h3k .h3k-list li { margin: 0 0 0.5rem; padding: 0; }
.h3k .h3k-h3,
#custom-text .h3k .h3k-h3 { font-size: 1.25rem; line-height: 1.25; margin: 1.75rem 0 0.5rem; }
.h3k .h3k-figure,
#custom-text .h3k .h3k-figure { margin: 1.5rem 0; }
.h3k .h3k-figure img,
#custom-text .h3k .h3k-figure img { width: 100%; border-radius: 12px; border: 1px solid var(--h3k-line); }
.h3k .h3k-figure p,
#custom-text .h3k .h3k-figure p { font-size: 0.9375rem; color: var(--h3k-muted); margin: 0.6rem 0 0; }
.h3k .h3k-pair,
#custom-text .h3k .h3k-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.25rem 0; }
.h3k .h3k-quad,
#custom-text .h3k .h3k-quad { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.9rem; margin: 1.25rem 0; }

/* livelli di sicurezza */
.h3k .h3k-levels,
#custom-text .h3k .h3k-levels { border-top: 1px solid var(--h3k-line); margin: 1.25rem 0; }
.h3k .h3k-level,
#custom-text .h3k .h3k-level { display: grid; grid-template-columns: 11rem minmax(0, 1fr); gap: 1.25rem; padding: 1rem 0; border-bottom: 1px solid var(--h3k-line); }
.h3k .h3k-level h3,
#custom-text .h3k .h3k-level h3 { font-size: 1.0625rem; line-height: 1.3; }
.h3k .h3k-level p,
#custom-text .h3k .h3k-level p { margin: 0; }

/* dimostrazione del microtesto */
.h3k .h3k-micro,
#custom-text .h3k .h3k-micro { margin: 1.5rem 0; padding: 1.25rem 1.5rem; background: var(--h3k-graphite); border-radius: 12px; overflow: hidden; }
.h3k .h3k-micro p,
#custom-text .h3k .h3k-micro p { color: #e4e6ea; margin: 0 0 0.9rem; font-size: 1rem; }
.h3k .h3k-micro p.h3k-micro-line,
#custom-text .h3k .h3k-micro p.h3k-micro-line { margin: 0; padding: 5px 0; border-top: 1px solid rgba(255, 255, 255, 0.35); border-bottom: 1px solid rgba(255, 255, 255, 0.35); font-size: 4px; line-height: 1; letter-spacing: 0.18em; white-space: nowrap; overflow: hidden; color: #ffe14d; font-weight: 700; }
.h3k .h3k-micro p.h3k-micro-line::after,
#custom-text .h3k .h3k-micro p.h3k-micro-line::after { content: " HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE HOLO3000 GENUINE"; }

/* domande frequenti */
.h3k .h3k-faq h3,
#custom-text .h3k .h3k-faq h3 { font-size: 1.1875rem; line-height: 1.3; margin: 1.5rem 0 0.4rem; padding-top: 1.25rem; border-top: 1px solid var(--h3k-line); }
.h3k .h3k-faq p,
#custom-text .h3k .h3k-faq p { margin: 0; }

/* schermi medi */
@media (max-width: 991px) {
  .h3k .h3k-display,
  #custom-text .h3k .h3k-display { font-size: 2.375rem; }
  .h3k .h3k-hero-text,
  #custom-text .h3k .h3k-hero-text { padding: 2.5rem 1.75rem 2.25rem; }
  .h3k .h3k-gallery,
  #custom-text .h3k .h3k-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .h3k ol.h3k-steps,
  #custom-text .h3k ol.h3k-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.75rem; }
  .h3k .h3k-spec,
  #custom-text .h3k .h3k-spec { grid-template-columns: 11rem minmax(0, 1fr); }
  .h3k .h3k-stat-num,
  #custom-text .h3k .h3k-stat-num { font-size: 3.5rem; }
}

/* telefoni */
@media (max-width: 767px) {
  .h3k,
  #custom-text .h3k { font-size: 1rem; }
  .h3k p,
  #custom-text .h3k p { font-size: 1rem; }
  .h3k .h3k-section,
  #custom-text .h3k .h3k-section { margin-top: 2.5rem; }
  .h3k .h3k-h2,
  #custom-text .h3k .h3k-h2 { font-size: 1.4375rem; }
  .h3k .h3k-hero,
  #custom-text .h3k .h3k-hero { grid-template-columns: minmax(0, 1fr); border-radius: 14px; }
  .h3k .h3k-hero-media,
  #custom-text .h3k .h3k-hero-media { order: -1; min-height: 0; height: 9.5rem; }
  .h3k .h3k-hero-media::after,
  #custom-text .h3k .h3k-hero-media::after { left: 0; right: 0; top: auto; bottom: 0; width: auto; height: 55%; background: linear-gradient(0deg, #26282d 0%, rgba(38, 40, 45, 0) 100%); }
  .h3k .h3k-hero-text,
  #custom-text .h3k .h3k-hero-text { padding: 1.5rem 1.25rem 1.75rem; }
  .h3k .h3k-display,
  #custom-text .h3k .h3k-display { font-size: 1.9375rem; margin-bottom: 0.9rem; }
  .h3k .h3k-hero .h3k-lead,
  #custom-text .h3k .h3k-hero .h3k-lead { font-size: 1.0625rem; margin-bottom: 1.25rem; }
  .h3k a.h3k-btn,
  #custom-text .h3k a.h3k-btn { display: block; width: 100%; text-align: center; }
  .h3k .h3k-actions,
  #custom-text .h3k .h3k-actions { display: block; }
  .h3k .h3k-actions a.h3k-btn + a.h3k-btn,
  #custom-text .h3k .h3k-actions a.h3k-btn + a.h3k-btn { margin-top: 0.6rem; }
  .h3k .h3k-spec,
  .h3k .h3k-level,
  #custom-text .h3k .h3k-spec,
  #custom-text .h3k .h3k-level { grid-template-columns: minmax(0, 1fr); gap: 0.3rem; }
  .h3k .h3k-gallery,
  #custom-text .h3k .h3k-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h3k ol.h3k-steps,
  #custom-text .h3k ol.h3k-steps { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .h3k .h3k-duo,
  .h3k .h3k-trio,
  #custom-text .h3k .h3k-duo,
  #custom-text .h3k .h3k-trio { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
  .h3k .h3k-panel,
  #custom-text .h3k .h3k-panel { padding: 1.4rem 1.25rem; }
  .h3k .h3k-stat,
  #custom-text .h3k .h3k-stat { grid-template-columns: minmax(0, 1fr); gap: 0.75rem; padding: 1.6rem 1.25rem; border-radius: 14px; }
  .h3k .h3k-stat-num,
  #custom-text .h3k .h3k-stat-num { font-size: 3.25rem; }
  .h3k .h3k-stat p.h3k-stat-text,
  #custom-text .h3k .h3k-stat p.h3k-stat-text { font-size: 1.0625rem; }
  .h3k ol.h3k-flow,
  #custom-text .h3k ol.h3k-flow { grid-template-columns: minmax(0, 1fr); margin-left: 0.95rem; }
  .h3k ol.h3k-flow li,
  #custom-text .h3k ol.h3k-flow li { border-top: 0; border-left: 2px solid var(--h3k-ink); padding: 0 0 1.5rem 1.6rem; }
  .h3k ol.h3k-flow li::before,
  #custom-text .h3k ol.h3k-flow li::before { left: -1rem; top: 0; }
  .h3k .h3k-cta,
  #custom-text .h3k .h3k-cta { grid-template-columns: minmax(0, 1fr); padding: 1.9rem 1.25rem 1.5rem; gap: 1.25rem; border-radius: 14px; margin-top: 2.5rem; }
  .h3k .h3k-cta h2,
  #custom-text .h3k .h3k-cta h2 { font-size: 1.4375rem; }
  .h3k .h3k-article p.h3k-lead,
  #custom-text .h3k .h3k-article p.h3k-lead { font-size: 1.125rem; }
  .h3k .h3k-banner img,
  #custom-text .h3k .h3k-banner img { aspect-ratio: 2 / 1; }
  .h3k ol.h3k-toc-list,
  #custom-text .h3k ol.h3k-toc-list { columns: 1; }
  .h3k .h3k-quad,
  #custom-text .h3k .h3k-quad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .h3k a.h3k-btn,
  #custom-text .h3k a.h3k-btn { transition: none; }
}

/* ---------- HOME: blocco di testo personalizzato ---------- */
#custom-text { padding: 1.25rem; margin-bottom: 1.5rem; background: #fff; text-align: left; border-radius: 2px; }

/* testata con mosaico di foto */
.h3k .h3k-hero-media.h3k-mosaic,
#custom-text .h3k .h3k-hero-media.h3k-mosaic { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 3px; }
.h3k .h3k-mosaic .h3k-tile,
#custom-text .h3k .h3k-mosaic .h3k-tile { position: relative; overflow: hidden; min-height: 0; }
.h3k .h3k-hero-media.h3k-mosaic .h3k-tile img,
#custom-text .h3k .h3k-hero-media.h3k-mosaic .h3k-tile img { position: absolute; left: 0; top: 0; width: 100%; height: 124%; max-width: none; object-fit: cover; object-position: center top; }
.h3k .h3k-stat p.h3k-stat-text a,
#custom-text .h3k .h3k-stat p.h3k-stat-text a { color: #fff; }
.h3k .h3k-stat p.h3k-stat-text a:hover,
.h3k .h3k-stat p.h3k-stat-text a:focus,
#custom-text .h3k .h3k-stat p.h3k-stat-text a:hover,
#custom-text .h3k .h3k-stat p.h3k-stat-text a:focus { color: #ffe14d; }

/* categorie dello shop */
.h3k .h3k-cats,
#custom-text .h3k .h3k-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.h3k .h3k-cat,
#custom-text .h3k .h3k-cat { border: 1px solid var(--h3k-line); border-radius: 14px; overflow: hidden; background: #fff; }
.h3k .h3k-cat img,
#custom-text .h3k .h3k-cat img { width: 100%; aspect-ratio: 6 / 5; object-fit: cover; }
.h3k .h3k-cat h3,
#custom-text .h3k .h3k-cat h3 { font-size: 1.1875rem; line-height: 1.25; margin: 1rem 1.1rem 0.35rem; }
.h3k .h3k-cat h3 a,
#custom-text .h3k .h3k-cat h3 a { color: var(--h3k-ink); text-decoration: none; }
.h3k .h3k-cat h3 a:hover,
.h3k .h3k-cat h3 a:focus,
#custom-text .h3k .h3k-cat h3 a:hover,
#custom-text .h3k .h3k-cat h3 a:focus { text-decoration: underline; }
.h3k .h3k-cat p,
#custom-text .h3k .h3k-cat p { font-size: 0.9688rem; line-height: 1.5; margin: 0 1.1rem 1.1rem; }
.h3k .h3k-more,
#custom-text .h3k .h3k-more { margin: 1.25rem 0 0; }

@media (max-width: 991px) {
  .h3k .h3k-cats,
  #custom-text .h3k .h3k-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  #custom-text { padding: 0.9rem; }
  .h3k .h3k-hero-media.h3k-mosaic,
  #custom-text .h3k .h3k-hero-media.h3k-mosaic { grid-template-rows: minmax(0, 1fr); }
  .h3k .h3k-mosaic .h3k-tile:nth-child(n+4),
  #custom-text .h3k .h3k-mosaic .h3k-tile:nth-child(n+4) { display: none; }
  .h3k .h3k-cats,
  #custom-text .h3k .h3k-cats { gap: 0.9rem; }
  .h3k .h3k-cat h3,
  #custom-text .h3k .h3k-cat h3 { font-size: 1.0625rem; margin: 0.8rem 0.8rem 0.3rem; }
  .h3k .h3k-cat p,
  #custom-text .h3k .h3k-cat p { font-size: 0.9375rem; margin: 0 0.8rem 0.9rem; }
}
