/* =====================================================================
   ARCHICONTRACTOR · Blog e articoli
   Scala ridotta: titolo 64, sezioni 36, sottosezioni 24, testo 20, note 16.
   ===================================================================== */

/* ---------- Filtri per categoria ---------- */
.ac-bi__filters{ display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: clamp(36px, 3.472vw, 60px); }
.ac-chip{
  display: inline-flex; align-items: center; gap: 10px; height: 42px; padding: 0 18px;
  border: 1px solid var(--ac-black); border-radius: 999px; background: transparent; color: var(--ac-black);
  font: inherit; font-size: var(--ac-fs-18); cursor: pointer; transition: background-color .25s, color .25s;
}
.ac-chip span{ opacity: .5; font-variant-numeric: tabular-nums; }
.ac-chip:hover{ background: #f2f2f2; }
.ac-chip.is-active{ background: var(--ac-black); color: var(--ac-white); }

/* ---------- Articolo in evidenza ---------- */
.ac-bi__featured{
  position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ac-gap);
  padding: clamp(24px, 2.778vw, 48px) 0 clamp(36px, 4.167vw, 72px); border-top: 1px solid var(--ac-black);
}
.ac-bi__label{ grid-column: 1 / -1; margin: 0 0 clamp(18px, 1.389vw, 24px) !important; opacity: .6; }
.ac-bi__ftitle{ grid-column: 1 / span 8; margin: 0 !important; }
.ac-bi__ftitle a, .ac-bi__title a{ color: inherit !important; text-decoration: none; }
.ac-bi__fexcerpt{ grid-column: 9 / span 4; grid-row: 2; align-self: start; margin: 0 !important; }
.ac-bi__fbtn{ grid-column: 9 / span 4; grid-row: 3; justify-self: start; margin-top: clamp(24px, 2.083vw, 36px); }
.ac-bi__featured:hover .ac-icon-arrow{ transform: translateX(4px); }
.ac-bi__featured:hover .ac-bi__ftitle a{ text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .08em; }

/* ---------- Indice degli articoli: righe che si invertono al passaggio ---------- */
.ac-bi__list{ border-bottom: 1px solid var(--ac-black); }
.ac-bi__row{
  position: relative; isolation: isolate;
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ac-gap); align-items: start;
  padding: clamp(18px, 1.736vw, 30px) 0; border-top: 1px solid var(--ac-black);
  transition: color .35s var(--ac-ease);
}
.ac-bi__row::before{
  content: ""; position: absolute; z-index: -1; inset: 0 calc(-1 * var(--ac-margin));
  background: var(--ac-black); transform: scaleY(0); transform-origin: bottom; transition: transform .45s var(--ac-ease);
}
.ac-bi__row:hover{ color: var(--ac-white); }
.ac-bi__row:hover::before{ transform: scaleY(1); }
.ac-bi__row:hover .ac-bi__title, .ac-bi__row:hover .ac-bi__excerpt{ color: var(--ac-white) !important; }
.ac-bi__num{ grid-column: 1; opacity: .5; padding-top: .55em; font-variant-numeric: tabular-nums; }
.ac-bi__meta{ grid-column: 2 / span 2; padding-top: .55em; }
.ac-bi__main{ grid-column: 4 / span 7; }
.ac-bi__title{ margin: 0 !important; }
.ac-bi__excerpt{ margin: 12px 0 0 !important; opacity: .6; max-width: 46em; }
.ac-bi__arrow{ grid-column: 12; justify-self: end; padding-top: .6em; }
.ac-bi__arrow .ac-icon{ height: 20px; transition: transform .45s var(--ac-ease); }
.ac-bi__row:hover .ac-bi__arrow .ac-icon{ transform: translateX(6px); }
.ac-bi__row[hidden], .ac-bi__featured[hidden]{ display: none; }
.ac-bi__empty{ padding: 36px 0; }

/* "Altri articoli" in fondo all'articolo */
.ac-bi__head{ display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(24px, 2.778vw, 48px); }
.ac-bi__head h2{ margin: 0 !important; }
.ac-bi__all{ display: inline-flex; align-items: center; gap: 12px; color: inherit !important; text-decoration: none; white-space: nowrap; }
.ac-bi__all .ac-icon{ height: .8em; transition: transform .35s var(--ac-ease); }
.ac-bi__all:hover .ac-icon{ transform: translateX(4px); }

@media (max-width: 1099px){
  .ac-bi__featured, .ac-bi__row{ grid-template-columns: 1fr; row-gap: 12px; }
  .ac-bi__ftitle, .ac-bi__fexcerpt, .ac-bi__fbtn, .ac-bi__label{ grid-column: 1; grid-row: auto; }
  .ac-bi__fbtn{ margin-top: 12px; }
  .ac-bi__num{ display: none; }
  .ac-bi__meta, .ac-bi__main{ grid-column: 1; padding-top: 0; }
  .ac-bi__arrow{ display: none; }
  .ac-bi__row::before{ display: none; }
  .ac-bi__head{ flex-direction: column; align-items: flex-start; }
}

/* =====================================================================
   Pagina articolo
   ===================================================================== */

/* ---------- Testata nera ---------- */
.fusion-fullwidth.ac-post-hero{ padding-top: calc(var(--ac-header-h) + clamp(24px, 2.778vw, 48px)) !important; padding-bottom: clamp(36px, 2.778vw, 48px) !important; }
.ac-ph{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ac-gap); color: var(--ac-white); }
.ac-ph__back{ grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; gap: 12px; color: inherit !important; text-decoration: none; opacity: .6; transition: opacity .25s; }
.ac-ph__back:hover{ opacity: 1; }
.ac-ph__back-icon{ height: .8em; transform: scaleX(-1); }
.ac-ph__title{ grid-column: 1 / span 9; margin: clamp(48px, 5.556vw, 96px) 0 0 !important; color: inherit !important; }
.ac-ph__bottom{ grid-column: 1 / -1; display: grid; grid-template-columns: subgrid; margin-top: clamp(36px, 4.167vw, 72px); padding-top: clamp(18px, 1.389vw, 24px); border-top: 1px solid rgba(255,255,255,.3); }
.ac-ph__meta{ grid-column: 1 / span 4; display: flex; flex-wrap: wrap; gap: 6px 24px; margin: 0 !important; color: inherit !important; opacity: .6; }
.ac-ph__lead{ grid-column: 7 / span 6; margin: 0 !important; color: inherit !important; }

/* ---------- Colonna laterale: indice e condivisione ---------- */
.fusion-fullwidth.ac-post-body{ padding-top: clamp(48px, 5.556vw, 96px) !important; padding-bottom: clamp(48px, 5.556vw, 96px) !important; }
.ac-pa{ position: sticky; top: calc(var(--ac-header-h) + 24px); display: flex; flex-direction: column; gap: 48px; }
.ac-post-body .fusion-builder-row, .ac-post-body .ac-post-aside, .ac-post-body .ac-post-aside > .fusion-column-wrapper{ align-self: stretch; }
.ac-pa__label{ margin: 0 0 12px !important; opacity: .5; }
.ac-pa__list{ margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.ac-pa__list li{ counter-increment: toc; margin: 0; }
.ac-pa__list a{ display: grid; grid-template-columns: 2.2em 1fr; padding: 6px 0; color: inherit !important; text-decoration: none; opacity: .45; line-height: 1.3; transition: opacity .25s; }
.ac-pa__list a::before{ content: counter(toc, decimal-leading-zero); font-variant-numeric: tabular-nums; }
.ac-pa__list a:hover, .ac-pa__list a.is-active{ opacity: 1; }
.ac-pa__links{ margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.ac-pa__links li{ margin: 0; }
.ac-pa__links a, .ac-pa__links button{ padding: 0; border: 0; background: none; color: inherit !important; font: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; cursor: pointer; }

/* ---------- Corpo dell'articolo: una sola scala ---------- */
.ac-article{ --ac-art-text: var(--ac-fs-20); }
/* I contenitori del builder dentro l'articolo non hanno margini propri */
.ac-article .fusion-fullwidth{ padding: 0 !important; margin: 0 !important; min-height: 0 !important; background: none !important; }
.ac-article .fusion-builder-row, .ac-article .fusion-layout-column, .ac-article .fusion-column-wrapper{ margin: 0 !important; padding: 0 !important; width: 100% !important; max-width: none !important; }
.ac-article .fusion-separator, .ac-article .fusion-sep-clear{ display: none !important; }

.ac-article .fusion-text, .ac-article .fusion-text :is(p, li, span, b, strong, a, em, i){
  font-family: var(--ac-font) !important; font-size: var(--ac-art-text) !important; line-height: 1.5 !important;
  color: var(--ac-black) !important; letter-spacing: 0 !important; text-transform: none !important;
}
.ac-article .fusion-text{ margin: 0 !important; }
.ac-article .fusion-text p{ margin: 0 0 1em !important; }
.ac-article .fusion-text :is(b, strong){ font-weight: 600 !important; }
.ac-article .fusion-text a{ text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.ac-article .fusion-text a:hover{ text-decoration-thickness: 2px; }

.ac-article h2, .ac-article .fusion-text h2{
  font-size: var(--ac-fs-36) !important; line-height: 1.1 !important; font-weight: 400 !important; color: var(--ac-black) !important;
  margin: clamp(48px, 4.167vw, 72px) 0 clamp(18px, 1.389vw, 24px) !important; padding-top: clamp(18px, 1.389vw, 24px);
  border-top: 1px solid var(--ac-black); scroll-margin-top: calc(var(--ac-header-h) + 24px);
}
.ac-article .fusion-text:first-child h2:first-child{ margin-top: 0 !important; }
.ac-article h3, .ac-article .fusion-text h3, .ac-article h4{
  font-size: var(--ac-fs-24) !important; line-height: 1.2 !important; font-weight: 500 !important; color: var(--ac-black) !important;
  margin: clamp(30px, 2.778vw, 48px) 0 12px !important;
}
/* Allineamento: tutto a sinistra (alcuni blocchi degli articoli erano centrati) */
.ac-article .fusion-text, .ac-article .fusion-text *{ text-align: left !important; }

.ac-article ul, .ac-article ol{ margin: 0 0 1em !important; padding: 0 !important; list-style: none !important; }
.ac-article li{ position: relative; margin: 0 0 .5em !important; padding-left: 2em !important; }
.ac-article ul > li::before{ content: "—"; position: absolute; left: 0; }
.ac-article ol{ counter-reset: ac-ol; }
.ac-article ol > li{ counter-increment: ac-ol; }
.ac-article ol > li::before{ content: counter(ac-ol, decimal-leading-zero); position: absolute; left: 0; font-variant-numeric: tabular-nums; opacity: .5; }

/* FAQ dentro l'articolo */
.ac-article .fusion-faq-shortcode{ margin-top: 12px; border-bottom: 1px solid var(--ac-black); }
.ac-article .fusion-panel{ border: 0 !important; border-top: 1px solid var(--ac-black) !important; background: none !important; margin: 0 !important; }
.ac-article .panel-heading{ padding: 0 !important; background: none !important; }
.ac-article .panel-title{ margin: 0 !important; }
.ac-article .panel-title a{ display: flex !important; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 0 !important; color: var(--ac-black) !important; background: none !important; border: 0 !important; text-decoration: none; }
.ac-article .fusion-toggle-icon-wrapper{ display: none !important; }
.ac-article .fusion-toggle-heading{ font-size: var(--ac-fs-20) !important; line-height: 1.3 !important; font-weight: 500 !important; color: inherit !important; margin: 0 !important; }
.ac-article .panel-title a::after{ content: "+"; flex: none; font-size: 28px; line-height: 1; font-weight: 300; transition: transform .35s var(--ac-ease); }
.ac-article .panel-title a:not(.collapsed)::after{ transform: rotate(45deg); }
.ac-article .panel-body{ padding: 0 0 18px !important; }
.ac-article .panel-body, .ac-article .panel-body *{ font-size: var(--ac-fs-20) !important; line-height: 1.5 !important; color: var(--ac-black) !important; }
.ac-article .panel-body p{ margin: 0 0 .75em !important; }
.ac-article .panel-body :is(b, strong){ font-weight: 600 !important; }

/* ---------- Invito a contattarci ---------- */
.ac-pcta{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ac-gap); align-items: end; color: var(--ac-white); }
.ac-pcta__title{ grid-column: 1 / span 7; margin: 0 !important; color: inherit !important; }
.ac-pcta__side{ grid-column: 9 / span 4; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; }
.ac-pcta__side p{ margin: 0 !important; color: inherit !important; }

@media (max-width: 1099px){
  .ac-ph__title{ grid-column: 1 / -1; }
  .ac-ph__bottom{ grid-template-columns: 1fr; row-gap: 18px; }
  .ac-ph__meta, .ac-ph__lead{ grid-column: 1; }
  .ac-post-aside{ display: none !important; }
  .ac-pcta{ grid-template-columns: 1fr; row-gap: 24px; }
  .ac-pcta__title, .ac-pcta__side{ grid-column: 1; }
}

/* =====================================================================
   Pagine di sistema: 404, ricerca, archivi
   ===================================================================== */
.fusion-fullwidth.ac-sys-section{ padding-top: calc(var(--ac-header-h) + clamp(24px, 2.778vw, 48px)) !important; padding-bottom: clamp(48px, 5.556vw, 96px) !important; }
.ac-sys{ display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--ac-gap); align-items: start; }
.ac-sys__code{ grid-column: 1 / span 6; margin: 0 !important; font-size: clamp(120px, 20vw, 345px) !important; line-height: .8 !important; }
.ac-sys__side{ grid-column: 8 / span 5; display: flex; flex-direction: column; gap: 24px; }
.ac-sys__side h1, .ac-sys__side p{ margin: 0 !important; }
.ac-sys__links{ margin: 24px 0 0; padding: 0; list-style: none; border-bottom: 1px solid var(--ac-black); }
.ac-sys__links li{ margin: 0; border-top: 1px solid var(--ac-black); }
.ac-sys__links a{ display: flex; align-items: center; justify-content: space-between; padding: 14px 0; color: inherit !important; text-decoration: none; }
.ac-sys__links .ac-icon{ height: .7em; transition: transform .35s var(--ac-ease); }
.ac-sys__links a:hover .ac-icon{ transform: translateX(6px); }

.ac-sys--list{ display: block; }
.ac-sys--list .ac-ph__back{ display: inline-flex; color: inherit !important; opacity: .6; margin-bottom: clamp(24px, 2.778vw, 48px); }
.ac-sys__title{ margin: 0 0 clamp(24px, 2.778vw, 48px) !important; max-width: 18em; }
.ac-sys__desc{ max-width: 37em; margin-bottom: clamp(36px, 4.167vw, 72px); }
.ac-sys__bar{ display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(36px, 4.167vw, 72px); }
.ac-sys__bar p{ margin: 0 !important; opacity: .6; }
.ac-sys__empty{ margin: 0 !important; }
.ac-sys__empty a{ color: inherit !important; text-decoration: underline; text-underline-offset: 3px; }

/* Modulo di ricerca: campo sottolineato + pulsante */
.ac-search{ display: flex; align-items: flex-end; gap: 12px; width: 100%; max-width: 640px; }
.ac-search input[type="search"]{
  flex: 1; min-width: 0; height: var(--ac-btn-h); padding: 0 !important; background: transparent !important;
  border: 0 !important; border-bottom: 1px solid currentColor !important; border-radius: 0 !important; box-shadow: none !important;
  font-family: var(--ac-font) !important; font-size: var(--ac-fs-24) !important; color: inherit !important;
}
.ac-search input[type="search"]:focus{ outline: none; border-bottom-width: 2px !important; }
.ac-search input::placeholder{ color: currentColor; opacity: .45; }

/* Paginazione */
.ac-pager{ display: flex; gap: 18px; margin-top: 36px; }
.ac-pager a, .ac-pager span{ color: inherit !important; text-decoration: none; }
.ac-pager .current{ text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1099px){
  .ac-sys{ grid-template-columns: 1fr; row-gap: 36px; }
  .ac-sys__code, .ac-sys__side{ grid-column: 1; }
  .ac-sys__bar{ flex-direction: column; align-items: flex-start; }
}
