/* =========================================================================
   Scheda azienda — aziende/<slug>.html (generate da dev/schede/).
   Riusa i token di style.css.
   ========================================================================= */

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* --- Percorso --- */
.breadcrumb ol {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: 0 0 var(--space-5);
    padding: 0;
    list-style: none;
    font-size: 0.86rem;
    color: var(--color-text-muted);
}

.breadcrumb li + li::before {
    content: "/";
    margin-right: var(--space-2);
    color: var(--color-text-light);
}

.breadcrumb a {
    color: var(--color-blue);
}

/* --- Intestazione --- */
.azienda-hero-inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: var(--space-7);
    align-items: center;
}

.azienda-hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.azienda-logo-tile {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    padding: var(--space-6);
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
}

.azienda-logo {
    max-width: 100%;
    max-height: 150px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.azienda-logo-text {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--color-blue);
    text-align: center;
}

/* --- Sezioni --- */
.azienda-section {
    padding: var(--space-8) 0;
}

.azienda-section.is-soft {
    background: var(--color-bg-soft);
}

.azienda-section h2 {
    margin-bottom: var(--space-5);
}

.azienda-about {
    max-width: 760px;
}

.azienda-about.has-photo {
    max-width: none;
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: var(--space-7);
    align-items: start;
}

.azienda-about-text p {
    margin: 0 0 var(--space-4);
    font-size: 1.03rem;
    line-height: 1.65;
    color: var(--color-text);
}

.azienda-about-text .azienda-source {
    margin-top: var(--space-5);
    font-size: 0.9rem;
    color: var(--color-text-muted);
}

.azienda-photo {
    margin: 0;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    aspect-ratio: 4 / 3;
    background: var(--color-bg-tint);
}

.azienda-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Galleria della scheda: riusa il carosello della Home (style.css),
   più sobrio — niente alone decorativo, ombra media. */
.azienda-carousel::before {
    display: none;
}

.azienda-carousel .hero-carousel-frame {
    box-shadow: var(--shadow-md);
}

/* --- Linee di prodotto --- */
.azienda-lines {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.azienda-lines li {
    padding: var(--space-2) var(--space-4);
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 999px;
    font-size: 0.95rem;
    font-weight: 500;
    color: var(--color-blue-ink);
}

.azienda-more {
    margin: var(--space-5) 0 0;
}

/* Link esterni testuali (fonte, catalogo, dati) */
.azienda-source a,
.azienda-more-link,
.azienda-facts a {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: var(--color-blue);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: var(--color-teal);
    text-underline-offset: 3px;
}

.azienda-source a .btn-icon,
.azienda-more-link .btn-icon,
.azienda-facts a .btn-icon {
    width: 14px;
    height: 14px;
    flex: none;
}

/* --- Dati aziendali --- */
.azienda-facts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 var(--space-6);
    margin: 0;
}

.azienda-fact {
    padding: var(--space-4) 0;
    border-bottom: 1px solid var(--color-border-soft);
}

.azienda-fact dt {
    margin-bottom: 4px;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.azienda-fact dd {
    margin: 0;
    font-size: 1rem;
    color: var(--color-text);
    overflow-wrap: anywhere;
}

.azienda-facts-note {
    margin: var(--space-4) 0 0;
    font-size: 0.86rem;
    color: var(--color-text-muted);
}

/* --- Navigazione tra aziende --- */
.azienda-pager {
    border-top: 1px solid var(--color-border-soft);
    padding: var(--space-5) 0;
}

.azienda-pager-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: var(--space-4);
    align-items: center;
}

.azienda-pager-link {
    display: flex;
    flex-direction: column;
    gap: 2px;
    color: var(--color-blue);
    text-decoration: none;
    min-height: 44px;
    justify-content: center;
}

.azienda-pager-link.is-next {
    text-align: right;
}

.azienda-pager-link.is-all {
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: var(--color-teal);
    text-underline-offset: 3px;
}

.azienda-pager-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.azienda-pager-name {
    font-weight: 600;
}

.azienda-pager-link:hover .azienda-pager-name {
    color: var(--color-teal-dark);
}

/* --- Responsive --- */
@media (max-width: 960px) {
    .azienda-hero-inner,
    .azienda-about.has-photo {
        grid-template-columns: 1fr;
        gap: var(--space-6);
    }

    .azienda-logo-tile {
        min-height: 160px;
        max-width: 420px;
    }
}

@media (max-width: 640px) {
    .azienda-section {
        padding: var(--space-7) 0;
    }

    .azienda-facts {
        grid-template-columns: 1fr;
    }

    .azienda-hero-cta .btn {
        width: 100%;
    }

    .azienda-pager-inner {
        grid-template-columns: 1fr 1fr;
    }

    .azienda-pager-link.is-all {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: center;
    }
}
