/* ============================================================
   DIFRIHO v4.5.3 — shared micro-interactions
   Loaded only on commercial public pages.
   ============================================================ */
.df-site-header {
    transition: box-shadow .24s ease, border-color .24s ease, background-color .24s ease;
}
.df-site-header.df-shell-scrolled {
    box-shadow: 0 10px 30px rgba(20,55,74,.10);
    border-bottom-color: rgba(57,146,197,.18);
}

/* Reveal is enabled by JS only, so content remains visible if JS is unavailable. */
.df-motion-ready .df-reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .52s cubic-bezier(.2,.75,.25,1), transform .52s cubic-bezier(.2,.75,.25,1);
    transition-delay: var(--df-reveal-delay,0ms);
}
.df-motion-ready .df-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.df-home-quick-card,
.df-home-solution-card,
.df-download-card,
.df-tech-search-card,
.df-tech-results-card,
.df-contact-shell,
.df-delegations-card {
    transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.df-home-quick-card:hover,
.df-home-quick-card:focus-visible,
.df-download-card:hover,
.df-tech-search-card:hover,
.df-contact-shell:hover,
.df-delegations-card:hover {
    transform: translateY(-3px);
    border-color: rgba(57,146,197,.25);
    box-shadow: 0 18px 42px rgba(25,67,89,.11);
}
.df-home-solution-card:hover { transform: translateY(-4px); }

.df-home-brand-logo {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.df-home-brand-logo:hover {
    transform: translateY(-2px);
    border-color: rgba(240,148,10,.38);
    box-shadow: 0 9px 20px rgba(14,43,58,.12);
}

.df-button,
.df-home-solution-body a,
.df-page-note a,
.df-contact-department {
    transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease;
}
.df-button:hover,
.df-button:focus-visible { transform: translateY(-2px); }

.technical-info-row { transition: background-color .18s ease, transform .18s ease, box-shadow .18s ease; }
@media (min-width:768px) {
    .technical-info-row:hover { background:#f5fafc; }
}
.technical-view-link { transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease; }
.technical-view-link:hover,
.technical-view-link:focus-visible { transform: scale(1.06); box-shadow:0 8px 18px rgba(57,146,197,.18); }

.df-delegations-map-image { transition: transform .35s ease; }
.df-delegations-card:hover .df-delegations-map-image { transform: scale(1.008); }

@media (prefers-reduced-motion: reduce) {
    .df-site-header,
    .df-reveal,
    .df-home-quick-card,
    .df-home-solution-card,
    .df-home-family-card,
    .df-home-family-card img,
    .df-home-brand-logo,
    .df-download-card,
    .df-tech-search-card,
    .df-tech-results-card,
    .df-contact-shell,
    .df-delegations-card,
    .df-button,
    .technical-info-row,
    .technical-view-link,
    .df-delegations-map-image {
        transition:none !important;
        animation:none !important;
        transform:none !important;
    }
    .df-motion-ready .df-reveal { opacity:1 !important; transform:none !important; }
}
