/* A&S — Footer del sito */
.asft { font-family: var(--font, 'Plus Jakarta Sans', sans-serif); color: #d9cbbd; font-size: 15px; line-height: 1.7; }
.asft *, .asft *::before, .asft *::after { box-sizing: border-box; }
.asft ul { list-style: none; margin: 0; padding: 0; }
.asft p { margin: 0; }
.asft a { color: inherit; text-decoration: none; transition: color .2s; }
.asft svg { width: 18px; height: 18px; flex: none; }
.asft .asft-in { max-width: 1320px; margin: 0 auto; padding: 0 24px; }

/* Fascia contatto */
.asft .asft-cta { background: var(--ar, #FF9000); color: #fff; }
.asft .asft-cta-in { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 34px; padding-bottom: 34px; }
.asft .asft-cta-title { font-size: clamp(22px, 2.4vw, 28px); font-weight: 800; line-height: 1.2; letter-spacing: -0.01em; color: #fff; }
.asft .asft-cta-sub { margin-top: 6px; font-size: 16px; color: rgba(255, 255, 255, .92); }
.asft .asft-cta-btns { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }

.asft .asft-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; border-radius: 8px; font-weight: 700; font-size: 15px; line-height: 1.2; white-space: nowrap; transition: background .2s, color .2s, border-color .2s; }
.asft .asft-btn--solid { background: #fff; color: var(--mrd, #6B3E01); }
.asft .asft-btn--solid:hover, .asft .asft-btn--solid:focus-visible { background: var(--dk, #1F1409); color: #fff; }
.asft .asft-btn--line { border: 2px solid #fff; color: #fff; }
.asft .asft-btn--line:hover, .asft .asft-btn--line:focus-visible { background: #fff; color: var(--mrd, #6B3E01); }
.asft .asft-btn--orange { margin-top: 18px; background: var(--ar, #FF9000); color: #fff; }
.asft .asft-btn--orange:hover, .asft .asft-btn--orange:focus-visible { background: var(--arh, #FFA526); color: #fff; }

/* Colonne */
.asft .asft-main { background: var(--dk, #1F1409); padding: 64px 0 52px; }
.asft .asft-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 40px; }
.asft .asft-logo img { display: block; width: 200px; height: auto; margin-bottom: 18px; }
.asft .asft-brand p { max-width: 320px; }
.asft .asft-h { margin-bottom: 14px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.asft .asft-col li { margin-bottom: 6px; }
.asft .asft-col a:hover, .asft .asft-col a:focus-visible { color: var(--ar, #FF9000); }
.asft .asft-contacts li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; }
.asft .asft-contacts svg { color: var(--ar, #FF9000); margin-top: 3px; }
.asft .asft-contacts a { word-break: break-word; }

.asft .asft-social { display: flex; gap: 10px; margin-top: 20px; }
.asft .asft-social a { width: 40px; height: 40px; border-radius: 50%; background: var(--dk2, #2B2018); color: var(--ar, #FF9000); display: flex; align-items: center; justify-content: center; }
.asft .asft-social a:hover, .asft .asft-social a:focus-visible { background: var(--ar, #FF9000); color: #fff; }

/* Barra legale */
.asft .asft-legal { background: #140c05; color: var(--mu, #9B8B7C); font-size: 13px; }
.asft .asft-legal-in { display: flex; align-items: center; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; padding-top: 16px; padding-bottom: 16px; }
.asft .asft-legal ul { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.asft .asft-legal a:hover, .asft .asft-legal a:focus-visible { color: #fff; }

.asft a:focus-visible { outline: 2px solid var(--ar, #FF9000); outline-offset: 3px; border-radius: 4px; }

@media (max-width: 1024px) {
	.asft .asft-grid { grid-template-columns: 1fr 1fr; gap: 36px 28px; }
	.asft .asft-cta-in { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 600px) {
	.asft .asft-in { padding: 0 20px; }
	.asft .asft-cta-in { padding-top: 28px; padding-bottom: 28px; }
	.asft .asft-cta-btns, .asft .asft-btn { width: 100%; }
	.asft .asft-main { padding: 44px 0 36px; }
	.asft .asft-grid { grid-template-columns: 1fr; gap: 30px; }
	.asft .asft-legal-in { flex-direction: column; align-items: flex-start; padding-bottom: 80px; }
}
@media (prefers-reduced-motion: reduce) { .asft a, .asft .asft-btn { transition: none; } }
