/* Page-specific layout tweaks that don't belong in generic components.css */

.page-hero { padding-block: var(--space-6); text-align: center; }
.page-hero p { color: var(--color-text-muted); max-width: 640px; margin-inline: auto; margin-top: var(--space-2); }

.contact-grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 1024px) { .contact-grid { grid-template-columns: 1fr 1fr; } }
.contact-info-item { display: flex; gap: var(--space-3); padding-block: var(--space-3); border-bottom: 1px solid var(--color-border); }
.map-placeholder {
    aspect-ratio: 16/7;
    background: repeating-linear-gradient(45deg, var(--color-surface-alt), var(--color-surface-alt) 10px, var(--color-surface) 10px, var(--color-surface) 20px);
    border-radius: var(--radius-lg);
    display: flex; align-items: center; justify-content: center;
    color: var(--color-text-muted);
}

.about-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: var(--space-4); }
@media (min-width: 768px) { .about-stats { grid-template-columns: repeat(4,1fr); } }

.error-page { min-height: 60vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: var(--space-4); padding: var(--space-6); }
.error-page .code { font-size: 5rem; font-weight: 800; color: var(--color-primary); line-height: 1; }

.unknown-store-page {
    min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; gap: var(--space-3); padding: var(--space-6);
    background: #101018; color: #f2f2f7; font-family: sans-serif;
}

.cookie-banner {
    position: fixed; bottom: 0; inset-inline: 0; z-index: 400;
    background: var(--color-text); color: var(--color-background);
    padding: var(--space-4); display: flex; gap: var(--space-3); align-items: center; flex-wrap: wrap; justify-content: center;
}
.cookie-banner[hidden] { display: none; }

.gateway-card { max-width: 420px; margin-inline: auto; padding: var(--space-6); text-align: center; }
.gateway-card .bank-logo { font-weight: 800; font-size: 1.3rem; margin-bottom: var(--space-4); color: var(--color-primary); }

.result-icon { width: 72px; height: 72px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-inline: auto; font-size: 2rem; }
.result-icon.success { background: color-mix(in srgb, var(--color-success) 15%, transparent); color: var(--color-success); }
.result-icon.failed { background: color-mix(in srgb, var(--color-danger) 15%, transparent); color: var(--color-danger); }
.result-icon.cancelled { background: color-mix(in srgb, var(--color-warning) 15%, transparent); color: var(--color-warning); }

.wishlist-grid, .compare-empty { min-height: 200px; }

@media print { .site-header, .site-footer, .toast-container { display: none !important; } }
