/* ============================================
   EMERGENCY FIX - Final visibility corrections
   ============================================ */

/* ===== NAVBAR - Dark visible links ===== */
header,
.header-inner,
.header-container {
  background: rgba(255,255,255,0.95) !important;
  backdrop-filter: blur(20px) !important;
}

.header-container {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
  height: 100% !important;
}

nav#mainNav {
  display: flex !important;
  align-items: center !important;
}

/* ===== NAVBAR LINKS - BLACK AND BOLD ===== */
#mainNav ul li a,
#mainNav a,
nav#mainNav ul li a {
  color: #111111 !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
}

#mainNav ul li a:hover {
  color: #1A9AAA !important;
  background: rgba(26,154,170,0.12) !important;
  border-radius: 20px !important;
}

/* ===== HERO BADGE - White readable text ===== */
.hero-badge {
  color: #FFFFFF !important;
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
}

/* ===== BUTTONS - High contrast ===== */
a.btn-primary,
.btn-primary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 16px 36px !important;
  background: linear-gradient(135deg, #1A9AAA, #2DB5C7) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  border-radius: 50px !important;
  border: none !important;
  box-shadow: 0 4px 20px rgba(26,154,170,0.4) !important;
  text-decoration: none !important;
}

a.btn-primary:hover {
  background: linear-gradient(135deg, #2DB5C7, #1A9AAA) !important;
  transform: translateY(-2px) !important;
}

a.btn-secondary,
.btn-secondary {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 16px 36px !important;
  background: rgba(255,255,255,0.15) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 1.05rem !important;
  border-radius: 50px !important;
  border: 2px solid rgba(255,255,255,0.4) !important;
  text-decoration: none !important;
}

a.btn-secondary:hover {
  background: rgba(255,255,255,0.3) !important;
  border-color: rgba(255,255,255,0.6) !important;
}

/* ===== HERO ITALY BADGE ===== */
.hero-italy-badge {
  color: rgba(255,255,255,0.7) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
  margin-bottom: 20px !important;
  display: block !important;
}

/* ===== HERO STATS - Counter row, separate from content ===== */
.hero-stats {
  display: flex !important;
  gap: 40px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  margin-top: 10px !important;
  position: relative !important;
}

.hero-stat {
  text-align: center !important;
  min-width: 100px !important;
}

.counter-num {
  font-family: 'Playfair Display', serif !important;
  font-size: 3rem !important;
  font-weight: 700 !important;
  color: #D4AF37 !important;
  display: block !important;
  line-height: 1 !important;
}

.counter-label {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.5) !important;
  text-transform: uppercase !important;
  letter-spacing: 2px !important;
  margin-top: 8px !important;
  display: block !important;
}

/* ===== HERO TEXT ===== */
.hero h1 {
  color: #FFFFFF !important;
  text-shadow: none !important;
}

.hero-subtitle {
  color: rgba(255,255,255,0.85) !important;
}

/* ===== LANGUAGE SELECTOR ===== */
.lang-select {
  color: #0A1F2E !important;
  font-weight: 600 !important;
}

.lang-select option {
  color: #0A1F2E !important;
}

/* ===== BRANDS PORTAL - 3 columns ===== */
.portal-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
}

.portal-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  text-decoration: none !important;
  background: #fff !important;
  border-radius: 20px !important;
  padding: 2.5rem 2rem !important;
  border: 1px solid #EEF2F5 !important;
  box-shadow: 0 4px 24px rgba(6,21,32,0.06) !important;
  transition: all 0.3s ease !important;
  color: inherit !important;
}

.portal-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 16px 48px rgba(6,21,32,0.12) !important;
  border-color: #1A9AAA !important;
}

.portal-card img {
  width: 120px !important;
  height: 120px !important;
  object-fit: contain !important;
  margin-bottom: 1.5rem !important;
  border-radius: 50% !important;
  border: 3px solid #EEF2F5 !important;
  padding: 12px !important;
  background: #F8FAFB !important;
}

.portal-card h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #0A1F2E !important;
  margin-bottom: 0.5rem !important;
}

.portal-card p {
  font-size: 0.9rem !important;
  color: #5E6E7C !important;
  line-height: 1.6 !important;
  margin-bottom: 1rem !important;
}

.portal-card .count {
  display: inline-block !important;
  padding: 6px 18px !important;
  background: linear-gradient(135deg, #1A9AAA, #2DB5C7) !important;
  color: #fff !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  border-radius: 50px !important;
}

@media (max-width: 768px) {
  .portal-grid {
    grid-template-columns: 1fr !important;
    padding: 0 1rem !important;
  }
}

/* ===== BRAND SECTION (logo above catalog) ===== */
.brand-section {
  padding: 3rem 2rem 1rem !important;
  text-align: center !important;
}

.brand-section-inner {
  max-width: 700px !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.brand-logo-img {
  max-width: 140px !important;
  max-height: 120px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  margin-bottom: 1rem !important;
}

.brand-section h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #0A1F2E !important;
  margin: 0.3rem 0 !important;
}

.brand-section .sub {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #1A9AAA !important;
  margin-bottom: 0.3rem !important;
}

.brand-section p {
  font-size: 1rem !important;
  color: #5E6E7C !important;
  line-height: 1.7 !important;
  max-width: 600px !important;
  margin: 0.5rem 0 0 !important;
}

.elegant-divider {
  width: 60px !important;
  height: 3px !important;
  background: linear-gradient(90deg, #1A9AAA, #D4AF37) !important;
  border-radius: 10px !important;
  margin: 0.5rem auto !important;
}

/* ===== RECIPES SECTION ===== */
.recipes-section {
  background: linear-gradient(180deg, #fff 0%, #F8FAFB 100%) !important;
  padding: 4rem 0 !important;
}

.recipes-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
  gap: 1.5rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
}

.recipe-card {
  background: #fff !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(6,21,32,0.06) !important;
  border: 1px solid #EEF2F5 !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
}

.recipe-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 36px rgba(6,21,32,0.12) !important;
}

.recipe-img {
  position: relative !important;
  width: 100% !important;
  height: 200px !important;
  overflow: hidden !important;
}

.recipe-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.5s ease !important;
}

.recipe-card:hover .recipe-img img {
  transform: scale(1.05) !important;
}

.recipe-tag {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  padding: 4px 14px !important;
  border-radius: 50px !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: linear-gradient(135deg, #1A9AAA, #2DB5C7) !important;
  z-index: 2 !important;
}

.recipe-tag.antipasti {
  background: linear-gradient(135deg, #D4AF37, #E0C158) !important;
}

.recipe-brand {
  position: absolute !important;
  bottom: 12px !important;
  right: 12px !important;
  padding: 4px 12px !important;
  border-radius: 50px !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  color: #0A1F2E !important;
  background: rgba(255,255,255,0.9) !important;
  backdrop-filter: blur(10px) !important;
  z-index: 2 !important;
}

.recipe-content {
  padding: 1.5rem !important;
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
}

.recipe-content h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #0A1F2E !important;
  margin-bottom: 0.75rem !important;
  line-height: 1.3 !important;
}

.recipe-meta {
  display: flex !important;
  gap: 12px !important;
  margin-bottom: 1rem !important;
  flex-wrap: wrap !important;
}

.recipe-meta span {
  font-size: 0.8rem !important;
  color: #1A9AAA !important;
  font-weight: 600 !important;
  display: flex !important;
  align-items: center !important;
  gap: 4px !important;
}

.recipe-ingredients {
  margin-bottom: 1rem !important;
  padding: 12px !important;
  background: #F8FAFB !important;
  border-radius: 10px !important;
  font-size: 0.85rem !important;
}

.recipe-ingredients strong {
  color: #0A1F2E !important;
  font-weight: 700 !important;
  display: block !important;
  margin-bottom: 6px !important;
}

.recipe-ingredients ul {
  margin: 0 !important;
  padding-left: 1.2rem !important;
  color: #5E6E7C !important;
  line-height: 1.6 !important;
}

.recipe-ingredients li {
  margin-bottom: 2px !important;
}

.recipe-ingredients li strong {
  display: inline !important;
  color: #1A9AAA !important;
}

/* Recipe steps dropdown */
.recipe-steps {
  margin-top: auto !important;
  border: 1px solid #EEF2F5 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

.recipe-steps summary {
  padding: 12px 16px !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  color: #0A1F2E !important;
  cursor: pointer !important;
  background: linear-gradient(135deg, #E0F7FA, #F8FAFB) !important;
  list-style: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  user-select: none !important;
}

.recipe-steps summary::before {
  content: '+' !important;
  font-size: 1.2rem !important;
  color: #1A9AAA !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.recipe-steps[open] summary::before {
  content: '-' !important;
}

.recipe-steps ol {
  padding: 1rem 1.5rem !important;
  margin: 0 !important;
  font-size: 0.85rem !important;
  color: #5E6E7C !important;
  line-height: 1.7 !important;
  background: #fff !important;
}

.recipe-steps li {
  margin-bottom: 8px !important;
  padding-left: 4px !important;
}

/* ===== CONTACT SECTION ===== */
.contact-section {
  background: linear-gradient(135deg, #0A1F2E 0%, #0D2D42 50%, #1A3A52 100%) !important;
  padding: 4rem 2rem !important;
  color: #fff !important;
}

.contact-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  align-items: start !important;
}

.contact-info h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 0.5rem !important;
}

.contact-info > p {
  color: rgba(255,255,255,0.8) !important;
  margin-bottom: 2rem !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
}

.contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 1rem !important;
  margin-bottom: 1.5rem !important;
}

#contatti .contact-icon,
.contact-info .contact-icon {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  flex: 0 0 44px !important;
  border-radius: 22px !important;
  -webkit-border-radius: 22px !important;
  -moz-border-radius: 22px !important;
  aspect-ratio: 1 / 1 !important;
  background: linear-gradient(135deg, #1A9AAA, #2DB5C7) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.2rem !important;
  line-height: 44px !important;
  box-shadow: 0 4px 12px rgba(26,154,170,0.3) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  -webkit-clip-path: circle(50%) !important;
  clip-path: circle(50%) !important;
}

.contact-item > div {
  flex: 1 !important;
}

.contact-item strong {
  display: block !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  color: #D4AF37 !important;
  margin-bottom: 4px !important;
}

.contact-item a,
.contact-item span {
  color: rgba(255,255,255,0.9) !important;
  font-size: 0.95rem !important;
  text-decoration: none !important;
}

.contact-item a:hover {
  color: #1A9AAA !important;
}

.map-wrapper {
  display: block !important;
  position: relative !important;
  margin-top: 1.5rem !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2) !important;
}

.map-wrapper iframe {
  display: block !important;
  width: 100% !important;
  border: none !important;
  border-radius: 16px !important;
}

.map-overlay {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 12px !important;
  background: rgba(10,31,46,0.85) !important;
  color: #fff !important;
  text-align: center !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
}

/* Contact Form */
.contact-form {
  background: rgba(255,255,255,0.05) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  border-radius: 20px !important;
  padding: 2rem !important;
  backdrop-filter: blur(10px) !important;
}

.contact-form h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 1.5rem !important;
}

.form-group {
  margin-bottom: 1rem !important;
}

.form-group label {
  display: block !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,0.85) !important;
  margin-bottom: 6px !important;
}

.form-group input,
.form-group select,
.form-group textarea {
  width: 100% !important;
  padding: 12px 16px !important;
  border-radius: 10px !important;
  border: 1.5px solid rgba(255,255,255,0.15) !important;
  background: rgba(255,255,255,0.08) !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-family: 'Inter', sans-serif !important;
  transition: all 0.2s ease !important;
  box-sizing: border-box !important;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  outline: none !important;
  border-color: #1A9AAA !important;
  background: rgba(255,255,255,0.12) !important;
  box-shadow: 0 0 0 3px rgba(26,154,170,0.15) !important;
}

.form-group input::placeholder,
.form-group textarea::placeholder {
  color: rgba(255,255,255,0.4) !important;
}

.form-group select {
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  padding-right: 36px !important;
}

.form-group select option {
  background: #0A1F2E !important;
  color: #fff !important;
}

.form-group textarea {
  min-height: 100px !important;
  resize: vertical !important;
}

/* Submit button in contact form */
.contact-form button[type="submit"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 14px 32px !important;
  background: linear-gradient(135deg, #1A9AAA, #2DB5C7) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  border-radius: 50px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 4px 20px rgba(26,154,170,0.4) !important;
  transition: all 0.3s ease !important;
  font-family: 'Inter', sans-serif !important;
}

.contact-form button[type="submit"]:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 28px rgba(26,154,170,0.5) !important;
  background: linear-gradient(135deg, #2DB5C7, #1A9AAA) !important;
}

/* ===== FOOTER ===== */
footer {
  background: #061520 !important;
  padding: 2rem !important;
  text-align: center !important;
  border-top: 1px solid rgba(212,175,55,0.15) !important;
}

.footer-logo {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: #D4AF37 !important;
  margin-bottom: 1rem !important;
}

.footer-links {
  display: flex !important;
  justify-content: center !important;
  gap: 1.5rem !important;
  flex-wrap: wrap !important;
  margin-bottom: 1rem !important;
}

.footer-links a {
  color: rgba(255,255,255,0.6) !important;
  text-decoration: none !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  transition: color 0.2s ease !important;
}

.footer-links a:hover {
  color: #1A9AAA !important;
}

footer > div:last-child {
  border-top: 1px solid rgba(212,175,55,0.2) !important;
  padding-top: 1rem !important;
  font-size: 0.85rem !important;
  color: rgba(255,255,255,0.4) !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

@media (max-width: 768px) {
  .contact-grid {
    grid-template-columns: 1fr !important;
  }
  .recipes-grid {
    grid-template-columns: 1fr !important;
    padding: 0 1rem !important;
  }
}

/* ===== CATALOGS SECTION - Downloadable PDFs ===== */
.catalogs-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 2rem !important;
}

.catalog-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  background: #fff !important;
  border-radius: 20px !important;
  padding: 2rem 1.5rem !important;
  border: 1px solid #EEF2F5 !important;
  box-shadow: 0 4px 24px rgba(6,21,32,0.06) !important;
  transition: all 0.3s ease !important;
}

.catalog-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 16px 48px rgba(6,21,32,0.12) !important;
  border-color: #1A9AAA !important;
}

.catalog-card img {
  max-width: 100px !important;
  max-height: 90px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  margin-bottom: 1rem !important;
  border-radius: 50% !important;
  border: 2px solid #EEF2F5 !important;
  padding: 8px !important;
  background: #F8FAFB !important;
}

.catalog-card h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: #0A1F2E !important;
  margin-bottom: 0.5rem !important;
}

.catalog-card p {
  font-size: 0.9rem !important;
  color: #5E6E7C !important;
  line-height: 1.6 !important;
  margin-bottom: 0.75rem !important;
}

.catalog-meta {
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 1rem !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}

.catalog-meta span {
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: #1A9AAA !important;
  background: #E0F7FA !important;
  padding: 4px 12px !important;
  border-radius: 50px !important;
}

a.catalog-download,
.catalog-download {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 28px !important;
  background: linear-gradient(135deg, #1A9AAA, #2DB5C7) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  font-size: 0.95rem !important;
  border-radius: 50px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(26,154,170,0.35) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}

a.catalog-download:hover,
.catalog-download:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(26,154,170,0.5) !important;
  background: linear-gradient(135deg, #2DB5C7, #1A9AAA) !important;
}

@media (max-width: 768px) {
  .catalogs-grid {
    grid-template-columns: 1fr !important;
    padding: 0 1rem !important;
  }
}

/* ===== PRODUCT IMAGES CENTERED ===== */
.product-img {
  width: 100% !important;
  height: 200px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 16px !important;
  background: linear-gradient(135deg, #F8FAFB, #EEF2F5) !important;
}

.product-img img {
  max-width: 100% !important;
  max-height: 170px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}
