/* Modal Updates - Hours Calendar and Contact CTA */

/* Modal Content - Design Refinement */
:where(.modal-content) {
  background: #ffffff;
  border: 1px solid #e8eaed;
  border-radius: var(--wp--custom--border-radius--small) !important;
}

/* Booking Options - Design Refinement */
:where(.booking-option) {
  background: #f8f9fa;
  border: 1px solid #e8eaed;
  border-radius: var(--wp--custom--border-radius--small) !important;
}

:where(.booking-option:hover) {
  background: #ffffff;
  border-color: rgba(46, 91, 138, 0.2);
  transform: none !important;
}

/* Modal Contact CTA Section */
:where(.modal-contact-cta) {
  margin-top: var(--wp--preset--spacing--3-xl);
  padding-top: var(--wp--preset--spacing--3-xl);
  border-top: 1px solid var(--wp--preset--color--gray-200);
}

:where(.modal-contact-cta h3) {
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--primary);
  margin-bottom: var(--wp--preset--spacing--40);
  text-align: center;
}

:where(.modal-cta-buttons) {
  display: flex;
  gap: var(--wp--preset--spacing--xs);
  justify-content: center;
  flex-wrap: wrap;
}

:where(.modal-cta-buttons .cta-button) {
  flex: 1;
  min-width: 150px;
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--40);
  border-radius: var(--wp--custom--border-radius--medium) !important;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--semibold);
  transition: all 0.3s ease;
  border: 1px solid rgba(46, 91, 138, 0.2);
}

:where(.modal-cta-buttons .cta-button--web) {
  background: linear-gradient(
    135deg,
    var(--wp--preset--color--primary),
    var(--wp--preset--color--primary-600)
  );
  color: var(--wp--preset--color--white);
}

:where(.modal-cta-buttons .cta-button--web:hover) {
  background: linear-gradient(
    135deg,
    var(--wp--preset--color--primary-600),
    var(--wp--preset--color--primary)
  );
  transform: none !important;
}

:where(.modal-cta-buttons .cta-button--phone) {
  background: var(--wp--preset--color--secondary);
  color: var(--wp--preset--color--primary);
}

:where(.modal-cta-buttons .cta-button--phone:hover) {
  background: var(--wp--preset--color--secondary-200);
  transform: none !important;
}

:where(.modal-cta-buttons .cta-button--line) {
  background: #00b900;
  color: var(--wp--preset--color--white);
}

:where(.modal-cta-buttons .cta-button--line:hover) {
  background: #00d900;
  transform: none !important;
}

:where(.modal-cta-buttons .cta-button svg) {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

:where(.modal-cta-buttons .material-symbols-outlined) {
  font-size: 20px;
}

/* Hours Calendar Table */
:where(.hours-calendar-section) {
  padding: var(--wp--preset--spacing--40) 0;
}

:where(.hours-calendar-table) {
  width: 100%;
  border-collapse: collapse;
  background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--gray-200);
  border-radius: var(--wp--custom--border-radius--md);
  overflow: hidden;
}

:where(.hours-calendar-table thead) {
  background: linear-gradient(
    135deg,
    var(--wp--preset--color--primary),
    var(--wp--preset--color--primary-600)
  );
  color: var(--wp--preset--color--white);
}

:where(.hours-calendar-table th) {
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--semibold);
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

:where(.hours-calendar-table th:last-child) {
  border-right: none;
}

:where(.hours-calendar-table th:first-child) {
  text-align: left;
  padding-left: var(--wp--preset--spacing--40);
  background: rgba(0, 0, 0, 0.1);
}

:where(.hours-calendar-table tbody tr) {
  border-bottom: 1px solid var(--wp--preset--color--gray-100);
}

:where(.hours-calendar-table tbody tr:last-child) {
  border-bottom: none;
}

:where(.hours-time) {
  padding: var(--wp--preset--spacing--xs) var(--wp--preset--spacing--40);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--semibold);
  color: var(--wp--preset--color--basic-text);
  background: var(--wp--preset--color--gray-50);
  border-right: 1px solid var(--wp--preset--color--gray-200);
}

:where(.hours-open),
:where(.hours-closed) {
  padding: var(--wp--preset--spacing--xs);
  text-align: center;
  font-size: var(--wp--preset--font-size--lg);
  border-right: 1px solid var(--wp--preset--color--gray-100);
}

:where(.hours-open) {
  color: rgba(74, 123, 167, 0.6);
}

:where(.hours-closed) {
  color: var(--wp--preset--color--gray-400);
}

:where(.hours-open:last-child),
:where(.hours-closed:last-child) {
  border-right: none;
}

:where(.hours-calendar-notes) {
  margin-top: var(--wp--preset--spacing--40);
  padding: var(--wp--preset--spacing--xs);
  background: var(--wp--preset--color--gray-50);
  border-radius: var(--wp--custom--border-radius--md);
  border: 1px solid var(--wp--preset--color--gray-200);
}

:where(.hours-calendar-notes p) {
  margin: var(--wp--preset--spacing--sm) 0;
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--basic-text);
}

:where(.hours-calendar-notes .hours-mark) {
  display: inline-block;
  margin: 0 var(--wp--preset--spacing--sm);
  font-weight: var(--wp--custom--font-weight--semibold);
}

:where(.hours-calendar-notes .hours-holiday) {
  color: var(--wp--preset--color--error);
  font-weight: var(--wp--custom--font-weight--semibold);
}

:where(.hours-calendar-notes .hours-info) {
  color: var(--wp--preset--color--primary);
  font-style: italic;
}
