// resources/themes/figma-port/theme.json
{
  "name": "Figma Port",
  "version": "1.0.0",
  "description": "Portage Figma → Azuriom (Bootstrap bridge, responsive)",
  "author": "you",
  "azuriom": ">=1.0.0"
}

<!-- resources/themes/figma-port/layouts/app.blade.php -->
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" data-theme="{{ session('theme', 'light') }}">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <title>@yield('title', config('app.name'))</title>
  <!-- Pourquoi: garder la base Azuriom/Bootstrap -->
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
  <!-- Ton bridge CSS (adapte Figma → Azuriom) -->
  <link rel="stylesheet" href="{{ asset('themes/figma-port/figma-bridge.css') }}">
  @stack('styles')
</head>
<body class="d-flex flex-column min-vh-100">
<header>
  @include('figma-port::partials._navbar')
</header>

<main class="content">
  @yield('content')
</main>

<footer class="mt-auto py-4 border-top">
  <div class="container text-center small text-muted">
    {{ config('app.name') }} — © {{ date('Y') }}
  </div>
</footer>

@stack('scripts')
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" defer></script>
</body>
</html>

<!-- resources/themes/figma-port/partials/_navbar.blade.php -->
<nav class="navbar navbar-expand-lg bg-body-tertiary">
  <div class="container">
    <a class="navbar-brand d-flex align-items-center gap-2" href="{{ url('/') }}">
      <img src="{{ asset('themes/figma-port/logo.svg') }}" alt="Logo" height="36">
      <span class="fw-bold text-uppercase">{{ config('app.name') }}</span>
    </a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navMain">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navMain">
      <ul class="navbar-nav ms-auto mb-2 mb-lg-0 align-items-lg-center">
        <li class="nav-item"><a class="nav-link @if(request()->is('/')) active @endif" href="{{ url('/') }}">Accueil</a></li>
        <li class="nav-item"><a class="nav-link" href="{{ url('/vote') }}">Vote</a></li>
        <li class="nav-item"><a class="nav-link" href="{{ url('/projects') }}">Projets</a></li>
        <li class="nav-item"><a class="nav-link" href="{{ url('/shop') }}">Boutique</a></li>
        @auth
          <li class="nav-item user-nav-link ms-lg-3 d-flex align-items-center gap-2">
            <img src="{{ Auth::user()->getAvatar() }}" class="rounded-circle" alt="avatar" width="24" height="24">
            <a class="nav-link p-0" href="{{ route('profile.index') }}">{{ Auth::user()->name }}</a>
          </li>
        @else
          <li class="nav-item ms-lg-3">
            <a class="btn btn-primary btn-sm px-3" href="{{ route('login') }}">Se connecter</a>
          </li>
        @endauth
      </ul>
    </div>
  </div>
</nav>

<!-- resources/themes/figma-port/home.blade.php -->
@extends('figma-port::layouts.app')
@section('title', 'Accueil')

@section('content')
  <!-- Pourquoi: on encapsule l’ancien .WEB dans une section responsive -->
  <section class="web-hero position-relative overflow-hidden">
    <div class="container position-relative z-2 text-center py-5">
      <h1 class="display-4 fw-bold text-white mb-3">Echelon Studio</h1>
      <p class="lead text-white-50 mb-4">Serveur & communauté — design issu de Figma porté sur Azuriom</p>
      <div class="d-flex gap-3 justify-content-center">
        <a href="{{ url('/shop') }}" class="btn btn-primary btn-lg">Boutique</a>
        <a href="{{ url('/join') }}" class="btn btn-outline-primary btn-lg">Nous rejoindre</a>
      </div>
    </div>

    <!-- Images décoratives (ex: tes .element/.vector/door-icon) -->
    <img class="hero-layer element d-none d-md-block" src="{{ asset('themes/figma-port/hero-layer.jpg') }}" alt="">
    <img class="hero-layer vector d-none d-lg-block" src="{{ asset('themes/figma-port/vector.svg') }}" alt="">
    <img class="hero-layer door-icon d-none d-xl-block" src="{{ asset('themes/figma-port/door.png') }}" alt="">
    <span class="status-indicator d-none d-md-inline-block" aria-label="Statut serveur"></span>
  </section>

  <section class="py-5 bg-body">
    <div class="container">
      <h2 class="h3 fw-bold text-white mb-4">Projets</h2>
      <div class="row g-4">
        <div class="col-12 col-md-6 col-lg-4">
          <article class="card-figma p-4 h-100">
            <h3 class="h5 mb-2">Projet A</h3>
            <p class="mb-0 text-muted">Description courte…</p>
          </article>
        </div>
        <div class="col-12 col-md-6 col-lg-4">
          <article class="card-figma p-4 h-100">
            <h3 class="h5 mb-2">Projet B</h3>
            <p class="mb-0 text-muted">Description courte…</p>
          </article>
        </div>
        <div class="col-12 col-md-6 col-lg-4">
          <article class="card-figma p-4 h-100">
            <h3 class="h5 mb-2">Projet C</h3>
            <p class="mb-0 text-muted">Description courte…</p>
          </article>
        </div>
      </div>
    </div>
  </section>

  <section class="py-5 bg-gradient-footer text-white">
    <div class="container">
      <div class="row g-4">
        <div class="col-6 col-lg-3">
          <h4 class="h6 fw-bold mb-3">CGV & CGU</h4>
          <ul class="list-unstyled">
            <li><a class="footer-link" href="{{ url('/cgv') }}">CGV</a></li>
            <li><a class="footer-link" href="{{ url('/cgu') }}">CGU</a></li>
          </ul>
        </div>
        <div class="col-6 col-lg-3">
          <h4 class="h6 fw-bold mb-3">Navigation</h4>
          <ul class="list-unstyled">
            <li><a class="footer-link" href="{{ url('/') }}">Accueil</a></li>
            <li><a class="footer-link" href="{{ url('/vote') }}">Vote</a></li>
            <li><a class="footer-link" href="{{ url('/projects') }}">Projets</a></li>
          </ul>
        </div>
        <div class="col-12 col-lg-6">
          <h4 class="h6 fw-bold mb-3">Réseaux</h4>
          <ul class="list-inline m-0">
            <li class="list-inline-item"><a class="footer-link" href="https://discord.gg/" target="_blank" rel="noreferrer">Discord</a></li>
            <li class="list-inline-item"><a class="footer-link" href="https://instagram.com/" target="_blank" rel="noreferrer">Instagram</a></li>
            <li class="list-inline-item"><a class="footer-link" href="https://x.com/" target="_blank" rel="noreferrer">X</a></li>
          </ul>
        </div>
      </div>
    </div>
  </section>
@endsection

/* public/themes/figma-port/figma-bridge.css */
/* Pourquoi: on adapte tes styles Figma .WEB à Azuriom/Bootstrap, en responsive et sans min-width fixe */
:root {
  --bs-primary: #5534d0; /* adapte à ta couleur Figma */
  --bs-body-bg: #13143a;
  --bs-body-color: #ffffff;
}

.content { margin-top: 5rem; margin-bottom: 5rem; }

.web-hero {
  position: relative;
  isolation: isolate; /* empêche les blends d’affecter le reste */
  background:
    linear-gradient(0deg, rgba(19,20,58,1) 0%, rgba(19,20,58,1) 100%),
    linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%),
    linear-gradient(0deg, rgba(0,0,0,.5) 0%, rgba(0,0,0,.5) 100%);
  min-height: min(85vh, 900px);
}

/* couches décoratives (ex- .element/.vector/.door-icon) */
.web-hero .hero-layer {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
}
.web-hero .element { mix-blend-mode: luminosity; opacity: .7; }
.web-hero .vector { object-fit: contain; pointer-events: none; }
.web-hero .door-icon { object-fit: contain; right: 5%; left: auto; width: 38%; height: auto; }

/* pastille statut (ex- .ellipse) */
.web-hero .status-indicator {
  position: absolute; right: clamp(12px,4vw,32px); top: clamp(12px,4vw,32px);
  width: 18px; height: 18px; border-radius: 50%;
  background: #62ff7c; box-shadow: inset 0 9px 4px #bfff7f, 0 16px 4px #4bb01d;
}

/* Cards adaptées à la charte Figma */
.card-figma {
  background: #151922;
  border: 1px solid rgba(255,255,255,.06);
  color: var(--bs-body-color);
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.card-figma p { color: #9aa3ae; }

/* Footer style (ex- .rectangle) */
.bg-gradient-footer {
  background: linear-gradient(180deg, rgba(38, 40, 143, 1) 0%, rgba(80, 91, 221, 1) 100%);
  border-top: 3px solid var(--bs-primary);
}
.footer-link { color: #fff; text-decoration: none; }
.footer-link:hover { opacity: .8; }

/* Nav: garder Azuriom/Bootstrap, cohérence Figma */
.navbar .nav-link { text-transform: uppercase; font-weight: 700; }
.navbar .nav-link.active { color: var(--bs-primary); }

/* ------- PORTAGE SÉCURISÉ DE TES CLASSES FIGMA (scopées) ------- */
/* On conserve les noms pour compat, mais on retire les min-width et on remap en responsive */
.web-hero .WEB { position: relative; width: 100%; }
.web-hero .WEB .element,
.web-hero .WEB .element-w-n-b,
.web-hero .WEB .vector,
.web-hero .WEB .vector-2,
.web-hero .WEB .vector-3,
.web-hero .WEB .vector-4,
.web-hero .WEB .door-icon,
.web-hero .WEB .door-icon-2 { display: none; } /* Pourquoi: éviter l’empilement absolu non responsive; on expose 3 couches contrôlées via .hero-layer */

/* Texte “Echelon Studio” */
.web-hero .echelon-studio { color: #5534d0; font-size: clamp(20px, 2.2vw, 35px); font-weight: 700; letter-spacing: -0.03em; }

/* Liens footer (ex- .CGV-CDT, .ACCUEIL-VOTE-PROJETS, .x-INSTAGRAM-DISCORD) */
.CGV-CDT, .ACCUEIL-VOTE-PROJETS, .x-INSTAGRAM-DISCORD { text-decoration: none; display: inline-block; color: #fff; }

/* Boutique CTA style Figma */
.btn-primary {
  --bs-btn-bg: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: color-mix(in oklab, var(--bs-primary), #000 10%);
  --bs-btn-hover-border-color: color-mix(in oklab, var(--bs-primary), #000 12%);
  --bs-btn-color: #fff;
}
.btn-outline-primary {
  --bs-btn-color: var(--bs-primary);
  --bs-btn-border-color: var(--bs-primary);
  --bs-btn-hover-bg: var(--bs-primary);
  --bs-btn-hover-color: #fff;
}

/* Hover textes nav */
.text-wrapper-2:hover,
.text-wrapper-3:hover,
.text-wrapper-4:hover,
.text-wrapper-5:hover,
.text-wrapper-6:hover,
.text-wrapper-7:hover { opacity: .8; }

/* Breakpoints: on réactive des éléments décoratifs grand écran */
@media (min-width: 768px) {
  .web-hero .element { display: block; }
}
@media (min-width: 992px) {
  .web-hero .vector { display: block; }
}
@media (min-width: 1200px) {
  .web-hero .door-icon { display: block; }
}

/* Accessibilité */
:focus-visible { outline: 2px dashed var(--bs-primary); outline-offset: 2px; }