/* Contatti Page */
.contact-card { border: none; border-radius: 10px; background-color: var(--bs-white); box-shadow: 0 4px 15px rgba(0,0,0,0.05); position: relative; padding: 1.5rem; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.contact-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.1); }
.contact-card .contact-card-icon { position: absolute; top: 1.5rem; right: 1.5rem; font-size: 2rem; color: var(--bs-accent); opacity: 0.15; transition: transform 0.3s ease, opacity 0.3s ease; }
.contact-card:hover .contact-card-icon { transform: scale(1.1); opacity: 0.25; }
.contact-card .contact-methods-list { margin: -1.5rem; margin-top: 0; }
.contact-card .list-group-item { padding: 1rem 1.5rem; border-color: #f1f1f1; }
.contact-card .contact-link { text-decoration: none; color: var(--bs-dark); font-weight: 500; display: flex; align-items: center; transition: color 0.2s ease; }
.contact-card .contact-link:hover { color: var(--bs-accent); }
.contact-card .contact-link i { font-size: 1.25rem; margin-right: 1rem; color: var(--bs-accent); width: 25px; text-align: center; transition: transform 0.2s ease, color 0.2s ease; }
.contact-card .contact-link:hover i { transform: translateX(5px); color: var(--bs-dark); }

/* Enhanced Form Styles */
.vehicle-info-section { border-top: 1px solid #e9ecef; padding-top: 1.5rem; margin-top: 1rem; }
.fade-in { animation: fadeIn 0.3s ease-in; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } }

.field-focused { border-color: var(--bs-accent) !important; box-shadow: 0 0 0 0.2rem rgba(var(--bs-accent-rgb), 0.25) !important; }
.field-valid { border-color: #198754 !important; }
.field-valid:focus { border-color: #198754 !important; box-shadow: 0 0 0 0.2rem rgba(25, 135, 84, 0.25) !important; }

.email-suggestion { animation: slideDown 0.2s ease-out; }
@keyframes slideDown { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
.suggestion-link { color: var(--bs-accent); text-decoration: none; }
.suggestion-link:hover { text-decoration: underline; }

/* Contact Methods List */
.contact-methods-list .list-group-item {
  border: none;
  padding: 0.75rem 0;
  background: transparent;
}

.contact-methods-list .list-group-item:first-child {
  border-top: none;
}

.contact-methods-list .list-group-item:last-child {
  border-bottom: none;
}

/* FAQ Accordion Styles (matching mappatura-centralina.html) */
.faq-accordion .accordion-item {
  background-color: var(--bs-white);
  border: 1px solid #e9ecef;
  border-radius: 8px;
  margin-bottom: 1rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.faq-accordion .accordion-button {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--bs-dark);
  background-color: var(--bs-white);
  border-radius: 8px !important;
  box-shadow: none;
}

.faq-accordion .accordion-button:focus {
  box-shadow: none;
  border-color: transparent;
}

.faq-accordion .accordion-button:not(.collapsed) {
  background-color: var(--bs-accent);
  color: var(--bs-white);
}

.faq-accordion .accordion-button::after {
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: auto;
  content: "\F4FE";
  font-family: "bootstrap-icons";
  font-weight: bold;
  background-image: none;
  transition: transform 0.2s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed)::after {
  content: "\F464";
  transform: rotate(0deg);
}

.faq-accordion .accordion-body {
  color: var(--bs-secondary);
  line-height: 1.7;
  padding: 1.5rem;
}

/* Floating contact trigger styles moved to global components.css */

/* Floating contact overlay styles moved to global components.css */

/* Floating contact bubble styles moved to global components.css */

/* Bubble header/content styles moved to global components.css */

/* Preferred contact selector styles moved to global components.css */

/* Response Time Highlight */
.response-time-highlight {
  padding: 1rem;
  border-radius: 8px;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
}

/* Mobile Optimizations */
/* Floating bubble mobile optimizations moved to global components.css */

/* Removed: .floating-contact-trigger span { display: none; } */

/* Floating bubble tablet/mobile optimizations moved to global components.css */

/* Contact Method Selector */
.contact-method-selector { display: flex; gap: 1rem; flex-wrap: wrap; }
.contact-method-option { position: relative; }
.contact-method-label { 
  display: flex; 
  flex-direction: column; 
  align-items: center; 
  padding: 1rem 1.5rem; 
  border: 2px solid #e9ecef; 
  border-radius: 10px; 
  cursor: pointer; 
  transition: all 0.3s ease; 
  background: white; 
  min-width: 100px; 
  text-align: center;
}
.contact-method-label i { font-size: 1.5rem; margin-bottom: 0.5rem; color: #6c757d; transition: color 0.3s ease; }
.contact-method-label span { font-size: 0.9rem; font-weight: 500; }
.contact-method-label:hover { border-color: var(--bs-accent); transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.contact-method-label:hover i { color: var(--bs-accent); }
.contact-method-option input:checked + .contact-method-label { 
  border-color: var(--bs-accent); 
  background-color: rgba(var(--bs-accent-rgb), 0.1); 
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-accent-rgb), 0.25);
}
.contact-method-option input:checked + .contact-method-label i { color: var(--bs-accent); }

/* FAQ Accordion Enhancements */
.accordion-button:not(.collapsed) { background-color: var(--bs-accent); color: white; }
.accordion-button:focus { border-color: var(--bs-accent); box-shadow: 0 0 0 0.25rem rgba(var(--bs-accent-rgb), 0.25); }
.accordion-item { border: 1px solid rgba(0,0,0,0.125); margin-bottom: 0.5rem; border-radius: 8px !important; overflow: hidden; }
.accordion-button { border-radius: 8px !important; }
.accordion-button:not(.collapsed)::after { filter: brightness(0) invert(1); }

/* Trust Elements */
.trust-icon { font-size: 3rem; color: var(--bs-accent); opacity: 0.8; }
.trust-stat { text-align: center; min-width: 100px; }
.text-accent { color: var(--bs-accent) !important; }

/* Responsive Improvements */
@media (max-width: 768px) {
  .contact-card { padding: 1rem; }
  .contact-card .contact-card-icon { top: 1rem; right: 1rem; font-size: 1.5rem; }
  .map-container iframe { height: 150px; }
  .vehicle-info-section { padding-top: 1rem; }
  .trust-icon { font-size: 2rem; }
  .contact-method-selector { flex-direction: column; }
  .contact-method-label { min-width: 100%; }
}
