/* ALL CUSTOM STYLES UNCHANGED */
/* ======================================================================
   Bulma 1.x → 0.9.x Visual Normalization Layer
   Purpose: Preserve classic Bulma appearance after upgrading to 1.x
   Place AFTER Bulma CSS
   ====================================================================== */
:root {
    /* Base text colors (Bulma 0.9.x behavior) */
    --bulma-text: #1a1a1a;
    --bulma-text-strong: #1a1a1a;

    /* Main backgrounds */
    --bulma-background: var(--primary-bg);
    --bulma-scheme-main: #ffffff;
    --bulma-scheme-main-bis: #ffffff;
    --bulma-scheme-main-ter: #ffffff;

    /* Surface colors */
    --bulma-surface: #ffffff;
    --bulma-surface-bis: #ffffff;
    --bulma-surface-ter: #ffffff;

    /* Component surfaces */
    --bulma-card-background-color: #ffffff;
    --bulma-navbar-background-color: var(--navbar-bg);
    --bulma-dropdown-background-color: var(--navbar-bg);
    --bulma-panel-background-color: #ffffff;
    --bulma-box-background-color: #ffffff;

    /* Borders (classic Bulma look) */
    --bulma-border: #dbdbdb;
    --bulma-border-strong: #b5b5b5;
}

/* ----------------------------------------------------------------------
   Global text + background
   ---------------------------------------------------------------------- */
html {
    background-color: var(--primary-bg);
}

body {
    background-color: var(--primary-bg);
    color: #1a1a1a;

    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}

/* Ensure all common text elements remain black */
.title,
.subtitle,
.content,
p,
label,
.label,
strong,
.menu-label,
.menu-list a,
.card-content {
    color: #1a1a1a;
}

/* ----------------------------------------------------------------------
   Surfaces (force white backgrounds)
   ---------------------------------------------------------------------- */
.card,
.box,
.menu,
.modal-card,
.panel {
    background-color: #ffffff;
    color: #1a1a1a;
}

.navbar {
    background-color: var(--navbar-bg);
    color: var(--text-white);
}

.dropdown-content {
    background-color: var(--navbar-bg);
    color: var(--text-white);
}

/* ----------------------------------------------------------------------
   Classic Bulma 0.9.x Card Elevation
   ---------------------------------------------------------------------- */
.card {
    box-shadow:
        0 1px 5px rgba(10, 10, 10, 0.1),
        0 0 0 0px rgba(10, 10, 10, 0.1);
    height: 100%;
}


/* ----------------------------------------------------------------------
   Navbar links (avoid muted Bulma 1.x defaults)
   ---------------------------------------------------------------------- */
.navbar-item,
.navbar-item a,
.navbar-link {
    color: var(--text-white);
    background-color: transparent;
}

.navbar-item:hover,
.navbar-item a:hover,
.navbar-link:hover {
    color: var(--primary-green);
    background-color: rgba(255, 255, 255, 0.06);
}

.navbar-burger span {
    background-color: var(--text-white);
}

.navbar-dropdown .navbar-item {
    color: var(--text-dark);
    background-color: transparent;
}

.navbar-dropdown .navbar-item:hover {
    color: var(--primary-green);
    background-color: rgba(0, 0, 0, 0.05);
}


/* Logout: offset na desktopie */
.navbar-logout-btn {
    color: red !important;
    margin-left: 50px;
}

.navbar-logout-btn button {
    color: red;
}

/* ----------------------------------------------------------------------
   User menu dropdown (avatar / user icon)
   ---------------------------------------------------------------------- */
.user-menu-trigger {
    padding: 0 2rem;
    background-color: transparent !important;
}

.user-menu-trigger:hover {
    background-color: transparent !important;
}

.user-menu-trigger .icon {
    color: var(--text-white);
    font-size: 1.4rem;
    transition: color 0.15s ease;
}

.user-menu-trigger:hover .icon {
    color: var(--primary-green);
}

.user-menu-dropdown .navbar-dropdown {
    min-width: 200px;
}

.user-menu-dropdown .navbar-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.user-menu-section-label {
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.55;
    pointer-events: none;
    padding-bottom: 0.15rem;
}

.user-menu-logout-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-size: inherit;
    font-family: inherit;
    /* color: var(--text-white); */
}

.user-menu-logout-btn:hover,
.user-menu-logout-link:hover {
    color: var(--primary-green) !important;
}

.user-menu-logout-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    /* color: var(--text-white) !importaxnt; */
}


/* ----------------------------------------------------------------------
   Safety reset for future Bulma updates
   ---------------------------------------------------------------------- */



.section {
    border-bottom: 0px solid #1a1a1a;
    padding-top: 120px;
    padding-bottom: 80px;
}
.section-small {
    border-bottom: 0px solid #1a1a1a;
    padding-top: 60px;
    padding-bottom: 20px;
}

.title.is-2 {
    font-size: 1.8rem;
    font-weight: 300;
    line-height: 1.2;
    padding-bottom: 40px;
}

.subtitle {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
    font-size: 1.1rem;
    font-weight: 300;
}

.button.is-outlined {
    border: 0px solid #1a1a1a;
    border-radius: var(--radius-small);
    color: #1a1a1a;
    background-color: var(--light-green);
    font-weight: 400;
    padding: 1.5rem 2rem;
    height: auto;
}

.button.is-outlined:hover {
    border: 0px;
    color: #1a1a1a;
    background-color: var(--green-hover);
}



.section-label {
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 1rem;
}

.info-box {
    padding-top: 100px;
    padding-bottom: 40px;
}

.placeholder-box {
    width: 100%;
    height: 200px;
    border: 1px solid #1a1a1a;
    border-radius: 8px;
    background-color: #fff;
}

.testimonial-text {
    font-size: 1.75rem;
    font-style: italic;
    line-height: 1.4;
    margin-bottom: 2rem;
}

.testimonial-divider {
    width: 100px;
    height: 2px;
    background-color: #1a1a1a;
}

.hero-section {
    background-color: #f5f5f0;
    padding: 10rem 1.5rem;
}
.hero-banner {
    background:
      linear-gradient(rgba(0,0,0,.3), rgba(0,0,0,.3)),
      url('../img/home_hero.jpg')
      center / cover !important;
}

.hero-banner .title {
    font-size: 3rem;
    font-weight: 300;
}

.hero-illustration {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.hero-black-bg {
  background-image: linear-gradient(to right, rgba(0,0,0,0),rgba(0,0,0,0.8),rgba(0,0,0,0));
  padding: 0.5rem;
  border-radius: 0.5rem;
}

.workflow-illustration {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.footer {
    padding-top: 80px;
    padding-bottom: 50px;
}


/* implementation page */
.same-height {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.timeline-item { border-left: 4px solid #00d1b2; padding: 20px; position: relative; margin-bottom: 20px; }
.step-number { background: #00d1b2; color: white; border-radius: 50%; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; margin-right: 10px; font-weight: bold; }
.mockup-phone { border: 8px solid #333; border-radius: 30px; padding: 15px; background: #fff; min-height: 400px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.is-primary-light { background-color: #ebfffc; }

        .timeline {
            position: relative;
            padding: 2rem 0;
        }

        .timeline-item {
            position: relative;
            padding-left: 3rem;
            padding-bottom: 2rem;
        }

        .timeline-item:before {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            bottom: -2rem;
            width: 2px;
            background: #dbdbdb;
        }

        .timeline-item:last-child:before {
            display: none;
        }

        .timeline-marker {
            position: absolute;
            left: -0.5rem;
            top: 0;
            width: 2rem;
            height: 2rem;
            border-radius: 50%;
            background: var(--primary-green);
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
        }

        .icon-box {
            background: #f5f5f5;
            padding: 2rem;
            border-radius: 8px;
            height: 100%;
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .icon-box .icon {
            font-size: 3rem;
            color: #00d1b2;
            margin-bottom: 1rem;
        }

        .passport-example {
            background: white;
            border: 1px solid #dbdbdb;
            border-radius: 8px;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .passport-example .tag {
            margin-bottom: 1rem;
        }

        .data-point {
            display: flex;
            justify-content: space-between;
            padding: 0.5rem 0;
            border-bottom: 1px solid #f5f5f5;
        }

        .data-point:last-child {
            border-bottom: none;
        }

        .data-label {
            font-weight: 600;
            color: #4a4a4a;
        }

        .faq-item {
            margin-bottom: 1.5rem;
        }

        .cta-section {
            background: linear-gradient(135deg, var(--primary-green) 0%, var(--primary-green-darker) 100%);
            color: white;
        }

        .feature-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
            margin-top: 2rem;
        }

        .box-small {
            font-size: 0.9rem;
            background-color: #fafafa !important;
        }
        .p-small {
            font-size: 1.1rem;
        }

        .primary-btn {
            width: 100%;
            padding: 12px;
            border: none;
            border-radius: var(--radius-small);
            background: var(--primary-green);
            color: #fff;
            font-size: 15px;
            cursor: pointer;
            transition: background .3s;
        }

        .primary-btn:hover {
            background: var(--primary-green-dark);
        }

        .organizataion-buttons{
            display: flex;
            flex-direction: column;
            gap: 20px;
        }

        .cta{
            justify-content: center;
            display: flex;
        }

        .app-container {
            max-width: 1100px;
            margin: 40px auto;
            padding: 0 24px;
        }

        h1 {
            margin-bottom: 24px;
        }


        .app-container button {
            width: 100%;
            padding: 12px;
            border: none;
            border-radius: var(--radius-small);
            background: var(--primary-green);
            color: #fff;
            font-size: 15px;
            cursor: pointer;
            transition: background .3s;
        }

        .app-container button:hover {
            background: var(--primary-green-dark);
        }

        .toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
            gap: 16px;
            flex-wrap: wrap;
        }
        form {
            display: flex;
            gap: 8px;
        }                
        input {
            padding: 8px 12px;
            border-radius: 8px;
            border: 1px solid #d1d5db;
            font-size: 14px;
        }

        table {
            width: 100%;
            border-collapse: collapse;
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
        }

        th,
        td {
            padding: 12px 16px;
            text-align: left;
            border-bottom: 1px solid #e5e7eb;
        }

        th {
            background: #f3f4f6;
            font-size: 14px;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }

        tr:last-child td {
            border-bottom: none;
        }.toolbar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 16px;
            gap: 16px;
            flex-wrap: wrap;
            width: 100%;
        }
        
        form {
            display: flex;
            gap: 8px;
            flex-wrap: nowrap;
        }
        
        input {
            padding: 8px 12px;
            border-radius: 8px;
            border: 1px solid #d1d5db;
            font-size: 14px;
        }
        
        table {
            width: 100%;
            border-collapse: collapse;
            background: white;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
        }
        
        th,
        td {
            padding: 12px 16px;
            text-align: left;
            border-bottom: 1px solid #e5e7eb;
        }
        
        th {
            background: #f3f4f6;
            font-size: 14px;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        
        tr:last-child td {
            border-bottom: none;
        }
        
        .meta {
            margin: 16px 0;
            font-size: 14px;
            color: #6b7280;
        }
        
        .pagination {
            display: flex;
            gap: 6px;
            justify-content: center;
            margin-top: 24px;
            flex-wrap: wrap;
        }
        
        .pagination a,
        .pagination span {
            padding: 8px 12px;
            border-radius: 8px;
            font-size: 14px;
            text-decoration: none;
            border: 1px solid #d1d5db;
            color: #111827;
            background: white;
        }
        
        .pagination .active {
            background: var(--btn-green);
            color: white;
            border-color: var(--btn-green);
        }.pagination .disabled {
            opacity: 0.4;
            pointer-events: none;
        }

        .meta {
            margin: 16px 0;
            font-size: 14px;
            color: #6b7280;
        }

        .pagination {
            display: flex;
            gap: 6px;
            justify-content: center;
            margin-top: 24px;
            flex-wrap: wrap;
        }

        .pagination a,
        .pagination span {
            padding: 8px 12px;
            border-radius: 8px;
            font-size: 14px;
            text-decoration: none;
            border: 1px solid #d1d5db;
            color: #111827;
            background: white;
        }

        .pagination .active {
            background: var(--btn-green);
            color: white;
            border-color: var(--btn-green);
        }

        .pagination .disabled {
            opacity: 0.4;
            pointer-events: none;
        }

        .window{
            display: flex;
            flex-direction: column;
        }

