/* ============================================
   Rialto – Feinschliff
   ============================================ */

::selection { background: #5d6e66; color: #f9ebe5; }

a { transition: color .2s ease, opacity .2s ease; }

/* ---------- Navigation ---------- */
#menu a > span { position: relative; }
#menu a > span::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: -4px;
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .25s ease;
}
#menu a:hover > span::after,
#menu .current-menu-item a > span::after { transform: scaleX(1); }

/* ---------- Buttons ---------- */
.btn-primary {
    border-radius: 999px;
    padding: 14px 36px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    transition: transform .2s ease, box-shadow .2s ease;
}
.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(36, 45, 44, .28);
}

/* ---------- Bilder ---------- */
.image_wrapper {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 18px 42px rgba(36, 45, 44, .20);
    transition: transform .3s ease, box-shadow .3s ease;
}
.image_wrapper:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 52px rgba(36, 45, 44, .26);
}
.image_wrapper img { border-radius: 12px; display: block; }

/* ---------- Footer ---------- */
#Footer a { text-underline-offset: 3px; }
#Footer h5 a:hover { text-decoration: underline; }
.copyright { font-size: .85em; opacity: .75; }

/* ---------- Details ---------- */
#back_to_top { transition: transform .2s ease, opacity .2s ease; }
#back_to_top:hover { transform: translateY(-3px); }

@media (prefers-reduced-motion: reduce) {
    .btn-primary, .image_wrapper, #back_to_top { transition: none; }
}
