/* Pagine Agenzia, Audit gratuito, Contatti, Consulenza gratuita. */

/* Contatti */
.contact-page { padding: calc(var(--header-h) + 64px) var(--gutter) var(--section); display: grid; gap: clamp(40px, 6vw, 96px); }
.contact-page__intro { display: grid; gap: 24px; align-content: start; }
.contact-page .page-title { font-size: var(--fs-2xl); }
.contact-list { list-style: none; margin-top: 16px; }
.contact-list li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.contact-list span { color: var(--subtle); }
.contact-list a { font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.contact-list a:hover { color: var(--magenta-hi); }
.contact-page__form, .audit-form__form { background: var(--surface); box-shadow: var(--hairline), var(--shadow-card); border-radius: var(--radius-card); padding: clamp(24px, 3.5vw, 44px); align-self: start; }
@media (min-width: 1024px) { .contact-page { grid-template-columns: 1fr 1.15fr; } }
.contact-form__submit { justify-self: start; }
.form__error { color: #ff9ccb; font-weight: 600; }
@media (max-width: 599px) { .contact-form__submit { justify-self: stretch; } }

/* Audit */
.audit-hero { padding: calc(var(--header-h) + 64px) var(--gutter) 0; display: grid; gap: clamp(40px, 5vw, 64px); }
.audit-hero__text { display: grid; gap: 20px; max-width: 900px; }
.audit-hero .page-title { font-size: var(--fs-2xl); }
.audit-types { list-style: none; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.audit-type { padding: 28px; border-radius: var(--radius-card); background: var(--surface); box-shadow: var(--hairline), var(--shadow-card); display: grid; gap: 12px; align-content: start; }
.audit-type:first-child { background: var(--surface-hi); box-shadow: var(--hairline-hi), var(--shadow-card); }
.audit-type__icon { width: 30px; height: 30px; color: var(--magenta); }
.audit-type__title { font-size: var(--fs-lg); }
.audit-type p { color: var(--muted); }
.audit-form { padding: var(--section) var(--gutter); display: grid; gap: clamp(40px, 6vw, 96px); }
.receive-list { list-style: none; counter-reset: r; display: grid; gap: 20px; }
.receive-list li { counter-increment: r; display: grid; grid-template-columns: 40px 1fr; gap: 12px; font-size: var(--fs-md); color: var(--muted); }
.receive-list li::before { content: ""; width: 28px; height: 28px; border-radius: 50%; background: var(--magenta); -webkit-mask: url("../icons/check-circle.svg") center / contain no-repeat; mask: url("../icons/check-circle.svg") center / contain no-repeat; }
@media (min-width: 1024px) { .audit-form { grid-template-columns: 1fr 1.25fr; } }

/* Consulenza gratuita */
.consult-page__subtitle { font-size: var(--fs-lg); margin-top: 8px; }
.consult-steps { list-style: none; counter-reset: s; display: grid; gap: 20px; }
.consult-steps li { counter-increment: s; display: grid; grid-template-columns: 40px 1fr; column-gap: 12px; row-gap: 2px; }
.consult-steps li::before { content: counter(s); grid-row: span 2; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: var(--fs-xs); color: var(--text); box-shadow: inset 0 0 0 1.5px var(--magenta); }
.consult-steps strong { font-size: var(--fs-md); }
.consult-steps span { color: var(--muted); }
.consult-when { gap: 14px; }
.consult-when legend { font-size: var(--fs-sm); color: var(--text); }
.consult-when__hint { color: var(--muted); font-size: var(--fs-xs); margin-top: -6px; }
.consult-days { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; padding: 4px 2px 8px; margin: 0 -2px; scrollbar-width: thin; }
.consult-day { position: relative; flex: none; scroll-snap-align: start; }
.consult-day input, .slot input { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; padding: 0; border: 0; opacity: 0; cursor: pointer; margin: 0; }
.consult-day span[aria-hidden] { display: grid; place-items: center; min-height: 48px; padding: 0 16px; border: 1px solid var(--line-strong); border-radius: var(--radius-field); font-weight: 700; font-size: var(--fs-xs); color: var(--text); white-space: nowrap; transition: border-color .2s, background-color .2s; }
.consult-day input:checked + span { border-color: var(--magenta); background: rgb(224 16 127 / .14); }
.consult-day input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 2px; }
.consult-slots { display: grid; gap: 10px; padding-top: 4px; }
.consult-slots + .consult-slots { border-top: 1px solid var(--line); padding-top: 16px; }
.consult-slots[hidden] { display: none; }
.consult-slots__day { font-weight: 700; }
.is-enhanced .consult-slots__day { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.is-enhanced .consult-slots + .consult-slots { border-top: 0; padding-top: 4px; }
.consult-slots__part { font-size: var(--fs-xs); font-weight: 700; color: var(--muted); }
.consult-slots__part span { font-weight: 600; color: var(--subtle); margin-left: 6px; }
.consult-grid { list-style: none; display: grid; gap: 8px; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); }
.slot { position: relative; display: block; }
.slot > span, .slot--off { display: grid; place-items: center; min-height: 44px; border: 1px solid var(--line-strong); border-radius: var(--radius-field); font-size: var(--fs-sm); font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; transition: border-color .2s, background-color .2s; }
.slot input:hover + span { border-color: rgb(255 255 255 / .5); }
.slot input:checked + span { border-color: var(--magenta); background: rgb(224 16 127 / .22); box-shadow: inset 0 0 0 1px var(--magenta); }
.slot input:focus-visible + span { outline: 2px solid var(--focus); outline-offset: 2px; }
.slot--off { border-style: dashed; border-color: var(--line); color: var(--subtle); font-weight: 600; cursor: not-allowed; }
.slot--off s { text-decoration-thickness: 1.5px; }

/* Agenzia */
.manifesto { padding: calc(var(--header-h) + 72px) var(--gutter) 0; display: grid; gap: 28px; }
.manifesto__title { font-size: var(--fs-2xl); max-width: 16ch; }
.manifesto__sub { display: block; color: var(--muted); }
.manifesto .lead { font-size: var(--fs-lg); max-width: 44ch; color: var(--muted); }
.pillars__list { list-style: none; display: grid; gap: 1px; background: rgb(255 255 255 / .08); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--hairline), var(--shadow-card); }
.pillar { background: var(--surface); padding: clamp(28px, 3.5vw, 48px); display: grid; gap: 12px; align-content: start; }
.pillar h3 { font-size: var(--fs-lg); }
.pillar p { color: var(--muted); font-size: var(--fs-md); max-width: 44ch; }
@media (min-width: 768px) { .pillars__list { grid-template-columns: repeat(2, 1fr); } }
.logo-wall { list-style: none; display: grid; gap: 1px; background: rgb(255 255 255 / .08); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--hairline), var(--shadow-card); grid-template-columns: repeat(auto-fill, minmax(min(50%, 200px), 1fr)); }
.logo-wall li { background: var(--surface); display: grid; place-items: center; padding: 32px; min-height: 140px; }
.logo-wall img { max-height: 56px; width: auto; filter: grayscale(1) brightness(1.6); opacity: .8; transition: opacity .3s, filter .3s; }
.logo-wall a:hover img, .logo-wall li:hover img { filter: none; opacity: 1; }

/* Area servita (Sicilia, città) */
.area-head .actions { margin-top: 8px; }
.area-text .prose { max-width: 68ch; }
.area-services__grid, .area-cases__grid { padding: 0; }
.consult-form textarea { min-height: 96px; }
.consult-grid--off { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px; }
.consult-grid--off .slot--off { min-height: 34px; font-size: var(--fs-xs); }
