:root {
    --dark-bg: #1a1a1a;
    --light-bg: #fdfdfd;
    --primary-color: #c0a062; /* Un dorado elegante */
    --text-dark: #222;
    --text-light: #e0e0e0;
    --font-title: 'Playfair Display', serif;
    --font-body: 'Roboto', sans-serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    font-family: var(--font-body);
    background-color: #e9e9e9;
    color: var(--text-dark);
    padding: 20px;
}

.page-header {
    width: 100%; max-width: 800px;
    margin: 0 auto 20px auto; display: flex;
    justify-content: space-between; align-items: center;
}
.logo-link .logo-img { height: 40px; }
.back-button {
    background-color: var(--dark-bg); color: var(--light-bg);
    padding: 10px 20px; border-radius: 8px; text-decoration: none;
    font-weight: 600; box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}
.back-button:hover { background-color: var(--primary-color); transform: translateY(-2px); }
.back-button i { margin-right: 8px; }

.menu-container {
    max-width: 800px;
    margin: 0 auto;
    background-color: var(--light-bg);
    border-radius: 8px;
    box-shadow: 0 15px 50px rgba(0,0,0,0.15);
    overflow: hidden;
}

.menu-hero {
    position: relative;
    height: 250px;
    background-image: url('https://placehold.co/800x300/222/FFF?text=...');
    background-size: cover;
    background-position: center;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.hero-overlay { position: absolute; inset: 0; background-color: rgba(0,0,0,0.5); }
.hero-content { position: relative; z-index: 1; }
.hero-content h1 { font-family: var(--font-title); font-size: 3.5rem; }
.hero-content p { font-size: 1.2rem; font-weight: 300; }

.menu-main { padding: 40px; }
.menu-category { margin-bottom: 40px; }
.menu-category h2 {
    font-family: var(--font-title); font-size: 2.5rem;
    text-align: center; margin-bottom: 30px;
    color: var(--dark-bg);
}
.menu-item {
    margin-bottom: 25px;
    border-bottom: 1px dashed #ccc;
    padding-bottom: 15px;
}
.menu-item.highlight {
    background-color: #fffaf0;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid var(--primary-color);
    margin: -20px -20px 25px -20px;
}
.highlight-tag {
    background-color: var(--primary-color);
    color: var(--dark-bg);
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 0.8rem;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 10px;
}
.item-header { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
.item-header h3 { font-size: 1.3rem; font-weight: 400; color: var(--text-dark); }
.price { font-size: 1.3rem; font-weight: bold; color: var(--primary-color); }
.item-description { font-size: 0.9rem; color: #666; line-height: 1.6; }

.form-section { background-color: var(--dark-bg); color: var(--text-light); padding: 40px; margin: 40px -40px -40px -40px; text-align: center; }
.form-section h2 { color: var(--white); }
.form-intro { margin-bottom: 20px; color: #ccc; }
.contact-form { max-width: 500px; margin: 0 auto; }
.form-group { margin-bottom: 20px; text-align: left; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 600; }
.form-group input { width: 100%; padding: 12px; border-radius: 8px; border: none; font-family: var(--font-body); font-size: 1rem; }
.cta-button {
    width: 100%; padding: 15px; border-radius: 8px; font-weight: bold; font-size: 1.1rem;
    background-color: var(--primary-color); color: var(--dark-bg); border: none; cursor: pointer;
    transition: all 0.3s ease;
}
.cta-button:hover { background-color: var(--light-bg); }

.form-success, .form-error { padding: 40px; border-radius: 8px; text-align: center; }
.form-success { background-color: #e6f4ea; }
.form-error { background-color: #fbeaea; }
.form-success h2, .form-error h2 { color: #333; }

.menu-footer { background-color: #f1f1f1; padding: 20px; text-align: center; }
.social-icons { margin-bottom: 10px; }
.social-icons a { font-size: 1.5rem; color: #888; margin: 0 10px; transition: color 0.3s ease; }
.social-icons a:hover { color: var(--primary-color); }
.menu-footer p { font-size: 0.9rem; color: #777; }
.menu-footer a { color: var(--dark-bg); font-weight: bold; text-decoration: none; }
