/* Landing page (guest homepage, index.php `else` branch) — adapted from a
   ready-made mockup provided by the user (2026-07-18), palette/type kept
   as given. Every selector below is scoped under .corrigo-landing (the
   wrapper div around the guest branch) because the source file was written
   as a fully standalone page and reuses very generic class/element names
   (.container, .btn, body, h1-h3, p, a) that would otherwise collide with
   Bootstrap/Tabler used by the rest of the app on this same page (navbar,
   footer.php). :root -> .corrigo-landing and body -> .corrigo-landing so
   the custom properties and base typography stay local to this section
   instead of leaking site-wide. Loaded only for guests (see head_tags.php).
   Nav rules from the source file were dropped entirely: the app's own
   Tabler navbar (file_nav_custom.php) already sits above this content with
   real Connexion/Inscription links and the language switcher — a second
   nav bar here would just duplicate it. */

  .corrigo-landing {
    --primary:      #2563EB;
    --primary-dark: #1D4ED8;
    --on-primary:   #FFFFFF;
    --secondary:    #7C3AED;
    --accent:       #F59E0B;
    --accent-dark:  #D97706;
    --bg:           #EFF6FF;
    --fg:           #0F172A;
    --fg-soft:      #475569;
    --muted:        #F1F5FD;
    --border:       #E4ECFC;
    --destructive:  #DC2626;
    --ring:         #2563EB;
    --card:         #FFFFFF;

    --radius-sm: 10px;
    --radius-md: 16px;
    --radius-lg: 24px;

    --shadow-sm: 0 1px 2px rgba(15,23,42,0.04), 0 6px 16px -8px rgba(37,99,235,0.16);
    --shadow-lg: 0 4px 10px rgba(15,23,42,0.04), 0 24px 48px -16px rgba(37,99,235,0.22);

    --container: 1120px;
    --ease: 240ms cubic-bezier(.2,.7,.3,1);
  }

  html { scroll-behavior:smooth; }

  .corrigo-landing {
    margin:0;
    background:var(--bg);
    color:var(--fg);
    /* head_tags.php sets `body { font-family: Inter !important }` globally —
       matching !important here is needed to win on specificity+important. */
    font-family:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }

  .corrigo-landing img, .corrigo-landing svg { display:block; max-width:100%; }

  .corrigo-landing .container {
    max-width:var(--container);
    margin:0 auto;
    padding:0 1.75rem;
  }

  .corrigo-landing h1, .corrigo-landing h2, .corrigo-landing h3 {
    font-family:'Plus Jakarta Sans', sans-serif;
    color:var(--fg);
    margin:0;
    line-height:1.15;
    letter-spacing:-0.01em;
  }

  .corrigo-landing h2 { font-size:clamp(1.7rem, 3vw, 2.3rem); font-weight:700; }
  .corrigo-landing h3 { font-size:1.1rem; font-weight:700; }

  .corrigo-landing p { margin:0; }

  .corrigo-landing a { color:inherit; text-decoration:none; }

  .corrigo-landing .eyebrow {
    display:inline-flex;
    align-items:center;
    gap:0.4rem;
    font-size:0.78rem;
    font-weight:700;
    letter-spacing:0.04em;
    text-transform:uppercase;
    color:var(--primary);
    margin:0 0 1rem;
  }

  .corrigo-landing .lead {
    font-size:1.05rem;
    color:var(--fg-soft);
    max-width:640px;
    margin-top:0.75rem;
  }

  /* ---------- Buttons ---------- */
  .corrigo-landing .btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:0.5rem;
    padding:0.85rem 1.6rem;
    border-radius:var(--radius-sm);
    font-weight:700;
    font-size:0.95rem;
    font-family:inherit;
    border:1.5px solid transparent;
    cursor:pointer;
    transition:transform var(--ease), background var(--ease), border-color var(--ease), box-shadow var(--ease);
    white-space:nowrap;
  }
  .corrigo-landing .btn:hover { transform:translateY(-1px); }
  .corrigo-landing .btn:focus-visible { outline:2px solid var(--ring); outline-offset:3px; }

  .corrigo-landing .btn--primary { background:var(--primary); color:var(--on-primary); box-shadow:var(--shadow-sm); }
  .corrigo-landing .btn--primary:hover { background:var(--primary-dark); }

  .corrigo-landing .btn--ghost { background:transparent; color:var(--fg); border-color:var(--border); }
  .corrigo-landing .btn--ghost:hover { border-color:var(--primary); color:var(--primary); }

  .corrigo-landing .btn--lg { padding:1rem 2rem; font-size:1rem; }

  .corrigo-landing .btn--onprimary { background:#fff; color:var(--primary-dark); }
  .corrigo-landing .btn--onprimary:hover { background:var(--accent); color:var(--fg); }

  /* ---------- Hero ---------- */
  .corrigo-landing .hero {
    position:relative;
    padding:4.5rem 0 3rem;
    overflow:hidden;
  }
  .corrigo-landing .hero__glow {
    position:absolute;
    inset:-20% -10% auto -10%;
    height:520px;
    background:
      radial-gradient(480px 320px at 20% 20%, rgba(124,58,237,0.16), transparent 70%),
      radial-gradient(560px 360px at 80% 10%, rgba(37,99,235,0.18), transparent 70%);
    pointer-events:none;
  }

  .corrigo-landing .hero__inner {
    position:relative;
    max-width:var(--container);
    margin:0 auto;
    padding:0 1.75rem;
    text-align:center;
  }

  .corrigo-landing .hero__title {
    font-size:clamp(2.1rem, 5vw, 3.4rem);
    font-weight:800;
    max-width:780px;
    margin:0 auto;
  }

  .corrigo-landing .hero__highlight {
    position:relative;
    display:inline-block;
    color:var(--primary-dark);
    padding:0 0.15em;
  }
  .corrigo-landing .hero__highlight::before {
    content:"";
    position:absolute;
    inset:8% -4% 4%;
    background:var(--accent);
    opacity:0.28;
    border-radius:8px;
    transform:rotate(-1deg);
    z-index:-1;
  }

  .corrigo-landing .hero__sub {
    max-width:560px;
    margin:1.4rem auto 2.1rem;
    color:var(--fg-soft);
    font-size:1.05rem;
  }

  .corrigo-landing .hero__mock {
    position:relative;
    max-width:760px;
    margin:3.5rem auto 0;
  }

  .corrigo-landing .browser-frame {
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-lg);
    overflow:hidden;
  }
  .corrigo-landing .browser-frame__bar {
    display:flex;
    gap:6px;
    padding:0.7rem 0.9rem;
    background:var(--muted);
    border-bottom:1px solid var(--border);
  }
  .corrigo-landing .browser-frame__bar span {
    width:9px; height:9px; border-radius:50%;
    background:var(--border);
  }
  .corrigo-landing .browser-frame__body {
    display:grid;
    grid-template-columns:150px 1fr;
    min-height:280px;
  }
  .corrigo-landing .browser-frame__side {
    background:var(--muted);
    border-right:1px solid var(--border);
    padding:1.1rem 0.9rem;
    display:flex;
    flex-direction:column;
    gap:0.6rem;
  }
  .corrigo-landing .browser-frame__side i {
    display:block;
    height:9px;
    border-radius:4px;
    background:var(--border);
  }
  .corrigo-landing .browser-frame__main {
    padding:1.4rem;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
    align-content:start;
  }
  .corrigo-landing .stat-card {
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    padding:0.9rem;
    box-shadow:var(--shadow-sm);
  }
  .corrigo-landing .stat-card b {
    display:block;
    font-size:1.4rem;
    font-weight:800;
    color:var(--primary-dark);
  }
  .corrigo-landing .stat-card span {
    font-size:0.78rem;
    color:var(--fg-soft);
  }
  .corrigo-landing .chart-bars {
    grid-column:1 / -1;
    display:flex;
    align-items:flex-end;
    gap:8px;
    height:80px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    padding:0.8rem;
    box-shadow:var(--shadow-sm);
  }
  .corrigo-landing .chart-bars i {
    flex:1;
    background:linear-gradient(180deg, var(--secondary), var(--primary));
    border-radius:4px 4px 0 0;
  }

  .corrigo-landing .badge-float {
    position:absolute;
    top:-16px;
    right:12px;
    display:flex;
    align-items:center;
    gap:0.5rem;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:999px;
    padding:0.55rem 1rem 0.55rem 0.55rem;
    box-shadow:var(--shadow-lg);
    font-size:0.82rem;
    font-weight:700;
  }
  .corrigo-landing .badge-float .icon-chip {
    width:26px; height:26px;
    border-radius:50%;
    background:var(--accent);
    display:flex; align-items:center; justify-content:center;
    flex:none;
  }
  .corrigo-landing .badge-float .icon-chip svg { width:14px; height:14px; color:#fff; }

  @media (max-width:640px){
    .corrigo-landing .browser-frame__body { grid-template-columns:1fr; }
    .corrigo-landing .browser-frame__side { display:none; }
    .corrigo-landing .badge-float { right:0; font-size:0.74rem; }
  }

  /* ---------- Section spacing ---------- */
  .corrigo-landing .section { padding:4.5rem 0; }
  .corrigo-landing .section--dim { background:var(--muted); }
  .corrigo-landing .section--center { text-align:center; }

  /* ---------- Discover tabs ---------- */
  .corrigo-landing .tabs { margin-top:2rem; }
  .corrigo-landing .tabs__nav {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:0.5rem;
    margin-bottom:1.75rem;
  }
  .corrigo-landing .tabs__nav button {
    font-family:inherit;
    font-size:0.85rem;
    font-weight:600;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:999px;
    padding:0.6rem 1.15rem;
    color:var(--fg-soft);
    cursor:pointer;
    transition:all var(--ease);
  }
  .corrigo-landing .tabs__nav button:hover { border-color:var(--primary); color:var(--primary); }
  .corrigo-landing .tabs__nav button.active {
    color:#fff;
    background:var(--primary);
    border-color:var(--primary);
    box-shadow:var(--shadow-sm);
  }
  .corrigo-landing .tabs__nav button:focus-visible { outline:2px solid var(--ring); outline-offset:2px; }

  .corrigo-landing .tabs__panel { display:none; text-align:left; max-width:680px; color:var(--fg-soft); }
  .corrigo-landing .tabs__panel.active { display:block; }
  .corrigo-landing .tabs__panel h3 { color:var(--fg); margin-bottom:0.5rem; }

  /* ---------- Split sections ---------- */
  .corrigo-landing .split {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3.5rem;
    align-items:center;
  }
  .corrigo-landing .split--reverse .split__media { order:2; }
  .corrigo-landing .split__text h2 { margin-bottom:1rem; }
  .corrigo-landing .split__text p { color:var(--fg-soft); margin-top:1rem; }
  .corrigo-landing .split__text p + p { margin-top:0.9rem; }
  .corrigo-landing .split__text strong { color:var(--fg); }

  @media (max-width:820px){
    .corrigo-landing .split { grid-template-columns:1fr; gap:2.25rem; }
    .corrigo-landing .split--reverse .split__media { order:0; }
  }

  .corrigo-landing .device-illustration {
    width:100%;
    aspect-ratio:4/3;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    box-shadow:var(--shadow-lg);
    padding:1.4rem;
    display:flex;
    flex-direction:column;
    gap:0.9rem;
  }
  .corrigo-landing .device-illustration .row { display:flex; gap:0.7rem; align-items:center; }
  .corrigo-landing .device-illustration .dot { width:34px; height:34px; border-radius:50%; background:var(--muted); flex:none; }
  .corrigo-landing .device-illustration .bar { flex:1; height:10px; border-radius:5px; background:var(--muted); }
  .corrigo-landing .device-illustration .bar.short { max-width:60%; }
  .corrigo-landing .device-illustration .check {
    margin-left:auto;
    color:var(--primary);
    width:20px; height:20px;
  }

  .corrigo-landing .relax-illustration {
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
  }

  /* ---------- Steps banner ---------- */
  .corrigo-landing .steps-banner {
    background:linear-gradient(135deg, var(--primary), var(--secondary));
    color:#fff;
    padding:3.5rem 0;
  }
  .corrigo-landing .steps-banner h2 { color:#fff; text-align:center; margin-bottom:2.5rem; }
  .corrigo-landing .steps-banner .steps {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:2rem;
  }
  .corrigo-landing .steps-banner .step {
    text-align:center;
    background:rgba(255,255,255,0.1);
    border:1px solid rgba(255,255,255,0.18);
    border-radius:var(--radius-md);
    padding:1.75rem 1.4rem;
  }
  .corrigo-landing .steps-banner .step .num {
    font-size:2rem;
    font-weight:800;
    color:var(--accent);
    margin-bottom:0.6rem;
  }
  .corrigo-landing .steps-banner .step p { color:rgba(255,255,255,0.82); font-size:0.92rem; margin-top:0.5rem; }
  .corrigo-landing .steps-banner .step h3 { color:#fff; }

  @media (max-width:700px){
    .corrigo-landing .steps-banner .steps { grid-template-columns:1fr; gap:1.25rem; }
  }

  /* ---------- Compat ---------- */
  .corrigo-landing .compat__frames {
    display:flex;
    align-items:flex-end;
    justify-content:center;
    gap:1.5rem;
    margin-top:2.5rem;
  }
  .corrigo-landing .frame-laptop, .corrigo-landing .frame-phone {
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-sm);
    box-shadow:var(--shadow-lg);
  }
  .corrigo-landing .frame-laptop { width:min(60%, 460px); padding:1rem 1rem 1.4rem; }
  .corrigo-landing .frame-phone { width:min(28%, 140px); padding:0.7rem 0.6rem 1rem; }
  .corrigo-landing .frame-laptop .screen, .corrigo-landing .frame-phone .screen {
    background:var(--muted);
    border-radius:8px;
    padding:0.8rem;
    display:flex;
    flex-direction:column;
    gap:0.5rem;
  }
  .corrigo-landing .frame-laptop .screen i, .corrigo-landing .frame-phone .screen i {
    height:8px; border-radius:4px; background:var(--border);
  }
  .corrigo-landing .frame-laptop .screen i:nth-child(1), .corrigo-landing .frame-phone .screen i:nth-child(1) { width:55%; background:var(--primary); opacity:0.8; }

  @media (max-width:600px){
    .corrigo-landing .compat__frames { gap:0.9rem; }
  }

  /* ---------- CTA banners ---------- */
  .corrigo-landing .cta-banner {
    background:var(--primary);
    color:#fff;
    text-align:center;
    padding:3rem 0;
  }
  .corrigo-landing .cta-banner h2 { color:#fff; margin-bottom:1.4rem; }
  .corrigo-landing .cta-banner p { color:rgba(255,255,255,0.85); margin-bottom:1.4rem; }

  /* ---------- Features ---------- */
  .corrigo-landing .features__grid {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:1.25rem;
    margin:2.5rem 0 2.5rem;
  }
  .corrigo-landing .feature-card {
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-md);
    padding:1.75rem 1.5rem;
    box-shadow:var(--shadow-sm);
    transition:box-shadow var(--ease), transform var(--ease);
  }
  .corrigo-landing .feature-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-2px); }
  .corrigo-landing .feature-card .icon-chip {
    width:44px; height:44px;
    border-radius:12px;
    background:var(--muted);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:1rem;
  }
  .corrigo-landing .feature-card .icon-chip svg {
    width:22px; height:22px;
    color:var(--primary);
  }
  .corrigo-landing .feature-card h3 { font-size:1rem; margin-bottom:0.5rem; }
  .corrigo-landing .feature-card p { font-size:0.88rem; color:var(--fg-soft); }

  @media (max-width:900px){
    .corrigo-landing .features__grid { grid-template-columns:repeat(2,1fr); }
  }
  @media (max-width:560px){
    .corrigo-landing .features__grid { grid-template-columns:1fr; }
  }

  /* ---------- Pricing ---------- */
  .corrigo-landing .pricing-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
    gap:1.75rem;
    max-width:960px;
    margin:2.5rem auto 0;
  }
  .corrigo-landing .pricing-grid .pricing-card { margin:0; }
  .corrigo-landing .pricing-card {
    max-width:400px;
    margin:2.5rem auto 0;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    padding:2.4rem 2rem;
    text-align:center;
    box-shadow:var(--shadow-lg);
    display:flex;
    flex-direction:column;
  }
  .corrigo-landing .pricing-card--highlight { border-color:var(--primary); border-width:2px; }
  .corrigo-landing .pricing-card .price {
    font-size:3rem;
    font-weight:800;
    margin:0.8rem 0 0.3rem;
  }
  .corrigo-landing .pricing-card .price span { font-size:1rem; font-weight:500; color:var(--fg-soft); }
  .corrigo-landing .pricing-card ul {
    list-style:none;
    padding:0;
    margin:1.6rem 0 1.8rem;
    text-align:left;
    display:flex;
    flex-direction:column;
    gap:0.75rem;
    font-size:0.92rem;
    color:var(--fg-soft);
    flex-grow:1;
  }
  .corrigo-landing .pricing-card li { display:flex; align-items:center; gap:0.6rem; }
  .corrigo-landing .pricing-card li svg { width:18px; height:18px; color:var(--primary); flex:none; }
  .corrigo-landing .pricing-card li.is-unavailable { color:#94a3b8; }
  .corrigo-landing .pricing-card li.is-unavailable svg { color:#cbd5e1; }
  .corrigo-landing .pricing-note {
    text-align:center;
    margin-top:1.5rem;
    font-size:0.9rem;
    color:var(--fg-soft);
  }
  .corrigo-landing .pricing-note a { color:var(--primary-dark); font-weight:600; }
  .corrigo-landing .pricing-note a:hover { text-decoration:underline; }

  /* ---------- Trust ---------- */
  .corrigo-landing .trust__logos {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:2.5rem;
    margin-top:2.2rem;
    font-weight:700;
    color:var(--fg-soft);
    opacity:0.75;
    font-size:1.05rem;
  }

  /* ---------- Stats ---------- */
  .corrigo-landing .stats {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:3rem;
    padding:2.5rem 0;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }
  .corrigo-landing .stats .stat { text-align:center; }
  .corrigo-landing .stats .stat b {
    display:block;
    font-size:1.5rem;
    font-weight:800;
    color:var(--primary-dark);
  }
  .corrigo-landing .stats .stat span { font-size:0.82rem; color:var(--fg-soft); text-transform:uppercase; letter-spacing:0.04em; }

  /* ---------- Footer ---------- */
  .corrigo-landing .footer {
    background:var(--fg);
    color:rgba(255,255,255,0.75);
    padding:3.5rem 0 2rem;
  }
  .corrigo-landing .footer__grid {
    display:grid;
    grid-template-columns:1.3fr 1fr 1fr;
    gap:2.5rem;
    margin-bottom:2.5rem;
  }
  .corrigo-landing .footer__brand {
    display:flex;
    align-items:center;
    gap:0.5rem;
    font-weight:800;
    font-size:1.3rem;
    color:#fff;
    margin-bottom:0.8rem;
  }
  .corrigo-landing .footer__brand .mark {
    width:28px; height:28px;
    border-radius:8px;
    background:linear-gradient(135deg, var(--primary), var(--secondary));
    display:flex; align-items:center; justify-content:center;
  }
  .corrigo-landing .footer__brand .mark svg { width:15px; height:15px; color:#fff; }
  .corrigo-landing .footer h4 {
    color:#fff;
    font-size:0.85rem;
    text-transform:uppercase;
    letter-spacing:0.05em;
    margin-bottom:1rem;
  }
  .corrigo-landing .footer ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:0.65rem; font-size:0.9rem; }
  .corrigo-landing .footer a:hover { color:#fff; }
  .corrigo-landing .footer__social { display:flex; gap:0.9rem; margin-top:1rem; }
  .corrigo-landing .footer__social a {
    width:34px; height:34px;
    border:1px solid rgba(255,255,255,0.25);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
  }
  .corrigo-landing .footer__social svg { width:16px; height:16px; }

  @media (max-width:700px){
    .corrigo-landing .footer__grid { grid-template-columns:1fr 1fr; }
  }

  @media (prefers-reduced-motion:reduce){
    html { scroll-behavior:auto; }
    .corrigo-landing .btn, .corrigo-landing .feature-card { transition:none; }
  }
