/* Theme Implementation Rules */

/* Base elements */
body {
  color: var(--text);
  background: var(--gradient-dark);
  transition: var(--theme-transition);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--off-white);
  transition: var(--theme-transition);
}

p {
  color: var(--text);
  transition: var(--theme-transition);
}

a {
  color: var(--secondary);
  transition: var(--theme-transition);
}

a:hover {
  color: var(--accent-light);
}

/* Button styles */
.btn {
  background: var(--gradient-primary);
  color: var(--off-white);
  box-shadow: 0 4px 15px rgba(138, 15, 30, 0.3);
  transition: var(--theme-transition);
}

.btn:before {
  background: var(--gradient-accent);
}

.btn:hover {
  color: var(--dark-bg);
  box-shadow: 0 6px 20px rgba(212, 161, 82, 0.4);
}

/* Wine card button */
.wine-card .btn {
  background: var(--btn-gradient);
  border: 1px solid var(--card-border);
}

.wine-card .btn:hover {
  background: var(--btn-hover-gradient);
  color: var(--dark-bg);
}

.btn-outline {
  background: transparent;
  border: 1px solid var(--accent);
  color: var(--accent);
}

.btn-outline:hover {
  background: var(--gradient-accent);
  color: var(--dark-bg);
}

/* Header and Navigation */
header {
  background: var(--header-bg);
  border-bottom: 1px solid var(--card-border);
  transition: var(--theme-transition);
}

.logo {
  color: var(--off-white);
  transition: var(--theme-transition);
}

.nav-links a {
  color: var(--nav-text);
  transition: var(--theme-transition);
}

.nav-links a:hover {
  color: var(--accent-light);
}

.nav-links a:before {
  background: linear-gradient(
    90deg,
    var(--accent),
    var(--accent-light),
    transparent
  );
}

.dropdown-menu {
  background: var(--dropdown-bg);
  border: 1px solid var(--card-border);
  box-shadow: 0 10px 25px var(--card-shadow);
}

.dropdown-menu a:hover {
  background: linear-gradient(
    90deg,
    rgba(138, 15, 30, 0.2) 0%,
    transparent 100%
  );
}

.bar {
  background-color: var(--off-white);
}

/* Hero Section */
.hero:before,
.wines-hero:before,
.gallery-hero:before {
  background: var(--overlay-gradient);
}

/* About Section */
.about-img:before,
.about-img:after {
  border-color: var(--accent);
}

.about-img img {
  box-shadow: 0 15px 35px var(--card-shadow);
}

.about-text h3 {
  color: var(--accent-light);
}

/* Wine Cards */
.wine-card {
  background: linear-gradient(
    145deg,
    rgba(28, 28, 28, 0.95) 0%,
    rgba(25, 25, 25, 0.98) 100%
  );
  box-shadow: 0 15px 35px var(--card-shadow);
  border: 1px solid var(--card-border);
  transition: var(--theme-transition);
}

[data-theme="light"] .wine-card {
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

.wine-card:hover {
  box-shadow: 0 8px 15px var(--card-shadow-hover);
}

.wine-card .card-img {
  background: linear-gradient(
    145deg,
    rgba(25, 25, 25, 0.8) 0%,
    rgba(40, 40, 40, 0.8) 100%
  );
  border-bottom: 1px solid var(--card-border);
}

[data-theme="light"] .wine-card .card-img {
  background: linear-gradient(
    145deg,
    rgba(245, 245, 245, 0.8) 0%,
    rgba(235, 235, 235, 0.8) 100%
  );
}

.wine-card-content {
  background: linear-gradient(
    to bottom,
    rgba(30, 30, 30, 0.97) 0%,
    rgba(20, 20, 20, 0.97) 100%
  );
}

[data-theme="light"] .wine-card-content {
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.97) 0%,
    rgba(250, 250, 250, 0.97) 100%
  );
}

.wine-card h3 {
  color: var(--off-white);
}

.wine-origin {
  color: var(--accent-light);
}

.wine-vintage {
  color: var(--text);
}

.wine-card p {
  color: var(--text);
}

/* Wine specs section */
.wine-specs {
  border-top: 1px solid var(--card-border);
  border-bottom: 1px solid var(--card-border);
  background: linear-gradient(
    135deg,
    rgba(30, 30, 30, 0.5) 0%,
    rgba(25, 25, 25, 0.5) 100%
  );
}

[data-theme="light"] .wine-specs {
  background: linear-gradient(
    135deg,
    rgba(245, 245, 245, 0.5) 0%,
    rgba(235, 235, 235, 0.5) 100%
  );
}

.spec-value {
  color: var(--off-white);
}

.spec-label {
  color: var(--accent);
}

/* Wine Category Badges */
.wine-category.red {
  background: var(--red-wine-bg);
  color: var(--red-wine-color);
  border: 1px solid rgba(138, 15, 30, 0.3);
}

.wine-category.white {
  background: var(--white-wine-bg);
  color: var(--white-wine-color);
  border: 1px solid rgba(212, 161, 82, 0.3);
}

.wine-category.rose {
  background: var(--rose-wine-bg);
  color: var(--rose-wine-color);
  border: 1px solid rgba(219, 112, 147, 0.3);
}

/* Testimonials */
.testimonial {
  background: linear-gradient(
    135deg,
    rgba(28, 28, 28, 0.95) 0%,
    rgba(30, 30, 30, 0.98) 100%
  );
  box-shadow: 0 15px 35px var(--card-shadow);
  border-left: 3px solid var(--accent);
  transition: var(--theme-transition);
}

[data-theme="light"] .testimonial {
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(250, 250, 250, 0.98) 100%
  );
}

.testimonial:before {
  color: rgba(212, 161, 82, 0.2);
}

.testimonial p {
  color: var(--text);
}

.testimonial-author {
  color: var(--accent-light);
}

/* Contact Form */
.form-group label {
  color: var(--off-white);
}

.form-group input,
.form-group textarea {
  background-color: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--text);
}

.form-group input:focus,
.form-group textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 10px rgba(212, 161, 82, 0.1);
}

/* Footer */
footer {
  background-color: var(--dark-bg);
  border-top: 1px solid var(--footer-border);
  transition: var(--theme-transition);
}

.footer-section h3 {
  color: var(--accent-light);
}

.footer-links a {
  color: var(--text);
}

.footer-links a:hover {
  color: var(--accent-light);
}

.social-links a {
  color: var(--text);
}

.social-links a:hover {
  color: var(--accent-light);
}

.copyright {
  color: var(--text-muted);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

[data-theme="light"] .copyright {
  border-top: 1px solid rgba(0, 0, 0, 0.05);
}

/* Modal */
.modal {
  background-color: var(--modal-backdrop);
  backdrop-filter: blur(8px);
}

.modal-content {
  background: var(--modal-bg);
  box-shadow: 0 20px 50px var(--card-shadow-hover);
  border: 1px solid var(--card-border);
}

.close-modal {
  color: var(--accent-light);
}

.close-modal:hover {
  color: var(--off-white);
}

.modal-details h3 {
  color: var(--off-white);
}

.modal-details p {
  color: var(--text);
}

.rating-stars {
  color: var(--accent-light);
}

.wine-label {
  background: linear-gradient(
    135deg,
    rgba(212, 161, 82, 0.1) 0%,
    rgba(212, 161, 82, 0.15) 100%
  );
  color: var(--accent-light);
  border: 1px solid var(--card-border);
}

.divider {
  background: linear-gradient(
    to right,
    transparent,
    var(--divider-color),
    transparent
  );
}

.food-pairing h4 {
  color: var(--accent-light);
}

.food-pairing li {
  color: var(--text);
}

.food-pairing li:before {
  color: var(--accent-light);
}

/* Wine Filters */
.wine-filters,
.gallery-categories {
  background: linear-gradient(
    to right,
    rgba(20, 20, 20, 0.97),
    rgba(25, 25, 25, 0.97),
    rgba(20, 20, 20, 0.97)
  );
  box-shadow: 0 5px 20px var(--card-shadow);
}

[data-theme="light"] .wine-filters,
[data-theme="light"] .gallery-categories {
  background: linear-gradient(
    to right,
    rgba(250, 250, 250, 0.97),
    rgba(255, 255, 255, 0.97),
    rgba(250, 250, 250, 0.97)
  );
}

.filter-btn,
.category-tab {
  background: transparent;
  border: 1px solid var(--card-border);
  color: var(--text);
}

.filter-btn:hover,
.category-tab:hover {
  border-color: var(--accent);
  transform: translateY(-3px);
}

.filter-btn.active,
.category-tab.active {
  background: var(--gradient-primary);
  color: var(--off-white);
}

.filter-sort label {
  color: var(--text);
}

.sort-select {
  background: var(--input-bg);
  border: 1px solid var(--input-border);
  color: var(--text);
}

.filter-label {
  color: var(--text);
}

.filter-tag {
  background: rgba(138, 15, 30, 0.2);
  border: 1px solid var(--card-border);
  color: var(--text);
}

[data-theme="light"] .filter-tag {
  background: rgba(158, 19, 37, 0.1);
}

.remove-filter {
  color: var(--accent-light);
}

.clear-filters {
  color: var(--accent-light);
}

/* Wine Regions Cards */
.region-card {
  background: linear-gradient(
    145deg,
    rgba(28, 28, 28, 0.95) 0%,
    rgba(25, 25, 25, 0.95) 100%
  );
  box-shadow: 0 15px 30px var(--card-shadow);
  border: 1px solid var(--card-border);
  transition: var(--theme-transition);
}

[data-theme="light"] .region-card {
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.95) 0%,
    rgba(250, 250, 250, 0.95) 100%
  );
}

.region-card:hover {
  box-shadow: 0 20px 40px var(--card-shadow-hover);
}

.region-content h3 {
  color: var(--accent-light);
}

.region-content p {
  color: var(--text);
}

[data-theme="light"] body {
  background: var(--gradient-dark) !important;
  color: var(--text) !important;
}

/* Override section backgrounds for light theme */
[data-theme="light"] section {
  background-color: transparent;
}

[data-theme="light"] .about,
[data-theme="light"] .wines-section,
[data-theme="light"] .testimonials,
[data-theme="light"] .contact,
[data-theme="light"] footer {
  background: var(--gradient-dark);
}

[data-theme="light"] {
  --gradient-dark: linear-gradient(135deg, #f5f5f5 0%, #ffffff 100%) !important;
  --dark-bg: #ffffff !important;
  --light-bg: #f0f0f0 !important;
}
