:root { --footer-bg: #1d1d1f; --footer-ink: #f5f5f7; --footer-muted: #86868b; --footer-link: #2997ff; --footer-line: #424245; --footer-focus: #0a84ff; } /* Navbar Desktop */ #main-nav { background: transparent; border: none; } #nav-logo-img { filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.7)); } .nav-link { position: relative; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5); opacity: 0; transform: translateY(-30px); white-space: nowrap; } .nav-link::after { content: ''; position: absolute; bottom: -6px; left: 0; width: 0; height: 3px; background: white; transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1); } .nav-link:hover::after { width: 100%; } /* ========== NAVBAR MOBILE (m-nav/m-menu) ========== */ .m-nav, .m-menu { display: none; } @media (max-width: 768px) { .m-nav { display: block; } .m-menu { display: block; } } .m-nav { position: fixed; inset: 0 0 auto 0; height: 64px; z-index: 10010; background: rgba(0,0,0,.25); backdrop-filter: blur(12px) saturate(140%); -webkit-backdrop-filter: blur(12px) saturate(140%); border-bottom: 1px solid rgba(255,255,255,.15); transition: background .3s ease; } .m-nav__inner { height: 100%; padding: 0 18px; display: flex; align-items: center; justify-content: space-between; } .m-nav__logo img { height: 22px; width: auto; display: block; filter: drop-shadow(0 2px 8px rgba(0,0,0,.6)); } .m-nav__btn { width: 44px; height: 44px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: transparent; border: 0; padding: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; } .m-nav__btn span { width: 24px; height: 2px; background: #fff; border-radius: 2px; transition: transform .35s cubic-bezier(.4,0,.2,1), opacity .25s ease; transform-origin: center; } .m-nav__btn[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); } .m-nav__btn[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(0); } .m-nav__btn[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); } .m-menu { position: fixed; inset: 0; z-index: 10020; visibility: hidden; pointer-events: none; } .m-menu.is-open { visibility: visible; pointer-events: auto; } .m-menu__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.7); backdrop-filter: blur(6px); opacity: 0; transition: opacity .35s ease; } .m-menu.is-open .m-menu__overlay { opacity: 1; } .m-menu__panel { position: absolute; top: 0; right: 0; height: 100dvh; width: min(86vw, 380px); background: rgba(17,17,17,.98); backdrop-filter: blur(30px); border-left: 1px solid rgba(255,255,255,.08); box-shadow: -20px 0 50px rgba(0,0,0,.5); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .4s cubic-bezier(.4,0,.2,1); overflow: hidden; touch-action: none; } .m-menu.is-open .m-menu__panel { transform: translateX(0); } .m-menu__header { height: 64px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.06); flex-shrink: 0; } .m-menu__logo img { height: 22px; width: auto; display: block; filter: drop-shadow(0 2px 8px rgba(0,0,0,.6)); } .m-menu__close { width: 44px; height: 44px; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: transparent; border: 0; padding: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; } .m-menu__close span { width: 24px; height: 2px; background: #fff; border-radius: 2px; transform-origin: center; } .m-menu__close span:nth-child(1) { transform: translateY(8px) rotate(45deg); } .m-menu__close span:nth-child(2) { opacity: 0; transform: scaleX(0); } .m-menu__close span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); } .m-menu__list { list-style: none; margin: 0; padding: 0; flex: 1; overflow: hidden; } .m-menu__link { display: flex; align-items: center; gap: 16px; padding: 18px 24px; text-decoration: none; color: rgba(255,255,255,.55); font-family: 'Space Grotesk','Inter',sans-serif; font-size: 1.15rem; font-weight: 500; letter-spacing: -.01em; border-bottom: 1px solid rgba(255,255,255,.08); transition: background .2s ease, color .2s ease; } .m-menu__link[aria-current="page"] { color: #fff; background: rgba(255,255,255,.06); } .m-menu__link:hover, .m-menu__link:focus-visible { background: rgba(255,255,255,.05); color: rgba(255,255,255,.6); outline: none; } .m-menu__text { flex-shrink: 0; } .m-menu__arrow { font-size: 1.1rem; color: rgba(255,255,255,.85); transition: transform .25s ease; margin-left: auto; flex-shrink: 0; } .m-menu__link:hover .m-menu__arrow, .m-menu__link:focus-visible .m-menu__arrow { transform: translate(3px, -3px); color: #DDEF38; } .m-menu__footer { padding: 20px 24px 28px; border-top: 1px solid rgba(255,255,255,.06); display: flex; flex-direction: column; align-items: center; gap: 4px; flex-shrink: 0; text-align: center; } .m-menu__copy { font-family: 'Inter',sans-serif; font-size: .68rem; letter-spacing: .14em; color: rgba(255,255,255,.45); } .m-menu__version { font-family: 'Inter',sans-serif; font-size: .62rem; letter-spacing: .2em; color: rgba(255,255,255,.45); } body.m-menu-locked { overflow: hidden; } .shinoff-footer { background: var(--footer-bg); color: var(--footer-ink); font-size: 12px; } .shinoff-footer .wrap { max-width: 1024px; margin: 0 auto; padding: 24px 22px 8px; } .shinoff-footer nav.columns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; padding: 32px 0 24px; border-bottom: 1px solid var(--footer-line); } .shinoff-footer .col h2, .shinoff-footer .col summary.h2 { font-size: 12px; font-weight: 600; color: var(--footer-ink); margin-bottom: 12px; letter-spacing: -0.01em; } .shinoff-footer .col ul { list-style: none; display: flex; flex-direction: column; gap: 8px; } .shinoff-footer .col li a { color: var(--footer-muted); text-decoration: none; font-size: 12px; display: inline-block; line-height: 1.4; transition: color 0.15s; } .shinoff-footer .col li a:hover { color: var(--footer-ink); text-decoration: underline; } .shinoff-footer .col li a:focus-visible { outline: 2px solid var(--footer-focus); outline-offset: 2px; border-radius: 2px; color: var(--footer-ink); } .shinoff-footer .base { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; gap: 16px; flex-wrap: wrap; } .shinoff-footer .base-left { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; color: var(--footer-muted); font-size: 12px; } .shinoff-footer .base-left .copy { white-space: nowrap; } .shinoff-footer .country { color: var(--footer-muted); font-size: 12px; } .shinoff-footer details > summary { list-style: none; cursor: default; } .shinoff-footer details > summary::-webkit-details-marker { display: none; } @media (max-width: 1023px) { .shinoff-footer nav.columns { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 639px) { .shinoff-footer nav.columns { grid-template-columns: 1fr; gap: 0; padding: 8px 0; } .shinoff-footer .col { border-bottom: 1px solid var(--footer-line); } .shinoff-footer .col:last-child { border-bottom: 0; } .shinoff-footer .col details > summary.h2 { padding: 16px 0; margin: 0; font-size: 13px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; } .shinoff-footer .col details > summary.h2::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid var(--footer-muted); border-bottom: 1.5px solid var(--footer-muted); transform: rotate(45deg); transition: transform 0.2s; margin-right: 4px; } .shinoff-footer .col details[open] > summary.h2::after { transform: rotate(-135deg); margin-top: 4px; } .shinoff-footer .col ul { padding: 0 0 16px; gap: 12px; } .shinoff-footer .col li a { font-size: 13px; } .shinoff-footer .base { flex-direction: column; align-items: flex-start; } } @media (max-width: 768px) { .bottom-nav { display: none; } .legal-footer { display: none; } body { padding-bottom: 0; } }
Shinoff Logo Retour

RGPD - Protection des Données Personnelles

Mentions Légales | Confidentialité | Cookies | CGU | RGPD