
/* Buttons */
.btn-primary {
    display: inline-block;
    background: var(--accent-gold);
    color: var(--bg-primary);
    padding: 14px 32px;
    border: none;
    font-family: var(--font-body);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
}
.center-btn { text-align: center; margin-top: 2rem; }
.link-btn {
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 700;
    font-size: 0.9rem;
    margin-top: 1rem;
    display: inline-block;
}

/* Cards */
.card {
    background: var(--bg-card);
    border-top: 2px solid var(--accent-gold);
    padding: 2rem;
    text-align: center;
}
.card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    margin-bottom: 1.5rem;
}
.menu-card {
    background: var(--bg-card);
}
.menu-card img {
    width: 100%;
    height: 250px;
    object-fit: cover;
}
.menu-info {
    padding: 1.5rem;
    text-align: center;
}
.menu-info h4 { margin-bottom: 0.5rem; }
.menu-info p { color: var(--text-secondary); font-size: 0.9rem; margin-bottom: 1rem; }
.price { color: var(--accent-gold); font-family: var(--font-heading); font-size: 1.2rem; font-weight: 700; }

.testimonial-card {
    background: var(--bg-secondary);
    padding: 2rem;
    border: 1px solid var(--divider);
    text-align: center;
}
.stars { color: var(--accent-gold); font-size: 1.5rem; margin-bottom: 1rem; }
.testimonial-card p { font-style: italic; margin-bottom: 1rem; color: var(--text-secondary); }
.testimonial-card span { color: var(--accent-gold); font-size: 0.9rem; text-transform: uppercase; }

/* Forms */
form {
    background: var(--bg-card);
    padding: 3rem;
    border: 1px solid var(--divider);
}
.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-bottom: 1.5rem;
}
.input-group {
    margin-bottom: 1.5rem;
}
input, select, textarea {
    width: 100%;
    background: var(--bg-secondary);
    border: 1px solid var(--divider);
    color: var(--text-primary);
    padding: 1rem;
    font-family: var(--font-body);
    outline: none;
    transition: border-color 0.3s;
}
input:focus, select:focus, textarea:focus {
    border-color: var(--accent-gold);
}
input.error, select.error, textarea.error {
    border-color: #ff4444;
}
.error-msg {
    color: #ff4444;
    font-size: 0.8rem;
    margin-top: 0.5rem;
    display: block;
}
.success-overlay {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(10,10,10,0.9);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}
.success-overlay .check {
    font-size: 4rem;
    color: #4CAF50;
    margin-bottom: 1rem;
}

/* Menu Tabs */
.menu-filters { display: flex; justify-content: center; gap: 1rem; margin-bottom: 2rem; flex-wrap: wrap; }
.filter-btn { background: none; border: 1px solid var(--divider); color: var(--text-primary); padding: 8px 16px; cursor: pointer; transition: 0.3s; }
.filter-btn.active, .filter-btn:hover { border-color: var(--accent-gold); color: var(--accent-gold); }

.tab-buttons { display: flex; justify-content: center; gap: 2rem; margin-bottom: 3rem; border-bottom: 1px solid var(--divider); flex-wrap: wrap;}
.tab-btn { background: none; border: none; color: var(--text-secondary); font-family: var(--font-heading); font-size: 1.2rem; padding: 10px 0; cursor: pointer; position: relative; }
.tab-btn.active { color: var(--accent-gold); }
.tab-btn::after { content: ''; position: absolute; bottom: -1px; left: 0; width: 0; height: 2px; background: var(--accent-gold); transition: width 0.3s; }
.tab-btn.active::after { width: 100%; }

.tab-panel { display: none; }
.tab-panel.active { display: block; animation: fadeIn 0.5s ease; }

.menu-item-row { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 0; border-bottom: 1px solid var(--divider); }
.menu-item-info h4 { margin-bottom: 0.3rem; }
.menu-item-info p { color: var(--text-secondary); font-size: 0.9rem; margin-bottom: 0;}
.menu-item-price { font-family: var(--font-heading); color: var(--accent-gold); font-size: 1.2rem; font-weight: 700; white-space: nowrap; margin-left: 1rem; }

/* Mock elements */
.ig-mock { background: var(--bg-card); aspect-ratio: 1; border: 1px solid var(--divider); }
.team-placeholder { width: 100px; height: 100px; background: var(--bg-secondary); border-radius: 50%; margin: 0 auto 1.5rem; display: flex; align-items: center; justify-content: center; font-family: var(--font-heading); font-size: 2rem; color: var(--accent-gold); border: 2px solid var(--accent-gold); }
.role { color: var(--accent-gold) !important; font-size: 0.9rem; text-transform: uppercase; margin-bottom: 1rem; }
.value-icon { font-size: 3rem; color: var(--accent-gold); margin-bottom: 1rem; }
.awards-grid { display: flex; justify-content: center; gap: 2rem; flex-wrap: wrap; }
.award-mock { padding: 2rem; border: 1px solid var(--divider); color: var(--text-secondary); font-family: var(--font-heading); }
.map-mock { width: 100%; height: 300px; background: var(--bg-card); border: 1px solid var(--divider); display: flex; align-items: center; justify-content: center; color: var(--text-secondary); }

/* Tables */
.poker-table-schedule { width: 100%; border-collapse: collapse; margin-top: 2rem; }
.poker-table-schedule th, .poker-table-schedule td { padding: 1rem; text-align: left; border-bottom: 1px solid var(--divider); }
.poker-table-schedule th { color: var(--accent-gold); font-family: var(--font-heading); }
.table-responsive { overflow-x: auto; margin-bottom: 2rem; }
.table-responsive table { width: 100%; border-collapse: collapse; }
.table-responsive th, .table-responsive td { padding: 1rem; border: 1px solid var(--divider); text-align: left; }
.table-responsive th { background: var(--bg-card); color: var(--accent-gold); }

/* Events */
.event-item { display: flex; padding: 2rem 0; border-bottom: 1px solid var(--divider); gap: 2rem; align-items: center; }
.event-date { width: 150px; font-weight: 700; color: var(--accent-gold); font-size: 1.2rem; }
.event-details { flex: 1; }
.event-details h3 { margin-bottom: 0.5rem; }

/* Cookie Banner */
.cookie-banner {
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: #1a1a1a;
    border-top: 2px solid var(--accent-gold);
    padding: 1.5rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 9999;
    transform: translateY(100%);
    transition: transform 0.5s ease;
}
.cookie-banner.show { transform: translateY(0); }
.cookie-text { flex: 1; margin-right: 2rem; font-size: 0.9rem; }
.cookie-buttons { display: flex; gap: 1rem; }
.cookie-buttons button { cursor: pointer; padding: 10px 20px; border: none; font-weight: 700; text-transform: uppercase; font-size: 0.8rem;}
.btn-accept { background: var(--accent-gold); color: #0a0a0a; }
.btn-minimal { background: transparent; border: 1px solid var(--accent-gold) !important; color: var(--accent-gold); }

@media (max-width: 768px) {
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .event-item { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .cookie-banner { flex-direction: column; text-align: center; gap: 1.5rem; }
    .cookie-text { margin-right: 0; }
    .cookie-buttons { width: 100%; justify-content: center; flex-wrap: wrap; }
}
