:root { --gi-dark: #333333; --gi-light: #f7f7f7; }
* { font-family: "Poppins", sans-serif; }
body { color: var(--gi-dark); }
.hero { padding: 5rem 0 3rem; }
.hero h1 { max-width: 900px; font-size: clamp(2rem, 5vw, 4.8rem); line-height: 1.05; letter-spacing: -0.04em; }
.product-card {
    width: 100%;
    height: 100%;
    border: 1px solid #e8e8e8;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    transition: transform .2s ease, box-shadow .2s ease;
}

.product-card:hover { transform: translateY(-3px); box-shadow: 0 12px 34px rgba(0,0,0,.08); }
.product-card img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: var(--gi-light);
    flex-shrink: 0;
}

/* A kártya szöveges része kitölti a fennmaradó magasságot. */
.product-card > .p-3 {
    width: 100%;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

/* Egységes címterület, legfeljebb három látható sorral. */
.product-card h3 {
    min-height: calc(1.35em * 3);
    line-height: 1.35;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.product-price {
    min-height: calc(1.35em + 1.35em * .9);
}

.product-availability-in-stock {
    color: #c46aa8;
}

/* A gomb minden esetben a kártya legaljára kerül. */
.product-card .btn {
    margin-top: auto;
}
.price-old { text-decoration: line-through; color: #777; font-size: .9rem; }
.form-control, .form-select, .btn, .card, .alert, .pagination .page-link { border-radius: 0 !important; }
.admin-shell { max-width: 1400px; }
.table td, .table th { vertical-align: middle; }


.step-number {
    width: 38px;
    height: 38px;
    min-width: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #333;
    font-weight: 600;
}

.step-number.step-done {
    background: #333;
    color: #fff;
}

.input-group-text {
    background: #f7f7f7;
}


/* Fekete, a webhely gombjaihoz illeszkedő lapozó. */
.pagination .page-link {
    color: #333333;
    background: #ffffff;
    border-color: #d9d9d9;
}

.pagination .page-link:hover,
.pagination .page-link:focus {
    color: #ffffff;
    background: #333333;
    border-color: #333333;
    box-shadow: none;
}

.pagination .page-item.active .page-link {
    color: #ffffff;
    background: #333333;
    border-color: #333333;
}

.pagination .page-item.disabled .page-link {
    color: #999999;
    background: #f7f7f7;
    border-color: #d9d9d9;
}


.partner-logo {
    width: 100%;
    max-width: 240px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    border: 1px solid #e8e8e8;
    background: #ffffff;
    padding: 1rem;
}

.partner-card,
.collection-card {
    height: 100%;
    border: 1px solid #e8e8e8;
    background: #ffffff;
}

.collection-cover {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #f7f7f7;
}

.admin-product-image {
    width: 72px;
    height: 72px;
    object-fit: cover;
    background: #f7f7f7;
}

.filter-panel {
    background: #f8f8f8;
    border: 1px solid #e3e3e3;
}

.priority-input {
    min-width: 92px;
}

.catalog-status {
    white-space: nowrap;
}

.table-check {
    width: 42px;
}

.site-footer .footer-note {
    max-width: 880px;
}

.site-footer .footer-actions {
    margin-left: auto;
}

@media (max-width: 575.98px) {
    .page-hero-top {
        align-items: stretch !important;
    }

    .page-back-btn {
        order: -1;
        width: 100%;
    }

    .partner-hero-top {
        align-items: stretch !important;
    }

    .partner-back-btn {
        order: -1;
        width: 100%;
    }

    .site-footer .footer-actions {
        width: 100%;
        margin-left: 0;
    }

    .site-footer .footer-actions .btn {
        width: 100%;
    }
}

@media (max-width: 450px) {
    .product-card-col {
        flex: 0 0 auto;
        width: 100%;
    }
}
