html { scroll-behavior: smooth; }
/* Custom scrollbar to match theme */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #2C1E16; }
::-webkit-scrollbar-thumb { background: #A36B46; border-radius: 5px; }
::-webkit-scrollbar-thumb:hover { background: #8A5837; }

.accordion-content {
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
}
.accordion-content.expanded {
  max-height: 1000px; /* Large enough for wrapped text on small screens */
  opacity: 1;
}

/* Phone & Tablet / Smart Home columns: make both columns and all rows the same size */
.service-split > div { display: flex; flex-direction: column; }
.service-split > div > div.space-y-4 { flex: 1; display: flex; flex-direction: column; gap: 1rem; }
.service-split > div > div.space-y-4 > div { flex: 1; margin: 0 !important; }
/* Always show prices (they were hidden on phones) */
.service-split span.hidden { display: block; white-space: nowrap; }
@media (max-width: 639px) {
  .service-split span.hidden { font-size: 0.8rem; }
  .service-split > div > div.space-y-4 > div { padding-left: 1rem; padding-right: 1rem; }
}

/* Mobile refinements */
@media (max-width: 639px) {
  button[data-acc] { padding-left: 1rem; padding-right: 1rem; gap: 0.75rem; }
  button[data-acc] > div { flex-shrink: 0; gap: 0.5rem; }
  button[data-acc] > div > span { font-size: 0.875rem; }
  div.accordion-content { padding-left: 1rem; padding-right: 1rem; }
  div.space-y-8.text-sm.leading-relaxed { padding: 1.25rem; }
  h2.text-3xl { font-size: 1.5rem; line-height: 2rem; }
}
