/* Info Tabs Section Styles */

:where(.p-home-info-tabs) {
  position: relative;
  width: 100%;
}

:where(.info-tabs__container) {
  max-width: var(--wp--custom--breakpoint--lg);
  margin: 0 auto;
  border-radius: var(--wp--custom--border-radius--xl);
  box-shadow: var(--wp--custom--shadow--elevation-3);
  overflow: hidden;
}

/* Tab Navigation */
:where(.info-tabs__nav) {
  display: flex;
  background: linear-gradient(
    135deg,
    var(--wp--preset--color--gray-50) 0%,
    var(--wp--preset--color--white) 100%
  );
  border-bottom: 1px solid var(--wp--preset--color--gray-200);
  padding: 0;
}

:where(.info-tabs__button) {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--base) var(--wp--preset--spacing--base);
  background: transparent;
  border: none;
  font-family: var(--wp--preset--font-family--japanese);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: var(--wp--custom--font-weight--semibold);
  color: var(--wp--preset--color--basic-text);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

:where(.info-tabs__button:hover) {
  background: rgba(74, 123, 167, 0.05);
  color: var(--wp--preset--color--primary);
}

:where(.info-tabs__button.is-active) {
  color: var(--wp--preset--color--primary);
  border-bottom: 2px solid var(--wp--preset--color--primary);
}

:where(.info-tabs__button.is-active::after) {
  content: "";
  position: absolute;
  bottom: -0.1rem;
  left: 0;
  right: 0;
  height: 0.3rem;
  background: linear-gradient(
    90deg,
    var(--wp--preset--color--primary-500),
    var(--wp--preset--color--primary-700)
  );
}

:where(.info-tabs__icon) {
  width: 2.8rem;
  height: 2.8rem;
  transition: transform 0.3s ease;
}

:where(.info-tabs__button:hover .info-tabs__icon) {
  transform: scale(1.1);
}

/* Tab Content */
:where(.info-tabs__content) {
  width: 100%;
  padding: var(--wp--preset--spacing--sm0);
}

:where(.info-tabs__panel) {
  display: none;
  animation: fadeIn 0.4s ease-in-out;
}

:where(.info-tabs__panel.is-active) {
  display: block;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Hours table styles moved to hours-table.css */

/* Access Map Styles */
:where(.access-map__wrapper) {
  max-width: 900px;
  margin: 0 auto;
}

:where(.access-map__title) {
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--primary);
  margin-bottom: var(--wp--preset--spacing--3-xl);
  text-align: center;
  position: relative;
  display: inline-block;
  padding-bottom: var(--wp--preset--spacing--xs);
  width: 100%;
}

:where(.access-map__title::after) {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 8rem;
  height: 0.3rem;
  background: var(--wp--preset--color--primary-700);
  border-radius: var(--wp--custom--border-radius--small);
}

:where(.access-map__info) {
  padding: var(--wp--preset--spacing--base);
}

:where(.access-map__address h4),
:where(.access-map__transport h4) {
  font-size: var(--wp--preset--font-size--heading-5);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--primary);
  margin-bottom: var(--wp--preset--spacing--40);
  padding-bottom: var(--wp--preset--spacing--xs);
  border-bottom: 2px solid var(--wp--preset--color--gray-200);
}

:where(.access-map__address p) {
  font-size: var(--wp--preset--font-size--base);
  line-height: var(--wp--custom--line-height--loose);
  color: var(--wp--preset--color--basic-text);
  margin-bottom: var(--wp--preset--spacing--xs);
}

:where(.access-map__tel) {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: var(--wp--custom--font-weight--semibold);
  color: var(--wp--preset--color--primary);
}

:where(.access-map__tel svg) {
  fill: var(--wp--preset--color--primary-600);
}

:where(.access-map__transport ul) {
  list-style: none;
  padding: 0;
  margin: 0;
}

:where(.access-map__transport li) {
  position: relative;
  padding-left: var(--wp--preset--spacing--xs);
  margin-bottom: var(--wp--preset--spacing--xs);
  font-size: var(--wp--preset--font-size--sm);
  line-height: var(--wp--custom--line-height--relaxed);
  color: var(--wp--preset--color--basic-text);
}

:where(.access-map__transport li::before) {
  content: "▸";
  position: absolute;
  left: 0;
  color: var(--wp--preset--color--primary-600);
  font-weight: var(--wp--custom--font-weight--semibold);
}

:where(.access-map__iframe) {
  position: relative;
  width: 100%;
  height: 40rem;
  border-radius: var(--wp--custom--border-radius--large);
  overflow: hidden;
  box-shadow: var(--wp--custom--box-shadow--large);
}

:where(.access-map__iframe iframe) {
  width: 100%;
  height: 100%;
}
